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: ' 
`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: ' 
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: ' 
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: ' 
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: ' 
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: ' 
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: ' 
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)