Note
This documents the collection of Confluent Cloud APIs. Each API documents its lifecycle phase. APIs marked as Early Access or Preview are not ready for production usage. We're currently working with a select group of customers to get feedback and iterate on these APIs.Confluent Cloud APIs are a core building block of Confluent Cloud. You can use the APIs to manage your own account or to integrate Confluent into your product.
Most of the APIs are organized around REST and the resources which make up Confluent Cloud. The APIs have predictable resource-oriented URLs, transport data using JSON, and use standard HTTP verbs, response codes, authentication, and design principles.
Note
This section describes the object model for many Confluent Cloud APIs, but not all. The Connect v1 API group has a different object model. Please review the example request and response bodies in the Connect v1 API documentation below to see its object model.Confluent Cloud APIs are primarily designed to be declarative and intent-oriented. In other words, tell the API what you want (e.g., throughput or SLOs) and it will figure out how to make it happen (e.g., cluster sizing). A Confluent object acts as a "record of intent" — after you create the object, Confluent Cloud will work tirelessly in the background to ensure that the object exists as specified.
Confluent APIs represent objects in JSON with media-type application/json
.
Many objects follow a model consisting of spec
and status
. An object's spec
tells
Confluent the desired state (specification) of the resource. The object may not be
immediately available or changes may not be immediately applied. For this reason,
many objects also have a status
property that provides info about the
current state of the resource. Confluent Cloud is continuously and actively managing
each resource's current state to match it's desired state.
All Confluent objects share a set of common properties:
api_version
field indicating their API version.kind
field indicating the kind of object it is.id
field,
and should be treated as an opaque string unless otherwise specified.There are a number of other standard properties and that you'll encounter used by many API objects. And of course, objects have plenty of non-standard fields that are specific to each object kind... this is what makes them interesting!
Confluent uses API keys for integrating with Confluent Cloud. Integrations must be authorized and authenticated before they can access or manage resources in Confluent Cloud. You can manage your API keys in the Confluent Cloud Dashboard or Confluent Cloud CLI. See the docs for details on creating and managing API keys.
Today, you can divide API keys into two classes:
An API key is owned by a User or Service Account and inherits the permissions granted to the owner.
Armageddon
is granted ACLs on Kafka Cluster neptune
,
then a Cluster API Key for neptune
owned by Armageddon
will have these ACLs.Your API keys carry many privileges, so be sure to keep them secure! Do not share your API keys in publicly accessible areas such as GitHub, client-side code, and so forth.
All API requests must be made over HTTPS. Calls made over plain HTTP will fail. API requests without authentication will also fail.
To use your API key, send it as an Authorization: Basic {key}
header. Remember that HTTP
Basic authorization requires you to colon-separate and base64 encode your key. For example,
if your API Key ID is ABCDEFGH123456789
and the corresponding API Key Secret is
XNCIW93I2L1SQPJSJ823K1LS902KLDFMCZPWEO
, then the authorization header will be
Authorization: Basic QUJDREVGR0gxMjM0NTY3ODk6WE5DSVc5M0kyTDFTUVBKU0o4MjNLMUxTOTAyS0xERk1DWlBXRU8=
This example header can be generated from the API key (on Mac OS X) with
$ echo -n "ABCDEFGH123456789:XNCIW93I2L1SQPJSJ823K1LS902KLDFMCZPWEO" | base64
Authenticate with OAuth 2.0. Currently this is only supported for partner APIs.
Security Scheme Type | OAuth2 |
---|---|
clientCredentials OAuth Flow | Token URL: /oauth2/token Scopes:
|
Note
This section describes the structure of error responses for many Confluent Cloud APIs, but not all. The Connect v1 API group has a different set of structures for error responses. Please review the example request and response bodies in the Connect v1 API documentation below to see its error behaviour.Confluent uses conventional HTTP status codes to indicate the success or failure of an API request.
Failures follow a standard model to tell you about what went wrong. They may include one or more error objects with the following fields:
Field | Type | Description |
---|---|---|
id* | UUID | A unique identifier for this particular occurrence of the problem. |
status | String | The HTTP status code applicable to this problem. |
code | String | An application-specific error code. |
title | String | A short, human-readable summary of the problem that should not change from occurrence to occurrence of the problem, except for purposes of localization. |
detail* | String | A human-readable explanation specific to this occurrence of the problem. Like title, this field’s value can be localized. |
source | Object | An object that references the source of the error, and optionally includes any of the following members: |
pointer | String | A JSON Pointer to the associated entity in the request document (e.g. "/spec/title" for a specific attribute). |
parameter | String | A string indicating which URI query parameter caused the error. |
meta | Object | A meta object that contains non-standard meta-information about the error. |
resolution | String | Instructions for the end-user for correcting the error. |
* indicates a required field
All errors include an id
and some detail
message. The id
is a unique identifier — use it
when you're working with Confluent support to debug a problem with a specific API call. The
detail
describes what went wrong.
Some errors that could be handled programmatically (e.g., a Kafka cluster config is invalid)
may include an error code
that briefly explains the error reported.
Validation issues and similar errors include a source
which tells you exactly
what in the request was responsible for the error.
For example, a failure may look like
{
"errors": [{
"status": "422",
"code": "invalid_configuration",
"id": "30ce6058-87da-11e4-b116-123b93f75cba",
"title": "The Kafka cluster configuration is invalid",
"detail": "The property '/cluster/storage_size' of type string did not match the following type: integer",
"source": {
"pointer": "/cluster/storage_size"
}
}]
}
If a request fails validation, it will return an HTTP 422 Unprocessable Entity
with a list of fields that failed validation.
Note
This section describes the pagination behavior of “list” operations for many Confluent Cloud APIs, but not all. The Connect v1 API list operations do not support pagination.All API resources have support for bulk reads via "list" API operations. For example, you can "list Kafka clusters", "list api keys", and "list environments". These "list" operations require pagination; by requesting smaller subsets of data, API clients receive a response much faster than requesting the entire, potentially large, data set.
All "list" operations follow the same pattern with the following parameters:
page_size
– client-provided max number of items per page, only valid on the first request.page_token
– server-generated token used for traversing through the result set.A paginated response may include any of the following pagination links. API clients may follow the respective link to page forward or backward through the result set as desired.
Link Relation | Description |
---|---|
next |
A link to the next page of results. A response that does not contain a next link does not have further data to fetch. |
prev |
A link to the previous page of results. A response that does not contain a prev link has no previous data. This link is optional for collections that cannot be traversed backward. |
first |
A link to the first page of results. This link is optional for collections that cannot be indexed directly to a given page. |
last |
A link to the last page of results. This link is optional for collections that cannot be indexed directly to a given page. |
API clients must treat pagination links and the page_token
parameter in particular as an opaque string.
An example paginated list response may look like
{
"api_version": "v2",
"kind": "KafkaClusterList",
"metadata": {
"next": "https://api.confluent.cloud/kafka-clusters?page_token=ABCDEFGHIJKLMNOP1234567890"
}
"data": [
{
"metadata": {
"id": "lkc-abc123",
"self": "https://api.confluent.cloud/kafka-clusters/lkc-abc123",
"resource_name": "crn://confluent.cloud/kafka=lkc-abc123",
}
"spec": {
"display_name": "My Kafka Cluster",
<snip>
},
"status": {
"phase": "RUNNING",
<snip>
}
},
<snip>
]
}
To protect the stability of the API and keep it available to all users, Confluent employs multiple safeguards. If you send too many requests in quick succession or perform too many concurrent operations, you may be throttled or have your request rejected with an error.
When a rate limit is breached, an HTTP 429 Too Many Requests
error is returned.
Integrations should gracefully handle these limits by watching for 429
error responses and
building in a retry mechanism. This mechanism should follow a capped exponential backoff policy to
prevent retry amplification
("retry storms") and also introduce some randomness ("jitter") to avoid the
thundering herd effect.
If you’re running into this error and think you need a higher rate limit, contact Confluent at support@confluent.io.
Most resources have multiple identifiers:
id
is the "natural identifier" for an object. It is only unique within its parent resource.
The id
is unique across time: the ID will not be reclaimed and reused after an object is deleted.resource_name
is a Uniform Resource Identifier (URI) that is globally unique across all resources.
This encompasses all parent resource kind
s and id
s necessary to uniquely identify a particular
instance of this object kind
. Because it uses object id
s, the CRN will not be reclaimed and
reused after an object is deleted. It is represented as a Confluent Resource Name (see below). 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.To see how these relate to each other, consider KafkaBroker
with broker.id=2
in a KafkaCluster
in Confluent Cloud identified as lkc-xsi8201
. In such an example, the KafkaBroker
has id=2
,
the resource_name
is crn://confluent.cloud/kafka=lkc-xsi8201/broker=2
and the self
URL may be
something like https://pkc-8wlk2n.us-west-2.aws.confluent.cloud
. Note that different identifiers
carry different information for different purposes, but the resource_name
is the most complete
and canonical identifier.
Confluent Resource Names (CRNs) are used to uniquely identify all Confluent resources.
A CRN is a valid URI having an "authority" of confluent.cloud
or a self-managed
metadata service URL, followed by the minimal hierarchical set of key-value
pairs necessary to uniquely identify a resource.
Here are some examples for basic resources in Confluent Cloud:
Resource | Example CRN |
---|---|
Environment | crn://confluent.cloud/environment=e-xyz1234 |
User | crn://confluent.cloud/user=u-rst9876 |
API Key | crn://confluent.cloud/api-key=ABCDEFG9876543210 |
Service Account | crn://confluent.cloud/service-account=sa-lmn2468 |
Service Account Key | crn://confluent.cloud/service-account-key=HIJKLMN0123456789 |
Kafka Cluster | crn://confluent.cloud/kafka=lkc-abc123 |
Data Type | Representation |
---|---|
Integers | Each API may specify the type as int32 or int64 . Note that many languages, including JavaScript, are limited to a max size of approx 2**53 and don't correctly handle large int64 values with their default JSON parser. |
Dates | RFC 3339 formatted string. UTC timezones are assumed, unless otherwise given. |
Times | RFC 3339 formatted string. UTC timezones are assumed, unless otherwise given. |
Durations | RFC 3339 formatted string. |
Periods | RFC 3339 formatted string. UTC timezones are assumed, unless otherwise given. |
Ranges | All ranges are represented using half-open intervals with naming conventions like [start_XXX, end_XXX) such as [start_time, end_time) . |
Enums | Most APIs use x-extensible-enum as an open-ended list of values. This improves compatibility compared with a standard enum which by definition represents a closed set. All enums have a 0 -valued entry which either serves as the default for common cases, or represents UNSPECIFIED when no default exists and results in an error. |
Confluent uses this set of standard properties to ensure common concepts use the same name and semantics across different APIs.
Name | Description |
---|---|
api_version | Many API objects have an api_version field indicating their API version. See the Object Model. |
kind | Many API objects have a kind field indicating the kind of object it is. See the Object Model. |
id | Many objects in the API will have an identifier, indicated via its id field, and should be treated as an opaque string unless otherwise specified. See the Object Model. |
name | Objects which support a client-provided unique identifier instead of a generated id will indicate this identifier via its name field. |
display_name | The human-readable display name of an API object. |
title | The official name of an API object, such as a company name. It should be treated as the formal version of display_name . |
description | One or more paragraphs of text description of an entity. |
created_at | The date and time the object was created, represented as a string in RFC 3339 format. |
updated_at | The date and time the object was last modified, represented as a string in RFC 3339 format. |
deleted_at | If present, the date and time after which the object was/will be deleted, represented as a string in RFC 3339 format. |
page_token | The pagination token in the List request. See Pagination. |
page_size | The pagination size in the List request. See Pagination. |
total_size | The total count of items in the list irrespective of pagination. See Pagination. |
spec | The desired state specification of the resource, as observed by Confluent Cloud. |
status | The current state of the resource, as observed by Confluent Cloud. |
Confluent APIs ensure stability for your integrations by avoiding the introduction of breaking changes to customers unexpectedly. Confluent will make non-breaking API changes without advance notice. Thus, API clients must follow the Compatibility Policy below to ensure your ingtegration remains stable. All APIs follow the API Lifecycle Policy described below, which describes the guarantees API clients can rely on.
Breaking changes will be widely communicated in advance in accordance with the Confluent Deprecation Policy. Confluent will provide timelines and a migration path for all API changes, where available. Be sure to subscribe to one or more communication channels so you don't miss any updates!
One exception to these guidelines is for critical security issues. Confluent will take any necessary actions to mitigate any critical security issue as soon as possible, which may include disabling the vulnerable functionality until a proper solution is available.
Do not consume any Confluent API unless it is documented in the API Reference. All undocumented endpoints should be considered private, subject to change without notice, and not covered by any agreements.
Note: The version in the URL (e.g. "v1" or "v2") is not a "major version" in the Semantic Versioning sense. It is a "generational version" or "meta version", as seen in APIs like Github API or the Stripe API.
During the Early Access and Preview periods, we have a few known issues.
Issue | Description | Proposed Resolution |
---|---|---|
Quota Exceeded | Some "Quota Exceeded" errors will be returned as HTTP 400 instead of HTTP 402 | Return 402 consistently for "Quota Exceeded" errors |
The following status labels are applicable to APIs, features, and SDK versions, based on the current support status of each:
Resources, operations, and individual fields in the OpenAPI spec
will be annotated with x-lifecycle-stage
, x-deprecated-at
, and x-sunset-at
. These
annotations will appear in the corresponding API Reference Documentation. An API is
"Generally Available" unless explicitly marked otherwise.
Confluent Cloud APIs are governed by Confluent Cloud Upgrade Policy, which means that backward incompatible changes and deprecations will be made approximately once per year, and 180 days notice will be provided via email to all registered Confluent Cloud users.
An API version is backward compatible if a program written against the previous version of the API will continue to work the same way, without modification, against this version of the API.
Confluent considers the following changes to be backward compatible:
VARCHAR(255) COLLATE utf8_bin
column.lkc-
on Kafka cluster IDs).An API version is forward compatible if a program written against the next version of the API will continue to work the same way, without modification, against this version of the API.
In other words, a forward compatible API will accept input intended for a later version of itself.
Confluent does not guarantee the forward compatibility of the APIs, but Confluent does generally follow the guidelines given by the Robustness principle. This means that the API determines what to do with a request based only on the parts that it recognizes.
This is often referred to as the MUST IGNORE rule.
API clients must also follow the MUST IGNORE rule.
Additionally, there is a more subtle related rule called the MUST FORWARD rule. Any parts of a request that an API doesn't recognize must be forwarded unchanged.
PUT
requests in a read/modify/write operation.
(This isn't required for PATCH
partial updates, which is why Confluent APIs use PATCH
.)301
, 307
) instead of
directly returning the resource. Clients must handle HTTP-level redirects, and respect HTTP
headers (e.g. Location
).Confluent will announce deprecations at least 180 days in advance of a breaking change and will continue to maintain the deprecated APIs in their original form during this time.
Exceptions to this policy apply in case of critical security vulnerabilities or functional defects.
When a deprecation is announced, the details and any relevant migration information will be available on one or more of the following channels:
Confluent respects the meanings and behavior of HTTP status codes as defined in RFC2616 and elsewhere.
2xx
range indicate success3xx
range indicate redirection4xx
range indicate an error caused by the client request
(e.g., a required parameter was omitted, an invalid cluster configuration was provided, etc.)5xx
range indicate an error with Confluent's servers (these are rare)The various HTTP status codes that might be returned are listed below.
Code | Title | Description |
---|---|---|
200 | OK | Everything worked as expected. |
201 | Created | The resource was created. Follow the Location header. |
204 | No Content | Everything worked and there is no content to return. |
400 | Bad Request | The request was unacceptable, often due to malformed syntax, or a missing or malformed parameter. |
401 | Unauthorized | No valid credentials provided. or the credentials are unsuitable, invalid, or unauthorized. |
402 | Over Quota | The request was valid, but you've exceeded your plan quota or limits. |
404 | Not Found | The requested resource doesn't exist or you're unauthorized to know it exists. |
409 | Conflict | The request conflicts with another request (perhaps it already exists or was based on a stale version of data). |
422 | Validation Failed | The request was parsed correctly but failed some sort of validation. |
429 | Too Many Requests | Too many requests hit the API too quickly. Confluent recommends an exponential backoff of your requests. |
500, 502, 503, 504 | Server Errors | Something went wrong on Confluent's end. (These are rare.) |
This list is not exhaustive; other standard HTTP error codes may be used,
including 304
, 307
, 308
, 405
, 406
, 408
, 410
, and 415
.
For more details, see https://httpstatuses.com.
Environment
objects represent an isolated namespace for your Confluent resources
for organizational purposes.
The API allows you to create, delete, and update your environments. You can retrieve individual environments as well as a list of all your environments.
Related guide: Environments in Confluent Cloud.
This resource is subject to the following quotas:
Quota | Description |
---|---|
environments_per_org |
Environments in one Confluent Cloud organization |
page_size | integer <= 100 Default: 10 A pagination size for collection requests. |
page_token | string An opaque pagination token for collection requests. |
curl --request GET \ --url 'https://api.confluent.cloud/v2/environments?page_size=SOME_INTEGER_VALUE&page_token=SOME_STRING_VALUE' \ --header 'Authorization: Basic REPLACE_BASIC_AUTH'
{- "api_version": "v2",
- "kind": "EnvironmentList",
- "metadata": {
- "total_size": 123
}, - "data": [
- {
- "api_version": "v2",
- "kind": "Environment",
- "id": "dlz-f3a90de",
- "metadata": {
- "resource_name": "crn://confluent.cloud/kafka=lkc-f3a90de",
- "created_at": "2006-01-02T15:04:05-07:00",
- "updated_at": "2006-01-02T15:04:05-07:00",
- "deleted_at": "2006-01-02T15:04:05-07:00"
}, - "display_name": "prod-finance01"
}
]
}
display_name | string A human-readable name for the Environment |
{- "display_name": "prod-finance01"
}
{- "api_version": "v2",
- "kind": "Environment",
- "id": "dlz-f3a90de",
- "metadata": {
- "resource_name": "crn://confluent.cloud/kafka=lkc-f3a90de",
- "created_at": "2006-01-02T15:04:05-07:00",
- "updated_at": "2006-01-02T15:04:05-07:00",
- "deleted_at": "2006-01-02T15:04:05-07:00"
}, - "display_name": "prod-finance01"
}
id required | string The unique identifier for the environment. |
curl --request GET \ --url 'https://api.confluent.cloud/v2/environments/{id}' \ --header 'Authorization: Basic REPLACE_BASIC_AUTH'
{- "api_version": "v2",
- "kind": "Environment",
- "id": "dlz-f3a90de",
- "metadata": {
- "resource_name": "crn://confluent.cloud/kafka=lkc-f3a90de",
- "created_at": "2006-01-02T15:04:05-07:00",
- "updated_at": "2006-01-02T15:04:05-07:00",
- "deleted_at": "2006-01-02T15:04:05-07:00"
}, - "display_name": "prod-finance01"
}
id required | string The unique identifier for the environment. |
display_name | string A human-readable name for the Environment |
{- "display_name": "prod-finance01"
}
{- "api_version": "v2",
- "kind": "Environment",
- "id": "dlz-f3a90de",
- "metadata": {
- "resource_name": "crn://confluent.cloud/kafka=lkc-f3a90de",
- "created_at": "2006-01-02T15:04:05-07:00",
- "updated_at": "2006-01-02T15:04:05-07:00",
- "deleted_at": "2006-01-02T15:04:05-07:00"
}, - "display_name": "prod-finance01"
}
id required | string The unique identifier for the environment. |
curl --request DELETE \ --url 'https://api.confluent.cloud/v2/environments/{id}' \ --header 'Authorization: Basic REPLACE_BASIC_AUTH'
{- "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"
}
}
]
}
User
objects represent individuals who may access your Confluent resources.
The API allows you to retrieve, update, and delete individual users, as well as list of all your users. This API cannot be used to create new user accounts.
Related guide: Users in Confluent Cloud.
This resource is subject to the following quotas:
Quota | Description |
---|---|
users_per_org |
Users in one Confluent Cloud organization |
page_size | integer <= 100 Default: 10 A pagination size for collection requests. |
page_token | string <= 255 characters An opaque pagination token for collection requests. |
curl --request GET \ --url 'https://api.confluent.cloud/v2/users?page_size=SOME_INTEGER_VALUE&page_token=SOME_STRING_VALUE' \ --header 'Authorization: Basic REPLACE_BASIC_AUTH'
{- "api_version": "v2",
- "kind": "UserList",
- "metadata": {
- "total_size": 123
}, - "data": [
- {
- "api_version": "v2",
- "kind": "User",
- "id": "dlz-f3a90de",
- "metadata": {
- "resource_name": "crn://confluent.cloud/organization=9bb441c4-edef-46ac-8a41-c49e44a3fd9a/user=u-12345",
- "created_at": "2006-01-02T15:04:05-07:00",
- "updated_at": "2006-01-02T15:04:05-07:00",
- "deleted_at": "2006-01-02T15:04:05-07:00"
}, - "email": "marty.mcfly@example.com",
- "given_name": "Marty",
- "family_name": "McFly"
}
]
}
id required | string The unique identifier for the user. |
curl --request GET \ --url 'https://api.confluent.cloud/v2/users/{id}' \ --header 'Authorization: Basic REPLACE_BASIC_AUTH'
{- "api_version": "v2",
- "kind": "User",
- "id": "dlz-f3a90de",
- "metadata": {
- "resource_name": "crn://confluent.cloud/organization=9bb441c4-edef-46ac-8a41-c49e44a3fd9a/user=u-12345",
- "created_at": "2006-01-02T15:04:05-07:00",
- "updated_at": "2006-01-02T15:04:05-07:00",
- "deleted_at": "2006-01-02T15:04:05-07:00"
}, - "email": "marty.mcfly@example.com",
- "given_name": "Marty",
- "family_name": "McFly"
}
id required | string The unique identifier for the user. |
given_name | string The user's given name |
family_name | string The user's family name |
{- "given_name": "Marty",
- "family_name": "McFly"
}
{- "api_version": "v2",
- "kind": "User",
- "id": "dlz-f3a90de",
- "metadata": {
- "resource_name": "crn://confluent.cloud/organization=9bb441c4-edef-46ac-8a41-c49e44a3fd9a/user=u-12345",
- "created_at": "2006-01-02T15:04:05-07:00",
- "updated_at": "2006-01-02T15:04:05-07:00",
- "deleted_at": "2006-01-02T15:04:05-07:00"
}, - "email": "marty.mcfly@example.com",
- "given_name": "Marty",
- "family_name": "McFly"
}
id required | string The unique identifier for the user. |
curl --request DELETE \ --url 'https://api.confluent.cloud/v2/users/{id}' \ --header 'Authorization: Basic REPLACE_BASIC_AUTH'
{- "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"
}
}
]
}
ServiceAccount
objects are typically used to represent applications and other non-human principals
that may access your Confluent resources.
The API allows you to create, retrieve, update, and delete individual service accounts, as well as list all your service accounts.
Related guide: Service Accounts in Confluent Cloud.
This resource is subject to the following quotas:
Quota | Description |
---|---|
service_accounts_per_org |
Service Accounts in one Confluent Cloud organization |
page_size | integer <= 100 Default: 10 A pagination size for collection requests. |
page_token | string <= 255 characters An opaque pagination token for collection requests. |
curl --request GET \ --url 'https://api.confluent.cloud/v2/service-accounts?page_size=SOME_INTEGER_VALUE&page_token=SOME_STRING_VALUE' \ --header 'Authorization: Basic REPLACE_BASIC_AUTH'
{- "api_version": "v2",
- "kind": "ServiceAccountList",
- "metadata": {
- "total_size": 123
}, - "data": [
- {
- "api_version": "v2",
- "kind": "ServiceAccount",
- "id": "dlz-f3a90de",
- "metadata": {
- "resource_name": "crn://confluent.cloud/organization=9bb441c4-edef-46ac-8a41-c49e44a3fd9a/serviceaccount=sa-12345",
- "created_at": "2006-01-02T15:04:05-07:00",
- "updated_at": "2006-01-02T15:04:05-07:00",
- "deleted_at": "2006-01-02T15:04:05-07:00"
}, - "display_name": "DeLorean_auto_repair",
- "description": "Doc's repair bot for the DeLorean"
}
]
}
display_name required | string A human-readable name for the Service Account |
description | string A free-form description of the Service Account |
{- "display_name": "DeLorean_auto_repair",
- "description": "Doc's repair bot for the DeLorean"
}
{- "api_version": "v2",
- "kind": "ServiceAccount",
- "id": "dlz-f3a90de",
- "metadata": {
- "resource_name": "crn://confluent.cloud/organization=9bb441c4-edef-46ac-8a41-c49e44a3fd9a/serviceaccount=sa-12345",
- "created_at": "2006-01-02T15:04:05-07:00",
- "updated_at": "2006-01-02T15:04:05-07:00",
- "deleted_at": "2006-01-02T15:04:05-07:00"
}, - "display_name": "DeLorean_auto_repair",
- "description": "Doc's repair bot for the DeLorean"
}
id required | string The unique identifier for the service account. |
curl --request GET \ --url 'https://api.confluent.cloud/v2/service-accounts/{id}' \ --header 'Authorization: Basic REPLACE_BASIC_AUTH'
{- "api_version": "v2",
- "kind": "ServiceAccount",
- "id": "dlz-f3a90de",
- "metadata": {
- "resource_name": "crn://confluent.cloud/organization=9bb441c4-edef-46ac-8a41-c49e44a3fd9a/serviceaccount=sa-12345",
- "created_at": "2006-01-02T15:04:05-07:00",
- "updated_at": "2006-01-02T15:04:05-07:00",
- "deleted_at": "2006-01-02T15:04:05-07:00"
}, - "display_name": "DeLorean_auto_repair",
- "description": "Doc's repair bot for the DeLorean"
}
id required | string The unique identifier for the service account. |
description | string A free-form description of the Service Account |
{- "description": "Doc's repair bot for the DeLorean"
}
{- "api_version": "v2",
- "kind": "ServiceAccount",
- "id": "dlz-f3a90de",
- "metadata": {
- "resource_name": "crn://confluent.cloud/organization=9bb441c4-edef-46ac-8a41-c49e44a3fd9a/serviceaccount=sa-12345",
- "created_at": "2006-01-02T15:04:05-07:00",
- "updated_at": "2006-01-02T15:04:05-07:00",
- "deleted_at": "2006-01-02T15:04:05-07:00"
}, - "display_name": "DeLorean_auto_repair",
- "description": "Doc's repair bot for the DeLorean"
}
id required | string The unique identifier for the service account. |
curl --request DELETE \ --url 'https://api.confluent.cloud/v2/service-accounts/{id}' \ --header 'Authorization: Basic REPLACE_BASIC_AUTH'
{- "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"
}
}
]
}
Clusters
objects represent Apache Kafka Clusters on Confluent Cloud.
The API allows you to list, create, read, update, and delete your Kafka clusters.
Related guide: Confluent Cloud Cluster Management for Apache Kafka APIs.
This resource is subject to the following quotas:
Quota | Description |
---|---|
kafka_clusters_per_environment |
Number of clusters in one Confluent Cloud environment |
environment required | string (SearchFilter) Example: environment=env-00000 Filter the results by exact match for environment. |
page_size | integer <= 100 Default: 10 A pagination size for collection requests. |
page_token | string <= 255 characters An opaque pagination token for collection requests. |
curl --request GET \ --url 'https://api.confluent.cloud/cmk/v2/clusters?environment=SOME_STRING_VALUE&page_size=SOME_INTEGER_VALUE&page_token=SOME_STRING_VALUE' \ --header 'Authorization: Basic REPLACE_BASIC_AUTH'
{- "api_version": "cmk/v2",
- "kind": "ClusterList",
- "metadata": {
- "total_size": 123
}, - "data": [
- {
- "api_version": "cmk/v2",
- "kind": "Cluster",
- "id": "dlz-f3a90de",
- "metadata": {
- "resource_name": "crn://confluent.cloud/organization=9bb441c4-edef-46ac-8a41-c49e44a3fd9a/cluster=lkc-12345",
- "created_at": "2006-01-02T15:04:05-07:00",
- "updated_at": "2006-01-02T15:04:05-07:00",
- "deleted_at": "2006-01-02T15:04:05-07:00"
}, - "spec": {
- "display_name": "ProdKafkaCluster",
- "availability": "SINGLE_ZONE",
- "cloud": "GCP",
- "region": "us-east4",
- "config": {
- "kind": "Basic"
}, - "kafka_bootstrap_endpoint": "lkc-00000-00000.us-central1.gcp.glb.confluent.cloud:9092",
- "environment": {
- "id": "env-00000",
- "resource_name": "crn://confluent.cloud/organization=9bb441c4-edef-46ac-8a41-c49e44a3fd9a/environment=env-00000"
}
}, - "status": {
- "phase": "PROVISIONED",
- "cku": 2
}
}
]
}
required | object The desired state of the Cluster |
{- "spec": {
- "display_name": "ProdKafkaCluster",
- "availability": "SINGLE_ZONE",
- "cloud": "GCP",
- "region": "us-east4",
- "config": {
- "kind": "Basic"
}, - "environment": {
- "id": "env-00000",
- "resource_name": "crn://confluent.cloud/organization=9bb441c4-edef-46ac-8a41-c49e44a3fd9a/environment=env-00000"
}
}
}
{- "api_version": "cmk/v2",
- "kind": "Cluster",
- "id": "dlz-f3a90de",
- "metadata": {
- "resource_name": "crn://confluent.cloud/organization=9bb441c4-edef-46ac-8a41-c49e44a3fd9a/cluster=lkc-12345",
- "created_at": "2006-01-02T15:04:05-07:00",
- "updated_at": "2006-01-02T15:04:05-07:00",
- "deleted_at": "2006-01-02T15:04:05-07:00"
}, - "spec": {
- "display_name": "ProdKafkaCluster",
- "availability": "SINGLE_ZONE",
- "cloud": "GCP",
- "region": "us-east4",
- "config": {
- "kind": "Basic"
}, - "kafka_bootstrap_endpoint": "lkc-00000-00000.us-central1.gcp.glb.confluent.cloud:9092",
- "environment": {
- "id": "env-00000",
- "resource_name": "crn://confluent.cloud/organization=9bb441c4-edef-46ac-8a41-c49e44a3fd9a/environment=env-00000"
}
}, - "status": {
- "phase": "PROVISIONED",
- "cku": 2
}
}
id required | string The unique identifier for the cluster. |
environment required | string (SearchFilter) Example: environment=env-00000 Scope the operation to the given environment. |
curl --request GET \ --url 'https://api.confluent.cloud/cmk/v2/clusters/{id}?environment=SOME_STRING_VALUE' \ --header 'Authorization: Basic REPLACE_BASIC_AUTH'
{- "api_version": "cmk/v2",
- "kind": "Cluster",
- "id": "dlz-f3a90de",
- "metadata": {
- "resource_name": "crn://confluent.cloud/organization=9bb441c4-edef-46ac-8a41-c49e44a3fd9a/cluster=lkc-12345",
- "created_at": "2006-01-02T15:04:05-07:00",
- "updated_at": "2006-01-02T15:04:05-07:00",
- "deleted_at": "2006-01-02T15:04:05-07:00"
}, - "spec": {
- "display_name": "ProdKafkaCluster",
- "availability": "SINGLE_ZONE",
- "cloud": "GCP",
- "region": "us-east4",
- "config": {
- "kind": "Basic"
}, - "kafka_bootstrap_endpoint": "lkc-00000-00000.us-central1.gcp.glb.confluent.cloud:9092",
- "environment": {
- "id": "env-00000",
- "resource_name": "crn://confluent.cloud/organization=9bb441c4-edef-46ac-8a41-c49e44a3fd9a/environment=env-00000"
}
}, - "status": {
- "phase": "PROVISIONED",
- "cku": 2
}
}
id required | string The unique identifier for the cluster. |
required | object The desired state of the Cluster |
{- "spec": {
- "display_name": "ProdKafkaCluster",
- "config": {
- "kind": "Basic"
}, - "environment": {
- "id": "env-00000",
- "resource_name": "crn://confluent.cloud/organization=9bb441c4-edef-46ac-8a41-c49e44a3fd9a/environment=env-00000"
}
}
}
{- "api_version": "cmk/v2",
- "kind": "Cluster",
- "id": "dlz-f3a90de",
- "metadata": {
- "resource_name": "crn://confluent.cloud/organization=9bb441c4-edef-46ac-8a41-c49e44a3fd9a/cluster=lkc-12345",
- "created_at": "2006-01-02T15:04:05-07:00",
- "updated_at": "2006-01-02T15:04:05-07:00",
- "deleted_at": "2006-01-02T15:04:05-07:00"
}, - "spec": {
- "display_name": "ProdKafkaCluster",
- "availability": "SINGLE_ZONE",
- "cloud": "GCP",
- "region": "us-east4",
- "config": {
- "kind": "Basic"
}, - "kafka_bootstrap_endpoint": "lkc-00000-00000.us-central1.gcp.glb.confluent.cloud:9092",
- "environment": {
- "id": "env-00000",
- "resource_name": "crn://confluent.cloud/organization=9bb441c4-edef-46ac-8a41-c49e44a3fd9a/environment=env-00000"
}
}, - "status": {
- "phase": "PROVISIONED",
- "cku": 2
}
}
id required | string The unique identifier for the cluster. |
environment required | string (SearchFilter) Example: environment=env-00000 Scope the operation to the given environment. |
curl --request DELETE \ --url 'https://api.confluent.cloud/cmk/v2/clusters/{id}?environment=SOME_STRING_VALUE' \ --header 'Authorization: Basic REPLACE_BASIC_AUTH'
{- "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"
}
}
]
}
API for managing connectors.
The API allows you to list, create, get, update and delete your connectors.
Connect metrics are available through Metrics v2 API.
Related guide: Connectors in Confluent Cloud.
Retrieve a list of "names" of the active connectors. You can then make a read request for a specific connector by name.
environment_id required | string The unique identifier of the environment this resource belongs to. |
kafka_cluster_id required | string The unique identifier for the Kafka cluster. |
curl --request GET \ --url 'https://api.confluent.cloud/connect/v1/environments/{environment_id}/clusters/{kafka_cluster_id}/connectors' \ --header 'Authorization: Basic REPLACE_BASIC_AUTH'
[- "MyGcsLogsBucketConnector"
]
environment_id required | string The unique identifier of the environment this resource belongs to. |
kafka_cluster_id required | string The unique identifier for the Kafka cluster. |
name | string Name of the connector to create. |
object Configuration parameters for the connector. All values should be strings. |
{- "name": "MyGcsLogsBucketConnector",
- "config": {
- "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"
}
}
{- "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": "1",
- "time.interval": "DAILY",
- "topics": "APILogsTopic"
}, - "tasks": [
- {
- "connector": "MyGcsLogsBucketConnector",
- "task": 0
}
], - "type": "sink"
}
connector_name required | string The unique name of the connector. |
environment_id required | string The unique identifier of the environment this resource belongs to. |
kafka_cluster_id required | string The unique identifier for the Kafka cluster. |
curl --request GET \ --url 'https://api.confluent.cloud/connect/v1/environments/{environment_id}/clusters/{kafka_cluster_id}/connectors/{connector_name}/config' \ --header 'Authorization: Basic REPLACE_BASIC_AUTH'
{- "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"
}
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.
connector_name required | string The unique name of the connector. |
environment_id required | string The unique identifier of the environment this resource belongs to. |
kafka_cluster_id required | string The unique identifier for the Kafka cluster. |
Configuration parameters for the connector. All values should be strings.
connector.class required | string The connector class name. E.g. BigQuerySink, GcsSink, etc. |
name required | string Name or alias of the class (plugin) for this connector. |
kafka.api.key required | string The kafka cluster api key. |
kafka.api.secret required | string The kafka cluster api secret key. |
property name* | string Other configuration parameters for the connector. All values should be strings. See the connector's docs for details. |
{- "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"
}
{- "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"
}
connector_name required | string The unique name of the connector. |
environment_id required | string The unique identifier of the environment this resource belongs to. |
kafka_cluster_id required | string The unique identifier for the Kafka cluster. |
curl --request GET \ --url 'https://api.confluent.cloud/connect/v1/environments/{environment_id}/clusters/{kafka_cluster_id}/connectors/{connector_name}' \ --header 'Authorization: Basic REPLACE_BASIC_AUTH'
{- "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": "1",
- "time.interval": "DAILY",
- "topics": "APILogsTopic"
}, - "tasks": [
- {
- "connector": "MyGcsLogsBucketConnector",
- "task": 0
}
], - "type": "sink"
}
connector_name required | string The unique name of the connector. |
environment_id required | string The unique identifier of the environment this resource belongs to. |
kafka_cluster_id required | string The unique identifier for the Kafka cluster. |
curl --request DELETE \ --url 'https://api.confluent.cloud/connect/v1/environments/{environment_id}/clusters/{kafka_cluster_id}/connectors/{connector_name}' \ --header 'Authorization: Basic REPLACE_BASIC_AUTH'
{- "error": null
}
connector_name required | string The unique name of the connector. |
environment_id required | string The unique identifier of the environment this resource belongs to. |
kafka_cluster_id required | string The unique identifier for the Kafka cluster. |
curl --request PUT \ --url 'https://api.confluent.cloud/connect/v1/environments/{environment_id}/clusters/{kafka_cluster_id}/connectors/{connector_name}/pause' \ --header 'Authorization: Basic REPLACE_BASIC_AUTH'
{- "error": {
- "code": 401,
- "message": "Unauthorized"
}
}
connector_name required | string The unique name of the connector. |
environment_id required | string The unique identifier of the environment this resource belongs to. |
kafka_cluster_id required | string The unique identifier for the Kafka cluster. |
curl --request PUT \ --url 'https://api.confluent.cloud/connect/v1/environments/{environment_id}/clusters/{kafka_cluster_id}/connectors/{connector_name}/resume' \ --header 'Authorization: Basic REPLACE_BASIC_AUTH'
{- "error": {
- "code": 401,
- "message": "Unauthorized"
}
}
Get current status of the connector. This includes whether it is running, failed, or paused. Also includes which worker it is assigned to, error information if it has failed, and the state of all its tasks.
connector_name required | string The unique name of the connector. |
environment_id required | string The unique identifier of the environment this resource belongs to. |
kafka_cluster_id required | string The unique identifier for the Kafka cluster. |
curl --request GET \ --url 'https://api.confluent.cloud/connect/v1/environments/{environment_id}/clusters/{kafka_cluster_id}/connectors/{connector_name}/status' \ --header 'Authorization: Basic REPLACE_BASIC_AUTH'
{- "name": "MyGcsLogsBucketConnector",
- "connector": {
- "state": "PROVISIONING",
- "worker_id": "MyGcsLogsBucketConnector",
- "trace": ""
}, - "tasks": [ ],
- "type": "source"
}
connector_name required | string The unique name of the connector. |
environment_id required | string The unique identifier of the environment this resource belongs to. |
kafka_cluster_id required | string The unique identifier for the Kafka cluster. |
curl --request GET \ --url 'https://api.confluent.cloud/connect/v1/environments/{environment_id}/clusters/{kafka_cluster_id}/connectors/{connector_name}/tasks' \ --header 'Authorization: Basic REPLACE_BASIC_AUTH'
[- {
- "id": {
- "connector": "MyGcsLogsBucketConnector",
- "task": 2
}, - "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"
}
}
]
environment_id required | string The unique identifier of the environment this resource belongs to. |
kafka_cluster_id required | string The unique identifier for the Kafka cluster. |
curl --request GET \ --url 'https://api.confluent.cloud/connect/v1/environments/{environment_id}/clusters/{kafka_cluster_id}/connector-plugins' \ --header 'Authorization: Basic REPLACE_BASIC_AUTH'
[- {
- "class": "BigQuerySink",
- "type": "sink"
}, - {
- "class": "KinesisSource",
- "type": "source",
- "version": "0.1.0"
}, - {
- "class": "PostgresSource",
- "type": "source",
- "version": "0.1.0"
}, - {
- "class": "S3_SINK",
- "type": "sink"
}, - {
- "class": "GcsSink",
- "type": "sink",
- "version": "0.2.0"
}
]
plugin_name required | string The unique name of the connector plugin. |
environment_id required | string The unique identifier of the environment this resource belongs to. |
kafka_cluster_id required | string The unique identifier for the Kafka cluster. |
Configuration parameters for the connector. All values should be strings.
property name* | string Other configuration parameters for the connector. All values should be strings. See the connector's docs for the list of options. |
{- "cloud.environment": "prod",
- "cloud.provider": "aws",
- "connector.class": "GcsSink",
- "data.format": "BYTES",
- "flush.size": "500",
- "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"
}
{- "name": "io.confluent.connect.gcs.GcsSinkConnector",
- "groups": [
- "Organize my data by...",
- "Which topics do you want to get data from?",
- "Messages",
- "How should we connect to your data?",
- "Google Cloud Storage details",
- "Kafka Cluster credentials",
- "Number of tasks for this connector"
], - "error_count": 1,
- "configs": [
- {
- "definition": {
- "name": "name",
- "type": "STRING",
- "required": true,
- "default_value": "",
- "importance": "HIGH",
- "documentation": "Sets a name for your connector.",
- "group": "How should we connect to your data?",
- "width": "NONE",
- "display_name": "Connector name",
- "dependents": [ ],
- "order": 2,
- "alias": ""
}, - "value": {
- "name": "name",
- "value": "{{.logicalClusterId}}",
- "recommended_values": [ ],
- "errors": [ ],
- "visible": true
}, - "metadata": { }
}, - {
- "definition": {
- "name": "connector.class",
- "type": "STRING",
- "required": true,
- "default_value": "",
- "importance": "HIGH",
- "documentation": "",
- "group": "How should we connect to your data?",
- "width": "NONE",
- "display_name": "Connector class",
- "dependents": [ ],
- "order": 1,
- "alias": ""
}, - "value": {
- "name": "connector.class",
- "value": "io.confluent.connect.gcs.GcsSinkConnector",
- "recommended_values": [ ],
- "errors": [ ],
- "visible": true
}, - "metadata": { }
}, - {
- "definition": {
- "name": "kafka.api.key",
- "type": "PASSWORD",
- "required": true,
- "default_value": "",
- "importance": "HIGH",
- "documentation": "",
- "group": "Kafka Cluster credentials",
- "width": "NONE",
- "display_name": "Kafka API Key",
- "dependents": [ ],
- "order": 1,
- "alias": ""
}, - "value": {
- "name": "kafka.api.key",
- "value": "",
- "recommended_values": [ ],
- "errors": [ ],
- "visible": true
}, - "metadata": { }
}, - {
- "definition": {
- "name": "kafka.api.secret",
- "type": "PASSWORD",
- "required": true,
- "default_value": "",
- "importance": "HIGH",
- "documentation": "",
- "group": "Kafka Cluster credentials",
- "width": "NONE",
- "display_name": "Kafka API Secret",
- "dependents": [
- "kafka.api.key"
], - "order": 2,
- "alias": ""
}, - "value": {
- "name": "kafka.api.secret",
- "value": "",
- "recommended_values": [ ],
- "errors": [ ],
- "visible": true
}, - "metadata": { }
}, - {
- "definition": {
- "name": "topics",
- "type": "LIST",
- "required": true,
- "default_value": "",
- "importance": "HIGH",
- "documentation": "Identifies the topic name or a comma-separated list of topic names.",
- "group": "Which topics do you want to get data from?",
- "width": "NONE",
- "display_name": "Topic names",
- "dependents": [ ],
- "order": 1,
- "alias": ""
}, - "value": {
- "name": "topics",
- "value": "test1",
- "recommended_values": [ ],
- "errors": [ ],
- "visible": true
}, - "metadata": { }
}, - {
- "definition": {
- "name": "data.format",
- "type": "STRING",
- "required": true,
- "default_value": "",
- "importance": "HIGH",
- "documentation": "Sets the input/output message format. Valid entries are AVRO, JSON, or BYTES",
- "group": "Messages",
- "width": "NONE",
- "display_name": "Message format",
- "dependents": [ ],
- "order": 1,
- "alias": ""
}, - "value": {
- "name": "data.format",
- "value": "BYTES",
- "recommended_values": [
- "BYTES",
- "JSON",
- "AVRO"
], - "errors": [ ],
- "visible": true
}, - "metadata": { }
}, - {
- "definition": {
- "name": "gcs.credentials.config",
- "type": "PASSWORD",
- "required": true,
- "default_value": "",
- "importance": "HIGH",
- "documentation": "Contents of the downloaded GCP service account JSON file.",
- "group": "Google Cloud Storage details",
- "width": "NONE",
- "display_name": "Google Cloud Storage credentials.",
- "dependents": [ ],
- "order": 1,
- "alias": ""
}, - "value": {
- "name": "gcs.credentials.config",
- "value": "",
- "recommended_values": [ ],
- "errors": [ ],
- "visible": true
}, - "metadata": { }
}, - {
- "definition": {
- "name": "gcs.bucket.name",
- "type": "STRING",
- "required": true,
- "default_value": "",
- "importance": "HIGH",
- "documentation": "A Google Cloud Storage bucket must be in the same region as your Confluent Cloud cluster.",
- "group": "Google Cloud Storage details",
- "width": "NONE",
- "display_name": "Bucket name.",
- "dependents": [ ],
- "order": 2,
- "alias": ""
}, - "value": {
- "name": "gcs.bucket.name",
- "value": "gmagare",
- "recommended_values": [ ],
- "errors": [ ],
- "visible": true
}, - "metadata": { }
}, - {
- "definition": {
- "name": "time.interval",
- "type": "STRING",
- "required": true,
- "default_value": "",
- "importance": "HIGH",
- "documentation": "Sets how your messages grouped in storage. Valid entries are DAILY or HOURLY.",
- "group": "Organize my data by...",
- "width": "NONE",
- "display_name": "Time interval",
- "dependents": [ ],
- "order": 1,
- "alias": ""
}, - "value": {
- "name": "time.interval",
- "value": "DAILY",
- "recommended_values": [
- "DAILY",
- "HOURLY"
], - "errors": [ ],
- "visible": true
}, - "metadata": { }
}, - {
- "definition": {
- "name": "tasks.max",
- "type": "INT",
- "required": true,
- "default_value": "",
- "importance": "HIGH",
- "documentation": "",
- "group": "Number of tasks for this connector",
- "width": "NONE",
- "display_name": "Tasks",
- "dependents": [ ],
- "order": 1,
- "alias": ""
}, - "value": {
- "name": "tasks.max",
- "value": "1",
- "recommended_values": [ ],
- "errors": [ ],
- "visible": true
}, - "metadata": { }
}, - {
- "definition": {
- "name": "flush.size",
- "type": "INT",
- "required": true,
- "default_value": "1000",
- "importance": "HIGH",
- "documentation": "This value defaults to 1000. For example, if you use the default setting of 1000 and your topic has six partitions, files start to be created in the storage bucket after more than 1000 records exist in each partition. Note that the default value of 1000 can be increased if needed.",
- "group": "Organize my data by...",
- "width": "NONE",
- "display_name": "Flush size",
- "dependents": [ ],
- "order": 2,
- "alias": ""
}, - "value": {
- "name": "flush.size",
- "value": "1",
- "recommended_values": [ ],
- "errors": [
- "\"flush.size\" should be greater than or equal to 1000"
], - "visible": true
}, - "metadata": { }
}
]
}
cluster_id required | string Example: cluster-1 The Kafka cluster ID. |
curl --request GET \ --url 'https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/{cluster_id}'
{- "kind": "KafkaCluster",
- "metadata": {
- "resource_name": "crn:///kafka=cluster-1"
}, - "cluster_id": "cluster-1",
- "controller": {
}, - "acls": {
}, - "brokers": {
}, - "broker_configs": {
}, - "consumer_groups": {
}, - "topics": {
}, - "partition_reassignments": {
}
}
cluster_id required | string Example: cluster-1 The Kafka cluster ID. |
curl --request GET \ --url 'https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/{cluster_id}/broker-configs'
{- "kind": "KafkaClusterConfigList",
- "metadata": {
- "next": null
}, - "data": [
- {
- "kind": "KafkaClusterConfig",
- "metadata": {
- "resource_name": "crn:///kafka=cluster-1/broker-config=max.connections"
}, - "cluster_id": "cluster-1",
- "config_type": "BROKER",
- "name": "max.connections",
- "value": "1000",
- "is_default": false,
- "is_read_only": false,
- "is_sensitive": false,
- "source": "DYNAMIC_DEFAULT_BROKER_CONFIG",
- "synonyms": [
- {
- "name": "max.connections",
- "value": "1000",
- "source": "DYNAMIC_DEFAULT_BROKER_CONFIG"
}, - {
- "name": "max.connections",
- "value": "2147483647",
- "source": "DEFAULT_CONFIG"
}
]
}, - {
- "kind": "KafkaClusterConfig",
- "metadata": {
- "resource_name": "crn:///kafka=cluster-1/broker-config=compression.type"
}, - "cluster_id": "cluster-1",
- "config_type": "BROKER",
- "name": "compression.type",
- "value": "gzip",
- "is_default": false,
- "is_read_only": false,
- "is_sensitive": false,
- "source": "DYNAMIC_DEFAULT_BROKER_CONFIG",
- "synonyms": [
- {
- "name": "compression.type",
- "value": "gzip",
- "source": "DYNAMIC_DEFAULT_BROKER_CONFIG"
}, - {
- "name": "compression.type",
- "value": "producer",
- "source": "DEFAULT_CONFIG"
}
]
}
]
}
cluster_id required | string Example: cluster-1 The Kafka cluster ID. |
The alter cluster configuration parameter batch request.
required | Array of objects |
{- "data": [
- {
- "name": "max.connections",
- "operation": "DELETE"
}, - {
- "name": "compression.type",
- "value": "gzip"
}
]
}
cluster_id required | string Example: cluster-1 The Kafka cluster ID. |
name required | string Example: compression.type The configuration parameter name. |
curl --request GET \ --url 'https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/{cluster_id}/broker-configs/{name}'
{- "kind": "KafkaClusterConfig",
- "metadata": {
- "resource_name": "crn:///kafka=cluster-1/broker-config=compression.type"
}, - "cluster_id": "cluster-1",
- "config_type": "BROKER",
- "name": "compression.type",
- "value": "gzip",
- "is_default": false,
- "is_read_only": false,
- "is_sensitive": false,
- "source": "DYNAMIC_DEFAULT_BROKER_CONFIG",
- "synonyms": [
- {
- "name": "compression.type",
- "value": "gzip",
- "source": "DYNAMIC_DEFAULT_BROKER_CONFIG"
}, - {
- "name": "compression.type",
- "value": "producer",
- "source": "DEFAULT_CONFIG"
}
]
}
cluster_id required | string Example: cluster-1 The Kafka cluster ID. |
name required | string Example: compression.type The configuration parameter name. |
The cluster configuration parameter update request.
value | string Nullable |
{- "value": "gzip"
}
cluster_id required | string Example: cluster-1 The Kafka cluster ID. |
name required | string Example: compression.type The configuration parameter name. |
curl --request DELETE \ --url 'https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/{cluster_id}/broker-configs/{name}'
cluster_id required | string Example: cluster-1 The Kafka cluster ID. |
topic_name required | string Example: topic-1 The topic name. |
curl --request GET \ --url 'https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/{cluster_id}/topics/{topic_name}/configs'
{- "kind": "KafkaTopicConfigList",
- "metadata": {
- "next": null
}, - "data": [
- {
- "kind": "KafkaTopicConfig",
- "metadata": {
- "resource_name": "crn:///kafka=cluster-1/topic=topic-1/config=cleanup.policy"
}, - "cluster_id": "cluster-1",
- "topic_name": "topic-1",
- "name": "cleanup.policy",
- "value": "compact",
- "is_default": false,
- "is_read_only": false,
- "is_sensitive": false,
- "source": "DYNAMIC_TOPIC_CONFIG",
- "synonyms": [
- {
- "name": "cleanup.policy",
- "value": "compact",
- "source": "DYNAMIC_TOPIC_CONFIG"
}, - {
- "name": "cleanup.policy",
- "value": "delete",
- "source": "DEFAULT_CONFIG"
}
]
}, - {
- "kind": "KafkaTopicConfig",
- "metadata": {
- "resource_name": "crn:///kafka=cluster-1/topic=topic-1/config=compression.type"
}, - "cluster_id": "cluster-1",
- "topic_name": "topic-1",
- "name": "compression.type",
- "value": "gzip",
- "is_default": false,
- "is_read_only": false,
- "is_sensitive": false,
- "source": "DYNAMIC_TOPIC_CONFIG",
- "synonyms": [
- {
- "name": "compression.type",
- "value": "gzip",
- "source": "DYNAMIC_TOPIC_CONFIG"
}, - {
- "name": "compression.type",
- "value": "producer",
- "source": "DEFAULT_CONFIG"
}
]
}
]
}
cluster_id required | string Example: cluster-1 The Kafka cluster ID. |
topic_name required | string Example: topic-1 The topic name. |
The alter topic configuration parameter batch request.
required | Array of objects |
{- "data": [
- {
- "name": "cleanup.policy",
- "operation": "DELETE"
}, - {
- "name": "compression.type",
- "value": "gzip"
}
]
}
cluster_id required | string Example: cluster-1 The Kafka cluster ID. |
topic_name required | string Example: topic-1 The topic name. |
name required | string Example: compression.type The configuration parameter name. |
curl --request GET \ --url 'https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/{cluster_id}/topics/{topic_name}/configs/{name}'
{- "kind": "KafkaTopicConfig",
- "metadata": {
- "resource_name": "crn:///kafka=cluster-1/topic=topic-1/config=compression.type"
}, - "cluster_id": "cluster-1",
- "topic_name": "topic-1",
- "name": "compression.type",
- "value": "gzip",
- "is_default": false,
- "is_read_only": false,
- "is_sensitive": false,
- "source": "DYNAMIC_TOPIC_CONFIG",
- "synonyms": [
- {
- "name": "compression.type",
- "value": "gzip",
- "source": "DYNAMIC_TOPIC_CONFIG"
}, - {
- "name": "compression.type",
- "value": "producer",
- "source": "DEFAULT_CONFIG"
}
]
}
cluster_id required | string Example: cluster-1 The Kafka cluster ID. |
topic_name required | string Example: topic-1 The topic name. |
name required | string Example: compression.type The configuration parameter name. |
The topic configuration parameter update request.
value | string Nullable |
{- "value": "gzip"
}
cluster_id required | string Example: cluster-1 The Kafka cluster ID. |
topic_name required | string Example: topic-1 The topic name. |
name required | string Example: compression.type The configuration parameter name. |
curl --request DELETE \ --url 'https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/{cluster_id}/topics/{topic_name}/configs/{name}'
cluster_id required | string Example: cluster-1 The Kafka cluster ID. |
curl --request GET \ --url 'https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/{cluster_id}/topics/-/configs'
{- "kind": "KafkaTopicConfigList",
- "metadata": {
- "next": null
}, - "data": [
- {
- "kind": "KafkaTopicConfig",
- "metadata": {
- "resource_name": "crn:///kafka=cluster-1/topic=topic-1/config=cleanup.policy"
}, - "cluster_id": "cluster-1",
- "topic_name": "topic-1",
- "name": "cleanup.policy",
- "value": "compact",
- "is_default": false,
- "is_read_only": false,
- "is_sensitive": false,
- "source": "DYNAMIC_TOPIC_CONFIG",
- "synonyms": [
- {
- "name": "cleanup.policy",
- "value": "compact",
- "source": "DYNAMIC_TOPIC_CONFIG"
}, - {
- "name": "cleanup.policy",
- "value": "delete",
- "source": "DEFAULT_CONFIG"
}
]
}, - {
- "kind": "KafkaTopicConfig",
- "metadata": {
- "resource_name": "crn:///kafka=cluster-1/topic=topic-1/config=compression.type"
}, - "cluster_id": "cluster-1",
- "topic_name": "topic-1",
- "name": "compression.type",
- "value": "gzip",
- "is_default": false,
- "is_read_only": false,
- "is_sensitive": false,
- "source": "DYNAMIC_TOPIC_CONFIG",
- "synonyms": [
- {
- "name": "compression.type",
- "value": "gzip",
- "source": "DYNAMIC_TOPIC_CONFIG"
}, - {
- "name": "compression.type",
- "value": "producer",
- "source": "DEFAULT_CONFIG"
}
]
}
]
}
cluster_id required | string Example: cluster-1 The Kafka cluster ID. |
resource_type | string (AclResourceType) Enum: "UNKNOWN" "ANY" "TOPIC" "GROUP" "CLUSTER" "TRANSACTIONAL_ID" "DELEGATION_TOKEN" The ACL resource type. |
resource_name | string The ACL resource name. |
pattern_type | string (AclPatternType) extensible-enum: ["UNKNOWN","ANY","MATCH","LITERAL","PREFIXED"] The ACL pattern type. |
principal | string The ACL principal. |
host | string The ACL host. |
operation | string (AclOperation) extensible-enum: ["UNKNOWN","ANY","ALL","READ","WRITE","CREATE","DELETE","ALTER","DESCRIBE","CLUSTER_ACTION","DESCRIBE_CONFIGS","ALTER_CONFIGS","IDEMPOTENT_WRITE"] The ACL operation. |
permission | string (AclPermission) extensible-enum: ["UNKNOWN","ANY","DENY","ALLOW"] The ACL permission. |
curl --request GET \ --url 'https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/{cluster_id}/acls?resource_type=SOME_STRING_VALUE&resource_name=SOME_STRING_VALUE&pattern_type=SOME_STRING_VALUE&principal=SOME_STRING_VALUE&host=SOME_STRING_VALUE&operation=SOME_STRING_VALUE&permission=SOME_STRING_VALUE'
{- "kind": "KafkaAclList",
- "metadata": {
}, - "data": [
- {
- "kind": "KafkaAcl",
- "cluster_id": "cluster-1",
- "resource_type": "TOPIC",
- "resource_name": "topic-",
- "pattern_type": "PREFIXED",
- "principal": "alice",
- "host": "*",
- "operation": "ALL",
- "permission": "ALLOW"
}, - {
- "kind": "KafkaAcl",
- "cluster_id": "cluster-1",
- "resource_type": "CLUSTER",
- "resource_name": "cluster-2",
- "pattern_type": "LITERAL",
- "principal": "alice",
- "host": "*",
- "operation": "DESCRIBE",
- "permission": "DENY"
}
]
}
cluster_id required | string Example: cluster-1 The Kafka cluster ID. |
The ACL creation request.
resource_type required | string (AclResourceType) Enum: "UNKNOWN" "ANY" "TOPIC" "GROUP" "CLUSTER" "TRANSACTIONAL_ID" "DELEGATION_TOKEN" |
resource_name required | string |
pattern_type required | string (AclPatternType) extensible-enum: ["UNKNOWN","ANY","MATCH","LITERAL","PREFIXED"] |
principal required | string |
host required | string |
operation required | string (AclOperation) extensible-enum: ["UNKNOWN","ANY","ALL","READ","WRITE","CREATE","DELETE","ALTER","DESCRIBE","CLUSTER_ACTION","DESCRIBE_CONFIGS","ALTER_CONFIGS","IDEMPOTENT_WRITE"] |
permission required | string (AclPermission) extensible-enum: ["UNKNOWN","ANY","DENY","ALLOW"] |
{- "kind": "KafkaAcl",
- "resource_type": "CLUSTER",
- "resource_name": "kafka-cluster",
- "pattern_type": "LITERAL",
- "principal": "principalType:principalName",
- "host": "*",
- "operation": "DESCRIBE",
- "permission": "DENY"
}
cluster_id required | string Example: cluster-1 The Kafka cluster ID. |
resource_type | string (AclResourceType) Enum: "UNKNOWN" "ANY" "TOPIC" "GROUP" "CLUSTER" "TRANSACTIONAL_ID" "DELEGATION_TOKEN" The ACL resource type. |
resource_name | string The ACL resource name. |
pattern_type | string (AclPatternType) extensible-enum: ["UNKNOWN","ANY","MATCH","LITERAL","PREFIXED"] The ACL pattern type. |
principal | string The ACL principal. |
host | string The ACL host. |
operation | string (AclOperation) extensible-enum: ["UNKNOWN","ANY","ALL","READ","WRITE","CREATE","DELETE","ALTER","DESCRIBE","CLUSTER_ACTION","DESCRIBE_CONFIGS","ALTER_CONFIGS","IDEMPOTENT_WRITE"] The ACL operation. |
permission | string (AclPermission) extensible-enum: ["UNKNOWN","ANY","DENY","ALLOW"] The ACL permission. |
curl --request DELETE \ --url 'https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/{cluster_id}/acls?resource_type=SOME_STRING_VALUE&resource_name=SOME_STRING_VALUE&pattern_type=SOME_STRING_VALUE&principal=SOME_STRING_VALUE&host=SOME_STRING_VALUE&operation=SOME_STRING_VALUE&permission=SOME_STRING_VALUE'
{- "data": [
- {
- "kind": "KafkaAcl",
- "cluster_id": "cluster-1",
- "resource_type": "TOPIC",
- "resource_name": "topic-",
- "pattern_type": "PREFIXED",
- "principal": "alice",
- "host": "*",
- "operation": "ALL",
- "permission": "ALLOW"
}, - {
- "kind": "KafkaAcl",
- "cluster_id": "cluster-1",
- "resource_type": "CLUSTER",
- "resource_name": "cluster-2",
- "pattern_type": "LITERAL",
- "principal": "alice",
- "host": "*",
- "operation": "DESCRIBE",
- "permission": "DENY"
}
]
}
cluster_id required | string Example: cluster-1 The Kafka cluster ID. |
curl --request GET \ --url 'https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/{cluster_id}/consumer-groups'
{- "kind": "KafkaConsumerGroupList",
- "metadata": {
- "next": null
}, - "data": [
- {
- "kind": "KafkaConsumerGroup",
- "metadata": {
- "resource_name": "crn:///kafka=cluster-1/consumer-group=consumer-group-1"
}, - "cluster_id": "cluster-1",
- "consumer_group_id": "consumer-group-1",
- "is_simple": false,
- "partition_assignor": "org.apache.kafka.clients.consumer.RoundRobinAssignor",
- "state": "STABLE",
- "coordinator": {
},
}, - {
- "kind": "KafkaConsumerGroup",
- "metadata": {
- "resource_name": "crn:///kafka=cluster-1/consumer-group=consumer-group-2"
}, - "cluster_id": "cluster-1",
- "consumer_group_id": "consumer-group-2",
- "is_simple": false,
- "partition_assignor": "org.apache.kafka.clients.consumer.StickyAssignor",
- "state": "PREPARING_REBALANCE",
- "coordinator": {
},
}, - {
- "kind": "KafkaConsumerGroup",
- "metadata": {
- "resource_name": "crn:///kafka=cluster-1/consumer-group=consumer-group-3"
}, - "cluster_id": "cluster-1",
- "consumer_group_id": "consumer-group-3",
- "is_simple": false,
- "partition_assignor": "org.apache.kafka.clients.consumer.RangeAssignor",
- "state": "DEAD",
- "coordinator": {
},
}
]
}
cluster_id required | string Example: cluster-1 The Kafka cluster ID. |
consumer_group_id required | string Example: consumer-group-1 The consumer group ID. |
curl --request GET \ --url 'https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/{cluster_id}/consumer-groups/{consumer_group_id}'
{- "kind": "KafkaConsumerGroup",
- "metadata": {
- "resource_name": "crn:///kafka=cluster-1/consumer-group=consumer-group-1"
}, - "cluster_id": "cluster-1",
- "consumer_group_id": "consumer-group-1",
- "is_simple": false,
- "partition_assignor": "org.apache.kafka.clients.consumer.RoundRobinAssignor",
- "state": "STABLE",
- "coordinator": {
},
}
cluster_id required | string Example: cluster-1 The Kafka cluster ID. |
consumer_group_id required | string Example: consumer-group-1 The consumer group ID. |
curl --request GET \ --url 'https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/{cluster_id}/consumer-groups/{consumer_group_id}/consumers'
{- "kind": "KafkaConsumerList",
- "metadata": {
- "next": null
}, - "data": [
- {
- "kind": "KafkaConsumer",
- "metadata": {
- "resource_name": "crn:///kafka=cluster-1/consumer-group=consumer-group-1/consumer=consumer-1"
}, - "cluster_id": "cluster-1",
- "consumer_group_id": "consumer-group-1",
- "consumer_id": "consumer-1",
- "instance_id": "consumer-instance-1",
- "client_id": "client-1",
}, - {
- "kind": "KafkaConsumer",
- "metadata": {
- "resource_name": "crn:///kafka=cluster-1/consumer-group=consumer-group-1/consumer=consumer-2"
}, - "cluster_id": "cluster-1",
- "consumer_group_id": "consumer-group-1",
- "consumer_id": "consumer-2",
- "instance_id": "consumer-instance-2",
- "client_id": "client-2",
}, - {
- "kind": "KafkaConsumer",
- "metadata": {
- "resource_name": "crn:///kafka=cluster-1/consumer-group=consumer-group-1/consumer=consumer-2"
}, - "cluster_id": "cluster-1",
- "consumer_group_id": "consumer-group-1",
- "consumer_id": "consumer-2",
- "instance_id": "consumer-instance-2",
- "client_id": "client-2",
}
]
}
cluster_id required | string Example: cluster-1 The Kafka cluster ID. |
consumer_group_id required | string Example: consumer-group-1 The consumer group ID. |
curl --request GET \ --url 'https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/{cluster_id}/consumer-groups/{consumer_group_id}/lag-summary'
{- "kind": "KafkaConsumerGroupLagSummary",
- "metadata": {
- "resource_name": "crn:///kafka=cluster-1/consumer-groups=consumer-group-1/lag-summary"
}, - "cluster_id": "cluster-1",
- "consumer_group_id": "consumer-group-1",
- "max_lag_consumer_id": "consumer-1",
- "max_lag_instance_id": "consumer-instance-1",
- "max_lag_client_id": "client-1",
- "max_lag_topic_name": "topic-1",
- "max_lag_partition_id": 1,
- "max_lag": 100,
- "total_lag": 110,
- "max_lag_consumer": {
}, - "max_lag_partition": {
}
}
cluster_id required | string Example: cluster-1 The Kafka cluster ID. |
consumer_group_id required | string Example: consumer-group-1 The consumer group ID. |
curl --request GET \ --url 'https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/{cluster_id}/consumer-groups/{consumer_group_id}/lags'
{- "kind": "KafkaConsumerLagList",
- "metadata": {
- "next": null
}, - "data": [
- {
- "kind": "KafkaConsumerLag",
- "metadata": {
- "resource_name": "crn:///kafka=cluster-1/consumer-group=consumer-group-1/lag=topic-1/partition=1"
}, - "cluster_id": "cluster-1",
- "consumer_group_id": "consumer-group-1",
- "topic_name": "topic-1",
- "partition_id": 1,
- "consumer_id": "consumer-1",
- "instance_id": "consumer-instance-1",
- "client_id": "client-1",
- "current_offset": 1,
- "log_end_offset": 101,
- "lag": 100
}, - {
- "kind": "KafkaConsumerLag",
- "metadata": {
- "resource_name": "crn:///kafka=cluster-1/consumer-group=consumer-group-1/lag=topic-1/partition=2"
}, - "cluster_id": "cluster-1",
- "consumer_group_id": "consumer-group-1",
- "topic_name": "topic-1",
- "partition_id": 2,
- "consumer_id": "consumer-2",
- "instance_id": "consumer-instance-2",
- "client_id": "client-2",
- "current_offset": 1,
- "log_end_offset": 11,
- "lag": 10
}, - {
- "kind": "KafkaConsumerLag",
- "metadata": {
- "resource_name": "crn:///kafka=cluster-1/consumer-group=consumer-group-1/lag=topic-1/partition=3"
}, - "cluster_id": "cluster-1",
- "consumer_group_id": "consumer-group-1",
- "topic_name": "topic-1",
- "partition_id": 3,
- "consumer_id": "consumer-3",
- "instance_id": "consumer-instance-3",
- "client_id": "client-3",
- "current_offset": 1,
- "log_end_offset": 1,
- "lag": 0
}
]
}
cluster_id required | string Example: cluster-1 The Kafka cluster ID. |
consumer_group_id required | string Example: consumer-group-1 The consumer group ID. |
consumer_id required | string Example: consumer-1 The consumer ID. |
curl --request GET \ --url 'https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/{cluster_id}/consumer-groups/{consumer_group_id}/consumers/{consumer_id}'
{- "kind": "KafkaConsumer",
- "metadata": {
- "resource_name": "crn:///kafka=cluster-1/consumer-group=consumer-group-1/consumer=consumer-1"
}, - "cluster_id": "cluster-1",
- "consumer_group_id": "consumer-group-1",
- "consumer_id": "consumer-1",
- "instance_id": "consumer-instance-1",
- "client_id": "client-1",
}
cluster_id required | string Example: cluster-1 The Kafka cluster ID. |
consumer_group_id required | string Example: consumer-group-1 The consumer group ID. |
topic_name required | string Example: topic-1 The topic name. |
partition_id required | integer The partition ID. |
curl --request GET \ --url 'https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/{cluster_id}/consumer-groups/{consumer_group_id}/lags/{topic_name}/partitions/{partition_id}'
{- "kind": "KafkaConsumerLag",
- "metadata": {
- "resource_name": "crn:///kafka=cluster-1/consumer-group=consumer-group-1/lag=topic-1/partition=1"
}, - "cluster_id": "cluster-1",
- "consumer_group_id": "consumer-group-1",
- "topic_name": "topic-1",
- "partition_id": 1,
- "consumer_id": "consumer-1",
- "instance_id": "consumer-instance-1",
- "client_id": "client-1",
- "current_offset": 1,
- "log_end_offset": 101,
- "lag": 100
}
cluster_id required | string Example: cluster-1 The Kafka cluster ID. |
topic_name required | string Example: topic-1 The topic name. |
curl --request GET \ --url 'https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/{cluster_id}/topics/{topic_name}/partitions'
{- "kind": "KafkaPartitionList",
- "metadata": {
- "next": null
}, - "data": [
- {
- "kind": "KafkaPartition",
- "metadata": {
- "resource_name": "crn:///kafka=cluster-1/topic=topic-1/partition=1"
}, - "cluster_id": "cluster-1",
- "topic_name": "topic-1",
- "partition_id": 1,
- "reassignment": {
}
}, - {
- "kind": "KafkaPartition",
- "metadata": {
- "resource_name": "crn:///kafka=cluster-1/topic=topic-1/partition=2"
}, - "cluster_id": "cluster-1",
- "topic_name": "topic-1",
- "partition_id": 2,
- "reassignment": {
}
}, - {
- "kind": "KafkaPartition",
- "metadata": {
- "resource_name": "crn:///kafka=cluster-1/topic=topic-1/partition=3"
}, - "cluster_id": "cluster-1",
- "topic_name": "topic-1",
- "partition_id": 3,
- "reassignment": {
}
}
]
}
cluster_id required | string Example: cluster-1 The Kafka cluster ID. |
topic_name required | string Example: topic-1 The topic name. |
partition_id required | integer The partition ID. |
curl --request GET \ --url 'https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/{cluster_id}/topics/{topic_name}/partitions/{partition_id}'
{- "kind": "KafkaPartition",
- "metadata": {
- "resource_name": "crn:///kafka=cluster-1/topic=topic-1/partition=1"
}, - "cluster_id": "cluster-1",
- "topic_name": "topic-1",
- "partition_id": 1,
- "reassignment": {
}
}
cluster_id required | string Example: cluster-1 The Kafka cluster ID. |
curl --request GET \ --url 'https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/{cluster_id}/topics'
{- "kind": "KafkaTopicList",
- "metadata": {
- "next": null
}, - "data": [
- {
- "kind": "KafkaTopic",
- "metadata": {
- "resource_name": "crn:///kafka=cluster-1/topic=topic-1"
}, - "cluster_id": "cluster-1",
- "topic_name": "topic-1",
- "is_internal": false,
- "replication_factor": 3,
- "partitions_count": 1,
- "partitions": {
}, - "configs": {
}, - "partition_reassignments": {
}
}, - {
- "kind": "KafkaTopic",
- "metadata": {
- "resource_name": "crn:///kafka=cluster-1/topic=topic-2"
}, - "cluster_id": "cluster-1",
- "topic_name": "topic-2",
- "is_internal": true,
- "replication_factor": 4,
- "partitions_count": 1,
- "partitions": {
}, - "configs": {
}, - "partition_reassignments": {
}
}, - {
- "kind": "KafkaTopic",
- "metadata": {
- "resource_name": "crn:///kafka=cluster-1/topic=topic-3"
}, - "cluster_id": "cluster-1",
- "topic_name": "topic-3",
- "is_internal": false,
- "replication_factor": 5,
- "partitions_count": 1,
- "partitions": {
}, - "configs": {
}, - "partition_reassignments": {
}
}
]
}
cluster_id required | string Example: cluster-1 The Kafka cluster ID. |
The topic creation request.
topic_name required | string |
partitions_count | integer |
replication_factor | integer |
Array of objects | |
Array of objects |
{- "topic_name": "topic-X",
- "partitions_count": 64,
- "replication_factor": 3,
- "configs": [
- {
- "name": "cleanup.policy",
- "value": "compact"
}, - {
- "name": "compression.type",
- "value": "gzip"
}
]
}
{- "kind": "KafkaTopic",
- "metadata": {
- "resource_name": "crn:///kafka=cluster-1/topic=topic-X"
}, - "cluster_id": "cluster-1",
- "topic_name": "topic-X",
- "is_internal": false,
- "replication_factor": 3,
- "partitions_count": 1,
- "partitions": {
}, - "configs": {
}, - "partition_reassignments": {
}
}
cluster_id required | string Example: cluster-1 The Kafka cluster ID. |
topic_name required | string Example: topic-1 The topic name. |
curl --request GET \ --url 'https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/{cluster_id}/topics/{topic_name}'
{- "kind": "KafkaTopic",
- "metadata": {
- "resource_name": "crn:///kafka=cluster-1/topic=topic-1"
}, - "cluster_id": "cluster-1",
- "topic_name": "topic-1",
- "is_internal": false,
- "replication_factor": 3,
- "partitions_count": 1,
- "partitions": {
}, - "configs": {
}, - "partition_reassignments": {
}
}
cluster_id required | string Example: cluster-1 The Kafka cluster ID. |
topic_name required | string Example: topic-1 The topic name. |
curl --request DELETE \ --url 'https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/{cluster_id}/topics/{topic_name}'
cluster_id required | string Example: cluster-1 The Kafka cluster ID. |
curl --request GET \ --url 'https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/{cluster_id}/links'
{