Create or Update a Connector Configuration
PUT/connect/v1/environments/:environment_id/clusters/:kafka_cluster_id/connectors/:connector_name/config
Create a new connector using the given configuration, or update the configuration for an existing connector. Returns information about the connector after the change has been made.
Request
Responses
- 200
- 400
- 401
- 404
- 429
- 500
Created
Bad Request
Unauthorized
Not Found
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.
Internal Server Error
OpenAPI definition (YAML)
paths:
/connect/v1/environments/{environment_id}/clusters/{kafka_cluster_id}/connectors/{connector_name}/config:
put:
x-lifecycle-stage: General Availability
operationId: createOrUpdateConnectv1ConnectorConfig
description: Create a new connector using the given configuration, or update the configuration for
an existing connector. Returns information about the connector after the change has been made.
tags:
- Connectors (connect/v1)
security:
- cloud-api-key: []
- confluent-sts-access-token: []
requestBody:
content:
application/json:
schema:
type: object
description: Configuration parameters for the connector.
required:
- connector.class
- name
- kafka.api.key
- kafka.api.secret
properties:
connector.class:
type: string
description: \[Required for Managed Connector, Ignored for Custom Connector\] The connector
class name. E.g. BigQuerySink, GcsSink, etc.
name:
type: string
description: Name or alias of the class (plugin) for this connector.
kafka.api.key:
type: string
description: The kafka cluster api key.
kafka.api.secret:
type: string
description: The kafka cluster api secret key.
x-redact: true
confluent.connector.type:
type: string
description: '\[Required for Custom Connector\] The connector type.
'
example: CUSTOM
default: MANAGED
enum:
- CUSTOM
- MANAGED
confluent.custom.plugin.id:
type: string
example: ccp-lq5m06
description: '\[Required for Custom Connector\] The custom plugin id of custom connector,
e.g., `ccp-lq5m06`
'
confluent.custom.connection.endpoints:
type: string
description: '\[Optional for Custom Connector\] Egress endpoint(s) for the connector
to use when attaching to the sink or source data system.
'
confluent.custom.schema.registry.auto:
type: string
description: '\[Optional for Custom Connector\] Automatically add the required schema
registry properties in a custom connector config if schema registry is enabled.
'
example: 'FALSE'
default: 'FALSE'
enum:
- 'TRUE'
- 'FALSE'
confluent.custom.connect.plugin.runtime:
type: string
description: '\[Optional for Custom Connector\] The runtime of the custom connector
plugin. By default this is the latest version available. If not provided this config
is updated internally to reflect the version used.
'
example: 3.9.0
confluent.custom.connect.java.version:
type: string
description: '\[Optional for Custom Connector\] The Java version of the custom connector
plugin. By default this is the latest version supported by the latest runtime. If
not provided this config is updated internally to reflect the version used.
'
example: '17'
additionalProperties:
type: string
description: Other configuration parameters for the connector. All values should be strings.
See the connector's docs for details.
example:
connector.class: GcsSink
data.format: BYTES
flush.size: '1000'
gcs.bucket.name: APILogsBucket
gcs.credentials.config: '****************'
kafka.api.key: '****************'
kafka.api.secret: '****************'
name: MyGcsLogsBucketConnector
tasks.max: '2'
time.interval: DAILY
topics: APILogsTopic
description: Configuration parameters for the connector. All values should be strings.
responses:
'200':
description: Created
content:
application/json:
schema:
type: object
properties:
name:
type: string
description: Name of the connector
config:
type: object
description: 'Configuration parameters for the connector. These configurations
are the minimum set of key-value pairs (KVP) which can be used to
define how the connector connects Kafka to the external system.
Some of these KVPs are common to all the connectors, such as
connection parameters to Kafka, connector metadata, etc. The list
of common connector configurations is as follows
- cloud.environment
- cloud.provider
- connector.class
- kafka.api.key
- kafka.api.secret
- kafka.endpoint
- kafka.region
- name
A specific connector such as `GcsSink` would have additional
parameters such as `gcs.bucket.name`, `flush.size`, etc.'
required:
- cloud.environment
- cloud.provider
- connector.class
- name
- kafka.endpoint
- kafka.region
- kafka.api.key
- kafka.api.secret
properties:
cloud.environment:
type: string
description: The cloud environment type.
cloud.provider:
type: string
description: The cloud service provider, e.g. aws, azure, etc.
enum:
- aws
- azure
- gcp
connector.class:
type: string
description: The connector class name. E.g. BigQuerySink, GcsSink, etc.
name:
type: string
description: Name or alias of the class (plugin) for this connector.
kafka.endpoint:
type: string
description: The kafka cluster endpoint.
kafka.region:
type: string
description: The kafka cluster region.
kafka.api.key:
type: string
description: The kafka cluster api key.
kafka.api.secret:
type: string
description: The kafka cluster api secret key.
x-redact: true
additionalProperties:
type: string
tasks:
type: array
description: List of active tasks generated by the connector
items:
type: object
properties:
connector:
type: string
description: The name of the connector the task belongs to
task:
type: integer
description: Task ID within the connector
required:
- connector
- task
type:
type: string
description: Type of connector, sink or source
enum:
- sink
- source
required:
- name
- config
title: connect.v1.Connector
example:
name: MyGcsLogsBucketConnector
config:
cloud.environment: prod
cloud.provider: aws
connector.class: GcsSink
data.format: BYTES
flush.size: '1000'
gcs.bucket.name: APILogsBucket
gcs.credentials.config: '****************'
kafka.api.key: '****************'
kafka.api.secret: '****************'
kafka.endpoint: SASL_SSL://pkc-xxxxx.us-west-2.aws.confluent.cloud:9092
kafka.region: us-west-2
name: MyGcsLogsBucketConnector
tasks.max: '2'
time.interval: DAILY
topics: APILogsTopic
tasks:
- connector: MyGcsLogsBucketConnector
task: 0
- connector: MyGcsLogsBucketConnector
task: 1
type: sink
'400':
description: Bad Request
content:
application/json:
schema:
type: object
properties:
error:
type: object
description: Connector Error with error code and message.
properties:
code:
type: integer
description: Error code for the type of error
message:
type: string
description: Human readable error message
title: connect.v1.ConnectorError
example:
error:
code: 400
message: Bad Request
'401':
description: Unauthorized
content:
application/json:
schema:
type: object
properties:
error:
type: object
description: Connector Error with error code and message.
properties:
code:
type: integer
description: Error code for the type of error
message:
type: string
description: Human readable error message
title: connect.v1.ConnectorError
example:
error:
code: 401
message: Unauthorized
'404':
description: Not Found
content:
application/json:
schema:
type: object
properties:
error:
type: object
description: Connector Error with error code and message.
properties:
code:
type: integer
description: Error code for the type of error
message:
type: string
description: Human readable error message
title: connect.v1.ConnectorError
example:
error:
code: 404
message: account not found
'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: Internal Server Error
content:
application/json:
schema:
type: object
properties:
error_code:
type: integer
message:
type: string
example:
error_code: 500
message: Failed to find any class that implements Connector and which name matches io.confluent.connect.<connector-class>...
parameters:
- name: connector_name
in: path
schema:
type: string
required: true
description: The unique name of the connector.
- name: environment_id
in: path
schema:
type: string
required: true
description: The unique identifier of the environment this resource belongs to.
- name: kafka_cluster_id
in: path
schema:
type: string
required: true
description: The unique identifier for the Kafka cluster.
servers:
- url: https://api.confluent.cloud
description: Confluent Cloud API
jsonRequestBodyExample:
connector.class: string
name: string
kafka.api.key: string
kafka.api.secret: string
confluent.connector.type: CUSTOM
confluent.custom.plugin.id: ccp-lq5m06
confluent.custom.connection.endpoints: string
confluent.custom.schema.registry.auto: 'FALSE'
confluent.custom.connect.plugin.runtime: 3.9.0
confluent.custom.connect.java.version: '17'