> ## Documentation Index
> Fetch the complete documentation index at: https://www.c1.ai/docs/llms.txt
> Use this file to discover all available pages before exploring further.

# Create

> Create a proxy binding between a source and destination entitlement, establishing a hierarchical relationship.



## OpenAPI

````yaml https://spec.speakeasy.com/conductor-one/conductorone/my-source-with-code-samples post /api/v1/apps/{src_app_id}/{src_app_entitlement_id}/bindings/{dst_app_id}/{dst_app_entitlement_id}
openapi: 3.1.0
info:
  description: The C1 API is a HTTP API for managing C1 resources.
  title: C1 API
  version: 0.1.0-alpha
servers:
  - description: The C1 API server for the current tenant.
    url: https://{tenantDomain}.conductor.one
    variables:
      tenantDomain:
        default: example
        description: The domain of the tenant to use for this request.
security:
  - bearerAuth: []
    oauth: []
paths:
  /api/v1/apps/{src_app_id}/{src_app_entitlement_id}/bindings/{dst_app_id}/{dst_app_entitlement_id}:
    post:
      tags:
        - App Entitlement Proxy Binding
      summary: Create
      description: >-
        Create a proxy binding between a source and destination entitlement,
        establishing a hierarchical relationship.
      operationId: c1.api.app.v1.AppEntitlementsProxy.Create
      parameters:
        - in: path
          name: src_app_id
          required: true
          schema:
            description: The ID of the app that owns the source entitlement.
            readOnly: false
            type: string
        - in: path
          name: src_app_entitlement_id
          required: true
          schema:
            description: The ID of the source (parent) entitlement.
            readOnly: false
            type: string
        - in: path
          name: dst_app_id
          required: true
          schema:
            description: The ID of the app that owns the destination entitlement.
            readOnly: false
            type: string
        - in: path
          name: dst_app_entitlement_id
          required: true
          schema:
            description: The ID of the destination (child) entitlement.
            readOnly: false
            type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: >-
                #/components/schemas/c1.api.app.v1.CreateAppEntitlementProxyRequestInput
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: >-
                  #/components/schemas/c1.api.app.v1.CreateAppEntitlementProxyResponse
          description: The response message for creating an entitlement proxy binding.
      x-codeSamples:
        - lang: go
          label: Create
          source: "package main\n\nimport(\n\t\"context\"\n\t\"github.com/conductorone/conductorone-sdk-go/pkg/models/shared\"\n\tconductoronesdkgo \"github.com/conductorone/conductorone-sdk-go\"\n\t\"github.com/conductorone/conductorone-sdk-go/pkg/models/operations\"\n\t\"log\"\n)\n\nfunc main() {\n    ctx := context.Background()\n\n    s := conductoronesdkgo.New(\n        conductoronesdkgo.WithSecurity(shared.Security{\n            BearerAuth: \"<YOUR_BEARER_TOKEN_HERE>\",\n            Oauth: \"<YOUR_OAUTH_HERE>\",\n        }),\n    )\n\n    res, err := s.AppEntitlementsProxy.Create(ctx, operations.C1APIAppV1AppEntitlementsProxyCreateRequest{\n        DstAppEntitlementID: \"<id>\",\n        DstAppID: \"<id>\",\n        SrcAppEntitlementID: \"<id>\",\n        SrcAppID: \"<id>\",\n    })\n    if err != nil {\n        log.Fatal(err)\n    }\n    if res.CreateAppEntitlementProxyResponse != nil {\n        // handle response\n    }\n}"
        - lang: typescript
          label: Typescript (SDK)
          source: >-
            import { ConductoroneSDKTypescript } from
            "conductorone-sdk-typescript";


            const conductoroneSDKTypescript = new ConductoroneSDKTypescript({
              security: {
                bearerAuth: "<YOUR_BEARER_TOKEN_HERE>",
                oauth: "<YOUR_OAUTH_HERE>",
              },
            });


            async function run() {
              const result = await conductoroneSDKTypescript.appEntitlementsProxy.create({
                srcAppId: "<id>",
                srcAppEntitlementId: "<id>",
                dstAppId: "<id>",
                dstAppEntitlementId: null,
              });

              console.log(result);
            }


            run();
components:
  schemas:
    c1.api.app.v1.CreateAppEntitlementProxyRequestInput:
      description: The request message for creating an entitlement proxy binding.
      properties:
        expandMask:
          $ref: '#/components/schemas/c1.api.app.v1.AppEntitlementProxyExpandMask'
      title: Create App Entitlement Proxy Request
      type: object
      x-speakeasy-name-override: CreateAppEntitlementProxyRequest
    c1.api.app.v1.CreateAppEntitlementProxyResponse:
      description: The response message for creating an entitlement proxy binding.
      properties:
        appProxyEntitlementView:
          $ref: '#/components/schemas/c1.api.app.v1.AppEntitlementProxyView'
        expanded:
          description: List of serialized related objects.
          items:
            additionalProperties: true
            description: >-
              Contains an arbitrary serialized message along with a @type that
              describes the type of the serialized message.
            properties:
              '@type':
                description: The type of the serialized message.
                type: string
            readOnly: false
            type: object
          nullable: true
          readOnly: false
          type: array
      title: Create App Entitlement Proxy Response
      type: object
      x-speakeasy-name-override: CreateAppEntitlementProxyResponse
    c1.api.app.v1.AppEntitlementProxyExpandMask:
      description: The AppEntitlementProxyExpandMask message.
      properties:
        paths:
          description: The paths field.
          items:
            type: string
          nullable: true
          readOnly: false
          type: array
      title: App Entitlement Proxy Expand Mask
      type: object
      x-speakeasy-name-override: AppEntitlementProxyExpandMask
    c1.api.app.v1.AppEntitlementProxyView:
      description: The AppEntitlementProxyView message.
      properties:
        appProxyEntitlement:
          $ref: '#/components/schemas/c1.api.app.v1.AppEntitlementProxy'
        dstAppEntitlementPath:
          description: The dstAppEntitlementPath field.
          readOnly: false
          type: string
        dstAppPath:
          description: The dstAppPath field.
          readOnly: false
          type: string
        srcAppEntitlementPath:
          description: The srcAppEntitlementPath field.
          readOnly: false
          type: string
        srcAppPath:
          description: The srcAppPath field.
          readOnly: false
          type: string
      title: App Entitlement Proxy View
      type: object
      x-speakeasy-name-override: AppEntitlementProxyView
    c1.api.app.v1.AppEntitlementProxy:
      description: >-
        An entitlement proxy binding that defines a hierarchical relationship
        between two entitlements.
      properties:
        createdAt:
          format: date-time
          readOnly: true
          type: string
        deletedAt:
          format: date-time
          readOnly: true
          type: string
        disabledAt:
          format: date-time
          readOnly: false
          type: string
        dstAppEntitlementId:
          description: The ID of the destination (child) entitlement.
          readOnly: false
          type: string
        dstAppId:
          description: The ID of the app that owns the destination entitlement.
          readOnly: false
          type: string
        implicit:
          description: >-
            If true, the binding does not exist yet and is inferred from the
            entitlements of the parent app.
          nullable: true
          readOnly: false
          type: boolean
        srcAppEntitlementId:
          description: The ID of the source (parent) entitlement.
          readOnly: false
          type: string
        srcAppId:
          description: The ID of the app that owns the source entitlement.
          readOnly: false
          type: string
        systemBuiltin:
          description: >-
            If true, this binding was created by the system and cannot be
            removed by the user.
          readOnly: false
          type: boolean
        updatedAt:
          format: date-time
          readOnly: true
          type: string
      title: App Entitlement Proxy
      type: object
      x-speakeasy-entity: App Entitlement Proxy Binding
      x-speakeasy-name-override: AppEntitlementProxy
  securitySchemes:
    bearerAuth:
      scheme: bearer
      type: http
    oauth:
      description: >-
        This API uses OAuth2 with the Client Credential flow.

        Client Credentials must be sent in the BODY, not the headers.

        For an example of how to implement this, refer to the
        [c1TokenSource.Token()](https://github.com/ConductorOne/conductorone-sdk-go/blob/3375fe7c0126d17e7ec4e711693dee7b791023aa/token_source.go#L101-L187)
        function.
      flows:
        clientCredentials:
          scopes: {}
          tokenUrl: /auth/v1/token
      type: oauth2

````