Skip to main content

Create an Entitlement

POST 

/partner/v2/entitlements

Early Access Request Access To Partner v2

Make a request to create an entitlement.

Request

Responses

An Entitlement is being created.

Response Headers
    Location

    Entitlement resource uri

OpenAPI definition (YAML)
paths:
  /partner/v2/entitlements:
    post:
      x-lifecycle-stage: Early Access
      x-request-access-name: Partner v2
      operationId: createPartnerV2Entitlement
      description: '[![Early Access](https://img.shields.io/badge/Lifecycle%20Stage-Early%20Access-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy)
        [![Request Access To Partner v2](https://img.shields.io/badge/-Request%20Access%20To%20Partner%20v2-%23bc8540)](mailto:ccloud-api-access+partner-v2-early-access@confluent.io?subject=Request%20to%20join%20partner/v2%20API%20Early%20Access&body=I%E2%80%99d%20like%20to%20join%20the%20Confluent%20Cloud%20API%20Early%20Access%20for%20partner/v2%20to%20provide%20early%20feedback%21%20My%20Cloud%20Organization%20ID%20is%20%3Cretrieve%20from%20https%3A//confluent.cloud/settings/billing/payment%3E.)


        Make a request to create an entitlement.'
      tags:
      - Entitlements (partner/v2)
      security:
      - oauth:
        - partner:create
      requestBody:
        content:
          application/json:
            schema:
              allOf:
              - type: object
                description: '`Entitlement` objects represent metadata about a marketplace entitlement.'
                properties:
                  external_id:
                    type: string
                    description: The unique external ID of the entitlement (this should be unique to customer)
                    example: 1111-2222-3333-4444
                  name:
                    type: string
                    description: The name of the entitlement
                    example: Acme Prod Entitlement
                  plan_id:
                    type: string
                    description: The plan ID the entitlement
                    example: confluent-cloud-payg-prod
                    enum:
                    - confluent-cloud-payg-prod
                    - payg-prod.gcpmarketplace.confluent.cloud
                  product_id:
                    type: string
                    description: The product ID of the entitlement
                    example: confluent-cloud-kafka-service-azure
                    enum:
                    - confluent-cloud-kafka-service-azure
                    - confluent-cloud-for-apache-kafka
                    - payg-prod.gcpmarketplace.confluent.cloud
                  usage_reporting_id:
                    type: string
                    description: 'The usage reporting ID of the entitlement (if usage reporting uses

                      a different ID, otherwise, same as external_id)

                      '
                    example: 1111-2222-3333-4444
                  resource_id:
                    type: string
                    description: The resource ID of the entitlement
                    example: 1111-2222-3333-4444
                  organization:
                    allOf:
                    - type: object
                      description: ObjectReference provides information for you to locate the referred
                        object
                      required:
                      - id
                      properties:
                        id:
                          type: string
                          description: ID of the referred resource
                          minLength: 1
                          maxLength: 255
                        environment:
                          type: string
                          description: Environment of the referred resource, if env-scoped
                          minLength: 1
                          maxLength: 255
                      title: ObjectReference
                    - required:
                      - related
                    description: The organization associated with this object.
                additionalProperties: false
                title: partner.v2.Entitlement
              - type: object
                required:
                - external_id
                - name
                - plan_id
                - product_id
      responses:
        '201':
          description: An Entitlement is being created.
          headers:
            Location:
              schema:
                type: string
                format: uri
                example: https://api.confluent.cloud/partner/v2/entitlements/{id}
              description: Entitlement resource uri
          content:
            application/json:
              schema:
                allOf:
                - type: object
                  description: '`Entitlement` objects represent metadata about a marketplace entitlement.'
                  properties:
                    api_version:
                      type: string
                      enum:
                      - partner/v2
                      description: APIVersion defines the schema version of this representation of a resource.
                      readOnly: true
                    kind:
                      type: string
                      description: Kind defines the object this REST resource represents.
                      readOnly: true
                      enum:
                      - Entitlement
                    id:
                      description: ID is the "natural identifier" for an object within its scope/namespace;
                        it is normally unique across time but not space. That is, you can assume that
                        the ID will not be reclaimed and reused after an object is deleted ("time"); however,
                        it may collide with IDs for other object `kinds` or objects of the same `kind`
                        within a different scope/namespace ("space").
                      type: string
                      readOnly: true
                      example: dlz-f3a90de
                    metadata:
                      description: ObjectMeta is metadata that all persisted resources must have, which
                        includes all objects users must create.
                      required:
                      - self
                      properties:
                        self:
                          description: Self is a Uniform Resource Locator (URL) at which an object can
                            be addressed. This URL encodes the service location, API version, and other
                            particulars necessary to locate the resource at a point in time
                          type: string
                          format: uri
                          readOnly: true
                          example: https://api.confluent.cloud/v2/kafka-clusters/lkc-f3a90de
                        resource_name:
                          description: Resource Name is a Uniform Resource Identifier (URI) that is globally
                            unique across space and time. It is represented as a Confluent Resource Name
                          type: string
                          format: uri
                          readOnly: true
                          example: crn://confluent.cloud/kafka=lkc-f3a90de
                        created_at:
                          type: string
                          format: date-time
                          example: '2006-01-02T15:04:05-07:00'
                          readOnly: true
                          description: The date and time at which this object was created. It is represented
                            in RFC3339 format and is in UTC.
                        updated_at:
                          type: string
                          format: date-time
                          example: '2006-01-02T15:04:05-07:00'
                          readOnly: true
                          description: The date and time at which this object was last updated. It is
                            represented in RFC3339 format and is in UTC.
                        deleted_at:
                          type: string
                          format: date-time
                          example: '2006-01-02T15:04:05-07:00'
                          readOnly: true
                          description: The date and time at which this object was (or will be) deleted.
                            It is represented in RFC3339 format and is in UTC.
                      readOnly: true
                      title: ObjectMeta
                    external_id:
                      type: string
                      description: The unique external ID of the entitlement (this should be unique to
                        customer)
                      example: 1111-2222-3333-4444
                    name:
                      type: string
                      description: The name of the entitlement
                      example: Acme Prod Entitlement
                    plan_id:
                      type: string
                      description: The plan ID the entitlement
                      example: confluent-cloud-payg-prod
                      enum:
                      - confluent-cloud-payg-prod
                      - payg-prod.gcpmarketplace.confluent.cloud
                    product_id:
                      type: string
                      description: The product ID of the entitlement
                      example: confluent-cloud-kafka-service-azure
                      enum:
                      - confluent-cloud-kafka-service-azure
                      - confluent-cloud-for-apache-kafka
                      - payg-prod.gcpmarketplace.confluent.cloud
                    usage_reporting_id:
                      type: string
                      description: 'The usage reporting ID of the entitlement (if usage reporting uses

                        a different ID, otherwise, same as external_id)

                        '
                      example: 1111-2222-3333-4444
                    resource_id:
                      type: string
                      description: The resource ID of the entitlement
                      example: 1111-2222-3333-4444
                    organization:
                      allOf:
                      - type: object
                        description: ObjectReference provides information for you to locate the referred
                          object
                        required:
                        - id
                        - related
                        - resource_name
                        properties:
                          id:
                            type: string
                            description: ID of the referred resource
                            minLength: 1
                            maxLength: 255
                          environment:
                            type: string
                            description: Environment of the referred resource, if env-scoped
                            minLength: 1
                            maxLength: 255
                          related:
                            type: string
                            format: uri
                            description: API URL for accessing or modifying the referred object
                            minLength: 1
                            readOnly: true
                          resource_name:
                            type: string
                            format: uri
                            description: CRN reference to the referred resource
                            minLength: 1
                            readOnly: true
                          api_version:
                            type: string
                            description: API group and version of the referred resource
                            minLength: 1
                            readOnly: true
                          kind:
                            type: string
                            description: Kind of the referred resource
                            minLength: 1
                            readOnly: true
                        title: ObjectReference
                      - required:
                        - related
                      description: The organization associated with this object.
                  additionalProperties: false
                  title: partner.v2.Entitlement
                - type: object
                  required:
                  - external_id
                  - name
                  - plan_id
                  - product_id
        '400':
          description: Bad Request
          headers:
            X-Request-Id:
              schema:
                type: string
              description: The unique identifier for the API request.
          content:
            application/json:
              schema:
                type: object
                description: Provides information about problems encountered while performing an operation.
                required:
                - errors
                properties:
                  errors:
                    description: List of errors which caused this operation to fail
                    type: array
                    items:
                      type: object
                      description: Describes a particular error encountered while performing an operation.
                      properties:
                        id:
                          description: A unique identifier for this particular occurrence of the problem.
                          type: string
                          maxLength: 255
                        status:
                          description: The HTTP status code applicable to this problem, expressed as a
                            string value.
                          type: string
                        code:
                          description: An application-specific error code, expressed as a string value.
                          type: string
                        title:
                          description: A short, human-readable summary of the problem. It **SHOULD NOT**
                            change from occurrence to occurrence of the problem, except for purposes of
                            localization.
                          type: string
                        detail:
                          description: A human-readable explanation specific to this occurrence of the
                            problem.
                          type: string
                        source:
                          type: object
                          description: If this error was caused by a particular part of the API request,
                            the source will point to the query string parameter or request body property
                            that caused it.
                          properties:
                            pointer:
                              description: A JSON Pointer [RFC6901] to the associated entity in the request
                                document [e.g. "/spec" for a spec object, or "/spec/title" for a specific
                                field].
                              type: string
                            parameter:
                              description: A string indicating which query parameter caused the error.
                              type: string
                        error_code:
                          type: integer
                          format: int32
                        message:
                          type: string
                          nullable: true
                      additionalProperties: false
                      title: Error
                    uniqueItems: true
                title: Failure
              example:
                errors:
                - id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d
                  status: '400'
                  code: invalid_filter
                  title: Invalid Filter
                  detail: The 'delorean' resource can't be filtered by 'num_doors'
                  source:
                    parameter: num_doors
        '401':
          x-summary: Unauthorized
          description: The request lacks valid authentication credentials for this resource.
          headers:
            X-Request-Id:
              schema:
                type: string
              description: The unique identifier for the API request.
            WWW-Authenticate:
              schema:
                type: string
              description: The unique identifier for the API request.
              example: Basic error="invalid_key", error_description="The API Key is invalid"
          content:
            application/json:
              schema:
                type: object
                description: Provides information about problems encountered while performing an operation.
                required:
                - errors
                properties:
                  errors:
                    description: List of errors which caused this operation to fail
                    type: array
                    items:
                      type: object
                      description: Describes a particular error encountered while performing an operation.
                      properties:
                        id:
                          description: A unique identifier for this particular occurrence of the problem.
                          type: string
                          maxLength: 255
                        status:
                          description: The HTTP status code applicable to this problem, expressed as a
                            string value.
                          type: string
                        code:
                          description: An application-specific error code, expressed as a string value.
                          type: string
                        title:
                          description: A short, human-readable summary of the problem. It **SHOULD NOT**
                            change from occurrence to occurrence of the problem, except for purposes of
                            localization.
                          type: string
                        detail:
                          description: A human-readable explanation specific to this occurrence of the
                            problem.
                          type: string
                        source:
                          type: object
                          description: If this error was caused by a particular part of the API request,
                            the source will point to the query string parameter or request body property
                            that caused it.
                          properties:
                            pointer:
                              description: A JSON Pointer [RFC6901] to the associated entity in the request
                                document [e.g. "/spec" for a spec object, or "/spec/title" for a specific
                                field].
                              type: string
                            parameter:
                              description: A string indicating which query parameter caused the error.
                              type: string
                        error_code:
                          type: integer
                          format: int32
                        message:
                          type: string
                          nullable: true
                      additionalProperties: false
                      title: Error
                    uniqueItems: true
                title: Failure
              example:
                errors:
                - id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d
                  status: '401'
                  code: user_unauthenticated
                  title: Authentication Required
                  detail: Valid authentication credentials must be provided
        '403':
          x-summary: Forbidden
          description: The access credentials were considered insufficient to grant access
          headers:
            X-Request-Id:
              schema:
                type: string
              description: The unique identifier for the API request.
          content:
            application/json:
              schema:
                type: object
                description: Provides information about problems encountered while performing an operation.
                required:
                - errors
                properties:
                  errors:
                    description: List of errors which caused this operation to fail
                    type: array
                    items:
                      type: object
                      description: Describes a particular error encountered while performing an operation.
                      properties:
                        id:
                          description: A unique identifier for this particular occurrence of the problem.
                          type: string
                          maxLength: 255
                        status:
                          description: The HTTP status code applicable to this problem, expressed as a
                            string value.
                          type: string
                        code:
                          description: An application-specific error code, expressed as a string value.
                          type: string
                        title:
                          description: A short, human-readable summary of the problem. It **SHOULD NOT**
                            change from occurrence to occurrence of the problem, except for purposes of
                            localization.
                          type: string
                        detail:
                          description: A human-readable explanation specific to this occurrence of the
                            problem.
                          type: string
                        source:
                          type: object
                          description: If this error was caused by a particular part of the API request,
                            the source will point to the query string parameter or request body property
                            that caused it.
                          properties:
                            pointer:
                              description: A JSON Pointer [RFC6901] to the associated entity in the request
                                document [e.g. "/spec" for a spec object, or "/spec/title" for a specific
                                field].
                              type: string
                            parameter:
                              description: A string indicating which query parameter caused the error.
                              type: string
                        error_code:
                          type: integer
                          format: int32
                        message:
                          type: string
                          nullable: true
                      additionalProperties: false
                      title: Error
                    uniqueItems: true
                title: Failure
              example:
                errors:
                - id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d
                  status: '403'
                  code: user_unauthorized
                  title: User Access Unauthorized
                  detail: The user 'mcfly' is not allowed to access the 'delorean' resource without the
                    'plutonium' role.
        '409':
          x-summary: Conflict
          description: The request is in conflict with the current server state
          headers:
            X-Request-Id:
              schema:
                type: string
              description: The unique identifier for the API request.
            Location:
              schema:
                type: string
                format: uri
                example: https://api.confluent.cloud/{object}/{id}
              description: Resource URI of conflicting resource
          content:
            application/json:
              schema:
                type: object
                description: Provides information about problems encountered while performing an operation.
                required:
                - errors
                properties:
                  errors:
                    description: List of errors which caused this operation to fail
                    type: array
                    items:
                      type: object
                      description: Describes a particular error encountered while performing an operation.
                      properties:
                        id:
                          description: A unique identifier for this particular occurrence of the problem.
                          type: string
                          maxLength: 255
                        status:
                          description: The HTTP status code applicable to this problem, expressed as a
                            string value.
                          type: string
                        code:
                          description: An application-specific error code, expressed as a string value.
                          type: string
                        title:
                          description: A short, human-readable summary of the problem. It **SHOULD NOT**
                            change from occurrence to occurrence of the problem, except for purposes of
                            localization.
                          type: string
                        detail:
                          description: A human-readable explanation specific to this occurrence of the
                            problem.
                          type: string
                        source:
                          type: object
                          description: If this error was caused by a particular part of the API request,
                            the source will point to the query string parameter or request body property
                            that caused it.
                          properties:
                            pointer:
                              description: A JSON Pointer [RFC6901] to the associated entity in the request
                                document [e.g. "/spec" for a spec object, or "/spec/title" for a specific
                                field].
                              type: string
                            parameter:
                              description: A string indicating which query parameter caused the error.
                              type: string
                        error_code:
                          type: integer
                          format: int32
                        message:
                          type: string
                          nullable: true
                      additionalProperties: false
                      title: Error
                    uniqueItems: true
                title: Failure
              example:
                errors:
                - id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d
                  status: '409'
                  code: resource_already_exists
                  title: Resource Already exists
                  detail: The entitlement '91e3e86f-fca6-4f14-98f5-a48e64113ce2' already exists.
        '429':
          description: Rate Limit Exceeded
          headers:
            X-Request-Id:
              schema:
                type: string
              description: The unique identifier for the API request.
            X-RateLimit-Limit:
              schema:
                type: integer
              description: The maximum number of requests you're permitted to make per time period.
            X-RateLimit-Remaining:
              schema:
                type: integer
              description: The number of requests remaining in the current rate limit window.
            X-RateLimit-Reset:
              schema:
                type: integer
              description: "The relative time in seconds until the current rate-limit window resets. \
                \ \n  \n**Important:** This differs from Github and Twitter's same-named header which\
                \ uses UTC epoch seconds. We use relative time to avoid client/server time synchronization\
                \ issues."
            Retry-After:
              schema:
                type: integer
              description: The number of seconds to wait until the rate limit window resets. Only sent
                when the rate limit is reached.
        '500':
          description: Oops, something went wrong!
          headers:
            X-Request-Id:
              schema:
                type: string
              description: The unique identifier for the API request.
          content:
            application/json:
              schema:
                type: object
                description: Provides information about problems encountered while performing an operation.
                required:
                - errors
                properties:
                  errors:
                    description: List of errors which caused this operation to fail
                    type: array
                    items:
                      type: object
                      description: Describes a particular error encountered while performing an operation.
                      properties:
                        id:
                          description: A unique identifier for this particular occurrence of the problem.
                          type: string
                          maxLength: 255
                        status:
                          description: The HTTP status code applicable to this problem, expressed as a
                            string value.
                          type: string
                        code:
                          description: An application-specific error code, expressed as a string value.
                          type: string
                        title:
                          description: A short, human-readable summary of the problem. It **SHOULD NOT**
                            change from occurrence to occurrence of the problem, except for purposes of
                            localization.
                          type: string
                        detail:
                          description: A human-readable explanation specific to this occurrence of the
                            problem.
                          type: string
                        source:
                          type: object
                          description: If this error was caused by a particular part of the API request,
                            the source will point to the query string parameter or request body property
                            that caused it.
                          properties:
                            pointer:
                              description: A JSON Pointer [RFC6901] to the associated entity in the request
                                document [e.g. "/spec" for a spec object, or "/spec/title" for a specific
                                field].
                              type: string
                            parameter:
                              description: A string indicating which query parameter caused the error.
                              type: string
                        error_code:
                          type: integer
                          format: int32
                        message:
                          type: string
                          nullable: true
                      additionalProperties: false
                      title: Error
                    uniqueItems: true
                title: Failure
              example:
                errors:
                - id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d
                  status: '500'
                  code: out_of_gas
                  title: DeLorean Out Of Gas
                  detail: The DeLorean has run out of gas, but Doc Brown will fill 'er up for you asap
      x-codeSamples:
      - lang: Shell
        source: "curl --request POST \\\n  --url https://api.confluent.cloud/partner/v2/entitlements \\\
          \n  --header 'Authorization: Bearer REPLACE_BEARER_TOKEN' \\\n  --header 'content-type: application/json'\
          \ \\\n  --data '{\"external_id\":\"1111-2222-3333-4444\",\"name\":\"Acme Prod Entitlement\"\
          ,\"plan_id\":\"confluent-cloud-payg-prod\",\"product_id\":\"confluent-cloud-kafka-service-azure\"\
          ,\"usage_reporting_id\":\"1111-2222-3333-4444\",\"resource_id\":\"1111-2222-3333-4444\",\"organization\"\
          :{\"related\":\"string\"}}'"
      - lang: Java
        source: "OkHttpClient client = new OkHttpClient();\n\nMediaType mediaType = MediaType.parse(\"\
          application/json\");\nRequestBody body = RequestBody.create(mediaType, \"{\\\"external_id\\\"\
          :\\\"1111-2222-3333-4444\\\",\\\"name\\\":\\\"Acme Prod Entitlement\\\",\\\"plan_id\\\":\\\"\
          confluent-cloud-payg-prod\\\",\\\"product_id\\\":\\\"confluent-cloud-kafka-service-azure\\\"\
          ,\\\"usage_reporting_id\\\":\\\"1111-2222-3333-4444\\\",\\\"resource_id\\\":\\\"1111-2222-3333-4444\\\
          \",\\\"organization\\\":{\\\"related\\\":\\\"string\\\"}}\");\nRequest request = new Request.Builder()\n\
          \  .url(\"https://api.confluent.cloud/partner/v2/entitlements\")\n  .post(body)\n  .addHeader(\"\
          content-type\", \"application/json\")\n  .addHeader(\"Authorization\", \"Bearer REPLACE_BEARER_TOKEN\"\
          )\n  .build();\n\nResponse response = client.newCall(request).execute();"
      - lang: Go
        source: "package main\n\nimport (\n\t\"fmt\"\n\t\"strings\"\n\t\"net/http\"\n\t\"io/ioutil\"\n\
          )\n\nfunc main() {\n\n\turl := \"https://api.confluent.cloud/partner/v2/entitlements\"\n\n\t\
          payload := strings.NewReader(\"{\\\"external_id\\\":\\\"1111-2222-3333-4444\\\",\\\"name\\\"\
          :\\\"Acme Prod Entitlement\\\",\\\"plan_id\\\":\\\"confluent-cloud-payg-prod\\\",\\\"product_id\\\
          \":\\\"confluent-cloud-kafka-service-azure\\\",\\\"usage_reporting_id\\\":\\\"1111-2222-3333-4444\\\
          \",\\\"resource_id\\\":\\\"1111-2222-3333-4444\\\",\\\"organization\\\":{\\\"related\\\":\\\"\
          string\\\"}}\")\n\n\treq, _ := http.NewRequest(\"POST\", url, payload)\n\n\treq.Header.Add(\"\
          content-type\", \"application/json\")\n\treq.Header.Add(\"Authorization\", \"Bearer REPLACE_BEARER_TOKEN\"\
          )\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\
          \n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}"
      - lang: Python
        source: "import http.client\n\nconn = http.client.HTTPSConnection(\"api.confluent.cloud\")\n\n\
          payload = \"{\\\"external_id\\\":\\\"1111-2222-3333-4444\\\",\\\"name\\\":\\\"Acme Prod Entitlement\\\
          \",\\\"plan_id\\\":\\\"confluent-cloud-payg-prod\\\",\\\"product_id\\\":\\\"confluent-cloud-kafka-service-azure\\\
          \",\\\"usage_reporting_id\\\":\\\"1111-2222-3333-4444\\\",\\\"resource_id\\\":\\\"1111-2222-3333-4444\\\
          \",\\\"organization\\\":{\\\"related\\\":\\\"string\\\"}}\"\n\nheaders = {\n    'content-type':\
          \ \"application/json\",\n    'Authorization': \"Bearer REPLACE_BEARER_TOKEN\"\n    }\n\nconn.request(\"\
          POST\", \"/partner/v2/entitlements\", payload, headers)\n\nres = conn.getresponse()\ndata =\
          \ res.read()\n\nprint(data.decode(\"utf-8\"))"
      - lang: Node
        source: "const http = require(\"https\");\n\nconst options = {\n  \"method\": \"POST\",\n  \"\
          hostname\": \"api.confluent.cloud\",\n  \"port\": null,\n  \"path\": \"/partner/v2/entitlements\"\
          ,\n  \"headers\": {\n    \"content-type\": \"application/json\",\n    \"Authorization\": \"\
          Bearer REPLACE_BEARER_TOKEN\"\n  }\n};\n\nconst req = http.request(options, function (res) {\n\
          \  const chunks = [];\n\n  res.on(\"data\", function (chunk) {\n    chunks.push(chunk);\n  });\n\
          \n  res.on(\"end\", function () {\n    const body = Buffer.concat(chunks);\n    console.log(body.toString());\n\
          \  });\n});\n\nreq.write(JSON.stringify({\n  external_id: '1111-2222-3333-4444',\n  name: 'Acme\
          \ Prod Entitlement',\n  plan_id: 'confluent-cloud-payg-prod',\n  product_id: 'confluent-cloud-kafka-service-azure',\n\
          \  usage_reporting_id: '1111-2222-3333-4444',\n  resource_id: '1111-2222-3333-4444',\n  organization:\
          \ {related: 'string'}\n}));\nreq.end();"
      - lang: C
        source: 'CURL *hnd = curl_easy_init();


          curl_easy_setopt(hnd, CURLOPT_CUSTOMREQUEST, "POST");

          curl_easy_setopt(hnd, CURLOPT_URL, "https://api.confluent.cloud/partner/v2/entitlements");


          struct curl_slist *headers = NULL;

          headers = curl_slist_append(headers, "content-type: application/json");

          headers = curl_slist_append(headers, "Authorization: Bearer REPLACE_BEARER_TOKEN");

          curl_easy_setopt(hnd, CURLOPT_HTTPHEADER, headers);


          curl_easy_setopt(hnd, CURLOPT_POSTFIELDS, "{\"external_id\":\"1111-2222-3333-4444\",\"name\":\"Acme
          Prod Entitlement\",\"plan_id\":\"confluent-cloud-payg-prod\",\"product_id\":\"confluent-cloud-kafka-service-azure\",\"usage_reporting_id\":\"1111-2222-3333-4444\",\"resource_id\":\"1111-2222-3333-4444\",\"organization\":{\"related\":\"string\"}}");


          CURLcode ret = curl_easy_perform(hnd);'
      - lang: C#
        source: 'var client = new RestClient("https://api.confluent.cloud/partner/v2/entitlements");

          var request = new RestRequest(Method.POST);

          request.AddHeader("content-type", "application/json");

          request.AddHeader("Authorization", "Bearer REPLACE_BEARER_TOKEN");

          request.AddParameter("application/json", "{\"external_id\":\"1111-2222-3333-4444\",\"name\":\"Acme
          Prod Entitlement\",\"plan_id\":\"confluent-cloud-payg-prod\",\"product_id\":\"confluent-cloud-kafka-service-azure\",\"usage_reporting_id\":\"1111-2222-3333-4444\",\"resource_id\":\"1111-2222-3333-4444\",\"organization\":{\"related\":\"string\"}}",
          ParameterType.RequestBody);

          IRestResponse response = client.Execute(request);'
      servers:
      - url: https://api.confluent.cloud
        description: Confluent Cloud API
      jsonRequestBodyExample:
        external_id: 1111-2222-3333-4444
        name: Acme Prod Entitlement
        plan_id: confluent-cloud-payg-prod
        product_id: confluent-cloud-kafka-service-azure
        usage_reporting_id: 1111-2222-3333-4444
        resource_id: 1111-2222-3333-4444
        organization:
          id: string
          environment: string