openapi: 3.2.0 info: title: Confluent Cloud Integrations (pim/v2) API version: '' x-api-id: 46234552-5833-42eb-ba0f-883ad3f70d2b x-audience: external-public x-logo: url: https://assets.confluent.io/m/1661ef5e4ff82d3d/ description: '# Introduction Note This documents the collection of Confluent Cloud APIs.' servers: - url: https://api.confluent.cloud description: Confluent Cloud API tags: - name: Integrations (pim/v2) description: '![Early Access](#section/Versioning/API-Lifecycle-Policy) ![Request Access To Provider Integration](mailto:ccloud-api-access+pim-v2-early-access@confluent.io?subject=Request%20to%20join%20pim/v2%20API%20Early%20Access&body=I%E2%80%99d%20like%20to%20join%20the%20Confluent%20Cloud%20API%20Early%20Access%20for%20pim/v2%20to%20provide%20early%20feedback%21%20My%20Cloud%20Organization%20ID%20is%20%3Cretrieve%20from%20https%3A//confluent.cloud/settings/billing/payment%3E.) `Provider Integration`…' paths: /pim/v2/integrations: x-lifecycle-stage: Early Access x-self-access: false x-request-access-name: Provider Integration get: x-lifecycle-stage: Early Access x-self-access: false x-request-access-name: Provider Integration operationId: listPimV2Integrations summary: List of Integrations description: '![Early Access](#section/Versioning/API-Lifecycle-Policy) ![Request Access To Provider Integration](mailto:ccloud-api-access+pim-v2-early-access@confluent.io?subject=Request%20to%20join%20pim/v2%20API%20Early%20Access&body=I%E2%80%99d%20like%20to%20join%20the%20Confluent%20Cloud%20API%20Early%20Access%20for%20pim/v2%20to%20provide%20early%20feedback%21%20My%20Cloud%20Organization%20ID%20is%20%3Cretrieve%20from%20https%3A//confluent.cloud/settings/billing/payment%3E.) Retrieve a sorted, filtered, paginated list of all integrations. If no `provider` filter is specified, returns provider integrations from all clouds.' parameters: - name: display_name in: query required: false schema: $ref: '#/components/schemas/SearchFilter' example: bigquery_provider_integration description: Filter the results by a partial search of display_name. - name: provider in: query required: false schema: $ref: '#/components/schemas/SearchFilter' example: GCP description: Filter the results by exact match for provider. - name: status in: query required: false schema: $ref: '#/components/schemas/SearchFilter' example: CREATED description: Filter the results by exact match for status. - name: environment in: query required: true schema: $ref: '#/components/schemas/SearchFilter' example: env-00000 description: Filter the results by exact match for environment. - name: page_size in: query required: false schema: type: integer default: 10 maximum: 100 x-max-page-items: 500 description: A pagination size for collection requests. - name: page_token in: query required: false schema: type: string maxLength: 255 description: An opaque pagination token for collection requests. tags: - Integrations (pim/v2) security: - cloud-api-key: [] - confluent-sts-access-token: [] responses: '200': description: Integration. content: application/json: schema: allOf: - $ref: '#/components/schemas/pim.v2.IntegrationList' - type: object properties: data: type: array items: properties: environment: example: id: env-00000 related: https://api.confluent.cloud/v2/environments/env-00000 resource_name: https://api.confluent.cloud/organization=9bb441c4-edef-46ac-8a41-c49e44a3fd9a/environment=env-00000 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." '400': $ref: '#/components/responses/BadRequestError' '401': $ref: '#/components/responses/UnauthenticatedError' '403': $ref: '#/components/responses/UnauthorizedError' '429': $ref: '#/components/responses/RateLimitError' '500': $ref: '#/components/responses/DefaultSystemError' post: x-lifecycle-stage: Early Access x-self-access: false x-request-access-name: Provider Integration operationId: createPimV2Integration summary: Create an Integration description: '![Early Access](#section/Versioning/API-Lifecycle-Policy) ![Request Access To Provider Integration](mailto:ccloud-api-access+pim-v2-early-access@confluent.io?subject=Request%20to%20join%20pim/v2%20API%20Early%20Access&body=I%E2%80%99d%20like%20to%20join%20the%20Confluent%20Cloud%20API%20Early%20Access%20for%20pim/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 integration.' tags: - Integrations (pim/v2) security: - cloud-api-key: [] - confluent-sts-access-token: [] requestBody: content: application/json: schema: allOf: - $ref: '#/components/schemas/pim.v2.Integration' - type: object required: - environment - type: object properties: environment: example: id: env-00000 responses: '201': description: An Integration was created. 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." Location: schema: type: string format: uri example: https://api.confluent.cloud/pim/v2/integrations/{id} description: Integration resource uri content: application/json: schema: allOf: - $ref: '#/components/schemas/pim.v2.Integration' - type: object required: - status - environment - type: object properties: environment: example: id: env-00000 related: https://api.confluent.cloud/v2/environments/env-00000 resource_name: https://api.confluent.cloud/organization=9bb441c4-edef-46ac-8a41-c49e44a3fd9a/environment=env-00000 '400': $ref: '#/components/responses/BadRequestError' '401': $ref: '#/components/responses/UnauthenticatedError' '403': $ref: '#/components/responses/UnauthorizedError' '409': $ref: '#/components/responses/ConflictError' '422': $ref: '#/components/responses/ValidationError' '429': $ref: '#/components/responses/RateLimitError' '500': $ref: '#/components/responses/DefaultSystemError' /pim/v2/integrations/{id}: x-lifecycle-stage: Early Access x-self-access: false x-request-access-name: Provider Integration get: x-lifecycle-stage: Early Access x-self-access: false x-request-access-name: Provider Integration operationId: getPimV2Integration summary: Read an Integration description: '![Early Access](#section/Versioning/API-Lifecycle-Policy) ![Request Access To Provider Integration](mailto:ccloud-api-access+pim-v2-early-access@confluent.io?subject=Request%20to%20join%20pim/v2%20API%20Early%20Access&body=I%E2%80%99d%20like%20to%20join%20the%20Confluent%20Cloud%20API%20Early%20Access%20for%20pim/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 read an integration.' parameters: - name: environment in: query required: true schema: $ref: '#/components/schemas/SearchFilter' example: env-00000 description: Scope the operation to the given environment. - name: id in: path required: true schema: type: string description: The unique identifier for the integration. tags: - Integrations (pim/v2) security: - cloud-api-key: [] - confluent-sts-access-token: [] responses: '200': description: Integration. content: application/json: schema: allOf: - $ref: '#/components/schemas/pim.v2.Integration' - type: object required: - api_version - kind - id - status - environment - type: object properties: environment: example: id: env-00000 related: https://api.confluent.cloud/v2/environments/env-00000 resource_name: https://api.confluent.cloud/organization=9bb441c4-edef-46ac-8a41-c49e44a3fd9a/environment=env-00000 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." '400': $ref: '#/components/responses/BadRequestError' '401': $ref: '#/components/responses/UnauthenticatedError' '403': $ref: '#/components/responses/UnauthorizedError' '404': $ref: '#/components/responses/NotFoundError' '429': $ref: '#/components/responses/RateLimitError' '500': $ref: '#/components/responses/DefaultSystemError' patch: x-lifecycle-stage: Early Access x-self-access: false x-request-access-name: Provider Integration operationId: updatePimV2Integration summary: Update an Integration description: '![Early Access](#section/Versioning/API-Lifecycle-Policy) ![Request Access To Provider Integration](mailto:ccloud-api-access+pim-v2-early-access@confluent.io?subject=Request%20to%20join%20pim/v2%20API%20Early%20Access&body=I%E2%80%99d%20like%20to%20join%20the%20Confluent%20Cloud%20API%20Early%20Access%20for%20pim/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 update an integration. This request only works for integrations with `DRAFT` status.' parameters: - name: id in: path required: true schema: type: string description: The unique identifier for the integration. tags: - Integrations (pim/v2) security: - cloud-api-key: [] - confluent-sts-access-token: [] requestBody: content: application/json: schema: allOf: - $ref: '#/components/schemas/pim.v2.Integration' - type: object required: - environment properties: environment: example: id: env-00000 responses: '200': description: Integration. content: application/json: schema: allOf: - $ref: '#/components/schemas/pim.v2.Integration' - type: object required: - api_version - kind - id - status - environment - type: object properties: environment: example: id: env-00000 related: https://api.confluent.cloud/v2/environments/env-00000 resource_name: https://api.confluent.cloud/organization=9bb441c4-edef-46ac-8a41-c49e44a3fd9a/environment=env-00000 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." '400': $ref: '#/components/responses/BadRequestError' '401': $ref: '#/components/responses/UnauthenticatedError' '403': $ref: '#/components/responses/UnauthorizedError' '404': $ref: '#/components/responses/NotFoundError' '409': $ref: '#/components/responses/ConflictError' '422': $ref: '#/components/responses/ValidationError' '429': $ref: '#/components/responses/RateLimitError' '500': $ref: '#/components/responses/DefaultSystemError' delete: x-lifecycle-stage: Early Access x-self-access: false x-request-access-name: Provider Integration operationId: deletePimV2Integration summary: Delete an Integration description: '![Early Access](#section/Versioning/API-Lifecycle-Policy) ![Request Access To Provider Integration](mailto:ccloud-api-access+pim-v2-early-access@confluent.io?subject=Request%20to%20join%20pim/v2%20API%20Early%20Access&body=I%E2%80%99d%20like%20to%20join%20the%20Confluent%20Cloud%20API%20Early%20Access%20for%20pim/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 delete an integration. This request fails if existing workloads are using this CSP integration.' parameters: - name: environment in: query required: true schema: $ref: '#/components/schemas/SearchFilter' example: env-00000 description: Scope the operation to the given environment. - name: id in: path required: true schema: type: string description: The unique identifier for the integration. tags: - Integrations (pim/v2) security: - cloud-api-key: [] - confluent-sts-access-token: [] responses: '204': description: An Integration is being deleted. 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." '400': $ref: '#/components/responses/BadRequestError' '401': $ref: '#/components/responses/UnauthenticatedError' '403': $ref: '#/components/responses/UnauthorizedError' '404': $ref: '#/components/responses/NotFoundError' '429': $ref: '#/components/responses/RateLimitError' '500': $ref: '#/components/responses/DefaultSystemError' /pim/v2/integrations:validate: x-lifecycle-stage: Early Access x-self-access: false x-request-access-name: Provider Integration post: description: '![Early Access](#section/Versioning/API-Lifecycle-Policy) ![Request Access To Provider Integration](mailto:ccloud-api-access+pim-v2-early-access@confluent.io?subject=Request%20to%20join%20pim/v2%20API%20Early%20Access&body=I%E2%80%99d%20like%20to%20join%20the%20Confluent%20Cloud%20API%20Early%20Access%20for%20pim/v2%20to%20provide%20early%20feedback%21%20My%20Cloud%20Organization%20ID%20is%20%3Cretrieve%20from%20https%3A//confluent.cloud/settings/billing/payment%3E.) Validate the provider integration configuration.' requestBody: content: application/json: schema: allOf: - $ref: '#/components/schemas/pim.v2.IntegrationValidateRequest' - type: object required: - id - environment x-lifecycle-stage: Early Access x-self-access: false x-request-access-name: Provider Integration x-name: pim.v2.Integration operationId: validatePimV2Integration summary: Validate an Integration tags: - Integrations (pim/v2) security: - cloud-api-key: [] - confluent-sts-access-token: [] responses: '204': description: The provider integration configuration is validated successfully. '400': $ref: '#/components/responses/BadRequestError' '401': $ref: '#/components/responses/UnauthenticatedError' '403': $ref: '#/components/responses/UnauthorizedError' '404': $ref: '#/components/responses/NotFoundError' '429': $ref: '#/components/responses/RateLimitError' '500': $ref: '#/components/responses/DefaultSystemError' components: schemas: Error: 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 - 'null' additionalProperties: false pim.v2.IntegrationList: type: object description: '`Provider Integration` objects represent access to public cloud service provider (CSP) resources that may be accessed by Confluent resources (for example, connectors). The API allows you to create, retrieve, update, delete, and validate individual integrations, and also obtain a list of all your provider integrations. Note: The pim/v2 API currently supports only Azure and GCP provider integrations. Related guide: [Provider Integration in Confluent Cloud](https://docs.confluent.io/home/overview.html). ## The Integrations Model ' required: - api_version - kind - metadata - data properties: api_version: type: string enum: - pim/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: - IntegrationList metadata: allOf: - $ref: '#/components/schemas/ListMeta' - properties: first: example: https://api.confluent.cloud/pim/v2/integrations last: example: https://api.confluent.cloud/pim/v2/integrations?page_token=bcAOehAY8F16YD84Z1wT prev: example: https://api.confluent.cloud/pim/v2/integrations?page_token=YIXRY97wWYmwzrax4dld next: example: https://api.confluent.cloud/pim/v2/integrations?page_token=UvmDWOB1iwfAIBPj6EYb data: type: array description: A data property that contains an array of resource items. Each entry in the array is a separate resource. items: allOf: - $ref: '#/components/schemas/pim.v2.Integration' - type: object required: - id - status - environment uniqueItems: true GlobalObjectReference: 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 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 ObjectReference: 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 pim.v2.AzureIntegrationConfig: type: object description: 'config schema for Azure cloud service provider. ' properties: confluent_multi_tenant_app_id: type: string description: 'The ID of the Confluent Multi-Tenant App that Confluent Cloud uses to impersonate customer Azure App when it accesses resources in your Azure subscription. ' example: 9bb441c4-edef-46ac-8a41-c49e44a3fd9a readOnly: true customer_azure_tenant_id: type: string description: 'The ID of the customer''s Azure Active Directory (Azure AD) tenant ' example: 12345678-1234-1234-1234-123456789abc kind: type: string description: Cloud provider specific config to which access is provided through provider integration. example: AzureIntegrationConfig x-extensible-enum: - AzureIntegrationConfig required: - kind SearchFilter: description: Filter a collection by a string search type: string ListMeta: type: object description: ListMeta describes metadata that resource collections may have properties: first: description: A link to the first page of results. If a response does not contain a first link, then direct navigation to the first page is not supported. type: - string - 'null' format: uri example: https://api.confluent.cloud/v2/resourcekinds last: description: A link to the last page of results. If a response does not contain a last link, then direct navigation to the last page is not supported. type: - string - 'null' format: uri example: https://api.confluent.cloud/v2/resourcekinds?page_token=bcAOehAY8F16YD84Z1wT prev: description: A link to the previous page of results. If a response does not contain a prev link, then either there is no previous data or backwards traversal through the result set is not supported. type: - string - 'null' format: uri example: https://api.confluent.cloud/v2/resourcekinds?page_token=YIXRY97wWYmwzrax4dld next: description: A link to the next page of results. If a response does not contain a next link, then there is no more data available. type: - string - 'null' format: uri example: https://api.confluent.cloud/v2/resourcekinds?page_token=UvmDWOB1iwfAIBPj6EYb total_size: description: Number of records in the full result set. This response may be paginated and have a smaller number of records. type: integer format: int32 minimum: 0 example: 123 pim.v2.AwsIntegrationConfig: type: object description: 'config schema for AWS cloud service provider. ' properties: iam_role_arn: type: string description: 'Amazon Resource Name (ARN) that identifies the Amazon Web Services (AWS) Identity and Access Management (IAM) role that Confluent Cloud uses to assume customer IAM role when it accesses resources in your AWS account. ' example: arn:aws:iam::000000000000:role/my-test-aws-role maxLength: 2048 minLength: 20 readOnly: true external_id: type: string format: uuid description: 'Unique external ID that Confluent Cloud uses when it assumes the IAM role in your Amazon Web Services (AWS) account. ' readOnly: true customer_iam_role_arn: type: string description: 'Amazon Resource Name (ARN) that identifies the Amazon Web Services (AWS) Identity and Access Management (IAM) role that Confluent Cloud assumes when it accesses resources in your AWS account. ' example: arn:aws:iam::000000000000:role/my-test-aws-role maxLength: 2048 minLength: 20 kind: type: string description: Cloud provider specific config to which access is provided through provider integration. example: AwsIntegrationConfig x-extensible-enum: - AwsIntegrationConfig required: - kind pim.v2.Integration: type: object description: '`Provider Integration` objects represent access to public cloud service provider (CSP) resources that may be accessed by Confluent resources (for example, connectors). The API allows you to create, retrieve, update, delete, and validate individual integrations, and also obtain a list of all your provider integrations. Note: The pim/v2 API currently supports only Azure and GCP provider integrations. Related guide: [Provider Integration in Confluent Cloud](https://docs.confluent.io/home/overview.html). ## The Integrations Model ' properties: api_version: type: string enum: - pim/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: - Integration 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 maxLength: 255 readOnly: true example: dlz-f3a90de display_name: type: string example: bigquery_provider_integration description: Display name of Provider Integration. maxLength: 60 x-immutable: true provider: type: string description: Cloud provider to which access is provided through provider integration. example: GCP default: GCP x-extensible-enum: - GCP x-immutable: true config: type: object description: 'Cloud provider specific configuration for the provider integration. Required only when updating integrations with `DRAFT` status. Not required during creation. ' discriminator: propertyName: kind mapping: GcpIntegrationConfig: '#/components/schemas/pim.v2.GcpIntegrationConfig' AzureIntegrationConfig: '#/components/schemas/pim.v2.AzureIntegrationConfig' AwsIntegrationConfig: '#/components/schemas/pim.v2.AwsIntegrationConfig' oneOf: - $ref: '#/components/schemas/pim.v2.GcpIntegrationConfig' - $ref: '#/components/schemas/pim.v2.AzureIntegrationConfig' - $ref: '#/components/schemas/pim.v2.AwsIntegrationConfig' usages: type: array description: List of resource crns where this integration is being used. minItems: 0 items: type: string description: crn that specifies the resource using this integration format: uri pattern: ^crn://.+$ example: crn://confluent.cloud/organization=9bb441c4-edef-46ac-8a41-c49e44a3fd9a/environment=env-456xy/cloud-cluster=lkc-123abc/connector=my_datagen_connector readOnly: true status: type: string description: 'Status of the provider integration. - `DRAFT`: Integration exists but is not associated with customer configuration - `CREATED`: Integration has been associated with customer configuration - `ACTIVE`: Integration is in use by Confluent resources ' example: CREATED x-extensible-enum: - DRAFT - CREATED - ACTIVE readOnly: true environment: allOf: - $ref: '#/components/schemas/ObjectReference' description: The environment to which this belongs. pim.v2.IntegrationValidateRequest: type: object description: Request to validate the provider integration configuration. properties: api_version: type: string enum: - pim/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: - IntegrationValidateRequest id: type: string description: The ID of the provider integration to validate. example: cspi-00000 maxLength: 255 metadata: allOf: - $ref: '#/components/schemas/ObjectMeta' - properties: self: example: https://api.confluent.cloud/pim/v2/integration-validate-requests/ivr-12345 resource_name: example: crn://confluent.cloud/organization=9bb441c4-edef-46ac-8a41-c49e44a3fd9a/integration-validate-request=ivr-12345 config: type: object description: 'Cloud provider specific configuration for the provider integration. Required only for integrations in `DRAFT` status. ' discriminator: propertyName: kind mapping: GcpIntegrationConfig: '#/components/schemas/pim.v2.GcpIntegrationConfig' AzureIntegrationConfig: '#/components/schemas/pim.v2.AzureIntegrationConfig' AwsIntegrationConfig: '#/components/schemas/pim.v2.AwsIntegrationConfig' oneOf: - $ref: '#/components/schemas/pim.v2.GcpIntegrationConfig' - $ref: '#/components/schemas/pim.v2.AzureIntegrationConfig' - $ref: '#/components/schemas/pim.v2.AwsIntegrationConfig' environment: description: The environment to which this belongs. allOf: - $ref: '#/components/schemas/GlobalObjectReference' ObjectMeta: 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 Failure: 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: $ref: '#/components/schemas/Error' uniqueItems: true pim.v2.GcpIntegrationConfig: type: object description: 'config schema for GCP cloud service provider. ' properties: google_service_account: type: string description: 'The ID of the Google Service Account that Confluent Cloud uses to impersonate customer Google Service Account when it accesses resources in your GCP project. ' example: cspi-sa1@cflt-project.iam.gserviceaccount.com readOnly: true customer_google_service_account: type: string description: 'The ID of the Google Service Account that Confluent Cloud impersonates to access resources in your GCP Project. ' example: customer-sa@customer-project.iam.gserviceaccount.com kind: type: string description: Cloud provider specific config to which access is provided through provider integration. example: GcpIntegrationConfig x-extensible-enum: - GcpIntegrationConfig required: - kind responses: UnauthenticatedError: 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: $ref: '#/components/schemas/Failure' example: errors: - id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d status: '401' code: user_unauthenticated title: Authentication Required detail: Valid authentication credentials must be provided UnauthorizedError: 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: $ref: '#/components/schemas/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. NotFoundError: description: Not Found headers: X-Request-Id: schema: type: string description: The unique identifier for the API request. content: application/json: schema: $ref: '#/components/schemas/Failure' example: errors: - id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d status: '404' title: Not Found ConflictError: 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: $ref: '#/components/schemas/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. DefaultSystemError: description: Oops, something went wrong! headers: X-Request-Id: schema: type: string description: The unique identifier for the API request. content: application/json: schema: $ref: '#/components/schemas/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 ValidationError: description: Validation Failed headers: X-Request-Id: schema: type: string description: The unique identifier for the API request. content: application/json: schema: $ref: '#/components/schemas/Failure' example: errors: - status: '422' code: invalid_configuration id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d title: Validation Failed detail: 'The property ''/cluster/storage_size'' of type string did not match the following type: integer' source: pointer: /cluster/storage_size - status: '422' code: invalid_configuration id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d title: Validation Failed detail: 'The property ''/cluster/storage_size'' of type string did not match the following type: integer' source: pointer: /cluster/storage_size - status: '422' code: invalid_configuration id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d title: Validation Failed detail: 'The property ''/cluster/storage_size'' of type string did not match the following type: integer' source: pointer: /cluster/storage_size - status: '422' code: invalid_configuration id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d title: Validation Failed detail: 'The property ''/cluster/storage_size'' of type string did not match the following type: integer' source: pointer: /cluster/storage_size - status: '422' code: invalid_configuration id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d title: Validation Failed detail: 'The property ''/cluster/storage_size'' of type string did not match the following type: integer' source: pointer: /cluster/storage_size - status: '422' code: invalid_configuration id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d title: Validation Failed detail: 'The property ''/cluster/storage_size'' of type string did not match the following type: integer' source: pointer: /cluster/storage_size - status: '422' code: invalid_configuration id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d title: Validation Failed detail: 'The property ''/cluster/storage_size'' of type string did not match the following type: integer' source: pointer: /cluster/storage_size - status: '422' code: invalid_configuration id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d title: Validation Failed detail: 'The property ''/cluster/storage_size'' of type string did not match the following type: integer' source: pointer: /cluster/storage_size - status: '422' code: invalid_configuration id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d title: Validation Failed detail: 'The property ''/cluster/storage_size'' of type string did not match the following type: integer' source: pointer: /cluster/storage_size - status: '422' code: invalid_configuration id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d title: Validation Failed detail: 'The property ''/cluster/storage_size'' of type string did not match the following type: integer' source: pointer: /cluster/storage_size - status: '422' code: invalid_configuration id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d title: Validation Failed detail: 'The property ''/cluster/storage_size'' of type string did not match the following type: integer' source: pointer: /cluster/storage_size - status: '422' code: invalid_configuration id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d title: Validation Failed detail: 'The property ''/cluster/storage_size'' of type string did not match the following type: integer' source: pointer: /cluster/storage_size - status: '422' code: invalid_configuration id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d title: Validation Failed detail: 'The property ''/cluster/storage_size'' of type string did not match the following type: integer' source: pointer: /cluster/storage_size - status: '422' code: invalid_configuration id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d title: Validation Failed detail: 'The property ''/cluster/storage_size'' of type string did not match the following type: integer' source: pointer: /cluster/storage_size - status: '422' code: invalid_configuration id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d title: Validation Failed detail: 'The property ''/cluster/storage_size'' of type string did not match the following type: integer' source: pointer: /cluster/storage_size - status: '422' code: invalid_configuration id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d title: Validation Failed detail: 'The property ''/cluster/storage_size'' of type string did not match the following type: integer' source: pointer: /cluster/storage_size - status: '422' code: invalid_configuration id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d title: Validation Failed detail: 'The property ''/cluster/storage_size'' of type string did not match the following type: integer' source: pointer: /cluster/storage_size - status: '422' code: invalid_configuration id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d title: Validation Failed detail: 'The property ''/cluster/storage_size'' of type string did not match the following type: integer' source: pointer: /cluster/storage_size - status: '422' code: invalid_configuration id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d title: Validation Failed detail: 'The property ''/cluster/storage_size'' of type string did not match the following type: integer' source: pointer: /cluster/storage_size - status: '422' code: invalid_configuration id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d title: Validation Failed detail: 'The property ''/cluster/storage_size'' of type string did not match the following type: integer' source: pointer: /cluster/storage_size - status: '422' code: invalid_configuration id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d title: Validation Failed detail: 'The property ''/cluster/storage_size'' of type string did not match the following type: integer' source: pointer: /cluster/storage_size - status: '422' code: invalid_configuration id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d title: Validation Failed detail: 'The property ''/cluster/storage_size'' of type string did not match the following type: integer' source: pointer: /cluster/storage_size - status: '422' code: invalid_configuration id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d title: Validation Failed detail: 'The property ''/cluster/storage_size'' of type string did not match the following type: integer' source: pointer: /cluster/storage_size - status: '422' code: invalid_configuration id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d title: Validation Failed detail: 'The property ''/cluster/storage_size'' of type string did not match the following type: integer' source: pointer: /cluster/storage_size - status: '422' code: invalid_configuration id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d title: Validation Failed detail: 'The property ''/cluster/storage_size'' of type string did not match the following type: integer' source: pointer: /cluster/storage_size - status: '422' code: invalid_configuration id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d title: Validation Failed detail: 'The property ''/cluster/storage_size'' of type string did not match the following type: integer' source: pointer: /cluster/storage_size - status: '422' code: invalid_configuration id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d title: Validation Failed detail: 'The property ''/cluster/storage_size'' of type string did not match the following type: integer' source: pointer: /cluster/storage_size - status: '422' code: invalid_configuration id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d title: Validation Failed detail: 'The property ''/cluster/storage_size'' of type string did not match the following type: integer' source: pointer: /cluster/storage_size - status: '422' code: invalid_configuration id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d title: Validation Failed detail: 'The property ''/cluster/storage_size'' of type string did not match the following type: integer' source: pointer: /cluster/storage_size - status: '422' code: invalid_configuration id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d title: Validation Failed detail: 'The property ''/cluster/storage_size'' of type string did not match the following type: integer' source: pointer: /cluster/storage_size - status: '422' code: invalid_configuration id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d title: Validation Failed detail: 'The property ''/cluster/storage_size'' of type string did not match the following type: integer' source: pointer: /cluster/storage_size - status: '422' code: invalid_configuration id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d title: Validation Failed detail: 'The property ''/cluster/storage_size'' of type string did not match the following type: integer' source: pointer: /cluster/storage_size - status: '422' code: invalid_configuration id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d title: Validation Failed detail: 'The property ''/cluster/storage_size'' of type string did not match the following type: integer' source: pointer: /cluster/storage_size - status: '422' code: invalid_configuration id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d title: Validation Failed detail: 'The property ''/cluster/storage_size'' of type string did not match the following type: integer' source: pointer: /cluster/storage_size - status: '422' code: invalid_configuration id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d title: Validation Failed detail: 'The property ''/cluster/storage_size'' of type string did not match the following type: integer' source: pointer: /cluster/storage_size - status: '422' code: invalid_configuration id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d title: Validation Failed detail: 'The property ''/cluster/storage_size'' of type string did not match the following type: integer' source: pointer: /cluster/storage_size - status: '422' code: invalid_configuration id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d title: Validation Failed detail: 'The property ''/cluster/storage_size'' of type string did not match the following type: integer' source: pointer: /cluster/storage_size - status: '422' code: invalid_configuration id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d title: Validation Failed detail: 'The property ''/cluster/storage_size'' of type string did not match the following type: integer' source: pointer: /cluster/storage_size BadRequestError: description: Bad Request headers: X-Request-Id: schema: type: string description: The unique identifier for the API request. content: application/json: schema: $ref: '#/components/schemas/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 RateLimitError: 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. securitySchemes: cloud-api-key: type: http scheme: basic description: Authenticate with Cloud API Keys using HTTP Basic Auth. Treat the Cloud API Key ID as the username and Cloud API Key Secret as the password. confluent-sts-access-token: type: oauth2 description: Authenticate with Confluent API using this credentials (JSON Web Tokens) following OAuth 2.0. flows: clientCredentials: tokenUrl: https://api.confluent.cloud/sts/v1/oauth2/token scopes: {} global-api-key: type: http scheme: basic description: Authenticate with Global API Keys using HTTP Basic Auth. Treat the Global API Key ID as the username and Global API Key Secret as the password. resource-api-key: type: http scheme: basic description: Authenticate with resource-specific API Keys using HTTP Basic Auth. Treat the resource-specific API Key ID as the username and resource-specific API Key Secret as the password. external-access-token: type: oauth2 description: Authenticate with Confluent API using this credentials (JSON Web Tokens) following OAuth 2.0. flows: clientCredentials: tokenUrl: https://api.confluent.cloud/sts/v1/oauth2/token scopes: {} oauth: type: oauth2 description: Authenticate with OAuth 2.0. Currently this is only supported for partner APIs. flows: clientCredentials: tokenUrl: /oauth2/token scopes: partner:alter: enables partners to alter entitlements partner:create: enables partners to create entitlements and signup on behalf of customers partner:delete: enables partners to delete entitlements and organizations partner:describe: enables partners to read and list entitlements and organizations x-tagGroups: - name: Identity Access Management (v2) tags: - API Keys (iam/v2) - Users (iam/v2) - Service Accounts (iam/v2) - Invitations (iam/v2) - IP Groups (iam/v2) - IP Filters (iam/v2) - IP Filter Summaries (iam/v2) - Role Bindings (iam/v2) - Identity Providers (iam/v2) - Jwks (iam/v2) - Identity Pools (iam/v2) - Group Mappings (iam/v2/sso) - Certificate Authorities (iam/v2) - Certificate Identity Pools (iam/v2) - name: Org API (v2) tags: - Environments (org/v2) - Organizations (org/v2) - name: Notifications API (v1) tags: - Subscriptions (notifications/v1) - Integrations (notifications/v1) - Notification Types (notifications/v1) - Resource Preferences (notifications/v1) - Resource Subscriptions (notifications/v1) - User Notifications (notifications/v1) - name: Cluster Mgmt for Kafka (v2) tags: - Clusters (cmk/v2) - name: Cluster Mgmt for ksqlDB (v2) tags: - Clusters (ksqldbcm/v2) - name: Connect API (v1) tags: - Connectors (connect/v1) - Lifecycle (connect/v1) - Status (connect/v1) - Managed Connector Plugins (connect/v1) - Offsets (connect/v1) - Custom Connector Plugins (connect/v1) - Presigned Urls (connect/v1) - Custom Connector Runtimes (connect/v1) - name: Connect Artifact Management (v1) tags: - Connect Artifacts (cam/v1) - Presigned Urls (cam/v1) - name: Kafka API (v3) tags: - Cluster (v3) - Configs (v3) - ACL (v3) - Consumer Group (v3) - Partition (v3) - Topic (v3) - Records (v3) - Cluster Linking (v3) - Share Group (v3) - Streams Group (v3) - name: Service Quota API (v1) tags: - Applied Quotas (service-quota/v1) - Scopes (service-quota/v1) - name: Partner API (v2) tags: - Entitlements (partner/v2) - Organizations (partner/v2) - Signup (partner/v2) - name: Cluster Mgmt for Schema Registry (v2) tags: - Regions (srcm/v2) - Clusters (srcm/v2) - name: Cluster Mgmt for Schema Registry (v3) tags: - Clusters (srcm/v3) - name: Schema Registry API (v1) tags: - Compatibility (v1) - Config (v1) - Contexts (v1) - Exporters (v1) - Modes (v1) - Schemas (v1) - Subjects (v1) - Key Encryption Keys (v1) - Data Encryption Keys (v1) - name: Catalog API (v1) tags: - Entity (v1) - Search (v1) - Types (v1) - name: Stream Sharing API (v1) tags: - Provider Shared Resources (cdx/v1) - Provider Shares (cdx/v1) - Consumer Shared Resources (cdx/v1) - Consumer Shares (cdx/v1) - Shared Tokens (cdx/v1) - Opt Ins (cdx/v1) - name: Networking (v1) tags: - Networks (networking/v1) - Peerings (networking/v1) - Transit Gateway Attachments (networking/v1) - Private Link Accesses (networking/v1) - Network Link Services (networking/v1) - Network Link Endpoints (networking/v1) - Network Link Service Associations (networking/v1) - IP Addresses (networking/v1) - Private Link Attachments (networking/v1) - Private Link Attachment Connections (networking/v1) - DNS Forwarders (networking/v1) - Access Points (networking/v1) - DNS Records (networking/v1) - Gateways (networking/v1) - name: Security Token Service (v1) tags: - OAuth Tokens (sts/v1) - name: Kafka Quota (v1) tags: - Client Quotas (kafka-quotas/v1) - name: Bring Your Own Key (BYOK) Management (v1) tags: - Keys (byok/v1) - name: Billing API (v1) tags: - Costs (billing/v1) - name: Compute Pool Mgmt for Flink (v2) tags: - Compute Pools (fcpm/v2) - Regions (fcpm/v2) - Org Compute Pool Configs (fcpm/v2) - name: SQL API (v1) tags: - Statements (sql/v1) - Statement Results (sql/v1) - Statement Exceptions (sql/v1) - Connections (sql/v1) - Agents (sql/v1) - Tools (sql/v1) - Materialized Tables (sql/v1) - Materialized Table Versions (sql/v1) - name: Provider Integration Management (v1) tags: - Integrations (pim/v1) - name: Provider Integration Management (v2) tags: - Integrations (pim/v2) - name: Artifact API (v1) tags: - Flink Artifacts (artifact/v1) - Presigned Urls (artifact/v1) - Flink Artifact Versions (artifact/v1) - name: Custom Code Logging API (v1) tags: - Custom Code Loggings (ccl/v1) - name: Tableflow (v1) tags: - Regions (tableflow/v1) - Tableflow Topics (tableflow/v1) - Catalog Integrations (tableflow/v1) - name: Custom Connect Plugin Management (v1) tags: - Custom Connect Plugins (ccpm/v1) - Presigned Urls (ccpm/v1) - Custom Connect Plugin Versions (ccpm/v1) - name: Unified Stream Manager (v1) tags: - Kafka Clusters (usm/v1) - Connect Clusters (usm/v1) - name: Endpoint (v1) tags: - Endpoints (endpoint/v1) - name: Real Time Context Engine (v1) tags: - Rtce Topics (rtce/v1) - Regions (rtce/v1) - name: Analytics (v1alpha1) tags: - Statements (query/v1alpha1)