List of Integrations
GET/pim/v2/integrations
Retrieve a sorted, filtered, paginated list of all integrations.
If no provider filter is specified, returns provider integrations from all clouds.
Request
Responses
- 200
- 400
- 401
- 403
- 429
- 500
Integration.
Response Headers
The unique identifier for the API request.
The maximum number of requests you're permitted to make per time period.
The number of requests remaining in the current rate limit window.
The relative time in seconds until the current rate-limit window resets.
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.
Bad Request
Response Headers
The unique identifier for the API request.
The request lacks valid authentication credentials for this resource.
Response Headers
The unique identifier for the API request.
The unique identifier for the API request.
Basic error="invalid_key", error_description="The API Key is invalid"The access credentials were considered insufficient to grant access
Response Headers
The unique identifier for the API request.
Rate Limit Exceeded
Response Headers
The unique identifier for the API request.
The maximum number of requests you're permitted to make per time period.
The number of requests remaining in the current rate limit window.
The relative time in seconds until the current rate-limit window resets.
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.
The number of seconds to wait until the rate limit window resets. Only sent when the rate limit is reached.
Oops, something went wrong!
Response Headers
The unique identifier for the API request.
OpenAPI definition (YAML)
paths:
/pim/v2/integrations:
get:
x-lifecycle-stage: Early Access
x-self-access: false
x-request-access-name: Provider Integration
operationId: listPimV2Integrations
description: '[](#section/Versioning/API-Lifecycle-Policy)
[](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:
description: Filter a collection by a string search
type: string
title: SearchFilter
example: bigquery_provider_integration
description: Filter the results by a partial search of display_name.
- name: provider
in: query
required: false
schema:
description: Filter a collection by a string search
type: string
title: SearchFilter
example: GCP
description: Filter the results by exact match for provider.
- name: status
in: query
required: false
schema:
description: Filter a collection by a string search
type: string
title: SearchFilter
example: CREATED
description: Filter the results by exact match for status.
- name: environment
in: query
required: true
schema:
description: Filter a collection by a string search
type: string
title: 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:
- 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
<SchemaDefinition schemaRef="#/components/schemas/pim.v2.Integration" />'
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:
- 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
format: uri
nullable: true
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
format: uri
nullable: true
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
format: uri
nullable: true
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
format: uri
nullable: true
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
title: 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:
- 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
<SchemaDefinition schemaRef="#/components/schemas/pim.v2.Integration" />'
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-immutable: true
enum:
- GCP
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:
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
enum:
- GcpIntegrationConfig
required:
- kind
title: pim.v2.GcpIntegrationConfig
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
enum:
- AzureIntegrationConfig
required:
- kind
title: pim.v2.AzureIntegrationConfig
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
enum:
- AwsIntegrationConfig
required:
- kind
title: pim.v2.AwsIntegrationConfig
oneOf:
- 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
enum:
- GcpIntegrationConfig
required:
- kind
title: pim.v2.GcpIntegrationConfig
- 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
enum:
- AzureIntegrationConfig
required:
- kind
title: pim.v2.AzureIntegrationConfig
- 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
enum:
- AwsIntegrationConfig
required:
- kind
title: 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
readOnly: true
enum:
- DRAFT
- CREATED
- ACTIVE
environment:
allOf:
- type: object
description: ObjectReference provides information for you to locate the
referred object
required:
- id
- related
- resource_name
properties:
id:
type: string
description: ID of the referred resource
minLength: 1
maxLength: 255
environment:
type: string
description: Environment of the referred resource, if env-scoped
minLength: 1
maxLength: 255
related:
type: string
format: uri
description: API URL for accessing or modifying the referred object
minLength: 1
readOnly: true
resource_name:
type: string
format: uri
description: CRN reference to the referred resource
minLength: 1
readOnly: true
api_version:
type: string
description: API group and version of the referred resource
minLength: 1
readOnly: true
kind:
type: string
description: Kind of the referred resource
minLength: 1
readOnly: true
title: ObjectReference
description: The environment to which this belongs.
title: pim.v2.Integration
- type: object
required:
- id
- status
- environment
uniqueItems: true
title: 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':
description: Bad Request
headers:
X-Request-Id:
schema:
type: string
description: The unique identifier for the API request.
content:
application/json:
schema:
type: object
description: Provides information about problems encountered while performing an operation.
required:
- errors
properties:
errors:
description: List of errors which caused this operation to fail
type: array
items:
type: object
description: Describes a particular error encountered while performing an operation.
properties:
id:
description: A unique identifier for this particular occurrence of the problem.
type: string
maxLength: 255
status:
description: The HTTP status code applicable to this problem, expressed as a
string value.
type: string
code:
description: An application-specific error code, expressed as a string value.
type: string
title:
description: A short, human-readable summary of the problem. It **SHOULD NOT**
change from occurrence to occurrence of the problem, except for purposes of
localization.
type: string
detail:
description: A human-readable explanation specific to this occurrence of the
problem.
type: string
source:
type: object
description: If this error was caused by a particular part of the API request,
the source will point to the query string parameter or request body property
that caused it.
properties:
pointer:
description: A JSON Pointer [RFC6901] to the associated entity in the request
document [e.g. "/spec" for a spec object, or "/spec/title" for a specific
field].
type: string
parameter:
description: A string indicating which query parameter caused the error.
type: string
error_code:
type: integer
format: int32
message:
type: string
nullable: true
additionalProperties: false
title: Error
uniqueItems: true
title: Failure
example:
errors:
- id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d
status: '400'
code: invalid_filter
title: Invalid Filter
detail: The 'delorean' resource can't be filtered by 'num_doors'
source:
parameter: num_doors
'401':
x-summary: Unauthorized
description: The request lacks valid authentication credentials for this resource.
headers:
X-Request-Id:
schema:
type: string
description: The unique identifier for the API request.
WWW-Authenticate:
schema:
type: string
description: The unique identifier for the API request.
example: Basic error="invalid_key", error_description="The API Key is invalid"
content:
application/json:
schema:
type: object
description: Provides information about problems encountered while performing an operation.
required:
- errors
properties:
errors:
description: List of errors which caused this operation to fail
type: array
items:
type: object
description: Describes a particular error encountered while performing an operation.
properties:
id:
description: A unique identifier for this particular occurrence of the problem.
type: string
maxLength: 255
status:
description: The HTTP status code applicable to this problem, expressed as a
string value.
type: string
code:
description: An application-specific error code, expressed as a string value.
type: string
title:
description: A short, human-readable summary of the problem. It **SHOULD NOT**
change from occurrence to occurrence of the problem, except for purposes of
localization.
type: string
detail:
description: A human-readable explanation specific to this occurrence of the
problem.
type: string
source:
type: object
description: If this error was caused by a particular part of the API request,
the source will point to the query string parameter or request body property
that caused it.
properties:
pointer:
description: A JSON Pointer [RFC6901] to the associated entity in the request
document [e.g. "/spec" for a spec object, or "/spec/title" for a specific
field].
type: string
parameter:
description: A string indicating which query parameter caused the error.
type: string
error_code:
type: integer
format: int32
message:
type: string
nullable: true
additionalProperties: false
title: Error
uniqueItems: true
title: Failure
example:
errors:
- id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d
status: '401'
code: user_unauthenticated
title: Authentication Required
detail: Valid authentication credentials must be provided
'403':
x-summary: Forbidden
description: The access credentials were considered insufficient to grant access
headers:
X-Request-Id:
schema:
type: string
description: The unique identifier for the API request.
content:
application/json:
schema:
type: object
description: Provides information about problems encountered while performing an operation.
required:
- errors
properties:
errors:
description: List of errors which caused this operation to fail
type: array
items:
type: object
description: Describes a particular error encountered while performing an operation.
properties:
id:
description: A unique identifier for this particular occurrence of the problem.
type: string
maxLength: 255
status:
description: The HTTP status code applicable to this problem, expressed as a
string value.
type: string
code:
description: An application-specific error code, expressed as a string value.
type: string
title:
description: A short, human-readable summary of the problem. It **SHOULD NOT**
change from occurrence to occurrence of the problem, except for purposes of
localization.
type: string
detail:
description: A human-readable explanation specific to this occurrence of the
problem.
type: string
source:
type: object
description: If this error was caused by a particular part of the API request,
the source will point to the query string parameter or request body property
that caused it.
properties:
pointer:
description: A JSON Pointer [RFC6901] to the associated entity in the request
document [e.g. "/spec" for a spec object, or "/spec/title" for a specific
field].
type: string
parameter:
description: A string indicating which query parameter caused the error.
type: string
error_code:
type: integer
format: int32
message:
type: string
nullable: true
additionalProperties: false
title: Error
uniqueItems: true
title: Failure
example:
errors:
- id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d
status: '403'
code: user_unauthorized
title: User Access Unauthorized
detail: The user 'mcfly' is not allowed to access the 'delorean' resource without the
'plutonium' role.
'429':
description: Rate Limit Exceeded
headers:
X-Request-Id:
schema:
type: string
description: The unique identifier for the API request.
X-RateLimit-Limit:
schema:
type: integer
description: The maximum number of requests you're permitted to make per time period.
X-RateLimit-Remaining:
schema:
type: integer
description: The number of requests remaining in the current rate limit window.
X-RateLimit-Reset:
schema:
type: integer
description: "The relative time in seconds until the current rate-limit window resets. \
\ \n \n**Important:** This differs from Github and Twitter's same-named header which\
\ uses UTC epoch seconds. We use relative time to avoid client/server time synchronization\
\ issues."
Retry-After:
schema:
type: integer
description: The number of seconds to wait until the rate limit window resets. Only sent
when the rate limit is reached.
'500':
description: Oops, something went wrong!
headers:
X-Request-Id:
schema:
type: string
description: The unique identifier for the API request.
content:
application/json:
schema:
type: object
description: Provides information about problems encountered while performing an operation.
required:
- errors
properties:
errors:
description: List of errors which caused this operation to fail
type: array
items:
type: object
description: Describes a particular error encountered while performing an operation.
properties:
id:
description: A unique identifier for this particular occurrence of the problem.
type: string
maxLength: 255
status:
description: The HTTP status code applicable to this problem, expressed as a
string value.
type: string
code:
description: An application-specific error code, expressed as a string value.
type: string
title:
description: A short, human-readable summary of the problem. It **SHOULD NOT**
change from occurrence to occurrence of the problem, except for purposes of
localization.
type: string
detail:
description: A human-readable explanation specific to this occurrence of the
problem.
type: string
source:
type: object
description: If this error was caused by a particular part of the API request,
the source will point to the query string parameter or request body property
that caused it.
properties:
pointer:
description: A JSON Pointer [RFC6901] to the associated entity in the request
document [e.g. "/spec" for a spec object, or "/spec/title" for a specific
field].
type: string
parameter:
description: A string indicating which query parameter caused the error.
type: string
error_code:
type: integer
format: int32
message:
type: string
nullable: true
additionalProperties: false
title: Error
uniqueItems: true
title: Failure
example:
errors:
- id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d
status: '500'
code: out_of_gas
title: DeLorean Out Of Gas
detail: The DeLorean has run out of gas, but Doc Brown will fill 'er up for you asap
servers:
- url: https://api.confluent.cloud
description: Confluent Cloud API