From 293826e462e47e13a64898b4a3fa504c89c2fe6b Mon Sep 17 00:00:00 2001 From: Jeffrey Aven Date: Wed, 30 Oct 2024 16:51:18 +1100 Subject: [PATCH] confluent provider --- .../src/confluent/v00.00.00000/provider.yaml | 207 + .../v00.00.00000/services/billing.yaml | 2571 +++ .../v00.00.00000/services/catalog.yaml | 5894 +++++ .../v00.00.00000/services/connect.yaml | 7956 +++++++ .../services/encryption_keys.yaml | 5737 +++++ .../services/flink_artifacts.yaml | 4133 ++++ .../services/flink_compute_pools.yaml | 4098 ++++ .../confluent/v00.00.00000/services/iam.yaml | 14964 ++++++++++++ .../v00.00.00000/services/kafka.yaml | 10393 +++++++++ .../services/ksqldb_clusters.yaml | 3590 +++ .../services/managed_kafka_clusters.yaml | 4127 ++++ .../v00.00.00000/services/networking.yaml | 18978 ++++++++++++++++ .../v00.00.00000/services/notifications.yaml | 5231 +++++ .../confluent/v00.00.00000/services/org.yaml | 4155 ++++ .../v00.00.00000/services/partner.yaml | 4253 ++++ .../v00.00.00000/services/pipelines.yaml | 3844 ++++ .../services/provider_integrations.yaml | 3369 +++ .../v00.00.00000/services/quotas.yaml | 4780 ++++ .../services/schema_registry.yaml | 9326 ++++++++ .../services/schema_registry_clusters.yaml | 4799 ++++ .../confluent/v00.00.00000/services/sql.yaml | 5603 +++++ .../v00.00.00000/services/stream_sharing.yaml | 7236 ++++++ .../confluent/v00.00.00000/services/sts.yaml | 2419 ++ 23 files changed, 137663 insertions(+) create mode 100644 providers/src/confluent/v00.00.00000/provider.yaml create mode 100644 providers/src/confluent/v00.00.00000/services/billing.yaml create mode 100644 providers/src/confluent/v00.00.00000/services/catalog.yaml create mode 100644 providers/src/confluent/v00.00.00000/services/connect.yaml create mode 100644 providers/src/confluent/v00.00.00000/services/encryption_keys.yaml create mode 100644 providers/src/confluent/v00.00.00000/services/flink_artifacts.yaml create mode 100644 providers/src/confluent/v00.00.00000/services/flink_compute_pools.yaml create mode 100644 providers/src/confluent/v00.00.00000/services/iam.yaml create mode 100644 providers/src/confluent/v00.00.00000/services/kafka.yaml create mode 100644 providers/src/confluent/v00.00.00000/services/ksqldb_clusters.yaml create mode 100644 providers/src/confluent/v00.00.00000/services/managed_kafka_clusters.yaml create mode 100644 providers/src/confluent/v00.00.00000/services/networking.yaml create mode 100644 providers/src/confluent/v00.00.00000/services/notifications.yaml create mode 100644 providers/src/confluent/v00.00.00000/services/org.yaml create mode 100644 providers/src/confluent/v00.00.00000/services/partner.yaml create mode 100644 providers/src/confluent/v00.00.00000/services/pipelines.yaml create mode 100644 providers/src/confluent/v00.00.00000/services/provider_integrations.yaml create mode 100644 providers/src/confluent/v00.00.00000/services/quotas.yaml create mode 100644 providers/src/confluent/v00.00.00000/services/schema_registry.yaml create mode 100644 providers/src/confluent/v00.00.00000/services/schema_registry_clusters.yaml create mode 100644 providers/src/confluent/v00.00.00000/services/sql.yaml create mode 100644 providers/src/confluent/v00.00.00000/services/stream_sharing.yaml create mode 100644 providers/src/confluent/v00.00.00000/services/sts.yaml diff --git a/providers/src/confluent/v00.00.00000/provider.yaml b/providers/src/confluent/v00.00.00000/provider.yaml new file mode 100644 index 00000000..2eb34966 --- /dev/null +++ b/providers/src/confluent/v00.00.00000/provider.yaml @@ -0,0 +1,207 @@ +id: confluent +name: confluent +version: v00.00.00000 +providerServices: + billing: + id: 'billing:v00.00.00000' + name: billing + preferred: true + service: + $ref: confluent/v00.00.00000/services/billing.yaml + title: Confluent Cloud APIs - Billing + version: v00.00.00000 + description: Billing + catalog: + id: 'catalog:v00.00.00000' + name: catalog + preferred: true + service: + $ref: confluent/v00.00.00000/services/catalog.yaml + title: Confluent Cloud APIs - Catalog + version: v00.00.00000 + description: Catalog + connect: + id: 'connect:v00.00.00000' + name: connect + preferred: true + service: + $ref: confluent/v00.00.00000/services/connect.yaml + title: Confluent Cloud APIs - Connect + version: v00.00.00000 + description: Connect + encryption_keys: + id: 'encryption_keys:v00.00.00000' + name: encryption_keys + preferred: true + service: + $ref: confluent/v00.00.00000/services/encryption_keys.yaml + title: Confluent Cloud APIs - Encryption Keys + version: v00.00.00000 + description: Encryption Keys + flink_artifacts: + id: 'flink_artifacts:v00.00.00000' + name: flink_artifacts + preferred: true + service: + $ref: confluent/v00.00.00000/services/flink_artifacts.yaml + title: Confluent Cloud APIs - Flink Artifacts + version: v00.00.00000 + description: Flink Artifacts + flink_compute_pools: + id: 'flink_compute_pools:v00.00.00000' + name: flink_compute_pools + preferred: true + service: + $ref: confluent/v00.00.00000/services/flink_compute_pools.yaml + title: Confluent Cloud APIs - Flink Compute Pools + version: v00.00.00000 + description: Flink Compute Pools + iam: + id: 'iam:v00.00.00000' + name: iam + preferred: true + service: + $ref: confluent/v00.00.00000/services/iam.yaml + title: Confluent Cloud APIs - Iam + version: v00.00.00000 + description: Iam + kafka: + id: 'kafka:v00.00.00000' + name: kafka + preferred: true + service: + $ref: confluent/v00.00.00000/services/kafka.yaml + title: Confluent Cloud APIs - Kafka + version: v00.00.00000 + description: Kafka + ksqldb_clusters: + id: 'ksqldb_clusters:v00.00.00000' + name: ksqldb_clusters + preferred: true + service: + $ref: confluent/v00.00.00000/services/ksqldb_clusters.yaml + title: Confluent Cloud APIs - Ksqldb Clusters + version: v00.00.00000 + description: Ksqldb Clusters + managed_kafka_clusters: + id: 'managed_kafka_clusters:v00.00.00000' + name: managed_kafka_clusters + preferred: true + service: + $ref: confluent/v00.00.00000/services/managed_kafka_clusters.yaml + title: Confluent Cloud APIs - Managed Kafka Clusters + version: v00.00.00000 + description: Managed Kafka Clusters + networking: + id: 'networking:v00.00.00000' + name: networking + preferred: true + service: + $ref: confluent/v00.00.00000/services/networking.yaml + title: Confluent Cloud APIs - Networking + version: v00.00.00000 + description: Networking + notifications: + id: 'notifications:v00.00.00000' + name: notifications + preferred: true + service: + $ref: confluent/v00.00.00000/services/notifications.yaml + title: Confluent Cloud APIs - Notifications + version: v00.00.00000 + description: Notifications + org: + id: 'org:v00.00.00000' + name: org + preferred: true + service: + $ref: confluent/v00.00.00000/services/org.yaml + title: Confluent Cloud APIs - Org + version: v00.00.00000 + description: Org + partner: + id: 'partner:v00.00.00000' + name: partner + preferred: true + service: + $ref: confluent/v00.00.00000/services/partner.yaml + title: Confluent Cloud APIs - Partner + version: v00.00.00000 + description: Partner + pipelines: + id: 'pipelines:v00.00.00000' + name: pipelines + preferred: true + service: + $ref: confluent/v00.00.00000/services/pipelines.yaml + title: Confluent Cloud APIs - Pipelines + version: v00.00.00000 + description: Pipelines + provider_integrations: + id: 'provider_integrations:v00.00.00000' + name: provider_integrations + preferred: true + service: + $ref: confluent/v00.00.00000/services/provider_integrations.yaml + title: Confluent Cloud APIs - Provider Integrations + version: v00.00.00000 + description: Provider Integrations + quotas: + id: 'quotas:v00.00.00000' + name: quotas + preferred: true + service: + $ref: confluent/v00.00.00000/services/quotas.yaml + title: Confluent Cloud APIs - Quotas + version: v00.00.00000 + description: Quotas + schema_registry: + id: 'schema_registry:v00.00.00000' + name: schema_registry + preferred: true + service: + $ref: confluent/v00.00.00000/services/schema_registry.yaml + title: Confluent Cloud APIs - Schema Registry + version: v00.00.00000 + description: Schema Registry + schema_registry_clusters: + id: 'schema_registry_clusters:v00.00.00000' + name: schema_registry_clusters + preferred: true + service: + $ref: confluent/v00.00.00000/services/schema_registry_clusters.yaml + title: Confluent Cloud APIs - Schema Registry Clusters + version: v00.00.00000 + description: Schema Registry Clusters + sql: + id: 'sql:v00.00.00000' + name: sql + preferred: true + service: + $ref: confluent/v00.00.00000/services/sql.yaml + title: Confluent Cloud APIs - Sql + version: v00.00.00000 + description: Sql + stream_sharing: + id: 'stream_sharing:v00.00.00000' + name: stream_sharing + preferred: true + service: + $ref: confluent/v00.00.00000/services/stream_sharing.yaml + title: Confluent Cloud APIs - Stream Sharing + version: v00.00.00000 + description: Stream Sharing + sts: + id: 'sts:v00.00.00000' + name: sts + preferred: true + service: + $ref: confluent/v00.00.00000/services/sts.yaml + title: Confluent Cloud APIs - Sts + version: v00.00.00000 + description: Sts +config: + auth: + type: basic + username_var: CONFLUENT_CLOUD_API_KEY + password_var: CONFLUENT_CLOUD_API_SECRET diff --git a/providers/src/confluent/v00.00.00000/services/billing.yaml b/providers/src/confluent/v00.00.00000/services/billing.yaml new file mode 100644 index 00000000..a70baea0 --- /dev/null +++ b/providers/src/confluent/v00.00.00000/services/billing.yaml @@ -0,0 +1,2571 @@ +openapi: 3.0.0 +servers: + - url: 'https://api.confluent.cloud' + description: Confluent Cloud API +info: + version: '' + contact: + name: Confluent Cloud + url: 'https://www.confluent.io/cloud-contact-us/' + email: support@confluent.io + x-api-id: 46234552-5833-42eb-ba0f-883ad3f70d2b + x-audience: external-public + x-logo: + url: 'https://assets.confluent.io/m/5ec23aa91903c00b/' + title: Confluent Cloud APIs - billing + description: billing +tags: + - name: API Keys (iam/v2) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + `ApiKey` objects represent access to different parts of Confluent Cloud. Some types + of API keys represent access to a single cluster/resource such as a Kafka cluster, + Schema Registry cluster or a ksqlDB cluster. Cloud API Keys represent access to resources within an organization + that are not tied to a specific cluster, such as the Org API, IAM API, Metrics API or Connect API. + + The API allows you to list, create, update and delete your API Keys. + + + Related guide: [API Keys in Confluent Cloud](https://docs.confluent.io/cloud/current/client-apps/api-keys.html). + + ## The API Keys Model + + + ## Quotas and Limits + This resource is subject to the [following quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): + + | Quota | Description | + | --- | --- | + | `apikeys_per_org` | API Keys in one Confluent Cloud organization | + - name: Environments (org/v2) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + `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](https://docs.confluent.io/cloud/current/access-management/environments.html). + + ## The Environments Model + + + ## Quotas and Limits + This resource is subject to the [following quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): + + | Quota | Description | + | --- | --- | + | `environments_per_org` | Environments in one Confluent Cloud organization | + - name: Organizations (org/v2) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + `Organization` objects represent a customer organization. An organization contains all customer + resources (e.g., Environments, Kafka Clusters, Service Accounts, API Keys) and is tied to a billing + agreement (including any annual commitment or support plan). + + The API allows you to list, view, and update your organizations. + + + Related guide: [Organizations for Confluent Cloud](https://docs.confluent.io/cloud/current/access-management/hierarchy/organizations/cloud-organization.html). + + ## The Organizations Model + + + ## Quotas and Limits + This resource is subject to the [following quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): + + | Quota | Description | + | --- | --- | + | `organizations_per_user` | Confluent Cloud organizations a user belongs to | + - name: Users (iam/v2) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + `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](https://docs.confluent.io/cloud/current/access-management/user-account.html). + + ## The Users Model + + + ## Quotas and Limits + This resource is subject to the [following quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): + + | Quota | Description | + | --- | --- | + | `users_per_org` | Users in one Confluent Cloud organization | + - name: Service Accounts (iam/v2) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + `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](https://docs.confluent.io/cloud/current/access-management/service-account.html). + + ## The Service Accounts Model + + + ## Quotas and Limits + This resource is subject to the [following quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): + + | Quota | Description | + | --- | --- | + | `service_accounts_per_org` | Service Accounts in one Confluent Cloud organization | + - name: Invitations (iam/v2) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + `Invitation` objects represent invitations to invite users to join your organizations in Confluent Cloud. + + The API allows you to list all your invitations, as well as create, read, and delete a specified invitation. + + + Related guide: [User invitations in Confluent Cloud](https://docs.confluent.io/cloud/current/access-management/identity/user-accounts.html). + + ## The Invitations Model + + + ## Quotas and Limits + This resource is subject to the [following quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): + + | Quota | Description | + | --- | --- | + | `invitations_per_org` | Invitations in a Confluent Cloud organization | + - name: IP Groups (iam/v2) + description: |- + [![Limited Availability](https://img.shields.io/badge/Lifecycle%20Stage-Limited%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) [![Request Access To IP Groups API](https://img.shields.io/badge/-Request%20Access%20To%20IP%20Groups%20API-%23bc8540)](mailto:cloud-support@confluent.io?subject=Request%20to%20join%20IP%20Filtering%20API%20Limited%20Access&body=I%E2%80%99d%20like%20to%20join%20the%20Confluent%20Cloud%20API%20Limited%20Access%20for%20IP%20Filtering.%0AMy%20Cloud%20Organization%20ID%20is%20%3Cretrieve%20from%20https%3A//confluent.cloud/settings/billing/payment%3E.%0A) + + Definitions of networks which can be named and referred by IP blocks, commonly used to attach to IP Filter rules. + + + ## The IP Groups Model + + - name: IP Filters (iam/v2) + description: |- + [![Limited Availability](https://img.shields.io/badge/Lifecycle%20Stage-Limited%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) [![Request Access To IP Filters API](https://img.shields.io/badge/-Request%20Access%20To%20IP%20Filters%20API-%23bc8540)](mailto:ccloud-api-access+iam-v2-limited-availability@confluent.io?subject=Request%20to%20join%20iam/v2%20API%20Limited%20Availability&body=I%E2%80%99d%20like%20to%20join%20the%20Confluent%20Cloud%20API%20Limited%20Availability%20for%20iam/v2%20to%20provide%20early%20feedback%21%20My%20Cloud%20Organization%20ID%20is%20%3Cretrieve%20from%20https%3A//confluent.cloud/settings/billing/payment%3E.) + + `IP Filter` objects are bindings between IP Groups and Confluent resource(s). + For example, a binding between "CorpNet" and "Management APIs" will enforce that + access must come from one of the CIDR blocks associated with CorpNet. + If there are multiple IP filters bound to a resource, a request matching any of the CIDR blocks + for any of the IP Group will allow the request. + If there are no IP Filters for a resource, then access will be granted to requests originating + from any IP Address. + + + ## The IP Filters Model + + - name: Role Bindings (iam/v2) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + A role binding grants a Principal a role on resources that match a pattern. + + The API allows you to perform create, delete, and list operations on role bindings. + + + Related guide: [Role-Based Access Control (RBAC)](https://docs.confluent.io/cloud/current/access-management/access-control/cloud-rbac.html). + + ## The Role Bindings Model + + - name: Subscriptions (notifications/v1) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + `Subscription` objects represent the intent of the customers to get notifications of particular types. + A subscription is created for a particular `NotificationType` and the user will get notifications on the + `Integrations` that are provided while creating the subscription. + + This API allows you to create, retrieve, and update subscriptions, + as well as to view the list of all your subscriptions. You can also delete subscriptions + with RECOMMENDED or OPTIONAL notification types. Subscriptions with REQUIRED notification types cannot be deleted. + + + Related guide: [Cloud Notifications](https://docs.confluent.io/cloud/current/monitoring/configure-notifications.html#notifications-for-ccloud). + + ## The Subscriptions Model + + - name: Integrations (notifications/v1) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + You can create an `Integration` to specify how we can notify you when we receive an alert/notification for + a subscription. Please note that you can only perform create, update and delete operations for integrations + of type `Webhook`, `Slack` and `MsTeams`. You cannot create, update or delete integrations of type `RoleEmail` + and `UserEmail`. + + + Related guide: [Cloud Notifications](https://docs.confluent.io/cloud/current/monitoring/configure-notifications.html#notifications-for-ccloud). + + ## The Integrations Model + + + ## Quotas and Limits + This resource is subject to the [following quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): + + | Quota | Description | + | --- | --- | + | `integrations_per_org` | Maximum number of integrations in one Confluent Cloud organization | + - name: Notification Types (notifications/v1) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + The type of notifications (and their corresponding metadata) supported by Confluent. + + + Related guide: [Cloud Notifications](https://docs.confluent.io/cloud/current/monitoring/configure-notifications.html#notifications-for-ccloud). + + ## The Notification Types Model + + - name: Clusters (cmk/v2) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + `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](https://docs.confluent.io/cloud/current/clusters/cluster-api.html). + + ## The Clusters Model + + + ## Quotas and Limits + This resource is subject to the [following quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): + + | Quota | Description | + | --- | --- | + | `kafka_clusters_per_environment` | Number of clusters in one Confluent Cloud environment | + - name: Clusters (ksqldbcm/v2) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + `Cluster` represents a ksqlDB runtime that you can issue queries to using its API endpoint. + It executes SQL statements and queries which under the hood get built into corresponding + Kafka Streams topologies. The API allows you to list, create, read, and delete your ksqlDB clusters. + + + Related guide: [ksqlDB in Confluent Cloud](https://docs.confluent.io/cloud/current/ksqldb/ksqldb-cluster-api.html). + + ## The Clusters Model + + + ## Quotas and Limits + This resource is subject to the following quotas: + + | Quota | Description | + | --- | --- | + | `ksql.limits.max_apps_per_cluster` | Clusters in one Confluent Cloud Kafka Cluster. | + - name: Connectors (connect/v1) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + API for Managed Connectors or Custom Connectors in Confluent Cloud. + + The API allows you to list, create, get, update and delete a Managed Connector or Custom Connector in Confluent Cloud. + + Connect metrics are available through the [Metrics v2 API](https://api.telemetry.confluent.cloud/docs#tag/Version-2). + + Related guide: [Confluent Cloud API and Managed Connectors](https://docs.confluent.io/cloud/current/connectors/connect-api-section.html). + - name: Lifecycle (connect/v1) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + API for managing the lifecycle for a Managed Connector or Custom Connector in Confluent Cloud. Operations currently supported are Pause and Resume. + - name: Status (connect/v1) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + API for requesting the status or the tasks for a Managed Connector or Custom Connector in Confluent Cloud. + - name: Managed Connector Plugins (connect/v1) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + API for Managed connectors in Confluent Cloud. + - name: Offsets (connect/v1) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + API for managing the offsets for a Managed Connector. + + Related guide: [Manage Connector Offsets](https://docs.confluent.io/cloud/current/connectors/offsets.html#manage-offsets-for-fully-managed-connectors-in-ccloud) + - name: Custom Connector Plugins (connect/v1) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + CustomConnectorPlugins objects represent Custom Connector Plugins on Confluent Cloud. + The API allows you to list, create, read, update, and delete your Custom Connector Plugins. + Related guide: + [Custom Connector Plugin API](https://docs.confluent.io/cloud/current/connectors/connect-api-section.html). + + + ## The Custom Connector Plugins Model + + - name: Presigned Urls (connect/v1) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + Request a presigned upload URL for new Custom Connector Plugin. Note that + the URL policy expires in one hour. If the policy expires, you can request + a new presigned upload URL. + + Related guide: + [Custom Connector Plugin API](https://docs.confluent.io/cloud/current/connectors/connect-api-section.html). + + + ## The Presigned Urls Model + + - name: Cluster (v3) + description: '[![Generally Available](https://img.shields.io/badge/Lifecycle%20Stage-Generally%20Available-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy)' + - name: Configs (v3) + description: '[![Generally Available](https://img.shields.io/badge/Lifecycle%20Stage-Generally%20Available-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy)' + - name: ACL (v3) + description: '[![Generally Available](https://img.shields.io/badge/Lifecycle%20Stage-Generally%20Available-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy)' + - name: Consumer Group (v3) + description: '[![Generally Available](https://img.shields.io/badge/Lifecycle%20Stage-Generally%20Available-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy)' + - name: Partition (v3) + description: '[![Generally Available](https://img.shields.io/badge/Lifecycle%20Stage-Generally%20Available-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy)' + - name: Topic (v3) + description: '[![Generally Available](https://img.shields.io/badge/Lifecycle%20Stage-Generally%20Available-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy)' + - name: Records (v3) + description: '[![Generally Available](https://img.shields.io/badge/Lifecycle%20Stage-Generally%20Available-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy)' + - name: Cluster Linking (v3) + description: '[![Generally Available](https://img.shields.io/badge/Lifecycle%20Stage-Generally%20Available-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy)' + - name: Applied Quotas (service-quota/v1) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + A `quota` object represents a quota configuration for a specific Confluent Cloud resource. + Use this API to retrieve an individual quota or list of quotas for a given scope. + + + Related guide: [Service Quotas for Confluent Cloud](https://docs.confluent.io/cloud/current/quotas/index.html). + + ## The Applied Quotas Model + + - name: Scopes (service-quota/v1) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + Gets a list of all available scopes for applied quotas. + + + Related guide: [Quota Scopes](https://docs.confluent.io/cloud/current/quotas/quotas.html#query-for-scopes). + + ## The Scopes Model + + - name: Entitlements (partner/v2) + description: | + [![Early Access](https://img.shields.io/badge/Lifecycle%20Stage-Early%20Access-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) [![Request Access To Partner v2](https://img.shields.io/badge/-Request%20Access%20To%20Partner%20v2-%23bc8540)](mailto:ccloud-api-access+partner-v2-early-access@confluent.io?subject=Request%20to%20join%20partner/v2%20API%20Early%20Access&body=I%E2%80%99d%20like%20to%20join%20the%20Confluent%20Cloud%20API%20Early%20Access%20for%20partner/v2%20to%20provide%20early%20feedback%21%20My%20Cloud%20Organization%20ID%20is%20%3Cretrieve%20from%20https%3A//confluent.cloud/settings/billing/payment%3E.) + + `Entitlement` objects represent metadata about a marketplace entitlement. + + An entitlement includes metadata about a marketplace purchase + (start date, end date, billing information, partner IDs, etc). + The API allows partners to create, read, and list entitlements. (Unless you + need entitlement creation and customer registration to be separate, + we recommend using the Signup API to create an organization and entitlement + at the same time) + + The API only allows authorized partners to interact with the Entitlements API. + - name: Regions (srcm/v2) + description: |- + [![Deprecated](https://img.shields.io/badge/Lifecycle%20Stage-Deprecated-%23ff005c)](#section/Versioning/API-Lifecycle-Policy) + + `Region` objects represent cloud provider regions available when placing Schema Registry clusters. + The API allows you to list Schema Registry regions. + + + Related guides: + * [Confluent Cloud providers and region support](https://docs.confluent.io/cloud/current/stream-governance/packages.html#cloud-providers-and-region-support). + * [srcm/v3 Migration Guide](https://docs.confluent.io/cloud/current/stream-governance/packages.html#deprecation-of-srcm-v2-clusters-and-regions-apis-and-upgrade-guide). + + + ## The Regions Model + + - name: Clusters (srcm/v2) + description: |- + [![Deprecated](https://img.shields.io/badge/Lifecycle%20Stage-Deprecated-%23ff005c)](#section/Versioning/API-Lifecycle-Policy) + + `Clusters` objects represent Schema Registry Clusters on Confluent Cloud. + + The API allows you to list, create, read, and delete your Schema Registry clusters. + + + Related guides: + * [Confluent Cloud Schema Registry Cluster APIs](https://docs.confluent.io/cloud/current/stream-governance/clusters-regions-api.html#schema-registry-cluster-management). + * [srcm/v3 Migration Guide](https://docs.confluent.io/cloud/current/stream-governance/packages.html#deprecation-of-srcm-v2-clusters-and-regions-apis-and-upgrade-guide). + + + ## The Clusters Model + + - name: Clusters (srcm/v3) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + `Clusters` objects represent Schema Registry Clusters on Confluent Cloud. + + The API allows you to list and read your Schema Registry clusters. + + + Related guide: [Confluent Cloud Schema Registry Cluster APIs](https://docs.confluent.io/cloud/current/stream-governance/clusters-regions-api.html#schema-registry-cluster-management). + + ## The Clusters Model + + - name: Compatibility (v1) + description: |- + [![Generally Available](https://img.shields.io/badge/Lifecycle%20Stage-Generally%20Available-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + The API allows you to test schema compatibility. + + Related guide: [Manage Schemas in Confluent Cloud](https://docs.confluent.io/cloud/current/sr/schemas-manage.html#manage-schemas-in-ccloud). + - name: Config (v1) + description: |- + [![Generally Available](https://img.shields.io/badge/Lifecycle%20Stage-Generally%20Available-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + The API allows you to manage and query schema compatibility settings and cluster configurations. + + Related guide: [Manage Schemas in Confluent Cloud](https://docs.confluent.io/cloud/current/sr/schemas-manage.html#manage-schemas-in-ccloud). + - name: Contexts (v1) + description: |- + [![Generally Available](https://img.shields.io/badge/Lifecycle%20Stage-Generally%20Available-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + The API allows you to retrieve information about schema contexts. + + Related guide: [Manage Schemas in Confluent Cloud](https://docs.confluent.io/cloud/current/sr/schemas-manage.html#manage-schemas-in-ccloud). + - name: Exporters (v1) + description: |- + [![Generally Available](https://img.shields.io/badge/Lifecycle%20Stage-Generally%20Available-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + The API allows you to create, retrieve, update, and delete exporters. + + Related guide: [Manage Schemas in Confluent Cloud](https://docs.confluent.io/cloud/current/sr/schemas-manage.html#manage-schemas-in-ccloud). + - name: Modes (v1) + description: |- + [![Generally Available](https://img.shields.io/badge/Lifecycle%20Stage-Generally%20Available-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + The API allows you to create, retrieve, update, and delete schema subjects modes of operation. + + Related guide: [Manage Schemas in Confluent Cloud](https://docs.confluent.io/cloud/current/sr/schemas-manage.html#manage-schemas-in-ccloud). + - name: Schemas (v1) + description: |- + [![Generally Available](https://img.shields.io/badge/Lifecycle%20Stage-Generally%20Available-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + The API allows you to create, retrieve, update, and delete schemas. + + Related guide: [Manage Schemas in Confluent Cloud](https://docs.confluent.io/cloud/current/sr/schemas-manage.html#manage-schemas-in-ccloud). + - name: Subjects (v1) + description: |- + [![Generally Available](https://img.shields.io/badge/Lifecycle%20Stage-Generally%20Available-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + The API allows you to create, retrieve, update, and delete schema subjects and versions. + + Related guide: [Manage Schemas in Confluent Cloud](https://docs.confluent.io/cloud/current/sr/schemas-manage.html#manage-schemas-in-ccloud). + - name: Key Encryption Keys (v1) + description: |- + [![Generally Available](https://img.shields.io/badge/Lifecycle%20Stage-Generally%20Available-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + The API allows you to create, retrieve, update, and delete key encryption keys. + + Related guide: [Manage Schemas in Confluent Cloud](https://docs.confluent.io/cloud/current/sr/schemas-manage.html#manage-schemas-in-ccloud). + - name: Data Encryption Keys (v1) + description: |- + [![Generally Available](https://img.shields.io/badge/Lifecycle%20Stage-Generally%20Available-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + The API allows you to create, retrieve, update, and delete data encryption keys. + + Related guide: [Manage Schemas in Confluent Cloud](https://docs.confluent.io/cloud/current/sr/schemas-manage.html#manage-schemas-in-ccloud). + - name: Entity (v1) + description: |- + [![Generally Available](https://img.shields.io/badge/Lifecycle%20Stage-Generally%20Available-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + The API allows you to create, retrieve, update, and delete catalog entities. + + Related guide: [Catalog API Documentation](https://docs.confluent.io/cloud/current/stream-governance/stream-catalog.html#catalog-api-documentation). + - name: Search (v1) + description: |- + [![Generally Available](https://img.shields.io/badge/Lifecycle%20Stage-Generally%20Available-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + The API allows you to search for entities. + + Related guide: [Catalog API Documentation](https://docs.confluent.io/cloud/current/stream-governance/stream-catalog.html#catalog-api-documentation). + - name: Types (v1) + description: |- + [![Generally Available](https://img.shields.io/badge/Lifecycle%20Stage-Generally%20Available-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + The API allows you to create, retrieve, update, and delete catalog types such as tag definitions. + + Related guide: [Catalog API Documentation](https://docs.confluent.io/cloud/current/stream-governance/stream-catalog.html#catalog-api-documentation). + - name: Provider Shared Resources (cdx/v1) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + `ProviderSharedResource` object contains details of the data stream + (topic, schema registry subjects, sharing metadata) that you have shared through Stream Sharing. + + + ## The Provider Shared Resources Model + + - name: Provider Shares (cdx/v1) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + `ProviderShare` object respresents the share that you have created through Stream Sharing. + + + Related guide: [Provider Stream Shares in Confluent Cloud](https://docs.confluent.io/cloud/current/stream-sharing/produce-shared-data.html#stream-shares). + + ## The Provider Shares Model + + - name: Consumer Shared Resources (cdx/v1) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + `ConsumerSharedResource` object contains details of the data stream + (topic, schema registry subjects, sharing metadata) that you received through Stream Sharing. + + + ## The Consumer Shared Resources Model + + - name: Consumer Shares (cdx/v1) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + `ConsumerShare` object respresents the share that you received through Stream Sharing. + + + Related guide: [Consumer Stream Shares in Confluent Cloud](https://docs.confluent.io/cloud/current/stream-sharing/consume-shared-data.html). + + ## The Consumer Shares Model + + - name: Shared Tokens (cdx/v1) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + Encrypted Token shared with consumer + + + ## The Shared Tokens Model + + - name: Opt Ins (cdx/v1) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + Stream sharing opt in options + + ## The Opt Ins Model + + - name: Organizations (partner/v2) + description: | + [![Early Access](https://img.shields.io/badge/Lifecycle%20Stage-Early%20Access-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) [![Request Access To Partner v2](https://img.shields.io/badge/-Request%20Access%20To%20Partner%20v2-%23bc8540)](mailto:ccloud-api-access+partner-v2-early-access@confluent.io?subject=Request%20to%20join%20partner/v2%20API%20Early%20Access&body=I%E2%80%99d%20like%20to%20join%20the%20Confluent%20Cloud%20API%20Early%20Access%20for%20partner/v2%20to%20provide%20early%20feedback%21%20My%20Cloud%20Organization%20ID%20is%20%3Cretrieve%20from%20https%3A//confluent.cloud/settings/billing/payment%3E.) + + `Organizations` objects represent an entire Confluent Cloud organization. + Partners are allowed to get an organization they have signed up or + list all organizations they have signed up. + - name: Signup (partner/v2) + description: | + [![Early Access](https://img.shields.io/badge/Lifecycle%20Stage-Early%20Access-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) [![Request Access To Partner v2](https://img.shields.io/badge/-Request%20Access%20To%20Partner%20v2-%23bc8540)](mailto:ccloud-api-access+partner-v2-early-access@confluent.io?subject=Request%20to%20join%20partner/v2%20API%20Early%20Access&body=I%E2%80%99d%20like%20to%20join%20the%20Confluent%20Cloud%20API%20Early%20Access%20for%20partner/v2%20to%20provide%20early%20feedback%21%20My%20Cloud%20Organization%20ID%20is%20%3Cretrieve%20from%20https%3A//confluent.cloud/settings/billing/payment%3E.) + + `Signup` APIs can only be performed by partners. + - name: Networks (networking/v1) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + `Network` represents a network (VPC) in Confluent Cloud. All Networks exist within Confluent-managed cloud + provider accounts. Dedicated networks support more networking options but can only contain Dedicated clusters. + Shared networks can contain any cluster type. + + The API allows you to list, create, read, update, and delete your networks. + + + Related guide: [APIs to manage networks in Confluent Cloud](https://docs.confluent.io/cloud/current/networking/overview.html). + + ## The Networks Model + + + ## Quotas and Limits + This resource is subject to the [following quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): + + | Quota | Description | + | --- | --- | + | `dedicated_networks_per_environment` | Number of dedicated networks per Confluent Cloud environment | + - name: Peerings (networking/v1) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + Add or remove VPC/VNet peering connections between your VPC/VNet and Confluent Cloud. + + Related guides: + * [Use VPC peering connections with Confluent Cloud on AWS](https://docs.confluent.io/cloud/current/networking/peering/aws-peering.html). + * [Use VNet peering connections with Confluent Cloud on Azure](https://docs.confluent.io/cloud/current/networking/peering/azure-peering.html). + * [Use VPC peering connections with Confluent Cloud on Google Cloud](https://docs.confluent.io/cloud/current/networking/peering/gcp-peering.html). + + + ## The Peerings Model + + + ## Quotas and Limits + This resource is subject to the [following quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): + + | Quota | Description | + | --- | --- | + | `peerings_per_network` | Number of peerings per network | + - name: Transit Gateway Attachments (networking/v1) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + AWS Transit Gateway Attachments + + Related guide: [APIs to manage AWS Transit Gateway Attachments](https://docs.confluent.io/cloud/current/networking/aws-transit-gateway.html). + + ## The Transit Gateway Attachments Model + + + ## Quotas and Limits + This resource is subject to the [following quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): + + | Quota | Description | + | --- | --- | + | `tgw_attachments_per_network` | Number of TGW attachments per network | + - name: Private Link Accesses (networking/v1) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + Add or remove access to PrivateLink endpoints by AWS account, Azure subscription and GCP project ID. + + Related guides: + * [Use Google Cloud Private Service Connect with Confluent Cloud](https://docs.confluent.io/cloud/current/networking/private-links/gcp-private-service-connect.html). + * [Use Azure Private Link with Confluent Cloud](https://docs.confluent.io/cloud/current/networking/private-links/azure-privatelink.html). + * [Use AWS PrivateLink with Confluent Cloud](https://docs.confluent.io/cloud/current/networking/private-links/aws-privatelink.html). + + + ## The Private Link Accesses Model + + + ## Quotas and Limits + This resource is subject to the [following quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): + + | Quota | Description | + | --- | --- | + | `private_link_accounts_per_network` | Number of AWS accounts per network | + | `private_link_subscriptions_per_network` | Number of Azure subscriptions per network | + | `private_service_connect_projects_per_network` | Number of GCP projects per network | + - name: Network Link Services (networking/v1) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + Network Link Service is associated with a Private Link Confluent Cloud Network. + It enables connectivity from other Private Link Confluent Cloud Networks based on + the configured accept policies. + + + Related guide: [Network Linking Overview](https://docs.confluent.io/cloud/current/networking/network-linking.html). + + ## The Network Link Services Model + + + ## Quotas and Limits + This resource is subject to the [following quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): + + | Quota | Description | + | --- | --- | + | `network_link_service_per_network` | Number of network link services per network | + - name: Network Link Endpoints (networking/v1) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + A Network Link Enpoint is associated with a Private Link Confluent Cloud Network at the origin and a + Network Link Service (associated with another Private Link Confluent Cloud Network) at the target. + It enables connectivity between the origin network and the target network. + It can only be associated with a Private Link network. + + + Related guide: [Network Linking Overview](https://docs.confluent.io/cloud/current/networking/network-linking.html). + + ## The Network Link Endpoints Model + + + ## Quotas and Limits + This resource is subject to the [following quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): + + | Quota | Description | + | --- | --- | + | `network_link_endpoints_per_network` | Number of network link endpoints per network | + - name: Network Link Service Associations (networking/v1) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + List of incoming Network Link Enpoints associated with the Network Link Service. + + + Related guide: [Network Linking Overview](https://docs.confluent.io/cloud/current/networking/network-linking.html). + + ## The Network Link Service Associations Model + + - name: Gateways (networking/v1) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + A gateway is a resource that defines network access to Confluent cloud resources. + + + ## The Gateways Model + + - name: IP Addresses (networking/v1) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + IP Addresses + + Related guide: [Use Public Egress IP addresses on Confluent Cloud](https://docs.confluent.io/cloud/current/networking/static-egress-ip-addresses.html) + + ## The IP Addresses Model + + - name: Private Link Attachments (networking/v1) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + PrivateLink attachment objects represent reservations to establish PrivateLink connections + to a cloud region in order to access resources that belong to a Confluent Cloud Environment. + The API allows you to list, create, read update and delete your PrivateLink attachments. + + + ## The Private Link Attachments Model + + + ## Quotas and Limits + This resource is subject to the [following quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): + + | Quota | Description | + | --- | --- | + | `private_link_attachments_per_environment` | Number of PrivateLink Attachments per environment | + - name: Private Link Attachment Connections (networking/v1) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + PrivateLink attachment connection objects represent connections established to a cloud region + in order to access resources that belong to a Confluent Cloud Environment. + The API allows you to list, create, read update and delete your PrivateLink attachment connections. + + + ## The Private Link Attachment Connections Model + + - name: Identity Providers (iam/v2) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + `IdentityProvider` objects represent external OAuth-OIDC providers in Confluent Cloud. + + The API allows you to list, create, read, update, and delete your Identity Provider. + + + Related guide: [OAuth for Confluent Cloud](https://docs.confluent.io/cloud/current/access-management/authenticate/oauth/overview.html). + + ## The Identity Providers Model + + + ## Quotas and Limits + This resource is subject to the [following quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): + + | Quota | Description | + | --- | --- | + | `identity_providers_per_org` | Number of OAuth identity providers per organization | + | `public_keys_per_provider` | Number of public keys saved per identity provider | + - name: Jwks (iam/v2) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + `JWKS` objects represent public key sets for a specific OAuth/OpenID Connect provider within + Confluent Cloud. + + The API allows you to refresh JWKS public key data. + + + Related guide: [OAuth for Confluent Cloud](https://docs.confluent.io/cloud/current/access-management/authenticate/oauth/overview.html). + + ## The Jwks Model + + - name: Identity Pools (iam/v2) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + `IdentityPool` objects represent groups of identities tied to a given a `IdentityProvider` + that authorizes them to Confluent Cloud resources. + + It provides a mapping functionality of your `Identity Provider` user to a Confluent identity pool that + is then used to provide access to Confluent Resources. + + + Related guide: [Use identity pools with your OAuth provider](https://docs.confluent.io/cloud/current/access-management/authenticate/oauth/identity-pools.html). + + ## The Identity Pools Model + + + ## Quotas and Limits + This resource is subject to the [following quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): + + | Quota | Description | + | --- | --- | + | `identity_pools_per_provider` | Number of Identity Pools per Identity Provider | + - name: OAuth Tokens (sts/v1) + description: | + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + OAuth Token is a [JSON Web Token (JWT)](https://www.rfc-editor.org/rfc/rfc7519) that enables the use of + external identities to access Confluent Cloud APIs + - name: Client Quotas (kafka-quotas/v1) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + `ClientQuota` objects represent Client Quotas you can set at the service account level. + + The API allows you to list, create, read, update, and delete your client quotas. + + + Related guide: [Client Quotas in Confluent Cloud](https://docs.confluent.io/cloud/current/clusters/client-quotas.html). + + ## The Client Quotas Model + + - name: Pipelines (sd/v1) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + `Pipeline` objects represent information about a user-defined pipeline of Confluent Cloud components. + The pipeline's content is available separately. + + The API allows you to create, retrieve, update, and delete your pipelines, + as well as list all of your pipelines for the particular environment and Kafka cluster. + + + Related guide: [Pipelines in Confluent Cloud](https://docs.confluent.io/cloud/current/stream-designer/). + + ## The Pipelines Model + + + ## Quotas and Limits + This resource is subject to the [following quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): + + | Quota | Description | + | --- | --- | + | `pipelines_per_org` | Pipelines in one Confluent Cloud organization | + | `pipelines_per_cluster` | Pipelines in one Confluent Cloud Kafka cluster | + - name: Keys (byok/v1) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + `Key` objects represent customer managed keys on dedicated Confluent Cloud clusters. + + Keys are used to protect data at rest stored in your dedicated Confluent Cloud clusters on AWS, Azure, and GCP. + This API allows you to upload and retrieve self-managed keys on Confluent Cloud. + + + Related guide: [Confluent Cloud Bring Your Own Key (BYOK) Management API](https://docs.confluent.io/cloud/current/clusters/byok/index.html). + + ## The Keys Model + + + ## Quotas and Limits + This resource is subject to the [following quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): + + | Quota | Description | + | --- | --- | + | `byok.max_keys.per_org` | BYOK keys in one Confluent Cloud organisation. | + - name: Costs (billing/v1) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + `Cost` objects represent the aggregated billing costs for an organization + + + Related guide: [Retrieve costs for a range of dates](https://docs.confluent.io/cloud/current/billing/overview.html#retrieve-costs-for-a-range-of-dates). + + ## The Costs Model + + - name: Group Mappings (iam/v2/sso) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + `GroupMapping` objects establish relationships between user groups in your SSO + identity provider and specific RBAC roles in Confluent Cloud. + + Group mappings enable automated and secure access control to Confluent Cloud resources, + reducing administrative workload by streamlining user provisioning and authorization. + + + Related guide: [Use group mappings with your SSO identity provider](https://docs.confluent.io/cloud/current/access-management/authenticate/sso/group-mapping/overview.html). + + ## The Group Mappings Model + + + ## Quotas and Limits + This resource is subject to the [following quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): + + | Quota | Description | + | --- | --- | + | `group_mappings_per_org` | Number of group mappings per organization | + - name: Compute Pools (fcpm/v2) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + A Compute Pool represents a set of compute resources that is used to run your Queries. + The resources (CPUs, memory,…) provided by a Compute Pool are shared between all Queries that use it. + + + ## The Compute Pools Model + + - name: Regions (fcpm/v2) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + `Region` objects represent cloud provider regions available when placing Flink compute pools. + The API allows you to list Flink regions. + + + ## The Regions Model + + - name: Statements (sql/v1) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + `Statement` represents a core resource used to model SQL statements for execution. + A statement generalizes DDL, DML, DQL, etc., but doesn’t attempt to handle session + management or any higher-level functionality. + The API allows you to list, create, read, and delete your statements. + ## The Statements Model + + - name: Statement Results (sql/v1) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + `StatementResult` represents a result of a `Statement` resource. + The API allows you to read your statement's results. + ## The Statement Results Model + + - name: Statement Exceptions (sql/v1) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + `StatementException` represents an exception of a `Statement` resource. + The API allows you to read your statement's exceptions. + ## The Statement Exceptions Model + + - name: Connections (sql/v1) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + `Connection` represents a core resource used to model SQL connections for execution. + A connection generalizes DDL, DML, DQL, etc., but doesn’t attempt to handle session + management or any higher-level functionality. + The API allows you to list, create, read, and delete your connections. + ## The Connections Model + + - name: DNS Forwarders (networking/v1) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + Add, remove, and update DNS forwarder for your gateway. + + Related guides: + * [Use VPC peering connections with Confluent Cloud on AWS](https://docs.confluent.io/cloud/current/networking/peering/aws-peering.html). + * [Use VNet peering connections with Confluent Cloud on Azure](https://docs.confluent.io/cloud/current/networking/peering/azure-peering.html). + + + ## The DNS Forwarders Model + + - name: Access Points (networking/v1) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + AccessPoint objects represent network connections in and out of Gateways. + This API allows you to list, create, read, update, and delete your access points. + + + ## The Access Points Model + + - name: DNS Records (networking/v1) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + DNS record objects are associated with Confluent Cloud networking resources. This API allows you to list, create, read, update, and delete your DNS records. + + ## The DNS Records Model + + - name: Certificate Authorities (iam/v2) + description: |- + [![Limited Availability](https://img.shields.io/badge/Lifecycle%20Stage-Limited%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + `CertificateAuthority` objects represent signing certificate authorities in Confluent Cloud. + + The API allows you to list, create, read, update, and delete your Certificate Authority. + + + Related guide: [Manage certificate authorities used for client authentication with X.509 certificates.](https://docs.confluent.io/cloud/current/access-management/authenticate/mtls/overview.html). + + ## The Certificate Authorities Model + + + ## Quotas and Limits + This resource is subject to the [following quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): + + | Quota | Description | + | --- | --- | + | `certificate_authorities_per_org` | Number of certificate authorities per organization | + - name: Certificate Identity Pools (iam/v2) + description: |- + [![Limited Availability](https://img.shields.io/badge/Lifecycle%20Stage-Limited%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + `Identitypool` objects represent workload identities in Confluent Cloud. + + The API allows you to list, create, read, update, and delete your identity pools associated + with Certificate Authorities + + + Related guide: [Manage Certificate Identity Pools for Granular Client Access Management](https://docs.confluent.io/cloud/current/access-management/authenticate/mtls/configure.html#step-2-create-certificate-identity-pools-for-granular-access-control). + + ## The Certificate Identity Pools Model + + + ## Quotas and Limits + This resource is subject to the [following quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): + + | Quota | Description | + | --- | --- | + | `identity_pools_per_certificate_authority` | Number of Identity Pools per Certificate Authority | + - name: Integrations (pim/v1) + description: |- + [![Early Access](https://img.shields.io/badge/Lifecycle%20Stage-Early%20Access-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) [![Request Access To Provider Integration](https://img.shields.io/badge/-Request%20Access%20To%20Provider%20Integration-%23bc8540)](mailto:ccloud-api-access+pim-v1-early-access@confluent.io?subject=Request%20to%20join%20pim/v1%20API%20Early%20Access&body=I%E2%80%99d%20like%20to%20join%20the%20Confluent%20Cloud%20API%20Early%20Access%20for%20pim/v1%20to%20provide%20early%20feedback%21%20My%20Cloud%20Organization%20ID%20is%20%3Cretrieve%20from%20https%3A//confluent.cloud/settings/billing/payment%3E.) + + `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, and delete individual integrations, and also obtain a + list of all your provider integrations. + + + Related guide: [Provider Integration in Confluent Cloud](https://docs.confluent.io/home/overview.html). + + ## The Integrations Model + + - name: Flink Artifacts (artifact/v1) + description: |- + [![Early Access](https://img.shields.io/badge/Lifecycle%20Stage-Early%20Access-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) [![Request Access To Flink Artifact API EA](https://img.shields.io/badge/-Request%20Access%20To%20Flink%20Artifact%20API%20EA-%23bc8540)](mailto:ccloud-api-access+artifact-v1-early-access@confluent.io?subject=Request%20to%20join%20artifact/v1%20API%20Early%20Access&body=I%E2%80%99d%20like%20to%20join%20the%20Confluent%20Cloud%20API%20Early%20Access%20for%20artifact/v1%20to%20provide%20early%20feedback%21%20My%20Cloud%20Organization%20ID%20is%20%3Cretrieve%20from%20https%3A//confluent.cloud/settings/billing/payment%3E.) + + FlinkArtifact objects represent Flink Artifacts on Confluent Cloud. + + + ## The Flink Artifacts Model + + - name: Presigned Urls (artifact/v1) + description: |- + [![Early Access](https://img.shields.io/badge/Lifecycle%20Stage-Early%20Access-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) [![Request Access To Flink Artifact API EA](https://img.shields.io/badge/-Request%20Access%20To%20Flink%20Artifact%20API%20EA-%23bc8540)](mailto:ccloud-api-access+artifact-v1-early-access@confluent.io?subject=Request%20to%20join%20artifact/v1%20API%20Early%20Access&body=I%E2%80%99d%20like%20to%20join%20the%20Confluent%20Cloud%20API%20Early%20Access%20for%20artifact/v1%20to%20provide%20early%20feedback%21%20My%20Cloud%20Organization%20ID%20is%20%3Cretrieve%20from%20https%3A//confluent.cloud/settings/billing/payment%3E.) + + Request a presigned upload URL for new Flink Artifact. Note that + the URL policy expires in one hour. If the policy expires, you can request + a new presigned upload URL. + + + ## The Presigned Urls Model + + - name: Flink Artifact Versions (artifact/v1) + description: |- + [![Early Access](https://img.shields.io/badge/Lifecycle%20Stage-Early%20Access-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) [![Request Access To Flink Artifact API EA](https://img.shields.io/badge/-Request%20Access%20To%20Flink%20Artifact%20API%20EA-%23bc8540)](mailto:ccloud-api-access+artifact-v1-early-access@confluent.io?subject=Request%20to%20join%20artifact/v1%20API%20Early%20Access&body=I%E2%80%99d%20like%20to%20join%20the%20Confluent%20Cloud%20API%20Early%20Access%20for%20artifact/v1%20to%20provide%20early%20feedback%21%20My%20Cloud%20Organization%20ID%20is%20%3Cretrieve%20from%20https%3A//confluent.cloud/settings/billing/payment%3E.) + + FlinkArtifactVersion objects represent Flink Artifact Versions on Confluent Cloud. + + + ## The Flink Artifact Versions Model + +components: + schemas: + SearchFilter: + description: Filter a collection by a string search + type: string + billing.v1.CostList: + type: object + description: |- + `Cost` objects represent the aggregated billing costs for an organization + + + Related guide: [Retrieve costs for a range of dates](https://docs.confluent.io/cloud/current/billing/overview.html#retrieve-costs-for-a-range-of-dates). + + ## The Costs Model + + required: + - api_version + - kind + - metadata + - data + properties: + api_version: + type: string + enum: + - billing/v1 + 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: + - CostList + metadata: + allOf: + - $ref: '#/components/schemas/CostListMeta' + - properties: + next: + example: 'https://api.confluent.cloud/billing/v1/costs?page_token=UvmDWOB1iwfAIBPj6EYb' + data: + type: array + description: A data property that contains an array of resource items. Each entry in the array is a separate resource. + items: + allOf: + - $ref: '#/components/schemas/billing.v1.Cost' + - type: object + required: + - id + - start_date + - end_date + - unit + - original_amount + uniqueItems: true + CostListMeta: + type: object + description: CostListMeta describes metadata that resource collections may have + properties: + 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' + billing.v1.Cost: + type: object + description: |- + `Cost` objects represent the aggregated billing costs for an organization + + + Related guide: [Retrieve costs for a range of dates](https://docs.confluent.io/cloud/current/billing/overview.html#retrieve-costs-for-a-range-of-dates). + + ## The Costs Model + + properties: + api_version: + type: string + enum: + - billing/v1 + 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: + - Cost + 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 + start_date: + type: string + format: date + example: '2022-10-12' + description: Start date of time period (inclusive) to retrieve billing costs. It is represented in RFC3339 format and is in UTC. + end_date: + type: string + format: date + example: '2022-10-15' + description: End date of time period (exclusive) to retrieve billing costs. It is represented in RFC3339 format and is in UTC. + granularity: + type: string + x-extensible-enum: + - DAILY + default: DAILY + description: Granularity at which each line item is aggregated. + network_access_type: + type: string + x-extensible-enum: + - INTERNET + - TRANSIT_GATEWAY + - PRIVATE_LINK + - PEERED_VPC + example: INTERNET + description: Network access type for the cluster. + product: + type: string + x-extensible-enum: + - KAFKA + - CONNECT + - KSQL + - AUDIT_LOG + - STREAM_GOVERNANCE + - CLUSTER_LINK + - CUSTOM_CONNECT + - FLINK + - SUPPORT_CLOUD_BASIC + - SUPPORT_CLOUD_DEVELOPER + - SUPPORT_CLOUD_BUSINESS + - SUPPORT_CLOUD_PREMIER + example: KAFKA + description: Product name. + line_type: + type: string + x-extensible-enum: + - KAFKA_STORAGE + - KAFKA_PARTITION + - KAFKA_NETWORK_READ + - KAFKA_NETWORK_WRITE + - KAFKA_BASE + - KAFKA_NUM_CKUS + - KAFKA_REST_PRODUCE + - KSQL_NUM_CSUS + - CONNECT_CAPACITY + - CONNECT_NUM_TASKS + - CONNECT_THROUGHPUT + - CONNECT_NUM_RECORDS + - SUPPORT + - CLUSTER_LINKING_PER_LINK + - CLUSTER_LINKING_WRITE + - CLUSTER_LINKING_READ + - AUDIT_LOG_READ + - GOVERNANCE_BASE + - SCHEMA_REGISTRY + - PROMO_CREDIT + - CUSTOM_CONNECT_NUM_TASKS + - CUSTOM_CONNECT_THROUGHPUT + - NUM_RULES + - FLINK_NUM_CFUS + example: KAFKA_NUM_CKUS + description: Type of the line item. + price: + type: number + format: double + example: 1.5 + description: Price for the line item in dollars. + unit: + type: string + example: GB + description: Unit of the line item. + quantity: + type: number + format: double + example: 99.9 + description: Quantity of the line item. + original_amount: + type: number + format: double + example: 149.85 + description: Original amount accrued for this line item. + discount_amount: + type: number + format: double + example: 20.85 + description: Amount discounted from the original amount in dollars. + amount: + type: number + format: double + example: 129 + description: Final amount after deducting discounts. + resource: + description: The resource for a given object + allOf: + - $ref: '#/components/schemas/billing.v1.Resource' + AclOperation: + type: string + x-extensible-enum: + - UNKNOWN + - ANY + - ALL + - READ + - WRITE + - CREATE + - DELETE + - ALTER + - DESCRIBE + - CLUSTER_ACTION + - DESCRIBE_CONFIGS + - ALTER_CONFIGS + - IDEMPOTENT_WRITE + AclPatternType: + type: string + x-extensible-enum: + - UNKNOWN + - ANY + - MATCH + - LITERAL + - PREFIXED + AclPermission: + type: string + x-extensible-enum: + - UNKNOWN + - ANY + - DENY + - ALLOW + AclResourceType: + type: string + enum: + - UNKNOWN + - ANY + - TOPIC + - GROUP + - CLUSTER + - TRANSACTIONAL_ID + - DELEGATION_TOKEN + BrokerTaskType: + type: string + enum: + - add-broker + - remove-broker + MirrorTopicStatus: + enum: + - ACTIVE + - FAILED + - LINK_FAILED + - LINK_PAUSED + - PAUSED + - PENDING_STOPPED + - SOURCE_UNAVAILABLE + - STOPPED + - PENDING_MIRROR + - PENDING_SYNCHRONIZE + - PENDING_SETUP_FOR_RESTORE + - PENDING_RESTORE + type: string + Failure: + type: object + description: Provides information about problems encountered while performing an operation. + required: + - errors + properties: + errors: + description: List of errors which caused this operation to fail + type: array + items: + $ref: '#/components/schemas/Error' + uniqueItems: true + AlterConfigBatchRequestData: + type: object + required: + - data + properties: + data: + type: array + items: + type: object + required: + - name + properties: + name: + type: string + value: + type: string + nullable: true + operation: + type: string + x-extensible-enum: + - SET + - DELETE + nullable: true + validate_only: + type: boolean + CreateAclRequestData: + type: object + required: + - resource_type + - resource_name + - pattern_type + - principal + - host + - operation + - permission + properties: + resource_type: + $ref: '#/components/schemas/AclResourceType' + resource_name: + type: string + pattern_type: + $ref: '#/components/schemas/AclPatternType' + principal: + type: string + host: + type: string + operation: + $ref: '#/components/schemas/AclOperation' + permission: + $ref: '#/components/schemas/AclPermission' + CreateAclRequestDataList: + allOf: + - type: object + required: + - data + properties: + data: + type: array + items: + $ref: '#/components/schemas/CreateAclRequestData' + CreateTopicRequestData: + type: object + required: + - topic_name + properties: + topic_name: + type: string + partitions_count: + type: integer + replication_factor: + type: integer + configs: + type: array + items: + type: object + required: + - name + properties: + name: + type: string + value: + type: string + nullable: true + validate_only: + type: boolean + ProduceRequest: + type: object + properties: + partition_id: + type: integer + nullable: true + format: int32 + headers: + type: array + items: + $ref: '#/components/schemas/ProduceRequestHeader' + key: + $ref: '#/components/schemas/ProduceRequestData' + value: + $ref: '#/components/schemas/ProduceRequestData' + timestamp: + type: string + format: date-time + nullable: true + UpdateConfigRequestData: + type: object + properties: + value: + type: string + nullable: true + CreateLinkRequestData: + properties: + source_cluster_id: + type: string + destination_cluster_id: + type: string + remote_cluster_id: + description: The expected remote cluster ID. + type: string + cluster_link_id: + description: 'The expected cluster link ID. Can be provided when creating the second side of a bidirectional link for validating the link ID is as expected. If it''s not provided, it''s inferred from the remote cluster.' + type: string + configs: + items: + $ref: '#/components/schemas/ConfigData' + type: array + type: object + UpdateLinkConfigRequestData: + properties: + value: + type: string + required: + - value + type: object + CreateMirrorTopicRequestData: + properties: + source_topic_name: + type: string + mirror_topic_name: + type: string + replication_factor: + type: integer + configs: + type: array + items: + $ref: '#/components/schemas/ConfigData' + required: + - source_topic_name + type: object + AlterMirrorsRequestData: + properties: + mirror_topic_names: + description: The mirror topics specified as a list of topic names. + type: array + items: + type: string + mirror_topic_name_pattern: + description: The mirror topics specified as a pattern. + type: string + type: object + RemoveBrokersRequestData: + properties: + broker_ids: + type: array + items: + type: integer + required: + - broker_ids + type: object + BrokerReplicaExclusionBatchRequestData: + type: object + required: + - data + properties: + data: + type: array + items: + $ref: '#/components/schemas/BrokerReplicaExclusionRequestData' + billing.v1.Resource: + type: object + description: | + The resource associated with this object. The resource can be one of Kafka Cluster ID (example: lkc-12345), + Connector ID (example: + lcc-12345), Schema Registry Cluster ID (example: lsrc-12345), or ksqlDB Cluster ID + (example: lksqlc-12345). + May be null or omitted if not associated with a resource. + properties: + id: + type: string + description: ID of the resource. + example: lkc-12345 + display_name: + type: string + description: Display name of the resource. + example: prod-kafka-cluster + environment: + description: The environment associated with this resource + nullable: true + allOf: + - $ref: '#/components/schemas/billing.v1.Environment' + Error: + type: object + description: Describes a particular error encountered while performing an operation. + properties: + id: + description: A unique identifier for this particular occurrence of the problem. + type: string + maxLength: 255 + status: + description: 'The HTTP status code applicable to this problem, expressed as a string value.' + type: string + code: + description: 'An application-specific error code, expressed as a string value.' + type: string + title: + description: 'A short, human-readable summary of the problem. It **SHOULD NOT** change from occurrence to occurrence of the problem, except for purposes of localization.' + type: string + detail: + description: A human-readable explanation specific to this occurrence of the problem. + type: string + source: + type: object + description: 'If this error was caused by a particular part of the API request, the source will point to the query string parameter or request body property that caused it.' + properties: + pointer: + description: 'A JSON Pointer [RFC6901] to the associated entity in the request document [e.g. "/spec" for a spec object, or "/spec/title" for a specific field].' + type: string + parameter: + description: A string indicating which query parameter caused the error. + type: string + error_code: + type: integer + format: int32 + message: + type: string + nullable: true + additionalProperties: false + ProduceRequestHeader: + type: object + required: + - name + properties: + name: + type: string + value: + type: string + format: byte + nullable: true + ProduceRequestData: + type: object + properties: + type: + type: string + x-extensible-enum: + - BINARY + - JSON + - STRING + data: + $ref: '#/components/schemas/AnyValue' + nullable: true + ConfigData: + example: + name: name + value: value + properties: + name: + type: string + value: + nullable: true + type: string + required: + - name + - value + BrokerReplicaExclusionRequestData: + type: object + required: + - broker_id + - reason + properties: + broker_id: + type: integer + reason: + type: string + billing.v1.Environment: + type: object + description: | + The details of the environment for a given resource. + properties: + id: + type: string + description: ID of the environment. + example: env-123 + AnyValue: + nullable: true + parameters: + AclHost: + name: host + description: The ACL host. + in: query + required: false + schema: + type: string + AclOperation: + name: operation + description: The ACL operation. + in: query + required: false + schema: + $ref: '#/components/schemas/AclOperation' + AclOperationRequired: + name: operation + description: The ACL operation. + in: query + required: true + schema: + $ref: '#/components/schemas/AclOperation' + AclPatternType: + name: pattern_type + description: The ACL pattern type. + in: query + required: false + schema: + $ref: '#/components/schemas/AclPatternType' + AclPatternTypeRequired: + name: pattern_type + description: The ACL pattern type. + in: query + required: true + schema: + $ref: '#/components/schemas/AclPatternType' + AclPermission: + name: permission + description: The ACL permission. + in: query + required: false + schema: + $ref: '#/components/schemas/AclPermission' + AclPermissionRequired: + name: permission + description: The ACL permission. + in: query + required: true + schema: + $ref: '#/components/schemas/AclPermission' + AclPrincipal: + name: principal + description: The ACL principal. This is the Service Account name or user name. + in: query + required: false + schema: + type: string + AclResourceName: + name: resource_name + description: The ACL resource name. + in: query + required: false + schema: + type: string + AclResourceType: + name: resource_type + description: The ACL resource type. + in: query + required: false + schema: + $ref: '#/components/schemas/AclResourceType' + AclResourceTypeRequired: + name: resource_type + description: The ACL resource type. + in: query + required: true + schema: + $ref: '#/components/schemas/AclResourceType' + BrokerId: + name: broker_id + description: The Kafka broker ID. + in: path + required: true + schema: + type: integer + example: 1 + ClusterId: + name: cluster_id + description: The Kafka cluster ID. + in: path + required: true + schema: + type: string + example: cluster-1 + ConfigName: + name: name + description: The configuration parameter name. + in: path + required: true + schema: + type: string + example: compression.type + ConsumerGroupId: + name: consumer_group_id + description: The consumer group ID. + in: path + required: true + schema: + type: string + example: consumer-group-1 + ConsumerId: + name: consumer_id + description: The consumer ID. + in: path + required: true + schema: + type: string + example: consumer-1 + IncludeAuthorizedOperations: + name: include_authorized_operations + description: Specify if authorized operations should be included in the response. + in: query + required: false + schema: + type: boolean + PartitionId: + name: partition_id + description: The partition ID. + in: path + required: true + schema: + type: integer + example: 0 + TopicName: + name: topic_name + description: The topic name. + in: path + required: true + schema: + type: string + example: topic-1 + BrokerTaskType: + name: task_type + description: The Kafka broker task type. + in: path + required: true + schema: + $ref: '#/components/schemas/BrokerTaskType' + example: remove-broker + ShouldShutdown: + name: should_shutdown + description: 'To shutdown the broker or not, Default: true' + in: query + required: false + schema: + type: boolean + example: true + ValidateOnly: + name: validate_only + description: 'To validate the action can be performed successfully or not. Default: false' + in: query + required: false + schema: + type: boolean + example: false + ValidateLink: + name: validate_link + description: 'To synchronously validate that the source cluster ID is expected and the dest cluster has the permission to read topics in the source cluster. Default: true' + in: query + required: false + schema: + type: boolean + example: false + IncludeTasks: + name: include_tasks + description: 'Whether to include cluster linking tasks in the response. Default: false' + in: query + required: false + schema: + type: boolean + example: false + IncludeStateTransitionErrors: + name: include_state_transition_errors + description: 'Whether to include mirror state transition errors in the response. Default: false' + in: query + required: false + schema: + type: boolean + example: false + Force: + name: force + description: 'Force the action. Default: false' + in: query + required: false + schema: + type: boolean + example: false + IncludePartitionLevelTruncationData: + name: include_partition_level_truncation_data + description: 'Whether to include partition level truncation information when truncating and restoring a topic in the response. Default: false' + in: query + required: false + schema: + type: boolean + example: false + LinkName: + name: link_name + description: The link name + in: path + required: true + schema: + type: string + example: link-sb1 + LinkConfigName: + name: config_name + description: The link config name + in: path + required: true + schema: + type: string + example: consumer.offset.sync.enable + MirrorTopicStatus: + name: mirror_status + description: 'The status of the mirror topic. If not specified, all mirror topics will be returned.' + in: query + required: false + schema: + $ref: '#/components/schemas/MirrorTopicStatus' + example: ACTIVE + MirrorTopicName: + name: mirror_topic_name + description: Cluster Linking mirror topic name + in: path + required: true + schema: + type: string + example: topic-1 + QueryParamLinkName: + name: link_name + description: The link name + in: query + required: true + schema: + type: string + example: link-sb1 + responses: + BadRequestError: + description: Bad Request + headers: + X-Request-Id: + schema: + type: string + description: The unique identifier for the API request. + content: + application/json: + schema: + $ref: '#/components/schemas/Failure' + example: + errors: + - id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d + status: '400' + code: invalid_filter + title: Invalid Filter + detail: The 'delorean' resource can't be filtered by 'num_doors' + source: + parameter: num_doors + UnauthenticatedError: + x-summary: Unauthorized + description: The request lacks valid authentication credentials for this resource. + headers: + X-Request-Id: + schema: + type: string + description: The unique identifier for the API request. + WWW-Authenticate: + schema: + type: string + description: The unique identifier for the API request. + example: 'Basic error="invalid_key", error_description="The API Key is invalid"' + content: + application/json: + schema: + $ref: '#/components/schemas/Failure' + example: + errors: + - id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d + status: '401' + code: user_unauthenticated + title: Authentication Required + detail: Valid authentication credentials must be provided + UnauthorizedError: + x-summary: Forbidden + description: The access credentials were considered insufficient to grant access + headers: + X-Request-Id: + schema: + type: string + description: The unique identifier for the API request. + content: + application/json: + schema: + $ref: '#/components/schemas/Failure' + example: + errors: + - id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d + status: '403' + code: user_unauthorized + title: User Access Unauthorized + detail: The user 'mcfly' is not allowed to access the 'delorean' resource without the 'plutonium' role. + RateLimitError: + description: Rate Limit Exceeded + headers: + X-Request-Id: + schema: + type: string + description: The unique identifier for the API request. + X-RateLimit-Limit: + schema: + type: integer + description: The maximum number of requests you're permitted to make per time period. + X-RateLimit-Remaining: + schema: + type: integer + description: The number of requests remaining in the current rate limit window. + X-RateLimit-Reset: + schema: + type: integer + description: |- + The relative time in seconds until the current rate-limit window resets. + + **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. + DefaultSystemError: + description: 'Oops, something went wrong!' + headers: + X-Request-Id: + schema: + type: string + description: The unique identifier for the API request. + content: + application/json: + schema: + $ref: '#/components/schemas/Failure' + example: + errors: + - id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d + status: '500' + code: out_of_gas + title: DeLorean Out Of Gas + detail: 'The DeLorean has run out of gas, but Doc Brown will fill ''er up for you asap' + securitySchemes: + cloud-api-key: + type: http + scheme: basic + description: Authenticate with Cloud API Keys using HTTP Basic Auth. Treat the Cloud API Key ID as the username and Cloud API Key Secret as the password. + confluent-sts-access-token: + type: oauth2 + description: Authenticate with Confluent API using this credentials (JSON Web Tokens) following OAuth 2.0. + flows: + clientCredentials: + tokenUrl: 'https://api.confluent.cloud/sts/v1/oauth2/token' + scopes: {} + api-key: + type: http + scheme: basic + description: Authenticate with API Keys using HTTP Basic Auth. Treat the API Key ID as the username and API Key Secret as the password. + resource-api-key: + type: http + scheme: basic + description: | + Authenticate with resource-specific API Keys using HTTP Basic Auth. Treat the resource-specific API Key ID + as the username and resource-specific API Key Secret as the password. + external-access-token: + type: oauth2 + description: Authenticate with OAuth 2.0. + flows: + clientCredentials: + tokenUrl: 'https:///token' + scopes: {} + oauth: + type: oauth2 + description: Authenticate with OAuth 2.0. Currently this is only supported for partner APIs. + flows: + clientCredentials: + tokenUrl: /oauth2/token + scopes: + 'partner:alter': enables partners to alter entitlements + 'partner:create': enables partners to create entitlements and signup on behalf of customers + 'partner:delete': enables partners to delete entitlements and organizations + 'partner:describe': enables partners to read and list entitlements and organizations + requestBodies: + AlterBrokerConfigBatchRequest: + description: The alter broker configuration parameter batch request. + content: + application/json: + schema: + $ref: '#/components/schemas/AlterConfigBatchRequestData' + example: + data: + - name: max.connections + operation: DELETE + - name: compression.type + value: gzip + AlterClusterConfigBatchRequest: + description: The alter cluster configuration parameter batch request. + content: + application/json: + schema: + $ref: '#/components/schemas/AlterConfigBatchRequestData' + example: + data: + - name: max.connections + operation: DELETE + - name: compression.type + value: gzip + AlterTopicConfigBatchRequest: + description: The alter topic configuration parameter batch request. + content: + application/json: + schema: + $ref: '#/components/schemas/AlterConfigBatchRequestData' + examples: + batch_alter_topic_configs: + value: + data: + - name: cleanup.policy + operation: DELETE + - name: compression.type + value: gzip + validate_only_batch_alter_topic_configs: + value: + data: + - name: cleanup.policy + operation: DELETE + - name: compression.type + value: gzip + validate_only: true + CreateAclRequest: + description: The ACL creation request. + content: + application/json: + schema: + $ref: '#/components/schemas/CreateAclRequestData' + example: + resource_type: CLUSTER + resource_name: kafka-cluster + pattern_type: LITERAL + principal: 'principalType:principalName' + host: '*' + operation: DESCRIBE + permission: DENY + BatchCreateAclRequest: + description: The batch ACL creation request. + content: + application/json: + schema: + $ref: '#/components/schemas/CreateAclRequestDataList' + example: + data: + - resource_type: CLUSTER + resource_name: kafka-cluster + pattern_type: LITERAL + principal: 'principalType:principalName' + host: '*' + operation: DESCRIBE + permission: DENY + - resource_type: TOPIC + resource_name: kafka-cluster + pattern_type: LITERAL + principal: 'principalType:principalName' + host: '*' + operation: READ + permission: ALLOW + CreateTopicRequest: + description: 'The topic creation request. Note that Confluent Cloud allows only specific replication factor values. Because of that the replication factor field should either be omitted or it should use one of the allowed values (see https://docs.confluent.io/cloud/current/client-apps/optimizing/durability.html).' + content: + application/json: + schema: + $ref: '#/components/schemas/CreateTopicRequestData' + examples: + uniform_replication: + value: + topic_name: topic-X + partitions_count: 64 + replication_factor: 3 + configs: + - name: cleanup.policy + value: compact + - name: compression.type + value: gzip + dry_run_create_topic: + value: + topic_name: topic-X + partitions_count: 64 + replication_factor: 3 + validate_only: true + ProduceRequest: + description: 'A single record to be produced to Kafka. To produce multiple records in the same request, simply concatenate the records. The delivery reports are concatenated in the same order as the records are sent.' + content: + application/json: + schema: + $ref: '#/components/schemas/ProduceRequest' + examples: + binary_and_json: + description: 'If using type, one of "BINARY", "JSON" or "STRING" is required.' + value: + partition_id: 1 + headers: + - name: Header-1 + value: SGVhZGVyLTE= + - name: Header-2 + value: SGVhZGVyLTI= + key: + type: BINARY + data: Zm9vYmFy + value: + type: JSON + data: + foo: bar + timestamp: '2021-02-05T19:14:42Z' + string: + description: 'If using type, one of "BINARY", "JSON" or "STRING" is required.' + value: + value: + type: STRING + data: My message + empty_value: + description: key or value can be omitted entirely. + value: + key: + data: 1000 + UpdateBrokerConfigRequest: + description: The broker configuration parameter update request. + content: + application/json: + schema: + $ref: '#/components/schemas/UpdateConfigRequestData' + example: + value: gzip + UpdateClusterConfigRequest: + description: The cluster configuration parameter update request. + content: + application/json: + schema: + $ref: '#/components/schemas/UpdateConfigRequestData' + example: + value: gzip + UpdateTopicConfigRequest: + description: The topic configuration parameter update request. + content: + application/json: + schema: + $ref: '#/components/schemas/UpdateConfigRequestData' + example: + value: gzip + CreateLinkRequest: + description: Create a cluster link + content: + application/json: + schema: + $ref: '#/components/schemas/CreateLinkRequestData' + examples: + destination_initiated_link: + description: Create a destination initiated cluster link + value: + source_cluster_id: cluster-1 + configs: + - name: bootstrap.servers + value: cluster-1-bootstrap-server + - name: acl.sync.enable + value: 'false' + - name: consumer.offset.sync.ms + value: '30000' + - name: sasl.mechanism + value: PLAIN + - name: sasl.protocol + value: SASL_SSL + - name: sasl.jaas.config + value: sasl.jaas.config=org.apache.kafka.common.security.plain.PlainLoginModule required username='' password=''; + source_initiated_link_at_source_cluster: + description: Create a source initiated cluster link at source cluster + value: + destination_cluster_id: cluster-2 + configs: + - name: bootstrap.servers + value: cluster-2-bootstrap-server + - name: link.mode + value: SOURCE + - name: sasl.mechanism + value: PLAIN + - name: sasl.protocol + value: SASL_SSL + - name: sasl.jaas.config + value: sasl.jaas.config=org.apache.kafka.common.security.plain.PlainLoginModule required username='' password=''; + source_initiated_link_at_destination_cluster: + description: Create a source initiated cluster link at destination cluster + value: + destination_cluster_id: cluster-1 + configs: + - name: bootstrap.servers + value: cluster-1-bootstrap-server + - name: link.mode + value: DESTINATION + - name: connection.mode + value: INBOUND + - name: acl.sync.enable + value: 'false' + - name: sasl.mechanism + value: PLAIN + - name: sasl.protocol + value: SASL_SSL + - name: sasl.jaas.config + value: sasl.jaas.config=org.apache.kafka.common.security.plain.PlainLoginModule required username='' password=''; + bidirectional_link_east: + description: Create a bidirectional cluster link in east + value: + remote_cluster_id: cluster-west + configs: + - name: bootstrap.servers + value: cluster-west-bootstrap-server + - name: link.mode + value: BIDIRECTIONAL + - name: cluster.link.prefix + value: west. + - name: sasl.mechanism + value: PLAIN + - name: sasl.protocol + value: SASL_SSL + - name: sasl.jaas.config + value: sasl.jaas.config=org.apache.kafka.common.security.plain.PlainLoginModule required username='' password=''; + bidirectional_link_west: + description: Create a bidirectional cluster link in west + value: + remote_cluster_id: cluster-east + cluster_link_id: eEBkTffYSESld6EO898x3w + configs: + - name: bootstrap.servers + value: cluster-east-bootstrap-server + - name: link.mode + value: BIDIRECTIONAL + - name: cluster.link.prefix + value: east. + - name: sasl.mechanism + value: PLAIN + - name: sasl.protocol + value: SASL_SSL + - name: sasl.jaas.config + value: sasl.jaas.config=org.apache.kafka.common.security.plain.PlainLoginModule required username='' password=''; + UpdateLinkConfigRequest: + content: + application/json: + example: + value: '300000' + schema: + $ref: '#/components/schemas/UpdateLinkConfigRequestData' + description: Link config value to update + AlterLinkConfigBatchRequest: + content: + application/json: + example: + data: + - name: cleanup.policy + operation: DELETE + - name: compression.type + value: gzip + schema: + $ref: '#/components/schemas/AlterConfigBatchRequestData' + CreateMirrorTopicRequest: + description: 'Name and configs of the topics mirroring from and mirroring to. Note that Confluent Cloud allows only specific replication factor values. Because of that the replication factor field should either be omitted or it should use one of the allowed values (see https://docs.confluent.io/cloud/current/client-apps/optimizing/durability.html).' + content: + application/json: + schema: + $ref: '#/components/schemas/CreateMirrorTopicRequestData' + examples: + generic_example: + description: Generic example of creating a mirror topic + value: + source_topic_name: topic-1 + configs: + - name: unclean.leader.election.enable + value: 'true' + replication_factor: 1 + example_with_mirror_topic_name: + description: Example using optional mirror_topic_name flag + value: + source_topic_name: topic-1 + mirror_topic_name: link1_topic-1 + configs: + - name: unclean.leader.election.enable + value: 'true' + replication_factor: 3 + AlterMirrorsRequest: + description: Mirror topics to be altered. + content: + application/json: + schema: + $ref: '#/components/schemas/AlterMirrorsRequestData' + examples: + mirror_topic_names: + description: Example using mirror topic names + value: + mirror_topic_names: + - topic-1 + - topic-2 + mirror_topic_name_pattern: + description: Example using mirror topic name pattern + value: + mirror_topic_name_pattern: .* + RemoveBrokersRequest: + content: + application/json: + example: + broker_ids: + - 1 + - 2 + - 3 + schema: + $ref: '#/components/schemas/RemoveBrokersRequestData' + description: Broker ids to remove + BrokerReplicaExclusionBatchRequest: + description: Alter Broker Replica Exclusions. + content: + application/json: + schema: + $ref: '#/components/schemas/BrokerReplicaExclusionBatchRequestData' + example: + data: + - broker_id: 1 + reason: The broker is to be removed. + - broker_id: 2 + reason: The broker is to be removed. + x-stackQL-resources: + costs: + id: confluent.billing.costs + name: costs + title: Costs + methods: + list_billing_v1costs: + operation: + $ref: '#/paths/~1billing~1v1~1costs/get' + response: + mediaType: application/json + openAPIDocKey: '200' + objectKey: $.data + sqlVerbs: + select: + - $ref: '#/components/x-stackQL-resources/costs/methods/list_billing_v1costs' + insert: [] + update: [] + replace: [] + delete: [] +paths: + /billing/v1/costs: + get: + operationId: listBillingV1Costs + summary: List of Costs + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + Retrieve a sorted, filtered, paginated list of all costs. + parameters: + - name: start_date + in: query + required: true + schema: + $ref: '#/components/schemas/SearchFilter' + example: '2022-10-12' + description: Filter the results by exact match for start_date. + - name: end_date + in: query + required: true + schema: + $ref: '#/components/schemas/SearchFilter' + example: '2022-10-15' + description: Filter the results by exact match for end_date. + - name: page_size + in: query + required: false + schema: + type: integer + default: 5000 + maximum: 10000 + 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: + - Costs (billing/v1) + security: + - cloud-api-key: [] + - confluent-sts-access-token: [] + responses: + '200': + description: Cost. + content: + application/json: + schema: + allOf: + - $ref: '#/components/schemas/billing.v1.CostList' + 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. + + **Important:** This differs from Github and Twitter's same-named header which uses UTC epoch seconds. We use relative time to avoid client/server time synchronization issues. + '400': + $ref: '#/components/responses/BadRequestError' + '401': + $ref: '#/components/responses/UnauthenticatedError' + '403': + $ref: '#/components/responses/UnauthorizedError' + '429': + $ref: '#/components/responses/RateLimitError' + '500': + $ref: '#/components/responses/DefaultSystemError' + x-codeSamples: + - lang: Shell + source: |- + curl --request GET \ + --url 'https://api.confluent.cloud/billing/v1/costs?start_date=2022-10-12&end_date=2022-10-15' \ + --header 'Authorization: Basic REPLACE_BASIC_AUTH' + - lang: Java + source: |- + OkHttpClient client = new OkHttpClient(); + + Request request = new Request.Builder() + .url("https://api.confluent.cloud/billing/v1/costs?start_date=2022-10-12&end_date=2022-10-15") + .get() + .addHeader("Authorization", "Basic REPLACE_BASIC_AUTH") + .build(); + + Response response = client.newCall(request).execute(); + - lang: Go + source: "package main\n\nimport (\n\t\"fmt\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.confluent.cloud/billing/v1/costs?start_date=2022-10-12&end_date=2022-10-15\"\n\n\treq, _ := http.NewRequest(\"GET\", url, nil)\n\n\treq.Header.Add(\"Authorization\", \"Basic REPLACE_BASIC_AUTH\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}" + - lang: Python + source: |- + import http.client + + conn = http.client.HTTPSConnection("api.confluent.cloud") + + headers = { 'Authorization': "Basic REPLACE_BASIC_AUTH" } + + conn.request("GET", "/billing/v1/costs?start_date=2022-10-12&end_date=2022-10-15", headers=headers) + + res = conn.getresponse() + data = res.read() + + print(data.decode("utf-8")) + - lang: Node + source: |- + const http = require("https"); + + const options = { + "method": "GET", + "hostname": "api.confluent.cloud", + "port": null, + "path": "/billing/v1/costs?start_date=2022-10-12&end_date=2022-10-15", + "headers": { + "Authorization": "Basic REPLACE_BASIC_AUTH" + } + }; + + const req = http.request(options, function (res) { + const chunks = []; + + res.on("data", function (chunk) { + chunks.push(chunk); + }); + + res.on("end", function () { + const body = Buffer.concat(chunks); + console.log(body.toString()); + }); + }); + + req.end(); + - lang: C + source: |- + CURL *hnd = curl_easy_init(); + + curl_easy_setopt(hnd, CURLOPT_CUSTOMREQUEST, "GET"); + curl_easy_setopt(hnd, CURLOPT_URL, "https://api.confluent.cloud/billing/v1/costs?start_date=2022-10-12&end_date=2022-10-15"); + + struct curl_slist *headers = NULL; + headers = curl_slist_append(headers, "Authorization: Basic REPLACE_BASIC_AUTH"); + curl_easy_setopt(hnd, CURLOPT_HTTPHEADER, headers); + + CURLcode ret = curl_easy_perform(hnd); + - lang: C# + source: |- + var client = new RestClient("https://api.confluent.cloud/billing/v1/costs?start_date=2022-10-12&end_date=2022-10-15"); + var request = new RestRequest(Method.GET); + request.AddHeader("Authorization", "Basic REPLACE_BASIC_AUTH"); + IRestResponse response = client.Execute(request); diff --git a/providers/src/confluent/v00.00.00000/services/catalog.yaml b/providers/src/confluent/v00.00.00000/services/catalog.yaml new file mode 100644 index 00000000..d446b2b2 --- /dev/null +++ b/providers/src/confluent/v00.00.00000/services/catalog.yaml @@ -0,0 +1,5894 @@ +openapi: 3.0.0 +servers: + - url: 'https://api.confluent.cloud' + description: Confluent Cloud API +info: + version: '' + contact: + name: Confluent Cloud + url: 'https://www.confluent.io/cloud-contact-us/' + email: support@confluent.io + x-api-id: 46234552-5833-42eb-ba0f-883ad3f70d2b + x-audience: external-public + x-logo: + url: 'https://assets.confluent.io/m/5ec23aa91903c00b/' + title: Confluent Cloud APIs - catalog + description: catalog +tags: + - name: API Keys (iam/v2) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + `ApiKey` objects represent access to different parts of Confluent Cloud. Some types + of API keys represent access to a single cluster/resource such as a Kafka cluster, + Schema Registry cluster or a ksqlDB cluster. Cloud API Keys represent access to resources within an organization + that are not tied to a specific cluster, such as the Org API, IAM API, Metrics API or Connect API. + + The API allows you to list, create, update and delete your API Keys. + + + Related guide: [API Keys in Confluent Cloud](https://docs.confluent.io/cloud/current/client-apps/api-keys.html). + + ## The API Keys Model + + + ## Quotas and Limits + This resource is subject to the [following quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): + + | Quota | Description | + | --- | --- | + | `apikeys_per_org` | API Keys in one Confluent Cloud organization | + - name: Environments (org/v2) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + `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](https://docs.confluent.io/cloud/current/access-management/environments.html). + + ## The Environments Model + + + ## Quotas and Limits + This resource is subject to the [following quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): + + | Quota | Description | + | --- | --- | + | `environments_per_org` | Environments in one Confluent Cloud organization | + - name: Organizations (org/v2) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + `Organization` objects represent a customer organization. An organization contains all customer + resources (e.g., Environments, Kafka Clusters, Service Accounts, API Keys) and is tied to a billing + agreement (including any annual commitment or support plan). + + The API allows you to list, view, and update your organizations. + + + Related guide: [Organizations for Confluent Cloud](https://docs.confluent.io/cloud/current/access-management/hierarchy/organizations/cloud-organization.html). + + ## The Organizations Model + + + ## Quotas and Limits + This resource is subject to the [following quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): + + | Quota | Description | + | --- | --- | + | `organizations_per_user` | Confluent Cloud organizations a user belongs to | + - name: Users (iam/v2) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + `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](https://docs.confluent.io/cloud/current/access-management/user-account.html). + + ## The Users Model + + + ## Quotas and Limits + This resource is subject to the [following quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): + + | Quota | Description | + | --- | --- | + | `users_per_org` | Users in one Confluent Cloud organization | + - name: Service Accounts (iam/v2) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + `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](https://docs.confluent.io/cloud/current/access-management/service-account.html). + + ## The Service Accounts Model + + + ## Quotas and Limits + This resource is subject to the [following quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): + + | Quota | Description | + | --- | --- | + | `service_accounts_per_org` | Service Accounts in one Confluent Cloud organization | + - name: Invitations (iam/v2) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + `Invitation` objects represent invitations to invite users to join your organizations in Confluent Cloud. + + The API allows you to list all your invitations, as well as create, read, and delete a specified invitation. + + + Related guide: [User invitations in Confluent Cloud](https://docs.confluent.io/cloud/current/access-management/identity/user-accounts.html). + + ## The Invitations Model + + + ## Quotas and Limits + This resource is subject to the [following quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): + + | Quota | Description | + | --- | --- | + | `invitations_per_org` | Invitations in a Confluent Cloud organization | + - name: IP Groups (iam/v2) + description: |- + [![Limited Availability](https://img.shields.io/badge/Lifecycle%20Stage-Limited%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) [![Request Access To IP Groups API](https://img.shields.io/badge/-Request%20Access%20To%20IP%20Groups%20API-%23bc8540)](mailto:cloud-support@confluent.io?subject=Request%20to%20join%20IP%20Filtering%20API%20Limited%20Access&body=I%E2%80%99d%20like%20to%20join%20the%20Confluent%20Cloud%20API%20Limited%20Access%20for%20IP%20Filtering.%0AMy%20Cloud%20Organization%20ID%20is%20%3Cretrieve%20from%20https%3A//confluent.cloud/settings/billing/payment%3E.%0A) + + Definitions of networks which can be named and referred by IP blocks, commonly used to attach to IP Filter rules. + + + ## The IP Groups Model + + - name: IP Filters (iam/v2) + description: |- + [![Limited Availability](https://img.shields.io/badge/Lifecycle%20Stage-Limited%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) [![Request Access To IP Filters API](https://img.shields.io/badge/-Request%20Access%20To%20IP%20Filters%20API-%23bc8540)](mailto:ccloud-api-access+iam-v2-limited-availability@confluent.io?subject=Request%20to%20join%20iam/v2%20API%20Limited%20Availability&body=I%E2%80%99d%20like%20to%20join%20the%20Confluent%20Cloud%20API%20Limited%20Availability%20for%20iam/v2%20to%20provide%20early%20feedback%21%20My%20Cloud%20Organization%20ID%20is%20%3Cretrieve%20from%20https%3A//confluent.cloud/settings/billing/payment%3E.) + + `IP Filter` objects are bindings between IP Groups and Confluent resource(s). + For example, a binding between "CorpNet" and "Management APIs" will enforce that + access must come from one of the CIDR blocks associated with CorpNet. + If there are multiple IP filters bound to a resource, a request matching any of the CIDR blocks + for any of the IP Group will allow the request. + If there are no IP Filters for a resource, then access will be granted to requests originating + from any IP Address. + + + ## The IP Filters Model + + - name: Role Bindings (iam/v2) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + A role binding grants a Principal a role on resources that match a pattern. + + The API allows you to perform create, delete, and list operations on role bindings. + + + Related guide: [Role-Based Access Control (RBAC)](https://docs.confluent.io/cloud/current/access-management/access-control/cloud-rbac.html). + + ## The Role Bindings Model + + - name: Subscriptions (notifications/v1) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + `Subscription` objects represent the intent of the customers to get notifications of particular types. + A subscription is created for a particular `NotificationType` and the user will get notifications on the + `Integrations` that are provided while creating the subscription. + + This API allows you to create, retrieve, and update subscriptions, + as well as to view the list of all your subscriptions. You can also delete subscriptions + with RECOMMENDED or OPTIONAL notification types. Subscriptions with REQUIRED notification types cannot be deleted. + + + Related guide: [Cloud Notifications](https://docs.confluent.io/cloud/current/monitoring/configure-notifications.html#notifications-for-ccloud). + + ## The Subscriptions Model + + - name: Integrations (notifications/v1) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + You can create an `Integration` to specify how we can notify you when we receive an alert/notification for + a subscription. Please note that you can only perform create, update and delete operations for integrations + of type `Webhook`, `Slack` and `MsTeams`. You cannot create, update or delete integrations of type `RoleEmail` + and `UserEmail`. + + + Related guide: [Cloud Notifications](https://docs.confluent.io/cloud/current/monitoring/configure-notifications.html#notifications-for-ccloud). + + ## The Integrations Model + + + ## Quotas and Limits + This resource is subject to the [following quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): + + | Quota | Description | + | --- | --- | + | `integrations_per_org` | Maximum number of integrations in one Confluent Cloud organization | + - name: Notification Types (notifications/v1) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + The type of notifications (and their corresponding metadata) supported by Confluent. + + + Related guide: [Cloud Notifications](https://docs.confluent.io/cloud/current/monitoring/configure-notifications.html#notifications-for-ccloud). + + ## The Notification Types Model + + - name: Clusters (cmk/v2) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + `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](https://docs.confluent.io/cloud/current/clusters/cluster-api.html). + + ## The Clusters Model + + + ## Quotas and Limits + This resource is subject to the [following quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): + + | Quota | Description | + | --- | --- | + | `kafka_clusters_per_environment` | Number of clusters in one Confluent Cloud environment | + - name: Clusters (ksqldbcm/v2) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + `Cluster` represents a ksqlDB runtime that you can issue queries to using its API endpoint. + It executes SQL statements and queries which under the hood get built into corresponding + Kafka Streams topologies. The API allows you to list, create, read, and delete your ksqlDB clusters. + + + Related guide: [ksqlDB in Confluent Cloud](https://docs.confluent.io/cloud/current/ksqldb/ksqldb-cluster-api.html). + + ## The Clusters Model + + + ## Quotas and Limits + This resource is subject to the following quotas: + + | Quota | Description | + | --- | --- | + | `ksql.limits.max_apps_per_cluster` | Clusters in one Confluent Cloud Kafka Cluster. | + - name: Connectors (connect/v1) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + API for Managed Connectors or Custom Connectors in Confluent Cloud. + + The API allows you to list, create, get, update and delete a Managed Connector or Custom Connector in Confluent Cloud. + + Connect metrics are available through the [Metrics v2 API](https://api.telemetry.confluent.cloud/docs#tag/Version-2). + + Related guide: [Confluent Cloud API and Managed Connectors](https://docs.confluent.io/cloud/current/connectors/connect-api-section.html). + - name: Lifecycle (connect/v1) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + API for managing the lifecycle for a Managed Connector or Custom Connector in Confluent Cloud. Operations currently supported are Pause and Resume. + - name: Status (connect/v1) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + API for requesting the status or the tasks for a Managed Connector or Custom Connector in Confluent Cloud. + - name: Managed Connector Plugins (connect/v1) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + API for Managed connectors in Confluent Cloud. + - name: Offsets (connect/v1) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + API for managing the offsets for a Managed Connector. + + Related guide: [Manage Connector Offsets](https://docs.confluent.io/cloud/current/connectors/offsets.html#manage-offsets-for-fully-managed-connectors-in-ccloud) + - name: Custom Connector Plugins (connect/v1) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + CustomConnectorPlugins objects represent Custom Connector Plugins on Confluent Cloud. + The API allows you to list, create, read, update, and delete your Custom Connector Plugins. + Related guide: + [Custom Connector Plugin API](https://docs.confluent.io/cloud/current/connectors/connect-api-section.html). + + + ## The Custom Connector Plugins Model + + - name: Presigned Urls (connect/v1) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + Request a presigned upload URL for new Custom Connector Plugin. Note that + the URL policy expires in one hour. If the policy expires, you can request + a new presigned upload URL. + + Related guide: + [Custom Connector Plugin API](https://docs.confluent.io/cloud/current/connectors/connect-api-section.html). + + + ## The Presigned Urls Model + + - name: Cluster (v3) + description: '[![Generally Available](https://img.shields.io/badge/Lifecycle%20Stage-Generally%20Available-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy)' + - name: Configs (v3) + description: '[![Generally Available](https://img.shields.io/badge/Lifecycle%20Stage-Generally%20Available-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy)' + - name: ACL (v3) + description: '[![Generally Available](https://img.shields.io/badge/Lifecycle%20Stage-Generally%20Available-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy)' + - name: Consumer Group (v3) + description: '[![Generally Available](https://img.shields.io/badge/Lifecycle%20Stage-Generally%20Available-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy)' + - name: Partition (v3) + description: '[![Generally Available](https://img.shields.io/badge/Lifecycle%20Stage-Generally%20Available-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy)' + - name: Topic (v3) + description: '[![Generally Available](https://img.shields.io/badge/Lifecycle%20Stage-Generally%20Available-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy)' + - name: Records (v3) + description: '[![Generally Available](https://img.shields.io/badge/Lifecycle%20Stage-Generally%20Available-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy)' + - name: Cluster Linking (v3) + description: '[![Generally Available](https://img.shields.io/badge/Lifecycle%20Stage-Generally%20Available-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy)' + - name: Applied Quotas (service-quota/v1) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + A `quota` object represents a quota configuration for a specific Confluent Cloud resource. + Use this API to retrieve an individual quota or list of quotas for a given scope. + + + Related guide: [Service Quotas for Confluent Cloud](https://docs.confluent.io/cloud/current/quotas/index.html). + + ## The Applied Quotas Model + + - name: Scopes (service-quota/v1) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + Gets a list of all available scopes for applied quotas. + + + Related guide: [Quota Scopes](https://docs.confluent.io/cloud/current/quotas/quotas.html#query-for-scopes). + + ## The Scopes Model + + - name: Entitlements (partner/v2) + description: | + [![Early Access](https://img.shields.io/badge/Lifecycle%20Stage-Early%20Access-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) [![Request Access To Partner v2](https://img.shields.io/badge/-Request%20Access%20To%20Partner%20v2-%23bc8540)](mailto:ccloud-api-access+partner-v2-early-access@confluent.io?subject=Request%20to%20join%20partner/v2%20API%20Early%20Access&body=I%E2%80%99d%20like%20to%20join%20the%20Confluent%20Cloud%20API%20Early%20Access%20for%20partner/v2%20to%20provide%20early%20feedback%21%20My%20Cloud%20Organization%20ID%20is%20%3Cretrieve%20from%20https%3A//confluent.cloud/settings/billing/payment%3E.) + + `Entitlement` objects represent metadata about a marketplace entitlement. + + An entitlement includes metadata about a marketplace purchase + (start date, end date, billing information, partner IDs, etc). + The API allows partners to create, read, and list entitlements. (Unless you + need entitlement creation and customer registration to be separate, + we recommend using the Signup API to create an organization and entitlement + at the same time) + + The API only allows authorized partners to interact with the Entitlements API. + - name: Regions (srcm/v2) + description: |- + [![Deprecated](https://img.shields.io/badge/Lifecycle%20Stage-Deprecated-%23ff005c)](#section/Versioning/API-Lifecycle-Policy) + + `Region` objects represent cloud provider regions available when placing Schema Registry clusters. + The API allows you to list Schema Registry regions. + + + Related guides: + * [Confluent Cloud providers and region support](https://docs.confluent.io/cloud/current/stream-governance/packages.html#cloud-providers-and-region-support). + * [srcm/v3 Migration Guide](https://docs.confluent.io/cloud/current/stream-governance/packages.html#deprecation-of-srcm-v2-clusters-and-regions-apis-and-upgrade-guide). + + + ## The Regions Model + + - name: Clusters (srcm/v2) + description: |- + [![Deprecated](https://img.shields.io/badge/Lifecycle%20Stage-Deprecated-%23ff005c)](#section/Versioning/API-Lifecycle-Policy) + + `Clusters` objects represent Schema Registry Clusters on Confluent Cloud. + + The API allows you to list, create, read, and delete your Schema Registry clusters. + + + Related guides: + * [Confluent Cloud Schema Registry Cluster APIs](https://docs.confluent.io/cloud/current/stream-governance/clusters-regions-api.html#schema-registry-cluster-management). + * [srcm/v3 Migration Guide](https://docs.confluent.io/cloud/current/stream-governance/packages.html#deprecation-of-srcm-v2-clusters-and-regions-apis-and-upgrade-guide). + + + ## The Clusters Model + + - name: Clusters (srcm/v3) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + `Clusters` objects represent Schema Registry Clusters on Confluent Cloud. + + The API allows you to list and read your Schema Registry clusters. + + + Related guide: [Confluent Cloud Schema Registry Cluster APIs](https://docs.confluent.io/cloud/current/stream-governance/clusters-regions-api.html#schema-registry-cluster-management). + + ## The Clusters Model + + - name: Compatibility (v1) + description: |- + [![Generally Available](https://img.shields.io/badge/Lifecycle%20Stage-Generally%20Available-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + The API allows you to test schema compatibility. + + Related guide: [Manage Schemas in Confluent Cloud](https://docs.confluent.io/cloud/current/sr/schemas-manage.html#manage-schemas-in-ccloud). + - name: Config (v1) + description: |- + [![Generally Available](https://img.shields.io/badge/Lifecycle%20Stage-Generally%20Available-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + The API allows you to manage and query schema compatibility settings and cluster configurations. + + Related guide: [Manage Schemas in Confluent Cloud](https://docs.confluent.io/cloud/current/sr/schemas-manage.html#manage-schemas-in-ccloud). + - name: Contexts (v1) + description: |- + [![Generally Available](https://img.shields.io/badge/Lifecycle%20Stage-Generally%20Available-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + The API allows you to retrieve information about schema contexts. + + Related guide: [Manage Schemas in Confluent Cloud](https://docs.confluent.io/cloud/current/sr/schemas-manage.html#manage-schemas-in-ccloud). + - name: Exporters (v1) + description: |- + [![Generally Available](https://img.shields.io/badge/Lifecycle%20Stage-Generally%20Available-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + The API allows you to create, retrieve, update, and delete exporters. + + Related guide: [Manage Schemas in Confluent Cloud](https://docs.confluent.io/cloud/current/sr/schemas-manage.html#manage-schemas-in-ccloud). + - name: Modes (v1) + description: |- + [![Generally Available](https://img.shields.io/badge/Lifecycle%20Stage-Generally%20Available-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + The API allows you to create, retrieve, update, and delete schema subjects modes of operation. + + Related guide: [Manage Schemas in Confluent Cloud](https://docs.confluent.io/cloud/current/sr/schemas-manage.html#manage-schemas-in-ccloud). + - name: Schemas (v1) + description: |- + [![Generally Available](https://img.shields.io/badge/Lifecycle%20Stage-Generally%20Available-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + The API allows you to create, retrieve, update, and delete schemas. + + Related guide: [Manage Schemas in Confluent Cloud](https://docs.confluent.io/cloud/current/sr/schemas-manage.html#manage-schemas-in-ccloud). + - name: Subjects (v1) + description: |- + [![Generally Available](https://img.shields.io/badge/Lifecycle%20Stage-Generally%20Available-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + The API allows you to create, retrieve, update, and delete schema subjects and versions. + + Related guide: [Manage Schemas in Confluent Cloud](https://docs.confluent.io/cloud/current/sr/schemas-manage.html#manage-schemas-in-ccloud). + - name: Key Encryption Keys (v1) + description: |- + [![Generally Available](https://img.shields.io/badge/Lifecycle%20Stage-Generally%20Available-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + The API allows you to create, retrieve, update, and delete key encryption keys. + + Related guide: [Manage Schemas in Confluent Cloud](https://docs.confluent.io/cloud/current/sr/schemas-manage.html#manage-schemas-in-ccloud). + - name: Data Encryption Keys (v1) + description: |- + [![Generally Available](https://img.shields.io/badge/Lifecycle%20Stage-Generally%20Available-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + The API allows you to create, retrieve, update, and delete data encryption keys. + + Related guide: [Manage Schemas in Confluent Cloud](https://docs.confluent.io/cloud/current/sr/schemas-manage.html#manage-schemas-in-ccloud). + - name: Entity (v1) + description: |- + [![Generally Available](https://img.shields.io/badge/Lifecycle%20Stage-Generally%20Available-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + The API allows you to create, retrieve, update, and delete catalog entities. + + Related guide: [Catalog API Documentation](https://docs.confluent.io/cloud/current/stream-governance/stream-catalog.html#catalog-api-documentation). + - name: Search (v1) + description: |- + [![Generally Available](https://img.shields.io/badge/Lifecycle%20Stage-Generally%20Available-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + The API allows you to search for entities. + + Related guide: [Catalog API Documentation](https://docs.confluent.io/cloud/current/stream-governance/stream-catalog.html#catalog-api-documentation). + - name: Types (v1) + description: |- + [![Generally Available](https://img.shields.io/badge/Lifecycle%20Stage-Generally%20Available-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + The API allows you to create, retrieve, update, and delete catalog types such as tag definitions. + + Related guide: [Catalog API Documentation](https://docs.confluent.io/cloud/current/stream-governance/stream-catalog.html#catalog-api-documentation). + - name: Provider Shared Resources (cdx/v1) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + `ProviderSharedResource` object contains details of the data stream + (topic, schema registry subjects, sharing metadata) that you have shared through Stream Sharing. + + + ## The Provider Shared Resources Model + + - name: Provider Shares (cdx/v1) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + `ProviderShare` object respresents the share that you have created through Stream Sharing. + + + Related guide: [Provider Stream Shares in Confluent Cloud](https://docs.confluent.io/cloud/current/stream-sharing/produce-shared-data.html#stream-shares). + + ## The Provider Shares Model + + - name: Consumer Shared Resources (cdx/v1) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + `ConsumerSharedResource` object contains details of the data stream + (topic, schema registry subjects, sharing metadata) that you received through Stream Sharing. + + + ## The Consumer Shared Resources Model + + - name: Consumer Shares (cdx/v1) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + `ConsumerShare` object respresents the share that you received through Stream Sharing. + + + Related guide: [Consumer Stream Shares in Confluent Cloud](https://docs.confluent.io/cloud/current/stream-sharing/consume-shared-data.html). + + ## The Consumer Shares Model + + - name: Shared Tokens (cdx/v1) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + Encrypted Token shared with consumer + + + ## The Shared Tokens Model + + - name: Opt Ins (cdx/v1) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + Stream sharing opt in options + + ## The Opt Ins Model + + - name: Organizations (partner/v2) + description: | + [![Early Access](https://img.shields.io/badge/Lifecycle%20Stage-Early%20Access-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) [![Request Access To Partner v2](https://img.shields.io/badge/-Request%20Access%20To%20Partner%20v2-%23bc8540)](mailto:ccloud-api-access+partner-v2-early-access@confluent.io?subject=Request%20to%20join%20partner/v2%20API%20Early%20Access&body=I%E2%80%99d%20like%20to%20join%20the%20Confluent%20Cloud%20API%20Early%20Access%20for%20partner/v2%20to%20provide%20early%20feedback%21%20My%20Cloud%20Organization%20ID%20is%20%3Cretrieve%20from%20https%3A//confluent.cloud/settings/billing/payment%3E.) + + `Organizations` objects represent an entire Confluent Cloud organization. + Partners are allowed to get an organization they have signed up or + list all organizations they have signed up. + - name: Signup (partner/v2) + description: | + [![Early Access](https://img.shields.io/badge/Lifecycle%20Stage-Early%20Access-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) [![Request Access To Partner v2](https://img.shields.io/badge/-Request%20Access%20To%20Partner%20v2-%23bc8540)](mailto:ccloud-api-access+partner-v2-early-access@confluent.io?subject=Request%20to%20join%20partner/v2%20API%20Early%20Access&body=I%E2%80%99d%20like%20to%20join%20the%20Confluent%20Cloud%20API%20Early%20Access%20for%20partner/v2%20to%20provide%20early%20feedback%21%20My%20Cloud%20Organization%20ID%20is%20%3Cretrieve%20from%20https%3A//confluent.cloud/settings/billing/payment%3E.) + + `Signup` APIs can only be performed by partners. + - name: Networks (networking/v1) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + `Network` represents a network (VPC) in Confluent Cloud. All Networks exist within Confluent-managed cloud + provider accounts. Dedicated networks support more networking options but can only contain Dedicated clusters. + Shared networks can contain any cluster type. + + The API allows you to list, create, read, update, and delete your networks. + + + Related guide: [APIs to manage networks in Confluent Cloud](https://docs.confluent.io/cloud/current/networking/overview.html). + + ## The Networks Model + + + ## Quotas and Limits + This resource is subject to the [following quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): + + | Quota | Description | + | --- | --- | + | `dedicated_networks_per_environment` | Number of dedicated networks per Confluent Cloud environment | + - name: Peerings (networking/v1) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + Add or remove VPC/VNet peering connections between your VPC/VNet and Confluent Cloud. + + Related guides: + * [Use VPC peering connections with Confluent Cloud on AWS](https://docs.confluent.io/cloud/current/networking/peering/aws-peering.html). + * [Use VNet peering connections with Confluent Cloud on Azure](https://docs.confluent.io/cloud/current/networking/peering/azure-peering.html). + * [Use VPC peering connections with Confluent Cloud on Google Cloud](https://docs.confluent.io/cloud/current/networking/peering/gcp-peering.html). + + + ## The Peerings Model + + + ## Quotas and Limits + This resource is subject to the [following quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): + + | Quota | Description | + | --- | --- | + | `peerings_per_network` | Number of peerings per network | + - name: Transit Gateway Attachments (networking/v1) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + AWS Transit Gateway Attachments + + Related guide: [APIs to manage AWS Transit Gateway Attachments](https://docs.confluent.io/cloud/current/networking/aws-transit-gateway.html). + + ## The Transit Gateway Attachments Model + + + ## Quotas and Limits + This resource is subject to the [following quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): + + | Quota | Description | + | --- | --- | + | `tgw_attachments_per_network` | Number of TGW attachments per network | + - name: Private Link Accesses (networking/v1) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + Add or remove access to PrivateLink endpoints by AWS account, Azure subscription and GCP project ID. + + Related guides: + * [Use Google Cloud Private Service Connect with Confluent Cloud](https://docs.confluent.io/cloud/current/networking/private-links/gcp-private-service-connect.html). + * [Use Azure Private Link with Confluent Cloud](https://docs.confluent.io/cloud/current/networking/private-links/azure-privatelink.html). + * [Use AWS PrivateLink with Confluent Cloud](https://docs.confluent.io/cloud/current/networking/private-links/aws-privatelink.html). + + + ## The Private Link Accesses Model + + + ## Quotas and Limits + This resource is subject to the [following quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): + + | Quota | Description | + | --- | --- | + | `private_link_accounts_per_network` | Number of AWS accounts per network | + | `private_link_subscriptions_per_network` | Number of Azure subscriptions per network | + | `private_service_connect_projects_per_network` | Number of GCP projects per network | + - name: Network Link Services (networking/v1) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + Network Link Service is associated with a Private Link Confluent Cloud Network. + It enables connectivity from other Private Link Confluent Cloud Networks based on + the configured accept policies. + + + Related guide: [Network Linking Overview](https://docs.confluent.io/cloud/current/networking/network-linking.html). + + ## The Network Link Services Model + + + ## Quotas and Limits + This resource is subject to the [following quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): + + | Quota | Description | + | --- | --- | + | `network_link_service_per_network` | Number of network link services per network | + - name: Network Link Endpoints (networking/v1) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + A Network Link Enpoint is associated with a Private Link Confluent Cloud Network at the origin and a + Network Link Service (associated with another Private Link Confluent Cloud Network) at the target. + It enables connectivity between the origin network and the target network. + It can only be associated with a Private Link network. + + + Related guide: [Network Linking Overview](https://docs.confluent.io/cloud/current/networking/network-linking.html). + + ## The Network Link Endpoints Model + + + ## Quotas and Limits + This resource is subject to the [following quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): + + | Quota | Description | + | --- | --- | + | `network_link_endpoints_per_network` | Number of network link endpoints per network | + - name: Network Link Service Associations (networking/v1) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + List of incoming Network Link Enpoints associated with the Network Link Service. + + + Related guide: [Network Linking Overview](https://docs.confluent.io/cloud/current/networking/network-linking.html). + + ## The Network Link Service Associations Model + + - name: Gateways (networking/v1) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + A gateway is a resource that defines network access to Confluent cloud resources. + + + ## The Gateways Model + + - name: IP Addresses (networking/v1) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + IP Addresses + + Related guide: [Use Public Egress IP addresses on Confluent Cloud](https://docs.confluent.io/cloud/current/networking/static-egress-ip-addresses.html) + + ## The IP Addresses Model + + - name: Private Link Attachments (networking/v1) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + PrivateLink attachment objects represent reservations to establish PrivateLink connections + to a cloud region in order to access resources that belong to a Confluent Cloud Environment. + The API allows you to list, create, read update and delete your PrivateLink attachments. + + + ## The Private Link Attachments Model + + + ## Quotas and Limits + This resource is subject to the [following quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): + + | Quota | Description | + | --- | --- | + | `private_link_attachments_per_environment` | Number of PrivateLink Attachments per environment | + - name: Private Link Attachment Connections (networking/v1) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + PrivateLink attachment connection objects represent connections established to a cloud region + in order to access resources that belong to a Confluent Cloud Environment. + The API allows you to list, create, read update and delete your PrivateLink attachment connections. + + + ## The Private Link Attachment Connections Model + + - name: Identity Providers (iam/v2) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + `IdentityProvider` objects represent external OAuth-OIDC providers in Confluent Cloud. + + The API allows you to list, create, read, update, and delete your Identity Provider. + + + Related guide: [OAuth for Confluent Cloud](https://docs.confluent.io/cloud/current/access-management/authenticate/oauth/overview.html). + + ## The Identity Providers Model + + + ## Quotas and Limits + This resource is subject to the [following quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): + + | Quota | Description | + | --- | --- | + | `identity_providers_per_org` | Number of OAuth identity providers per organization | + | `public_keys_per_provider` | Number of public keys saved per identity provider | + - name: Jwks (iam/v2) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + `JWKS` objects represent public key sets for a specific OAuth/OpenID Connect provider within + Confluent Cloud. + + The API allows you to refresh JWKS public key data. + + + Related guide: [OAuth for Confluent Cloud](https://docs.confluent.io/cloud/current/access-management/authenticate/oauth/overview.html). + + ## The Jwks Model + + - name: Identity Pools (iam/v2) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + `IdentityPool` objects represent groups of identities tied to a given a `IdentityProvider` + that authorizes them to Confluent Cloud resources. + + It provides a mapping functionality of your `Identity Provider` user to a Confluent identity pool that + is then used to provide access to Confluent Resources. + + + Related guide: [Use identity pools with your OAuth provider](https://docs.confluent.io/cloud/current/access-management/authenticate/oauth/identity-pools.html). + + ## The Identity Pools Model + + + ## Quotas and Limits + This resource is subject to the [following quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): + + | Quota | Description | + | --- | --- | + | `identity_pools_per_provider` | Number of Identity Pools per Identity Provider | + - name: OAuth Tokens (sts/v1) + description: | + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + OAuth Token is a [JSON Web Token (JWT)](https://www.rfc-editor.org/rfc/rfc7519) that enables the use of + external identities to access Confluent Cloud APIs + - name: Client Quotas (kafka-quotas/v1) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + `ClientQuota` objects represent Client Quotas you can set at the service account level. + + The API allows you to list, create, read, update, and delete your client quotas. + + + Related guide: [Client Quotas in Confluent Cloud](https://docs.confluent.io/cloud/current/clusters/client-quotas.html). + + ## The Client Quotas Model + + - name: Pipelines (sd/v1) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + `Pipeline` objects represent information about a user-defined pipeline of Confluent Cloud components. + The pipeline's content is available separately. + + The API allows you to create, retrieve, update, and delete your pipelines, + as well as list all of your pipelines for the particular environment and Kafka cluster. + + + Related guide: [Pipelines in Confluent Cloud](https://docs.confluent.io/cloud/current/stream-designer/). + + ## The Pipelines Model + + + ## Quotas and Limits + This resource is subject to the [following quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): + + | Quota | Description | + | --- | --- | + | `pipelines_per_org` | Pipelines in one Confluent Cloud organization | + | `pipelines_per_cluster` | Pipelines in one Confluent Cloud Kafka cluster | + - name: Keys (byok/v1) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + `Key` objects represent customer managed keys on dedicated Confluent Cloud clusters. + + Keys are used to protect data at rest stored in your dedicated Confluent Cloud clusters on AWS, Azure, and GCP. + This API allows you to upload and retrieve self-managed keys on Confluent Cloud. + + + Related guide: [Confluent Cloud Bring Your Own Key (BYOK) Management API](https://docs.confluent.io/cloud/current/clusters/byok/index.html). + + ## The Keys Model + + + ## Quotas and Limits + This resource is subject to the [following quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): + + | Quota | Description | + | --- | --- | + | `byok.max_keys.per_org` | BYOK keys in one Confluent Cloud organisation. | + - name: Costs (billing/v1) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + `Cost` objects represent the aggregated billing costs for an organization + + + Related guide: [Retrieve costs for a range of dates](https://docs.confluent.io/cloud/current/billing/overview.html#retrieve-costs-for-a-range-of-dates). + + ## The Costs Model + + - name: Group Mappings (iam/v2/sso) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + `GroupMapping` objects establish relationships between user groups in your SSO + identity provider and specific RBAC roles in Confluent Cloud. + + Group mappings enable automated and secure access control to Confluent Cloud resources, + reducing administrative workload by streamlining user provisioning and authorization. + + + Related guide: [Use group mappings with your SSO identity provider](https://docs.confluent.io/cloud/current/access-management/authenticate/sso/group-mapping/overview.html). + + ## The Group Mappings Model + + + ## Quotas and Limits + This resource is subject to the [following quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): + + | Quota | Description | + | --- | --- | + | `group_mappings_per_org` | Number of group mappings per organization | + - name: Compute Pools (fcpm/v2) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + A Compute Pool represents a set of compute resources that is used to run your Queries. + The resources (CPUs, memory,…) provided by a Compute Pool are shared between all Queries that use it. + + + ## The Compute Pools Model + + - name: Regions (fcpm/v2) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + `Region` objects represent cloud provider regions available when placing Flink compute pools. + The API allows you to list Flink regions. + + + ## The Regions Model + + - name: Statements (sql/v1) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + `Statement` represents a core resource used to model SQL statements for execution. + A statement generalizes DDL, DML, DQL, etc., but doesn’t attempt to handle session + management or any higher-level functionality. + The API allows you to list, create, read, and delete your statements. + ## The Statements Model + + - name: Statement Results (sql/v1) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + `StatementResult` represents a result of a `Statement` resource. + The API allows you to read your statement's results. + ## The Statement Results Model + + - name: Statement Exceptions (sql/v1) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + `StatementException` represents an exception of a `Statement` resource. + The API allows you to read your statement's exceptions. + ## The Statement Exceptions Model + + - name: Connections (sql/v1) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + `Connection` represents a core resource used to model SQL connections for execution. + A connection generalizes DDL, DML, DQL, etc., but doesn’t attempt to handle session + management or any higher-level functionality. + The API allows you to list, create, read, and delete your connections. + ## The Connections Model + + - name: DNS Forwarders (networking/v1) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + Add, remove, and update DNS forwarder for your gateway. + + Related guides: + * [Use VPC peering connections with Confluent Cloud on AWS](https://docs.confluent.io/cloud/current/networking/peering/aws-peering.html). + * [Use VNet peering connections with Confluent Cloud on Azure](https://docs.confluent.io/cloud/current/networking/peering/azure-peering.html). + + + ## The DNS Forwarders Model + + - name: Access Points (networking/v1) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + AccessPoint objects represent network connections in and out of Gateways. + This API allows you to list, create, read, update, and delete your access points. + + + ## The Access Points Model + + - name: DNS Records (networking/v1) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + DNS record objects are associated with Confluent Cloud networking resources. This API allows you to list, create, read, update, and delete your DNS records. + + ## The DNS Records Model + + - name: Certificate Authorities (iam/v2) + description: |- + [![Limited Availability](https://img.shields.io/badge/Lifecycle%20Stage-Limited%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + `CertificateAuthority` objects represent signing certificate authorities in Confluent Cloud. + + The API allows you to list, create, read, update, and delete your Certificate Authority. + + + Related guide: [Manage certificate authorities used for client authentication with X.509 certificates.](https://docs.confluent.io/cloud/current/access-management/authenticate/mtls/overview.html). + + ## The Certificate Authorities Model + + + ## Quotas and Limits + This resource is subject to the [following quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): + + | Quota | Description | + | --- | --- | + | `certificate_authorities_per_org` | Number of certificate authorities per organization | + - name: Certificate Identity Pools (iam/v2) + description: |- + [![Limited Availability](https://img.shields.io/badge/Lifecycle%20Stage-Limited%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + `Identitypool` objects represent workload identities in Confluent Cloud. + + The API allows you to list, create, read, update, and delete your identity pools associated + with Certificate Authorities + + + Related guide: [Manage Certificate Identity Pools for Granular Client Access Management](https://docs.confluent.io/cloud/current/access-management/authenticate/mtls/configure.html#step-2-create-certificate-identity-pools-for-granular-access-control). + + ## The Certificate Identity Pools Model + + + ## Quotas and Limits + This resource is subject to the [following quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): + + | Quota | Description | + | --- | --- | + | `identity_pools_per_certificate_authority` | Number of Identity Pools per Certificate Authority | + - name: Integrations (pim/v1) + description: |- + [![Early Access](https://img.shields.io/badge/Lifecycle%20Stage-Early%20Access-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) [![Request Access To Provider Integration](https://img.shields.io/badge/-Request%20Access%20To%20Provider%20Integration-%23bc8540)](mailto:ccloud-api-access+pim-v1-early-access@confluent.io?subject=Request%20to%20join%20pim/v1%20API%20Early%20Access&body=I%E2%80%99d%20like%20to%20join%20the%20Confluent%20Cloud%20API%20Early%20Access%20for%20pim/v1%20to%20provide%20early%20feedback%21%20My%20Cloud%20Organization%20ID%20is%20%3Cretrieve%20from%20https%3A//confluent.cloud/settings/billing/payment%3E.) + + `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, and delete individual integrations, and also obtain a + list of all your provider integrations. + + + Related guide: [Provider Integration in Confluent Cloud](https://docs.confluent.io/home/overview.html). + + ## The Integrations Model + + - name: Flink Artifacts (artifact/v1) + description: |- + [![Early Access](https://img.shields.io/badge/Lifecycle%20Stage-Early%20Access-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) [![Request Access To Flink Artifact API EA](https://img.shields.io/badge/-Request%20Access%20To%20Flink%20Artifact%20API%20EA-%23bc8540)](mailto:ccloud-api-access+artifact-v1-early-access@confluent.io?subject=Request%20to%20join%20artifact/v1%20API%20Early%20Access&body=I%E2%80%99d%20like%20to%20join%20the%20Confluent%20Cloud%20API%20Early%20Access%20for%20artifact/v1%20to%20provide%20early%20feedback%21%20My%20Cloud%20Organization%20ID%20is%20%3Cretrieve%20from%20https%3A//confluent.cloud/settings/billing/payment%3E.) + + FlinkArtifact objects represent Flink Artifacts on Confluent Cloud. + + + ## The Flink Artifacts Model + + - name: Presigned Urls (artifact/v1) + description: |- + [![Early Access](https://img.shields.io/badge/Lifecycle%20Stage-Early%20Access-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) [![Request Access To Flink Artifact API EA](https://img.shields.io/badge/-Request%20Access%20To%20Flink%20Artifact%20API%20EA-%23bc8540)](mailto:ccloud-api-access+artifact-v1-early-access@confluent.io?subject=Request%20to%20join%20artifact/v1%20API%20Early%20Access&body=I%E2%80%99d%20like%20to%20join%20the%20Confluent%20Cloud%20API%20Early%20Access%20for%20artifact/v1%20to%20provide%20early%20feedback%21%20My%20Cloud%20Organization%20ID%20is%20%3Cretrieve%20from%20https%3A//confluent.cloud/settings/billing/payment%3E.) + + Request a presigned upload URL for new Flink Artifact. Note that + the URL policy expires in one hour. If the policy expires, you can request + a new presigned upload URL. + + + ## The Presigned Urls Model + + - name: Flink Artifact Versions (artifact/v1) + description: |- + [![Early Access](https://img.shields.io/badge/Lifecycle%20Stage-Early%20Access-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) [![Request Access To Flink Artifact API EA](https://img.shields.io/badge/-Request%20Access%20To%20Flink%20Artifact%20API%20EA-%23bc8540)](mailto:ccloud-api-access+artifact-v1-early-access@confluent.io?subject=Request%20to%20join%20artifact/v1%20API%20Early%20Access&body=I%E2%80%99d%20like%20to%20join%20the%20Confluent%20Cloud%20API%20Early%20Access%20for%20artifact/v1%20to%20provide%20early%20feedback%21%20My%20Cloud%20Organization%20ID%20is%20%3Cretrieve%20from%20https%3A//confluent.cloud/settings/billing/payment%3E.) + + FlinkArtifactVersion objects represent Flink Artifact Versions on Confluent Cloud. + + + ## The Flink Artifact Versions Model + +components: + schemas: + BusinessMetadataDefResponse: + properties: + category: + enum: + - PRIMITIVE + - OBJECT_ID_TYPE + - ENUM + - STRUCT + - CLASSIFICATION + - ENTITY + - ARRAY + - MAP + - RELATIONSHIP + - BUSINESS_METADATA + type: string + description: The category + guid: + type: string + description: The internal guid + createdBy: + type: string + description: The creator + updatedBy: + type: string + description: The updater + createTime: + format: int64 + type: integer + description: The create time + updateTime: + format: int64 + type: integer + description: The update time + version: + format: int32 + type: integer + description: The version + name: + type: string + description: The name + description: + type: string + description: The description + typeVersion: + type: string + description: The type version + serviceType: + type: string + description: The service type + options: + additionalProperties: + type: string + type: object + description: The options + attributeDefs: + items: + $ref: '#/components/schemas/AttributeDef' + type: array + description: The attribute definitions + error: + $ref: '#/components/schemas/ErrorMessage' + type: object + AttributeDef: + type: object + properties: + name: + type: string + description: The name + typeName: + type: string + description: The type name + isOptional: + type: boolean + description: Whether is optional + cardinality: + type: string + description: The cardinality + enum: + - SINGLE + - LIST + - SET + valuesMinCount: + type: integer + description: The values min count + format: int32 + valuesMaxCount: + type: integer + description: The values max count + format: int32 + isUnique: + type: boolean + description: Whether is unique + isIndexable: + type: boolean + description: Whether is indexable + includeInNotification: + type: boolean + description: Whether to include in notifications + defaultValue: + type: string + description: The default value + description: + type: string + description: The description + searchWeight: + type: integer + description: The search weight + format: int32 + indexType: + type: string + description: The index type + enum: + - DEFAULT + - STRING + constraints: + type: array + description: The constraints + items: + $ref: '#/components/schemas/ConstraintDef' + options: + type: object + description: The options + additionalProperties: + type: string + displayName: + type: string + description: The display name + ErrorMessage: + type: object + properties: + error_code: + type: integer + description: The error code + format: int32 + message: + type: string + description: The error message + description: Error message of this operation + AclOperation: + type: string + x-extensible-enum: + - UNKNOWN + - ANY + - ALL + - READ + - WRITE + - CREATE + - DELETE + - ALTER + - DESCRIBE + - CLUSTER_ACTION + - DESCRIBE_CONFIGS + - ALTER_CONFIGS + - IDEMPOTENT_WRITE + AclPatternType: + type: string + x-extensible-enum: + - UNKNOWN + - ANY + - MATCH + - LITERAL + - PREFIXED + AclPermission: + type: string + x-extensible-enum: + - UNKNOWN + - ANY + - DENY + - ALLOW + AclResourceType: + type: string + enum: + - UNKNOWN + - ANY + - TOPIC + - GROUP + - CLUSTER + - TRANSACTIONAL_ID + - DELEGATION_TOKEN + BrokerTaskType: + type: string + enum: + - add-broker + - remove-broker + MirrorTopicStatus: + enum: + - ACTIVE + - FAILED + - LINK_FAILED + - LINK_PAUSED + - PAUSED + - PENDING_STOPPED + - SOURCE_UNAVAILABLE + - STOPPED + - PENDING_MIRROR + - PENDING_SYNCHRONIZE + - PENDING_SETUP_FOR_RESTORE + - PENDING_RESTORE + type: string + AlterConfigBatchRequestData: + type: object + required: + - data + properties: + data: + type: array + items: + type: object + required: + - name + properties: + name: + type: string + value: + type: string + nullable: true + operation: + type: string + x-extensible-enum: + - SET + - DELETE + nullable: true + validate_only: + type: boolean + CreateAclRequestData: + type: object + required: + - resource_type + - resource_name + - pattern_type + - principal + - host + - operation + - permission + properties: + resource_type: + $ref: '#/components/schemas/AclResourceType' + resource_name: + type: string + pattern_type: + $ref: '#/components/schemas/AclPatternType' + principal: + type: string + host: + type: string + operation: + $ref: '#/components/schemas/AclOperation' + permission: + $ref: '#/components/schemas/AclPermission' + CreateAclRequestDataList: + allOf: + - type: object + required: + - data + properties: + data: + type: array + items: + $ref: '#/components/schemas/CreateAclRequestData' + CreateTopicRequestData: + type: object + required: + - topic_name + properties: + topic_name: + type: string + partitions_count: + type: integer + replication_factor: + type: integer + configs: + type: array + items: + type: object + required: + - name + properties: + name: + type: string + value: + type: string + nullable: true + validate_only: + type: boolean + ProduceRequest: + type: object + properties: + partition_id: + type: integer + nullable: true + format: int32 + headers: + type: array + items: + $ref: '#/components/schemas/ProduceRequestHeader' + key: + $ref: '#/components/schemas/ProduceRequestData' + value: + $ref: '#/components/schemas/ProduceRequestData' + timestamp: + type: string + format: date-time + nullable: true + UpdateConfigRequestData: + type: object + properties: + value: + type: string + nullable: true + CreateLinkRequestData: + properties: + source_cluster_id: + type: string + destination_cluster_id: + type: string + remote_cluster_id: + description: The expected remote cluster ID. + type: string + cluster_link_id: + description: 'The expected cluster link ID. Can be provided when creating the second side of a bidirectional link for validating the link ID is as expected. If it''s not provided, it''s inferred from the remote cluster.' + type: string + configs: + items: + $ref: '#/components/schemas/ConfigData' + type: array + type: object + UpdateLinkConfigRequestData: + properties: + value: + type: string + required: + - value + type: object + CreateMirrorTopicRequestData: + properties: + source_topic_name: + type: string + mirror_topic_name: + type: string + replication_factor: + type: integer + configs: + type: array + items: + $ref: '#/components/schemas/ConfigData' + required: + - source_topic_name + type: object + AlterMirrorsRequestData: + properties: + mirror_topic_names: + description: The mirror topics specified as a list of topic names. + type: array + items: + type: string + mirror_topic_name_pattern: + description: The mirror topics specified as a pattern. + type: string + type: object + RemoveBrokersRequestData: + properties: + broker_ids: + type: array + items: + type: integer + required: + - broker_ids + type: object + BrokerReplicaExclusionBatchRequestData: + type: object + required: + - data + properties: + data: + type: array + items: + $ref: '#/components/schemas/BrokerReplicaExclusionRequestData' + ConstraintDef: + type: object + properties: + type: + type: string + description: The type + params: + type: object + description: The params + additionalProperties: + type: object + ProduceRequestHeader: + type: object + required: + - name + properties: + name: + type: string + value: + type: string + format: byte + nullable: true + ProduceRequestData: + type: object + properties: + type: + type: string + x-extensible-enum: + - BINARY + - JSON + - STRING + data: + $ref: '#/components/schemas/AnyValue' + nullable: true + ConfigData: + example: + name: name + value: value + properties: + name: + type: string + value: + nullable: true + type: string + required: + - name + - value + BrokerReplicaExclusionRequestData: + type: object + required: + - broker_id + - reason + properties: + broker_id: + type: integer + reason: + type: string + AnyValue: + nullable: true + BusinessMetadataDef: + properties: + category: + enum: + - PRIMITIVE + - OBJECT_ID_TYPE + - ENUM + - STRUCT + - CLASSIFICATION + - ENTITY + - ARRAY + - MAP + - RELATIONSHIP + - BUSINESS_METADATA + type: string + description: The category + guid: + type: string + description: The internal guid + createdBy: + type: string + description: The creator + updatedBy: + type: string + description: The updater + createTime: + format: int64 + type: integer + description: The create time + updateTime: + format: int64 + type: integer + description: The update time + version: + format: int32 + type: integer + description: The version + name: + type: string + description: The name + description: + type: string + description: The description + typeVersion: + type: string + description: The type version + serviceType: + type: string + description: The service type + options: + additionalProperties: + type: string + type: object + description: The options + attributeDefs: + items: + $ref: '#/components/schemas/AttributeDef' + type: array + description: The attribute definitions + type: object + BusinessMetadata: + properties: + typeName: + type: string + description: The business metadata name + attributes: + type: object + description: The business metadata attributes + entityType: + type: string + description: The entity type + entityName: + type: string + description: The qualified name of the entity + type: object + BusinessMetadataResponse: + properties: + typeName: + type: string + description: The business metadata name + attributes: + type: object + description: The business metadata attributes + entityType: + type: string + description: The entity type + entityName: + type: string + description: The qualified name of the entity + error: + $ref: '#/components/schemas/ErrorMessage' + type: object + Tag: + type: object + properties: + typeName: + type: string + description: The tag name + attributes: + type: object + description: The tag attributes + entityGuid: + type: string + description: The internal entity guid + entityStatus: + type: string + description: The entity status + enum: + - ACTIVE + - DELETED + - PURGED + propagate: + type: boolean + description: Whether to propagate the tag + validityPeriods: + type: array + description: The validity periods + items: + $ref: '#/components/schemas/TimeBoundary' + removePropagationsOnEntityDelete: + type: boolean + description: Whether to remove propagations on entity delete + entityType: + type: string + description: The entity type + entityName: + type: string + description: The qualified name of the entity + TagResponse: + type: object + properties: + typeName: + type: string + description: The tag name + attributes: + type: object + description: The tag attributes + entityGuid: + type: string + description: The internal entity guid + entityStatus: + type: string + description: The entity status + enum: + - ACTIVE + - DELETED + - PURGED + propagate: + type: boolean + description: Whether to propagate the tag + validityPeriods: + type: array + description: The validity periods + items: + $ref: '#/components/schemas/TimeBoundary' + removePropagationsOnEntityDelete: + type: boolean + description: Whether to remove propagations on entity delete + entityType: + type: string + description: The entity type + entityName: + type: string + description: The qualified name of the entity + error: + $ref: '#/components/schemas/ErrorMessage' + TimeBoundary: + type: object + properties: + startTime: + type: string + description: 'The start time of format yyyy/MM/dd HH:mm:ss' + endTime: + type: string + description: 'The end time of format yyyy/MM/dd HH:mm:ss' + timeZone: + type: string + description: The time zone (see java.util.TimeZone) + EntityWithExtInfo: + type: object + properties: + referredEntities: + type: object + description: The referred entities + additionalProperties: + $ref: '#/components/schemas/Entity' + entity: + $ref: '#/components/schemas/Entity' + Entity: + type: object + description: The entity + properties: + typeName: + type: string + description: The type name + attributes: + type: object + description: The type attributes + guid: + type: string + description: The internal guid + homeId: + type: string + description: The home id + isProxy: + type: boolean + description: Whether is a proxy + writeOnly: true + isIncomplete: + type: boolean + description: Whether is incomplete + provenanceType: + type: integer + description: The provenance type + format: int32 + status: + type: string + description: The status + enum: + - ACTIVE + - DELETED + - PURGED + createdBy: + type: string + description: The creator + updatedBy: + type: string + description: The updater + createTime: + type: integer + description: The create time + format: int64 + updateTime: + type: integer + description: The update time + format: int64 + version: + type: integer + description: The version + format: int32 + relationshipAttributes: + type: object + description: The relationship attributes + classifications: + type: array + description: The classifications (tags) + items: + $ref: '#/components/schemas/Classification' + meanings: + type: array + description: The meanings + items: + $ref: '#/components/schemas/TermAssignmentHeader' + customAttributes: + type: object + description: The custom attributes + additionalProperties: + type: string + businessAttributes: + type: object + description: The business attributes + additionalProperties: + type: object + labels: + uniqueItems: true + type: array + description: The labels + items: + type: string + proxy: + type: boolean + description: Whether is a proxy + Classification: + type: object + properties: + typeName: + type: string + description: The tag name + attributes: + type: object + description: The tag attributes + additionalProperties: + type: object + entityGuid: + type: string + description: The internal entity guid + entityStatus: + type: string + description: The entity status + enum: + - ACTIVE + - DELETED + - PURGED + propagate: + type: boolean + description: Whether to propagate the tag + validityPeriods: + type: array + description: The validity periods + items: + $ref: '#/components/schemas/TimeBoundary' + removePropagationsOnEntityDelete: + type: boolean + description: Whether to remove propagations on entity delete + TermAssignmentHeader: + type: object + properties: + termGuid: + type: string + description: The term guid + relationGuid: + type: string + description: The relation guid + description: + type: string + description: The description + displayText: + type: string + description: The display text + expression: + type: string + description: The expression + createdBy: + type: string + description: The creator + steward: + type: string + description: The steward + source: + type: string + description: The source + confidence: + type: integer + description: The confidence + format: int32 + status: + type: string + description: The status + enum: + - DISCOVERED + - PROPOSED + - IMPORTED + - VALIDATED + - DEPRECATED + - OBSOLETE + - OTHER + EntityPartialUpdateResponse: + type: object + properties: + mutatedEntities: + $ref: '#/components/schemas/EntityPartialUpdate' + description: The type name + EntityPartialUpdate: + type: object + properties: + UPDATE: + type: array + description: The updated entities. + items: + $ref: '#/components/schemas/PartialUpdateParams' + description: The updated entities. + PartialUpdateParams: + type: object + properties: + typeName: + type: string + description: The type name + attributes: + type: object + description: The attributes + guid: + type: string + description: The internal guid + status: + type: string + description: The status + enum: + - ACTIVE + - DELETED + - PURGED + classificationNames: + type: array + description: The classification (tag) names + items: + type: string + classifications: + type: array + description: The classifications (tags) + items: + $ref: '#/components/schemas/ClassificationHeader' + isIncomplete: + type: boolean + description: Whether is incomplete + ClassificationHeader: + type: object + properties: + typeName: + type: string + description: The tag name + entityGuid: + type: string + description: The internal entity guid + entityStatus: + type: string + description: The entity status + enum: + - ACTIVE + - DELETED + - PURGED + propagate: + type: boolean + description: Whether to propagate the tag + removePropagationsOnEntityDelete: + type: boolean + description: Whether to remove propagations on entity delete + SearchResult: + type: object + properties: + searchParameters: + $ref: '#/components/schemas/SearchParams' + types: + type: array + description: The types + items: + type: string + entities: + type: array + description: The entities + items: + $ref: '#/components/schemas/EntityHeader' + referredEntities: + type: object + description: The referred entities + additionalProperties: + $ref: '#/components/schemas/EntityHeader' + SearchParams: + type: object + description: Search paramas to filter results + properties: + includeDeleted: + type: boolean + description: Whether to include deleted + limit: + type: integer + description: The limit + format: int32 + offset: + type: integer + description: The offset + format: int32 + EntityHeader: + type: object + properties: + typeName: + type: string + description: The type name + attributes: + type: object + description: The attributes + additionalProperties: true + guid: + type: string + description: The internal guid + status: + type: string + description: The status + enum: + - ACTIVE + - DELETED + - PURGED + displayText: + type: string + description: The display text + classificationNames: + type: array + description: The classification (tag) names + items: + type: string + classifications: + type: array + description: The classifications (tags) + items: + $ref: '#/components/schemas/Classification' + meaningNames: + type: array + description: The meaning names + items: + type: string + meanings: + type: array + description: The meanings + items: + $ref: '#/components/schemas/TermAssignmentHeader' + isIncomplete: + type: boolean + description: Whether is incomplete + labels: + uniqueItems: true + type: array + description: The labels + items: + type: string + TagDefResponse: + type: object + properties: + category: + type: string + description: The category + enum: + - PRIMITIVE + - OBJECT_ID_TYPE + - ENUM + - STRUCT + - CLASSIFICATION + - ENTITY + - ARRAY + - MAP + - RELATIONSHIP + - BUSINESS_METADATA + guid: + type: string + description: The internal guid + createdBy: + type: string + description: The creator + updatedBy: + type: string + description: The updater + createTime: + type: integer + description: The create time + format: int64 + updateTime: + type: integer + description: The update time + format: int64 + version: + type: integer + description: The version + format: int32 + name: + type: string + description: The name + description: + type: string + description: The description + typeVersion: + type: string + description: The type version + serviceType: + type: string + description: The service type + options: + type: object + description: The options + additionalProperties: + type: string + attributeDefs: + type: array + description: The attribute definitions + items: + $ref: '#/components/schemas/AttributeDef' + superTypes: + uniqueItems: true + type: array + description: The supertypes + items: + type: string + entityTypes: + uniqueItems: true + type: array + description: The entity types + items: + type: string + subTypes: + uniqueItems: true + type: array + description: The subtypes + items: + type: string + error: + $ref: '#/components/schemas/ErrorMessage' + TagDef: + type: object + properties: + category: + type: string + description: The category + enum: + - PRIMITIVE + - OBJECT_ID_TYPE + - ENUM + - STRUCT + - CLASSIFICATION + - ENTITY + - ARRAY + - MAP + - RELATIONSHIP + - BUSINESS_METADATA + guid: + type: string + description: The internal guid + createdBy: + type: string + description: The creator + updatedBy: + type: string + description: The updater + createTime: + type: integer + description: The create time + format: int64 + updateTime: + type: integer + description: The update time + format: int64 + version: + type: integer + description: The version + format: int32 + name: + type: string + description: The name + description: + type: string + description: The description + typeVersion: + type: string + description: The type version + serviceType: + type: string + description: The service type + options: + type: object + description: The options + additionalProperties: + type: string + attributeDefs: + type: array + description: The attribute definitions + items: + $ref: '#/components/schemas/AttributeDef' + superTypes: + uniqueItems: true + type: array + description: The supertypes + items: + type: string + entityTypes: + uniqueItems: true + type: array + description: The entity types + items: + type: string + subTypes: + uniqueItems: true + type: array + description: The subtypes + items: + type: string + parameters: + AclHost: + name: host + description: The ACL host. + in: query + required: false + schema: + type: string + AclOperation: + name: operation + description: The ACL operation. + in: query + required: false + schema: + $ref: '#/components/schemas/AclOperation' + AclOperationRequired: + name: operation + description: The ACL operation. + in: query + required: true + schema: + $ref: '#/components/schemas/AclOperation' + AclPatternType: + name: pattern_type + description: The ACL pattern type. + in: query + required: false + schema: + $ref: '#/components/schemas/AclPatternType' + AclPatternTypeRequired: + name: pattern_type + description: The ACL pattern type. + in: query + required: true + schema: + $ref: '#/components/schemas/AclPatternType' + AclPermission: + name: permission + description: The ACL permission. + in: query + required: false + schema: + $ref: '#/components/schemas/AclPermission' + AclPermissionRequired: + name: permission + description: The ACL permission. + in: query + required: true + schema: + $ref: '#/components/schemas/AclPermission' + AclPrincipal: + name: principal + description: The ACL principal. This is the Service Account name or user name. + in: query + required: false + schema: + type: string + AclResourceName: + name: resource_name + description: The ACL resource name. + in: query + required: false + schema: + type: string + AclResourceType: + name: resource_type + description: The ACL resource type. + in: query + required: false + schema: + $ref: '#/components/schemas/AclResourceType' + AclResourceTypeRequired: + name: resource_type + description: The ACL resource type. + in: query + required: true + schema: + $ref: '#/components/schemas/AclResourceType' + BrokerId: + name: broker_id + description: The Kafka broker ID. + in: path + required: true + schema: + type: integer + example: 1 + ClusterId: + name: cluster_id + description: The Kafka cluster ID. + in: path + required: true + schema: + type: string + example: cluster-1 + ConfigName: + name: name + description: The configuration parameter name. + in: path + required: true + schema: + type: string + example: compression.type + ConsumerGroupId: + name: consumer_group_id + description: The consumer group ID. + in: path + required: true + schema: + type: string + example: consumer-group-1 + ConsumerId: + name: consumer_id + description: The consumer ID. + in: path + required: true + schema: + type: string + example: consumer-1 + IncludeAuthorizedOperations: + name: include_authorized_operations + description: Specify if authorized operations should be included in the response. + in: query + required: false + schema: + type: boolean + PartitionId: + name: partition_id + description: The partition ID. + in: path + required: true + schema: + type: integer + example: 0 + TopicName: + name: topic_name + description: The topic name. + in: path + required: true + schema: + type: string + example: topic-1 + BrokerTaskType: + name: task_type + description: The Kafka broker task type. + in: path + required: true + schema: + $ref: '#/components/schemas/BrokerTaskType' + example: remove-broker + ShouldShutdown: + name: should_shutdown + description: 'To shutdown the broker or not, Default: true' + in: query + required: false + schema: + type: boolean + example: true + ValidateOnly: + name: validate_only + description: 'To validate the action can be performed successfully or not. Default: false' + in: query + required: false + schema: + type: boolean + example: false + ValidateLink: + name: validate_link + description: 'To synchronously validate that the source cluster ID is expected and the dest cluster has the permission to read topics in the source cluster. Default: true' + in: query + required: false + schema: + type: boolean + example: false + IncludeTasks: + name: include_tasks + description: 'Whether to include cluster linking tasks in the response. Default: false' + in: query + required: false + schema: + type: boolean + example: false + IncludeStateTransitionErrors: + name: include_state_transition_errors + description: 'Whether to include mirror state transition errors in the response. Default: false' + in: query + required: false + schema: + type: boolean + example: false + Force: + name: force + description: 'Force the action. Default: false' + in: query + required: false + schema: + type: boolean + example: false + IncludePartitionLevelTruncationData: + name: include_partition_level_truncation_data + description: 'Whether to include partition level truncation information when truncating and restoring a topic in the response. Default: false' + in: query + required: false + schema: + type: boolean + example: false + LinkName: + name: link_name + description: The link name + in: path + required: true + schema: + type: string + example: link-sb1 + LinkConfigName: + name: config_name + description: The link config name + in: path + required: true + schema: + type: string + example: consumer.offset.sync.enable + MirrorTopicStatus: + name: mirror_status + description: 'The status of the mirror topic. If not specified, all mirror topics will be returned.' + in: query + required: false + schema: + $ref: '#/components/schemas/MirrorTopicStatus' + example: ACTIVE + MirrorTopicName: + name: mirror_topic_name + description: Cluster Linking mirror topic name + in: path + required: true + schema: + type: string + example: topic-1 + QueryParamLinkName: + name: link_name + description: The link name + in: query + required: true + schema: + type: string + example: link-sb1 + responses: {} + securitySchemes: + cloud-api-key: + type: http + scheme: basic + description: Authenticate with Cloud API Keys using HTTP Basic Auth. Treat the Cloud API Key ID as the username and Cloud API Key Secret as the password. + confluent-sts-access-token: + type: oauth2 + description: Authenticate with Confluent API using this credentials (JSON Web Tokens) following OAuth 2.0. + flows: + clientCredentials: + tokenUrl: 'https://api.confluent.cloud/sts/v1/oauth2/token' + scopes: {} + api-key: + type: http + scheme: basic + description: Authenticate with API Keys using HTTP Basic Auth. Treat the API Key ID as the username and API Key Secret as the password. + resource-api-key: + type: http + scheme: basic + description: | + Authenticate with resource-specific API Keys using HTTP Basic Auth. Treat the resource-specific API Key ID + as the username and resource-specific API Key Secret as the password. + external-access-token: + type: oauth2 + description: Authenticate with OAuth 2.0. + flows: + clientCredentials: + tokenUrl: 'https:///token' + scopes: {} + oauth: + type: oauth2 + description: Authenticate with OAuth 2.0. Currently this is only supported for partner APIs. + flows: + clientCredentials: + tokenUrl: /oauth2/token + scopes: + 'partner:alter': enables partners to alter entitlements + 'partner:create': enables partners to create entitlements and signup on behalf of customers + 'partner:delete': enables partners to delete entitlements and organizations + 'partner:describe': enables partners to read and list entitlements and organizations + requestBodies: + AlterBrokerConfigBatchRequest: + description: The alter broker configuration parameter batch request. + content: + application/json: + schema: + $ref: '#/components/schemas/AlterConfigBatchRequestData' + example: + data: + - name: max.connections + operation: DELETE + - name: compression.type + value: gzip + AlterClusterConfigBatchRequest: + description: The alter cluster configuration parameter batch request. + content: + application/json: + schema: + $ref: '#/components/schemas/AlterConfigBatchRequestData' + example: + data: + - name: max.connections + operation: DELETE + - name: compression.type + value: gzip + AlterTopicConfigBatchRequest: + description: The alter topic configuration parameter batch request. + content: + application/json: + schema: + $ref: '#/components/schemas/AlterConfigBatchRequestData' + examples: + batch_alter_topic_configs: + value: + data: + - name: cleanup.policy + operation: DELETE + - name: compression.type + value: gzip + validate_only_batch_alter_topic_configs: + value: + data: + - name: cleanup.policy + operation: DELETE + - name: compression.type + value: gzip + validate_only: true + CreateAclRequest: + description: The ACL creation request. + content: + application/json: + schema: + $ref: '#/components/schemas/CreateAclRequestData' + example: + resource_type: CLUSTER + resource_name: kafka-cluster + pattern_type: LITERAL + principal: 'principalType:principalName' + host: '*' + operation: DESCRIBE + permission: DENY + BatchCreateAclRequest: + description: The batch ACL creation request. + content: + application/json: + schema: + $ref: '#/components/schemas/CreateAclRequestDataList' + example: + data: + - resource_type: CLUSTER + resource_name: kafka-cluster + pattern_type: LITERAL + principal: 'principalType:principalName' + host: '*' + operation: DESCRIBE + permission: DENY + - resource_type: TOPIC + resource_name: kafka-cluster + pattern_type: LITERAL + principal: 'principalType:principalName' + host: '*' + operation: READ + permission: ALLOW + CreateTopicRequest: + description: 'The topic creation request. Note that Confluent Cloud allows only specific replication factor values. Because of that the replication factor field should either be omitted or it should use one of the allowed values (see https://docs.confluent.io/cloud/current/client-apps/optimizing/durability.html).' + content: + application/json: + schema: + $ref: '#/components/schemas/CreateTopicRequestData' + examples: + uniform_replication: + value: + topic_name: topic-X + partitions_count: 64 + replication_factor: 3 + configs: + - name: cleanup.policy + value: compact + - name: compression.type + value: gzip + dry_run_create_topic: + value: + topic_name: topic-X + partitions_count: 64 + replication_factor: 3 + validate_only: true + ProduceRequest: + description: 'A single record to be produced to Kafka. To produce multiple records in the same request, simply concatenate the records. The delivery reports are concatenated in the same order as the records are sent.' + content: + application/json: + schema: + $ref: '#/components/schemas/ProduceRequest' + examples: + binary_and_json: + description: 'If using type, one of "BINARY", "JSON" or "STRING" is required.' + value: + partition_id: 1 + headers: + - name: Header-1 + value: SGVhZGVyLTE= + - name: Header-2 + value: SGVhZGVyLTI= + key: + type: BINARY + data: Zm9vYmFy + value: + type: JSON + data: + foo: bar + timestamp: '2021-02-05T19:14:42Z' + string: + description: 'If using type, one of "BINARY", "JSON" or "STRING" is required.' + value: + value: + type: STRING + data: My message + empty_value: + description: key or value can be omitted entirely. + value: + key: + data: 1000 + UpdateBrokerConfigRequest: + description: The broker configuration parameter update request. + content: + application/json: + schema: + $ref: '#/components/schemas/UpdateConfigRequestData' + example: + value: gzip + UpdateClusterConfigRequest: + description: The cluster configuration parameter update request. + content: + application/json: + schema: + $ref: '#/components/schemas/UpdateConfigRequestData' + example: + value: gzip + UpdateTopicConfigRequest: + description: The topic configuration parameter update request. + content: + application/json: + schema: + $ref: '#/components/schemas/UpdateConfigRequestData' + example: + value: gzip + CreateLinkRequest: + description: Create a cluster link + content: + application/json: + schema: + $ref: '#/components/schemas/CreateLinkRequestData' + examples: + destination_initiated_link: + description: Create a destination initiated cluster link + value: + source_cluster_id: cluster-1 + configs: + - name: bootstrap.servers + value: cluster-1-bootstrap-server + - name: acl.sync.enable + value: 'false' + - name: consumer.offset.sync.ms + value: '30000' + - name: sasl.mechanism + value: PLAIN + - name: sasl.protocol + value: SASL_SSL + - name: sasl.jaas.config + value: sasl.jaas.config=org.apache.kafka.common.security.plain.PlainLoginModule required username='' password=''; + source_initiated_link_at_source_cluster: + description: Create a source initiated cluster link at source cluster + value: + destination_cluster_id: cluster-2 + configs: + - name: bootstrap.servers + value: cluster-2-bootstrap-server + - name: link.mode + value: SOURCE + - name: sasl.mechanism + value: PLAIN + - name: sasl.protocol + value: SASL_SSL + - name: sasl.jaas.config + value: sasl.jaas.config=org.apache.kafka.common.security.plain.PlainLoginModule required username='' password=''; + source_initiated_link_at_destination_cluster: + description: Create a source initiated cluster link at destination cluster + value: + destination_cluster_id: cluster-1 + configs: + - name: bootstrap.servers + value: cluster-1-bootstrap-server + - name: link.mode + value: DESTINATION + - name: connection.mode + value: INBOUND + - name: acl.sync.enable + value: 'false' + - name: sasl.mechanism + value: PLAIN + - name: sasl.protocol + value: SASL_SSL + - name: sasl.jaas.config + value: sasl.jaas.config=org.apache.kafka.common.security.plain.PlainLoginModule required username='' password=''; + bidirectional_link_east: + description: Create a bidirectional cluster link in east + value: + remote_cluster_id: cluster-west + configs: + - name: bootstrap.servers + value: cluster-west-bootstrap-server + - name: link.mode + value: BIDIRECTIONAL + - name: cluster.link.prefix + value: west. + - name: sasl.mechanism + value: PLAIN + - name: sasl.protocol + value: SASL_SSL + - name: sasl.jaas.config + value: sasl.jaas.config=org.apache.kafka.common.security.plain.PlainLoginModule required username='' password=''; + bidirectional_link_west: + description: Create a bidirectional cluster link in west + value: + remote_cluster_id: cluster-east + cluster_link_id: eEBkTffYSESld6EO898x3w + configs: + - name: bootstrap.servers + value: cluster-east-bootstrap-server + - name: link.mode + value: BIDIRECTIONAL + - name: cluster.link.prefix + value: east. + - name: sasl.mechanism + value: PLAIN + - name: sasl.protocol + value: SASL_SSL + - name: sasl.jaas.config + value: sasl.jaas.config=org.apache.kafka.common.security.plain.PlainLoginModule required username='' password=''; + UpdateLinkConfigRequest: + content: + application/json: + example: + value: '300000' + schema: + $ref: '#/components/schemas/UpdateLinkConfigRequestData' + description: Link config value to update + AlterLinkConfigBatchRequest: + content: + application/json: + example: + data: + - name: cleanup.policy + operation: DELETE + - name: compression.type + value: gzip + schema: + $ref: '#/components/schemas/AlterConfigBatchRequestData' + CreateMirrorTopicRequest: + description: 'Name and configs of the topics mirroring from and mirroring to. Note that Confluent Cloud allows only specific replication factor values. Because of that the replication factor field should either be omitted or it should use one of the allowed values (see https://docs.confluent.io/cloud/current/client-apps/optimizing/durability.html).' + content: + application/json: + schema: + $ref: '#/components/schemas/CreateMirrorTopicRequestData' + examples: + generic_example: + description: Generic example of creating a mirror topic + value: + source_topic_name: topic-1 + configs: + - name: unclean.leader.election.enable + value: 'true' + replication_factor: 1 + example_with_mirror_topic_name: + description: Example using optional mirror_topic_name flag + value: + source_topic_name: topic-1 + mirror_topic_name: link1_topic-1 + configs: + - name: unclean.leader.election.enable + value: 'true' + replication_factor: 3 + AlterMirrorsRequest: + description: Mirror topics to be altered. + content: + application/json: + schema: + $ref: '#/components/schemas/AlterMirrorsRequestData' + examples: + mirror_topic_names: + description: Example using mirror topic names + value: + mirror_topic_names: + - topic-1 + - topic-2 + mirror_topic_name_pattern: + description: Example using mirror topic name pattern + value: + mirror_topic_name_pattern: .* + RemoveBrokersRequest: + content: + application/json: + example: + broker_ids: + - 1 + - 2 + - 3 + schema: + $ref: '#/components/schemas/RemoveBrokersRequestData' + description: Broker ids to remove + BrokerReplicaExclusionBatchRequest: + description: Alter Broker Replica Exclusions. + content: + application/json: + schema: + $ref: '#/components/schemas/BrokerReplicaExclusionBatchRequestData' + example: + data: + - broker_id: 1 + reason: The broker is to be removed. + - broker_id: 2 + reason: The broker is to be removed. + x-stackQL-resources: + business_metadata_defs: + id: confluent.catalog.business_metadata_defs + name: business_metadata_defs + title: Business Metadata Defs + methods: + get_all_business_metadata_defs: + operation: + $ref: '#/paths/~1catalog~1v1~1types~1businessmetadatadefs/get' + response: + mediaType: application/json + openAPIDocKey: '200' + create_business_metadata_defs: + operation: + $ref: '#/paths/~1catalog~1v1~1types~1businessmetadatadefs/post' + response: + mediaType: application/json + openAPIDocKey: '200' + update_business_metadata_defs: + operation: + $ref: '#/paths/~1catalog~1v1~1types~1businessmetadatadefs/put' + response: + mediaType: application/json + openAPIDocKey: '200' + delete_business_metadata_def: + operation: + $ref: '#/paths/~1catalog~1v1~1types~1businessmetadatadefs~1{bmName}/delete' + response: + mediaType: application/json + openAPIDocKey: '204' + get_business_metadata_def_by_name: + operation: + $ref: '#/paths/~1catalog~1v1~1types~1businessmetadatadefs~1{bmName}/get' + response: + mediaType: application/json + openAPIDocKey: '200' + schemaRef: '#/components/schemas/BusinessMetadataDef' + sqlVerbs: + select: + - $ref: '#/components/x-stackQL-resources/business_metadata_defs/methods/get_business_metadata_def_by_name' + - $ref: '#/components/x-stackQL-resources/business_metadata_defs/methods/get_all_business_metadata_defs' + insert: + - $ref: '#/components/x-stackQL-resources/business_metadata_defs/methods/create_business_metadata_defs' + update: [] + replace: [] + delete: + - $ref: '#/components/x-stackQL-resources/business_metadata_defs/methods/delete_business_metadata_def' + business_metadata: + id: confluent.catalog.business_metadata + name: business_metadata + title: Business Metadata + methods: + create_business_metadata: + operation: + $ref: '#/paths/~1catalog~1v1~1entity~1businessmetadata/post' + response: + mediaType: application/json + openAPIDocKey: '200' + update_business_metadata: + operation: + $ref: '#/paths/~1catalog~1v1~1entity~1businessmetadata/put' + response: + mediaType: application/json + openAPIDocKey: '200' + get_business_metadata: + operation: + $ref: '#/paths/~1catalog~1v1~1entity~1type~1{typeName}~1name~1{qualifiedName}~1businessmetadata/get' + response: + mediaType: application/json + openAPIDocKey: '200' + delete_business_metadata: + operation: + $ref: '#/paths/~1catalog~1v1~1entity~1type~1{typeName}~1name~1{qualifiedName}~1businessmetadata~1{bmName}/delete' + response: + mediaType: application/json + openAPIDocKey: '204' + sqlVerbs: + select: + - $ref: '#/components/x-stackQL-resources/business_metadata/methods/get_business_metadata' + insert: + - $ref: '#/components/x-stackQL-resources/business_metadata/methods/create_business_metadata' + update: [] + replace: [] + delete: + - $ref: '#/components/x-stackQL-resources/business_metadata/methods/delete_business_metadata' + tags: + id: confluent.catalog.tags + name: tags + title: Tags + methods: + update_tags: + operation: + $ref: '#/paths/~1catalog~1v1~1entity~1tags/put' + response: + mediaType: application/json + openAPIDocKey: '200' + create_tags: + operation: + $ref: '#/paths/~1catalog~1v1~1entity~1tags/post' + response: + mediaType: application/json + openAPIDocKey: '200' + get_tags: + operation: + $ref: '#/paths/~1catalog~1v1~1entity~1type~1{typeName}~1name~1{qualifiedName}~1tags/get' + response: + mediaType: application/json + openAPIDocKey: '200' + delete_tag: + operation: + $ref: '#/paths/~1catalog~1v1~1entity~1type~1{typeName}~1name~1{qualifiedName}~1tags~1{tagName}/delete' + response: + mediaType: application/json + openAPIDocKey: '204' + sqlVerbs: + select: + - $ref: '#/components/x-stackQL-resources/tags/methods/get_tags' + insert: + - $ref: '#/components/x-stackQL-resources/tags/methods/create_tags' + update: [] + replace: [] + delete: + - $ref: '#/components/x-stackQL-resources/tags/methods/delete_tag' + entities: + id: confluent.catalog.entities + name: entities + title: Entities + methods: + get_by_unique_attributes: + operation: + $ref: '#/paths/~1catalog~1v1~1entity~1type~1{typeName}~1name~1{qualifiedName}/get' + response: + mediaType: application/json + openAPIDocKey: '200' + schemaRef: '#/components/schemas/EntityWithExtInfo' + partial_entity_update: + operation: + $ref: '#/paths/~1catalog~1v1~1entity/put' + response: + mediaType: application/json + openAPIDocKey: '200' + schemaRef: '#/components/schemas/EntityPartialUpdateResponse' + sqlVerbs: + select: + - $ref: '#/components/x-stackQL-resources/entities/methods/get_by_unique_attributes' + insert: [] + update: [] + replace: [] + delete: [] + searches: + id: confluent.catalog.searches + name: searches + title: Searches + methods: + search_using_attribute: + operation: + $ref: '#/paths/~1catalog~1v1~1search~1attribute/get' + response: + mediaType: application/json + openAPIDocKey: '200' + schemaRef: '#/components/schemas/SearchResult' + search_using_basic: + operation: + $ref: '#/paths/~1catalog~1v1~1search~1basic/get' + response: + mediaType: application/json + openAPIDocKey: '200' + schemaRef: '#/components/schemas/SearchResult' + sqlVerbs: + select: + - $ref: '#/components/x-stackQL-resources/searches/methods/search_using_attribute' + - $ref: '#/components/x-stackQL-resources/searches/methods/search_using_basic' + insert: [] + update: [] + replace: [] + delete: [] + tag_defs: + id: confluent.catalog.tag_defs + name: tag_defs + title: Tag Defs + methods: + get_all_tag_defs: + operation: + $ref: '#/paths/~1catalog~1v1~1types~1tagdefs/get' + response: + mediaType: application/json + openAPIDocKey: '200' + update_tag_defs: + operation: + $ref: '#/paths/~1catalog~1v1~1types~1tagdefs/put' + response: + mediaType: application/json + openAPIDocKey: '200' + create_tag_defs: + operation: + $ref: '#/paths/~1catalog~1v1~1types~1tagdefs/post' + response: + mediaType: application/json + openAPIDocKey: '200' + get_tag_def_by_name: + operation: + $ref: '#/paths/~1catalog~1v1~1types~1tagdefs~1{tagName}/get' + response: + mediaType: application/json + openAPIDocKey: '200' + schemaRef: '#/components/schemas/TagDef' + delete_tag_def: + operation: + $ref: '#/paths/~1catalog~1v1~1types~1tagdefs~1{tagName}/delete' + response: + mediaType: application/json + openAPIDocKey: '204' + sqlVerbs: + select: + - $ref: '#/components/x-stackQL-resources/tag_defs/methods/get_tag_def_by_name' + - $ref: '#/components/x-stackQL-resources/tag_defs/methods/get_all_tag_defs' + insert: + - $ref: '#/components/x-stackQL-resources/tag_defs/methods/create_tag_defs' + update: [] + replace: [] + delete: + - $ref: '#/components/x-stackQL-resources/tag_defs/methods/delete_tag_def' +paths: + /catalog/v1/types/businessmetadatadefs: + get: + summary: Bulk Read Business Metadata Definitions + description: |- + [![Generally Available](https://img.shields.io/badge/Lifecycle%20Stage-Generally%20Available-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + Bulk retrieval API for retrieving business metadata definitions. + operationId: getAllBusinessMetadataDefs + tags: + - Types (v1) + parameters: + - description: The prefix of a business metadata definition name + explode: true + in: query + name: prefix + required: false + schema: + type: string + style: form + responses: + '200': + content: + application/json: + schema: + items: + $ref: '#/components/schemas/BusinessMetadataDefResponse' + type: array + description: The business metadata definitions + '400': + description: Bad Request + '429': + description: Rate Limit Error + '500': + description: Internal Server Error + x-codeSamples: + - lang: Shell + source: |- + curl --request GET \ + --url https://psrc-00000.region.provider.confluent.cloud/catalog/v1/types/businessmetadatadefs + - lang: Java + source: |- + OkHttpClient client = new OkHttpClient(); + + Request request = new Request.Builder() + .url("https://psrc-00000.region.provider.confluent.cloud/catalog/v1/types/businessmetadatadefs") + .get() + .build(); + + Response response = client.newCall(request).execute(); + - lang: Go + source: "package main\n\nimport (\n\t\"fmt\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://psrc-00000.region.provider.confluent.cloud/catalog/v1/types/businessmetadatadefs\"\n\n\treq, _ := http.NewRequest(\"GET\", url, nil)\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}" + - lang: Python + source: |- + import http.client + + conn = http.client.HTTPSConnection("psrc-00000.region.provider.confluent.cloud") + + conn.request("GET", "/catalog/v1/types/businessmetadatadefs") + + res = conn.getresponse() + data = res.read() + + print(data.decode("utf-8")) + - lang: Node + source: |- + const http = require("https"); + + const options = { + "method": "GET", + "hostname": "psrc-00000.region.provider.confluent.cloud", + "port": null, + "path": "/catalog/v1/types/businessmetadatadefs", + "headers": {} + }; + + const req = http.request(options, function (res) { + const chunks = []; + + res.on("data", function (chunk) { + chunks.push(chunk); + }); + + res.on("end", function () { + const body = Buffer.concat(chunks); + console.log(body.toString()); + }); + }); + + req.end(); + - lang: C + source: |- + CURL *hnd = curl_easy_init(); + + curl_easy_setopt(hnd, CURLOPT_CUSTOMREQUEST, "GET"); + curl_easy_setopt(hnd, CURLOPT_URL, "https://psrc-00000.region.provider.confluent.cloud/catalog/v1/types/businessmetadatadefs"); + + CURLcode ret = curl_easy_perform(hnd); + - lang: C# + source: |- + var client = new RestClient("https://psrc-00000.region.provider.confluent.cloud/catalog/v1/types/businessmetadatadefs"); + var request = new RestRequest(Method.GET); + IRestResponse response = client.Execute(request); + post: + summary: Bulk Create Business Metadata Definitions + description: |- + [![Generally Available](https://img.shields.io/badge/Lifecycle%20Stage-Generally%20Available-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + Bulk create API for business metadata definitions. + operationId: createBusinessMetadataDefs + tags: + - Types (v1) + requestBody: + content: + application/json: + schema: + items: + $ref: '#/components/schemas/BusinessMetadataDef' + type: array + description: The business metadata definitions to create + responses: + '200': + content: + application/json: + schema: + items: + $ref: '#/components/schemas/BusinessMetadataDefResponse' + type: array + description: The business metadata definitions. Errored business metadata definitions will have an additional error property. + '400': + description: Bad Request + '429': + description: Rate Limit Error + '500': + description: Internal Server Error + x-codeSamples: + - lang: Shell + source: |- + curl --request POST \ + --url https://psrc-00000.region.provider.confluent.cloud/catalog/v1/types/businessmetadatadefs \ + --header 'content-type: application/json' \ + --data '[{"category":"PRIMITIVE","guid":"string","createdBy":"string","updatedBy":"string","createTime":0,"updateTime":0,"version":0,"name":"string","description":"string","typeVersion":"string","serviceType":"string","options":{"property1":"string","property2":"string"},"attributeDefs":[{"name":"string","typeName":"string","isOptional":true,"cardinality":"SINGLE","valuesMinCount":0,"valuesMaxCount":0,"isUnique":true,"isIndexable":true,"includeInNotification":true,"defaultValue":"string","description":"string","searchWeight":0,"indexType":"DEFAULT","constraints":[{"type":"string","params":{"property1":{},"property2":{}}}],"options":{"property1":"string","property2":"string"},"displayName":"string"}]}]' + - lang: Java + source: |- + OkHttpClient client = new OkHttpClient(); + + MediaType mediaType = MediaType.parse("application/json"); + RequestBody body = RequestBody.create(mediaType, "[{\"category\":\"PRIMITIVE\",\"guid\":\"string\",\"createdBy\":\"string\",\"updatedBy\":\"string\",\"createTime\":0,\"updateTime\":0,\"version\":0,\"name\":\"string\",\"description\":\"string\",\"typeVersion\":\"string\",\"serviceType\":\"string\",\"options\":{\"property1\":\"string\",\"property2\":\"string\"},\"attributeDefs\":[{\"name\":\"string\",\"typeName\":\"string\",\"isOptional\":true,\"cardinality\":\"SINGLE\",\"valuesMinCount\":0,\"valuesMaxCount\":0,\"isUnique\":true,\"isIndexable\":true,\"includeInNotification\":true,\"defaultValue\":\"string\",\"description\":\"string\",\"searchWeight\":0,\"indexType\":\"DEFAULT\",\"constraints\":[{\"type\":\"string\",\"params\":{\"property1\":{},\"property2\":{}}}],\"options\":{\"property1\":\"string\",\"property2\":\"string\"},\"displayName\":\"string\"}]}]"); + Request request = new Request.Builder() + .url("https://psrc-00000.region.provider.confluent.cloud/catalog/v1/types/businessmetadatadefs") + .post(body) + .addHeader("content-type", "application/json") + .build(); + + Response response = client.newCall(request).execute(); + - lang: Go + source: "package main\n\nimport (\n\t\"fmt\"\n\t\"strings\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://psrc-00000.region.provider.confluent.cloud/catalog/v1/types/businessmetadatadefs\"\n\n\tpayload := strings.NewReader(\"[{\\\"category\\\":\\\"PRIMITIVE\\\",\\\"guid\\\":\\\"string\\\",\\\"createdBy\\\":\\\"string\\\",\\\"updatedBy\\\":\\\"string\\\",\\\"createTime\\\":0,\\\"updateTime\\\":0,\\\"version\\\":0,\\\"name\\\":\\\"string\\\",\\\"description\\\":\\\"string\\\",\\\"typeVersion\\\":\\\"string\\\",\\\"serviceType\\\":\\\"string\\\",\\\"options\\\":{\\\"property1\\\":\\\"string\\\",\\\"property2\\\":\\\"string\\\"},\\\"attributeDefs\\\":[{\\\"name\\\":\\\"string\\\",\\\"typeName\\\":\\\"string\\\",\\\"isOptional\\\":true,\\\"cardinality\\\":\\\"SINGLE\\\",\\\"valuesMinCount\\\":0,\\\"valuesMaxCount\\\":0,\\\"isUnique\\\":true,\\\"isIndexable\\\":true,\\\"includeInNotification\\\":true,\\\"defaultValue\\\":\\\"string\\\",\\\"description\\\":\\\"string\\\",\\\"searchWeight\\\":0,\\\"indexType\\\":\\\"DEFAULT\\\",\\\"constraints\\\":[{\\\"type\\\":\\\"string\\\",\\\"params\\\":{\\\"property1\\\":{},\\\"property2\\\":{}}}],\\\"options\\\":{\\\"property1\\\":\\\"string\\\",\\\"property2\\\":\\\"string\\\"},\\\"displayName\\\":\\\"string\\\"}]}]\")\n\n\treq, _ := http.NewRequest(\"POST\", url, payload)\n\n\treq.Header.Add(\"content-type\", \"application/json\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}" + - lang: Python + source: |- + import http.client + + conn = http.client.HTTPSConnection("psrc-00000.region.provider.confluent.cloud") + + payload = "[{\"category\":\"PRIMITIVE\",\"guid\":\"string\",\"createdBy\":\"string\",\"updatedBy\":\"string\",\"createTime\":0,\"updateTime\":0,\"version\":0,\"name\":\"string\",\"description\":\"string\",\"typeVersion\":\"string\",\"serviceType\":\"string\",\"options\":{\"property1\":\"string\",\"property2\":\"string\"},\"attributeDefs\":[{\"name\":\"string\",\"typeName\":\"string\",\"isOptional\":true,\"cardinality\":\"SINGLE\",\"valuesMinCount\":0,\"valuesMaxCount\":0,\"isUnique\":true,\"isIndexable\":true,\"includeInNotification\":true,\"defaultValue\":\"string\",\"description\":\"string\",\"searchWeight\":0,\"indexType\":\"DEFAULT\",\"constraints\":[{\"type\":\"string\",\"params\":{\"property1\":{},\"property2\":{}}}],\"options\":{\"property1\":\"string\",\"property2\":\"string\"},\"displayName\":\"string\"}]}]" + + headers = { 'content-type': "application/json" } + + conn.request("POST", "/catalog/v1/types/businessmetadatadefs", payload, headers) + + res = conn.getresponse() + data = res.read() + + print(data.decode("utf-8")) + - lang: Node + source: |- + const http = require("https"); + + const options = { + "method": "POST", + "hostname": "psrc-00000.region.provider.confluent.cloud", + "port": null, + "path": "/catalog/v1/types/businessmetadatadefs", + "headers": { + "content-type": "application/json" + } + }; + + const req = http.request(options, function (res) { + const chunks = []; + + res.on("data", function (chunk) { + chunks.push(chunk); + }); + + res.on("end", function () { + const body = Buffer.concat(chunks); + console.log(body.toString()); + }); + }); + + req.write(JSON.stringify([ + { + category: 'PRIMITIVE', + guid: 'string', + createdBy: 'string', + updatedBy: 'string', + createTime: 0, + updateTime: 0, + version: 0, + name: 'string', + description: 'string', + typeVersion: 'string', + serviceType: 'string', + options: {property1: 'string', property2: 'string'}, + attributeDefs: [ + { + name: 'string', + typeName: 'string', + isOptional: true, + cardinality: 'SINGLE', + valuesMinCount: 0, + valuesMaxCount: 0, + isUnique: true, + isIndexable: true, + includeInNotification: true, + defaultValue: 'string', + description: 'string', + searchWeight: 0, + indexType: 'DEFAULT', + constraints: [{type: 'string', params: {property1: {}, property2: {}}}], + options: {property1: 'string', property2: 'string'}, + displayName: 'string' + } + ] + } + ])); + req.end(); + - lang: C + source: |- + CURL *hnd = curl_easy_init(); + + curl_easy_setopt(hnd, CURLOPT_CUSTOMREQUEST, "POST"); + curl_easy_setopt(hnd, CURLOPT_URL, "https://psrc-00000.region.provider.confluent.cloud/catalog/v1/types/businessmetadatadefs"); + + struct curl_slist *headers = NULL; + headers = curl_slist_append(headers, "content-type: application/json"); + curl_easy_setopt(hnd, CURLOPT_HTTPHEADER, headers); + + curl_easy_setopt(hnd, CURLOPT_POSTFIELDS, "[{\"category\":\"PRIMITIVE\",\"guid\":\"string\",\"createdBy\":\"string\",\"updatedBy\":\"string\",\"createTime\":0,\"updateTime\":0,\"version\":0,\"name\":\"string\",\"description\":\"string\",\"typeVersion\":\"string\",\"serviceType\":\"string\",\"options\":{\"property1\":\"string\",\"property2\":\"string\"},\"attributeDefs\":[{\"name\":\"string\",\"typeName\":\"string\",\"isOptional\":true,\"cardinality\":\"SINGLE\",\"valuesMinCount\":0,\"valuesMaxCount\":0,\"isUnique\":true,\"isIndexable\":true,\"includeInNotification\":true,\"defaultValue\":\"string\",\"description\":\"string\",\"searchWeight\":0,\"indexType\":\"DEFAULT\",\"constraints\":[{\"type\":\"string\",\"params\":{\"property1\":{},\"property2\":{}}}],\"options\":{\"property1\":\"string\",\"property2\":\"string\"},\"displayName\":\"string\"}]}]"); + + CURLcode ret = curl_easy_perform(hnd); + - lang: C# + source: |- + var client = new RestClient("https://psrc-00000.region.provider.confluent.cloud/catalog/v1/types/businessmetadatadefs"); + var request = new RestRequest(Method.POST); + request.AddHeader("content-type", "application/json"); + request.AddParameter("application/json", "[{\"category\":\"PRIMITIVE\",\"guid\":\"string\",\"createdBy\":\"string\",\"updatedBy\":\"string\",\"createTime\":0,\"updateTime\":0,\"version\":0,\"name\":\"string\",\"description\":\"string\",\"typeVersion\":\"string\",\"serviceType\":\"string\",\"options\":{\"property1\":\"string\",\"property2\":\"string\"},\"attributeDefs\":[{\"name\":\"string\",\"typeName\":\"string\",\"isOptional\":true,\"cardinality\":\"SINGLE\",\"valuesMinCount\":0,\"valuesMaxCount\":0,\"isUnique\":true,\"isIndexable\":true,\"includeInNotification\":true,\"defaultValue\":\"string\",\"description\":\"string\",\"searchWeight\":0,\"indexType\":\"DEFAULT\",\"constraints\":[{\"type\":\"string\",\"params\":{\"property1\":{},\"property2\":{}}}],\"options\":{\"property1\":\"string\",\"property2\":\"string\"},\"displayName\":\"string\"}]}]", ParameterType.RequestBody); + IRestResponse response = client.Execute(request); + put: + summary: Bulk Update Business Metadata Definitions + description: |- + [![Generally Available](https://img.shields.io/badge/Lifecycle%20Stage-Generally%20Available-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + Bulk update API for business metadata definitions. + operationId: updateBusinessMetadataDefs + tags: + - Types (v1) + requestBody: + content: + application/json: + schema: + items: + $ref: '#/components/schemas/BusinessMetadataDef' + type: array + description: The business metadata definitions to update + responses: + '200': + content: + application/json: + schema: + items: + $ref: '#/components/schemas/BusinessMetadataDefResponse' + type: array + description: The business metadata definitions. Errored business metadata definitions will have an additional error property. + '400': + description: Bad Request + '429': + description: Rate Limit Error + '500': + description: Internal Server Error + x-codeSamples: + - lang: Shell + source: |- + curl --request PUT \ + --url https://psrc-00000.region.provider.confluent.cloud/catalog/v1/types/businessmetadatadefs \ + --header 'content-type: application/json' \ + --data '[{"category":"PRIMITIVE","guid":"string","createdBy":"string","updatedBy":"string","createTime":0,"updateTime":0,"version":0,"name":"string","description":"string","typeVersion":"string","serviceType":"string","options":{"property1":"string","property2":"string"},"attributeDefs":[{"name":"string","typeName":"string","isOptional":true,"cardinality":"SINGLE","valuesMinCount":0,"valuesMaxCount":0,"isUnique":true,"isIndexable":true,"includeInNotification":true,"defaultValue":"string","description":"string","searchWeight":0,"indexType":"DEFAULT","constraints":[{"type":"string","params":{"property1":{},"property2":{}}}],"options":{"property1":"string","property2":"string"},"displayName":"string"}]}]' + - lang: Java + source: |- + OkHttpClient client = new OkHttpClient(); + + MediaType mediaType = MediaType.parse("application/json"); + RequestBody body = RequestBody.create(mediaType, "[{\"category\":\"PRIMITIVE\",\"guid\":\"string\",\"createdBy\":\"string\",\"updatedBy\":\"string\",\"createTime\":0,\"updateTime\":0,\"version\":0,\"name\":\"string\",\"description\":\"string\",\"typeVersion\":\"string\",\"serviceType\":\"string\",\"options\":{\"property1\":\"string\",\"property2\":\"string\"},\"attributeDefs\":[{\"name\":\"string\",\"typeName\":\"string\",\"isOptional\":true,\"cardinality\":\"SINGLE\",\"valuesMinCount\":0,\"valuesMaxCount\":0,\"isUnique\":true,\"isIndexable\":true,\"includeInNotification\":true,\"defaultValue\":\"string\",\"description\":\"string\",\"searchWeight\":0,\"indexType\":\"DEFAULT\",\"constraints\":[{\"type\":\"string\",\"params\":{\"property1\":{},\"property2\":{}}}],\"options\":{\"property1\":\"string\",\"property2\":\"string\"},\"displayName\":\"string\"}]}]"); + Request request = new Request.Builder() + .url("https://psrc-00000.region.provider.confluent.cloud/catalog/v1/types/businessmetadatadefs") + .put(body) + .addHeader("content-type", "application/json") + .build(); + + Response response = client.newCall(request).execute(); + - lang: Go + source: "package main\n\nimport (\n\t\"fmt\"\n\t\"strings\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://psrc-00000.region.provider.confluent.cloud/catalog/v1/types/businessmetadatadefs\"\n\n\tpayload := strings.NewReader(\"[{\\\"category\\\":\\\"PRIMITIVE\\\",\\\"guid\\\":\\\"string\\\",\\\"createdBy\\\":\\\"string\\\",\\\"updatedBy\\\":\\\"string\\\",\\\"createTime\\\":0,\\\"updateTime\\\":0,\\\"version\\\":0,\\\"name\\\":\\\"string\\\",\\\"description\\\":\\\"string\\\",\\\"typeVersion\\\":\\\"string\\\",\\\"serviceType\\\":\\\"string\\\",\\\"options\\\":{\\\"property1\\\":\\\"string\\\",\\\"property2\\\":\\\"string\\\"},\\\"attributeDefs\\\":[{\\\"name\\\":\\\"string\\\",\\\"typeName\\\":\\\"string\\\",\\\"isOptional\\\":true,\\\"cardinality\\\":\\\"SINGLE\\\",\\\"valuesMinCount\\\":0,\\\"valuesMaxCount\\\":0,\\\"isUnique\\\":true,\\\"isIndexable\\\":true,\\\"includeInNotification\\\":true,\\\"defaultValue\\\":\\\"string\\\",\\\"description\\\":\\\"string\\\",\\\"searchWeight\\\":0,\\\"indexType\\\":\\\"DEFAULT\\\",\\\"constraints\\\":[{\\\"type\\\":\\\"string\\\",\\\"params\\\":{\\\"property1\\\":{},\\\"property2\\\":{}}}],\\\"options\\\":{\\\"property1\\\":\\\"string\\\",\\\"property2\\\":\\\"string\\\"},\\\"displayName\\\":\\\"string\\\"}]}]\")\n\n\treq, _ := http.NewRequest(\"PUT\", url, payload)\n\n\treq.Header.Add(\"content-type\", \"application/json\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}" + - lang: Python + source: |- + import http.client + + conn = http.client.HTTPSConnection("psrc-00000.region.provider.confluent.cloud") + + payload = "[{\"category\":\"PRIMITIVE\",\"guid\":\"string\",\"createdBy\":\"string\",\"updatedBy\":\"string\",\"createTime\":0,\"updateTime\":0,\"version\":0,\"name\":\"string\",\"description\":\"string\",\"typeVersion\":\"string\",\"serviceType\":\"string\",\"options\":{\"property1\":\"string\",\"property2\":\"string\"},\"attributeDefs\":[{\"name\":\"string\",\"typeName\":\"string\",\"isOptional\":true,\"cardinality\":\"SINGLE\",\"valuesMinCount\":0,\"valuesMaxCount\":0,\"isUnique\":true,\"isIndexable\":true,\"includeInNotification\":true,\"defaultValue\":\"string\",\"description\":\"string\",\"searchWeight\":0,\"indexType\":\"DEFAULT\",\"constraints\":[{\"type\":\"string\",\"params\":{\"property1\":{},\"property2\":{}}}],\"options\":{\"property1\":\"string\",\"property2\":\"string\"},\"displayName\":\"string\"}]}]" + + headers = { 'content-type': "application/json" } + + conn.request("PUT", "/catalog/v1/types/businessmetadatadefs", payload, headers) + + res = conn.getresponse() + data = res.read() + + print(data.decode("utf-8")) + - lang: Node + source: |- + const http = require("https"); + + const options = { + "method": "PUT", + "hostname": "psrc-00000.region.provider.confluent.cloud", + "port": null, + "path": "/catalog/v1/types/businessmetadatadefs", + "headers": { + "content-type": "application/json" + } + }; + + const req = http.request(options, function (res) { + const chunks = []; + + res.on("data", function (chunk) { + chunks.push(chunk); + }); + + res.on("end", function () { + const body = Buffer.concat(chunks); + console.log(body.toString()); + }); + }); + + req.write(JSON.stringify([ + { + category: 'PRIMITIVE', + guid: 'string', + createdBy: 'string', + updatedBy: 'string', + createTime: 0, + updateTime: 0, + version: 0, + name: 'string', + description: 'string', + typeVersion: 'string', + serviceType: 'string', + options: {property1: 'string', property2: 'string'}, + attributeDefs: [ + { + name: 'string', + typeName: 'string', + isOptional: true, + cardinality: 'SINGLE', + valuesMinCount: 0, + valuesMaxCount: 0, + isUnique: true, + isIndexable: true, + includeInNotification: true, + defaultValue: 'string', + description: 'string', + searchWeight: 0, + indexType: 'DEFAULT', + constraints: [{type: 'string', params: {property1: {}, property2: {}}}], + options: {property1: 'string', property2: 'string'}, + displayName: 'string' + } + ] + } + ])); + req.end(); + - lang: C + source: |- + CURL *hnd = curl_easy_init(); + + curl_easy_setopt(hnd, CURLOPT_CUSTOMREQUEST, "PUT"); + curl_easy_setopt(hnd, CURLOPT_URL, "https://psrc-00000.region.provider.confluent.cloud/catalog/v1/types/businessmetadatadefs"); + + struct curl_slist *headers = NULL; + headers = curl_slist_append(headers, "content-type: application/json"); + curl_easy_setopt(hnd, CURLOPT_HTTPHEADER, headers); + + curl_easy_setopt(hnd, CURLOPT_POSTFIELDS, "[{\"category\":\"PRIMITIVE\",\"guid\":\"string\",\"createdBy\":\"string\",\"updatedBy\":\"string\",\"createTime\":0,\"updateTime\":0,\"version\":0,\"name\":\"string\",\"description\":\"string\",\"typeVersion\":\"string\",\"serviceType\":\"string\",\"options\":{\"property1\":\"string\",\"property2\":\"string\"},\"attributeDefs\":[{\"name\":\"string\",\"typeName\":\"string\",\"isOptional\":true,\"cardinality\":\"SINGLE\",\"valuesMinCount\":0,\"valuesMaxCount\":0,\"isUnique\":true,\"isIndexable\":true,\"includeInNotification\":true,\"defaultValue\":\"string\",\"description\":\"string\",\"searchWeight\":0,\"indexType\":\"DEFAULT\",\"constraints\":[{\"type\":\"string\",\"params\":{\"property1\":{},\"property2\":{}}}],\"options\":{\"property1\":\"string\",\"property2\":\"string\"},\"displayName\":\"string\"}]}]"); + + CURLcode ret = curl_easy_perform(hnd); + - lang: C# + source: |- + var client = new RestClient("https://psrc-00000.region.provider.confluent.cloud/catalog/v1/types/businessmetadatadefs"); + var request = new RestRequest(Method.PUT); + request.AddHeader("content-type", "application/json"); + request.AddParameter("application/json", "[{\"category\":\"PRIMITIVE\",\"guid\":\"string\",\"createdBy\":\"string\",\"updatedBy\":\"string\",\"createTime\":0,\"updateTime\":0,\"version\":0,\"name\":\"string\",\"description\":\"string\",\"typeVersion\":\"string\",\"serviceType\":\"string\",\"options\":{\"property1\":\"string\",\"property2\":\"string\"},\"attributeDefs\":[{\"name\":\"string\",\"typeName\":\"string\",\"isOptional\":true,\"cardinality\":\"SINGLE\",\"valuesMinCount\":0,\"valuesMaxCount\":0,\"isUnique\":true,\"isIndexable\":true,\"includeInNotification\":true,\"defaultValue\":\"string\",\"description\":\"string\",\"searchWeight\":0,\"indexType\":\"DEFAULT\",\"constraints\":[{\"type\":\"string\",\"params\":{\"property1\":{},\"property2\":{}}}],\"options\":{\"property1\":\"string\",\"property2\":\"string\"},\"displayName\":\"string\"}]}]", ParameterType.RequestBody); + IRestResponse response = client.Execute(request); + '/catalog/v1/types/businessmetadatadefs/{bmName}': + delete: + summary: Delete Business Metadata Definition + description: |- + [![Generally Available](https://img.shields.io/badge/Lifecycle%20Stage-Generally%20Available-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + Delete API for business metadata definition identified by its name. + operationId: deleteBusinessMetadataDef + tags: + - Types (v1) + parameters: + - description: The name of the business metadata definition + explode: false + in: path + name: bmName + required: true + schema: + type: string + style: simple + responses: + '204': + description: No Content + '400': + description: Bad Request + '429': + description: Rate Limit Error + '500': + description: Internal Server Error + x-codeSamples: + - lang: Shell + source: |- + curl --request DELETE \ + --url 'https://psrc-00000.region.provider.confluent.cloud/catalog/v1/types/businessmetadatadefs/{bmName}' + - lang: Java + source: |- + OkHttpClient client = new OkHttpClient(); + + Request request = new Request.Builder() + .url("https://psrc-00000.region.provider.confluent.cloud/catalog/v1/types/businessmetadatadefs/{bmName}") + .delete(null) + .build(); + + Response response = client.newCall(request).execute(); + - lang: Go + source: "package main\n\nimport (\n\t\"fmt\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://psrc-00000.region.provider.confluent.cloud/catalog/v1/types/businessmetadatadefs/{bmName}\"\n\n\treq, _ := http.NewRequest(\"DELETE\", url, nil)\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}" + - lang: Python + source: |- + import http.client + + conn = http.client.HTTPSConnection("psrc-00000.region.provider.confluent.cloud") + + conn.request("DELETE", "/catalog/v1/types/businessmetadatadefs/{bmName}") + + res = conn.getresponse() + data = res.read() + + print(data.decode("utf-8")) + - lang: Node + source: |- + const http = require("https"); + + const options = { + "method": "DELETE", + "hostname": "psrc-00000.region.provider.confluent.cloud", + "port": null, + "path": "/catalog/v1/types/businessmetadatadefs/{bmName}", + "headers": {} + }; + + const req = http.request(options, function (res) { + const chunks = []; + + res.on("data", function (chunk) { + chunks.push(chunk); + }); + + res.on("end", function () { + const body = Buffer.concat(chunks); + console.log(body.toString()); + }); + }); + + req.end(); + - lang: C + source: |- + CURL *hnd = curl_easy_init(); + + curl_easy_setopt(hnd, CURLOPT_CUSTOMREQUEST, "DELETE"); + curl_easy_setopt(hnd, CURLOPT_URL, "https://psrc-00000.region.provider.confluent.cloud/catalog/v1/types/businessmetadatadefs/{bmName}"); + + CURLcode ret = curl_easy_perform(hnd); + - lang: C# + source: |- + var client = new RestClient("https://psrc-00000.region.provider.confluent.cloud/catalog/v1/types/businessmetadatadefs/{bmName}"); + var request = new RestRequest(Method.DELETE); + IRestResponse response = client.Execute(request); + get: + summary: Read Business Metadata Definition + description: |- + [![Generally Available](https://img.shields.io/badge/Lifecycle%20Stage-Generally%20Available-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + Get the business metadata definition with the given name. + operationId: getBusinessMetadataDefByName + tags: + - Types (v1) + parameters: + - description: The name of the business metadata definition + explode: false + in: path + name: bmName + required: true + schema: + type: string + style: simple + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/BusinessMetadataDef' + description: The business metadata definition + '400': + description: Bad Request + '404': + description: Business metadata definition not found + '429': + description: Rate Limit Error + '500': + description: Internal Server Error + x-codeSamples: + - lang: Shell + source: |- + curl --request GET \ + --url 'https://psrc-00000.region.provider.confluent.cloud/catalog/v1/types/businessmetadatadefs/{bmName}' + - lang: Java + source: |- + OkHttpClient client = new OkHttpClient(); + + Request request = new Request.Builder() + .url("https://psrc-00000.region.provider.confluent.cloud/catalog/v1/types/businessmetadatadefs/{bmName}") + .get() + .build(); + + Response response = client.newCall(request).execute(); + - lang: Go + source: "package main\n\nimport (\n\t\"fmt\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://psrc-00000.region.provider.confluent.cloud/catalog/v1/types/businessmetadatadefs/{bmName}\"\n\n\treq, _ := http.NewRequest(\"GET\", url, nil)\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}" + - lang: Python + source: |- + import http.client + + conn = http.client.HTTPSConnection("psrc-00000.region.provider.confluent.cloud") + + conn.request("GET", "/catalog/v1/types/businessmetadatadefs/{bmName}") + + res = conn.getresponse() + data = res.read() + + print(data.decode("utf-8")) + - lang: Node + source: |- + const http = require("https"); + + const options = { + "method": "GET", + "hostname": "psrc-00000.region.provider.confluent.cloud", + "port": null, + "path": "/catalog/v1/types/businessmetadatadefs/{bmName}", + "headers": {} + }; + + const req = http.request(options, function (res) { + const chunks = []; + + res.on("data", function (chunk) { + chunks.push(chunk); + }); + + res.on("end", function () { + const body = Buffer.concat(chunks); + console.log(body.toString()); + }); + }); + + req.end(); + - lang: C + source: |- + CURL *hnd = curl_easy_init(); + + curl_easy_setopt(hnd, CURLOPT_CUSTOMREQUEST, "GET"); + curl_easy_setopt(hnd, CURLOPT_URL, "https://psrc-00000.region.provider.confluent.cloud/catalog/v1/types/businessmetadatadefs/{bmName}"); + + CURLcode ret = curl_easy_perform(hnd); + - lang: C# + source: |- + var client = new RestClient("https://psrc-00000.region.provider.confluent.cloud/catalog/v1/types/businessmetadatadefs/{bmName}"); + var request = new RestRequest(Method.GET); + IRestResponse response = client.Execute(request); + /catalog/v1/entity/businessmetadata: + post: + summary: Bulk Create Business Metadata + description: |- + [![Generally Available](https://img.shields.io/badge/Lifecycle%20Stage-Generally%20Available-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + Bulk API to create multiple business metadata. + operationId: createBusinessMetadata + tags: + - Entity (v1) + requestBody: + content: + application/json: + schema: + items: + $ref: '#/components/schemas/BusinessMetadata' + type: array + description: The business metadata + responses: + '200': + content: + application/json: + schema: + items: + $ref: '#/components/schemas/BusinessMetadataResponse' + type: array + description: The business metadata. Errored business metadata will have an additional error property. + '400': + description: Bad Request + '429': + description: Rate Limit Error + '500': + description: Internal Server Error + x-codeSamples: + - lang: Shell + source: |- + curl --request POST \ + --url https://psrc-00000.region.provider.confluent.cloud/catalog/v1/entity/businessmetadata \ + --header 'content-type: application/json' \ + --data '[{"typeName":"string","attributes":{},"entityType":"string","entityName":"string"}]' + - lang: Java + source: |- + OkHttpClient client = new OkHttpClient(); + + MediaType mediaType = MediaType.parse("application/json"); + RequestBody body = RequestBody.create(mediaType, "[{\"typeName\":\"string\",\"attributes\":{},\"entityType\":\"string\",\"entityName\":\"string\"}]"); + Request request = new Request.Builder() + .url("https://psrc-00000.region.provider.confluent.cloud/catalog/v1/entity/businessmetadata") + .post(body) + .addHeader("content-type", "application/json") + .build(); + + Response response = client.newCall(request).execute(); + - lang: Go + source: "package main\n\nimport (\n\t\"fmt\"\n\t\"strings\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://psrc-00000.region.provider.confluent.cloud/catalog/v1/entity/businessmetadata\"\n\n\tpayload := strings.NewReader(\"[{\\\"typeName\\\":\\\"string\\\",\\\"attributes\\\":{},\\\"entityType\\\":\\\"string\\\",\\\"entityName\\\":\\\"string\\\"}]\")\n\n\treq, _ := http.NewRequest(\"POST\", url, payload)\n\n\treq.Header.Add(\"content-type\", \"application/json\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}" + - lang: Python + source: |- + import http.client + + conn = http.client.HTTPSConnection("psrc-00000.region.provider.confluent.cloud") + + payload = "[{\"typeName\":\"string\",\"attributes\":{},\"entityType\":\"string\",\"entityName\":\"string\"}]" + + headers = { 'content-type': "application/json" } + + conn.request("POST", "/catalog/v1/entity/businessmetadata", payload, headers) + + res = conn.getresponse() + data = res.read() + + print(data.decode("utf-8")) + - lang: Node + source: |- + const http = require("https"); + + const options = { + "method": "POST", + "hostname": "psrc-00000.region.provider.confluent.cloud", + "port": null, + "path": "/catalog/v1/entity/businessmetadata", + "headers": { + "content-type": "application/json" + } + }; + + const req = http.request(options, function (res) { + const chunks = []; + + res.on("data", function (chunk) { + chunks.push(chunk); + }); + + res.on("end", function () { + const body = Buffer.concat(chunks); + console.log(body.toString()); + }); + }); + + req.write(JSON.stringify([ + {typeName: 'string', attributes: {}, entityType: 'string', entityName: 'string'} + ])); + req.end(); + - lang: C + source: |- + CURL *hnd = curl_easy_init(); + + curl_easy_setopt(hnd, CURLOPT_CUSTOMREQUEST, "POST"); + curl_easy_setopt(hnd, CURLOPT_URL, "https://psrc-00000.region.provider.confluent.cloud/catalog/v1/entity/businessmetadata"); + + struct curl_slist *headers = NULL; + headers = curl_slist_append(headers, "content-type: application/json"); + curl_easy_setopt(hnd, CURLOPT_HTTPHEADER, headers); + + curl_easy_setopt(hnd, CURLOPT_POSTFIELDS, "[{\"typeName\":\"string\",\"attributes\":{},\"entityType\":\"string\",\"entityName\":\"string\"}]"); + + CURLcode ret = curl_easy_perform(hnd); + - lang: C# + source: |- + var client = new RestClient("https://psrc-00000.region.provider.confluent.cloud/catalog/v1/entity/businessmetadata"); + var request = new RestRequest(Method.POST); + request.AddHeader("content-type", "application/json"); + request.AddParameter("application/json", "[{\"typeName\":\"string\",\"attributes\":{},\"entityType\":\"string\",\"entityName\":\"string\"}]", ParameterType.RequestBody); + IRestResponse response = client.Execute(request); + put: + summary: Bulk Update Business Metadata + description: |- + [![Generally Available](https://img.shields.io/badge/Lifecycle%20Stage-Generally%20Available-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + Bulk API to update multiple business metadata. + operationId: updateBusinessMetadata + tags: + - Entity (v1) + requestBody: + content: + application/json: + schema: + items: + $ref: '#/components/schemas/BusinessMetadata' + type: array + description: The business metadata + responses: + '200': + content: + application/json: + schema: + items: + $ref: '#/components/schemas/BusinessMetadataResponse' + type: array + description: The business metadata. Errored business metadata will have an additional error property. + '400': + description: Bad Request + '429': + description: Rate Limit Error + '500': + description: Internal Server Error + x-codeSamples: + - lang: Shell + source: |- + curl --request PUT \ + --url https://psrc-00000.region.provider.confluent.cloud/catalog/v1/entity/businessmetadata \ + --header 'content-type: application/json' \ + --data '[{"typeName":"string","attributes":{},"entityType":"string","entityName":"string"}]' + - lang: Java + source: |- + OkHttpClient client = new OkHttpClient(); + + MediaType mediaType = MediaType.parse("application/json"); + RequestBody body = RequestBody.create(mediaType, "[{\"typeName\":\"string\",\"attributes\":{},\"entityType\":\"string\",\"entityName\":\"string\"}]"); + Request request = new Request.Builder() + .url("https://psrc-00000.region.provider.confluent.cloud/catalog/v1/entity/businessmetadata") + .put(body) + .addHeader("content-type", "application/json") + .build(); + + Response response = client.newCall(request).execute(); + - lang: Go + source: "package main\n\nimport (\n\t\"fmt\"\n\t\"strings\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://psrc-00000.region.provider.confluent.cloud/catalog/v1/entity/businessmetadata\"\n\n\tpayload := strings.NewReader(\"[{\\\"typeName\\\":\\\"string\\\",\\\"attributes\\\":{},\\\"entityType\\\":\\\"string\\\",\\\"entityName\\\":\\\"string\\\"}]\")\n\n\treq, _ := http.NewRequest(\"PUT\", url, payload)\n\n\treq.Header.Add(\"content-type\", \"application/json\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}" + - lang: Python + source: |- + import http.client + + conn = http.client.HTTPSConnection("psrc-00000.region.provider.confluent.cloud") + + payload = "[{\"typeName\":\"string\",\"attributes\":{},\"entityType\":\"string\",\"entityName\":\"string\"}]" + + headers = { 'content-type': "application/json" } + + conn.request("PUT", "/catalog/v1/entity/businessmetadata", payload, headers) + + res = conn.getresponse() + data = res.read() + + print(data.decode("utf-8")) + - lang: Node + source: |- + const http = require("https"); + + const options = { + "method": "PUT", + "hostname": "psrc-00000.region.provider.confluent.cloud", + "port": null, + "path": "/catalog/v1/entity/businessmetadata", + "headers": { + "content-type": "application/json" + } + }; + + const req = http.request(options, function (res) { + const chunks = []; + + res.on("data", function (chunk) { + chunks.push(chunk); + }); + + res.on("end", function () { + const body = Buffer.concat(chunks); + console.log(body.toString()); + }); + }); + + req.write(JSON.stringify([ + {typeName: 'string', attributes: {}, entityType: 'string', entityName: 'string'} + ])); + req.end(); + - lang: C + source: |- + CURL *hnd = curl_easy_init(); + + curl_easy_setopt(hnd, CURLOPT_CUSTOMREQUEST, "PUT"); + curl_easy_setopt(hnd, CURLOPT_URL, "https://psrc-00000.region.provider.confluent.cloud/catalog/v1/entity/businessmetadata"); + + struct curl_slist *headers = NULL; + headers = curl_slist_append(headers, "content-type: application/json"); + curl_easy_setopt(hnd, CURLOPT_HTTPHEADER, headers); + + curl_easy_setopt(hnd, CURLOPT_POSTFIELDS, "[{\"typeName\":\"string\",\"attributes\":{},\"entityType\":\"string\",\"entityName\":\"string\"}]"); + + CURLcode ret = curl_easy_perform(hnd); + - lang: C# + source: |- + var client = new RestClient("https://psrc-00000.region.provider.confluent.cloud/catalog/v1/entity/businessmetadata"); + var request = new RestRequest(Method.PUT); + request.AddHeader("content-type", "application/json"); + request.AddParameter("application/json", "[{\"typeName\":\"string\",\"attributes\":{},\"entityType\":\"string\",\"entityName\":\"string\"}]", ParameterType.RequestBody); + IRestResponse response = client.Execute(request); + '/catalog/v1/entity/type/{typeName}/name/{qualifiedName}/businessmetadata': + get: + summary: Read Business Metadata for an Entity + description: |- + [![Generally Available](https://img.shields.io/badge/Lifecycle%20Stage-Generally%20Available-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + Gets the list of business metadata for a given entity represented + by a qualified name. + operationId: getBusinessMetadata + tags: + - Entity (v1) + parameters: + - description: The type of the entity + explode: false + in: path + name: typeName + required: true + schema: + type: string + style: simple + - description: The qualified name of the entity + explode: false + in: path + name: qualifiedName + required: true + schema: + type: string + style: simple + responses: + '200': + content: + application/json: + schema: + items: + $ref: '#/components/schemas/BusinessMetadataResponse' + type: array + description: The business metadata + '400': + description: Bad Request + '404': + description: Entity not found + '429': + description: Rate Limit Error + '500': + description: Internal Server Error + x-codeSamples: + - lang: Shell + source: |- + curl --request GET \ + --url 'https://psrc-00000.region.provider.confluent.cloud/catalog/v1/entity/type/{typeName}/name/{qualifiedName}/businessmetadata' + - lang: Java + source: |- + OkHttpClient client = new OkHttpClient(); + + Request request = new Request.Builder() + .url("https://psrc-00000.region.provider.confluent.cloud/catalog/v1/entity/type/{typeName}/name/{qualifiedName}/businessmetadata") + .get() + .build(); + + Response response = client.newCall(request).execute(); + - lang: Go + source: "package main\n\nimport (\n\t\"fmt\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://psrc-00000.region.provider.confluent.cloud/catalog/v1/entity/type/{typeName}/name/{qualifiedName}/businessmetadata\"\n\n\treq, _ := http.NewRequest(\"GET\", url, nil)\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}" + - lang: Python + source: |- + import http.client + + conn = http.client.HTTPSConnection("psrc-00000.region.provider.confluent.cloud") + + conn.request("GET", "/catalog/v1/entity/type/{typeName}/name/{qualifiedName}/businessmetadata") + + res = conn.getresponse() + data = res.read() + + print(data.decode("utf-8")) + - lang: Node + source: |- + const http = require("https"); + + const options = { + "method": "GET", + "hostname": "psrc-00000.region.provider.confluent.cloud", + "port": null, + "path": "/catalog/v1/entity/type/{typeName}/name/{qualifiedName}/businessmetadata", + "headers": {} + }; + + const req = http.request(options, function (res) { + const chunks = []; + + res.on("data", function (chunk) { + chunks.push(chunk); + }); + + res.on("end", function () { + const body = Buffer.concat(chunks); + console.log(body.toString()); + }); + }); + + req.end(); + - lang: C + source: |- + CURL *hnd = curl_easy_init(); + + curl_easy_setopt(hnd, CURLOPT_CUSTOMREQUEST, "GET"); + curl_easy_setopt(hnd, CURLOPT_URL, "https://psrc-00000.region.provider.confluent.cloud/catalog/v1/entity/type/{typeName}/name/{qualifiedName}/businessmetadata"); + + CURLcode ret = curl_easy_perform(hnd); + - lang: C# + source: |- + var client = new RestClient("https://psrc-00000.region.provider.confluent.cloud/catalog/v1/entity/type/{typeName}/name/{qualifiedName}/businessmetadata"); + var request = new RestRequest(Method.GET); + IRestResponse response = client.Execute(request); + '/catalog/v1/entity/type/{typeName}/name/{qualifiedName}/businessmetadata/{bmName}': + delete: + summary: Delete a Business Metadata for an Entity + description: |- + [![Generally Available](https://img.shields.io/badge/Lifecycle%20Stage-Generally%20Available-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + Delete a business metadata on an entity. + operationId: deleteBusinessMetadata + tags: + - Entity (v1) + parameters: + - description: The type of the entity + explode: false + in: path + name: typeName + required: true + schema: + type: string + style: simple + - description: The qualified name of the entity + explode: false + in: path + name: qualifiedName + required: true + schema: + type: string + style: simple + - description: The name of the business metadata + explode: false + in: path + name: bmName + required: true + schema: + type: string + style: simple + responses: + '204': + description: No Content + '400': + description: Bad Request + '429': + description: Rate Limit Error + '500': + description: Internal Server Error + x-codeSamples: + - lang: Shell + source: |- + curl --request DELETE \ + --url 'https://psrc-00000.region.provider.confluent.cloud/catalog/v1/entity/type/{typeName}/name/{qualifiedName}/businessmetadata/{bmName}' + - lang: Java + source: |- + OkHttpClient client = new OkHttpClient(); + + Request request = new Request.Builder() + .url("https://psrc-00000.region.provider.confluent.cloud/catalog/v1/entity/type/{typeName}/name/{qualifiedName}/businessmetadata/{bmName}") + .delete(null) + .build(); + + Response response = client.newCall(request).execute(); + - lang: Go + source: "package main\n\nimport (\n\t\"fmt\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://psrc-00000.region.provider.confluent.cloud/catalog/v1/entity/type/{typeName}/name/{qualifiedName}/businessmetadata/{bmName}\"\n\n\treq, _ := http.NewRequest(\"DELETE\", url, nil)\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}" + - lang: Python + source: |- + import http.client + + conn = http.client.HTTPSConnection("psrc-00000.region.provider.confluent.cloud") + + conn.request("DELETE", "/catalog/v1/entity/type/{typeName}/name/{qualifiedName}/businessmetadata/{bmName}") + + res = conn.getresponse() + data = res.read() + + print(data.decode("utf-8")) + - lang: Node + source: |- + const http = require("https"); + + const options = { + "method": "DELETE", + "hostname": "psrc-00000.region.provider.confluent.cloud", + "port": null, + "path": "/catalog/v1/entity/type/{typeName}/name/{qualifiedName}/businessmetadata/{bmName}", + "headers": {} + }; + + const req = http.request(options, function (res) { + const chunks = []; + + res.on("data", function (chunk) { + chunks.push(chunk); + }); + + res.on("end", function () { + const body = Buffer.concat(chunks); + console.log(body.toString()); + }); + }); + + req.end(); + - lang: C + source: |- + CURL *hnd = curl_easy_init(); + + curl_easy_setopt(hnd, CURLOPT_CUSTOMREQUEST, "DELETE"); + curl_easy_setopt(hnd, CURLOPT_URL, "https://psrc-00000.region.provider.confluent.cloud/catalog/v1/entity/type/{typeName}/name/{qualifiedName}/businessmetadata/{bmName}"); + + CURLcode ret = curl_easy_perform(hnd); + - lang: C# + source: |- + var client = new RestClient("https://psrc-00000.region.provider.confluent.cloud/catalog/v1/entity/type/{typeName}/name/{qualifiedName}/businessmetadata/{bmName}"); + var request = new RestRequest(Method.DELETE); + IRestResponse response = client.Execute(request); + /catalog/v1/entity/tags: + put: + summary: Bulk Update Tags + description: |- + [![Generally Available](https://img.shields.io/badge/Lifecycle%20Stage-Generally%20Available-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + Bulk API to update multiple tags. + tags: + - Entity (v1) + operationId: updateTags + requestBody: + description: The tags + content: + application/json: + schema: + type: array + items: + $ref: '#/components/schemas/Tag' + responses: + '200': + description: The tags. Errored tags will have an additional error property. + content: + application/json: + schema: + type: array + items: + $ref: '#/components/schemas/TagResponse' + '400': + description: Bad Request + '429': + description: Rate Limit Error + '500': + description: Internal Server Error + x-codeSamples: + - lang: Shell + source: |- + curl --request PUT \ + --url https://psrc-00000.region.provider.confluent.cloud/catalog/v1/entity/tags \ + --header 'content-type: application/json' \ + --data '[{"typeName":"string","attributes":{},"entityGuid":"string","entityStatus":"ACTIVE","propagate":true,"validityPeriods":[{"startTime":"string","endTime":"string","timeZone":"string"}],"removePropagationsOnEntityDelete":true,"entityType":"string","entityName":"string"}]' + - lang: Java + source: |- + OkHttpClient client = new OkHttpClient(); + + MediaType mediaType = MediaType.parse("application/json"); + RequestBody body = RequestBody.create(mediaType, "[{\"typeName\":\"string\",\"attributes\":{},\"entityGuid\":\"string\",\"entityStatus\":\"ACTIVE\",\"propagate\":true,\"validityPeriods\":[{\"startTime\":\"string\",\"endTime\":\"string\",\"timeZone\":\"string\"}],\"removePropagationsOnEntityDelete\":true,\"entityType\":\"string\",\"entityName\":\"string\"}]"); + Request request = new Request.Builder() + .url("https://psrc-00000.region.provider.confluent.cloud/catalog/v1/entity/tags") + .put(body) + .addHeader("content-type", "application/json") + .build(); + + Response response = client.newCall(request).execute(); + - lang: Go + source: "package main\n\nimport (\n\t\"fmt\"\n\t\"strings\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://psrc-00000.region.provider.confluent.cloud/catalog/v1/entity/tags\"\n\n\tpayload := strings.NewReader(\"[{\\\"typeName\\\":\\\"string\\\",\\\"attributes\\\":{},\\\"entityGuid\\\":\\\"string\\\",\\\"entityStatus\\\":\\\"ACTIVE\\\",\\\"propagate\\\":true,\\\"validityPeriods\\\":[{\\\"startTime\\\":\\\"string\\\",\\\"endTime\\\":\\\"string\\\",\\\"timeZone\\\":\\\"string\\\"}],\\\"removePropagationsOnEntityDelete\\\":true,\\\"entityType\\\":\\\"string\\\",\\\"entityName\\\":\\\"string\\\"}]\")\n\n\treq, _ := http.NewRequest(\"PUT\", url, payload)\n\n\treq.Header.Add(\"content-type\", \"application/json\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}" + - lang: Python + source: |- + import http.client + + conn = http.client.HTTPSConnection("psrc-00000.region.provider.confluent.cloud") + + payload = "[{\"typeName\":\"string\",\"attributes\":{},\"entityGuid\":\"string\",\"entityStatus\":\"ACTIVE\",\"propagate\":true,\"validityPeriods\":[{\"startTime\":\"string\",\"endTime\":\"string\",\"timeZone\":\"string\"}],\"removePropagationsOnEntityDelete\":true,\"entityType\":\"string\",\"entityName\":\"string\"}]" + + headers = { 'content-type': "application/json" } + + conn.request("PUT", "/catalog/v1/entity/tags", payload, headers) + + res = conn.getresponse() + data = res.read() + + print(data.decode("utf-8")) + - lang: Node + source: |- + const http = require("https"); + + const options = { + "method": "PUT", + "hostname": "psrc-00000.region.provider.confluent.cloud", + "port": null, + "path": "/catalog/v1/entity/tags", + "headers": { + "content-type": "application/json" + } + }; + + const req = http.request(options, function (res) { + const chunks = []; + + res.on("data", function (chunk) { + chunks.push(chunk); + }); + + res.on("end", function () { + const body = Buffer.concat(chunks); + console.log(body.toString()); + }); + }); + + req.write(JSON.stringify([ + { + typeName: 'string', + attributes: {}, + entityGuid: 'string', + entityStatus: 'ACTIVE', + propagate: true, + validityPeriods: [{startTime: 'string', endTime: 'string', timeZone: 'string'}], + removePropagationsOnEntityDelete: true, + entityType: 'string', + entityName: 'string' + } + ])); + req.end(); + - lang: C + source: |- + CURL *hnd = curl_easy_init(); + + curl_easy_setopt(hnd, CURLOPT_CUSTOMREQUEST, "PUT"); + curl_easy_setopt(hnd, CURLOPT_URL, "https://psrc-00000.region.provider.confluent.cloud/catalog/v1/entity/tags"); + + struct curl_slist *headers = NULL; + headers = curl_slist_append(headers, "content-type: application/json"); + curl_easy_setopt(hnd, CURLOPT_HTTPHEADER, headers); + + curl_easy_setopt(hnd, CURLOPT_POSTFIELDS, "[{\"typeName\":\"string\",\"attributes\":{},\"entityGuid\":\"string\",\"entityStatus\":\"ACTIVE\",\"propagate\":true,\"validityPeriods\":[{\"startTime\":\"string\",\"endTime\":\"string\",\"timeZone\":\"string\"}],\"removePropagationsOnEntityDelete\":true,\"entityType\":\"string\",\"entityName\":\"string\"}]"); + + CURLcode ret = curl_easy_perform(hnd); + - lang: C# + source: |- + var client = new RestClient("https://psrc-00000.region.provider.confluent.cloud/catalog/v1/entity/tags"); + var request = new RestRequest(Method.PUT); + request.AddHeader("content-type", "application/json"); + request.AddParameter("application/json", "[{\"typeName\":\"string\",\"attributes\":{},\"entityGuid\":\"string\",\"entityStatus\":\"ACTIVE\",\"propagate\":true,\"validityPeriods\":[{\"startTime\":\"string\",\"endTime\":\"string\",\"timeZone\":\"string\"}],\"removePropagationsOnEntityDelete\":true,\"entityType\":\"string\",\"entityName\":\"string\"}]", ParameterType.RequestBody); + IRestResponse response = client.Execute(request); + post: + summary: Bulk Create Tags + description: |- + [![Generally Available](https://img.shields.io/badge/Lifecycle%20Stage-Generally%20Available-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + Bulk API to create multiple tags. + tags: + - Entity (v1) + operationId: createTags + requestBody: + description: The tags + content: + application/json: + schema: + type: array + items: + $ref: '#/components/schemas/Tag' + responses: + '200': + description: The tags. Errored tags will have an additional error property. + content: + application/json: + schema: + type: array + items: + $ref: '#/components/schemas/TagResponse' + '400': + description: Bad Request + '429': + description: Rate Limit Error + '500': + description: Internal Server Error + x-codeSamples: + - lang: Shell + source: |- + curl --request POST \ + --url https://psrc-00000.region.provider.confluent.cloud/catalog/v1/entity/tags \ + --header 'content-type: application/json' \ + --data '[{"typeName":"string","attributes":{},"entityGuid":"string","entityStatus":"ACTIVE","propagate":true,"validityPeriods":[{"startTime":"string","endTime":"string","timeZone":"string"}],"removePropagationsOnEntityDelete":true,"entityType":"string","entityName":"string"}]' + - lang: Java + source: |- + OkHttpClient client = new OkHttpClient(); + + MediaType mediaType = MediaType.parse("application/json"); + RequestBody body = RequestBody.create(mediaType, "[{\"typeName\":\"string\",\"attributes\":{},\"entityGuid\":\"string\",\"entityStatus\":\"ACTIVE\",\"propagate\":true,\"validityPeriods\":[{\"startTime\":\"string\",\"endTime\":\"string\",\"timeZone\":\"string\"}],\"removePropagationsOnEntityDelete\":true,\"entityType\":\"string\",\"entityName\":\"string\"}]"); + Request request = new Request.Builder() + .url("https://psrc-00000.region.provider.confluent.cloud/catalog/v1/entity/tags") + .post(body) + .addHeader("content-type", "application/json") + .build(); + + Response response = client.newCall(request).execute(); + - lang: Go + source: "package main\n\nimport (\n\t\"fmt\"\n\t\"strings\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://psrc-00000.region.provider.confluent.cloud/catalog/v1/entity/tags\"\n\n\tpayload := strings.NewReader(\"[{\\\"typeName\\\":\\\"string\\\",\\\"attributes\\\":{},\\\"entityGuid\\\":\\\"string\\\",\\\"entityStatus\\\":\\\"ACTIVE\\\",\\\"propagate\\\":true,\\\"validityPeriods\\\":[{\\\"startTime\\\":\\\"string\\\",\\\"endTime\\\":\\\"string\\\",\\\"timeZone\\\":\\\"string\\\"}],\\\"removePropagationsOnEntityDelete\\\":true,\\\"entityType\\\":\\\"string\\\",\\\"entityName\\\":\\\"string\\\"}]\")\n\n\treq, _ := http.NewRequest(\"POST\", url, payload)\n\n\treq.Header.Add(\"content-type\", \"application/json\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}" + - lang: Python + source: |- + import http.client + + conn = http.client.HTTPSConnection("psrc-00000.region.provider.confluent.cloud") + + payload = "[{\"typeName\":\"string\",\"attributes\":{},\"entityGuid\":\"string\",\"entityStatus\":\"ACTIVE\",\"propagate\":true,\"validityPeriods\":[{\"startTime\":\"string\",\"endTime\":\"string\",\"timeZone\":\"string\"}],\"removePropagationsOnEntityDelete\":true,\"entityType\":\"string\",\"entityName\":\"string\"}]" + + headers = { 'content-type': "application/json" } + + conn.request("POST", "/catalog/v1/entity/tags", payload, headers) + + res = conn.getresponse() + data = res.read() + + print(data.decode("utf-8")) + - lang: Node + source: |- + const http = require("https"); + + const options = { + "method": "POST", + "hostname": "psrc-00000.region.provider.confluent.cloud", + "port": null, + "path": "/catalog/v1/entity/tags", + "headers": { + "content-type": "application/json" + } + }; + + const req = http.request(options, function (res) { + const chunks = []; + + res.on("data", function (chunk) { + chunks.push(chunk); + }); + + res.on("end", function () { + const body = Buffer.concat(chunks); + console.log(body.toString()); + }); + }); + + req.write(JSON.stringify([ + { + typeName: 'string', + attributes: {}, + entityGuid: 'string', + entityStatus: 'ACTIVE', + propagate: true, + validityPeriods: [{startTime: 'string', endTime: 'string', timeZone: 'string'}], + removePropagationsOnEntityDelete: true, + entityType: 'string', + entityName: 'string' + } + ])); + req.end(); + - lang: C + source: |- + CURL *hnd = curl_easy_init(); + + curl_easy_setopt(hnd, CURLOPT_CUSTOMREQUEST, "POST"); + curl_easy_setopt(hnd, CURLOPT_URL, "https://psrc-00000.region.provider.confluent.cloud/catalog/v1/entity/tags"); + + struct curl_slist *headers = NULL; + headers = curl_slist_append(headers, "content-type: application/json"); + curl_easy_setopt(hnd, CURLOPT_HTTPHEADER, headers); + + curl_easy_setopt(hnd, CURLOPT_POSTFIELDS, "[{\"typeName\":\"string\",\"attributes\":{},\"entityGuid\":\"string\",\"entityStatus\":\"ACTIVE\",\"propagate\":true,\"validityPeriods\":[{\"startTime\":\"string\",\"endTime\":\"string\",\"timeZone\":\"string\"}],\"removePropagationsOnEntityDelete\":true,\"entityType\":\"string\",\"entityName\":\"string\"}]"); + + CURLcode ret = curl_easy_perform(hnd); + - lang: C# + source: |- + var client = new RestClient("https://psrc-00000.region.provider.confluent.cloud/catalog/v1/entity/tags"); + var request = new RestRequest(Method.POST); + request.AddHeader("content-type", "application/json"); + request.AddParameter("application/json", "[{\"typeName\":\"string\",\"attributes\":{},\"entityGuid\":\"string\",\"entityStatus\":\"ACTIVE\",\"propagate\":true,\"validityPeriods\":[{\"startTime\":\"string\",\"endTime\":\"string\",\"timeZone\":\"string\"}],\"removePropagationsOnEntityDelete\":true,\"entityType\":\"string\",\"entityName\":\"string\"}]", ParameterType.RequestBody); + IRestResponse response = client.Execute(request); + '/catalog/v1/entity/type/{typeName}/name/{qualifiedName}': + get: + summary: Read an Entity + description: |- + [![Generally Available](https://img.shields.io/badge/Lifecycle%20Stage-Generally%20Available-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + Fetch complete definition of an entity given its type and unique attribute. + operationId: getByUniqueAttributes + parameters: + - name: typeName + in: path + description: The type of the entity + required: true + schema: + type: string + - name: qualifiedName + in: path + description: The qualified name of the entity + required: true + schema: + type: string + - name: minExtInfo + in: query + description: Whether to populate on header and schema attributes + schema: + type: boolean + default: false + - name: ignoreRelationships + in: query + description: Whether to ignore relationships + schema: + type: boolean + default: false + tags: + - Entity (v1) + responses: + '200': + description: The entity + content: + application/json: + schema: + $ref: '#/components/schemas/EntityWithExtInfo' + '400': + description: Bad Request + '404': + description: Entity not found + '429': + description: Rate Limit Error + '500': + description: Internal Server Error + x-codeSamples: + - lang: Shell + source: |- + curl --request GET \ + --url 'https://psrc-00000.region.provider.confluent.cloud/catalog/v1/entity/type/{typeName}/name/{qualifiedName}' + - lang: Java + source: |- + OkHttpClient client = new OkHttpClient(); + + Request request = new Request.Builder() + .url("https://psrc-00000.region.provider.confluent.cloud/catalog/v1/entity/type/{typeName}/name/{qualifiedName}") + .get() + .build(); + + Response response = client.newCall(request).execute(); + - lang: Go + source: "package main\n\nimport (\n\t\"fmt\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://psrc-00000.region.provider.confluent.cloud/catalog/v1/entity/type/{typeName}/name/{qualifiedName}\"\n\n\treq, _ := http.NewRequest(\"GET\", url, nil)\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}" + - lang: Python + source: |- + import http.client + + conn = http.client.HTTPSConnection("psrc-00000.region.provider.confluent.cloud") + + conn.request("GET", "/catalog/v1/entity/type/{typeName}/name/{qualifiedName}") + + res = conn.getresponse() + data = res.read() + + print(data.decode("utf-8")) + - lang: Node + source: |- + const http = require("https"); + + const options = { + "method": "GET", + "hostname": "psrc-00000.region.provider.confluent.cloud", + "port": null, + "path": "/catalog/v1/entity/type/{typeName}/name/{qualifiedName}", + "headers": {} + }; + + const req = http.request(options, function (res) { + const chunks = []; + + res.on("data", function (chunk) { + chunks.push(chunk); + }); + + res.on("end", function () { + const body = Buffer.concat(chunks); + console.log(body.toString()); + }); + }); + + req.end(); + - lang: C + source: |- + CURL *hnd = curl_easy_init(); + + curl_easy_setopt(hnd, CURLOPT_CUSTOMREQUEST, "GET"); + curl_easy_setopt(hnd, CURLOPT_URL, "https://psrc-00000.region.provider.confluent.cloud/catalog/v1/entity/type/{typeName}/name/{qualifiedName}"); + + CURLcode ret = curl_easy_perform(hnd); + - lang: C# + source: |- + var client = new RestClient("https://psrc-00000.region.provider.confluent.cloud/catalog/v1/entity/type/{typeName}/name/{qualifiedName}"); + var request = new RestRequest(Method.GET); + IRestResponse response = client.Execute(request); + '/catalog/v1/entity/type/{typeName}/name/{qualifiedName}/tags': + get: + summary: Read Tags for an Entity + description: |- + [![Generally Available](https://img.shields.io/badge/Lifecycle%20Stage-Generally%20Available-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + Gets the list of tags for a given entity represented by a qualified name. + operationId: getTags + parameters: + - name: typeName + in: path + description: The type of the entity + required: true + schema: + type: string + - name: qualifiedName + in: path + description: The qualified name of the entity + required: true + schema: + type: string + tags: + - Entity (v1) + responses: + '200': + description: The tags + content: + application/json: + schema: + type: array + items: + $ref: '#/components/schemas/TagResponse' + '400': + description: Bad Request + '404': + description: Entity not found + '429': + description: Rate Limit Error + '500': + description: Internal Server Error + x-codeSamples: + - lang: Shell + source: |- + curl --request GET \ + --url 'https://psrc-00000.region.provider.confluent.cloud/catalog/v1/entity/type/{typeName}/name/{qualifiedName}/tags' + - lang: Java + source: |- + OkHttpClient client = new OkHttpClient(); + + Request request = new Request.Builder() + .url("https://psrc-00000.region.provider.confluent.cloud/catalog/v1/entity/type/{typeName}/name/{qualifiedName}/tags") + .get() + .build(); + + Response response = client.newCall(request).execute(); + - lang: Go + source: "package main\n\nimport (\n\t\"fmt\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://psrc-00000.region.provider.confluent.cloud/catalog/v1/entity/type/{typeName}/name/{qualifiedName}/tags\"\n\n\treq, _ := http.NewRequest(\"GET\", url, nil)\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}" + - lang: Python + source: |- + import http.client + + conn = http.client.HTTPSConnection("psrc-00000.region.provider.confluent.cloud") + + conn.request("GET", "/catalog/v1/entity/type/{typeName}/name/{qualifiedName}/tags") + + res = conn.getresponse() + data = res.read() + + print(data.decode("utf-8")) + - lang: Node + source: |- + const http = require("https"); + + const options = { + "method": "GET", + "hostname": "psrc-00000.region.provider.confluent.cloud", + "port": null, + "path": "/catalog/v1/entity/type/{typeName}/name/{qualifiedName}/tags", + "headers": {} + }; + + const req = http.request(options, function (res) { + const chunks = []; + + res.on("data", function (chunk) { + chunks.push(chunk); + }); + + res.on("end", function () { + const body = Buffer.concat(chunks); + console.log(body.toString()); + }); + }); + + req.end(); + - lang: C + source: |- + CURL *hnd = curl_easy_init(); + + curl_easy_setopt(hnd, CURLOPT_CUSTOMREQUEST, "GET"); + curl_easy_setopt(hnd, CURLOPT_URL, "https://psrc-00000.region.provider.confluent.cloud/catalog/v1/entity/type/{typeName}/name/{qualifiedName}/tags"); + + CURLcode ret = curl_easy_perform(hnd); + - lang: C# + source: |- + var client = new RestClient("https://psrc-00000.region.provider.confluent.cloud/catalog/v1/entity/type/{typeName}/name/{qualifiedName}/tags"); + var request = new RestRequest(Method.GET); + IRestResponse response = client.Execute(request); + /catalog/v1/entity: + put: + summary: Update an Entity Attribute + description: |- + [![Generally Available](https://img.shields.io/badge/Lifecycle%20Stage-Generally%20Available-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + Partially update an entity attribute. + operationId: partialEntityUpdate + requestBody: + description: The entity to update + content: + application/json: + schema: + $ref: '#/components/schemas/EntityWithExtInfo' + tags: + - Entity (v1) + responses: + '200': + description: The updated entity + content: + application/json: + schema: + $ref: '#/components/schemas/EntityPartialUpdateResponse' + '400': + description: Bad Request + '404': + description: Entity not found + '429': + description: Rate Limit Error + '500': + description: Internal Server Error + x-codeSamples: + - lang: Shell + source: |- + curl --request PUT \ + --url https://psrc-00000.region.provider.confluent.cloud/catalog/v1/entity \ + --header 'content-type: application/json' \ + --data '{"referredEntities":{"property1":{"typeName":"string","attributes":{},"guid":"string","homeId":"string","isProxy":true,"isIncomplete":true,"provenanceType":0,"status":"ACTIVE","createdBy":"string","updatedBy":"string","createTime":0,"updateTime":0,"version":0,"relationshipAttributes":{},"classifications":[{"typeName":"string","attributes":{"property1":{},"property2":{}},"entityGuid":"string","entityStatus":"ACTIVE","propagate":true,"validityPeriods":[{"startTime":"string","endTime":"string","timeZone":"string"}],"removePropagationsOnEntityDelete":true}],"meanings":[{"termGuid":"string","relationGuid":"string","description":"string","displayText":"string","expression":"string","createdBy":"string","steward":"string","source":"string","confidence":0,"status":"DISCOVERED"}],"customAttributes":{"property1":"string","property2":"string"},"businessAttributes":{"property1":{},"property2":{}},"labels":["string"],"proxy":true},"property2":{"typeName":"string","attributes":{},"guid":"string","homeId":"string","isProxy":true,"isIncomplete":true,"provenanceType":0,"status":"ACTIVE","createdBy":"string","updatedBy":"string","createTime":0,"updateTime":0,"version":0,"relationshipAttributes":{},"classifications":[{"typeName":"string","attributes":{"property1":{},"property2":{}},"entityGuid":"string","entityStatus":"ACTIVE","propagate":true,"validityPeriods":[{"startTime":"string","endTime":"string","timeZone":"string"}],"removePropagationsOnEntityDelete":true}],"meanings":[{"termGuid":"string","relationGuid":"string","description":"string","displayText":"string","expression":"string","createdBy":"string","steward":"string","source":"string","confidence":0,"status":"DISCOVERED"}],"customAttributes":{"property1":"string","property2":"string"},"businessAttributes":{"property1":{},"property2":{}},"labels":["string"],"proxy":true}},"entity":{"typeName":"string","attributes":{},"guid":"string","homeId":"string","isProxy":true,"isIncomplete":true,"provenanceType":0,"status":"ACTIVE","createdBy":"string","updatedBy":"string","createTime":0,"updateTime":0,"version":0,"relationshipAttributes":{},"classifications":[{"typeName":"string","attributes":{"property1":{},"property2":{}},"entityGuid":"string","entityStatus":"ACTIVE","propagate":true,"validityPeriods":[{"startTime":"string","endTime":"string","timeZone":"string"}],"removePropagationsOnEntityDelete":true}],"meanings":[{"termGuid":"string","relationGuid":"string","description":"string","displayText":"string","expression":"string","createdBy":"string","steward":"string","source":"string","confidence":0,"status":"DISCOVERED"}],"customAttributes":{"property1":"string","property2":"string"},"businessAttributes":{"property1":{},"property2":{}},"labels":["string"],"proxy":true}}' + - lang: Java + source: |- + OkHttpClient client = new OkHttpClient(); + + MediaType mediaType = MediaType.parse("application/json"); + RequestBody body = RequestBody.create(mediaType, "{\"referredEntities\":{\"property1\":{\"typeName\":\"string\",\"attributes\":{},\"guid\":\"string\",\"homeId\":\"string\",\"isProxy\":true,\"isIncomplete\":true,\"provenanceType\":0,\"status\":\"ACTIVE\",\"createdBy\":\"string\",\"updatedBy\":\"string\",\"createTime\":0,\"updateTime\":0,\"version\":0,\"relationshipAttributes\":{},\"classifications\":[{\"typeName\":\"string\",\"attributes\":{\"property1\":{},\"property2\":{}},\"entityGuid\":\"string\",\"entityStatus\":\"ACTIVE\",\"propagate\":true,\"validityPeriods\":[{\"startTime\":\"string\",\"endTime\":\"string\",\"timeZone\":\"string\"}],\"removePropagationsOnEntityDelete\":true}],\"meanings\":[{\"termGuid\":\"string\",\"relationGuid\":\"string\",\"description\":\"string\",\"displayText\":\"string\",\"expression\":\"string\",\"createdBy\":\"string\",\"steward\":\"string\",\"source\":\"string\",\"confidence\":0,\"status\":\"DISCOVERED\"}],\"customAttributes\":{\"property1\":\"string\",\"property2\":\"string\"},\"businessAttributes\":{\"property1\":{},\"property2\":{}},\"labels\":[\"string\"],\"proxy\":true},\"property2\":{\"typeName\":\"string\",\"attributes\":{},\"guid\":\"string\",\"homeId\":\"string\",\"isProxy\":true,\"isIncomplete\":true,\"provenanceType\":0,\"status\":\"ACTIVE\",\"createdBy\":\"string\",\"updatedBy\":\"string\",\"createTime\":0,\"updateTime\":0,\"version\":0,\"relationshipAttributes\":{},\"classifications\":[{\"typeName\":\"string\",\"attributes\":{\"property1\":{},\"property2\":{}},\"entityGuid\":\"string\",\"entityStatus\":\"ACTIVE\",\"propagate\":true,\"validityPeriods\":[{\"startTime\":\"string\",\"endTime\":\"string\",\"timeZone\":\"string\"}],\"removePropagationsOnEntityDelete\":true}],\"meanings\":[{\"termGuid\":\"string\",\"relationGuid\":\"string\",\"description\":\"string\",\"displayText\":\"string\",\"expression\":\"string\",\"createdBy\":\"string\",\"steward\":\"string\",\"source\":\"string\",\"confidence\":0,\"status\":\"DISCOVERED\"}],\"customAttributes\":{\"property1\":\"string\",\"property2\":\"string\"},\"businessAttributes\":{\"property1\":{},\"property2\":{}},\"labels\":[\"string\"],\"proxy\":true}},\"entity\":{\"typeName\":\"string\",\"attributes\":{},\"guid\":\"string\",\"homeId\":\"string\",\"isProxy\":true,\"isIncomplete\":true,\"provenanceType\":0,\"status\":\"ACTIVE\",\"createdBy\":\"string\",\"updatedBy\":\"string\",\"createTime\":0,\"updateTime\":0,\"version\":0,\"relationshipAttributes\":{},\"classifications\":[{\"typeName\":\"string\",\"attributes\":{\"property1\":{},\"property2\":{}},\"entityGuid\":\"string\",\"entityStatus\":\"ACTIVE\",\"propagate\":true,\"validityPeriods\":[{\"startTime\":\"string\",\"endTime\":\"string\",\"timeZone\":\"string\"}],\"removePropagationsOnEntityDelete\":true}],\"meanings\":[{\"termGuid\":\"string\",\"relationGuid\":\"string\",\"description\":\"string\",\"displayText\":\"string\",\"expression\":\"string\",\"createdBy\":\"string\",\"steward\":\"string\",\"source\":\"string\",\"confidence\":0,\"status\":\"DISCOVERED\"}],\"customAttributes\":{\"property1\":\"string\",\"property2\":\"string\"},\"businessAttributes\":{\"property1\":{},\"property2\":{}},\"labels\":[\"string\"],\"proxy\":true}}"); + Request request = new Request.Builder() + .url("https://psrc-00000.region.provider.confluent.cloud/catalog/v1/entity") + .put(body) + .addHeader("content-type", "application/json") + .build(); + + Response response = client.newCall(request).execute(); + - lang: Go + source: "package main\n\nimport (\n\t\"fmt\"\n\t\"strings\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://psrc-00000.region.provider.confluent.cloud/catalog/v1/entity\"\n\n\tpayload := strings.NewReader(\"{\\\"referredEntities\\\":{\\\"property1\\\":{\\\"typeName\\\":\\\"string\\\",\\\"attributes\\\":{},\\\"guid\\\":\\\"string\\\",\\\"homeId\\\":\\\"string\\\",\\\"isProxy\\\":true,\\\"isIncomplete\\\":true,\\\"provenanceType\\\":0,\\\"status\\\":\\\"ACTIVE\\\",\\\"createdBy\\\":\\\"string\\\",\\\"updatedBy\\\":\\\"string\\\",\\\"createTime\\\":0,\\\"updateTime\\\":0,\\\"version\\\":0,\\\"relationshipAttributes\\\":{},\\\"classifications\\\":[{\\\"typeName\\\":\\\"string\\\",\\\"attributes\\\":{\\\"property1\\\":{},\\\"property2\\\":{}},\\\"entityGuid\\\":\\\"string\\\",\\\"entityStatus\\\":\\\"ACTIVE\\\",\\\"propagate\\\":true,\\\"validityPeriods\\\":[{\\\"startTime\\\":\\\"string\\\",\\\"endTime\\\":\\\"string\\\",\\\"timeZone\\\":\\\"string\\\"}],\\\"removePropagationsOnEntityDelete\\\":true}],\\\"meanings\\\":[{\\\"termGuid\\\":\\\"string\\\",\\\"relationGuid\\\":\\\"string\\\",\\\"description\\\":\\\"string\\\",\\\"displayText\\\":\\\"string\\\",\\\"expression\\\":\\\"string\\\",\\\"createdBy\\\":\\\"string\\\",\\\"steward\\\":\\\"string\\\",\\\"source\\\":\\\"string\\\",\\\"confidence\\\":0,\\\"status\\\":\\\"DISCOVERED\\\"}],\\\"customAttributes\\\":{\\\"property1\\\":\\\"string\\\",\\\"property2\\\":\\\"string\\\"},\\\"businessAttributes\\\":{\\\"property1\\\":{},\\\"property2\\\":{}},\\\"labels\\\":[\\\"string\\\"],\\\"proxy\\\":true},\\\"property2\\\":{\\\"typeName\\\":\\\"string\\\",\\\"attributes\\\":{},\\\"guid\\\":\\\"string\\\",\\\"homeId\\\":\\\"string\\\",\\\"isProxy\\\":true,\\\"isIncomplete\\\":true,\\\"provenanceType\\\":0,\\\"status\\\":\\\"ACTIVE\\\",\\\"createdBy\\\":\\\"string\\\",\\\"updatedBy\\\":\\\"string\\\",\\\"createTime\\\":0,\\\"updateTime\\\":0,\\\"version\\\":0,\\\"relationshipAttributes\\\":{},\\\"classifications\\\":[{\\\"typeName\\\":\\\"string\\\",\\\"attributes\\\":{\\\"property1\\\":{},\\\"property2\\\":{}},\\\"entityGuid\\\":\\\"string\\\",\\\"entityStatus\\\":\\\"ACTIVE\\\",\\\"propagate\\\":true,\\\"validityPeriods\\\":[{\\\"startTime\\\":\\\"string\\\",\\\"endTime\\\":\\\"string\\\",\\\"timeZone\\\":\\\"string\\\"}],\\\"removePropagationsOnEntityDelete\\\":true}],\\\"meanings\\\":[{\\\"termGuid\\\":\\\"string\\\",\\\"relationGuid\\\":\\\"string\\\",\\\"description\\\":\\\"string\\\",\\\"displayText\\\":\\\"string\\\",\\\"expression\\\":\\\"string\\\",\\\"createdBy\\\":\\\"string\\\",\\\"steward\\\":\\\"string\\\",\\\"source\\\":\\\"string\\\",\\\"confidence\\\":0,\\\"status\\\":\\\"DISCOVERED\\\"}],\\\"customAttributes\\\":{\\\"property1\\\":\\\"string\\\",\\\"property2\\\":\\\"string\\\"},\\\"businessAttributes\\\":{\\\"property1\\\":{},\\\"property2\\\":{}},\\\"labels\\\":[\\\"string\\\"],\\\"proxy\\\":true}},\\\"entity\\\":{\\\"typeName\\\":\\\"string\\\",\\\"attributes\\\":{},\\\"guid\\\":\\\"string\\\",\\\"homeId\\\":\\\"string\\\",\\\"isProxy\\\":true,\\\"isIncomplete\\\":true,\\\"provenanceType\\\":0,\\\"status\\\":\\\"ACTIVE\\\",\\\"createdBy\\\":\\\"string\\\",\\\"updatedBy\\\":\\\"string\\\",\\\"createTime\\\":0,\\\"updateTime\\\":0,\\\"version\\\":0,\\\"relationshipAttributes\\\":{},\\\"classifications\\\":[{\\\"typeName\\\":\\\"string\\\",\\\"attributes\\\":{\\\"property1\\\":{},\\\"property2\\\":{}},\\\"entityGuid\\\":\\\"string\\\",\\\"entityStatus\\\":\\\"ACTIVE\\\",\\\"propagate\\\":true,\\\"validityPeriods\\\":[{\\\"startTime\\\":\\\"string\\\",\\\"endTime\\\":\\\"string\\\",\\\"timeZone\\\":\\\"string\\\"}],\\\"removePropagationsOnEntityDelete\\\":true}],\\\"meanings\\\":[{\\\"termGuid\\\":\\\"string\\\",\\\"relationGuid\\\":\\\"string\\\",\\\"description\\\":\\\"string\\\",\\\"displayText\\\":\\\"string\\\",\\\"expression\\\":\\\"string\\\",\\\"createdBy\\\":\\\"string\\\",\\\"steward\\\":\\\"string\\\",\\\"source\\\":\\\"string\\\",\\\"confidence\\\":0,\\\"status\\\":\\\"DISCOVERED\\\"}],\\\"customAttributes\\\":{\\\"property1\\\":\\\"string\\\",\\\"property2\\\":\\\"string\\\"},\\\"businessAttributes\\\":{\\\"property1\\\":{},\\\"property2\\\":{}},\\\"labels\\\":[\\\"string\\\"],\\\"proxy\\\":true}}\")\n\n\treq, _ := http.NewRequest(\"PUT\", url, payload)\n\n\treq.Header.Add(\"content-type\", \"application/json\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}" + - lang: Python + source: |- + import http.client + + conn = http.client.HTTPSConnection("psrc-00000.region.provider.confluent.cloud") + + payload = "{\"referredEntities\":{\"property1\":{\"typeName\":\"string\",\"attributes\":{},\"guid\":\"string\",\"homeId\":\"string\",\"isProxy\":true,\"isIncomplete\":true,\"provenanceType\":0,\"status\":\"ACTIVE\",\"createdBy\":\"string\",\"updatedBy\":\"string\",\"createTime\":0,\"updateTime\":0,\"version\":0,\"relationshipAttributes\":{},\"classifications\":[{\"typeName\":\"string\",\"attributes\":{\"property1\":{},\"property2\":{}},\"entityGuid\":\"string\",\"entityStatus\":\"ACTIVE\",\"propagate\":true,\"validityPeriods\":[{\"startTime\":\"string\",\"endTime\":\"string\",\"timeZone\":\"string\"}],\"removePropagationsOnEntityDelete\":true}],\"meanings\":[{\"termGuid\":\"string\",\"relationGuid\":\"string\",\"description\":\"string\",\"displayText\":\"string\",\"expression\":\"string\",\"createdBy\":\"string\",\"steward\":\"string\",\"source\":\"string\",\"confidence\":0,\"status\":\"DISCOVERED\"}],\"customAttributes\":{\"property1\":\"string\",\"property2\":\"string\"},\"businessAttributes\":{\"property1\":{},\"property2\":{}},\"labels\":[\"string\"],\"proxy\":true},\"property2\":{\"typeName\":\"string\",\"attributes\":{},\"guid\":\"string\",\"homeId\":\"string\",\"isProxy\":true,\"isIncomplete\":true,\"provenanceType\":0,\"status\":\"ACTIVE\",\"createdBy\":\"string\",\"updatedBy\":\"string\",\"createTime\":0,\"updateTime\":0,\"version\":0,\"relationshipAttributes\":{},\"classifications\":[{\"typeName\":\"string\",\"attributes\":{\"property1\":{},\"property2\":{}},\"entityGuid\":\"string\",\"entityStatus\":\"ACTIVE\",\"propagate\":true,\"validityPeriods\":[{\"startTime\":\"string\",\"endTime\":\"string\",\"timeZone\":\"string\"}],\"removePropagationsOnEntityDelete\":true}],\"meanings\":[{\"termGuid\":\"string\",\"relationGuid\":\"string\",\"description\":\"string\",\"displayText\":\"string\",\"expression\":\"string\",\"createdBy\":\"string\",\"steward\":\"string\",\"source\":\"string\",\"confidence\":0,\"status\":\"DISCOVERED\"}],\"customAttributes\":{\"property1\":\"string\",\"property2\":\"string\"},\"businessAttributes\":{\"property1\":{},\"property2\":{}},\"labels\":[\"string\"],\"proxy\":true}},\"entity\":{\"typeName\":\"string\",\"attributes\":{},\"guid\":\"string\",\"homeId\":\"string\",\"isProxy\":true,\"isIncomplete\":true,\"provenanceType\":0,\"status\":\"ACTIVE\",\"createdBy\":\"string\",\"updatedBy\":\"string\",\"createTime\":0,\"updateTime\":0,\"version\":0,\"relationshipAttributes\":{},\"classifications\":[{\"typeName\":\"string\",\"attributes\":{\"property1\":{},\"property2\":{}},\"entityGuid\":\"string\",\"entityStatus\":\"ACTIVE\",\"propagate\":true,\"validityPeriods\":[{\"startTime\":\"string\",\"endTime\":\"string\",\"timeZone\":\"string\"}],\"removePropagationsOnEntityDelete\":true}],\"meanings\":[{\"termGuid\":\"string\",\"relationGuid\":\"string\",\"description\":\"string\",\"displayText\":\"string\",\"expression\":\"string\",\"createdBy\":\"string\",\"steward\":\"string\",\"source\":\"string\",\"confidence\":0,\"status\":\"DISCOVERED\"}],\"customAttributes\":{\"property1\":\"string\",\"property2\":\"string\"},\"businessAttributes\":{\"property1\":{},\"property2\":{}},\"labels\":[\"string\"],\"proxy\":true}}" + + headers = { 'content-type': "application/json" } + + conn.request("PUT", "/catalog/v1/entity", payload, headers) + + res = conn.getresponse() + data = res.read() + + print(data.decode("utf-8")) + - lang: Node + source: |- + const http = require("https"); + + const options = { + "method": "PUT", + "hostname": "psrc-00000.region.provider.confluent.cloud", + "port": null, + "path": "/catalog/v1/entity", + "headers": { + "content-type": "application/json" + } + }; + + const req = http.request(options, function (res) { + const chunks = []; + + res.on("data", function (chunk) { + chunks.push(chunk); + }); + + res.on("end", function () { + const body = Buffer.concat(chunks); + console.log(body.toString()); + }); + }); + + req.write(JSON.stringify({ + referredEntities: { + property1: { + typeName: 'string', + attributes: {}, + guid: 'string', + homeId: 'string', + isProxy: true, + isIncomplete: true, + provenanceType: 0, + status: 'ACTIVE', + createdBy: 'string', + updatedBy: 'string', + createTime: 0, + updateTime: 0, + version: 0, + relationshipAttributes: {}, + classifications: [ + { + typeName: 'string', + attributes: {property1: {}, property2: {}}, + entityGuid: 'string', + entityStatus: 'ACTIVE', + propagate: true, + validityPeriods: [{startTime: 'string', endTime: 'string', timeZone: 'string'}], + removePropagationsOnEntityDelete: true + } + ], + meanings: [ + { + termGuid: 'string', + relationGuid: 'string', + description: 'string', + displayText: 'string', + expression: 'string', + createdBy: 'string', + steward: 'string', + source: 'string', + confidence: 0, + status: 'DISCOVERED' + } + ], + customAttributes: {property1: 'string', property2: 'string'}, + businessAttributes: {property1: {}, property2: {}}, + labels: ['string'], + proxy: true + }, + property2: { + typeName: 'string', + attributes: {}, + guid: 'string', + homeId: 'string', + isProxy: true, + isIncomplete: true, + provenanceType: 0, + status: 'ACTIVE', + createdBy: 'string', + updatedBy: 'string', + createTime: 0, + updateTime: 0, + version: 0, + relationshipAttributes: {}, + classifications: [ + { + typeName: 'string', + attributes: {property1: {}, property2: {}}, + entityGuid: 'string', + entityStatus: 'ACTIVE', + propagate: true, + validityPeriods: [{startTime: 'string', endTime: 'string', timeZone: 'string'}], + removePropagationsOnEntityDelete: true + } + ], + meanings: [ + { + termGuid: 'string', + relationGuid: 'string', + description: 'string', + displayText: 'string', + expression: 'string', + createdBy: 'string', + steward: 'string', + source: 'string', + confidence: 0, + status: 'DISCOVERED' + } + ], + customAttributes: {property1: 'string', property2: 'string'}, + businessAttributes: {property1: {}, property2: {}}, + labels: ['string'], + proxy: true + } + }, + entity: { + typeName: 'string', + attributes: {}, + guid: 'string', + homeId: 'string', + isProxy: true, + isIncomplete: true, + provenanceType: 0, + status: 'ACTIVE', + createdBy: 'string', + updatedBy: 'string', + createTime: 0, + updateTime: 0, + version: 0, + relationshipAttributes: {}, + classifications: [ + { + typeName: 'string', + attributes: {property1: {}, property2: {}}, + entityGuid: 'string', + entityStatus: 'ACTIVE', + propagate: true, + validityPeriods: [{startTime: 'string', endTime: 'string', timeZone: 'string'}], + removePropagationsOnEntityDelete: true + } + ], + meanings: [ + { + termGuid: 'string', + relationGuid: 'string', + description: 'string', + displayText: 'string', + expression: 'string', + createdBy: 'string', + steward: 'string', + source: 'string', + confidence: 0, + status: 'DISCOVERED' + } + ], + customAttributes: {property1: 'string', property2: 'string'}, + businessAttributes: {property1: {}, property2: {}}, + labels: ['string'], + proxy: true + } + })); + req.end(); + - lang: C + source: |- + CURL *hnd = curl_easy_init(); + + curl_easy_setopt(hnd, CURLOPT_CUSTOMREQUEST, "PUT"); + curl_easy_setopt(hnd, CURLOPT_URL, "https://psrc-00000.region.provider.confluent.cloud/catalog/v1/entity"); + + struct curl_slist *headers = NULL; + headers = curl_slist_append(headers, "content-type: application/json"); + curl_easy_setopt(hnd, CURLOPT_HTTPHEADER, headers); + + curl_easy_setopt(hnd, CURLOPT_POSTFIELDS, "{\"referredEntities\":{\"property1\":{\"typeName\":\"string\",\"attributes\":{},\"guid\":\"string\",\"homeId\":\"string\",\"isProxy\":true,\"isIncomplete\":true,\"provenanceType\":0,\"status\":\"ACTIVE\",\"createdBy\":\"string\",\"updatedBy\":\"string\",\"createTime\":0,\"updateTime\":0,\"version\":0,\"relationshipAttributes\":{},\"classifications\":[{\"typeName\":\"string\",\"attributes\":{\"property1\":{},\"property2\":{}},\"entityGuid\":\"string\",\"entityStatus\":\"ACTIVE\",\"propagate\":true,\"validityPeriods\":[{\"startTime\":\"string\",\"endTime\":\"string\",\"timeZone\":\"string\"}],\"removePropagationsOnEntityDelete\":true}],\"meanings\":[{\"termGuid\":\"string\",\"relationGuid\":\"string\",\"description\":\"string\",\"displayText\":\"string\",\"expression\":\"string\",\"createdBy\":\"string\",\"steward\":\"string\",\"source\":\"string\",\"confidence\":0,\"status\":\"DISCOVERED\"}],\"customAttributes\":{\"property1\":\"string\",\"property2\":\"string\"},\"businessAttributes\":{\"property1\":{},\"property2\":{}},\"labels\":[\"string\"],\"proxy\":true},\"property2\":{\"typeName\":\"string\",\"attributes\":{},\"guid\":\"string\",\"homeId\":\"string\",\"isProxy\":true,\"isIncomplete\":true,\"provenanceType\":0,\"status\":\"ACTIVE\",\"createdBy\":\"string\",\"updatedBy\":\"string\",\"createTime\":0,\"updateTime\":0,\"version\":0,\"relationshipAttributes\":{},\"classifications\":[{\"typeName\":\"string\",\"attributes\":{\"property1\":{},\"property2\":{}},\"entityGuid\":\"string\",\"entityStatus\":\"ACTIVE\",\"propagate\":true,\"validityPeriods\":[{\"startTime\":\"string\",\"endTime\":\"string\",\"timeZone\":\"string\"}],\"removePropagationsOnEntityDelete\":true}],\"meanings\":[{\"termGuid\":\"string\",\"relationGuid\":\"string\",\"description\":\"string\",\"displayText\":\"string\",\"expression\":\"string\",\"createdBy\":\"string\",\"steward\":\"string\",\"source\":\"string\",\"confidence\":0,\"status\":\"DISCOVERED\"}],\"customAttributes\":{\"property1\":\"string\",\"property2\":\"string\"},\"businessAttributes\":{\"property1\":{},\"property2\":{}},\"labels\":[\"string\"],\"proxy\":true}},\"entity\":{\"typeName\":\"string\",\"attributes\":{},\"guid\":\"string\",\"homeId\":\"string\",\"isProxy\":true,\"isIncomplete\":true,\"provenanceType\":0,\"status\":\"ACTIVE\",\"createdBy\":\"string\",\"updatedBy\":\"string\",\"createTime\":0,\"updateTime\":0,\"version\":0,\"relationshipAttributes\":{},\"classifications\":[{\"typeName\":\"string\",\"attributes\":{\"property1\":{},\"property2\":{}},\"entityGuid\":\"string\",\"entityStatus\":\"ACTIVE\",\"propagate\":true,\"validityPeriods\":[{\"startTime\":\"string\",\"endTime\":\"string\",\"timeZone\":\"string\"}],\"removePropagationsOnEntityDelete\":true}],\"meanings\":[{\"termGuid\":\"string\",\"relationGuid\":\"string\",\"description\":\"string\",\"displayText\":\"string\",\"expression\":\"string\",\"createdBy\":\"string\",\"steward\":\"string\",\"source\":\"string\",\"confidence\":0,\"status\":\"DISCOVERED\"}],\"customAttributes\":{\"property1\":\"string\",\"property2\":\"string\"},\"businessAttributes\":{\"property1\":{},\"property2\":{}},\"labels\":[\"string\"],\"proxy\":true}}"); + + CURLcode ret = curl_easy_perform(hnd); + - lang: C# + source: |- + var client = new RestClient("https://psrc-00000.region.provider.confluent.cloud/catalog/v1/entity"); + var request = new RestRequest(Method.PUT); + request.AddHeader("content-type", "application/json"); + request.AddParameter("application/json", "{\"referredEntities\":{\"property1\":{\"typeName\":\"string\",\"attributes\":{},\"guid\":\"string\",\"homeId\":\"string\",\"isProxy\":true,\"isIncomplete\":true,\"provenanceType\":0,\"status\":\"ACTIVE\",\"createdBy\":\"string\",\"updatedBy\":\"string\",\"createTime\":0,\"updateTime\":0,\"version\":0,\"relationshipAttributes\":{},\"classifications\":[{\"typeName\":\"string\",\"attributes\":{\"property1\":{},\"property2\":{}},\"entityGuid\":\"string\",\"entityStatus\":\"ACTIVE\",\"propagate\":true,\"validityPeriods\":[{\"startTime\":\"string\",\"endTime\":\"string\",\"timeZone\":\"string\"}],\"removePropagationsOnEntityDelete\":true}],\"meanings\":[{\"termGuid\":\"string\",\"relationGuid\":\"string\",\"description\":\"string\",\"displayText\":\"string\",\"expression\":\"string\",\"createdBy\":\"string\",\"steward\":\"string\",\"source\":\"string\",\"confidence\":0,\"status\":\"DISCOVERED\"}],\"customAttributes\":{\"property1\":\"string\",\"property2\":\"string\"},\"businessAttributes\":{\"property1\":{},\"property2\":{}},\"labels\":[\"string\"],\"proxy\":true},\"property2\":{\"typeName\":\"string\",\"attributes\":{},\"guid\":\"string\",\"homeId\":\"string\",\"isProxy\":true,\"isIncomplete\":true,\"provenanceType\":0,\"status\":\"ACTIVE\",\"createdBy\":\"string\",\"updatedBy\":\"string\",\"createTime\":0,\"updateTime\":0,\"version\":0,\"relationshipAttributes\":{},\"classifications\":[{\"typeName\":\"string\",\"attributes\":{\"property1\":{},\"property2\":{}},\"entityGuid\":\"string\",\"entityStatus\":\"ACTIVE\",\"propagate\":true,\"validityPeriods\":[{\"startTime\":\"string\",\"endTime\":\"string\",\"timeZone\":\"string\"}],\"removePropagationsOnEntityDelete\":true}],\"meanings\":[{\"termGuid\":\"string\",\"relationGuid\":\"string\",\"description\":\"string\",\"displayText\":\"string\",\"expression\":\"string\",\"createdBy\":\"string\",\"steward\":\"string\",\"source\":\"string\",\"confidence\":0,\"status\":\"DISCOVERED\"}],\"customAttributes\":{\"property1\":\"string\",\"property2\":\"string\"},\"businessAttributes\":{\"property1\":{},\"property2\":{}},\"labels\":[\"string\"],\"proxy\":true}},\"entity\":{\"typeName\":\"string\",\"attributes\":{},\"guid\":\"string\",\"homeId\":\"string\",\"isProxy\":true,\"isIncomplete\":true,\"provenanceType\":0,\"status\":\"ACTIVE\",\"createdBy\":\"string\",\"updatedBy\":\"string\",\"createTime\":0,\"updateTime\":0,\"version\":0,\"relationshipAttributes\":{},\"classifications\":[{\"typeName\":\"string\",\"attributes\":{\"property1\":{},\"property2\":{}},\"entityGuid\":\"string\",\"entityStatus\":\"ACTIVE\",\"propagate\":true,\"validityPeriods\":[{\"startTime\":\"string\",\"endTime\":\"string\",\"timeZone\":\"string\"}],\"removePropagationsOnEntityDelete\":true}],\"meanings\":[{\"termGuid\":\"string\",\"relationGuid\":\"string\",\"description\":\"string\",\"displayText\":\"string\",\"expression\":\"string\",\"createdBy\":\"string\",\"steward\":\"string\",\"source\":\"string\",\"confidence\":0,\"status\":\"DISCOVERED\"}],\"customAttributes\":{\"property1\":\"string\",\"property2\":\"string\"},\"businessAttributes\":{\"property1\":{},\"property2\":{}},\"labels\":[\"string\"],\"proxy\":true}}", ParameterType.RequestBody); + IRestResponse response = client.Execute(request); + '/catalog/v1/entity/type/{typeName}/name/{qualifiedName}/tags/{tagName}': + delete: + summary: Delete a Tag for an Entity + description: |- + [![Generally Available](https://img.shields.io/badge/Lifecycle%20Stage-Generally%20Available-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + Delete a tag for an entity. + operationId: deleteTag + parameters: + - name: typeName + in: path + description: The type of the entity + required: true + schema: + type: string + - name: qualifiedName + in: path + description: The qualified name of the entity + required: true + schema: + type: string + - name: tagName + in: path + description: The name of the tag + required: true + schema: + type: string + tags: + - Entity (v1) + responses: + '204': + description: No Content + '400': + description: Bad Request + '429': + description: Rate Limit Error + '500': + description: Internal Server Error + x-codeSamples: + - lang: Shell + source: |- + curl --request DELETE \ + --url 'https://psrc-00000.region.provider.confluent.cloud/catalog/v1/entity/type/{typeName}/name/{qualifiedName}/tags/{tagName}' + - lang: Java + source: |- + OkHttpClient client = new OkHttpClient(); + + Request request = new Request.Builder() + .url("https://psrc-00000.region.provider.confluent.cloud/catalog/v1/entity/type/{typeName}/name/{qualifiedName}/tags/{tagName}") + .delete(null) + .build(); + + Response response = client.newCall(request).execute(); + - lang: Go + source: "package main\n\nimport (\n\t\"fmt\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://psrc-00000.region.provider.confluent.cloud/catalog/v1/entity/type/{typeName}/name/{qualifiedName}/tags/{tagName}\"\n\n\treq, _ := http.NewRequest(\"DELETE\", url, nil)\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}" + - lang: Python + source: |- + import http.client + + conn = http.client.HTTPSConnection("psrc-00000.region.provider.confluent.cloud") + + conn.request("DELETE", "/catalog/v1/entity/type/{typeName}/name/{qualifiedName}/tags/{tagName}") + + res = conn.getresponse() + data = res.read() + + print(data.decode("utf-8")) + - lang: Node + source: |- + const http = require("https"); + + const options = { + "method": "DELETE", + "hostname": "psrc-00000.region.provider.confluent.cloud", + "port": null, + "path": "/catalog/v1/entity/type/{typeName}/name/{qualifiedName}/tags/{tagName}", + "headers": {} + }; + + const req = http.request(options, function (res) { + const chunks = []; + + res.on("data", function (chunk) { + chunks.push(chunk); + }); + + res.on("end", function () { + const body = Buffer.concat(chunks); + console.log(body.toString()); + }); + }); + + req.end(); + - lang: C + source: |- + CURL *hnd = curl_easy_init(); + + curl_easy_setopt(hnd, CURLOPT_CUSTOMREQUEST, "DELETE"); + curl_easy_setopt(hnd, CURLOPT_URL, "https://psrc-00000.region.provider.confluent.cloud/catalog/v1/entity/type/{typeName}/name/{qualifiedName}/tags/{tagName}"); + + CURLcode ret = curl_easy_perform(hnd); + - lang: C# + source: |- + var client = new RestClient("https://psrc-00000.region.provider.confluent.cloud/catalog/v1/entity/type/{typeName}/name/{qualifiedName}/tags/{tagName}"); + var request = new RestRequest(Method.DELETE); + IRestResponse response = client.Execute(request); + /catalog/v1/search/attribute: + get: + summary: Search by Attribute + description: |- + [![Generally Available](https://img.shields.io/badge/Lifecycle%20Stage-Generally%20Available-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + Retrieve data for the specified attribute search query. + operationId: searchUsingAttribute + parameters: + - name: type + in: query + description: Limit the result to only entities of specified types + style: form + explode: true + schema: + type: array + items: + type: string + - name: attr + in: query + description: One of more additional attributes to return in the response + style: form + explode: true + schema: + type: array + items: + type: string + - name: attrName + in: query + description: The attribute to search + style: form + explode: true + schema: + type: array + items: + type: string + - name: attrValuePrefix + in: query + description: The prefix for the attribute value to search + style: form + explode: true + schema: + type: array + items: + type: string + - name: tag + in: query + description: Limit the result to only entities tagged with the given tag + schema: + type: string + - name: sortBy + in: query + description: An attribute to sort by + schema: + type: string + - name: sortOrder + in: query + description: 'Sort order, either ASCENDING (default) or DESCENDING' + schema: + type: string + enum: + - ASCENDING + - DESCENDING + - name: deleted + in: query + description: Whether to include deleted entities + schema: + type: boolean + - name: limit + in: query + description: Limit the result set to only include the specified number of entries + schema: + type: integer + format: int32 + - name: offset + in: query + description: Start offset of the result set (useful for pagination) + schema: + type: integer + format: int32 + tags: + - Search (v1) + responses: + '200': + description: 'On successful search query with some results, might return an empty list if execution succeeded without any results' + content: + application/json: + schema: + $ref: '#/components/schemas/SearchResult' + '400': + description: Invalid wildcard or query parameters + '429': + description: Rate Limit Error + '500': + description: Internal Server Error + x-codeSamples: + - lang: Shell + source: |- + curl --request GET \ + --url https://psrc-00000.region.provider.confluent.cloud/catalog/v1/search/attribute + - lang: Java + source: |- + OkHttpClient client = new OkHttpClient(); + + Request request = new Request.Builder() + .url("https://psrc-00000.region.provider.confluent.cloud/catalog/v1/search/attribute") + .get() + .build(); + + Response response = client.newCall(request).execute(); + - lang: Go + source: "package main\n\nimport (\n\t\"fmt\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://psrc-00000.region.provider.confluent.cloud/catalog/v1/search/attribute\"\n\n\treq, _ := http.NewRequest(\"GET\", url, nil)\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}" + - lang: Python + source: |- + import http.client + + conn = http.client.HTTPSConnection("psrc-00000.region.provider.confluent.cloud") + + conn.request("GET", "/catalog/v1/search/attribute") + + res = conn.getresponse() + data = res.read() + + print(data.decode("utf-8")) + - lang: Node + source: |- + const http = require("https"); + + const options = { + "method": "GET", + "hostname": "psrc-00000.region.provider.confluent.cloud", + "port": null, + "path": "/catalog/v1/search/attribute", + "headers": {} + }; + + const req = http.request(options, function (res) { + const chunks = []; + + res.on("data", function (chunk) { + chunks.push(chunk); + }); + + res.on("end", function () { + const body = Buffer.concat(chunks); + console.log(body.toString()); + }); + }); + + req.end(); + - lang: C + source: |- + CURL *hnd = curl_easy_init(); + + curl_easy_setopt(hnd, CURLOPT_CUSTOMREQUEST, "GET"); + curl_easy_setopt(hnd, CURLOPT_URL, "https://psrc-00000.region.provider.confluent.cloud/catalog/v1/search/attribute"); + + CURLcode ret = curl_easy_perform(hnd); + - lang: C# + source: |- + var client = new RestClient("https://psrc-00000.region.provider.confluent.cloud/catalog/v1/search/attribute"); + var request = new RestRequest(Method.GET); + IRestResponse response = client.Execute(request); + /catalog/v1/search/basic: + get: + summary: Search by Fulltext Query + description: |- + [![Generally Available](https://img.shields.io/badge/Lifecycle%20Stage-Generally%20Available-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + Retrieve data for the specified fulltext query. + operationId: searchUsingBasic + parameters: + - name: query + in: query + description: The full-text query + schema: + type: string + - name: type + in: query + description: Limit the result to only entities of specified types + style: form + explode: true + schema: + type: array + items: + type: string + - name: attr + in: query + description: One of more additional attributes to return in the response + style: form + explode: true + schema: + type: array + items: + type: string + - name: tag + in: query + description: Limit the result to only entities tagged with the given tag + schema: + type: string + - name: sortBy + in: query + description: An attribute to sort by + schema: + type: string + - name: sortOrder + in: query + description: 'Sort order, either ASCENDING (default) or DESCENDING' + schema: + type: string + enum: + - ASCENDING + - DESCENDING + - name: deleted + in: query + description: Whether to include deleted entities + schema: + type: boolean + - name: limit + in: query + description: Limit the result set to only include the specified number of entries + schema: + type: integer + format: int32 + - name: offset + in: query + description: Start offset of the result set (useful for pagination) + schema: + type: integer + format: int32 + tags: + - Search (v1) + responses: + '200': + description: 'On successful fulltext query with some results, might return an empty list if execution succeeded without any results' + content: + application/json: + schema: + $ref: '#/components/schemas/SearchResult' + '400': + description: Invalid fulltext or query parameters + '429': + description: Rate Limit Error + '500': + description: Internal Server Error + x-codeSamples: + - lang: Shell + source: |- + curl --request GET \ + --url https://psrc-00000.region.provider.confluent.cloud/catalog/v1/search/basic + - lang: Java + source: |- + OkHttpClient client = new OkHttpClient(); + + Request request = new Request.Builder() + .url("https://psrc-00000.region.provider.confluent.cloud/catalog/v1/search/basic") + .get() + .build(); + + Response response = client.newCall(request).execute(); + - lang: Go + source: "package main\n\nimport (\n\t\"fmt\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://psrc-00000.region.provider.confluent.cloud/catalog/v1/search/basic\"\n\n\treq, _ := http.NewRequest(\"GET\", url, nil)\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}" + - lang: Python + source: |- + import http.client + + conn = http.client.HTTPSConnection("psrc-00000.region.provider.confluent.cloud") + + conn.request("GET", "/catalog/v1/search/basic") + + res = conn.getresponse() + data = res.read() + + print(data.decode("utf-8")) + - lang: Node + source: |- + const http = require("https"); + + const options = { + "method": "GET", + "hostname": "psrc-00000.region.provider.confluent.cloud", + "port": null, + "path": "/catalog/v1/search/basic", + "headers": {} + }; + + const req = http.request(options, function (res) { + const chunks = []; + + res.on("data", function (chunk) { + chunks.push(chunk); + }); + + res.on("end", function () { + const body = Buffer.concat(chunks); + console.log(body.toString()); + }); + }); + + req.end(); + - lang: C + source: |- + CURL *hnd = curl_easy_init(); + + curl_easy_setopt(hnd, CURLOPT_CUSTOMREQUEST, "GET"); + curl_easy_setopt(hnd, CURLOPT_URL, "https://psrc-00000.region.provider.confluent.cloud/catalog/v1/search/basic"); + + CURLcode ret = curl_easy_perform(hnd); + - lang: C# + source: |- + var client = new RestClient("https://psrc-00000.region.provider.confluent.cloud/catalog/v1/search/basic"); + var request = new RestRequest(Method.GET); + IRestResponse response = client.Execute(request); + /catalog/v1/types/tagdefs: + get: + summary: Bulk Read Tag Definitions + description: |- + [![Generally Available](https://img.shields.io/badge/Lifecycle%20Stage-Generally%20Available-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + Bulk retrieval API for retrieving tag definitions. + operationId: getAllTagDefs + parameters: + - name: prefix + in: query + description: The prefix of a tag definition name + schema: + type: string + tags: + - Types (v1) + responses: + '200': + description: The tag definitions + content: + application/json: + schema: + type: array + items: + $ref: '#/components/schemas/TagDefResponse' + '400': + description: Bad Request + '429': + description: Rate Limit Error + '500': + description: Internal Server Error + x-codeSamples: + - lang: Shell + source: |- + curl --request GET \ + --url https://psrc-00000.region.provider.confluent.cloud/catalog/v1/types/tagdefs + - lang: Java + source: |- + OkHttpClient client = new OkHttpClient(); + + Request request = new Request.Builder() + .url("https://psrc-00000.region.provider.confluent.cloud/catalog/v1/types/tagdefs") + .get() + .build(); + + Response response = client.newCall(request).execute(); + - lang: Go + source: "package main\n\nimport (\n\t\"fmt\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://psrc-00000.region.provider.confluent.cloud/catalog/v1/types/tagdefs\"\n\n\treq, _ := http.NewRequest(\"GET\", url, nil)\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}" + - lang: Python + source: |- + import http.client + + conn = http.client.HTTPSConnection("psrc-00000.region.provider.confluent.cloud") + + conn.request("GET", "/catalog/v1/types/tagdefs") + + res = conn.getresponse() + data = res.read() + + print(data.decode("utf-8")) + - lang: Node + source: |- + const http = require("https"); + + const options = { + "method": "GET", + "hostname": "psrc-00000.region.provider.confluent.cloud", + "port": null, + "path": "/catalog/v1/types/tagdefs", + "headers": {} + }; + + const req = http.request(options, function (res) { + const chunks = []; + + res.on("data", function (chunk) { + chunks.push(chunk); + }); + + res.on("end", function () { + const body = Buffer.concat(chunks); + console.log(body.toString()); + }); + }); + + req.end(); + - lang: C + source: |- + CURL *hnd = curl_easy_init(); + + curl_easy_setopt(hnd, CURLOPT_CUSTOMREQUEST, "GET"); + curl_easy_setopt(hnd, CURLOPT_URL, "https://psrc-00000.region.provider.confluent.cloud/catalog/v1/types/tagdefs"); + + CURLcode ret = curl_easy_perform(hnd); + - lang: C# + source: |- + var client = new RestClient("https://psrc-00000.region.provider.confluent.cloud/catalog/v1/types/tagdefs"); + var request = new RestRequest(Method.GET); + IRestResponse response = client.Execute(request); + put: + summary: Bulk Update Tag Definitions + description: |- + [![Generally Available](https://img.shields.io/badge/Lifecycle%20Stage-Generally%20Available-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + Bulk update API for tag definitions. + tags: + - Types (v1) + operationId: updateTagDefs + requestBody: + description: The tag definitions to update + content: + application/json: + schema: + type: array + items: + $ref: '#/components/schemas/TagDef' + responses: + '200': + description: The tag definitions. Errored tag definitions will have an additional error property. + content: + application/json: + schema: + type: array + items: + $ref: '#/components/schemas/TagDefResponse' + '400': + description: Bad Request + '429': + description: Rate Limit Error + '500': + description: Internal Server Error + x-codeSamples: + - lang: Shell + source: |- + curl --request PUT \ + --url https://psrc-00000.region.provider.confluent.cloud/catalog/v1/types/tagdefs \ + --header 'content-type: application/json' \ + --data '[{"category":"PRIMITIVE","guid":"string","createdBy":"string","updatedBy":"string","createTime":0,"updateTime":0,"version":0,"name":"string","description":"string","typeVersion":"string","serviceType":"string","options":{"property1":"string","property2":"string"},"attributeDefs":[{"name":"string","typeName":"string","isOptional":true,"cardinality":"SINGLE","valuesMinCount":0,"valuesMaxCount":0,"isUnique":true,"isIndexable":true,"includeInNotification":true,"defaultValue":"string","description":"string","searchWeight":0,"indexType":"DEFAULT","constraints":[{"type":"string","params":{"property1":{},"property2":{}}}],"options":{"property1":"string","property2":"string"},"displayName":"string"}],"superTypes":["string"],"entityTypes":["string"],"subTypes":["string"]}]' + - lang: Java + source: |- + OkHttpClient client = new OkHttpClient(); + + MediaType mediaType = MediaType.parse("application/json"); + RequestBody body = RequestBody.create(mediaType, "[{\"category\":\"PRIMITIVE\",\"guid\":\"string\",\"createdBy\":\"string\",\"updatedBy\":\"string\",\"createTime\":0,\"updateTime\":0,\"version\":0,\"name\":\"string\",\"description\":\"string\",\"typeVersion\":\"string\",\"serviceType\":\"string\",\"options\":{\"property1\":\"string\",\"property2\":\"string\"},\"attributeDefs\":[{\"name\":\"string\",\"typeName\":\"string\",\"isOptional\":true,\"cardinality\":\"SINGLE\",\"valuesMinCount\":0,\"valuesMaxCount\":0,\"isUnique\":true,\"isIndexable\":true,\"includeInNotification\":true,\"defaultValue\":\"string\",\"description\":\"string\",\"searchWeight\":0,\"indexType\":\"DEFAULT\",\"constraints\":[{\"type\":\"string\",\"params\":{\"property1\":{},\"property2\":{}}}],\"options\":{\"property1\":\"string\",\"property2\":\"string\"},\"displayName\":\"string\"}],\"superTypes\":[\"string\"],\"entityTypes\":[\"string\"],\"subTypes\":[\"string\"]}]"); + Request request = new Request.Builder() + .url("https://psrc-00000.region.provider.confluent.cloud/catalog/v1/types/tagdefs") + .put(body) + .addHeader("content-type", "application/json") + .build(); + + Response response = client.newCall(request).execute(); + - lang: Go + source: "package main\n\nimport (\n\t\"fmt\"\n\t\"strings\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://psrc-00000.region.provider.confluent.cloud/catalog/v1/types/tagdefs\"\n\n\tpayload := strings.NewReader(\"[{\\\"category\\\":\\\"PRIMITIVE\\\",\\\"guid\\\":\\\"string\\\",\\\"createdBy\\\":\\\"string\\\",\\\"updatedBy\\\":\\\"string\\\",\\\"createTime\\\":0,\\\"updateTime\\\":0,\\\"version\\\":0,\\\"name\\\":\\\"string\\\",\\\"description\\\":\\\"string\\\",\\\"typeVersion\\\":\\\"string\\\",\\\"serviceType\\\":\\\"string\\\",\\\"options\\\":{\\\"property1\\\":\\\"string\\\",\\\"property2\\\":\\\"string\\\"},\\\"attributeDefs\\\":[{\\\"name\\\":\\\"string\\\",\\\"typeName\\\":\\\"string\\\",\\\"isOptional\\\":true,\\\"cardinality\\\":\\\"SINGLE\\\",\\\"valuesMinCount\\\":0,\\\"valuesMaxCount\\\":0,\\\"isUnique\\\":true,\\\"isIndexable\\\":true,\\\"includeInNotification\\\":true,\\\"defaultValue\\\":\\\"string\\\",\\\"description\\\":\\\"string\\\",\\\"searchWeight\\\":0,\\\"indexType\\\":\\\"DEFAULT\\\",\\\"constraints\\\":[{\\\"type\\\":\\\"string\\\",\\\"params\\\":{\\\"property1\\\":{},\\\"property2\\\":{}}}],\\\"options\\\":{\\\"property1\\\":\\\"string\\\",\\\"property2\\\":\\\"string\\\"},\\\"displayName\\\":\\\"string\\\"}],\\\"superTypes\\\":[\\\"string\\\"],\\\"entityTypes\\\":[\\\"string\\\"],\\\"subTypes\\\":[\\\"string\\\"]}]\")\n\n\treq, _ := http.NewRequest(\"PUT\", url, payload)\n\n\treq.Header.Add(\"content-type\", \"application/json\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}" + - lang: Python + source: |- + import http.client + + conn = http.client.HTTPSConnection("psrc-00000.region.provider.confluent.cloud") + + payload = "[{\"category\":\"PRIMITIVE\",\"guid\":\"string\",\"createdBy\":\"string\",\"updatedBy\":\"string\",\"createTime\":0,\"updateTime\":0,\"version\":0,\"name\":\"string\",\"description\":\"string\",\"typeVersion\":\"string\",\"serviceType\":\"string\",\"options\":{\"property1\":\"string\",\"property2\":\"string\"},\"attributeDefs\":[{\"name\":\"string\",\"typeName\":\"string\",\"isOptional\":true,\"cardinality\":\"SINGLE\",\"valuesMinCount\":0,\"valuesMaxCount\":0,\"isUnique\":true,\"isIndexable\":true,\"includeInNotification\":true,\"defaultValue\":\"string\",\"description\":\"string\",\"searchWeight\":0,\"indexType\":\"DEFAULT\",\"constraints\":[{\"type\":\"string\",\"params\":{\"property1\":{},\"property2\":{}}}],\"options\":{\"property1\":\"string\",\"property2\":\"string\"},\"displayName\":\"string\"}],\"superTypes\":[\"string\"],\"entityTypes\":[\"string\"],\"subTypes\":[\"string\"]}]" + + headers = { 'content-type': "application/json" } + + conn.request("PUT", "/catalog/v1/types/tagdefs", payload, headers) + + res = conn.getresponse() + data = res.read() + + print(data.decode("utf-8")) + - lang: Node + source: |- + const http = require("https"); + + const options = { + "method": "PUT", + "hostname": "psrc-00000.region.provider.confluent.cloud", + "port": null, + "path": "/catalog/v1/types/tagdefs", + "headers": { + "content-type": "application/json" + } + }; + + const req = http.request(options, function (res) { + const chunks = []; + + res.on("data", function (chunk) { + chunks.push(chunk); + }); + + res.on("end", function () { + const body = Buffer.concat(chunks); + console.log(body.toString()); + }); + }); + + req.write(JSON.stringify([ + { + category: 'PRIMITIVE', + guid: 'string', + createdBy: 'string', + updatedBy: 'string', + createTime: 0, + updateTime: 0, + version: 0, + name: 'string', + description: 'string', + typeVersion: 'string', + serviceType: 'string', + options: {property1: 'string', property2: 'string'}, + attributeDefs: [ + { + name: 'string', + typeName: 'string', + isOptional: true, + cardinality: 'SINGLE', + valuesMinCount: 0, + valuesMaxCount: 0, + isUnique: true, + isIndexable: true, + includeInNotification: true, + defaultValue: 'string', + description: 'string', + searchWeight: 0, + indexType: 'DEFAULT', + constraints: [{type: 'string', params: {property1: {}, property2: {}}}], + options: {property1: 'string', property2: 'string'}, + displayName: 'string' + } + ], + superTypes: ['string'], + entityTypes: ['string'], + subTypes: ['string'] + } + ])); + req.end(); + - lang: C + source: |- + CURL *hnd = curl_easy_init(); + + curl_easy_setopt(hnd, CURLOPT_CUSTOMREQUEST, "PUT"); + curl_easy_setopt(hnd, CURLOPT_URL, "https://psrc-00000.region.provider.confluent.cloud/catalog/v1/types/tagdefs"); + + struct curl_slist *headers = NULL; + headers = curl_slist_append(headers, "content-type: application/json"); + curl_easy_setopt(hnd, CURLOPT_HTTPHEADER, headers); + + curl_easy_setopt(hnd, CURLOPT_POSTFIELDS, "[{\"category\":\"PRIMITIVE\",\"guid\":\"string\",\"createdBy\":\"string\",\"updatedBy\":\"string\",\"createTime\":0,\"updateTime\":0,\"version\":0,\"name\":\"string\",\"description\":\"string\",\"typeVersion\":\"string\",\"serviceType\":\"string\",\"options\":{\"property1\":\"string\",\"property2\":\"string\"},\"attributeDefs\":[{\"name\":\"string\",\"typeName\":\"string\",\"isOptional\":true,\"cardinality\":\"SINGLE\",\"valuesMinCount\":0,\"valuesMaxCount\":0,\"isUnique\":true,\"isIndexable\":true,\"includeInNotification\":true,\"defaultValue\":\"string\",\"description\":\"string\",\"searchWeight\":0,\"indexType\":\"DEFAULT\",\"constraints\":[{\"type\":\"string\",\"params\":{\"property1\":{},\"property2\":{}}}],\"options\":{\"property1\":\"string\",\"property2\":\"string\"},\"displayName\":\"string\"}],\"superTypes\":[\"string\"],\"entityTypes\":[\"string\"],\"subTypes\":[\"string\"]}]"); + + CURLcode ret = curl_easy_perform(hnd); + - lang: C# + source: |- + var client = new RestClient("https://psrc-00000.region.provider.confluent.cloud/catalog/v1/types/tagdefs"); + var request = new RestRequest(Method.PUT); + request.AddHeader("content-type", "application/json"); + request.AddParameter("application/json", "[{\"category\":\"PRIMITIVE\",\"guid\":\"string\",\"createdBy\":\"string\",\"updatedBy\":\"string\",\"createTime\":0,\"updateTime\":0,\"version\":0,\"name\":\"string\",\"description\":\"string\",\"typeVersion\":\"string\",\"serviceType\":\"string\",\"options\":{\"property1\":\"string\",\"property2\":\"string\"},\"attributeDefs\":[{\"name\":\"string\",\"typeName\":\"string\",\"isOptional\":true,\"cardinality\":\"SINGLE\",\"valuesMinCount\":0,\"valuesMaxCount\":0,\"isUnique\":true,\"isIndexable\":true,\"includeInNotification\":true,\"defaultValue\":\"string\",\"description\":\"string\",\"searchWeight\":0,\"indexType\":\"DEFAULT\",\"constraints\":[{\"type\":\"string\",\"params\":{\"property1\":{},\"property2\":{}}}],\"options\":{\"property1\":\"string\",\"property2\":\"string\"},\"displayName\":\"string\"}],\"superTypes\":[\"string\"],\"entityTypes\":[\"string\"],\"subTypes\":[\"string\"]}]", ParameterType.RequestBody); + IRestResponse response = client.Execute(request); + post: + summary: Bulk Create Tag Definitions + description: |- + [![Generally Available](https://img.shields.io/badge/Lifecycle%20Stage-Generally%20Available-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + Bulk create API for tag definitions. + tags: + - Types (v1) + operationId: createTagDefs + requestBody: + description: The tag definitions to create + content: + application/json: + schema: + type: array + items: + $ref: '#/components/schemas/TagDef' + responses: + '200': + description: The tag definitions. Errored tag definitions will have an additional error property. + content: + application/json: + schema: + type: array + items: + $ref: '#/components/schemas/TagDefResponse' + '400': + description: Bad Request + '429': + description: Rate Limit Error + '500': + description: Internal Server Error + x-codeSamples: + - lang: Shell + source: |- + curl --request POST \ + --url https://psrc-00000.region.provider.confluent.cloud/catalog/v1/types/tagdefs \ + --header 'content-type: application/json' \ + --data '[{"category":"PRIMITIVE","guid":"string","createdBy":"string","updatedBy":"string","createTime":0,"updateTime":0,"version":0,"name":"string","description":"string","typeVersion":"string","serviceType":"string","options":{"property1":"string","property2":"string"},"attributeDefs":[{"name":"string","typeName":"string","isOptional":true,"cardinality":"SINGLE","valuesMinCount":0,"valuesMaxCount":0,"isUnique":true,"isIndexable":true,"includeInNotification":true,"defaultValue":"string","description":"string","searchWeight":0,"indexType":"DEFAULT","constraints":[{"type":"string","params":{"property1":{},"property2":{}}}],"options":{"property1":"string","property2":"string"},"displayName":"string"}],"superTypes":["string"],"entityTypes":["string"],"subTypes":["string"]}]' + - lang: Java + source: |- + OkHttpClient client = new OkHttpClient(); + + MediaType mediaType = MediaType.parse("application/json"); + RequestBody body = RequestBody.create(mediaType, "[{\"category\":\"PRIMITIVE\",\"guid\":\"string\",\"createdBy\":\"string\",\"updatedBy\":\"string\",\"createTime\":0,\"updateTime\":0,\"version\":0,\"name\":\"string\",\"description\":\"string\",\"typeVersion\":\"string\",\"serviceType\":\"string\",\"options\":{\"property1\":\"string\",\"property2\":\"string\"},\"attributeDefs\":[{\"name\":\"string\",\"typeName\":\"string\",\"isOptional\":true,\"cardinality\":\"SINGLE\",\"valuesMinCount\":0,\"valuesMaxCount\":0,\"isUnique\":true,\"isIndexable\":true,\"includeInNotification\":true,\"defaultValue\":\"string\",\"description\":\"string\",\"searchWeight\":0,\"indexType\":\"DEFAULT\",\"constraints\":[{\"type\":\"string\",\"params\":{\"property1\":{},\"property2\":{}}}],\"options\":{\"property1\":\"string\",\"property2\":\"string\"},\"displayName\":\"string\"}],\"superTypes\":[\"string\"],\"entityTypes\":[\"string\"],\"subTypes\":[\"string\"]}]"); + Request request = new Request.Builder() + .url("https://psrc-00000.region.provider.confluent.cloud/catalog/v1/types/tagdefs") + .post(body) + .addHeader("content-type", "application/json") + .build(); + + Response response = client.newCall(request).execute(); + - lang: Go + source: "package main\n\nimport (\n\t\"fmt\"\n\t\"strings\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://psrc-00000.region.provider.confluent.cloud/catalog/v1/types/tagdefs\"\n\n\tpayload := strings.NewReader(\"[{\\\"category\\\":\\\"PRIMITIVE\\\",\\\"guid\\\":\\\"string\\\",\\\"createdBy\\\":\\\"string\\\",\\\"updatedBy\\\":\\\"string\\\",\\\"createTime\\\":0,\\\"updateTime\\\":0,\\\"version\\\":0,\\\"name\\\":\\\"string\\\",\\\"description\\\":\\\"string\\\",\\\"typeVersion\\\":\\\"string\\\",\\\"serviceType\\\":\\\"string\\\",\\\"options\\\":{\\\"property1\\\":\\\"string\\\",\\\"property2\\\":\\\"string\\\"},\\\"attributeDefs\\\":[{\\\"name\\\":\\\"string\\\",\\\"typeName\\\":\\\"string\\\",\\\"isOptional\\\":true,\\\"cardinality\\\":\\\"SINGLE\\\",\\\"valuesMinCount\\\":0,\\\"valuesMaxCount\\\":0,\\\"isUnique\\\":true,\\\"isIndexable\\\":true,\\\"includeInNotification\\\":true,\\\"defaultValue\\\":\\\"string\\\",\\\"description\\\":\\\"string\\\",\\\"searchWeight\\\":0,\\\"indexType\\\":\\\"DEFAULT\\\",\\\"constraints\\\":[{\\\"type\\\":\\\"string\\\",\\\"params\\\":{\\\"property1\\\":{},\\\"property2\\\":{}}}],\\\"options\\\":{\\\"property1\\\":\\\"string\\\",\\\"property2\\\":\\\"string\\\"},\\\"displayName\\\":\\\"string\\\"}],\\\"superTypes\\\":[\\\"string\\\"],\\\"entityTypes\\\":[\\\"string\\\"],\\\"subTypes\\\":[\\\"string\\\"]}]\")\n\n\treq, _ := http.NewRequest(\"POST\", url, payload)\n\n\treq.Header.Add(\"content-type\", \"application/json\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}" + - lang: Python + source: |- + import http.client + + conn = http.client.HTTPSConnection("psrc-00000.region.provider.confluent.cloud") + + payload = "[{\"category\":\"PRIMITIVE\",\"guid\":\"string\",\"createdBy\":\"string\",\"updatedBy\":\"string\",\"createTime\":0,\"updateTime\":0,\"version\":0,\"name\":\"string\",\"description\":\"string\",\"typeVersion\":\"string\",\"serviceType\":\"string\",\"options\":{\"property1\":\"string\",\"property2\":\"string\"},\"attributeDefs\":[{\"name\":\"string\",\"typeName\":\"string\",\"isOptional\":true,\"cardinality\":\"SINGLE\",\"valuesMinCount\":0,\"valuesMaxCount\":0,\"isUnique\":true,\"isIndexable\":true,\"includeInNotification\":true,\"defaultValue\":\"string\",\"description\":\"string\",\"searchWeight\":0,\"indexType\":\"DEFAULT\",\"constraints\":[{\"type\":\"string\",\"params\":{\"property1\":{},\"property2\":{}}}],\"options\":{\"property1\":\"string\",\"property2\":\"string\"},\"displayName\":\"string\"}],\"superTypes\":[\"string\"],\"entityTypes\":[\"string\"],\"subTypes\":[\"string\"]}]" + + headers = { 'content-type': "application/json" } + + conn.request("POST", "/catalog/v1/types/tagdefs", payload, headers) + + res = conn.getresponse() + data = res.read() + + print(data.decode("utf-8")) + - lang: Node + source: |- + const http = require("https"); + + const options = { + "method": "POST", + "hostname": "psrc-00000.region.provider.confluent.cloud", + "port": null, + "path": "/catalog/v1/types/tagdefs", + "headers": { + "content-type": "application/json" + } + }; + + const req = http.request(options, function (res) { + const chunks = []; + + res.on("data", function (chunk) { + chunks.push(chunk); + }); + + res.on("end", function () { + const body = Buffer.concat(chunks); + console.log(body.toString()); + }); + }); + + req.write(JSON.stringify([ + { + category: 'PRIMITIVE', + guid: 'string', + createdBy: 'string', + updatedBy: 'string', + createTime: 0, + updateTime: 0, + version: 0, + name: 'string', + description: 'string', + typeVersion: 'string', + serviceType: 'string', + options: {property1: 'string', property2: 'string'}, + attributeDefs: [ + { + name: 'string', + typeName: 'string', + isOptional: true, + cardinality: 'SINGLE', + valuesMinCount: 0, + valuesMaxCount: 0, + isUnique: true, + isIndexable: true, + includeInNotification: true, + defaultValue: 'string', + description: 'string', + searchWeight: 0, + indexType: 'DEFAULT', + constraints: [{type: 'string', params: {property1: {}, property2: {}}}], + options: {property1: 'string', property2: 'string'}, + displayName: 'string' + } + ], + superTypes: ['string'], + entityTypes: ['string'], + subTypes: ['string'] + } + ])); + req.end(); + - lang: C + source: |- + CURL *hnd = curl_easy_init(); + + curl_easy_setopt(hnd, CURLOPT_CUSTOMREQUEST, "POST"); + curl_easy_setopt(hnd, CURLOPT_URL, "https://psrc-00000.region.provider.confluent.cloud/catalog/v1/types/tagdefs"); + + struct curl_slist *headers = NULL; + headers = curl_slist_append(headers, "content-type: application/json"); + curl_easy_setopt(hnd, CURLOPT_HTTPHEADER, headers); + + curl_easy_setopt(hnd, CURLOPT_POSTFIELDS, "[{\"category\":\"PRIMITIVE\",\"guid\":\"string\",\"createdBy\":\"string\",\"updatedBy\":\"string\",\"createTime\":0,\"updateTime\":0,\"version\":0,\"name\":\"string\",\"description\":\"string\",\"typeVersion\":\"string\",\"serviceType\":\"string\",\"options\":{\"property1\":\"string\",\"property2\":\"string\"},\"attributeDefs\":[{\"name\":\"string\",\"typeName\":\"string\",\"isOptional\":true,\"cardinality\":\"SINGLE\",\"valuesMinCount\":0,\"valuesMaxCount\":0,\"isUnique\":true,\"isIndexable\":true,\"includeInNotification\":true,\"defaultValue\":\"string\",\"description\":\"string\",\"searchWeight\":0,\"indexType\":\"DEFAULT\",\"constraints\":[{\"type\":\"string\",\"params\":{\"property1\":{},\"property2\":{}}}],\"options\":{\"property1\":\"string\",\"property2\":\"string\"},\"displayName\":\"string\"}],\"superTypes\":[\"string\"],\"entityTypes\":[\"string\"],\"subTypes\":[\"string\"]}]"); + + CURLcode ret = curl_easy_perform(hnd); + - lang: C# + source: |- + var client = new RestClient("https://psrc-00000.region.provider.confluent.cloud/catalog/v1/types/tagdefs"); + var request = new RestRequest(Method.POST); + request.AddHeader("content-type", "application/json"); + request.AddParameter("application/json", "[{\"category\":\"PRIMITIVE\",\"guid\":\"string\",\"createdBy\":\"string\",\"updatedBy\":\"string\",\"createTime\":0,\"updateTime\":0,\"version\":0,\"name\":\"string\",\"description\":\"string\",\"typeVersion\":\"string\",\"serviceType\":\"string\",\"options\":{\"property1\":\"string\",\"property2\":\"string\"},\"attributeDefs\":[{\"name\":\"string\",\"typeName\":\"string\",\"isOptional\":true,\"cardinality\":\"SINGLE\",\"valuesMinCount\":0,\"valuesMaxCount\":0,\"isUnique\":true,\"isIndexable\":true,\"includeInNotification\":true,\"defaultValue\":\"string\",\"description\":\"string\",\"searchWeight\":0,\"indexType\":\"DEFAULT\",\"constraints\":[{\"type\":\"string\",\"params\":{\"property1\":{},\"property2\":{}}}],\"options\":{\"property1\":\"string\",\"property2\":\"string\"},\"displayName\":\"string\"}],\"superTypes\":[\"string\"],\"entityTypes\":[\"string\"],\"subTypes\":[\"string\"]}]", ParameterType.RequestBody); + IRestResponse response = client.Execute(request); + '/catalog/v1/types/tagdefs/{tagName}': + get: + summary: Read Tag Definition + description: |- + [![Generally Available](https://img.shields.io/badge/Lifecycle%20Stage-Generally%20Available-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + Get the tag definition with the given name. + operationId: getTagDefByName + parameters: + - name: tagName + in: path + description: The name of the tag definiton + required: true + schema: + type: string + tags: + - Types (v1) + responses: + '200': + description: The tag definition + content: + application/json: + schema: + $ref: '#/components/schemas/TagDef' + '400': + description: Bad Request + '404': + description: Tag definition not found + '429': + description: Rate Limit Error + '500': + description: Internal Server Error + x-codeSamples: + - lang: Shell + source: |- + curl --request GET \ + --url 'https://psrc-00000.region.provider.confluent.cloud/catalog/v1/types/tagdefs/{tagName}' + - lang: Java + source: |- + OkHttpClient client = new OkHttpClient(); + + Request request = new Request.Builder() + .url("https://psrc-00000.region.provider.confluent.cloud/catalog/v1/types/tagdefs/{tagName}") + .get() + .build(); + + Response response = client.newCall(request).execute(); + - lang: Go + source: "package main\n\nimport (\n\t\"fmt\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://psrc-00000.region.provider.confluent.cloud/catalog/v1/types/tagdefs/{tagName}\"\n\n\treq, _ := http.NewRequest(\"GET\", url, nil)\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}" + - lang: Python + source: |- + import http.client + + conn = http.client.HTTPSConnection("psrc-00000.region.provider.confluent.cloud") + + conn.request("GET", "/catalog/v1/types/tagdefs/{tagName}") + + res = conn.getresponse() + data = res.read() + + print(data.decode("utf-8")) + - lang: Node + source: |- + const http = require("https"); + + const options = { + "method": "GET", + "hostname": "psrc-00000.region.provider.confluent.cloud", + "port": null, + "path": "/catalog/v1/types/tagdefs/{tagName}", + "headers": {} + }; + + const req = http.request(options, function (res) { + const chunks = []; + + res.on("data", function (chunk) { + chunks.push(chunk); + }); + + res.on("end", function () { + const body = Buffer.concat(chunks); + console.log(body.toString()); + }); + }); + + req.end(); + - lang: C + source: |- + CURL *hnd = curl_easy_init(); + + curl_easy_setopt(hnd, CURLOPT_CUSTOMREQUEST, "GET"); + curl_easy_setopt(hnd, CURLOPT_URL, "https://psrc-00000.region.provider.confluent.cloud/catalog/v1/types/tagdefs/{tagName}"); + + CURLcode ret = curl_easy_perform(hnd); + - lang: C# + source: |- + var client = new RestClient("https://psrc-00000.region.provider.confluent.cloud/catalog/v1/types/tagdefs/{tagName}"); + var request = new RestRequest(Method.GET); + IRestResponse response = client.Execute(request); + delete: + summary: Delete Tag Definition + description: |- + [![Generally Available](https://img.shields.io/badge/Lifecycle%20Stage-Generally%20Available-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + Delete API for tag definition identified by its name. + operationId: deleteTagDef + parameters: + - name: tagName + in: path + description: The name of the tag definition + required: true + schema: + type: string + tags: + - Types (v1) + responses: + '204': + description: No Content + '400': + description: Bad Request + '429': + description: Rate Limit Error + '500': + description: Internal Server Error + x-codeSamples: + - lang: Shell + source: |- + curl --request DELETE \ + --url 'https://psrc-00000.region.provider.confluent.cloud/catalog/v1/types/tagdefs/{tagName}' + - lang: Java + source: |- + OkHttpClient client = new OkHttpClient(); + + Request request = new Request.Builder() + .url("https://psrc-00000.region.provider.confluent.cloud/catalog/v1/types/tagdefs/{tagName}") + .delete(null) + .build(); + + Response response = client.newCall(request).execute(); + - lang: Go + source: "package main\n\nimport (\n\t\"fmt\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://psrc-00000.region.provider.confluent.cloud/catalog/v1/types/tagdefs/{tagName}\"\n\n\treq, _ := http.NewRequest(\"DELETE\", url, nil)\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}" + - lang: Python + source: |- + import http.client + + conn = http.client.HTTPSConnection("psrc-00000.region.provider.confluent.cloud") + + conn.request("DELETE", "/catalog/v1/types/tagdefs/{tagName}") + + res = conn.getresponse() + data = res.read() + + print(data.decode("utf-8")) + - lang: Node + source: |- + const http = require("https"); + + const options = { + "method": "DELETE", + "hostname": "psrc-00000.region.provider.confluent.cloud", + "port": null, + "path": "/catalog/v1/types/tagdefs/{tagName}", + "headers": {} + }; + + const req = http.request(options, function (res) { + const chunks = []; + + res.on("data", function (chunk) { + chunks.push(chunk); + }); + + res.on("end", function () { + const body = Buffer.concat(chunks); + console.log(body.toString()); + }); + }); + + req.end(); + - lang: C + source: |- + CURL *hnd = curl_easy_init(); + + curl_easy_setopt(hnd, CURLOPT_CUSTOMREQUEST, "DELETE"); + curl_easy_setopt(hnd, CURLOPT_URL, "https://psrc-00000.region.provider.confluent.cloud/catalog/v1/types/tagdefs/{tagName}"); + + CURLcode ret = curl_easy_perform(hnd); + - lang: C# + source: |- + var client = new RestClient("https://psrc-00000.region.provider.confluent.cloud/catalog/v1/types/tagdefs/{tagName}"); + var request = new RestRequest(Method.DELETE); + IRestResponse response = client.Execute(request); diff --git a/providers/src/confluent/v00.00.00000/services/connect.yaml b/providers/src/confluent/v00.00.00000/services/connect.yaml new file mode 100644 index 00000000..ff98151a --- /dev/null +++ b/providers/src/confluent/v00.00.00000/services/connect.yaml @@ -0,0 +1,7956 @@ +openapi: 3.0.0 +servers: + - url: 'https://api.confluent.cloud' + description: Confluent Cloud API +info: + version: '' + contact: + name: Confluent Cloud + url: 'https://www.confluent.io/cloud-contact-us/' + email: support@confluent.io + x-api-id: 46234552-5833-42eb-ba0f-883ad3f70d2b + x-audience: external-public + x-logo: + url: 'https://assets.confluent.io/m/5ec23aa91903c00b/' + title: Confluent Cloud APIs - connect + description: connect +tags: + - name: API Keys (iam/v2) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + `ApiKey` objects represent access to different parts of Confluent Cloud. Some types + of API keys represent access to a single cluster/resource such as a Kafka cluster, + Schema Registry cluster or a ksqlDB cluster. Cloud API Keys represent access to resources within an organization + that are not tied to a specific cluster, such as the Org API, IAM API, Metrics API or Connect API. + + The API allows you to list, create, update and delete your API Keys. + + + Related guide: [API Keys in Confluent Cloud](https://docs.confluent.io/cloud/current/client-apps/api-keys.html). + + ## The API Keys Model + + + ## Quotas and Limits + This resource is subject to the [following quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): + + | Quota | Description | + | --- | --- | + | `apikeys_per_org` | API Keys in one Confluent Cloud organization | + - name: Environments (org/v2) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + `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](https://docs.confluent.io/cloud/current/access-management/environments.html). + + ## The Environments Model + + + ## Quotas and Limits + This resource is subject to the [following quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): + + | Quota | Description | + | --- | --- | + | `environments_per_org` | Environments in one Confluent Cloud organization | + - name: Organizations (org/v2) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + `Organization` objects represent a customer organization. An organization contains all customer + resources (e.g., Environments, Kafka Clusters, Service Accounts, API Keys) and is tied to a billing + agreement (including any annual commitment or support plan). + + The API allows you to list, view, and update your organizations. + + + Related guide: [Organizations for Confluent Cloud](https://docs.confluent.io/cloud/current/access-management/hierarchy/organizations/cloud-organization.html). + + ## The Organizations Model + + + ## Quotas and Limits + This resource is subject to the [following quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): + + | Quota | Description | + | --- | --- | + | `organizations_per_user` | Confluent Cloud organizations a user belongs to | + - name: Users (iam/v2) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + `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](https://docs.confluent.io/cloud/current/access-management/user-account.html). + + ## The Users Model + + + ## Quotas and Limits + This resource is subject to the [following quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): + + | Quota | Description | + | --- | --- | + | `users_per_org` | Users in one Confluent Cloud organization | + - name: Service Accounts (iam/v2) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + `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](https://docs.confluent.io/cloud/current/access-management/service-account.html). + + ## The Service Accounts Model + + + ## Quotas and Limits + This resource is subject to the [following quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): + + | Quota | Description | + | --- | --- | + | `service_accounts_per_org` | Service Accounts in one Confluent Cloud organization | + - name: Invitations (iam/v2) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + `Invitation` objects represent invitations to invite users to join your organizations in Confluent Cloud. + + The API allows you to list all your invitations, as well as create, read, and delete a specified invitation. + + + Related guide: [User invitations in Confluent Cloud](https://docs.confluent.io/cloud/current/access-management/identity/user-accounts.html). + + ## The Invitations Model + + + ## Quotas and Limits + This resource is subject to the [following quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): + + | Quota | Description | + | --- | --- | + | `invitations_per_org` | Invitations in a Confluent Cloud organization | + - name: IP Groups (iam/v2) + description: |- + [![Limited Availability](https://img.shields.io/badge/Lifecycle%20Stage-Limited%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) [![Request Access To IP Groups API](https://img.shields.io/badge/-Request%20Access%20To%20IP%20Groups%20API-%23bc8540)](mailto:cloud-support@confluent.io?subject=Request%20to%20join%20IP%20Filtering%20API%20Limited%20Access&body=I%E2%80%99d%20like%20to%20join%20the%20Confluent%20Cloud%20API%20Limited%20Access%20for%20IP%20Filtering.%0AMy%20Cloud%20Organization%20ID%20is%20%3Cretrieve%20from%20https%3A//confluent.cloud/settings/billing/payment%3E.%0A) + + Definitions of networks which can be named and referred by IP blocks, commonly used to attach to IP Filter rules. + + + ## The IP Groups Model + + - name: IP Filters (iam/v2) + description: |- + [![Limited Availability](https://img.shields.io/badge/Lifecycle%20Stage-Limited%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) [![Request Access To IP Filters API](https://img.shields.io/badge/-Request%20Access%20To%20IP%20Filters%20API-%23bc8540)](mailto:ccloud-api-access+iam-v2-limited-availability@confluent.io?subject=Request%20to%20join%20iam/v2%20API%20Limited%20Availability&body=I%E2%80%99d%20like%20to%20join%20the%20Confluent%20Cloud%20API%20Limited%20Availability%20for%20iam/v2%20to%20provide%20early%20feedback%21%20My%20Cloud%20Organization%20ID%20is%20%3Cretrieve%20from%20https%3A//confluent.cloud/settings/billing/payment%3E.) + + `IP Filter` objects are bindings between IP Groups and Confluent resource(s). + For example, a binding between "CorpNet" and "Management APIs" will enforce that + access must come from one of the CIDR blocks associated with CorpNet. + If there are multiple IP filters bound to a resource, a request matching any of the CIDR blocks + for any of the IP Group will allow the request. + If there are no IP Filters for a resource, then access will be granted to requests originating + from any IP Address. + + + ## The IP Filters Model + + - name: Role Bindings (iam/v2) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + A role binding grants a Principal a role on resources that match a pattern. + + The API allows you to perform create, delete, and list operations on role bindings. + + + Related guide: [Role-Based Access Control (RBAC)](https://docs.confluent.io/cloud/current/access-management/access-control/cloud-rbac.html). + + ## The Role Bindings Model + + - name: Subscriptions (notifications/v1) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + `Subscription` objects represent the intent of the customers to get notifications of particular types. + A subscription is created for a particular `NotificationType` and the user will get notifications on the + `Integrations` that are provided while creating the subscription. + + This API allows you to create, retrieve, and update subscriptions, + as well as to view the list of all your subscriptions. You can also delete subscriptions + with RECOMMENDED or OPTIONAL notification types. Subscriptions with REQUIRED notification types cannot be deleted. + + + Related guide: [Cloud Notifications](https://docs.confluent.io/cloud/current/monitoring/configure-notifications.html#notifications-for-ccloud). + + ## The Subscriptions Model + + - name: Integrations (notifications/v1) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + You can create an `Integration` to specify how we can notify you when we receive an alert/notification for + a subscription. Please note that you can only perform create, update and delete operations for integrations + of type `Webhook`, `Slack` and `MsTeams`. You cannot create, update or delete integrations of type `RoleEmail` + and `UserEmail`. + + + Related guide: [Cloud Notifications](https://docs.confluent.io/cloud/current/monitoring/configure-notifications.html#notifications-for-ccloud). + + ## The Integrations Model + + + ## Quotas and Limits + This resource is subject to the [following quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): + + | Quota | Description | + | --- | --- | + | `integrations_per_org` | Maximum number of integrations in one Confluent Cloud organization | + - name: Notification Types (notifications/v1) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + The type of notifications (and their corresponding metadata) supported by Confluent. + + + Related guide: [Cloud Notifications](https://docs.confluent.io/cloud/current/monitoring/configure-notifications.html#notifications-for-ccloud). + + ## The Notification Types Model + + - name: Clusters (cmk/v2) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + `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](https://docs.confluent.io/cloud/current/clusters/cluster-api.html). + + ## The Clusters Model + + + ## Quotas and Limits + This resource is subject to the [following quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): + + | Quota | Description | + | --- | --- | + | `kafka_clusters_per_environment` | Number of clusters in one Confluent Cloud environment | + - name: Clusters (ksqldbcm/v2) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + `Cluster` represents a ksqlDB runtime that you can issue queries to using its API endpoint. + It executes SQL statements and queries which under the hood get built into corresponding + Kafka Streams topologies. The API allows you to list, create, read, and delete your ksqlDB clusters. + + + Related guide: [ksqlDB in Confluent Cloud](https://docs.confluent.io/cloud/current/ksqldb/ksqldb-cluster-api.html). + + ## The Clusters Model + + + ## Quotas and Limits + This resource is subject to the following quotas: + + | Quota | Description | + | --- | --- | + | `ksql.limits.max_apps_per_cluster` | Clusters in one Confluent Cloud Kafka Cluster. | + - name: Connectors (connect/v1) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + API for Managed Connectors or Custom Connectors in Confluent Cloud. + + The API allows you to list, create, get, update and delete a Managed Connector or Custom Connector in Confluent Cloud. + + Connect metrics are available through the [Metrics v2 API](https://api.telemetry.confluent.cloud/docs#tag/Version-2). + + Related guide: [Confluent Cloud API and Managed Connectors](https://docs.confluent.io/cloud/current/connectors/connect-api-section.html). + - name: Lifecycle (connect/v1) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + API for managing the lifecycle for a Managed Connector or Custom Connector in Confluent Cloud. Operations currently supported are Pause and Resume. + - name: Status (connect/v1) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + API for requesting the status or the tasks for a Managed Connector or Custom Connector in Confluent Cloud. + - name: Managed Connector Plugins (connect/v1) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + API for Managed connectors in Confluent Cloud. + - name: Offsets (connect/v1) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + API for managing the offsets for a Managed Connector. + + Related guide: [Manage Connector Offsets](https://docs.confluent.io/cloud/current/connectors/offsets.html#manage-offsets-for-fully-managed-connectors-in-ccloud) + - name: Custom Connector Plugins (connect/v1) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + CustomConnectorPlugins objects represent Custom Connector Plugins on Confluent Cloud. + The API allows you to list, create, read, update, and delete your Custom Connector Plugins. + Related guide: + [Custom Connector Plugin API](https://docs.confluent.io/cloud/current/connectors/connect-api-section.html). + + + ## The Custom Connector Plugins Model + + - name: Presigned Urls (connect/v1) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + Request a presigned upload URL for new Custom Connector Plugin. Note that + the URL policy expires in one hour. If the policy expires, you can request + a new presigned upload URL. + + Related guide: + [Custom Connector Plugin API](https://docs.confluent.io/cloud/current/connectors/connect-api-section.html). + + + ## The Presigned Urls Model + + - name: Cluster (v3) + description: '[![Generally Available](https://img.shields.io/badge/Lifecycle%20Stage-Generally%20Available-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy)' + - name: Configs (v3) + description: '[![Generally Available](https://img.shields.io/badge/Lifecycle%20Stage-Generally%20Available-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy)' + - name: ACL (v3) + description: '[![Generally Available](https://img.shields.io/badge/Lifecycle%20Stage-Generally%20Available-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy)' + - name: Consumer Group (v3) + description: '[![Generally Available](https://img.shields.io/badge/Lifecycle%20Stage-Generally%20Available-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy)' + - name: Partition (v3) + description: '[![Generally Available](https://img.shields.io/badge/Lifecycle%20Stage-Generally%20Available-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy)' + - name: Topic (v3) + description: '[![Generally Available](https://img.shields.io/badge/Lifecycle%20Stage-Generally%20Available-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy)' + - name: Records (v3) + description: '[![Generally Available](https://img.shields.io/badge/Lifecycle%20Stage-Generally%20Available-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy)' + - name: Cluster Linking (v3) + description: '[![Generally Available](https://img.shields.io/badge/Lifecycle%20Stage-Generally%20Available-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy)' + - name: Applied Quotas (service-quota/v1) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + A `quota` object represents a quota configuration for a specific Confluent Cloud resource. + Use this API to retrieve an individual quota or list of quotas for a given scope. + + + Related guide: [Service Quotas for Confluent Cloud](https://docs.confluent.io/cloud/current/quotas/index.html). + + ## The Applied Quotas Model + + - name: Scopes (service-quota/v1) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + Gets a list of all available scopes for applied quotas. + + + Related guide: [Quota Scopes](https://docs.confluent.io/cloud/current/quotas/quotas.html#query-for-scopes). + + ## The Scopes Model + + - name: Entitlements (partner/v2) + description: | + [![Early Access](https://img.shields.io/badge/Lifecycle%20Stage-Early%20Access-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) [![Request Access To Partner v2](https://img.shields.io/badge/-Request%20Access%20To%20Partner%20v2-%23bc8540)](mailto:ccloud-api-access+partner-v2-early-access@confluent.io?subject=Request%20to%20join%20partner/v2%20API%20Early%20Access&body=I%E2%80%99d%20like%20to%20join%20the%20Confluent%20Cloud%20API%20Early%20Access%20for%20partner/v2%20to%20provide%20early%20feedback%21%20My%20Cloud%20Organization%20ID%20is%20%3Cretrieve%20from%20https%3A//confluent.cloud/settings/billing/payment%3E.) + + `Entitlement` objects represent metadata about a marketplace entitlement. + + An entitlement includes metadata about a marketplace purchase + (start date, end date, billing information, partner IDs, etc). + The API allows partners to create, read, and list entitlements. (Unless you + need entitlement creation and customer registration to be separate, + we recommend using the Signup API to create an organization and entitlement + at the same time) + + The API only allows authorized partners to interact with the Entitlements API. + - name: Regions (srcm/v2) + description: |- + [![Deprecated](https://img.shields.io/badge/Lifecycle%20Stage-Deprecated-%23ff005c)](#section/Versioning/API-Lifecycle-Policy) + + `Region` objects represent cloud provider regions available when placing Schema Registry clusters. + The API allows you to list Schema Registry regions. + + + Related guides: + * [Confluent Cloud providers and region support](https://docs.confluent.io/cloud/current/stream-governance/packages.html#cloud-providers-and-region-support). + * [srcm/v3 Migration Guide](https://docs.confluent.io/cloud/current/stream-governance/packages.html#deprecation-of-srcm-v2-clusters-and-regions-apis-and-upgrade-guide). + + + ## The Regions Model + + - name: Clusters (srcm/v2) + description: |- + [![Deprecated](https://img.shields.io/badge/Lifecycle%20Stage-Deprecated-%23ff005c)](#section/Versioning/API-Lifecycle-Policy) + + `Clusters` objects represent Schema Registry Clusters on Confluent Cloud. + + The API allows you to list, create, read, and delete your Schema Registry clusters. + + + Related guides: + * [Confluent Cloud Schema Registry Cluster APIs](https://docs.confluent.io/cloud/current/stream-governance/clusters-regions-api.html#schema-registry-cluster-management). + * [srcm/v3 Migration Guide](https://docs.confluent.io/cloud/current/stream-governance/packages.html#deprecation-of-srcm-v2-clusters-and-regions-apis-and-upgrade-guide). + + + ## The Clusters Model + + - name: Clusters (srcm/v3) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + `Clusters` objects represent Schema Registry Clusters on Confluent Cloud. + + The API allows you to list and read your Schema Registry clusters. + + + Related guide: [Confluent Cloud Schema Registry Cluster APIs](https://docs.confluent.io/cloud/current/stream-governance/clusters-regions-api.html#schema-registry-cluster-management). + + ## The Clusters Model + + - name: Compatibility (v1) + description: |- + [![Generally Available](https://img.shields.io/badge/Lifecycle%20Stage-Generally%20Available-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + The API allows you to test schema compatibility. + + Related guide: [Manage Schemas in Confluent Cloud](https://docs.confluent.io/cloud/current/sr/schemas-manage.html#manage-schemas-in-ccloud). + - name: Config (v1) + description: |- + [![Generally Available](https://img.shields.io/badge/Lifecycle%20Stage-Generally%20Available-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + The API allows you to manage and query schema compatibility settings and cluster configurations. + + Related guide: [Manage Schemas in Confluent Cloud](https://docs.confluent.io/cloud/current/sr/schemas-manage.html#manage-schemas-in-ccloud). + - name: Contexts (v1) + description: |- + [![Generally Available](https://img.shields.io/badge/Lifecycle%20Stage-Generally%20Available-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + The API allows you to retrieve information about schema contexts. + + Related guide: [Manage Schemas in Confluent Cloud](https://docs.confluent.io/cloud/current/sr/schemas-manage.html#manage-schemas-in-ccloud). + - name: Exporters (v1) + description: |- + [![Generally Available](https://img.shields.io/badge/Lifecycle%20Stage-Generally%20Available-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + The API allows you to create, retrieve, update, and delete exporters. + + Related guide: [Manage Schemas in Confluent Cloud](https://docs.confluent.io/cloud/current/sr/schemas-manage.html#manage-schemas-in-ccloud). + - name: Modes (v1) + description: |- + [![Generally Available](https://img.shields.io/badge/Lifecycle%20Stage-Generally%20Available-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + The API allows you to create, retrieve, update, and delete schema subjects modes of operation. + + Related guide: [Manage Schemas in Confluent Cloud](https://docs.confluent.io/cloud/current/sr/schemas-manage.html#manage-schemas-in-ccloud). + - name: Schemas (v1) + description: |- + [![Generally Available](https://img.shields.io/badge/Lifecycle%20Stage-Generally%20Available-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + The API allows you to create, retrieve, update, and delete schemas. + + Related guide: [Manage Schemas in Confluent Cloud](https://docs.confluent.io/cloud/current/sr/schemas-manage.html#manage-schemas-in-ccloud). + - name: Subjects (v1) + description: |- + [![Generally Available](https://img.shields.io/badge/Lifecycle%20Stage-Generally%20Available-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + The API allows you to create, retrieve, update, and delete schema subjects and versions. + + Related guide: [Manage Schemas in Confluent Cloud](https://docs.confluent.io/cloud/current/sr/schemas-manage.html#manage-schemas-in-ccloud). + - name: Key Encryption Keys (v1) + description: |- + [![Generally Available](https://img.shields.io/badge/Lifecycle%20Stage-Generally%20Available-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + The API allows you to create, retrieve, update, and delete key encryption keys. + + Related guide: [Manage Schemas in Confluent Cloud](https://docs.confluent.io/cloud/current/sr/schemas-manage.html#manage-schemas-in-ccloud). + - name: Data Encryption Keys (v1) + description: |- + [![Generally Available](https://img.shields.io/badge/Lifecycle%20Stage-Generally%20Available-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + The API allows you to create, retrieve, update, and delete data encryption keys. + + Related guide: [Manage Schemas in Confluent Cloud](https://docs.confluent.io/cloud/current/sr/schemas-manage.html#manage-schemas-in-ccloud). + - name: Entity (v1) + description: |- + [![Generally Available](https://img.shields.io/badge/Lifecycle%20Stage-Generally%20Available-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + The API allows you to create, retrieve, update, and delete catalog entities. + + Related guide: [Catalog API Documentation](https://docs.confluent.io/cloud/current/stream-governance/stream-catalog.html#catalog-api-documentation). + - name: Search (v1) + description: |- + [![Generally Available](https://img.shields.io/badge/Lifecycle%20Stage-Generally%20Available-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + The API allows you to search for entities. + + Related guide: [Catalog API Documentation](https://docs.confluent.io/cloud/current/stream-governance/stream-catalog.html#catalog-api-documentation). + - name: Types (v1) + description: |- + [![Generally Available](https://img.shields.io/badge/Lifecycle%20Stage-Generally%20Available-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + The API allows you to create, retrieve, update, and delete catalog types such as tag definitions. + + Related guide: [Catalog API Documentation](https://docs.confluent.io/cloud/current/stream-governance/stream-catalog.html#catalog-api-documentation). + - name: Provider Shared Resources (cdx/v1) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + `ProviderSharedResource` object contains details of the data stream + (topic, schema registry subjects, sharing metadata) that you have shared through Stream Sharing. + + + ## The Provider Shared Resources Model + + - name: Provider Shares (cdx/v1) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + `ProviderShare` object respresents the share that you have created through Stream Sharing. + + + Related guide: [Provider Stream Shares in Confluent Cloud](https://docs.confluent.io/cloud/current/stream-sharing/produce-shared-data.html#stream-shares). + + ## The Provider Shares Model + + - name: Consumer Shared Resources (cdx/v1) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + `ConsumerSharedResource` object contains details of the data stream + (topic, schema registry subjects, sharing metadata) that you received through Stream Sharing. + + + ## The Consumer Shared Resources Model + + - name: Consumer Shares (cdx/v1) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + `ConsumerShare` object respresents the share that you received through Stream Sharing. + + + Related guide: [Consumer Stream Shares in Confluent Cloud](https://docs.confluent.io/cloud/current/stream-sharing/consume-shared-data.html). + + ## The Consumer Shares Model + + - name: Shared Tokens (cdx/v1) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + Encrypted Token shared with consumer + + + ## The Shared Tokens Model + + - name: Opt Ins (cdx/v1) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + Stream sharing opt in options + + ## The Opt Ins Model + + - name: Organizations (partner/v2) + description: | + [![Early Access](https://img.shields.io/badge/Lifecycle%20Stage-Early%20Access-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) [![Request Access To Partner v2](https://img.shields.io/badge/-Request%20Access%20To%20Partner%20v2-%23bc8540)](mailto:ccloud-api-access+partner-v2-early-access@confluent.io?subject=Request%20to%20join%20partner/v2%20API%20Early%20Access&body=I%E2%80%99d%20like%20to%20join%20the%20Confluent%20Cloud%20API%20Early%20Access%20for%20partner/v2%20to%20provide%20early%20feedback%21%20My%20Cloud%20Organization%20ID%20is%20%3Cretrieve%20from%20https%3A//confluent.cloud/settings/billing/payment%3E.) + + `Organizations` objects represent an entire Confluent Cloud organization. + Partners are allowed to get an organization they have signed up or + list all organizations they have signed up. + - name: Signup (partner/v2) + description: | + [![Early Access](https://img.shields.io/badge/Lifecycle%20Stage-Early%20Access-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) [![Request Access To Partner v2](https://img.shields.io/badge/-Request%20Access%20To%20Partner%20v2-%23bc8540)](mailto:ccloud-api-access+partner-v2-early-access@confluent.io?subject=Request%20to%20join%20partner/v2%20API%20Early%20Access&body=I%E2%80%99d%20like%20to%20join%20the%20Confluent%20Cloud%20API%20Early%20Access%20for%20partner/v2%20to%20provide%20early%20feedback%21%20My%20Cloud%20Organization%20ID%20is%20%3Cretrieve%20from%20https%3A//confluent.cloud/settings/billing/payment%3E.) + + `Signup` APIs can only be performed by partners. + - name: Networks (networking/v1) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + `Network` represents a network (VPC) in Confluent Cloud. All Networks exist within Confluent-managed cloud + provider accounts. Dedicated networks support more networking options but can only contain Dedicated clusters. + Shared networks can contain any cluster type. + + The API allows you to list, create, read, update, and delete your networks. + + + Related guide: [APIs to manage networks in Confluent Cloud](https://docs.confluent.io/cloud/current/networking/overview.html). + + ## The Networks Model + + + ## Quotas and Limits + This resource is subject to the [following quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): + + | Quota | Description | + | --- | --- | + | `dedicated_networks_per_environment` | Number of dedicated networks per Confluent Cloud environment | + - name: Peerings (networking/v1) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + Add or remove VPC/VNet peering connections between your VPC/VNet and Confluent Cloud. + + Related guides: + * [Use VPC peering connections with Confluent Cloud on AWS](https://docs.confluent.io/cloud/current/networking/peering/aws-peering.html). + * [Use VNet peering connections with Confluent Cloud on Azure](https://docs.confluent.io/cloud/current/networking/peering/azure-peering.html). + * [Use VPC peering connections with Confluent Cloud on Google Cloud](https://docs.confluent.io/cloud/current/networking/peering/gcp-peering.html). + + + ## The Peerings Model + + + ## Quotas and Limits + This resource is subject to the [following quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): + + | Quota | Description | + | --- | --- | + | `peerings_per_network` | Number of peerings per network | + - name: Transit Gateway Attachments (networking/v1) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + AWS Transit Gateway Attachments + + Related guide: [APIs to manage AWS Transit Gateway Attachments](https://docs.confluent.io/cloud/current/networking/aws-transit-gateway.html). + + ## The Transit Gateway Attachments Model + + + ## Quotas and Limits + This resource is subject to the [following quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): + + | Quota | Description | + | --- | --- | + | `tgw_attachments_per_network` | Number of TGW attachments per network | + - name: Private Link Accesses (networking/v1) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + Add or remove access to PrivateLink endpoints by AWS account, Azure subscription and GCP project ID. + + Related guides: + * [Use Google Cloud Private Service Connect with Confluent Cloud](https://docs.confluent.io/cloud/current/networking/private-links/gcp-private-service-connect.html). + * [Use Azure Private Link with Confluent Cloud](https://docs.confluent.io/cloud/current/networking/private-links/azure-privatelink.html). + * [Use AWS PrivateLink with Confluent Cloud](https://docs.confluent.io/cloud/current/networking/private-links/aws-privatelink.html). + + + ## The Private Link Accesses Model + + + ## Quotas and Limits + This resource is subject to the [following quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): + + | Quota | Description | + | --- | --- | + | `private_link_accounts_per_network` | Number of AWS accounts per network | + | `private_link_subscriptions_per_network` | Number of Azure subscriptions per network | + | `private_service_connect_projects_per_network` | Number of GCP projects per network | + - name: Network Link Services (networking/v1) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + Network Link Service is associated with a Private Link Confluent Cloud Network. + It enables connectivity from other Private Link Confluent Cloud Networks based on + the configured accept policies. + + + Related guide: [Network Linking Overview](https://docs.confluent.io/cloud/current/networking/network-linking.html). + + ## The Network Link Services Model + + + ## Quotas and Limits + This resource is subject to the [following quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): + + | Quota | Description | + | --- | --- | + | `network_link_service_per_network` | Number of network link services per network | + - name: Network Link Endpoints (networking/v1) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + A Network Link Enpoint is associated with a Private Link Confluent Cloud Network at the origin and a + Network Link Service (associated with another Private Link Confluent Cloud Network) at the target. + It enables connectivity between the origin network and the target network. + It can only be associated with a Private Link network. + + + Related guide: [Network Linking Overview](https://docs.confluent.io/cloud/current/networking/network-linking.html). + + ## The Network Link Endpoints Model + + + ## Quotas and Limits + This resource is subject to the [following quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): + + | Quota | Description | + | --- | --- | + | `network_link_endpoints_per_network` | Number of network link endpoints per network | + - name: Network Link Service Associations (networking/v1) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + List of incoming Network Link Enpoints associated with the Network Link Service. + + + Related guide: [Network Linking Overview](https://docs.confluent.io/cloud/current/networking/network-linking.html). + + ## The Network Link Service Associations Model + + - name: Gateways (networking/v1) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + A gateway is a resource that defines network access to Confluent cloud resources. + + + ## The Gateways Model + + - name: IP Addresses (networking/v1) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + IP Addresses + + Related guide: [Use Public Egress IP addresses on Confluent Cloud](https://docs.confluent.io/cloud/current/networking/static-egress-ip-addresses.html) + + ## The IP Addresses Model + + - name: Private Link Attachments (networking/v1) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + PrivateLink attachment objects represent reservations to establish PrivateLink connections + to a cloud region in order to access resources that belong to a Confluent Cloud Environment. + The API allows you to list, create, read update and delete your PrivateLink attachments. + + + ## The Private Link Attachments Model + + + ## Quotas and Limits + This resource is subject to the [following quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): + + | Quota | Description | + | --- | --- | + | `private_link_attachments_per_environment` | Number of PrivateLink Attachments per environment | + - name: Private Link Attachment Connections (networking/v1) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + PrivateLink attachment connection objects represent connections established to a cloud region + in order to access resources that belong to a Confluent Cloud Environment. + The API allows you to list, create, read update and delete your PrivateLink attachment connections. + + + ## The Private Link Attachment Connections Model + + - name: Identity Providers (iam/v2) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + `IdentityProvider` objects represent external OAuth-OIDC providers in Confluent Cloud. + + The API allows you to list, create, read, update, and delete your Identity Provider. + + + Related guide: [OAuth for Confluent Cloud](https://docs.confluent.io/cloud/current/access-management/authenticate/oauth/overview.html). + + ## The Identity Providers Model + + + ## Quotas and Limits + This resource is subject to the [following quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): + + | Quota | Description | + | --- | --- | + | `identity_providers_per_org` | Number of OAuth identity providers per organization | + | `public_keys_per_provider` | Number of public keys saved per identity provider | + - name: Jwks (iam/v2) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + `JWKS` objects represent public key sets for a specific OAuth/OpenID Connect provider within + Confluent Cloud. + + The API allows you to refresh JWKS public key data. + + + Related guide: [OAuth for Confluent Cloud](https://docs.confluent.io/cloud/current/access-management/authenticate/oauth/overview.html). + + ## The Jwks Model + + - name: Identity Pools (iam/v2) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + `IdentityPool` objects represent groups of identities tied to a given a `IdentityProvider` + that authorizes them to Confluent Cloud resources. + + It provides a mapping functionality of your `Identity Provider` user to a Confluent identity pool that + is then used to provide access to Confluent Resources. + + + Related guide: [Use identity pools with your OAuth provider](https://docs.confluent.io/cloud/current/access-management/authenticate/oauth/identity-pools.html). + + ## The Identity Pools Model + + + ## Quotas and Limits + This resource is subject to the [following quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): + + | Quota | Description | + | --- | --- | + | `identity_pools_per_provider` | Number of Identity Pools per Identity Provider | + - name: OAuth Tokens (sts/v1) + description: | + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + OAuth Token is a [JSON Web Token (JWT)](https://www.rfc-editor.org/rfc/rfc7519) that enables the use of + external identities to access Confluent Cloud APIs + - name: Client Quotas (kafka-quotas/v1) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + `ClientQuota` objects represent Client Quotas you can set at the service account level. + + The API allows you to list, create, read, update, and delete your client quotas. + + + Related guide: [Client Quotas in Confluent Cloud](https://docs.confluent.io/cloud/current/clusters/client-quotas.html). + + ## The Client Quotas Model + + - name: Pipelines (sd/v1) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + `Pipeline` objects represent information about a user-defined pipeline of Confluent Cloud components. + The pipeline's content is available separately. + + The API allows you to create, retrieve, update, and delete your pipelines, + as well as list all of your pipelines for the particular environment and Kafka cluster. + + + Related guide: [Pipelines in Confluent Cloud](https://docs.confluent.io/cloud/current/stream-designer/). + + ## The Pipelines Model + + + ## Quotas and Limits + This resource is subject to the [following quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): + + | Quota | Description | + | --- | --- | + | `pipelines_per_org` | Pipelines in one Confluent Cloud organization | + | `pipelines_per_cluster` | Pipelines in one Confluent Cloud Kafka cluster | + - name: Keys (byok/v1) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + `Key` objects represent customer managed keys on dedicated Confluent Cloud clusters. + + Keys are used to protect data at rest stored in your dedicated Confluent Cloud clusters on AWS, Azure, and GCP. + This API allows you to upload and retrieve self-managed keys on Confluent Cloud. + + + Related guide: [Confluent Cloud Bring Your Own Key (BYOK) Management API](https://docs.confluent.io/cloud/current/clusters/byok/index.html). + + ## The Keys Model + + + ## Quotas and Limits + This resource is subject to the [following quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): + + | Quota | Description | + | --- | --- | + | `byok.max_keys.per_org` | BYOK keys in one Confluent Cloud organisation. | + - name: Costs (billing/v1) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + `Cost` objects represent the aggregated billing costs for an organization + + + Related guide: [Retrieve costs for a range of dates](https://docs.confluent.io/cloud/current/billing/overview.html#retrieve-costs-for-a-range-of-dates). + + ## The Costs Model + + - name: Group Mappings (iam/v2/sso) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + `GroupMapping` objects establish relationships between user groups in your SSO + identity provider and specific RBAC roles in Confluent Cloud. + + Group mappings enable automated and secure access control to Confluent Cloud resources, + reducing administrative workload by streamlining user provisioning and authorization. + + + Related guide: [Use group mappings with your SSO identity provider](https://docs.confluent.io/cloud/current/access-management/authenticate/sso/group-mapping/overview.html). + + ## The Group Mappings Model + + + ## Quotas and Limits + This resource is subject to the [following quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): + + | Quota | Description | + | --- | --- | + | `group_mappings_per_org` | Number of group mappings per organization | + - name: Compute Pools (fcpm/v2) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + A Compute Pool represents a set of compute resources that is used to run your Queries. + The resources (CPUs, memory,…) provided by a Compute Pool are shared between all Queries that use it. + + + ## The Compute Pools Model + + - name: Regions (fcpm/v2) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + `Region` objects represent cloud provider regions available when placing Flink compute pools. + The API allows you to list Flink regions. + + + ## The Regions Model + + - name: Statements (sql/v1) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + `Statement` represents a core resource used to model SQL statements for execution. + A statement generalizes DDL, DML, DQL, etc., but doesn’t attempt to handle session + management or any higher-level functionality. + The API allows you to list, create, read, and delete your statements. + ## The Statements Model + + - name: Statement Results (sql/v1) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + `StatementResult` represents a result of a `Statement` resource. + The API allows you to read your statement's results. + ## The Statement Results Model + + - name: Statement Exceptions (sql/v1) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + `StatementException` represents an exception of a `Statement` resource. + The API allows you to read your statement's exceptions. + ## The Statement Exceptions Model + + - name: Connections (sql/v1) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + `Connection` represents a core resource used to model SQL connections for execution. + A connection generalizes DDL, DML, DQL, etc., but doesn’t attempt to handle session + management or any higher-level functionality. + The API allows you to list, create, read, and delete your connections. + ## The Connections Model + + - name: DNS Forwarders (networking/v1) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + Add, remove, and update DNS forwarder for your gateway. + + Related guides: + * [Use VPC peering connections with Confluent Cloud on AWS](https://docs.confluent.io/cloud/current/networking/peering/aws-peering.html). + * [Use VNet peering connections with Confluent Cloud on Azure](https://docs.confluent.io/cloud/current/networking/peering/azure-peering.html). + + + ## The DNS Forwarders Model + + - name: Access Points (networking/v1) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + AccessPoint objects represent network connections in and out of Gateways. + This API allows you to list, create, read, update, and delete your access points. + + + ## The Access Points Model + + - name: DNS Records (networking/v1) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + DNS record objects are associated with Confluent Cloud networking resources. This API allows you to list, create, read, update, and delete your DNS records. + + ## The DNS Records Model + + - name: Certificate Authorities (iam/v2) + description: |- + [![Limited Availability](https://img.shields.io/badge/Lifecycle%20Stage-Limited%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + `CertificateAuthority` objects represent signing certificate authorities in Confluent Cloud. + + The API allows you to list, create, read, update, and delete your Certificate Authority. + + + Related guide: [Manage certificate authorities used for client authentication with X.509 certificates.](https://docs.confluent.io/cloud/current/access-management/authenticate/mtls/overview.html). + + ## The Certificate Authorities Model + + + ## Quotas and Limits + This resource is subject to the [following quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): + + | Quota | Description | + | --- | --- | + | `certificate_authorities_per_org` | Number of certificate authorities per organization | + - name: Certificate Identity Pools (iam/v2) + description: |- + [![Limited Availability](https://img.shields.io/badge/Lifecycle%20Stage-Limited%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + `Identitypool` objects represent workload identities in Confluent Cloud. + + The API allows you to list, create, read, update, and delete your identity pools associated + with Certificate Authorities + + + Related guide: [Manage Certificate Identity Pools for Granular Client Access Management](https://docs.confluent.io/cloud/current/access-management/authenticate/mtls/configure.html#step-2-create-certificate-identity-pools-for-granular-access-control). + + ## The Certificate Identity Pools Model + + + ## Quotas and Limits + This resource is subject to the [following quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): + + | Quota | Description | + | --- | --- | + | `identity_pools_per_certificate_authority` | Number of Identity Pools per Certificate Authority | + - name: Integrations (pim/v1) + description: |- + [![Early Access](https://img.shields.io/badge/Lifecycle%20Stage-Early%20Access-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) [![Request Access To Provider Integration](https://img.shields.io/badge/-Request%20Access%20To%20Provider%20Integration-%23bc8540)](mailto:ccloud-api-access+pim-v1-early-access@confluent.io?subject=Request%20to%20join%20pim/v1%20API%20Early%20Access&body=I%E2%80%99d%20like%20to%20join%20the%20Confluent%20Cloud%20API%20Early%20Access%20for%20pim/v1%20to%20provide%20early%20feedback%21%20My%20Cloud%20Organization%20ID%20is%20%3Cretrieve%20from%20https%3A//confluent.cloud/settings/billing/payment%3E.) + + `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, and delete individual integrations, and also obtain a + list of all your provider integrations. + + + Related guide: [Provider Integration in Confluent Cloud](https://docs.confluent.io/home/overview.html). + + ## The Integrations Model + + - name: Flink Artifacts (artifact/v1) + description: |- + [![Early Access](https://img.shields.io/badge/Lifecycle%20Stage-Early%20Access-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) [![Request Access To Flink Artifact API EA](https://img.shields.io/badge/-Request%20Access%20To%20Flink%20Artifact%20API%20EA-%23bc8540)](mailto:ccloud-api-access+artifact-v1-early-access@confluent.io?subject=Request%20to%20join%20artifact/v1%20API%20Early%20Access&body=I%E2%80%99d%20like%20to%20join%20the%20Confluent%20Cloud%20API%20Early%20Access%20for%20artifact/v1%20to%20provide%20early%20feedback%21%20My%20Cloud%20Organization%20ID%20is%20%3Cretrieve%20from%20https%3A//confluent.cloud/settings/billing/payment%3E.) + + FlinkArtifact objects represent Flink Artifacts on Confluent Cloud. + + + ## The Flink Artifacts Model + + - name: Presigned Urls (artifact/v1) + description: |- + [![Early Access](https://img.shields.io/badge/Lifecycle%20Stage-Early%20Access-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) [![Request Access To Flink Artifact API EA](https://img.shields.io/badge/-Request%20Access%20To%20Flink%20Artifact%20API%20EA-%23bc8540)](mailto:ccloud-api-access+artifact-v1-early-access@confluent.io?subject=Request%20to%20join%20artifact/v1%20API%20Early%20Access&body=I%E2%80%99d%20like%20to%20join%20the%20Confluent%20Cloud%20API%20Early%20Access%20for%20artifact/v1%20to%20provide%20early%20feedback%21%20My%20Cloud%20Organization%20ID%20is%20%3Cretrieve%20from%20https%3A//confluent.cloud/settings/billing/payment%3E.) + + Request a presigned upload URL for new Flink Artifact. Note that + the URL policy expires in one hour. If the policy expires, you can request + a new presigned upload URL. + + + ## The Presigned Urls Model + + - name: Flink Artifact Versions (artifact/v1) + description: |- + [![Early Access](https://img.shields.io/badge/Lifecycle%20Stage-Early%20Access-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) [![Request Access To Flink Artifact API EA](https://img.shields.io/badge/-Request%20Access%20To%20Flink%20Artifact%20API%20EA-%23bc8540)](mailto:ccloud-api-access+artifact-v1-early-access@confluent.io?subject=Request%20to%20join%20artifact/v1%20API%20Early%20Access&body=I%E2%80%99d%20like%20to%20join%20the%20Confluent%20Cloud%20API%20Early%20Access%20for%20artifact/v1%20to%20provide%20early%20feedback%21%20My%20Cloud%20Organization%20ID%20is%20%3Cretrieve%20from%20https%3A//confluent.cloud/settings/billing/payment%3E.) + + FlinkArtifactVersion objects represent Flink Artifact Versions on Confluent Cloud. + + + ## The Flink Artifact Versions Model + +components: + schemas: + AclOperation: + type: string + x-extensible-enum: + - UNKNOWN + - ANY + - ALL + - READ + - WRITE + - CREATE + - DELETE + - ALTER + - DESCRIBE + - CLUSTER_ACTION + - DESCRIBE_CONFIGS + - ALTER_CONFIGS + - IDEMPOTENT_WRITE + AclPatternType: + type: string + x-extensible-enum: + - UNKNOWN + - ANY + - MATCH + - LITERAL + - PREFIXED + AclPermission: + type: string + x-extensible-enum: + - UNKNOWN + - ANY + - DENY + - ALLOW + AclResourceType: + type: string + enum: + - UNKNOWN + - ANY + - TOPIC + - GROUP + - CLUSTER + - TRANSACTIONAL_ID + - DELEGATION_TOKEN + BrokerTaskType: + type: string + enum: + - add-broker + - remove-broker + MirrorTopicStatus: + enum: + - ACTIVE + - FAILED + - LINK_FAILED + - LINK_PAUSED + - PAUSED + - PENDING_STOPPED + - SOURCE_UNAVAILABLE + - STOPPED + - PENDING_MIRROR + - PENDING_SYNCHRONIZE + - PENDING_SETUP_FOR_RESTORE + - PENDING_RESTORE + type: string + connect.v1.ConnectorError: + 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 + AlterConfigBatchRequestData: + type: object + required: + - data + properties: + data: + type: array + items: + type: object + required: + - name + properties: + name: + type: string + value: + type: string + nullable: true + operation: + type: string + x-extensible-enum: + - SET + - DELETE + nullable: true + validate_only: + type: boolean + CreateAclRequestData: + type: object + required: + - resource_type + - resource_name + - pattern_type + - principal + - host + - operation + - permission + properties: + resource_type: + $ref: '#/components/schemas/AclResourceType' + resource_name: + type: string + pattern_type: + $ref: '#/components/schemas/AclPatternType' + principal: + type: string + host: + type: string + operation: + $ref: '#/components/schemas/AclOperation' + permission: + $ref: '#/components/schemas/AclPermission' + CreateAclRequestDataList: + allOf: + - type: object + required: + - data + properties: + data: + type: array + items: + $ref: '#/components/schemas/CreateAclRequestData' + CreateTopicRequestData: + type: object + required: + - topic_name + properties: + topic_name: + type: string + partitions_count: + type: integer + replication_factor: + type: integer + configs: + type: array + items: + type: object + required: + - name + properties: + name: + type: string + value: + type: string + nullable: true + validate_only: + type: boolean + ProduceRequest: + type: object + properties: + partition_id: + type: integer + nullable: true + format: int32 + headers: + type: array + items: + $ref: '#/components/schemas/ProduceRequestHeader' + key: + $ref: '#/components/schemas/ProduceRequestData' + value: + $ref: '#/components/schemas/ProduceRequestData' + timestamp: + type: string + format: date-time + nullable: true + UpdateConfigRequestData: + type: object + properties: + value: + type: string + nullable: true + CreateLinkRequestData: + properties: + source_cluster_id: + type: string + destination_cluster_id: + type: string + remote_cluster_id: + description: The expected remote cluster ID. + type: string + cluster_link_id: + description: 'The expected cluster link ID. Can be provided when creating the second side of a bidirectional link for validating the link ID is as expected. If it''s not provided, it''s inferred from the remote cluster.' + type: string + configs: + items: + $ref: '#/components/schemas/ConfigData' + type: array + type: object + UpdateLinkConfigRequestData: + properties: + value: + type: string + required: + - value + type: object + CreateMirrorTopicRequestData: + properties: + source_topic_name: + type: string + mirror_topic_name: + type: string + replication_factor: + type: integer + configs: + type: array + items: + $ref: '#/components/schemas/ConfigData' + required: + - source_topic_name + type: object + AlterMirrorsRequestData: + properties: + mirror_topic_names: + description: The mirror topics specified as a list of topic names. + type: array + items: + type: string + mirror_topic_name_pattern: + description: The mirror topics specified as a pattern. + type: string + type: object + RemoveBrokersRequestData: + properties: + broker_ids: + type: array + items: + type: integer + required: + - broker_ids + type: object + BrokerReplicaExclusionBatchRequestData: + type: object + required: + - data + properties: + data: + type: array + items: + $ref: '#/components/schemas/BrokerReplicaExclusionRequestData' + ProduceRequestHeader: + type: object + required: + - name + properties: + name: + type: string + value: + type: string + format: byte + nullable: true + ProduceRequestData: + type: object + properties: + type: + type: string + x-extensible-enum: + - BINARY + - JSON + - STRING + data: + $ref: '#/components/schemas/AnyValue' + nullable: true + ConfigData: + example: + name: name + value: value + properties: + name: + type: string + value: + nullable: true + type: string + required: + - name + - value + BrokerReplicaExclusionRequestData: + type: object + required: + - broker_id + - reason + properties: + broker_id: + type: integer + reason: + type: string + AnyValue: + nullable: true + connect.v1.ConnectorWithOffsets: + 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 which can be used to + define how the connector connects Kafka to the external system. + Some of these key-value pairs 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.' + x-extensible-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. + 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 + offsets: + $ref: '#/components/schemas/connect.v1.Offsets' + required: + - name + - config + connect.v1.Offsets: + type: array + description: Array of offsets which are categorised into partitions. + items: + type: object + properties: + partition: + type: object + additionalProperties: true + description: |- + The partition information. For sink connectors this is the kafka topic and + partition. For source connectors this is depends on the partitions defined by the + source connector. For example, the table which this task is pulling data from in a + JDBC based MySQL source connector. + Please refer to the [documentation](https://docs.confluent.io/cloud/current/connectors/offsets.html#manage-offsets-for-fully-managed-connectors-in-ccloud) for + more information. + offset: + type: object + additionalProperties: true + description: |- + The offset of the partition. For sink connectors this is the kafka offset. For + source connectors this is depends on the offset defined by the source connector. + For example, the timestamp and incrementing column info in a table, for a JDBC based + MySQL source connector. + Please refer to the [documentation](https://docs.confluent.io/cloud/current/connectors/offsets.html#manage-offsets-for-fully-managed-connectors-in-ccloud) for + more information. + connect.v1.ConnectorExpansionMap: + type: object + additionalProperties: + $ref: '#/components/schemas/connect.v1.ConnectorExpansion' + connect.v1.ConnectorExpansion: + type: object + description: Name of connector + properties: + id: + type: object + description: The ID of connector. + properties: + id: + type: string + description: The ID of the connector. + id_type: + type: string + description: Type of the value in the `id` property. + info: + type: object + description: Metadata of the connector. + 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 are 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 + + For example, a connector like `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.' + x-extensible-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 + status: + type: object + description: Status of the connector and its tasks. + properties: + name: + type: string + description: The name of the connector. + type: + type: string + description: 'Type of connector, sink or source.' + enum: + - sink + - source + connector: + type: object + description: A map containing connector status. + required: + - state + - worker_id + properties: + state: + type: string + description: The state of the connector. + enum: + - NONE + - PROVISIONING + - RUNNING + - DEGRADED + - FAILED + - PAUSED + - DELETED + worker_id: + type: string + description: The worker ID of the connector. + trace: + type: string + description: Exception message in case of an error. + tasks: + type: array + description: A map containing the task status. + items: + type: object + properties: + id: + type: integer + description: The ID of task. + state: + type: string + description: The state of the task. + worker_id: + type: string + description: The worker ID of the task. + msg: + type: string + required: + - id + - state + - worker_id + required: + - name + - type + - connector + connect.v1.Connector: + 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.' + x-extensible-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 + connect.v1.Connectors: + type: array + description: List of active task configs that have been created by the connector + items: + type: object + properties: + id: + type: object + description: The ID of task. + properties: + connector: + type: string + description: The name of the connector the task belongs to. + task: + type: integer + description: Task ID within 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.' + x-extensible-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 + connect.v1.ConnectorOffsets: + type: object + description: Offsets for a connector + properties: + name: + type: string + description: The name of the connector. + id: + type: string + description: The ID of the connector. + offsets: + $ref: '#/components/schemas/connect.v1.Offsets' + metadata: + type: object + description: Metadata of the connector offset. + properties: + observed_at: + type: string + format: date-time + example: '2024-02-20T15:14:19Z' + readOnly: true + description: 'The time at which the offsets were observed. The time is in UTC, ISO 8601 format.' + connect.v1.AlterOffsetRequestInfo: + type: object + description: The request made to alter offsets. + properties: + id: + type: string + description: The ID of the connector. + name: + type: string + description: The name of the connector. + offsets: + $ref: '#/components/schemas/connect.v1.Offsets' + requested_at: + type: string + format: date-time + readOnly: true + example: '2024-02-20T15:14:19Z' + description: 'The time at which the request was made. The time is in UTC, ISO 8601 format.' + type: + $ref: '#/components/schemas/connect.v1.AlterOffsetRequestType' + required: + - id + - name + - type + - requested_at + connect.v1.AlterOffsetRequest: + type: object + description: Request to alter the offset of a connector. The offsets parameter is options for DELETE type. + properties: + type: + $ref: '#/components/schemas/connect.v1.AlterOffsetRequestType' + offsets: + $ref: '#/components/schemas/connect.v1.Offsets' + required: + - type + connect.v1.AlterOffsetRequestType: + type: string + enum: + - PATCH + - DELETE + description: |- + The type of alter operation. PATCH will update the offset to the provided values. + The update will only happen for the partitions provided in the request. + DELETE will delete the offset for the provided partitions and reset them back to the + base state. It is as if, a fresh new connector was created. + + For sink connectors PATCH/DELETE will move the offsets to the provided point in the + topic partition. If the offset provided is not present in the topic partition it will + by default reset to the earliest offset in the topic partition. + + For source connectors, post PATCH/DELETE the connector will attempt to read from the + position defined in the altered offsets. + connect.v1.AlterOffsetStatus: + type: object + description: |- + Status of the alter offset operation. The previous offsets in the response + is the offsets that the connector last processed, before the offsets were altered, + via a patch or delete operation. + properties: + request: + $ref: '#/components/schemas/connect.v1.AlterOffsetRequestInfo' + status: + type: object + description: The response of the alter offsets operation. + properties: + phase: + type: string + x-extensible-enum: + - PENDING + - PENDING_VALIDATION + - APPLIED + - FAILED + description: |- + The phase of the alter offset operation. + + PENDING: The offset alter operation is in progress. + + APPLIED: The offset alter operation has been applied to the connector. + + FAILED: The offset alter operation has failed to be applied to the connector. + message: + type: string + description: An info message from the alter offset operation. + required: + - phase + previous_offsets: + $ref: '#/components/schemas/connect.v1.Offsets' + applied_at: + type: string + nullable: true + format: date-time + example: '2024-02-20T15:14:19Z' + readOnly: true + description: 'The time at which the offsets were applied. The time is in UTC, ISO 8601 format.' + required: + - request + - status + SearchFilter: + description: Filter a collection by a string search + type: string + connect.v1.CustomConnectorPluginList: + type: object + description: |- + CustomConnectorPlugins objects represent Custom Connector Plugins on Confluent Cloud. + The API allows you to list, create, read, update, and delete your Custom Connector Plugins. + Related guide: + [Custom Connector Plugin API](https://docs.confluent.io/cloud/current/connectors/connect-api-section.html). + + + ## The Custom Connector Plugins Model + + required: + - api_version + - kind + - metadata + - data + properties: + api_version: + type: string + enum: + - connect/v1 + 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: + - CustomConnectorPluginList + metadata: + allOf: + - $ref: '#/components/schemas/ListMeta' + - properties: + first: + example: 'https://api.confluent.cloud/connect/v1/custom-connector-plugins' + last: + example: 'https://api.confluent.cloud/connect/v1/custom-connector-plugins?page_token=bcAOehAY8F16YD84Z1wT' + prev: + example: 'https://api.confluent.cloud/connect/v1/custom-connector-plugins?page_token=YIXRY97wWYmwzrax4dld' + next: + example: 'https://api.confluent.cloud/connect/v1/custom-connector-plugins?page_token=UvmDWOB1iwfAIBPj6EYb' + data: + type: array + description: A data property that contains an array of resource items. Each entry in the array is a separate resource. + items: + allOf: + - $ref: '#/components/schemas/connect.v1.CustomConnectorPlugin' + - type: object + required: + - id + - metadata + - display_name + - connector_class + - connector_type + - upload_source + uniqueItems: true + ListMeta: + type: object + description: ListMeta describes metadata that resource collections may have + properties: + first: + description: 'A link to the first page of results. If a response does not contain a first link, then direct navigation to the first page is not supported.' + type: string + 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 + connect.v1.CustomConnectorPlugin: + type: object + description: |- + CustomConnectorPlugins objects represent Custom Connector Plugins on Confluent Cloud. + The API allows you to list, create, read, update, and delete your Custom Connector Plugins. + Related guide: + [Custom Connector Plugin API](https://docs.confluent.io/cloud/current/connectors/connect-api-section.html). + + + ## The Custom Connector Plugins Model + + properties: + api_version: + type: string + enum: + - connect/v1 + 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: + - CustomConnectorPlugin + 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 + metadata: + allOf: + - $ref: '#/components/schemas/ObjectMeta' + - properties: + self: + example: 'https://api.confluent.cloud/connect/v1/custom-connector-plugins/ccp-12345' + resource_name: + example: 'crn://confluent.cloud/organization=9bb441c4-edef-46ac-8a41-c49e44a3fd9a/custom-connector-plugin=ccp-12345' + display_name: + type: string + description: Display name of Custom Connector Plugin. + maxLength: 60 + content_format: + type: string + example: ZIP + description: Archive format of Custom Connector Plugin. + x-extensible-enum: + - ZIP + - JAR + readOnly: true + description: + type: string + description: Description of Custom Connector Plugin. + maxLength: 256 + documentation_link: + maxLength: 512 + type: string + pattern: '^$|^(http://|https://).+' + example: 'https://github.com/confluentinc/kafka-connect-datagen' + description: Document link of Custom Connector Plugin. + connector_class: + type: string + maxLength: 150 + pattern: '^(([a-zA-Z][a-zA-Z_$0-9]*(\.[a-zA-Z][a-zA-Z_$0-9]*)*)\.)?([a-zA-Z][a-zA-Z_$0-9]*)$' + description: Java class or alias for connector. You can get connector class from connector documentation provided by developer. + example: io.confluent.kafka.connect.datagen.DatagenConnector + x-immutable: true + connector_type: + type: string + description: | + Custom Connector type. + example: SOURCE + x-extensible-enum: + - SOURCE + - SINK + x-immutable: true + cloud: + type: string + description: Cloud provider where the Custom Connector Plugin archive is uploaded. + example: AWS + default: AWS + x-extensible-enum: + - AWS + - GCP + - AZURE + x-immutable: true + sensitive_config_properties: + type: array + description: A sensitive property is a connector configuration property that must be hidden after a user enters property value when setting up connector. + items: + type: string + pattern: '^[\w\+\.-]+$' + maxLength: 150 + example: + - passwords + - keys + - tokens + upload_source: + type: object + oneOf: + - $ref: '#/components/schemas/connect.v1.UploadSource.PresignedUrl' + description: '[immutable] Upload source of Custom Connector Plugin. Only required in `create` request, will be ignored in `read`, `update` or `list`.' + discriminator: + propertyName: location + mapping: + PRESIGNED_URL_LOCATION: '#/components/schemas/connect.v1.UploadSource.PresignedUrl' + Failure: + type: object + description: Provides information about problems encountered while performing an operation. + required: + - errors + properties: + errors: + description: List of errors which caused this operation to fail + type: array + items: + $ref: '#/components/schemas/Error' + uniqueItems: true + ObjectMeta: + description: 'ObjectMeta is metadata that all persisted resources must have, which includes all objects users must create.' + required: + - self + properties: + self: + description: 'Self is a Uniform Resource Locator (URL) at which an object can be addressed. This URL encodes the service location, API version, and other particulars necessary to locate the resource at a point in time' + type: string + format: uri + readOnly: true + example: 'https://api.confluent.cloud/v2/kafka-clusters/lkc-f3a90de' + resource_name: + description: Resource Name is a Uniform Resource Identifier (URI) that is globally unique across space and time. It is represented as a Confluent Resource Name + type: string + format: uri + readOnly: true + example: 'crn://confluent.cloud/kafka=lkc-f3a90de' + created_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: The date and time at which this object was created. It is represented in RFC3339 format and is in UTC. + updated_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: The date and time at which this object was last updated. It is represented in RFC3339 format and is in UTC. + deleted_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: The date and time at which this object was (or will be) deleted. It is represented in RFC3339 format and is in UTC. + readOnly: true + connect.v1.UploadSource.PresignedUrl: + type: object + description: Presigned URL of the uploaded Custom Connector Plugin archive. + properties: + location: + type: string + description: | + Location of the Custom Connector Plugin source. + x-extensible-enum: + - PRESIGNED_URL_LOCATION + example: PRESIGNED_URL_LOCATION + upload_id: + type: string + example: e53bb2e8-8de3-49fa-9fb1-4e3fd9a16b66 + description: Upload ID returned by the `/presigned-upload-url` API. This field returns an empty string in all responses. + required: + - location + - upload_id + Error: + type: object + description: Describes a particular error encountered while performing an operation. + properties: + id: + description: A unique identifier for this particular occurrence of the problem. + type: string + maxLength: 255 + status: + description: 'The HTTP status code applicable to this problem, expressed as a string value.' + type: string + code: + description: 'An application-specific error code, expressed as a string value.' + type: string + title: + description: 'A short, human-readable summary of the problem. It **SHOULD NOT** change from occurrence to occurrence of the problem, except for purposes of localization.' + type: string + detail: + description: A human-readable explanation specific to this occurrence of the problem. + type: string + source: + type: object + description: 'If this error was caused by a particular part of the API request, the source will point to the query string parameter or request body property that caused it.' + properties: + pointer: + description: 'A JSON Pointer [RFC6901] to the associated entity in the request document [e.g. "/spec" for a spec object, or "/spec/title" for a specific field].' + type: string + parameter: + description: A string indicating which query parameter caused the error. + type: string + error_code: + type: integer + format: int32 + message: + type: string + nullable: true + additionalProperties: false + connect.v1.CustomConnectorPluginUpdate: + type: object + description: |- + CustomConnectorPlugins objects represent Custom Connector Plugins on Confluent Cloud. + The API allows you to list, create, read, update, and delete your Custom Connector Plugins. + Related guide: + [Custom Connector Plugin API](https://docs.confluent.io/cloud/current/connectors/connect-api-section.html). + + + ## The Custom Connector Plugins Model + + properties: + api_version: + type: string + enum: + - connect/v1 + 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: + - CustomConnectorPlugin + 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 + metadata: + allOf: + - $ref: '#/components/schemas/ObjectMeta' + - properties: + self: + example: 'https://api.confluent.cloud/connect/v1/custom-connector-plugins/ccp-12345' + resource_name: + example: 'crn://confluent.cloud/organization=9bb441c4-edef-46ac-8a41-c49e44a3fd9a/custom-connector-plugin=ccp-12345' + display_name: + type: string + description: Display name of Custom Connector Plugin. + maxLength: 60 + content_format: + type: string + example: ZIP + description: Archive format of Custom Connector Plugin. + x-extensible-enum: + - ZIP + - JAR + readOnly: true + description: + type: string + description: Description of Custom Connector Plugin. + maxLength: 256 + documentation_link: + maxLength: 512 + type: string + pattern: '^$|^(http://|https://).+' + example: 'https://github.com/confluentinc/kafka-connect-datagen' + description: Document link of Custom Connector Plugin. + sensitive_config_properties: + type: array + description: A sensitive property is a connector configuration property that must be hidden after a user enters property value when setting up connector. + items: + type: string + pattern: '^[\w\+\.-]+$' + maxLength: 150 + example: + - passwords + - keys + - tokens + upload_source: + type: object + oneOf: + - $ref: '#/components/schemas/connect.v1.UploadSource.PresignedUrl' + description: '[immutable] Upload source of Custom Connector Plugin. Only required in `create` request, will be ignored in `read`, `update` or `list`.' + discriminator: + propertyName: location + mapping: + PRESIGNED_URL_LOCATION: '#/components/schemas/connect.v1.UploadSource.PresignedUrl' + connect.v1.PresignedUrlRequest: + type: object + description: | + Request schema of the presigned upload URL. + properties: + api_version: + type: string + enum: + - connect/v1 + 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: + - PresignedUrlRequest + 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 + metadata: + allOf: + - $ref: '#/components/schemas/ObjectMeta' + - properties: + self: + example: 'https://api.confluent.cloud/connect/v1/presigned-url-requests/pur-12345' + resource_name: + example: 'crn://confluent.cloud/organization=9bb441c4-edef-46ac-8a41-c49e44a3fd9a/presigned-url-request=pur-12345' + content_format: + type: string + example: ZIP + description: Archive format of the Custom Connector Plugin. + x-extensible-enum: + - JAR + - ZIP + cloud: + type: string + example: AWS + default: AWS + description: Cloud provider where the Custom Connector Plugin archive is uploaded. + x-extensible-enum: + - AWS + - GCP + - AZURE + connect.v1.PresignedUrl: + type: object + description: |- + Request a presigned upload URL for new Custom Connector Plugin. Note that + the URL policy expires in one hour. If the policy expires, you can request + a new presigned upload URL. + + Related guide: + [Custom Connector Plugin API](https://docs.confluent.io/cloud/current/connectors/connect-api-section.html). + + + ## The Presigned Urls Model + + properties: + api_version: + type: string + enum: + - connect/v1 + 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: + - PresignedUrl + content_format: + type: string + description: Content format of the Custom Connector Plugin archive. + example: ZIP + x-extensible-enum: + - ZIP + - JAR + readOnly: true + cloud: + type: string + description: Cloud provider where the Custom Connector Plugin archive is uploaded. + example: AWS + x-extensible-enum: + - AWS + - GCP + - AZURE + readOnly: true + upload_id: + type: string + description: Unique identifier of this upload. + example: e53bb2e8-8de3-49fa-9fb1-4e3fd9a16b66 + readOnly: true + upload_url: + type: string + format: uri + description: Upload URL for the Custom Connector Plugin archive. + example: 'https://confluent-custom-connectors-stag-us-west-2.s3.dualstack.us-west-2.amazonaws.com/' + readOnly: true + upload_form_data: + type: object + description: Upload form data of the Custom Connector Plugin. All values should be strings. + example: + bucket: confluent-custom-connectors-stag-us-west-2 + key: staging/custom-plugin/2f37f0b6-f8da-4e8b-bc5f-282ebb0511be/connect-e53bb2e8-8de3-49fa-9fb1-4e3fd9a16b66/plugin.zip + policy: string + x-amz-algorithm: AWS4-HMAC-SHA256 + x-amz-credential: string + x-amz-date: 20230725T013857Z + x-amz-security-token: string + x-amz-signature: string + readOnly: true + parameters: + AclHost: + name: host + description: The ACL host. + in: query + required: false + schema: + type: string + AclOperation: + name: operation + description: The ACL operation. + in: query + required: false + schema: + $ref: '#/components/schemas/AclOperation' + AclOperationRequired: + name: operation + description: The ACL operation. + in: query + required: true + schema: + $ref: '#/components/schemas/AclOperation' + AclPatternType: + name: pattern_type + description: The ACL pattern type. + in: query + required: false + schema: + $ref: '#/components/schemas/AclPatternType' + AclPatternTypeRequired: + name: pattern_type + description: The ACL pattern type. + in: query + required: true + schema: + $ref: '#/components/schemas/AclPatternType' + AclPermission: + name: permission + description: The ACL permission. + in: query + required: false + schema: + $ref: '#/components/schemas/AclPermission' + AclPermissionRequired: + name: permission + description: The ACL permission. + in: query + required: true + schema: + $ref: '#/components/schemas/AclPermission' + AclPrincipal: + name: principal + description: The ACL principal. This is the Service Account name or user name. + in: query + required: false + schema: + type: string + AclResourceName: + name: resource_name + description: The ACL resource name. + in: query + required: false + schema: + type: string + AclResourceType: + name: resource_type + description: The ACL resource type. + in: query + required: false + schema: + $ref: '#/components/schemas/AclResourceType' + AclResourceTypeRequired: + name: resource_type + description: The ACL resource type. + in: query + required: true + schema: + $ref: '#/components/schemas/AclResourceType' + BrokerId: + name: broker_id + description: The Kafka broker ID. + in: path + required: true + schema: + type: integer + example: 1 + ClusterId: + name: cluster_id + description: The Kafka cluster ID. + in: path + required: true + schema: + type: string + example: cluster-1 + ConfigName: + name: name + description: The configuration parameter name. + in: path + required: true + schema: + type: string + example: compression.type + ConsumerGroupId: + name: consumer_group_id + description: The consumer group ID. + in: path + required: true + schema: + type: string + example: consumer-group-1 + ConsumerId: + name: consumer_id + description: The consumer ID. + in: path + required: true + schema: + type: string + example: consumer-1 + IncludeAuthorizedOperations: + name: include_authorized_operations + description: Specify if authorized operations should be included in the response. + in: query + required: false + schema: + type: boolean + PartitionId: + name: partition_id + description: The partition ID. + in: path + required: true + schema: + type: integer + example: 0 + TopicName: + name: topic_name + description: The topic name. + in: path + required: true + schema: + type: string + example: topic-1 + BrokerTaskType: + name: task_type + description: The Kafka broker task type. + in: path + required: true + schema: + $ref: '#/components/schemas/BrokerTaskType' + example: remove-broker + ShouldShutdown: + name: should_shutdown + description: 'To shutdown the broker or not, Default: true' + in: query + required: false + schema: + type: boolean + example: true + ValidateOnly: + name: validate_only + description: 'To validate the action can be performed successfully or not. Default: false' + in: query + required: false + schema: + type: boolean + example: false + ValidateLink: + name: validate_link + description: 'To synchronously validate that the source cluster ID is expected and the dest cluster has the permission to read topics in the source cluster. Default: true' + in: query + required: false + schema: + type: boolean + example: false + IncludeTasks: + name: include_tasks + description: 'Whether to include cluster linking tasks in the response. Default: false' + in: query + required: false + schema: + type: boolean + example: false + IncludeStateTransitionErrors: + name: include_state_transition_errors + description: 'Whether to include mirror state transition errors in the response. Default: false' + in: query + required: false + schema: + type: boolean + example: false + Force: + name: force + description: 'Force the action. Default: false' + in: query + required: false + schema: + type: boolean + example: false + IncludePartitionLevelTruncationData: + name: include_partition_level_truncation_data + description: 'Whether to include partition level truncation information when truncating and restoring a topic in the response. Default: false' + in: query + required: false + schema: + type: boolean + example: false + LinkName: + name: link_name + description: The link name + in: path + required: true + schema: + type: string + example: link-sb1 + LinkConfigName: + name: config_name + description: The link config name + in: path + required: true + schema: + type: string + example: consumer.offset.sync.enable + MirrorTopicStatus: + name: mirror_status + description: 'The status of the mirror topic. If not specified, all mirror topics will be returned.' + in: query + required: false + schema: + $ref: '#/components/schemas/MirrorTopicStatus' + example: ACTIVE + MirrorTopicName: + name: mirror_topic_name + description: Cluster Linking mirror topic name + in: path + required: true + schema: + type: string + example: topic-1 + QueryParamLinkName: + name: link_name + description: The link name + in: query + required: true + schema: + type: string + example: link-sb1 + responses: + connect.v1.UnauthenticatedError: + description: Unauthorized + content: + application/json: + schema: + $ref: '#/components/schemas/connect.v1.ConnectorError' + example: + error: + code: 401 + message: Unauthorized + connect.v1.AccountNotFoundError: + description: Not Found + content: + application/json: + schema: + $ref: '#/components/schemas/connect.v1.ConnectorError' + example: + error: + code: 404 + message: account not found + RateLimitError: + description: Rate Limit Exceeded + headers: + X-Request-Id: + schema: + type: string + description: The unique identifier for the API request. + X-RateLimit-Limit: + schema: + type: integer + description: The maximum number of requests you're permitted to make per time period. + X-RateLimit-Remaining: + schema: + type: integer + description: The number of requests remaining in the current rate limit window. + X-RateLimit-Reset: + schema: + type: integer + description: |- + The relative time in seconds until the current rate-limit window resets. + + **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. + connect.v1.DefaultSystemError: + description: Internal Server Error + content: + application/json: + schema: + $ref: '#/components/schemas/connect.v1.ConnectorError' + example: + error: + code: 500 + message: 'Oops, something went wrong' + connect.v1.BadRequestError: + description: Bad Request + content: + application/json: + schema: + $ref: '#/components/schemas/connect.v1.ConnectorError' + example: + error: + code: 400 + message: Bad Request + connect.v1.OK: + description: OK + content: + application/json: + schema: + type: object + properties: + error: + type: object + nullable: true + example: + error: null + connect.v1.ResourceNotFoundError: + description: Not Found + content: + application/json: + schema: + $ref: '#/components/schemas/connect.v1.ConnectorError' + example: + error: + code: 404 + message: resource not found + connect.v1.ForbiddenError: + description: Forbidden + content: + application/json: + schema: + $ref: '#/components/schemas/connect.v1.ConnectorError' + example: + error: + code: 403 + message: Forbidden + BadRequestError: + description: Bad Request + headers: + X-Request-Id: + schema: + type: string + description: The unique identifier for the API request. + content: + application/json: + schema: + $ref: '#/components/schemas/Failure' + example: + errors: + - id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d + status: '400' + code: invalid_filter + title: Invalid Filter + detail: The 'delorean' resource can't be filtered by 'num_doors' + source: + parameter: num_doors + UnauthenticatedError: + x-summary: Unauthorized + description: The request lacks valid authentication credentials for this resource. + headers: + X-Request-Id: + schema: + type: string + description: The unique identifier for the API request. + WWW-Authenticate: + schema: + type: string + description: The unique identifier for the API request. + example: 'Basic error="invalid_key", error_description="The API Key is invalid"' + content: + application/json: + schema: + $ref: '#/components/schemas/Failure' + example: + errors: + - id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d + status: '401' + code: user_unauthenticated + title: Authentication Required + detail: Valid authentication credentials must be provided + UnauthorizedError: + x-summary: Forbidden + description: The access credentials were considered insufficient to grant access + headers: + X-Request-Id: + schema: + type: string + description: The unique identifier for the API request. + content: + application/json: + schema: + $ref: '#/components/schemas/Failure' + example: + errors: + - id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d + status: '403' + code: user_unauthorized + title: User Access Unauthorized + detail: The user 'mcfly' is not allowed to access the 'delorean' resource without the 'plutonium' role. + DefaultSystemError: + description: 'Oops, something went wrong!' + headers: + X-Request-Id: + schema: + type: string + description: The unique identifier for the API request. + content: + application/json: + schema: + $ref: '#/components/schemas/Failure' + example: + errors: + - id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d + status: '500' + code: out_of_gas + title: DeLorean Out Of Gas + detail: 'The DeLorean has run out of gas, but Doc Brown will fill ''er up for you asap' + ConflictError: + x-summary: Conflict + description: The request is in conflict with the current server state + headers: + X-Request-Id: + schema: + type: string + description: The unique identifier for the API request. + Location: + schema: + type: string + format: uri + example: 'https://api.confluent.cloud/{object}/{id}' + description: Resource URI of conflicting resource + content: + application/json: + schema: + $ref: '#/components/schemas/Failure' + example: + errors: + - id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d + status: '409' + code: resource_already_exists + title: Resource Already exists + detail: The entitlement '91e3e86f-fca6-4f14-98f5-a48e64113ce2' already exists. + ValidationError: + description: Validation Failed + headers: + X-Request-Id: + schema: + type: string + description: The unique identifier for the API request. + content: + application/json: + schema: + $ref: '#/components/schemas/Failure' + example: + errors: + - status: '422' + code: invalid_configuration + id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d + title: Validation Failed + detail: 'The property ''/cluster/storage_size'' of type string did not match the following type: integer' + source: + pointer: /cluster/storage_size + - status: '422' + code: invalid_configuration + id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d + title: Validation Failed + detail: 'The property ''/cluster/storage_size'' of type string did not match the following type: integer' + source: + pointer: /cluster/storage_size + - status: '422' + code: invalid_configuration + id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d + title: Validation Failed + detail: 'The property ''/cluster/storage_size'' of type string did not match the following type: integer' + source: + pointer: /cluster/storage_size + - status: '422' + code: invalid_configuration + id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d + title: Validation Failed + detail: 'The property ''/cluster/storage_size'' of type string did not match the following type: integer' + source: + pointer: /cluster/storage_size + - status: '422' + code: invalid_configuration + id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d + title: Validation Failed + detail: 'The property ''/cluster/storage_size'' of type string did not match the following type: integer' + source: + pointer: /cluster/storage_size + - status: '422' + code: invalid_configuration + id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d + title: Validation Failed + detail: 'The property ''/cluster/storage_size'' of type string did not match the following type: integer' + source: + pointer: /cluster/storage_size + - status: '422' + code: invalid_configuration + id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d + title: Validation Failed + detail: 'The property ''/cluster/storage_size'' of type string did not match the following type: integer' + source: + pointer: /cluster/storage_size + - status: '422' + code: invalid_configuration + id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d + title: Validation Failed + detail: 'The property ''/cluster/storage_size'' of type string did not match the following type: integer' + source: + pointer: /cluster/storage_size + - status: '422' + code: invalid_configuration + id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d + title: Validation Failed + detail: 'The property ''/cluster/storage_size'' of type string did not match the following type: integer' + source: + pointer: /cluster/storage_size + - status: '422' + code: invalid_configuration + id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d + title: Validation Failed + detail: 'The property ''/cluster/storage_size'' of type string did not match the following type: integer' + source: + pointer: /cluster/storage_size + - status: '422' + code: invalid_configuration + id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d + title: Validation Failed + detail: 'The property ''/cluster/storage_size'' of type string did not match the following type: integer' + source: + pointer: /cluster/storage_size + - status: '422' + code: invalid_configuration + id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d + title: Validation Failed + detail: 'The property ''/cluster/storage_size'' of type string did not match the following type: integer' + source: + pointer: /cluster/storage_size + - status: '422' + code: invalid_configuration + id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d + title: Validation Failed + detail: 'The property ''/cluster/storage_size'' of type string did not match the following type: integer' + source: + pointer: /cluster/storage_size + - status: '422' + code: invalid_configuration + id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d + title: Validation Failed + detail: 'The property ''/cluster/storage_size'' of type string did not match the following type: integer' + source: + pointer: /cluster/storage_size + - status: '422' + code: invalid_configuration + id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d + title: Validation Failed + detail: 'The property ''/cluster/storage_size'' of type string did not match the following type: integer' + source: + pointer: /cluster/storage_size + - status: '422' + code: invalid_configuration + id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d + title: Validation Failed + detail: 'The property ''/cluster/storage_size'' of type string did not match the following type: integer' + source: + pointer: /cluster/storage_size + - status: '422' + code: invalid_configuration + id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d + title: Validation Failed + detail: 'The property ''/cluster/storage_size'' of type string did not match the following type: integer' + source: + pointer: /cluster/storage_size + - status: '422' + code: invalid_configuration + id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d + title: Validation Failed + detail: 'The property ''/cluster/storage_size'' of type string did not match the following type: integer' + source: + pointer: /cluster/storage_size + - status: '422' + code: invalid_configuration + id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d + title: Validation Failed + detail: 'The property ''/cluster/storage_size'' of type string did not match the following type: integer' + source: + pointer: /cluster/storage_size + - status: '422' + code: invalid_configuration + id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d + title: Validation Failed + detail: 'The property ''/cluster/storage_size'' of type string did not match the following type: integer' + source: + pointer: /cluster/storage_size + - status: '422' + code: invalid_configuration + id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d + title: Validation Failed + detail: 'The property ''/cluster/storage_size'' of type string did not match the following type: integer' + source: + pointer: /cluster/storage_size + - status: '422' + code: invalid_configuration + id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d + title: Validation Failed + detail: 'The property ''/cluster/storage_size'' of type string did not match the following type: integer' + source: + pointer: /cluster/storage_size + - status: '422' + code: invalid_configuration + id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d + title: Validation Failed + detail: 'The property ''/cluster/storage_size'' of type string did not match the following type: integer' + source: + pointer: /cluster/storage_size + - status: '422' + code: invalid_configuration + id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d + title: Validation Failed + detail: 'The property ''/cluster/storage_size'' of type string did not match the following type: integer' + source: + pointer: /cluster/storage_size + - status: '422' + code: invalid_configuration + id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d + title: Validation Failed + detail: 'The property ''/cluster/storage_size'' of type string did not match the following type: integer' + source: + pointer: /cluster/storage_size + - status: '422' + code: invalid_configuration + id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d + title: Validation Failed + detail: 'The property ''/cluster/storage_size'' of type string did not match the following type: integer' + source: + pointer: /cluster/storage_size + - status: '422' + code: invalid_configuration + id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d + title: Validation Failed + detail: 'The property ''/cluster/storage_size'' of type string did not match the following type: integer' + source: + pointer: /cluster/storage_size + - status: '422' + code: invalid_configuration + id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d + title: Validation Failed + detail: 'The property ''/cluster/storage_size'' of type string did not match the following type: integer' + source: + pointer: /cluster/storage_size + - status: '422' + code: invalid_configuration + id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d + title: Validation Failed + detail: 'The property ''/cluster/storage_size'' of type string did not match the following type: integer' + source: + pointer: /cluster/storage_size + - status: '422' + code: invalid_configuration + id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d + title: Validation Failed + detail: 'The property ''/cluster/storage_size'' of type string did not match the following type: integer' + source: + pointer: /cluster/storage_size + NotFoundError: + description: Not Found + headers: + X-Request-Id: + schema: + type: string + description: The unique identifier for the API request. + content: + application/json: + schema: + $ref: '#/components/schemas/Failure' + example: + errors: + - id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d + status: '404' + title: Not Found + securitySchemes: + cloud-api-key: + type: http + scheme: basic + description: Authenticate with Cloud API Keys using HTTP Basic Auth. Treat the Cloud API Key ID as the username and Cloud API Key Secret as the password. + confluent-sts-access-token: + type: oauth2 + description: Authenticate with Confluent API using this credentials (JSON Web Tokens) following OAuth 2.0. + flows: + clientCredentials: + tokenUrl: 'https://api.confluent.cloud/sts/v1/oauth2/token' + scopes: {} + api-key: + type: http + scheme: basic + description: Authenticate with API Keys using HTTP Basic Auth. Treat the API Key ID as the username and API Key Secret as the password. + resource-api-key: + type: http + scheme: basic + description: | + Authenticate with resource-specific API Keys using HTTP Basic Auth. Treat the resource-specific API Key ID + as the username and resource-specific API Key Secret as the password. + external-access-token: + type: oauth2 + description: Authenticate with OAuth 2.0. + flows: + clientCredentials: + tokenUrl: 'https:///token' + scopes: {} + oauth: + type: oauth2 + description: Authenticate with OAuth 2.0. Currently this is only supported for partner APIs. + flows: + clientCredentials: + tokenUrl: /oauth2/token + scopes: + 'partner:alter': enables partners to alter entitlements + 'partner:create': enables partners to create entitlements and signup on behalf of customers + 'partner:delete': enables partners to delete entitlements and organizations + 'partner:describe': enables partners to read and list entitlements and organizations + requestBodies: + AlterBrokerConfigBatchRequest: + description: The alter broker configuration parameter batch request. + content: + application/json: + schema: + $ref: '#/components/schemas/AlterConfigBatchRequestData' + example: + data: + - name: max.connections + operation: DELETE + - name: compression.type + value: gzip + AlterClusterConfigBatchRequest: + description: The alter cluster configuration parameter batch request. + content: + application/json: + schema: + $ref: '#/components/schemas/AlterConfigBatchRequestData' + example: + data: + - name: max.connections + operation: DELETE + - name: compression.type + value: gzip + AlterTopicConfigBatchRequest: + description: The alter topic configuration parameter batch request. + content: + application/json: + schema: + $ref: '#/components/schemas/AlterConfigBatchRequestData' + examples: + batch_alter_topic_configs: + value: + data: + - name: cleanup.policy + operation: DELETE + - name: compression.type + value: gzip + validate_only_batch_alter_topic_configs: + value: + data: + - name: cleanup.policy + operation: DELETE + - name: compression.type + value: gzip + validate_only: true + CreateAclRequest: + description: The ACL creation request. + content: + application/json: + schema: + $ref: '#/components/schemas/CreateAclRequestData' + example: + resource_type: CLUSTER + resource_name: kafka-cluster + pattern_type: LITERAL + principal: 'principalType:principalName' + host: '*' + operation: DESCRIBE + permission: DENY + BatchCreateAclRequest: + description: The batch ACL creation request. + content: + application/json: + schema: + $ref: '#/components/schemas/CreateAclRequestDataList' + example: + data: + - resource_type: CLUSTER + resource_name: kafka-cluster + pattern_type: LITERAL + principal: 'principalType:principalName' + host: '*' + operation: DESCRIBE + permission: DENY + - resource_type: TOPIC + resource_name: kafka-cluster + pattern_type: LITERAL + principal: 'principalType:principalName' + host: '*' + operation: READ + permission: ALLOW + CreateTopicRequest: + description: 'The topic creation request. Note that Confluent Cloud allows only specific replication factor values. Because of that the replication factor field should either be omitted or it should use one of the allowed values (see https://docs.confluent.io/cloud/current/client-apps/optimizing/durability.html).' + content: + application/json: + schema: + $ref: '#/components/schemas/CreateTopicRequestData' + examples: + uniform_replication: + value: + topic_name: topic-X + partitions_count: 64 + replication_factor: 3 + configs: + - name: cleanup.policy + value: compact + - name: compression.type + value: gzip + dry_run_create_topic: + value: + topic_name: topic-X + partitions_count: 64 + replication_factor: 3 + validate_only: true + ProduceRequest: + description: 'A single record to be produced to Kafka. To produce multiple records in the same request, simply concatenate the records. The delivery reports are concatenated in the same order as the records are sent.' + content: + application/json: + schema: + $ref: '#/components/schemas/ProduceRequest' + examples: + binary_and_json: + description: 'If using type, one of "BINARY", "JSON" or "STRING" is required.' + value: + partition_id: 1 + headers: + - name: Header-1 + value: SGVhZGVyLTE= + - name: Header-2 + value: SGVhZGVyLTI= + key: + type: BINARY + data: Zm9vYmFy + value: + type: JSON + data: + foo: bar + timestamp: '2021-02-05T19:14:42Z' + string: + description: 'If using type, one of "BINARY", "JSON" or "STRING" is required.' + value: + value: + type: STRING + data: My message + empty_value: + description: key or value can be omitted entirely. + value: + key: + data: 1000 + UpdateBrokerConfigRequest: + description: The broker configuration parameter update request. + content: + application/json: + schema: + $ref: '#/components/schemas/UpdateConfigRequestData' + example: + value: gzip + UpdateClusterConfigRequest: + description: The cluster configuration parameter update request. + content: + application/json: + schema: + $ref: '#/components/schemas/UpdateConfigRequestData' + example: + value: gzip + UpdateTopicConfigRequest: + description: The topic configuration parameter update request. + content: + application/json: + schema: + $ref: '#/components/schemas/UpdateConfigRequestData' + example: + value: gzip + CreateLinkRequest: + description: Create a cluster link + content: + application/json: + schema: + $ref: '#/components/schemas/CreateLinkRequestData' + examples: + destination_initiated_link: + description: Create a destination initiated cluster link + value: + source_cluster_id: cluster-1 + configs: + - name: bootstrap.servers + value: cluster-1-bootstrap-server + - name: acl.sync.enable + value: 'false' + - name: consumer.offset.sync.ms + value: '30000' + - name: sasl.mechanism + value: PLAIN + - name: sasl.protocol + value: SASL_SSL + - name: sasl.jaas.config + value: sasl.jaas.config=org.apache.kafka.common.security.plain.PlainLoginModule required username='' password=''; + source_initiated_link_at_source_cluster: + description: Create a source initiated cluster link at source cluster + value: + destination_cluster_id: cluster-2 + configs: + - name: bootstrap.servers + value: cluster-2-bootstrap-server + - name: link.mode + value: SOURCE + - name: sasl.mechanism + value: PLAIN + - name: sasl.protocol + value: SASL_SSL + - name: sasl.jaas.config + value: sasl.jaas.config=org.apache.kafka.common.security.plain.PlainLoginModule required username='' password=''; + source_initiated_link_at_destination_cluster: + description: Create a source initiated cluster link at destination cluster + value: + destination_cluster_id: cluster-1 + configs: + - name: bootstrap.servers + value: cluster-1-bootstrap-server + - name: link.mode + value: DESTINATION + - name: connection.mode + value: INBOUND + - name: acl.sync.enable + value: 'false' + - name: sasl.mechanism + value: PLAIN + - name: sasl.protocol + value: SASL_SSL + - name: sasl.jaas.config + value: sasl.jaas.config=org.apache.kafka.common.security.plain.PlainLoginModule required username='' password=''; + bidirectional_link_east: + description: Create a bidirectional cluster link in east + value: + remote_cluster_id: cluster-west + configs: + - name: bootstrap.servers + value: cluster-west-bootstrap-server + - name: link.mode + value: BIDIRECTIONAL + - name: cluster.link.prefix + value: west. + - name: sasl.mechanism + value: PLAIN + - name: sasl.protocol + value: SASL_SSL + - name: sasl.jaas.config + value: sasl.jaas.config=org.apache.kafka.common.security.plain.PlainLoginModule required username='' password=''; + bidirectional_link_west: + description: Create a bidirectional cluster link in west + value: + remote_cluster_id: cluster-east + cluster_link_id: eEBkTffYSESld6EO898x3w + configs: + - name: bootstrap.servers + value: cluster-east-bootstrap-server + - name: link.mode + value: BIDIRECTIONAL + - name: cluster.link.prefix + value: east. + - name: sasl.mechanism + value: PLAIN + - name: sasl.protocol + value: SASL_SSL + - name: sasl.jaas.config + value: sasl.jaas.config=org.apache.kafka.common.security.plain.PlainLoginModule required username='' password=''; + UpdateLinkConfigRequest: + content: + application/json: + example: + value: '300000' + schema: + $ref: '#/components/schemas/UpdateLinkConfigRequestData' + description: Link config value to update + AlterLinkConfigBatchRequest: + content: + application/json: + example: + data: + - name: cleanup.policy + operation: DELETE + - name: compression.type + value: gzip + schema: + $ref: '#/components/schemas/AlterConfigBatchRequestData' + CreateMirrorTopicRequest: + description: 'Name and configs of the topics mirroring from and mirroring to. Note that Confluent Cloud allows only specific replication factor values. Because of that the replication factor field should either be omitted or it should use one of the allowed values (see https://docs.confluent.io/cloud/current/client-apps/optimizing/durability.html).' + content: + application/json: + schema: + $ref: '#/components/schemas/CreateMirrorTopicRequestData' + examples: + generic_example: + description: Generic example of creating a mirror topic + value: + source_topic_name: topic-1 + configs: + - name: unclean.leader.election.enable + value: 'true' + replication_factor: 1 + example_with_mirror_topic_name: + description: Example using optional mirror_topic_name flag + value: + source_topic_name: topic-1 + mirror_topic_name: link1_topic-1 + configs: + - name: unclean.leader.election.enable + value: 'true' + replication_factor: 3 + AlterMirrorsRequest: + description: Mirror topics to be altered. + content: + application/json: + schema: + $ref: '#/components/schemas/AlterMirrorsRequestData' + examples: + mirror_topic_names: + description: Example using mirror topic names + value: + mirror_topic_names: + - topic-1 + - topic-2 + mirror_topic_name_pattern: + description: Example using mirror topic name pattern + value: + mirror_topic_name_pattern: .* + RemoveBrokersRequest: + content: + application/json: + example: + broker_ids: + - 1 + - 2 + - 3 + schema: + $ref: '#/components/schemas/RemoveBrokersRequestData' + description: Broker ids to remove + BrokerReplicaExclusionBatchRequest: + description: Alter Broker Replica Exclusions. + content: + application/json: + schema: + $ref: '#/components/schemas/BrokerReplicaExclusionBatchRequestData' + example: + data: + - broker_id: 1 + reason: The broker is to be removed. + - broker_id: 2 + reason: The broker is to be removed. + x-stackQL-resources: + connectors: + id: confluent.connect.connectors + name: connectors + title: Connectors + methods: + list_connectv1connectors: + operation: + $ref: '#/paths/~1connect~1v1~1environments~1{environment_id}~1clusters~1{kafka_cluster_id}~1connectors/get' + response: + mediaType: application/json + openAPIDocKey: '200' + create_connectv1connector: + operation: + $ref: '#/paths/~1connect~1v1~1environments~1{environment_id}~1clusters~1{kafka_cluster_id}~1connectors/post' + response: + mediaType: application/json + openAPIDocKey: '201' + schemaRef: '#/components/schemas/connect.v1.ConnectorWithOffsets' + read_connectv1connector: + operation: + $ref: '#/paths/~1connect~1v1~1environments~1{environment_id}~1clusters~1{kafka_cluster_id}~1connectors~1{connector_name}/get' + response: + mediaType: application/json + openAPIDocKey: '200' + schemaRef: '#/components/schemas/connect.v1.Connector' + delete_connectv1connector: + operation: + $ref: '#/paths/~1connect~1v1~1environments~1{environment_id}~1clusters~1{kafka_cluster_id}~1connectors~1{connector_name}/delete' + response: + mediaType: application/json + openAPIDocKey: '200' + pause_connectv1connector: + operation: + $ref: '#/paths/~1connect~1v1~1environments~1{environment_id}~1clusters~1{kafka_cluster_id}~1connectors~1{connector_name}~1pause/put' + response: + mediaType: application/json + openAPIDocKey: '202' + resume_connectv1connector: + operation: + $ref: '#/paths/~1connect~1v1~1environments~1{environment_id}~1clusters~1{kafka_cluster_id}~1connectors~1{connector_name}~1resume/put' + response: + mediaType: application/json + openAPIDocKey: '202' + sqlVerbs: + select: + - $ref: '#/components/x-stackQL-resources/connectors/methods/read_connectv1connector' + insert: + - $ref: '#/components/x-stackQL-resources/connectors/methods/create_connectv1connector' + update: [] + replace: [] + delete: + - $ref: '#/components/x-stackQL-resources/connectors/methods/delete_connectv1connector' + connectors_with_expansions: + id: confluent.connect.connectors_with_expansions + name: connectors_with_expansions + title: Connectors With Expansions + methods: + list_connectv1connectors_with_expansions: + operation: + $ref: '#/paths/~1connect~1v1~1environments~1{environment_id}~1clusters~1{kafka_cluster_id}~1connectors?expand=info,status,id/get' + response: + mediaType: application/json + openAPIDocKey: '200' + schemaRef: '#/components/schemas/connect.v1.ConnectorExpansionMap' + sqlVerbs: + select: + - $ref: '#/components/x-stackQL-resources/connectors_with_expansions/methods/list_connectv1connectors_with_expansions' + insert: [] + update: [] + replace: [] + delete: [] + connector_config: + id: confluent.connect.connector_config + name: connector_config + title: Connector Config + methods: + get_connectv1connector_config: + operation: + $ref: '#/paths/~1connect~1v1~1environments~1{environment_id}~1clusters~1{kafka_cluster_id}~1connectors~1{connector_name}~1config/get' + response: + mediaType: application/json + openAPIDocKey: '200' + create_or_update_connectv1connector_config: + operation: + $ref: '#/paths/~1connect~1v1~1environments~1{environment_id}~1clusters~1{kafka_cluster_id}~1connectors~1{connector_name}~1config/put' + response: + mediaType: application/json + openAPIDocKey: '200' + schemaRef: '#/components/schemas/connect.v1.Connector' + sqlVerbs: + select: [] + insert: + - $ref: '#/components/x-stackQL-resources/connector_config/methods/create_or_update_connectv1connector_config' + update: [] + replace: [] + delete: [] + connector_status: + id: confluent.connect.connector_status + name: connector_status + title: Connector Status + methods: + read_connectv1connector_status: + operation: + $ref: '#/paths/~1connect~1v1~1environments~1{environment_id}~1clusters~1{kafka_cluster_id}~1connectors~1{connector_name}~1status/get' + response: + mediaType: application/json + openAPIDocKey: '200' + sqlVerbs: + select: [] + insert: [] + update: [] + replace: [] + delete: [] + connector_tasks: + id: confluent.connect.connector_tasks + name: connector_tasks + title: Connector Tasks + methods: + list_connectv1connector_tasks: + operation: + $ref: '#/paths/~1connect~1v1~1environments~1{environment_id}~1clusters~1{kafka_cluster_id}~1connectors~1{connector_name}~1tasks/get' + response: + mediaType: application/json + openAPIDocKey: '200' + schemaRef: '#/components/schemas/connect.v1.Connectors' + sqlVerbs: + select: + - $ref: '#/components/x-stackQL-resources/connector_tasks/methods/list_connectv1connector_tasks' + insert: [] + update: [] + replace: [] + delete: [] + managed_connector_plugins: + id: confluent.connect.managed_connector_plugins + name: managed_connector_plugins + title: Managed Connector Plugins + methods: + list_connectv1connector_plugins: + operation: + $ref: '#/paths/~1connect~1v1~1environments~1{environment_id}~1clusters~1{kafka_cluster_id}~1connector-plugins/get' + response: + mediaType: application/json + openAPIDocKey: '200' + validate_connectv1connector_plugin: + operation: + $ref: '#/paths/~1connect~1v1~1environments~1{environment_id}~1clusters~1{kafka_cluster_id}~1connector-plugins~1{plugin_name}~1config~1validate/put' + response: + mediaType: application/json + openAPIDocKey: '200' + sqlVerbs: + select: [] + insert: [] + update: [] + replace: [] + delete: [] + connector_offsets: + id: confluent.connect.connector_offsets + name: connector_offsets + title: Connector Offsets + methods: + get_connectv1connector_offsets: + operation: + $ref: '#/paths/~1connect~1v1~1environments~1{environment_id}~1clusters~1{kafka_cluster_id}~1connectors~1{connector_name}~1offsets/get' + response: + mediaType: application/json + openAPIDocKey: '200' + schemaRef: '#/components/schemas/connect.v1.ConnectorOffsets' + sqlVerbs: + select: + - $ref: '#/components/x-stackQL-resources/connector_offsets/methods/get_connectv1connector_offsets' + insert: [] + update: [] + replace: [] + delete: [] + connector_offsets_requests: + id: confluent.connect.connector_offsets_requests + name: connector_offsets_requests + title: Connector Offsets Requests + methods: + alter_connectv1connector_offsets_request: + operation: + $ref: '#/paths/~1connect~1v1~1environments~1{environment_id}~1clusters~1{kafka_cluster_id}~1connectors~1{connector_name}~1offsets~1request/post' + response: + mediaType: application/json + openAPIDocKey: '202' + schemaRef: '#/components/schemas/connect.v1.AlterOffsetRequestInfo' + sqlVerbs: + select: [] + insert: [] + update: [] + replace: [] + delete: [] + connector_offsets_request_status: + id: confluent.connect.connector_offsets_request_status + name: connector_offsets_request_status + title: Connector Offsets Request Status + methods: + get_connectv1connector_offsets_request_status: + operation: + $ref: '#/paths/~1connect~1v1~1environments~1{environment_id}~1clusters~1{kafka_cluster_id}~1connectors~1{connector_name}~1offsets~1request~1status/get' + response: + mediaType: application/json + openAPIDocKey: '200' + schemaRef: '#/components/schemas/connect.v1.AlterOffsetStatus' + sqlVerbs: + select: + - $ref: '#/components/x-stackQL-resources/connector_offsets_request_status/methods/get_connectv1connector_offsets_request_status' + insert: [] + update: [] + replace: [] + delete: [] + custom_connector_plugins: + id: confluent.connect.custom_connector_plugins + name: custom_connector_plugins + title: Custom Connector Plugins + methods: + list_connect_v1custom_connector_plugins: + operation: + $ref: '#/paths/~1connect~1v1~1custom-connector-plugins/get' + response: + mediaType: application/json + openAPIDocKey: '200' + objectKey: $.data + create_connect_v1custom_connector_plugin: + operation: + $ref: '#/paths/~1connect~1v1~1custom-connector-plugins/post' + response: + mediaType: application/json + openAPIDocKey: '201' + get_connect_v1custom_connector_plugin: + operation: + $ref: '#/paths/~1connect~1v1~1custom-connector-plugins~1{id}/get' + response: + mediaType: application/json + openAPIDocKey: '200' + update_connect_v1custom_connector_plugin: + operation: + $ref: '#/paths/~1connect~1v1~1custom-connector-plugins~1{id}/patch' + response: + mediaType: application/json + openAPIDocKey: '200' + delete_connect_v1custom_connector_plugin: + operation: + $ref: '#/paths/~1connect~1v1~1custom-connector-plugins~1{id}/delete' + response: + mediaType: application/json + openAPIDocKey: '204' + sqlVerbs: + select: + - $ref: '#/components/x-stackQL-resources/custom_connector_plugins/methods/get_connect_v1custom_connector_plugin' + - $ref: '#/components/x-stackQL-resources/custom_connector_plugins/methods/list_connect_v1custom_connector_plugins' + insert: + - $ref: '#/components/x-stackQL-resources/custom_connector_plugins/methods/create_connect_v1custom_connector_plugin' + update: + - $ref: '#/components/x-stackQL-resources/custom_connector_plugins/methods/update_connect_v1custom_connector_plugin' + replace: [] + delete: + - $ref: '#/components/x-stackQL-resources/custom_connector_plugins/methods/delete_connect_v1custom_connector_plugin' + presigned_urls: + id: confluent.connect.presigned_urls + name: presigned_urls + title: Presigned Urls + methods: + presigned_upload_url_connect_v1presigned_url: + operation: + $ref: '#/paths/~1connect~1v1~1presigned-upload-url/post' + response: + mediaType: application/json + openAPIDocKey: '200' + sqlVerbs: + select: [] + insert: [] + update: [] + replace: [] + delete: [] +paths: + '/connect/v1/environments/{environment_id}/clusters/{kafka_cluster_id}/connectors': + get: + operationId: listConnectv1Connectors + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + Retrieve a list of "names" of the active connectors. You can then make a [read request](#operation/readConnectv1Connector) for a specific connector by name. + summary: List of Connectors + tags: + - Connectors (connect/v1) + security: + - cloud-api-key: [] + - confluent-sts-access-token: [] + parameters: + - 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. + responses: + '200': + description: Connector. + content: + application/json: + schema: + type: array + description: List of connector names + items: + type: string + description: Connector name + example: + - MyGcsLogsBucketConnector + - MyS3BucketConnector + - MyDatagenConnector + '401': + $ref: '#/components/responses/connect.v1.UnauthenticatedError' + '404': + $ref: '#/components/responses/connect.v1.AccountNotFoundError' + '429': + $ref: '#/components/responses/RateLimitError' + '500': + $ref: '#/components/responses/connect.v1.DefaultSystemError' + x-codeSamples: + - lang: Shell + source: |- + curl --request GET \ + --url 'https://api.confluent.cloud/connect/v1/environments/{environment_id}/clusters/{kafka_cluster_id}/connectors' \ + --header 'Authorization: Basic REPLACE_BASIC_AUTH' + - lang: Java + source: |- + OkHttpClient client = new OkHttpClient(); + + Request request = new Request.Builder() + .url("https://api.confluent.cloud/connect/v1/environments/{environment_id}/clusters/{kafka_cluster_id}/connectors") + .get() + .addHeader("Authorization", "Basic REPLACE_BASIC_AUTH") + .build(); + + Response response = client.newCall(request).execute(); + - lang: Go + source: "package main\n\nimport (\n\t\"fmt\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.confluent.cloud/connect/v1/environments/{environment_id}/clusters/{kafka_cluster_id}/connectors\"\n\n\treq, _ := http.NewRequest(\"GET\", url, nil)\n\n\treq.Header.Add(\"Authorization\", \"Basic REPLACE_BASIC_AUTH\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}" + - lang: Python + source: |- + import http.client + + conn = http.client.HTTPSConnection("api.confluent.cloud") + + headers = { 'Authorization': "Basic REPLACE_BASIC_AUTH" } + + conn.request("GET", "/connect/v1/environments/{environment_id}/clusters/{kafka_cluster_id}/connectors", headers=headers) + + res = conn.getresponse() + data = res.read() + + print(data.decode("utf-8")) + - lang: Node + source: |- + const http = require("https"); + + const options = { + "method": "GET", + "hostname": "api.confluent.cloud", + "port": null, + "path": "/connect/v1/environments/{environment_id}/clusters/{kafka_cluster_id}/connectors", + "headers": { + "Authorization": "Basic REPLACE_BASIC_AUTH" + } + }; + + const req = http.request(options, function (res) { + const chunks = []; + + res.on("data", function (chunk) { + chunks.push(chunk); + }); + + res.on("end", function () { + const body = Buffer.concat(chunks); + console.log(body.toString()); + }); + }); + + req.end(); + - lang: C + source: |- + CURL *hnd = curl_easy_init(); + + curl_easy_setopt(hnd, CURLOPT_CUSTOMREQUEST, "GET"); + curl_easy_setopt(hnd, CURLOPT_URL, "https://api.confluent.cloud/connect/v1/environments/{environment_id}/clusters/{kafka_cluster_id}/connectors"); + + struct curl_slist *headers = NULL; + headers = curl_slist_append(headers, "Authorization: Basic REPLACE_BASIC_AUTH"); + curl_easy_setopt(hnd, CURLOPT_HTTPHEADER, headers); + + CURLcode ret = curl_easy_perform(hnd); + - lang: C# + source: |- + var client = new RestClient("https://api.confluent.cloud/connect/v1/environments/{environment_id}/clusters/{kafka_cluster_id}/connectors"); + var request = new RestRequest(Method.GET); + request.AddHeader("Authorization", "Basic REPLACE_BASIC_AUTH"); + IRestResponse response = client.Execute(request); + post: + operationId: createConnectv1Connector + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + Create a new connector. Returns the new connector information if successful. + summary: Create a Connector + tags: + - Connectors (connect/v1) + security: + - cloud-api-key: [] + - confluent-sts-access-token: [] + responses: + '201': + description: Created + content: + application/json: + schema: + $ref: '#/components/schemas/connect.v1.ConnectorWithOffsets' + 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: '1' + time.interval: DAILY + topics: APILogsTopic + tasks: + - connector: MyGcsLogsBucketConnector + task: 0 + type: sink + offsets: + - partition: + kafka_partition: 0 + kafka_topic: APILogsTopic + offset: + kafka_offset: 1000 + headers: {} + '400': + description: Bad Request + content: + application/json: + schema: + type: object + properties: + code: + type: integer + message: + type: string + example: + error: + code: 400 + message: Unauthorized + '401': + $ref: '#/components/responses/connect.v1.UnauthenticatedError' + '429': + $ref: '#/components/responses/RateLimitError' + '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.... + requestBody: + content: + application/json: + schema: + type: object + properties: + name: + type: string + description: Name of the connector to create. + config: + type: object + description: Configuration parameters for the connector. All values should be strings. + x-redact: true + 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. For custom connector, it must be the same as the name of the connector to create.' + 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 + x-extensible-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' + x-extensible-enum: + - 'TRUE' + - 'FALSE' + additionalProperties: + type: string + description: Other configuration parameters for the connector. All values should be strings. See the connector's docs for details. + offsets: + $ref: '#/components/schemas/connect.v1.Offsets' + examples: + sink: + value: + 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 + offsets: + - partition: + kafka_partition: 0 + kafka_topic: APILogsTopic + offset: + kafka_offset: 1000 + source: + value: + name: MySqlCdcSourceV2Connector_0 + config: + connector.class: MySqlCdcSourceV2 + output.data.format: JSON + flush.size: '1000' + database.hostname: 12.34.567.98 + database.password: '****************' + database.port: '1234' + database.user: '****' + kafka.api.key: '****************' + kafka.api.secret: '****************' + name: MySqlCdcSourceV2Connector_0 + tasks.max: '1' + time.interval: DAILY + topic.prefix: test + offsets: + - partition: + server: test + offset: + file: mysql-bin.000123 + pos: 154 + ts_sec: 1712907333 + description: '' + x-codeSamples: + - lang: Shell + source: |- + curl --request POST \ + --url 'https://api.confluent.cloud/connect/v1/environments/{environment_id}/clusters/{kafka_cluster_id}/connectors' \ + --header 'Authorization: Basic REPLACE_BASIC_AUTH' \ + --header 'content-type: application/json' \ + --data '{"name":"string","config":{"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","property1":"string","property2":"string"},"offsets":[{"partition":{},"offset":{}}]}' + - lang: Java + source: |- + OkHttpClient client = new OkHttpClient(); + + MediaType mediaType = MediaType.parse("application/json"); + RequestBody body = RequestBody.create(mediaType, "{\"name\":\"string\",\"config\":{\"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\",\"property1\":\"string\",\"property2\":\"string\"},\"offsets\":[{\"partition\":{},\"offset\":{}}]}"); + Request request = new Request.Builder() + .url("https://api.confluent.cloud/connect/v1/environments/{environment_id}/clusters/{kafka_cluster_id}/connectors") + .post(body) + .addHeader("content-type", "application/json") + .addHeader("Authorization", "Basic REPLACE_BASIC_AUTH") + .build(); + + Response response = client.newCall(request).execute(); + - lang: Go + source: "package main\n\nimport (\n\t\"fmt\"\n\t\"strings\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.confluent.cloud/connect/v1/environments/{environment_id}/clusters/{kafka_cluster_id}/connectors\"\n\n\tpayload := strings.NewReader(\"{\\\"name\\\":\\\"string\\\",\\\"config\\\":{\\\"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\\\",\\\"property1\\\":\\\"string\\\",\\\"property2\\\":\\\"string\\\"},\\\"offsets\\\":[{\\\"partition\\\":{},\\\"offset\\\":{}}]}\")\n\n\treq, _ := http.NewRequest(\"POST\", url, payload)\n\n\treq.Header.Add(\"content-type\", \"application/json\")\n\treq.Header.Add(\"Authorization\", \"Basic REPLACE_BASIC_AUTH\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}" + - lang: Python + source: |- + import http.client + + conn = http.client.HTTPSConnection("api.confluent.cloud") + + payload = "{\"name\":\"string\",\"config\":{\"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\",\"property1\":\"string\",\"property2\":\"string\"},\"offsets\":[{\"partition\":{},\"offset\":{}}]}" + + headers = { + 'content-type': "application/json", + 'Authorization': "Basic REPLACE_BASIC_AUTH" + } + + conn.request("POST", "/connect/v1/environments/{environment_id}/clusters/{kafka_cluster_id}/connectors", payload, headers) + + res = conn.getresponse() + data = res.read() + + print(data.decode("utf-8")) + - lang: Node + source: |- + const http = require("https"); + + const options = { + "method": "POST", + "hostname": "api.confluent.cloud", + "port": null, + "path": "/connect/v1/environments/{environment_id}/clusters/{kafka_cluster_id}/connectors", + "headers": { + "content-type": "application/json", + "Authorization": "Basic REPLACE_BASIC_AUTH" + } + }; + + const req = http.request(options, function (res) { + const chunks = []; + + res.on("data", function (chunk) { + chunks.push(chunk); + }); + + res.on("end", function () { + const body = Buffer.concat(chunks); + console.log(body.toString()); + }); + }); + + req.write(JSON.stringify({ + name: 'string', + config: { + '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', + property1: 'string', + property2: 'string' + }, + offsets: [{partition: {}, offset: {}}] + })); + req.end(); + - lang: C + source: |- + CURL *hnd = curl_easy_init(); + + curl_easy_setopt(hnd, CURLOPT_CUSTOMREQUEST, "POST"); + curl_easy_setopt(hnd, CURLOPT_URL, "https://api.confluent.cloud/connect/v1/environments/{environment_id}/clusters/{kafka_cluster_id}/connectors"); + + struct curl_slist *headers = NULL; + headers = curl_slist_append(headers, "content-type: application/json"); + headers = curl_slist_append(headers, "Authorization: Basic REPLACE_BASIC_AUTH"); + curl_easy_setopt(hnd, CURLOPT_HTTPHEADER, headers); + + curl_easy_setopt(hnd, CURLOPT_POSTFIELDS, "{\"name\":\"string\",\"config\":{\"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\",\"property1\":\"string\",\"property2\":\"string\"},\"offsets\":[{\"partition\":{},\"offset\":{}}]}"); + + CURLcode ret = curl_easy_perform(hnd); + - lang: C# + source: |- + var client = new RestClient("https://api.confluent.cloud/connect/v1/environments/{environment_id}/clusters/{kafka_cluster_id}/connectors"); + var request = new RestRequest(Method.POST); + request.AddHeader("content-type", "application/json"); + request.AddHeader("Authorization", "Basic REPLACE_BASIC_AUTH"); + request.AddParameter("application/json", "{\"name\":\"string\",\"config\":{\"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\",\"property1\":\"string\",\"property2\":\"string\"},\"offsets\":[{\"partition\":{},\"offset\":{}}]}", ParameterType.RequestBody); + IRestResponse response = client.Execute(request); + parameters: + - 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. + '/connect/v1/environments/{environment_id}/clusters/{kafka_cluster_id}/connectors?expand=info,status,id': + get: + operationId: listConnectv1ConnectorsWithExpansions + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + Retrieve an object with the queried expansions of all connectors. Without `expand` query parameter, this list connector’s endpoint will return a [list of only the connector names](#operation/listConnectv1Connectors). + summary: List of Connectors with Expansions + tags: + - Connectors (connect/v1) + security: + - cloud-api-key: [] + - confluent-sts-access-token: [] + responses: + '200': + description: Connector. + content: + application/json: + schema: + $ref: '#/components/schemas/connect.v1.ConnectorExpansionMap' + example: + MyGcsLogsBucketConnector: + id: + id: lcc-xxxxx + id_type: ID + info: + 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 + type: sink + status: + name: MyGcsLogsBucketConnector + connector: + state: PROVISIONING + worker_id: MyGcsLogsBucketConnector + trace: '' + tasks: [] + type: sink + MyS3BucketConnector: + id: + id: lcc-xxxxx + id_type: ID + info: + name: MyS3BucketConnector + config: + cloud.environment: prod + cloud.provider: aws + connector.class: S3Sink + data.format: BYTES + flush.size: '1000' + s3.bucket: APILogsBucket + aws.access.key.id: '************' + aws.secret.access.key: '**********' + 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: MyS3BucketConnector + tasks.max: '1' + time.interval: DAILY + topics: APILogsTopic + type: source + status: + name: MyS3BucketConnector + connector: + state: FAILED + worker_id: MyS3BucketConnector + trace: | + There were some errors with your configuration: + topics: Provided Kafka ApiKey is invalid + kafka.api.secret: Provided Kafka ApiKey is invalid + tasks: [] + type: sink + MyDatagenConnector: + id: + id: lcc-xxxxx + id_type: ID + info: + name: MyDatagenConnector + config: + cloud.environment: prod + cloud.provider: aws + connector.class: DatagenSource + data.format: BYTES + flush.size: '1000' + quickstart: ORDERS + 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: MyDatagenConnector + tasks.max: '1' + time.interval: DAILY + topics: APILogsTopic + type: source + status: + name: MyDatagenConnector + connector: + state: RUNNING + worker_id: MyDatagenConnector + trace: '' + tasks: + - id: 0 + msg: '' + state: RUNNING + worker_id: MyDatagenConnector + type: source + '401': + $ref: '#/components/responses/connect.v1.UnauthenticatedError' + '404': + $ref: '#/components/responses/connect.v1.AccountNotFoundError' + '429': + $ref: '#/components/responses/RateLimitError' + '500': + $ref: '#/components/responses/connect.v1.DefaultSystemError' + parameters: + - 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. + - name: expand + in: query + description: |- + - id : Returns metadata of each connector such as id and id type. + - info : Returns metadata of each connector such as the configuration, task + information, and type of connector. + - status : Returns additional state information of each connector including their status and tasks. + schema: + type: string + enum: + - id + - info + - status + x-codeSamples: + - lang: Shell + source: |- + curl --request GET \ + --url 'https://api.confluent.cloud/connect/v1/environments/{environment_id}/clusters/{kafka_cluster_id}/connectors?expand=info,status,id' \ + --header 'Authorization: Basic REPLACE_BASIC_AUTH' + - lang: Java + source: |- + OkHttpClient client = new OkHttpClient(); + + Request request = new Request.Builder() + .url("https://api.confluent.cloud/connect/v1/environments/{environment_id}/clusters/{kafka_cluster_id}/connectors?expand=info,status,id") + .get() + .addHeader("Authorization", "Basic REPLACE_BASIC_AUTH") + .build(); + + Response response = client.newCall(request).execute(); + - lang: Go + source: "package main\n\nimport (\n\t\"fmt\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.confluent.cloud/connect/v1/environments/{environment_id}/clusters/{kafka_cluster_id}/connectors?expand=info,status,id\"\n\n\treq, _ := http.NewRequest(\"GET\", url, nil)\n\n\treq.Header.Add(\"Authorization\", \"Basic REPLACE_BASIC_AUTH\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}" + - lang: Python + source: |- + import http.client + + conn = http.client.HTTPSConnection("api.confluent.cloud") + + headers = { 'Authorization': "Basic REPLACE_BASIC_AUTH" } + + conn.request("GET", "/connect/v1/environments/{environment_id}/clusters/{kafka_cluster_id}/connectors?expand=info,status,id", headers=headers) + + res = conn.getresponse() + data = res.read() + + print(data.decode("utf-8")) + - lang: Node + source: |- + const http = require("https"); + + const options = { + "method": "GET", + "hostname": "api.confluent.cloud", + "port": null, + "path": "/connect/v1/environments/{environment_id}/clusters/{kafka_cluster_id}/connectors?expand=info,status,id", + "headers": { + "Authorization": "Basic REPLACE_BASIC_AUTH" + } + }; + + const req = http.request(options, function (res) { + const chunks = []; + + res.on("data", function (chunk) { + chunks.push(chunk); + }); + + res.on("end", function () { + const body = Buffer.concat(chunks); + console.log(body.toString()); + }); + }); + + req.end(); + - lang: C + source: |- + CURL *hnd = curl_easy_init(); + + curl_easy_setopt(hnd, CURLOPT_CUSTOMREQUEST, "GET"); + curl_easy_setopt(hnd, CURLOPT_URL, "https://api.confluent.cloud/connect/v1/environments/{environment_id}/clusters/{kafka_cluster_id}/connectors?expand=info,status,id"); + + struct curl_slist *headers = NULL; + headers = curl_slist_append(headers, "Authorization: Basic REPLACE_BASIC_AUTH"); + curl_easy_setopt(hnd, CURLOPT_HTTPHEADER, headers); + + CURLcode ret = curl_easy_perform(hnd); + - lang: C# + source: |- + var client = new RestClient("https://api.confluent.cloud/connect/v1/environments/{environment_id}/clusters/{kafka_cluster_id}/connectors?expand=info,status,id"); + var request = new RestRequest(Method.GET); + request.AddHeader("Authorization", "Basic REPLACE_BASIC_AUTH"); + IRestResponse response = client.Execute(request); + '/connect/v1/environments/{environment_id}/clusters/{kafka_cluster_id}/connectors/{connector_name}/config': + get: + operationId: getConnectv1ConnectorConfig + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + Get the configuration for the connector. + summary: Read a Connector Configuration + tags: + - Connectors (connect/v1) + security: + - cloud-api-key: [] + - confluent-sts-access-token: [] + responses: + '200': + description: Connector. + content: + application/json: + schema: + type: object + description: Configuration parameters for the connector. + 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.' + x-extensible-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. For Custom Connector, it must be the same as connector_name.' + 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 + description: Other configuration parameters for the connector. See the connector's docs for the list of options. + example: + 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 + '401': + $ref: '#/components/responses/connect.v1.UnauthenticatedError' + '404': + $ref: '#/components/responses/connect.v1.AccountNotFoundError' + '429': + $ref: '#/components/responses/RateLimitError' + '500': + $ref: '#/components/responses/connect.v1.DefaultSystemError' + x-codeSamples: + - lang: Shell + source: |- + 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' + - lang: Java + source: |- + OkHttpClient client = new OkHttpClient(); + + Request request = new Request.Builder() + .url("https://api.confluent.cloud/connect/v1/environments/{environment_id}/clusters/{kafka_cluster_id}/connectors/{connector_name}/config") + .get() + .addHeader("Authorization", "Basic REPLACE_BASIC_AUTH") + .build(); + + Response response = client.newCall(request).execute(); + - lang: Go + source: "package main\n\nimport (\n\t\"fmt\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.confluent.cloud/connect/v1/environments/{environment_id}/clusters/{kafka_cluster_id}/connectors/{connector_name}/config\"\n\n\treq, _ := http.NewRequest(\"GET\", url, nil)\n\n\treq.Header.Add(\"Authorization\", \"Basic REPLACE_BASIC_AUTH\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}" + - lang: Python + source: |- + import http.client + + conn = http.client.HTTPSConnection("api.confluent.cloud") + + headers = { 'Authorization': "Basic REPLACE_BASIC_AUTH" } + + conn.request("GET", "/connect/v1/environments/{environment_id}/clusters/{kafka_cluster_id}/connectors/{connector_name}/config", headers=headers) + + res = conn.getresponse() + data = res.read() + + print(data.decode("utf-8")) + - lang: Node + source: |- + const http = require("https"); + + const options = { + "method": "GET", + "hostname": "api.confluent.cloud", + "port": null, + "path": "/connect/v1/environments/{environment_id}/clusters/{kafka_cluster_id}/connectors/{connector_name}/config", + "headers": { + "Authorization": "Basic REPLACE_BASIC_AUTH" + } + }; + + const req = http.request(options, function (res) { + const chunks = []; + + res.on("data", function (chunk) { + chunks.push(chunk); + }); + + res.on("end", function () { + const body = Buffer.concat(chunks); + console.log(body.toString()); + }); + }); + + req.end(); + - lang: C + source: |- + CURL *hnd = curl_easy_init(); + + curl_easy_setopt(hnd, CURLOPT_CUSTOMREQUEST, "GET"); + curl_easy_setopt(hnd, CURLOPT_URL, "https://api.confluent.cloud/connect/v1/environments/{environment_id}/clusters/{kafka_cluster_id}/connectors/{connector_name}/config"); + + struct curl_slist *headers = NULL; + headers = curl_slist_append(headers, "Authorization: Basic REPLACE_BASIC_AUTH"); + curl_easy_setopt(hnd, CURLOPT_HTTPHEADER, headers); + + CURLcode ret = curl_easy_perform(hnd); + - lang: C# + source: |- + var client = new RestClient("https://api.confluent.cloud/connect/v1/environments/{environment_id}/clusters/{kafka_cluster_id}/connectors/{connector_name}/config"); + var request = new RestRequest(Method.GET); + request.AddHeader("Authorization", "Basic REPLACE_BASIC_AUTH"); + IRestResponse response = client.Execute(request); + 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. + put: + 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.' + summary: Create or Update a Connector Configuration + 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 + x-extensible-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' + x-extensible-enum: + - 'TRUE' + - 'FALSE' + 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: + $ref: '#/components/schemas/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': + $ref: '#/components/responses/connect.v1.BadRequestError' + '401': + $ref: '#/components/responses/connect.v1.UnauthenticatedError' + '404': + $ref: '#/components/responses/connect.v1.AccountNotFoundError' + '429': + $ref: '#/components/responses/RateLimitError' + '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.... + x-codeSamples: + - lang: Shell + source: |- + curl --request PUT \ + --url 'https://api.confluent.cloud/connect/v1/environments/{environment_id}/clusters/{kafka_cluster_id}/connectors/{connector_name}/config' \ + --header 'Authorization: Basic REPLACE_BASIC_AUTH' \ + --header 'content-type: application/json' \ + --data '{"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","property1":"string","property2":"string"}' + - lang: Java + source: |- + OkHttpClient client = new OkHttpClient(); + + MediaType mediaType = MediaType.parse("application/json"); + RequestBody body = RequestBody.create(mediaType, "{\"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\",\"property1\":\"string\",\"property2\":\"string\"}"); + Request request = new Request.Builder() + .url("https://api.confluent.cloud/connect/v1/environments/{environment_id}/clusters/{kafka_cluster_id}/connectors/{connector_name}/config") + .put(body) + .addHeader("content-type", "application/json") + .addHeader("Authorization", "Basic REPLACE_BASIC_AUTH") + .build(); + + Response response = client.newCall(request).execute(); + - lang: Go + source: "package main\n\nimport (\n\t\"fmt\"\n\t\"strings\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.confluent.cloud/connect/v1/environments/{environment_id}/clusters/{kafka_cluster_id}/connectors/{connector_name}/config\"\n\n\tpayload := strings.NewReader(\"{\\\"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\\\",\\\"property1\\\":\\\"string\\\",\\\"property2\\\":\\\"string\\\"}\")\n\n\treq, _ := http.NewRequest(\"PUT\", url, payload)\n\n\treq.Header.Add(\"content-type\", \"application/json\")\n\treq.Header.Add(\"Authorization\", \"Basic REPLACE_BASIC_AUTH\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}" + - lang: Python + source: |- + import http.client + + conn = http.client.HTTPSConnection("api.confluent.cloud") + + payload = "{\"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\",\"property1\":\"string\",\"property2\":\"string\"}" + + headers = { + 'content-type': "application/json", + 'Authorization': "Basic REPLACE_BASIC_AUTH" + } + + conn.request("PUT", "/connect/v1/environments/{environment_id}/clusters/{kafka_cluster_id}/connectors/{connector_name}/config", payload, headers) + + res = conn.getresponse() + data = res.read() + + print(data.decode("utf-8")) + - lang: Node + source: |- + const http = require("https"); + + const options = { + "method": "PUT", + "hostname": "api.confluent.cloud", + "port": null, + "path": "/connect/v1/environments/{environment_id}/clusters/{kafka_cluster_id}/connectors/{connector_name}/config", + "headers": { + "content-type": "application/json", + "Authorization": "Basic REPLACE_BASIC_AUTH" + } + }; + + const req = http.request(options, function (res) { + const chunks = []; + + res.on("data", function (chunk) { + chunks.push(chunk); + }); + + res.on("end", function () { + const body = Buffer.concat(chunks); + console.log(body.toString()); + }); + }); + + req.write(JSON.stringify({ + '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', + property1: 'string', + property2: 'string' + })); + req.end(); + - lang: C + source: |- + CURL *hnd = curl_easy_init(); + + curl_easy_setopt(hnd, CURLOPT_CUSTOMREQUEST, "PUT"); + curl_easy_setopt(hnd, CURLOPT_URL, "https://api.confluent.cloud/connect/v1/environments/{environment_id}/clusters/{kafka_cluster_id}/connectors/{connector_name}/config"); + + struct curl_slist *headers = NULL; + headers = curl_slist_append(headers, "content-type: application/json"); + headers = curl_slist_append(headers, "Authorization: Basic REPLACE_BASIC_AUTH"); + curl_easy_setopt(hnd, CURLOPT_HTTPHEADER, headers); + + curl_easy_setopt(hnd, CURLOPT_POSTFIELDS, "{\"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\",\"property1\":\"string\",\"property2\":\"string\"}"); + + CURLcode ret = curl_easy_perform(hnd); + - lang: C# + source: |- + var client = new RestClient("https://api.confluent.cloud/connect/v1/environments/{environment_id}/clusters/{kafka_cluster_id}/connectors/{connector_name}/config"); + var request = new RestRequest(Method.PUT); + request.AddHeader("content-type", "application/json"); + request.AddHeader("Authorization", "Basic REPLACE_BASIC_AUTH"); + request.AddParameter("application/json", "{\"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\",\"property1\":\"string\",\"property2\":\"string\"}", ParameterType.RequestBody); + IRestResponse response = client.Execute(request); + 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. + '/connect/v1/environments/{environment_id}/clusters/{kafka_cluster_id}/connectors/{connector_name}': + get: + operationId: readConnectv1Connector + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + Get information about the connector. + summary: Read a Connector + tags: + - Connectors (connect/v1) + security: + - cloud-api-key: [] + - confluent-sts-access-token: [] + responses: + '200': + description: Connector. + content: + application/json: + schema: + $ref: '#/components/schemas/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: '1' + time.interval: DAILY + topics: APILogsTopic + tasks: + - connector: MyGcsLogsBucketConnector + task: 0 + type: sink + '401': + $ref: '#/components/responses/connect.v1.UnauthenticatedError' + '404': + $ref: '#/components/responses/connect.v1.AccountNotFoundError' + '429': + $ref: '#/components/responses/RateLimitError' + '500': + $ref: '#/components/responses/connect.v1.DefaultSystemError' + x-codeSamples: + - lang: Shell + source: |- + 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' + - lang: Java + source: |- + OkHttpClient client = new OkHttpClient(); + + Request request = new Request.Builder() + .url("https://api.confluent.cloud/connect/v1/environments/{environment_id}/clusters/{kafka_cluster_id}/connectors/{connector_name}") + .get() + .addHeader("Authorization", "Basic REPLACE_BASIC_AUTH") + .build(); + + Response response = client.newCall(request).execute(); + - lang: Go + source: "package main\n\nimport (\n\t\"fmt\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.confluent.cloud/connect/v1/environments/{environment_id}/clusters/{kafka_cluster_id}/connectors/{connector_name}\"\n\n\treq, _ := http.NewRequest(\"GET\", url, nil)\n\n\treq.Header.Add(\"Authorization\", \"Basic REPLACE_BASIC_AUTH\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}" + - lang: Python + source: |- + import http.client + + conn = http.client.HTTPSConnection("api.confluent.cloud") + + headers = { 'Authorization': "Basic REPLACE_BASIC_AUTH" } + + conn.request("GET", "/connect/v1/environments/{environment_id}/clusters/{kafka_cluster_id}/connectors/{connector_name}", headers=headers) + + res = conn.getresponse() + data = res.read() + + print(data.decode("utf-8")) + - lang: Node + source: |- + const http = require("https"); + + const options = { + "method": "GET", + "hostname": "api.confluent.cloud", + "port": null, + "path": "/connect/v1/environments/{environment_id}/clusters/{kafka_cluster_id}/connectors/{connector_name}", + "headers": { + "Authorization": "Basic REPLACE_BASIC_AUTH" + } + }; + + const req = http.request(options, function (res) { + const chunks = []; + + res.on("data", function (chunk) { + chunks.push(chunk); + }); + + res.on("end", function () { + const body = Buffer.concat(chunks); + console.log(body.toString()); + }); + }); + + req.end(); + - lang: C + source: |- + CURL *hnd = curl_easy_init(); + + curl_easy_setopt(hnd, CURLOPT_CUSTOMREQUEST, "GET"); + curl_easy_setopt(hnd, CURLOPT_URL, "https://api.confluent.cloud/connect/v1/environments/{environment_id}/clusters/{kafka_cluster_id}/connectors/{connector_name}"); + + struct curl_slist *headers = NULL; + headers = curl_slist_append(headers, "Authorization: Basic REPLACE_BASIC_AUTH"); + curl_easy_setopt(hnd, CURLOPT_HTTPHEADER, headers); + + CURLcode ret = curl_easy_perform(hnd); + - lang: C# + source: |- + var client = new RestClient("https://api.confluent.cloud/connect/v1/environments/{environment_id}/clusters/{kafka_cluster_id}/connectors/{connector_name}"); + var request = new RestRequest(Method.GET); + request.AddHeader("Authorization", "Basic REPLACE_BASIC_AUTH"); + IRestResponse response = client.Execute(request); + 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. + delete: + operationId: deleteConnectv1Connector + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + Delete a connector. Halts all tasks and deletes the connector configuration. + summary: Delete a Connector + tags: + - Connectors (connect/v1) + security: + - cloud-api-key: [] + - confluent-sts-access-token: [] + responses: + '200': + $ref: '#/components/responses/connect.v1.OK' + '401': + $ref: '#/components/responses/connect.v1.UnauthenticatedError' + '404': + $ref: '#/components/responses/connect.v1.ResourceNotFoundError' + '429': + $ref: '#/components/responses/RateLimitError' + '500': + $ref: '#/components/responses/connect.v1.DefaultSystemError' + x-codeSamples: + - lang: Shell + source: |- + 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' + - lang: Java + source: |- + OkHttpClient client = new OkHttpClient(); + + Request request = new Request.Builder() + .url("https://api.confluent.cloud/connect/v1/environments/{environment_id}/clusters/{kafka_cluster_id}/connectors/{connector_name}") + .delete(null) + .addHeader("Authorization", "Basic REPLACE_BASIC_AUTH") + .build(); + + Response response = client.newCall(request).execute(); + - lang: Go + source: "package main\n\nimport (\n\t\"fmt\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.confluent.cloud/connect/v1/environments/{environment_id}/clusters/{kafka_cluster_id}/connectors/{connector_name}\"\n\n\treq, _ := http.NewRequest(\"DELETE\", url, nil)\n\n\treq.Header.Add(\"Authorization\", \"Basic REPLACE_BASIC_AUTH\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}" + - lang: Python + source: |- + import http.client + + conn = http.client.HTTPSConnection("api.confluent.cloud") + + headers = { 'Authorization': "Basic REPLACE_BASIC_AUTH" } + + conn.request("DELETE", "/connect/v1/environments/{environment_id}/clusters/{kafka_cluster_id}/connectors/{connector_name}", headers=headers) + + res = conn.getresponse() + data = res.read() + + print(data.decode("utf-8")) + - lang: Node + source: |- + const http = require("https"); + + const options = { + "method": "DELETE", + "hostname": "api.confluent.cloud", + "port": null, + "path": "/connect/v1/environments/{environment_id}/clusters/{kafka_cluster_id}/connectors/{connector_name}", + "headers": { + "Authorization": "Basic REPLACE_BASIC_AUTH" + } + }; + + const req = http.request(options, function (res) { + const chunks = []; + + res.on("data", function (chunk) { + chunks.push(chunk); + }); + + res.on("end", function () { + const body = Buffer.concat(chunks); + console.log(body.toString()); + }); + }); + + req.end(); + - lang: C + source: |- + CURL *hnd = curl_easy_init(); + + curl_easy_setopt(hnd, CURLOPT_CUSTOMREQUEST, "DELETE"); + curl_easy_setopt(hnd, CURLOPT_URL, "https://api.confluent.cloud/connect/v1/environments/{environment_id}/clusters/{kafka_cluster_id}/connectors/{connector_name}"); + + struct curl_slist *headers = NULL; + headers = curl_slist_append(headers, "Authorization: Basic REPLACE_BASIC_AUTH"); + curl_easy_setopt(hnd, CURLOPT_HTTPHEADER, headers); + + CURLcode ret = curl_easy_perform(hnd); + - lang: C# + source: |- + var client = new RestClient("https://api.confluent.cloud/connect/v1/environments/{environment_id}/clusters/{kafka_cluster_id}/connectors/{connector_name}"); + var request = new RestRequest(Method.DELETE); + request.AddHeader("Authorization", "Basic REPLACE_BASIC_AUTH"); + IRestResponse response = client.Execute(request); + 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. + '/connect/v1/environments/{environment_id}/clusters/{kafka_cluster_id}/connectors/{connector_name}/pause': + put: + operationId: pauseConnectv1Connector + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + Pause the connector and its tasks. Stops message processing until the connector is resumed. This call is asynchronous and the tasks will not transition to PAUSED state at the same time. + summary: Pause a Connector + tags: + - Lifecycle (connect/v1) + security: + - cloud-api-key: [] + - confluent-sts-access-token: [] + responses: + '202': + description: Accepted + '401': + $ref: '#/components/responses/connect.v1.UnauthenticatedError' + '404': + $ref: '#/components/responses/connect.v1.ResourceNotFoundError' + '429': + $ref: '#/components/responses/RateLimitError' + '500': + $ref: '#/components/responses/connect.v1.DefaultSystemError' + x-codeSamples: + - lang: Shell + source: |- + 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' + - lang: Java + source: |- + OkHttpClient client = new OkHttpClient(); + + Request request = new Request.Builder() + .url("https://api.confluent.cloud/connect/v1/environments/{environment_id}/clusters/{kafka_cluster_id}/connectors/{connector_name}/pause") + .put(null) + .addHeader("Authorization", "Basic REPLACE_BASIC_AUTH") + .build(); + + Response response = client.newCall(request).execute(); + - lang: Go + source: "package main\n\nimport (\n\t\"fmt\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.confluent.cloud/connect/v1/environments/{environment_id}/clusters/{kafka_cluster_id}/connectors/{connector_name}/pause\"\n\n\treq, _ := http.NewRequest(\"PUT\", url, nil)\n\n\treq.Header.Add(\"Authorization\", \"Basic REPLACE_BASIC_AUTH\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}" + - lang: Python + source: |- + import http.client + + conn = http.client.HTTPSConnection("api.confluent.cloud") + + headers = { 'Authorization': "Basic REPLACE_BASIC_AUTH" } + + conn.request("PUT", "/connect/v1/environments/{environment_id}/clusters/{kafka_cluster_id}/connectors/{connector_name}/pause", headers=headers) + + res = conn.getresponse() + data = res.read() + + print(data.decode("utf-8")) + - lang: Node + source: |- + const http = require("https"); + + const options = { + "method": "PUT", + "hostname": "api.confluent.cloud", + "port": null, + "path": "/connect/v1/environments/{environment_id}/clusters/{kafka_cluster_id}/connectors/{connector_name}/pause", + "headers": { + "Authorization": "Basic REPLACE_BASIC_AUTH" + } + }; + + const req = http.request(options, function (res) { + const chunks = []; + + res.on("data", function (chunk) { + chunks.push(chunk); + }); + + res.on("end", function () { + const body = Buffer.concat(chunks); + console.log(body.toString()); + }); + }); + + req.end(); + - lang: C + source: |- + CURL *hnd = curl_easy_init(); + + curl_easy_setopt(hnd, CURLOPT_CUSTOMREQUEST, "PUT"); + curl_easy_setopt(hnd, CURLOPT_URL, "https://api.confluent.cloud/connect/v1/environments/{environment_id}/clusters/{kafka_cluster_id}/connectors/{connector_name}/pause"); + + struct curl_slist *headers = NULL; + headers = curl_slist_append(headers, "Authorization: Basic REPLACE_BASIC_AUTH"); + curl_easy_setopt(hnd, CURLOPT_HTTPHEADER, headers); + + CURLcode ret = curl_easy_perform(hnd); + - lang: C# + source: |- + var client = new RestClient("https://api.confluent.cloud/connect/v1/environments/{environment_id}/clusters/{kafka_cluster_id}/connectors/{connector_name}/pause"); + var request = new RestRequest(Method.PUT); + request.AddHeader("Authorization", "Basic REPLACE_BASIC_AUTH"); + IRestResponse response = client.Execute(request); + 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. + '/connect/v1/environments/{environment_id}/clusters/{kafka_cluster_id}/connectors/{connector_name}/resume': + put: + operationId: resumeConnectv1Connector + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + Resume a paused connector or do nothing if the connector is not paused. This call is asynchronous and the tasks will not transition to RUNNING state at the same time. + summary: Resume a Connector + tags: + - Lifecycle (connect/v1) + security: + - cloud-api-key: [] + - confluent-sts-access-token: [] + responses: + '202': + description: Accepted + '401': + $ref: '#/components/responses/connect.v1.UnauthenticatedError' + '404': + $ref: '#/components/responses/connect.v1.ResourceNotFoundError' + '429': + $ref: '#/components/responses/RateLimitError' + '500': + $ref: '#/components/responses/connect.v1.DefaultSystemError' + x-codeSamples: + - lang: Shell + source: |- + 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' + - lang: Java + source: |- + OkHttpClient client = new OkHttpClient(); + + Request request = new Request.Builder() + .url("https://api.confluent.cloud/connect/v1/environments/{environment_id}/clusters/{kafka_cluster_id}/connectors/{connector_name}/resume") + .put(null) + .addHeader("Authorization", "Basic REPLACE_BASIC_AUTH") + .build(); + + Response response = client.newCall(request).execute(); + - lang: Go + source: "package main\n\nimport (\n\t\"fmt\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.confluent.cloud/connect/v1/environments/{environment_id}/clusters/{kafka_cluster_id}/connectors/{connector_name}/resume\"\n\n\treq, _ := http.NewRequest(\"PUT\", url, nil)\n\n\treq.Header.Add(\"Authorization\", \"Basic REPLACE_BASIC_AUTH\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}" + - lang: Python + source: |- + import http.client + + conn = http.client.HTTPSConnection("api.confluent.cloud") + + headers = { 'Authorization': "Basic REPLACE_BASIC_AUTH" } + + conn.request("PUT", "/connect/v1/environments/{environment_id}/clusters/{kafka_cluster_id}/connectors/{connector_name}/resume", headers=headers) + + res = conn.getresponse() + data = res.read() + + print(data.decode("utf-8")) + - lang: Node + source: |- + const http = require("https"); + + const options = { + "method": "PUT", + "hostname": "api.confluent.cloud", + "port": null, + "path": "/connect/v1/environments/{environment_id}/clusters/{kafka_cluster_id}/connectors/{connector_name}/resume", + "headers": { + "Authorization": "Basic REPLACE_BASIC_AUTH" + } + }; + + const req = http.request(options, function (res) { + const chunks = []; + + res.on("data", function (chunk) { + chunks.push(chunk); + }); + + res.on("end", function () { + const body = Buffer.concat(chunks); + console.log(body.toString()); + }); + }); + + req.end(); + - lang: C + source: |- + CURL *hnd = curl_easy_init(); + + curl_easy_setopt(hnd, CURLOPT_CUSTOMREQUEST, "PUT"); + curl_easy_setopt(hnd, CURLOPT_URL, "https://api.confluent.cloud/connect/v1/environments/{environment_id}/clusters/{kafka_cluster_id}/connectors/{connector_name}/resume"); + + struct curl_slist *headers = NULL; + headers = curl_slist_append(headers, "Authorization: Basic REPLACE_BASIC_AUTH"); + curl_easy_setopt(hnd, CURLOPT_HTTPHEADER, headers); + + CURLcode ret = curl_easy_perform(hnd); + - lang: C# + source: |- + var client = new RestClient("https://api.confluent.cloud/connect/v1/environments/{environment_id}/clusters/{kafka_cluster_id}/connectors/{connector_name}/resume"); + var request = new RestRequest(Method.PUT); + request.AddHeader("Authorization", "Basic REPLACE_BASIC_AUTH"); + IRestResponse response = client.Execute(request); + 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. + '/connect/v1/environments/{environment_id}/clusters/{kafka_cluster_id}/connectors/{connector_name}/status': + get: + operationId: readConnectv1ConnectorStatus + description: '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.' + summary: Read a Connector Status + tags: + - Status (connect/v1) + security: + - cloud-api-key: [] + - confluent-sts-access-token: [] + responses: + '200': + description: Connector. + content: + application/json: + schema: + type: object + properties: + name: + type: string + description: The name of the connector. + type: + type: string + description: 'Type of connector, sink or source.' + enum: + - sink + - source + connector: + type: object + description: The map containing connector status. + required: + - state + - worker_id + properties: + state: + type: string + description: The state of the connector. + enum: + - NONE + - PROVISIONING + - RUNNING + - DEGRADED + - FAILED + - PAUSED + - DELETED + worker_id: + type: string + description: The worker ID of the connector. + trace: + type: string + description: The exception name in case of error. + tasks: + type: array + description: The map containing the task status. + items: + type: object + properties: + id: + type: integer + description: The ID of task. + state: + type: string + description: The state of the task. + worker_id: + type: string + description: The worker ID of the task. + msg: + type: string + required: + - id + - state + - worker_id + required: + - name + - type + - connector + example: + name: MyGcsLogsBucketConnector + connector: + state: PROVISIONING + worker_id: MyGcsLogsBucketConnector + trace: '' + tasks: [] + type: source + '401': + $ref: '#/components/responses/connect.v1.UnauthenticatedError' + '404': + $ref: '#/components/responses/connect.v1.AccountNotFoundError' + '429': + $ref: '#/components/responses/RateLimitError' + '500': + $ref: '#/components/responses/connect.v1.DefaultSystemError' + x-codeSamples: + - lang: Shell + source: |- + 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' + - lang: Java + source: |- + OkHttpClient client = new OkHttpClient(); + + Request request = new Request.Builder() + .url("https://api.confluent.cloud/connect/v1/environments/{environment_id}/clusters/{kafka_cluster_id}/connectors/{connector_name}/status") + .get() + .addHeader("Authorization", "Basic REPLACE_BASIC_AUTH") + .build(); + + Response response = client.newCall(request).execute(); + - lang: Go + source: "package main\n\nimport (\n\t\"fmt\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.confluent.cloud/connect/v1/environments/{environment_id}/clusters/{kafka_cluster_id}/connectors/{connector_name}/status\"\n\n\treq, _ := http.NewRequest(\"GET\", url, nil)\n\n\treq.Header.Add(\"Authorization\", \"Basic REPLACE_BASIC_AUTH\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}" + - lang: Python + source: |- + import http.client + + conn = http.client.HTTPSConnection("api.confluent.cloud") + + headers = { 'Authorization': "Basic REPLACE_BASIC_AUTH" } + + conn.request("GET", "/connect/v1/environments/{environment_id}/clusters/{kafka_cluster_id}/connectors/{connector_name}/status", headers=headers) + + res = conn.getresponse() + data = res.read() + + print(data.decode("utf-8")) + - lang: Node + source: |- + const http = require("https"); + + const options = { + "method": "GET", + "hostname": "api.confluent.cloud", + "port": null, + "path": "/connect/v1/environments/{environment_id}/clusters/{kafka_cluster_id}/connectors/{connector_name}/status", + "headers": { + "Authorization": "Basic REPLACE_BASIC_AUTH" + } + }; + + const req = http.request(options, function (res) { + const chunks = []; + + res.on("data", function (chunk) { + chunks.push(chunk); + }); + + res.on("end", function () { + const body = Buffer.concat(chunks); + console.log(body.toString()); + }); + }); + + req.end(); + - lang: C + source: |- + CURL *hnd = curl_easy_init(); + + curl_easy_setopt(hnd, CURLOPT_CUSTOMREQUEST, "GET"); + curl_easy_setopt(hnd, CURLOPT_URL, "https://api.confluent.cloud/connect/v1/environments/{environment_id}/clusters/{kafka_cluster_id}/connectors/{connector_name}/status"); + + struct curl_slist *headers = NULL; + headers = curl_slist_append(headers, "Authorization: Basic REPLACE_BASIC_AUTH"); + curl_easy_setopt(hnd, CURLOPT_HTTPHEADER, headers); + + CURLcode ret = curl_easy_perform(hnd); + - lang: C# + source: |- + var client = new RestClient("https://api.confluent.cloud/connect/v1/environments/{environment_id}/clusters/{kafka_cluster_id}/connectors/{connector_name}/status"); + var request = new RestRequest(Method.GET); + request.AddHeader("Authorization", "Basic REPLACE_BASIC_AUTH"); + IRestResponse response = client.Execute(request); + 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. + '/connect/v1/environments/{environment_id}/clusters/{kafka_cluster_id}/connectors/{connector_name}/tasks': + get: + operationId: listConnectv1ConnectorTasks + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + Get a list of tasks currently running for the connector. + summary: List of Connector Tasks + tags: + - Status (connect/v1) + security: + - cloud-api-key: [] + - confluent-sts-access-token: [] + responses: + '200': + description: Connector Task. + content: + application/json: + schema: + $ref: '#/components/schemas/connect.v1.Connectors' + example: + - 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 + '401': + $ref: '#/components/responses/connect.v1.UnauthenticatedError' + '404': + $ref: '#/components/responses/connect.v1.AccountNotFoundError' + '429': + $ref: '#/components/responses/RateLimitError' + '500': + $ref: '#/components/responses/connect.v1.DefaultSystemError' + x-codeSamples: + - lang: Shell + source: |- + 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' + - lang: Java + source: |- + OkHttpClient client = new OkHttpClient(); + + Request request = new Request.Builder() + .url("https://api.confluent.cloud/connect/v1/environments/{environment_id}/clusters/{kafka_cluster_id}/connectors/{connector_name}/tasks") + .get() + .addHeader("Authorization", "Basic REPLACE_BASIC_AUTH") + .build(); + + Response response = client.newCall(request).execute(); + - lang: Go + source: "package main\n\nimport (\n\t\"fmt\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.confluent.cloud/connect/v1/environments/{environment_id}/clusters/{kafka_cluster_id}/connectors/{connector_name}/tasks\"\n\n\treq, _ := http.NewRequest(\"GET\", url, nil)\n\n\treq.Header.Add(\"Authorization\", \"Basic REPLACE_BASIC_AUTH\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}" + - lang: Python + source: |- + import http.client + + conn = http.client.HTTPSConnection("api.confluent.cloud") + + headers = { 'Authorization': "Basic REPLACE_BASIC_AUTH" } + + conn.request("GET", "/connect/v1/environments/{environment_id}/clusters/{kafka_cluster_id}/connectors/{connector_name}/tasks", headers=headers) + + res = conn.getresponse() + data = res.read() + + print(data.decode("utf-8")) + - lang: Node + source: |- + const http = require("https"); + + const options = { + "method": "GET", + "hostname": "api.confluent.cloud", + "port": null, + "path": "/connect/v1/environments/{environment_id}/clusters/{kafka_cluster_id}/connectors/{connector_name}/tasks", + "headers": { + "Authorization": "Basic REPLACE_BASIC_AUTH" + } + }; + + const req = http.request(options, function (res) { + const chunks = []; + + res.on("data", function (chunk) { + chunks.push(chunk); + }); + + res.on("end", function () { + const body = Buffer.concat(chunks); + console.log(body.toString()); + }); + }); + + req.end(); + - lang: C + source: |- + CURL *hnd = curl_easy_init(); + + curl_easy_setopt(hnd, CURLOPT_CUSTOMREQUEST, "GET"); + curl_easy_setopt(hnd, CURLOPT_URL, "https://api.confluent.cloud/connect/v1/environments/{environment_id}/clusters/{kafka_cluster_id}/connectors/{connector_name}/tasks"); + + struct curl_slist *headers = NULL; + headers = curl_slist_append(headers, "Authorization: Basic REPLACE_BASIC_AUTH"); + curl_easy_setopt(hnd, CURLOPT_HTTPHEADER, headers); + + CURLcode ret = curl_easy_perform(hnd); + - lang: C# + source: |- + var client = new RestClient("https://api.confluent.cloud/connect/v1/environments/{environment_id}/clusters/{kafka_cluster_id}/connectors/{connector_name}/tasks"); + var request = new RestRequest(Method.GET); + request.AddHeader("Authorization", "Basic REPLACE_BASIC_AUTH"); + IRestResponse response = client.Execute(request); + 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. + '/connect/v1/environments/{environment_id}/clusters/{kafka_cluster_id}/connector-plugins': + get: + operationId: listConnectv1ConnectorPlugins + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + Return a list of Managed Connector plugins installed in the Kafka Connect cluster. + summary: List of Managed Connector plugins + tags: + - Managed Connector Plugins (connect/v1) + security: + - cloud-api-key: [] + - confluent-sts-access-token: [] + responses: + '200': + description: Connector Plugin. + content: + application/json: + schema: + type: array + items: + type: object + properties: + class: + type: string + description: The connector class name. E.g. BigQuerySink. + type: + type: string + description: 'Type of connector, sink or source.' + enum: + - sink + - source + version: + type: string + description: The version string for the connector available. + required: + - class + - type + example: + - 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 + '401': + $ref: '#/components/responses/connect.v1.UnauthenticatedError' + '404': + $ref: '#/components/responses/connect.v1.ResourceNotFoundError' + '429': + $ref: '#/components/responses/RateLimitError' + '500': + $ref: '#/components/responses/connect.v1.DefaultSystemError' + parameters: + - 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. + x-codeSamples: + - lang: Shell + source: |- + 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' + - lang: Java + source: |- + OkHttpClient client = new OkHttpClient(); + + Request request = new Request.Builder() + .url("https://api.confluent.cloud/connect/v1/environments/{environment_id}/clusters/{kafka_cluster_id}/connector-plugins") + .get() + .addHeader("Authorization", "Basic REPLACE_BASIC_AUTH") + .build(); + + Response response = client.newCall(request).execute(); + - lang: Go + source: "package main\n\nimport (\n\t\"fmt\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.confluent.cloud/connect/v1/environments/{environment_id}/clusters/{kafka_cluster_id}/connector-plugins\"\n\n\treq, _ := http.NewRequest(\"GET\", url, nil)\n\n\treq.Header.Add(\"Authorization\", \"Basic REPLACE_BASIC_AUTH\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}" + - lang: Python + source: |- + import http.client + + conn = http.client.HTTPSConnection("api.confluent.cloud") + + headers = { 'Authorization': "Basic REPLACE_BASIC_AUTH" } + + conn.request("GET", "/connect/v1/environments/{environment_id}/clusters/{kafka_cluster_id}/connector-plugins", headers=headers) + + res = conn.getresponse() + data = res.read() + + print(data.decode("utf-8")) + - lang: Node + source: |- + const http = require("https"); + + const options = { + "method": "GET", + "hostname": "api.confluent.cloud", + "port": null, + "path": "/connect/v1/environments/{environment_id}/clusters/{kafka_cluster_id}/connector-plugins", + "headers": { + "Authorization": "Basic REPLACE_BASIC_AUTH" + } + }; + + const req = http.request(options, function (res) { + const chunks = []; + + res.on("data", function (chunk) { + chunks.push(chunk); + }); + + res.on("end", function () { + const body = Buffer.concat(chunks); + console.log(body.toString()); + }); + }); + + req.end(); + - lang: C + source: |- + CURL *hnd = curl_easy_init(); + + curl_easy_setopt(hnd, CURLOPT_CUSTOMREQUEST, "GET"); + curl_easy_setopt(hnd, CURLOPT_URL, "https://api.confluent.cloud/connect/v1/environments/{environment_id}/clusters/{kafka_cluster_id}/connector-plugins"); + + struct curl_slist *headers = NULL; + headers = curl_slist_append(headers, "Authorization: Basic REPLACE_BASIC_AUTH"); + curl_easy_setopt(hnd, CURLOPT_HTTPHEADER, headers); + + CURLcode ret = curl_easy_perform(hnd); + - lang: C# + source: |- + var client = new RestClient("https://api.confluent.cloud/connect/v1/environments/{environment_id}/clusters/{kafka_cluster_id}/connector-plugins"); + var request = new RestRequest(Method.GET); + request.AddHeader("Authorization", "Basic REPLACE_BASIC_AUTH"); + IRestResponse response = client.Execute(request); + '/connect/v1/environments/{environment_id}/clusters/{kafka_cluster_id}/connector-plugins/{plugin_name}/config/validate': + put: + operationId: validateConnectv1ConnectorPlugin + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + Validate the provided configuration values against the configuration definition. This API performs per config validation and returns suggested values and validation error messages. + summary: Validate a Managed Connector Plugin + tags: + - Managed Connector Plugins (connect/v1) + security: + - cloud-api-key: [] + - confluent-sts-access-token: [] + responses: + '200': + description: Connector Plugin. + content: + application/json: + schema: + type: object + properties: + name: + type: string + description: The class name of the connector plugin. + groups: + type: array + description: The list of groups used in configuration definitions. + items: + type: string + error_count: + type: integer + description: The total number of errors encountered during configuration validation. + configs: + type: array + items: + type: object + properties: + definition: + type: object + description: 'The definition for a config in the connector plugin, which includes the name, type, importance, etc.' + properties: + name: + type: string + description: The name of the configuration + type: + type: string + enum: + - NONE + - BOOLEAN + - INT + - SHORT + - LONG + - DOUBLE + - STRING + - LIST + - ENUM + - PASSWORD + description: The config types + required: + type: boolean + description: Whether this configuration is required + default_value: + type: string + description: Default value for this configuration + importance: + type: string + enum: + - NONE + - HIGH + - MEDIUM + - LOW + description: The importance level for a configuration + documentation: + type: string + description: The documentation for the configuration + group: + type: string + description: The UI group to which the configuration belongs to + width: + type: string + enum: + - NONE + - SHORT + - MEDIUM + - LONG + description: The width of a configuration value + display_name: + type: string + dependents: + type: array + description: Other configurations on which this configuration is dependent + items: + type: string + order: + type: integer + description: The order of configuration in specified group + alias: + type: string + value: + type: object + description: 'The current value for a config, which includes the name, value, recommended values, etc.' + properties: + name: + type: string + description: The name of the configuration + value: + type: string + description: The value for the configuration + recommended_values: + type: array + description: The list of valid values for the configuration + items: + type: string + errors: + type: array + description: 'Errors, if any, in the configuration value' + items: + type: string + visible: + type: boolean + description: |- + The visibility of the configuration. Based on the values of other configuration + fields, this visibility boolean value points out if the current field should be + visible or not. + metadata: + type: object + description: |- + Map of metadata details about the connector configuration, such as type of + input, etc. + example: + 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: {} + '401': + $ref: '#/components/responses/connect.v1.UnauthenticatedError' + '404': + $ref: '#/components/responses/connect.v1.ResourceNotFoundError' + '429': + $ref: '#/components/responses/RateLimitError' + '500': + $ref: '#/components/responses/connect.v1.DefaultSystemError' + requestBody: + content: + application/json: + schema: + type: object + description: Configuration parameters for the connector. All values should be strings. + additionalProperties: + type: string + description: Other configuration parameters for the connector. All values should be strings. See the connector's docs for the list of options. + example: + 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 + description: Configuration parameters for the connector. All values should be strings. + x-codeSamples: + - lang: Shell + source: |- + curl --request PUT \ + --url 'https://api.confluent.cloud/connect/v1/environments/{environment_id}/clusters/{kafka_cluster_id}/connector-plugins/{plugin_name}/config/validate' \ + --header 'Authorization: Basic REPLACE_BASIC_AUTH' \ + --header 'content-type: application/json' \ + --data '{"property1":"string","property2":"string"}' + - lang: Java + source: |- + OkHttpClient client = new OkHttpClient(); + + MediaType mediaType = MediaType.parse("application/json"); + RequestBody body = RequestBody.create(mediaType, "{\"property1\":\"string\",\"property2\":\"string\"}"); + Request request = new Request.Builder() + .url("https://api.confluent.cloud/connect/v1/environments/{environment_id}/clusters/{kafka_cluster_id}/connector-plugins/{plugin_name}/config/validate") + .put(body) + .addHeader("content-type", "application/json") + .addHeader("Authorization", "Basic REPLACE_BASIC_AUTH") + .build(); + + Response response = client.newCall(request).execute(); + - lang: Go + source: "package main\n\nimport (\n\t\"fmt\"\n\t\"strings\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.confluent.cloud/connect/v1/environments/{environment_id}/clusters/{kafka_cluster_id}/connector-plugins/{plugin_name}/config/validate\"\n\n\tpayload := strings.NewReader(\"{\\\"property1\\\":\\\"string\\\",\\\"property2\\\":\\\"string\\\"}\")\n\n\treq, _ := http.NewRequest(\"PUT\", url, payload)\n\n\treq.Header.Add(\"content-type\", \"application/json\")\n\treq.Header.Add(\"Authorization\", \"Basic REPLACE_BASIC_AUTH\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}" + - lang: Python + source: |- + import http.client + + conn = http.client.HTTPSConnection("api.confluent.cloud") + + payload = "{\"property1\":\"string\",\"property2\":\"string\"}" + + headers = { + 'content-type': "application/json", + 'Authorization': "Basic REPLACE_BASIC_AUTH" + } + + conn.request("PUT", "/connect/v1/environments/{environment_id}/clusters/{kafka_cluster_id}/connector-plugins/{plugin_name}/config/validate", payload, headers) + + res = conn.getresponse() + data = res.read() + + print(data.decode("utf-8")) + - lang: Node + source: |- + const http = require("https"); + + const options = { + "method": "PUT", + "hostname": "api.confluent.cloud", + "port": null, + "path": "/connect/v1/environments/{environment_id}/clusters/{kafka_cluster_id}/connector-plugins/{plugin_name}/config/validate", + "headers": { + "content-type": "application/json", + "Authorization": "Basic REPLACE_BASIC_AUTH" + } + }; + + const req = http.request(options, function (res) { + const chunks = []; + + res.on("data", function (chunk) { + chunks.push(chunk); + }); + + res.on("end", function () { + const body = Buffer.concat(chunks); + console.log(body.toString()); + }); + }); + + req.write(JSON.stringify({property1: 'string', property2: 'string'})); + req.end(); + - lang: C + source: |- + CURL *hnd = curl_easy_init(); + + curl_easy_setopt(hnd, CURLOPT_CUSTOMREQUEST, "PUT"); + curl_easy_setopt(hnd, CURLOPT_URL, "https://api.confluent.cloud/connect/v1/environments/{environment_id}/clusters/{kafka_cluster_id}/connector-plugins/{plugin_name}/config/validate"); + + struct curl_slist *headers = NULL; + headers = curl_slist_append(headers, "content-type: application/json"); + headers = curl_slist_append(headers, "Authorization: Basic REPLACE_BASIC_AUTH"); + curl_easy_setopt(hnd, CURLOPT_HTTPHEADER, headers); + + curl_easy_setopt(hnd, CURLOPT_POSTFIELDS, "{\"property1\":\"string\",\"property2\":\"string\"}"); + + CURLcode ret = curl_easy_perform(hnd); + - lang: C# + source: |- + var client = new RestClient("https://api.confluent.cloud/connect/v1/environments/{environment_id}/clusters/{kafka_cluster_id}/connector-plugins/{plugin_name}/config/validate"); + var request = new RestRequest(Method.PUT); + request.AddHeader("content-type", "application/json"); + request.AddHeader("Authorization", "Basic REPLACE_BASIC_AUTH"); + request.AddParameter("application/json", "{\"property1\":\"string\",\"property2\":\"string\"}", ParameterType.RequestBody); + IRestResponse response = client.Execute(request); + parameters: + - name: plugin_name + in: path + schema: + type: string + required: true + description: The unique name of the connector plugin. + - 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. + '/connect/v1/environments/{environment_id}/clusters/{kafka_cluster_id}/connectors/{connector_name}/offsets': + get: + operationId: getConnectv1ConnectorOffsets + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + Get the current offsets for the connector. The offsets provide information on the point in the source system, + from which the connector is pulling in data. The offsets of a connector are continuously observed periodically and are queryable via this API. + summary: Get a Connector Offsets + tags: + - Offsets (connect/v1) + security: + - cloud-api-key: [] + - confluent-sts-access-token: [] + responses: + '200': + description: Connector Offsets. + content: + application/json: + schema: + $ref: '#/components/schemas/connect.v1.ConnectorOffsets' + examples: + sink: + value: + id: lcc-as341 + name: MysqlSinkConnector + offsets: + - partition: + kafka_partition: 0 + kafka_topic: topic_A + offset: + kafka_offset: 20032323 + - partition: + kafka_partition: 1 + kafka_topic: topic_B + offset: + kafka_offset: 20032322 + metadata: + observed_at: '2024-02-20T15:14:19Z' + source: + value: + id: lcc-21sdda + name: MysqlSourceConnector + offsets: + - partition: + protocol: 1 + table: sourcedb.sourcetable + offset: + timestamp_nanos: 0 + incrementing: 3 + timestamp: 1699142400000 + metadata: + observed_at: '2024-02-20T15:14:19Z' + '400': + $ref: '#/components/responses/connect.v1.BadRequestError' + '401': + $ref: '#/components/responses/connect.v1.UnauthenticatedError' + '403': + $ref: '#/components/responses/connect.v1.ForbiddenError' + '404': + $ref: '#/components/responses/connect.v1.ResourceNotFoundError' + '429': + $ref: '#/components/responses/RateLimitError' + '500': + $ref: '#/components/responses/connect.v1.DefaultSystemError' + x-codeSamples: + - lang: Shell + source: |- + curl --request GET \ + --url 'https://api.confluent.cloud/connect/v1/environments/{environment_id}/clusters/{kafka_cluster_id}/connectors/{connector_name}/offsets' \ + --header 'Authorization: Basic REPLACE_BASIC_AUTH' + - lang: Java + source: |- + OkHttpClient client = new OkHttpClient(); + + Request request = new Request.Builder() + .url("https://api.confluent.cloud/connect/v1/environments/{environment_id}/clusters/{kafka_cluster_id}/connectors/{connector_name}/offsets") + .get() + .addHeader("Authorization", "Basic REPLACE_BASIC_AUTH") + .build(); + + Response response = client.newCall(request).execute(); + - lang: Go + source: "package main\n\nimport (\n\t\"fmt\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.confluent.cloud/connect/v1/environments/{environment_id}/clusters/{kafka_cluster_id}/connectors/{connector_name}/offsets\"\n\n\treq, _ := http.NewRequest(\"GET\", url, nil)\n\n\treq.Header.Add(\"Authorization\", \"Basic REPLACE_BASIC_AUTH\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}" + - lang: Python + source: |- + import http.client + + conn = http.client.HTTPSConnection("api.confluent.cloud") + + headers = { 'Authorization': "Basic REPLACE_BASIC_AUTH" } + + conn.request("GET", "/connect/v1/environments/{environment_id}/clusters/{kafka_cluster_id}/connectors/{connector_name}/offsets", headers=headers) + + res = conn.getresponse() + data = res.read() + + print(data.decode("utf-8")) + - lang: Node + source: |- + const http = require("https"); + + const options = { + "method": "GET", + "hostname": "api.confluent.cloud", + "port": null, + "path": "/connect/v1/environments/{environment_id}/clusters/{kafka_cluster_id}/connectors/{connector_name}/offsets", + "headers": { + "Authorization": "Basic REPLACE_BASIC_AUTH" + } + }; + + const req = http.request(options, function (res) { + const chunks = []; + + res.on("data", function (chunk) { + chunks.push(chunk); + }); + + res.on("end", function () { + const body = Buffer.concat(chunks); + console.log(body.toString()); + }); + }); + + req.end(); + - lang: C + source: |- + CURL *hnd = curl_easy_init(); + + curl_easy_setopt(hnd, CURLOPT_CUSTOMREQUEST, "GET"); + curl_easy_setopt(hnd, CURLOPT_URL, "https://api.confluent.cloud/connect/v1/environments/{environment_id}/clusters/{kafka_cluster_id}/connectors/{connector_name}/offsets"); + + struct curl_slist *headers = NULL; + headers = curl_slist_append(headers, "Authorization: Basic REPLACE_BASIC_AUTH"); + curl_easy_setopt(hnd, CURLOPT_HTTPHEADER, headers); + + CURLcode ret = curl_easy_perform(hnd); + - lang: C# + source: |- + var client = new RestClient("https://api.confluent.cloud/connect/v1/environments/{environment_id}/clusters/{kafka_cluster_id}/connectors/{connector_name}/offsets"); + var request = new RestRequest(Method.GET); + request.AddHeader("Authorization", "Basic REPLACE_BASIC_AUTH"); + IRestResponse response = client.Execute(request); + 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. + '/connect/v1/environments/{environment_id}/clusters/{kafka_cluster_id}/connectors/{connector_name}/offsets/request': + post: + operationId: alterConnectv1ConnectorOffsetsRequest + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + Request to alter the offsets of a connector. This supports the ability to PATCH/DELETE the offsets of a connector. + Note, you will see momentary downtime as this will internally stop the connector, while the offsets are being altered. + You can only make one alter offsets request at a time for a connector. + summary: Request to Alter the Connector Offsets + tags: + - Offsets (connect/v1) + security: + - cloud-api-key: [] + - confluent-sts-access-token: [] + responses: + '202': + description: Accepted + content: + application/json: + schema: + $ref: '#/components/schemas/connect.v1.AlterOffsetRequestInfo' + examples: + patch: + value: + id: lcc-sa32er + name: MySinkConnector + offsets: + - partition: + kafka_partition: 0 + kafka_topic: topic_A + offset: + kafka_offset: 1000 + requested_at: '2024-02-20T15:14:19Z' + type: PATCH + delete: + value: + id: lcc-234ds + name: MySourceConnector + offsets: [] + requested_at: '2024-02-20T15:14:19Z' + type: DELETE + '400': + $ref: '#/components/responses/connect.v1.BadRequestError' + '401': + $ref: '#/components/responses/connect.v1.UnauthenticatedError' + '403': + $ref: '#/components/responses/connect.v1.ForbiddenError' + '404': + $ref: '#/components/responses/connect.v1.ResourceNotFoundError' + '429': + $ref: '#/components/responses/RateLimitError' + '500': + $ref: '#/components/responses/connect.v1.DefaultSystemError' + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/connect.v1.AlterOffsetRequest' + examples: + patch sink: + value: + type: PATCH + offsets: + - partition: + kafka_partition: 0 + kafka_topic: topic_A + offset: + kafka_offset: 1000 + patch source: + value: + type: PATCH + offsets: + - partition: + protocol: 1 + table: sourcedb.sourcetable + offset: + timestamp_nanos: 0 + incrementing: 3 + timestamp: 1699000000000 + delete: + value: + type: DELETE + x-codeSamples: + - lang: Shell + source: |- + curl --request POST \ + --url 'https://api.confluent.cloud/connect/v1/environments/{environment_id}/clusters/{kafka_cluster_id}/connectors/{connector_name}/offsets/request' \ + --header 'Authorization: Basic REPLACE_BASIC_AUTH' \ + --header 'content-type: application/json' \ + --data '{"type":"PATCH","offsets":[{"partition":{},"offset":{}}]}' + - lang: Java + source: |- + OkHttpClient client = new OkHttpClient(); + + MediaType mediaType = MediaType.parse("application/json"); + RequestBody body = RequestBody.create(mediaType, "{\"type\":\"PATCH\",\"offsets\":[{\"partition\":{},\"offset\":{}}]}"); + Request request = new Request.Builder() + .url("https://api.confluent.cloud/connect/v1/environments/{environment_id}/clusters/{kafka_cluster_id}/connectors/{connector_name}/offsets/request") + .post(body) + .addHeader("content-type", "application/json") + .addHeader("Authorization", "Basic REPLACE_BASIC_AUTH") + .build(); + + Response response = client.newCall(request).execute(); + - lang: Go + source: "package main\n\nimport (\n\t\"fmt\"\n\t\"strings\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.confluent.cloud/connect/v1/environments/{environment_id}/clusters/{kafka_cluster_id}/connectors/{connector_name}/offsets/request\"\n\n\tpayload := strings.NewReader(\"{\\\"type\\\":\\\"PATCH\\\",\\\"offsets\\\":[{\\\"partition\\\":{},\\\"offset\\\":{}}]}\")\n\n\treq, _ := http.NewRequest(\"POST\", url, payload)\n\n\treq.Header.Add(\"content-type\", \"application/json\")\n\treq.Header.Add(\"Authorization\", \"Basic REPLACE_BASIC_AUTH\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}" + - lang: Python + source: |- + import http.client + + conn = http.client.HTTPSConnection("api.confluent.cloud") + + payload = "{\"type\":\"PATCH\",\"offsets\":[{\"partition\":{},\"offset\":{}}]}" + + headers = { + 'content-type': "application/json", + 'Authorization': "Basic REPLACE_BASIC_AUTH" + } + + conn.request("POST", "/connect/v1/environments/{environment_id}/clusters/{kafka_cluster_id}/connectors/{connector_name}/offsets/request", payload, headers) + + res = conn.getresponse() + data = res.read() + + print(data.decode("utf-8")) + - lang: Node + source: |- + const http = require("https"); + + const options = { + "method": "POST", + "hostname": "api.confluent.cloud", + "port": null, + "path": "/connect/v1/environments/{environment_id}/clusters/{kafka_cluster_id}/connectors/{connector_name}/offsets/request", + "headers": { + "content-type": "application/json", + "Authorization": "Basic REPLACE_BASIC_AUTH" + } + }; + + const req = http.request(options, function (res) { + const chunks = []; + + res.on("data", function (chunk) { + chunks.push(chunk); + }); + + res.on("end", function () { + const body = Buffer.concat(chunks); + console.log(body.toString()); + }); + }); + + req.write(JSON.stringify({type: 'PATCH', offsets: [{partition: {}, offset: {}}]})); + req.end(); + - lang: C + source: |- + CURL *hnd = curl_easy_init(); + + curl_easy_setopt(hnd, CURLOPT_CUSTOMREQUEST, "POST"); + curl_easy_setopt(hnd, CURLOPT_URL, "https://api.confluent.cloud/connect/v1/environments/{environment_id}/clusters/{kafka_cluster_id}/connectors/{connector_name}/offsets/request"); + + struct curl_slist *headers = NULL; + headers = curl_slist_append(headers, "content-type: application/json"); + headers = curl_slist_append(headers, "Authorization: Basic REPLACE_BASIC_AUTH"); + curl_easy_setopt(hnd, CURLOPT_HTTPHEADER, headers); + + curl_easy_setopt(hnd, CURLOPT_POSTFIELDS, "{\"type\":\"PATCH\",\"offsets\":[{\"partition\":{},\"offset\":{}}]}"); + + CURLcode ret = curl_easy_perform(hnd); + - lang: C# + source: |- + var client = new RestClient("https://api.confluent.cloud/connect/v1/environments/{environment_id}/clusters/{kafka_cluster_id}/connectors/{connector_name}/offsets/request"); + var request = new RestRequest(Method.POST); + request.AddHeader("content-type", "application/json"); + request.AddHeader("Authorization", "Basic REPLACE_BASIC_AUTH"); + request.AddParameter("application/json", "{\"type\":\"PATCH\",\"offsets\":[{\"partition\":{},\"offset\":{}}]}", ParameterType.RequestBody); + IRestResponse response = client.Execute(request); + 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. + '/connect/v1/environments/{environment_id}/clusters/{kafka_cluster_id}/connectors/{connector_name}/offsets/request/status': + get: + operationId: getConnectv1ConnectorOffsetsRequestStatus + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + Get the status of the previous alter offset request. + summary: Get the Status of Alter Offset Request + tags: + - Offsets (connect/v1) + security: + - cloud-api-key: [] + - confluent-sts-access-token: [] + responses: + '200': + description: Connector Offsets Request Status. + content: + application/json: + schema: + $ref: '#/components/schemas/connect.v1.AlterOffsetStatus' + examples: + sink - pending patch operation: + value: + request: + id: lcc-sa32er + name: MySinkConnector + offsets: + - partition: + kafka_partition: 0 + kafka_topic: topic_A + offset: + kafka_offset: 1000 + requested_at: '2024-02-20T15:14:19Z' + type: PATCH + status: + phase: PENDING + applied_at: null + source - applied patch operation: + value: + request: + id: lcc-x1sdfs + name: MySourceConnector + offsets: + - partition: + protocol: 1 + table: sourcedb.sourcetable + offset: + timestamp_nanos: 0 + incrementing: 3 + timestamp: 1699000000000 + requested_at: '2024-02-20T15:14:19Z' + type: PATCH + status: + phase: APPLIED + message: 'The Connect framework-managed offsets for this connector have been altered successfully. However, if this connector manages offsets externally, they will need to be altered manually in the system that the connector uses.' + previous_offsets: + - partition: + protocol: 1 + table: sourcedb.sourcetable + offset: + timestamp_nanos: 0 + incrementing: 2 + timestamp: 1698329479943 + applied_at: '2024-02-20T15:14:20+0000' + delete: + value: + request: + id: lcc-234ds + name: MySourceConnector + offsets: [] + requested_at: '2024-02-20T15:14:19Z' + type: DELETE + status: + phase: APPLIED + message: 'The Connect framework-managed offsets for this connector have been reset successfully. However, if this connector manages offsets externally, they will need to be reset manually in the system that the connector uses.' + previous_offsets: + - partition: + protocol: 1 + table: sourcedb.sourcetable + offset: + timestamp_nanos: 0 + incrementing: 2 + timestamp: 1698329479943 + applied_at: '2024-02-20T15:14:20Z' + '400': + $ref: '#/components/responses/connect.v1.BadRequestError' + '401': + $ref: '#/components/responses/connect.v1.UnauthenticatedError' + '403': + $ref: '#/components/responses/connect.v1.ForbiddenError' + '404': + $ref: '#/components/responses/connect.v1.ResourceNotFoundError' + '429': + $ref: '#/components/responses/RateLimitError' + '500': + $ref: '#/components/responses/connect.v1.DefaultSystemError' + x-codeSamples: + - lang: Shell + source: |- + curl --request GET \ + --url 'https://api.confluent.cloud/connect/v1/environments/{environment_id}/clusters/{kafka_cluster_id}/connectors/{connector_name}/offsets/request/status' \ + --header 'Authorization: Basic REPLACE_BASIC_AUTH' + - lang: Java + source: |- + OkHttpClient client = new OkHttpClient(); + + Request request = new Request.Builder() + .url("https://api.confluent.cloud/connect/v1/environments/{environment_id}/clusters/{kafka_cluster_id}/connectors/{connector_name}/offsets/request/status") + .get() + .addHeader("Authorization", "Basic REPLACE_BASIC_AUTH") + .build(); + + Response response = client.newCall(request).execute(); + - lang: Go + source: "package main\n\nimport (\n\t\"fmt\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.confluent.cloud/connect/v1/environments/{environment_id}/clusters/{kafka_cluster_id}/connectors/{connector_name}/offsets/request/status\"\n\n\treq, _ := http.NewRequest(\"GET\", url, nil)\n\n\treq.Header.Add(\"Authorization\", \"Basic REPLACE_BASIC_AUTH\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}" + - lang: Python + source: |- + import http.client + + conn = http.client.HTTPSConnection("api.confluent.cloud") + + headers = { 'Authorization': "Basic REPLACE_BASIC_AUTH" } + + conn.request("GET", "/connect/v1/environments/{environment_id}/clusters/{kafka_cluster_id}/connectors/{connector_name}/offsets/request/status", headers=headers) + + res = conn.getresponse() + data = res.read() + + print(data.decode("utf-8")) + - lang: Node + source: |- + const http = require("https"); + + const options = { + "method": "GET", + "hostname": "api.confluent.cloud", + "port": null, + "path": "/connect/v1/environments/{environment_id}/clusters/{kafka_cluster_id}/connectors/{connector_name}/offsets/request/status", + "headers": { + "Authorization": "Basic REPLACE_BASIC_AUTH" + } + }; + + const req = http.request(options, function (res) { + const chunks = []; + + res.on("data", function (chunk) { + chunks.push(chunk); + }); + + res.on("end", function () { + const body = Buffer.concat(chunks); + console.log(body.toString()); + }); + }); + + req.end(); + - lang: C + source: |- + CURL *hnd = curl_easy_init(); + + curl_easy_setopt(hnd, CURLOPT_CUSTOMREQUEST, "GET"); + curl_easy_setopt(hnd, CURLOPT_URL, "https://api.confluent.cloud/connect/v1/environments/{environment_id}/clusters/{kafka_cluster_id}/connectors/{connector_name}/offsets/request/status"); + + struct curl_slist *headers = NULL; + headers = curl_slist_append(headers, "Authorization: Basic REPLACE_BASIC_AUTH"); + curl_easy_setopt(hnd, CURLOPT_HTTPHEADER, headers); + + CURLcode ret = curl_easy_perform(hnd); + - lang: C# + source: |- + var client = new RestClient("https://api.confluent.cloud/connect/v1/environments/{environment_id}/clusters/{kafka_cluster_id}/connectors/{connector_name}/offsets/request/status"); + var request = new RestRequest(Method.GET); + request.AddHeader("Authorization", "Basic REPLACE_BASIC_AUTH"); + IRestResponse response = client.Execute(request); + 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. + /connect/v1/custom-connector-plugins: + get: + operationId: listConnectV1CustomConnectorPlugins + summary: List of Custom Connector Plugins + description: | + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + Retrieve a sorted, filtered, paginated list of all custom connector plugins. + + If no `cloud` filter is specified, returns custom connector plugins from all clouds. + parameters: + - name: cloud + in: query + required: false + schema: + $ref: '#/components/schemas/SearchFilter' + example: AWS + description: Filter the results by exact match for cloud. + - 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: + - Custom Connector Plugins (connect/v1) + security: + - cloud-api-key: [] + - confluent-sts-access-token: [] + responses: + '200': + description: Custom Connector Plugin. + content: + application/json: + schema: + allOf: + - $ref: '#/components/schemas/connect.v1.CustomConnectorPluginList' + 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. + + **Important:** This differs from Github and Twitter's same-named header which uses UTC epoch seconds. We use relative time to avoid client/server time synchronization issues. + '400': + $ref: '#/components/responses/BadRequestError' + '401': + $ref: '#/components/responses/UnauthenticatedError' + '403': + $ref: '#/components/responses/UnauthorizedError' + '429': + $ref: '#/components/responses/RateLimitError' + '500': + $ref: '#/components/responses/DefaultSystemError' + x-codeSamples: + - lang: Shell + source: |- + curl --request GET \ + --url 'https://api.confluent.cloud/connect/v1/custom-connector-plugins?cloud=AWS' \ + --header 'Authorization: Basic REPLACE_BASIC_AUTH' + - lang: Java + source: |- + OkHttpClient client = new OkHttpClient(); + + Request request = new Request.Builder() + .url("https://api.confluent.cloud/connect/v1/custom-connector-plugins?cloud=AWS") + .get() + .addHeader("Authorization", "Basic REPLACE_BASIC_AUTH") + .build(); + + Response response = client.newCall(request).execute(); + - lang: Go + source: "package main\n\nimport (\n\t\"fmt\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.confluent.cloud/connect/v1/custom-connector-plugins?cloud=AWS\"\n\n\treq, _ := http.NewRequest(\"GET\", url, nil)\n\n\treq.Header.Add(\"Authorization\", \"Basic REPLACE_BASIC_AUTH\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}" + - lang: Python + source: |- + import http.client + + conn = http.client.HTTPSConnection("api.confluent.cloud") + + headers = { 'Authorization': "Basic REPLACE_BASIC_AUTH" } + + conn.request("GET", "/connect/v1/custom-connector-plugins?cloud=AWS", headers=headers) + + res = conn.getresponse() + data = res.read() + + print(data.decode("utf-8")) + - lang: Node + source: |- + const http = require("https"); + + const options = { + "method": "GET", + "hostname": "api.confluent.cloud", + "port": null, + "path": "/connect/v1/custom-connector-plugins?cloud=AWS", + "headers": { + "Authorization": "Basic REPLACE_BASIC_AUTH" + } + }; + + const req = http.request(options, function (res) { + const chunks = []; + + res.on("data", function (chunk) { + chunks.push(chunk); + }); + + res.on("end", function () { + const body = Buffer.concat(chunks); + console.log(body.toString()); + }); + }); + + req.end(); + - lang: C + source: |- + CURL *hnd = curl_easy_init(); + + curl_easy_setopt(hnd, CURLOPT_CUSTOMREQUEST, "GET"); + curl_easy_setopt(hnd, CURLOPT_URL, "https://api.confluent.cloud/connect/v1/custom-connector-plugins?cloud=AWS"); + + struct curl_slist *headers = NULL; + headers = curl_slist_append(headers, "Authorization: Basic REPLACE_BASIC_AUTH"); + curl_easy_setopt(hnd, CURLOPT_HTTPHEADER, headers); + + CURLcode ret = curl_easy_perform(hnd); + - lang: C# + source: |- + var client = new RestClient("https://api.confluent.cloud/connect/v1/custom-connector-plugins?cloud=AWS"); + var request = new RestRequest(Method.GET); + request.AddHeader("Authorization", "Basic REPLACE_BASIC_AUTH"); + IRestResponse response = client.Execute(request); + post: + operationId: createConnectV1CustomConnectorPlugin + summary: Create a Custom Connector Plugin + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + Make a request to create a custom connector plugin. + tags: + - Custom Connector Plugins (connect/v1) + security: + - cloud-api-key: [] + - confluent-sts-access-token: [] + requestBody: + content: + application/json: + schema: + allOf: + - $ref: '#/components/schemas/connect.v1.CustomConnectorPlugin' + - type: object + required: + - display_name + - connector_class + - connector_type + - upload_source + responses: + '201': + description: A Custom Connector Plugin was created. + headers: + X-Request-Id: + schema: + type: string + description: The unique identifier for the API request. + X-RateLimit-Limit: + schema: + type: integer + description: The maximum number of requests you're permitted to make per time period. + X-RateLimit-Remaining: + schema: + type: integer + description: The number of requests remaining in the current rate limit window. + X-RateLimit-Reset: + schema: + type: integer + description: |- + The relative time in seconds until the current rate-limit window resets. + + **Important:** This differs from Github and Twitter's same-named header which uses UTC epoch seconds. We use relative time to avoid client/server time synchronization issues. + Location: + schema: + type: string + format: uri + example: 'https://api.confluent.cloud/connect/v1/custom-connector-plugins/{id}' + description: CustomConnectorPlugin resource uri + content: + application/json: + schema: + allOf: + - $ref: '#/components/schemas/connect.v1.CustomConnectorPlugin' + - type: object + required: + - display_name + - connector_class + - connector_type + - upload_source + '400': + $ref: '#/components/responses/BadRequestError' + '401': + $ref: '#/components/responses/UnauthenticatedError' + '403': + $ref: '#/components/responses/UnauthorizedError' + '409': + $ref: '#/components/responses/ConflictError' + '422': + $ref: '#/components/responses/ValidationError' + '429': + $ref: '#/components/responses/RateLimitError' + '500': + $ref: '#/components/responses/DefaultSystemError' + x-codeSamples: + - lang: Shell + source: |- + curl --request POST \ + --url https://api.confluent.cloud/connect/v1/custom-connector-plugins \ + --header 'Authorization: Basic REPLACE_BASIC_AUTH' \ + --header 'content-type: application/json' \ + --data '{"display_name":"string","description":"string","documentation_link":"https://github.com/confluentinc/kafka-connect-datagen","connector_class":"io.confluent.kafka.connect.datagen.DatagenConnector","connector_type":"SOURCE","cloud":"AWS","sensitive_config_properties":["passwords","keys","tokens"],"upload_source":{"location":"PRESIGNED_URL_LOCATION","upload_id":"e53bb2e8-8de3-49fa-9fb1-4e3fd9a16b66"}}' + - lang: Java + source: |- + OkHttpClient client = new OkHttpClient(); + + MediaType mediaType = MediaType.parse("application/json"); + RequestBody body = RequestBody.create(mediaType, "{\"display_name\":\"string\",\"description\":\"string\",\"documentation_link\":\"https://github.com/confluentinc/kafka-connect-datagen\",\"connector_class\":\"io.confluent.kafka.connect.datagen.DatagenConnector\",\"connector_type\":\"SOURCE\",\"cloud\":\"AWS\",\"sensitive_config_properties\":[\"passwords\",\"keys\",\"tokens\"],\"upload_source\":{\"location\":\"PRESIGNED_URL_LOCATION\",\"upload_id\":\"e53bb2e8-8de3-49fa-9fb1-4e3fd9a16b66\"}}"); + Request request = new Request.Builder() + .url("https://api.confluent.cloud/connect/v1/custom-connector-plugins") + .post(body) + .addHeader("content-type", "application/json") + .addHeader("Authorization", "Basic REPLACE_BASIC_AUTH") + .build(); + + Response response = client.newCall(request).execute(); + - lang: Go + source: "package main\n\nimport (\n\t\"fmt\"\n\t\"strings\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.confluent.cloud/connect/v1/custom-connector-plugins\"\n\n\tpayload := strings.NewReader(\"{\\\"display_name\\\":\\\"string\\\",\\\"description\\\":\\\"string\\\",\\\"documentation_link\\\":\\\"https://github.com/confluentinc/kafka-connect-datagen\\\",\\\"connector_class\\\":\\\"io.confluent.kafka.connect.datagen.DatagenConnector\\\",\\\"connector_type\\\":\\\"SOURCE\\\",\\\"cloud\\\":\\\"AWS\\\",\\\"sensitive_config_properties\\\":[\\\"passwords\\\",\\\"keys\\\",\\\"tokens\\\"],\\\"upload_source\\\":{\\\"location\\\":\\\"PRESIGNED_URL_LOCATION\\\",\\\"upload_id\\\":\\\"e53bb2e8-8de3-49fa-9fb1-4e3fd9a16b66\\\"}}\")\n\n\treq, _ := http.NewRequest(\"POST\", url, payload)\n\n\treq.Header.Add(\"content-type\", \"application/json\")\n\treq.Header.Add(\"Authorization\", \"Basic REPLACE_BASIC_AUTH\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}" + - lang: Python + source: |- + import http.client + + conn = http.client.HTTPSConnection("api.confluent.cloud") + + payload = "{\"display_name\":\"string\",\"description\":\"string\",\"documentation_link\":\"https://github.com/confluentinc/kafka-connect-datagen\",\"connector_class\":\"io.confluent.kafka.connect.datagen.DatagenConnector\",\"connector_type\":\"SOURCE\",\"cloud\":\"AWS\",\"sensitive_config_properties\":[\"passwords\",\"keys\",\"tokens\"],\"upload_source\":{\"location\":\"PRESIGNED_URL_LOCATION\",\"upload_id\":\"e53bb2e8-8de3-49fa-9fb1-4e3fd9a16b66\"}}" + + headers = { + 'content-type': "application/json", + 'Authorization': "Basic REPLACE_BASIC_AUTH" + } + + conn.request("POST", "/connect/v1/custom-connector-plugins", payload, headers) + + res = conn.getresponse() + data = res.read() + + print(data.decode("utf-8")) + - lang: Node + source: |- + const http = require("https"); + + const options = { + "method": "POST", + "hostname": "api.confluent.cloud", + "port": null, + "path": "/connect/v1/custom-connector-plugins", + "headers": { + "content-type": "application/json", + "Authorization": "Basic REPLACE_BASIC_AUTH" + } + }; + + const req = http.request(options, function (res) { + const chunks = []; + + res.on("data", function (chunk) { + chunks.push(chunk); + }); + + res.on("end", function () { + const body = Buffer.concat(chunks); + console.log(body.toString()); + }); + }); + + req.write(JSON.stringify({ + display_name: 'string', + description: 'string', + documentation_link: 'https://github.com/confluentinc/kafka-connect-datagen', + connector_class: 'io.confluent.kafka.connect.datagen.DatagenConnector', + connector_type: 'SOURCE', + cloud: 'AWS', + sensitive_config_properties: ['passwords', 'keys', 'tokens'], + upload_source: { + location: 'PRESIGNED_URL_LOCATION', + upload_id: 'e53bb2e8-8de3-49fa-9fb1-4e3fd9a16b66' + } + })); + req.end(); + - lang: C + source: |- + CURL *hnd = curl_easy_init(); + + curl_easy_setopt(hnd, CURLOPT_CUSTOMREQUEST, "POST"); + curl_easy_setopt(hnd, CURLOPT_URL, "https://api.confluent.cloud/connect/v1/custom-connector-plugins"); + + struct curl_slist *headers = NULL; + headers = curl_slist_append(headers, "content-type: application/json"); + headers = curl_slist_append(headers, "Authorization: Basic REPLACE_BASIC_AUTH"); + curl_easy_setopt(hnd, CURLOPT_HTTPHEADER, headers); + + curl_easy_setopt(hnd, CURLOPT_POSTFIELDS, "{\"display_name\":\"string\",\"description\":\"string\",\"documentation_link\":\"https://github.com/confluentinc/kafka-connect-datagen\",\"connector_class\":\"io.confluent.kafka.connect.datagen.DatagenConnector\",\"connector_type\":\"SOURCE\",\"cloud\":\"AWS\",\"sensitive_config_properties\":[\"passwords\",\"keys\",\"tokens\"],\"upload_source\":{\"location\":\"PRESIGNED_URL_LOCATION\",\"upload_id\":\"e53bb2e8-8de3-49fa-9fb1-4e3fd9a16b66\"}}"); + + CURLcode ret = curl_easy_perform(hnd); + - lang: C# + source: |- + var client = new RestClient("https://api.confluent.cloud/connect/v1/custom-connector-plugins"); + var request = new RestRequest(Method.POST); + request.AddHeader("content-type", "application/json"); + request.AddHeader("Authorization", "Basic REPLACE_BASIC_AUTH"); + request.AddParameter("application/json", "{\"display_name\":\"string\",\"description\":\"string\",\"documentation_link\":\"https://github.com/confluentinc/kafka-connect-datagen\",\"connector_class\":\"io.confluent.kafka.connect.datagen.DatagenConnector\",\"connector_type\":\"SOURCE\",\"cloud\":\"AWS\",\"sensitive_config_properties\":[\"passwords\",\"keys\",\"tokens\"],\"upload_source\":{\"location\":\"PRESIGNED_URL_LOCATION\",\"upload_id\":\"e53bb2e8-8de3-49fa-9fb1-4e3fd9a16b66\"}}", ParameterType.RequestBody); + IRestResponse response = client.Execute(request); + '/connect/v1/custom-connector-plugins/{id}': + get: + operationId: getConnectV1CustomConnectorPlugin + summary: Read a Custom Connector Plugin + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + Make a request to read a custom connector plugin. + parameters: + - name: id + in: path + required: true + schema: + type: string + description: The unique identifier for the custom connector plugin. + tags: + - Custom Connector Plugins (connect/v1) + security: + - cloud-api-key: [] + - confluent-sts-access-token: [] + responses: + '200': + description: Custom Connector Plugin. + content: + application/json: + schema: + allOf: + - $ref: '#/components/schemas/connect.v1.CustomConnectorPlugin' + - type: object + required: + - api_version + - kind + - id + - display_name + - connector_class + - connector_type + - upload_source + 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. + + **Important:** This differs from Github and Twitter's same-named header which uses UTC epoch seconds. We use relative time to avoid client/server time synchronization issues. + '400': + $ref: '#/components/responses/BadRequestError' + '401': + $ref: '#/components/responses/UnauthenticatedError' + '403': + $ref: '#/components/responses/UnauthorizedError' + '404': + $ref: '#/components/responses/NotFoundError' + '429': + $ref: '#/components/responses/RateLimitError' + '500': + $ref: '#/components/responses/DefaultSystemError' + x-codeSamples: + - lang: Shell + source: |- + curl --request GET \ + --url 'https://api.confluent.cloud/connect/v1/custom-connector-plugins/{id}' \ + --header 'Authorization: Basic REPLACE_BASIC_AUTH' + - lang: Java + source: |- + OkHttpClient client = new OkHttpClient(); + + Request request = new Request.Builder() + .url("https://api.confluent.cloud/connect/v1/custom-connector-plugins/{id}") + .get() + .addHeader("Authorization", "Basic REPLACE_BASIC_AUTH") + .build(); + + Response response = client.newCall(request).execute(); + - lang: Go + source: "package main\n\nimport (\n\t\"fmt\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.confluent.cloud/connect/v1/custom-connector-plugins/{id}\"\n\n\treq, _ := http.NewRequest(\"GET\", url, nil)\n\n\treq.Header.Add(\"Authorization\", \"Basic REPLACE_BASIC_AUTH\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}" + - lang: Python + source: |- + import http.client + + conn = http.client.HTTPSConnection("api.confluent.cloud") + + headers = { 'Authorization': "Basic REPLACE_BASIC_AUTH" } + + conn.request("GET", "/connect/v1/custom-connector-plugins/{id}", headers=headers) + + res = conn.getresponse() + data = res.read() + + print(data.decode("utf-8")) + - lang: Node + source: |- + const http = require("https"); + + const options = { + "method": "GET", + "hostname": "api.confluent.cloud", + "port": null, + "path": "/connect/v1/custom-connector-plugins/{id}", + "headers": { + "Authorization": "Basic REPLACE_BASIC_AUTH" + } + }; + + const req = http.request(options, function (res) { + const chunks = []; + + res.on("data", function (chunk) { + chunks.push(chunk); + }); + + res.on("end", function () { + const body = Buffer.concat(chunks); + console.log(body.toString()); + }); + }); + + req.end(); + - lang: C + source: |- + CURL *hnd = curl_easy_init(); + + curl_easy_setopt(hnd, CURLOPT_CUSTOMREQUEST, "GET"); + curl_easy_setopt(hnd, CURLOPT_URL, "https://api.confluent.cloud/connect/v1/custom-connector-plugins/{id}"); + + struct curl_slist *headers = NULL; + headers = curl_slist_append(headers, "Authorization: Basic REPLACE_BASIC_AUTH"); + curl_easy_setopt(hnd, CURLOPT_HTTPHEADER, headers); + + CURLcode ret = curl_easy_perform(hnd); + - lang: C# + source: |- + var client = new RestClient("https://api.confluent.cloud/connect/v1/custom-connector-plugins/{id}"); + var request = new RestRequest(Method.GET); + request.AddHeader("Authorization", "Basic REPLACE_BASIC_AUTH"); + IRestResponse response = client.Execute(request); + patch: + operationId: updateConnectV1CustomConnectorPlugin + summary: Update a Custom Connector Plugin + description: |+ + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + Make a request to update a custom connector plugin. + + parameters: + - name: id + in: path + required: true + schema: + type: string + description: The unique identifier for the custom connector plugin. + tags: + - Custom Connector Plugins (connect/v1) + security: + - cloud-api-key: [] + - confluent-sts-access-token: [] + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/connect.v1.CustomConnectorPluginUpdate' + responses: + '200': + description: Custom Connector Plugin. + content: + application/json: + schema: + allOf: + - $ref: '#/components/schemas/connect.v1.CustomConnectorPlugin' + - type: object + required: + - api_version + - kind + - id + - display_name + - connector_class + - connector_type + - upload_source + 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. + + **Important:** This differs from Github and Twitter's same-named header which uses UTC epoch seconds. We use relative time to avoid client/server time synchronization issues. + '400': + $ref: '#/components/responses/BadRequestError' + '401': + $ref: '#/components/responses/UnauthenticatedError' + '403': + $ref: '#/components/responses/UnauthorizedError' + '404': + $ref: '#/components/responses/NotFoundError' + '409': + $ref: '#/components/responses/ConflictError' + '422': + $ref: '#/components/responses/ValidationError' + '429': + $ref: '#/components/responses/RateLimitError' + '500': + $ref: '#/components/responses/DefaultSystemError' + x-codeSamples: + - lang: Shell + source: |- + curl --request PATCH \ + --url 'https://api.confluent.cloud/connect/v1/custom-connector-plugins/{id}' \ + --header 'Authorization: Basic REPLACE_BASIC_AUTH' \ + --header 'content-type: application/json' \ + --data '{"display_name":"string","description":"string","documentation_link":"https://github.com/confluentinc/kafka-connect-datagen","connector_class":"io.confluent.kafka.connect.datagen.DatagenConnector","connector_type":"SOURCE","cloud":"AWS","sensitive_config_properties":["passwords","keys","tokens"],"upload_source":{"location":"PRESIGNED_URL_LOCATION","upload_id":"e53bb2e8-8de3-49fa-9fb1-4e3fd9a16b66"}}' + - lang: Java + source: |- + OkHttpClient client = new OkHttpClient(); + + MediaType mediaType = MediaType.parse("application/json"); + RequestBody body = RequestBody.create(mediaType, "{\"display_name\":\"string\",\"description\":\"string\",\"documentation_link\":\"https://github.com/confluentinc/kafka-connect-datagen\",\"connector_class\":\"io.confluent.kafka.connect.datagen.DatagenConnector\",\"connector_type\":\"SOURCE\",\"cloud\":\"AWS\",\"sensitive_config_properties\":[\"passwords\",\"keys\",\"tokens\"],\"upload_source\":{\"location\":\"PRESIGNED_URL_LOCATION\",\"upload_id\":\"e53bb2e8-8de3-49fa-9fb1-4e3fd9a16b66\"}}"); + Request request = new Request.Builder() + .url("https://api.confluent.cloud/connect/v1/custom-connector-plugins/{id}") + .patch(body) + .addHeader("content-type", "application/json") + .addHeader("Authorization", "Basic REPLACE_BASIC_AUTH") + .build(); + + Response response = client.newCall(request).execute(); + - lang: Go + source: "package main\n\nimport (\n\t\"fmt\"\n\t\"strings\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.confluent.cloud/connect/v1/custom-connector-plugins/{id}\"\n\n\tpayload := strings.NewReader(\"{\\\"display_name\\\":\\\"string\\\",\\\"description\\\":\\\"string\\\",\\\"documentation_link\\\":\\\"https://github.com/confluentinc/kafka-connect-datagen\\\",\\\"connector_class\\\":\\\"io.confluent.kafka.connect.datagen.DatagenConnector\\\",\\\"connector_type\\\":\\\"SOURCE\\\",\\\"cloud\\\":\\\"AWS\\\",\\\"sensitive_config_properties\\\":[\\\"passwords\\\",\\\"keys\\\",\\\"tokens\\\"],\\\"upload_source\\\":{\\\"location\\\":\\\"PRESIGNED_URL_LOCATION\\\",\\\"upload_id\\\":\\\"e53bb2e8-8de3-49fa-9fb1-4e3fd9a16b66\\\"}}\")\n\n\treq, _ := http.NewRequest(\"PATCH\", url, payload)\n\n\treq.Header.Add(\"content-type\", \"application/json\")\n\treq.Header.Add(\"Authorization\", \"Basic REPLACE_BASIC_AUTH\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}" + - lang: Python + source: |- + import http.client + + conn = http.client.HTTPSConnection("api.confluent.cloud") + + payload = "{\"display_name\":\"string\",\"description\":\"string\",\"documentation_link\":\"https://github.com/confluentinc/kafka-connect-datagen\",\"connector_class\":\"io.confluent.kafka.connect.datagen.DatagenConnector\",\"connector_type\":\"SOURCE\",\"cloud\":\"AWS\",\"sensitive_config_properties\":[\"passwords\",\"keys\",\"tokens\"],\"upload_source\":{\"location\":\"PRESIGNED_URL_LOCATION\",\"upload_id\":\"e53bb2e8-8de3-49fa-9fb1-4e3fd9a16b66\"}}" + + headers = { + 'content-type': "application/json", + 'Authorization': "Basic REPLACE_BASIC_AUTH" + } + + conn.request("PATCH", "/connect/v1/custom-connector-plugins/{id}", payload, headers) + + res = conn.getresponse() + data = res.read() + + print(data.decode("utf-8")) + - lang: Node + source: |- + const http = require("https"); + + const options = { + "method": "PATCH", + "hostname": "api.confluent.cloud", + "port": null, + "path": "/connect/v1/custom-connector-plugins/{id}", + "headers": { + "content-type": "application/json", + "Authorization": "Basic REPLACE_BASIC_AUTH" + } + }; + + const req = http.request(options, function (res) { + const chunks = []; + + res.on("data", function (chunk) { + chunks.push(chunk); + }); + + res.on("end", function () { + const body = Buffer.concat(chunks); + console.log(body.toString()); + }); + }); + + req.write(JSON.stringify({ + display_name: 'string', + description: 'string', + documentation_link: 'https://github.com/confluentinc/kafka-connect-datagen', + connector_class: 'io.confluent.kafka.connect.datagen.DatagenConnector', + connector_type: 'SOURCE', + cloud: 'AWS', + sensitive_config_properties: ['passwords', 'keys', 'tokens'], + upload_source: { + location: 'PRESIGNED_URL_LOCATION', + upload_id: 'e53bb2e8-8de3-49fa-9fb1-4e3fd9a16b66' + } + })); + req.end(); + - lang: C + source: |- + CURL *hnd = curl_easy_init(); + + curl_easy_setopt(hnd, CURLOPT_CUSTOMREQUEST, "PATCH"); + curl_easy_setopt(hnd, CURLOPT_URL, "https://api.confluent.cloud/connect/v1/custom-connector-plugins/{id}"); + + struct curl_slist *headers = NULL; + headers = curl_slist_append(headers, "content-type: application/json"); + headers = curl_slist_append(headers, "Authorization: Basic REPLACE_BASIC_AUTH"); + curl_easy_setopt(hnd, CURLOPT_HTTPHEADER, headers); + + curl_easy_setopt(hnd, CURLOPT_POSTFIELDS, "{\"display_name\":\"string\",\"description\":\"string\",\"documentation_link\":\"https://github.com/confluentinc/kafka-connect-datagen\",\"connector_class\":\"io.confluent.kafka.connect.datagen.DatagenConnector\",\"connector_type\":\"SOURCE\",\"cloud\":\"AWS\",\"sensitive_config_properties\":[\"passwords\",\"keys\",\"tokens\"],\"upload_source\":{\"location\":\"PRESIGNED_URL_LOCATION\",\"upload_id\":\"e53bb2e8-8de3-49fa-9fb1-4e3fd9a16b66\"}}"); + + CURLcode ret = curl_easy_perform(hnd); + - lang: C# + source: |- + var client = new RestClient("https://api.confluent.cloud/connect/v1/custom-connector-plugins/{id}"); + var request = new RestRequest(Method.PATCH); + request.AddHeader("content-type", "application/json"); + request.AddHeader("Authorization", "Basic REPLACE_BASIC_AUTH"); + request.AddParameter("application/json", "{\"display_name\":\"string\",\"description\":\"string\",\"documentation_link\":\"https://github.com/confluentinc/kafka-connect-datagen\",\"connector_class\":\"io.confluent.kafka.connect.datagen.DatagenConnector\",\"connector_type\":\"SOURCE\",\"cloud\":\"AWS\",\"sensitive_config_properties\":[\"passwords\",\"keys\",\"tokens\"],\"upload_source\":{\"location\":\"PRESIGNED_URL_LOCATION\",\"upload_id\":\"e53bb2e8-8de3-49fa-9fb1-4e3fd9a16b66\"}}", ParameterType.RequestBody); + IRestResponse response = client.Execute(request); + delete: + operationId: deleteConnectV1CustomConnectorPlugin + summary: Delete a Custom Connector Plugin + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + Make a request to delete a custom connector plugin. + parameters: + - name: id + in: path + required: true + schema: + type: string + description: The unique identifier for the custom connector plugin. + tags: + - Custom Connector Plugins (connect/v1) + security: + - cloud-api-key: [] + - confluent-sts-access-token: [] + responses: + '204': + description: A Custom Connector Plugin is being deleted. + headers: + X-Request-Id: + schema: + type: string + description: The unique identifier for the API request. + X-RateLimit-Limit: + schema: + type: integer + description: The maximum number of requests you're permitted to make per time period. + X-RateLimit-Remaining: + schema: + type: integer + description: The number of requests remaining in the current rate limit window. + X-RateLimit-Reset: + schema: + type: integer + description: |- + The relative time in seconds until the current rate-limit window resets. + + **Important:** This differs from Github and Twitter's same-named header which uses UTC epoch seconds. We use relative time to avoid client/server time synchronization issues. + '400': + $ref: '#/components/responses/BadRequestError' + '401': + $ref: '#/components/responses/UnauthenticatedError' + '403': + $ref: '#/components/responses/UnauthorizedError' + '404': + $ref: '#/components/responses/NotFoundError' + '429': + $ref: '#/components/responses/RateLimitError' + '500': + $ref: '#/components/responses/DefaultSystemError' + x-codeSamples: + - lang: Shell + source: |- + curl --request DELETE \ + --url 'https://api.confluent.cloud/connect/v1/custom-connector-plugins/{id}' \ + --header 'Authorization: Basic REPLACE_BASIC_AUTH' + - lang: Java + source: |- + OkHttpClient client = new OkHttpClient(); + + Request request = new Request.Builder() + .url("https://api.confluent.cloud/connect/v1/custom-connector-plugins/{id}") + .delete(null) + .addHeader("Authorization", "Basic REPLACE_BASIC_AUTH") + .build(); + + Response response = client.newCall(request).execute(); + - lang: Go + source: "package main\n\nimport (\n\t\"fmt\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.confluent.cloud/connect/v1/custom-connector-plugins/{id}\"\n\n\treq, _ := http.NewRequest(\"DELETE\", url, nil)\n\n\treq.Header.Add(\"Authorization\", \"Basic REPLACE_BASIC_AUTH\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}" + - lang: Python + source: |- + import http.client + + conn = http.client.HTTPSConnection("api.confluent.cloud") + + headers = { 'Authorization': "Basic REPLACE_BASIC_AUTH" } + + conn.request("DELETE", "/connect/v1/custom-connector-plugins/{id}", headers=headers) + + res = conn.getresponse() + data = res.read() + + print(data.decode("utf-8")) + - lang: Node + source: |- + const http = require("https"); + + const options = { + "method": "DELETE", + "hostname": "api.confluent.cloud", + "port": null, + "path": "/connect/v1/custom-connector-plugins/{id}", + "headers": { + "Authorization": "Basic REPLACE_BASIC_AUTH" + } + }; + + const req = http.request(options, function (res) { + const chunks = []; + + res.on("data", function (chunk) { + chunks.push(chunk); + }); + + res.on("end", function () { + const body = Buffer.concat(chunks); + console.log(body.toString()); + }); + }); + + req.end(); + - lang: C + source: |- + CURL *hnd = curl_easy_init(); + + curl_easy_setopt(hnd, CURLOPT_CUSTOMREQUEST, "DELETE"); + curl_easy_setopt(hnd, CURLOPT_URL, "https://api.confluent.cloud/connect/v1/custom-connector-plugins/{id}"); + + struct curl_slist *headers = NULL; + headers = curl_slist_append(headers, "Authorization: Basic REPLACE_BASIC_AUTH"); + curl_easy_setopt(hnd, CURLOPT_HTTPHEADER, headers); + + CURLcode ret = curl_easy_perform(hnd); + - lang: C# + source: |- + var client = new RestClient("https://api.confluent.cloud/connect/v1/custom-connector-plugins/{id}"); + var request = new RestRequest(Method.DELETE); + request.AddHeader("Authorization", "Basic REPLACE_BASIC_AUTH"); + IRestResponse response = client.Execute(request); + /connect/v1/presigned-upload-url: + post: + summary: Request a presigned upload URL for a new Custom Connector Plugin. + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + Request a presigned upload URL to upload a Custom Connector Plugin archive. + requestBody: + content: + application/json: + schema: + allOf: + - $ref: '#/components/schemas/connect.v1.PresignedUrlRequest' + - type: object + required: + - content_format + x-name: connect.v1.PresignedUrl + operationId: presigned-upload-urlConnectV1PresignedUrl + tags: + - Presigned Urls (connect/v1) + security: + - cloud-api-key: [] + responses: + '200': + description: Presigned Url. + content: + application/json: + schema: + allOf: + - $ref: '#/components/schemas/connect.v1.PresignedUrl' + - type: object + required: + - api_version + - kind + 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. + + **Important:** This differs from Github and Twitter's same-named header which uses UTC epoch seconds. We use relative time to avoid client/server time synchronization issues. + '400': + $ref: '#/components/responses/BadRequestError' + '401': + $ref: '#/components/responses/UnauthenticatedError' + '403': + $ref: '#/components/responses/UnauthorizedError' + '404': + $ref: '#/components/responses/NotFoundError' + '429': + $ref: '#/components/responses/RateLimitError' + '500': + $ref: '#/components/responses/DefaultSystemError' + x-codeSamples: + - lang: Shell + source: |- + curl --request POST \ + --url https://api.confluent.cloud/connect/v1/presigned-upload-url \ + --header 'Authorization: Basic REPLACE_BASIC_AUTH' \ + --header 'content-type: application/json' \ + --data '{"content_format":"ZIP","cloud":"AWS"}' + - lang: Java + source: |- + OkHttpClient client = new OkHttpClient(); + + MediaType mediaType = MediaType.parse("application/json"); + RequestBody body = RequestBody.create(mediaType, "{\"content_format\":\"ZIP\",\"cloud\":\"AWS\"}"); + Request request = new Request.Builder() + .url("https://api.confluent.cloud/connect/v1/presigned-upload-url") + .post(body) + .addHeader("content-type", "application/json") + .addHeader("Authorization", "Basic REPLACE_BASIC_AUTH") + .build(); + + Response response = client.newCall(request).execute(); + - lang: Go + source: "package main\n\nimport (\n\t\"fmt\"\n\t\"strings\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.confluent.cloud/connect/v1/presigned-upload-url\"\n\n\tpayload := strings.NewReader(\"{\\\"content_format\\\":\\\"ZIP\\\",\\\"cloud\\\":\\\"AWS\\\"}\")\n\n\treq, _ := http.NewRequest(\"POST\", url, payload)\n\n\treq.Header.Add(\"content-type\", \"application/json\")\n\treq.Header.Add(\"Authorization\", \"Basic REPLACE_BASIC_AUTH\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}" + - lang: Python + source: |- + import http.client + + conn = http.client.HTTPSConnection("api.confluent.cloud") + + payload = "{\"content_format\":\"ZIP\",\"cloud\":\"AWS\"}" + + headers = { + 'content-type': "application/json", + 'Authorization': "Basic REPLACE_BASIC_AUTH" + } + + conn.request("POST", "/connect/v1/presigned-upload-url", payload, headers) + + res = conn.getresponse() + data = res.read() + + print(data.decode("utf-8")) + - lang: Node + source: |- + const http = require("https"); + + const options = { + "method": "POST", + "hostname": "api.confluent.cloud", + "port": null, + "path": "/connect/v1/presigned-upload-url", + "headers": { + "content-type": "application/json", + "Authorization": "Basic REPLACE_BASIC_AUTH" + } + }; + + const req = http.request(options, function (res) { + const chunks = []; + + res.on("data", function (chunk) { + chunks.push(chunk); + }); + + res.on("end", function () { + const body = Buffer.concat(chunks); + console.log(body.toString()); + }); + }); + + req.write(JSON.stringify({content_format: 'ZIP', cloud: 'AWS'})); + req.end(); + - lang: C + source: |- + CURL *hnd = curl_easy_init(); + + curl_easy_setopt(hnd, CURLOPT_CUSTOMREQUEST, "POST"); + curl_easy_setopt(hnd, CURLOPT_URL, "https://api.confluent.cloud/connect/v1/presigned-upload-url"); + + struct curl_slist *headers = NULL; + headers = curl_slist_append(headers, "content-type: application/json"); + headers = curl_slist_append(headers, "Authorization: Basic REPLACE_BASIC_AUTH"); + curl_easy_setopt(hnd, CURLOPT_HTTPHEADER, headers); + + curl_easy_setopt(hnd, CURLOPT_POSTFIELDS, "{\"content_format\":\"ZIP\",\"cloud\":\"AWS\"}"); + + CURLcode ret = curl_easy_perform(hnd); + - lang: C# + source: |- + var client = new RestClient("https://api.confluent.cloud/connect/v1/presigned-upload-url"); + var request = new RestRequest(Method.POST); + request.AddHeader("content-type", "application/json"); + request.AddHeader("Authorization", "Basic REPLACE_BASIC_AUTH"); + request.AddParameter("application/json", "{\"content_format\":\"ZIP\",\"cloud\":\"AWS\"}", ParameterType.RequestBody); + IRestResponse response = client.Execute(request); diff --git a/providers/src/confluent/v00.00.00000/services/encryption_keys.yaml b/providers/src/confluent/v00.00.00000/services/encryption_keys.yaml new file mode 100644 index 00000000..9809c465 --- /dev/null +++ b/providers/src/confluent/v00.00.00000/services/encryption_keys.yaml @@ -0,0 +1,5737 @@ +openapi: 3.0.0 +servers: + - url: 'https://api.confluent.cloud' + description: Confluent Cloud API +info: + version: '' + contact: + name: Confluent Cloud + url: 'https://www.confluent.io/cloud-contact-us/' + email: support@confluent.io + x-api-id: 46234552-5833-42eb-ba0f-883ad3f70d2b + x-audience: external-public + x-logo: + url: 'https://assets.confluent.io/m/5ec23aa91903c00b/' + title: Confluent Cloud APIs - encryption_keys + description: encryption_keys +tags: + - name: API Keys (iam/v2) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + `ApiKey` objects represent access to different parts of Confluent Cloud. Some types + of API keys represent access to a single cluster/resource such as a Kafka cluster, + Schema Registry cluster or a ksqlDB cluster. Cloud API Keys represent access to resources within an organization + that are not tied to a specific cluster, such as the Org API, IAM API, Metrics API or Connect API. + + The API allows you to list, create, update and delete your API Keys. + + + Related guide: [API Keys in Confluent Cloud](https://docs.confluent.io/cloud/current/client-apps/api-keys.html). + + ## The API Keys Model + + + ## Quotas and Limits + This resource is subject to the [following quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): + + | Quota | Description | + | --- | --- | + | `apikeys_per_org` | API Keys in one Confluent Cloud organization | + - name: Environments (org/v2) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + `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](https://docs.confluent.io/cloud/current/access-management/environments.html). + + ## The Environments Model + + + ## Quotas and Limits + This resource is subject to the [following quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): + + | Quota | Description | + | --- | --- | + | `environments_per_org` | Environments in one Confluent Cloud organization | + - name: Organizations (org/v2) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + `Organization` objects represent a customer organization. An organization contains all customer + resources (e.g., Environments, Kafka Clusters, Service Accounts, API Keys) and is tied to a billing + agreement (including any annual commitment or support plan). + + The API allows you to list, view, and update your organizations. + + + Related guide: [Organizations for Confluent Cloud](https://docs.confluent.io/cloud/current/access-management/hierarchy/organizations/cloud-organization.html). + + ## The Organizations Model + + + ## Quotas and Limits + This resource is subject to the [following quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): + + | Quota | Description | + | --- | --- | + | `organizations_per_user` | Confluent Cloud organizations a user belongs to | + - name: Users (iam/v2) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + `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](https://docs.confluent.io/cloud/current/access-management/user-account.html). + + ## The Users Model + + + ## Quotas and Limits + This resource is subject to the [following quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): + + | Quota | Description | + | --- | --- | + | `users_per_org` | Users in one Confluent Cloud organization | + - name: Service Accounts (iam/v2) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + `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](https://docs.confluent.io/cloud/current/access-management/service-account.html). + + ## The Service Accounts Model + + + ## Quotas and Limits + This resource is subject to the [following quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): + + | Quota | Description | + | --- | --- | + | `service_accounts_per_org` | Service Accounts in one Confluent Cloud organization | + - name: Invitations (iam/v2) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + `Invitation` objects represent invitations to invite users to join your organizations in Confluent Cloud. + + The API allows you to list all your invitations, as well as create, read, and delete a specified invitation. + + + Related guide: [User invitations in Confluent Cloud](https://docs.confluent.io/cloud/current/access-management/identity/user-accounts.html). + + ## The Invitations Model + + + ## Quotas and Limits + This resource is subject to the [following quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): + + | Quota | Description | + | --- | --- | + | `invitations_per_org` | Invitations in a Confluent Cloud organization | + - name: IP Groups (iam/v2) + description: |- + [![Limited Availability](https://img.shields.io/badge/Lifecycle%20Stage-Limited%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) [![Request Access To IP Groups API](https://img.shields.io/badge/-Request%20Access%20To%20IP%20Groups%20API-%23bc8540)](mailto:cloud-support@confluent.io?subject=Request%20to%20join%20IP%20Filtering%20API%20Limited%20Access&body=I%E2%80%99d%20like%20to%20join%20the%20Confluent%20Cloud%20API%20Limited%20Access%20for%20IP%20Filtering.%0AMy%20Cloud%20Organization%20ID%20is%20%3Cretrieve%20from%20https%3A//confluent.cloud/settings/billing/payment%3E.%0A) + + Definitions of networks which can be named and referred by IP blocks, commonly used to attach to IP Filter rules. + + + ## The IP Groups Model + + - name: IP Filters (iam/v2) + description: |- + [![Limited Availability](https://img.shields.io/badge/Lifecycle%20Stage-Limited%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) [![Request Access To IP Filters API](https://img.shields.io/badge/-Request%20Access%20To%20IP%20Filters%20API-%23bc8540)](mailto:ccloud-api-access+iam-v2-limited-availability@confluent.io?subject=Request%20to%20join%20iam/v2%20API%20Limited%20Availability&body=I%E2%80%99d%20like%20to%20join%20the%20Confluent%20Cloud%20API%20Limited%20Availability%20for%20iam/v2%20to%20provide%20early%20feedback%21%20My%20Cloud%20Organization%20ID%20is%20%3Cretrieve%20from%20https%3A//confluent.cloud/settings/billing/payment%3E.) + + `IP Filter` objects are bindings between IP Groups and Confluent resource(s). + For example, a binding between "CorpNet" and "Management APIs" will enforce that + access must come from one of the CIDR blocks associated with CorpNet. + If there are multiple IP filters bound to a resource, a request matching any of the CIDR blocks + for any of the IP Group will allow the request. + If there are no IP Filters for a resource, then access will be granted to requests originating + from any IP Address. + + + ## The IP Filters Model + + - name: Role Bindings (iam/v2) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + A role binding grants a Principal a role on resources that match a pattern. + + The API allows you to perform create, delete, and list operations on role bindings. + + + Related guide: [Role-Based Access Control (RBAC)](https://docs.confluent.io/cloud/current/access-management/access-control/cloud-rbac.html). + + ## The Role Bindings Model + + - name: Subscriptions (notifications/v1) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + `Subscription` objects represent the intent of the customers to get notifications of particular types. + A subscription is created for a particular `NotificationType` and the user will get notifications on the + `Integrations` that are provided while creating the subscription. + + This API allows you to create, retrieve, and update subscriptions, + as well as to view the list of all your subscriptions. You can also delete subscriptions + with RECOMMENDED or OPTIONAL notification types. Subscriptions with REQUIRED notification types cannot be deleted. + + + Related guide: [Cloud Notifications](https://docs.confluent.io/cloud/current/monitoring/configure-notifications.html#notifications-for-ccloud). + + ## The Subscriptions Model + + - name: Integrations (notifications/v1) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + You can create an `Integration` to specify how we can notify you when we receive an alert/notification for + a subscription. Please note that you can only perform create, update and delete operations for integrations + of type `Webhook`, `Slack` and `MsTeams`. You cannot create, update or delete integrations of type `RoleEmail` + and `UserEmail`. + + + Related guide: [Cloud Notifications](https://docs.confluent.io/cloud/current/monitoring/configure-notifications.html#notifications-for-ccloud). + + ## The Integrations Model + + + ## Quotas and Limits + This resource is subject to the [following quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): + + | Quota | Description | + | --- | --- | + | `integrations_per_org` | Maximum number of integrations in one Confluent Cloud organization | + - name: Notification Types (notifications/v1) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + The type of notifications (and their corresponding metadata) supported by Confluent. + + + Related guide: [Cloud Notifications](https://docs.confluent.io/cloud/current/monitoring/configure-notifications.html#notifications-for-ccloud). + + ## The Notification Types Model + + - name: Clusters (cmk/v2) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + `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](https://docs.confluent.io/cloud/current/clusters/cluster-api.html). + + ## The Clusters Model + + + ## Quotas and Limits + This resource is subject to the [following quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): + + | Quota | Description | + | --- | --- | + | `kafka_clusters_per_environment` | Number of clusters in one Confluent Cloud environment | + - name: Clusters (ksqldbcm/v2) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + `Cluster` represents a ksqlDB runtime that you can issue queries to using its API endpoint. + It executes SQL statements and queries which under the hood get built into corresponding + Kafka Streams topologies. The API allows you to list, create, read, and delete your ksqlDB clusters. + + + Related guide: [ksqlDB in Confluent Cloud](https://docs.confluent.io/cloud/current/ksqldb/ksqldb-cluster-api.html). + + ## The Clusters Model + + + ## Quotas and Limits + This resource is subject to the following quotas: + + | Quota | Description | + | --- | --- | + | `ksql.limits.max_apps_per_cluster` | Clusters in one Confluent Cloud Kafka Cluster. | + - name: Connectors (connect/v1) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + API for Managed Connectors or Custom Connectors in Confluent Cloud. + + The API allows you to list, create, get, update and delete a Managed Connector or Custom Connector in Confluent Cloud. + + Connect metrics are available through the [Metrics v2 API](https://api.telemetry.confluent.cloud/docs#tag/Version-2). + + Related guide: [Confluent Cloud API and Managed Connectors](https://docs.confluent.io/cloud/current/connectors/connect-api-section.html). + - name: Lifecycle (connect/v1) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + API for managing the lifecycle for a Managed Connector or Custom Connector in Confluent Cloud. Operations currently supported are Pause and Resume. + - name: Status (connect/v1) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + API for requesting the status or the tasks for a Managed Connector or Custom Connector in Confluent Cloud. + - name: Managed Connector Plugins (connect/v1) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + API for Managed connectors in Confluent Cloud. + - name: Offsets (connect/v1) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + API for managing the offsets for a Managed Connector. + + Related guide: [Manage Connector Offsets](https://docs.confluent.io/cloud/current/connectors/offsets.html#manage-offsets-for-fully-managed-connectors-in-ccloud) + - name: Custom Connector Plugins (connect/v1) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + CustomConnectorPlugins objects represent Custom Connector Plugins on Confluent Cloud. + The API allows you to list, create, read, update, and delete your Custom Connector Plugins. + Related guide: + [Custom Connector Plugin API](https://docs.confluent.io/cloud/current/connectors/connect-api-section.html). + + + ## The Custom Connector Plugins Model + + - name: Presigned Urls (connect/v1) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + Request a presigned upload URL for new Custom Connector Plugin. Note that + the URL policy expires in one hour. If the policy expires, you can request + a new presigned upload URL. + + Related guide: + [Custom Connector Plugin API](https://docs.confluent.io/cloud/current/connectors/connect-api-section.html). + + + ## The Presigned Urls Model + + - name: Cluster (v3) + description: '[![Generally Available](https://img.shields.io/badge/Lifecycle%20Stage-Generally%20Available-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy)' + - name: Configs (v3) + description: '[![Generally Available](https://img.shields.io/badge/Lifecycle%20Stage-Generally%20Available-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy)' + - name: ACL (v3) + description: '[![Generally Available](https://img.shields.io/badge/Lifecycle%20Stage-Generally%20Available-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy)' + - name: Consumer Group (v3) + description: '[![Generally Available](https://img.shields.io/badge/Lifecycle%20Stage-Generally%20Available-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy)' + - name: Partition (v3) + description: '[![Generally Available](https://img.shields.io/badge/Lifecycle%20Stage-Generally%20Available-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy)' + - name: Topic (v3) + description: '[![Generally Available](https://img.shields.io/badge/Lifecycle%20Stage-Generally%20Available-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy)' + - name: Records (v3) + description: '[![Generally Available](https://img.shields.io/badge/Lifecycle%20Stage-Generally%20Available-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy)' + - name: Cluster Linking (v3) + description: '[![Generally Available](https://img.shields.io/badge/Lifecycle%20Stage-Generally%20Available-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy)' + - name: Applied Quotas (service-quota/v1) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + A `quota` object represents a quota configuration for a specific Confluent Cloud resource. + Use this API to retrieve an individual quota or list of quotas for a given scope. + + + Related guide: [Service Quotas for Confluent Cloud](https://docs.confluent.io/cloud/current/quotas/index.html). + + ## The Applied Quotas Model + + - name: Scopes (service-quota/v1) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + Gets a list of all available scopes for applied quotas. + + + Related guide: [Quota Scopes](https://docs.confluent.io/cloud/current/quotas/quotas.html#query-for-scopes). + + ## The Scopes Model + + - name: Entitlements (partner/v2) + description: | + [![Early Access](https://img.shields.io/badge/Lifecycle%20Stage-Early%20Access-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) [![Request Access To Partner v2](https://img.shields.io/badge/-Request%20Access%20To%20Partner%20v2-%23bc8540)](mailto:ccloud-api-access+partner-v2-early-access@confluent.io?subject=Request%20to%20join%20partner/v2%20API%20Early%20Access&body=I%E2%80%99d%20like%20to%20join%20the%20Confluent%20Cloud%20API%20Early%20Access%20for%20partner/v2%20to%20provide%20early%20feedback%21%20My%20Cloud%20Organization%20ID%20is%20%3Cretrieve%20from%20https%3A//confluent.cloud/settings/billing/payment%3E.) + + `Entitlement` objects represent metadata about a marketplace entitlement. + + An entitlement includes metadata about a marketplace purchase + (start date, end date, billing information, partner IDs, etc). + The API allows partners to create, read, and list entitlements. (Unless you + need entitlement creation and customer registration to be separate, + we recommend using the Signup API to create an organization and entitlement + at the same time) + + The API only allows authorized partners to interact with the Entitlements API. + - name: Regions (srcm/v2) + description: |- + [![Deprecated](https://img.shields.io/badge/Lifecycle%20Stage-Deprecated-%23ff005c)](#section/Versioning/API-Lifecycle-Policy) + + `Region` objects represent cloud provider regions available when placing Schema Registry clusters. + The API allows you to list Schema Registry regions. + + + Related guides: + * [Confluent Cloud providers and region support](https://docs.confluent.io/cloud/current/stream-governance/packages.html#cloud-providers-and-region-support). + * [srcm/v3 Migration Guide](https://docs.confluent.io/cloud/current/stream-governance/packages.html#deprecation-of-srcm-v2-clusters-and-regions-apis-and-upgrade-guide). + + + ## The Regions Model + + - name: Clusters (srcm/v2) + description: |- + [![Deprecated](https://img.shields.io/badge/Lifecycle%20Stage-Deprecated-%23ff005c)](#section/Versioning/API-Lifecycle-Policy) + + `Clusters` objects represent Schema Registry Clusters on Confluent Cloud. + + The API allows you to list, create, read, and delete your Schema Registry clusters. + + + Related guides: + * [Confluent Cloud Schema Registry Cluster APIs](https://docs.confluent.io/cloud/current/stream-governance/clusters-regions-api.html#schema-registry-cluster-management). + * [srcm/v3 Migration Guide](https://docs.confluent.io/cloud/current/stream-governance/packages.html#deprecation-of-srcm-v2-clusters-and-regions-apis-and-upgrade-guide). + + + ## The Clusters Model + + - name: Clusters (srcm/v3) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + `Clusters` objects represent Schema Registry Clusters on Confluent Cloud. + + The API allows you to list and read your Schema Registry clusters. + + + Related guide: [Confluent Cloud Schema Registry Cluster APIs](https://docs.confluent.io/cloud/current/stream-governance/clusters-regions-api.html#schema-registry-cluster-management). + + ## The Clusters Model + + - name: Compatibility (v1) + description: |- + [![Generally Available](https://img.shields.io/badge/Lifecycle%20Stage-Generally%20Available-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + The API allows you to test schema compatibility. + + Related guide: [Manage Schemas in Confluent Cloud](https://docs.confluent.io/cloud/current/sr/schemas-manage.html#manage-schemas-in-ccloud). + - name: Config (v1) + description: |- + [![Generally Available](https://img.shields.io/badge/Lifecycle%20Stage-Generally%20Available-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + The API allows you to manage and query schema compatibility settings and cluster configurations. + + Related guide: [Manage Schemas in Confluent Cloud](https://docs.confluent.io/cloud/current/sr/schemas-manage.html#manage-schemas-in-ccloud). + - name: Contexts (v1) + description: |- + [![Generally Available](https://img.shields.io/badge/Lifecycle%20Stage-Generally%20Available-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + The API allows you to retrieve information about schema contexts. + + Related guide: [Manage Schemas in Confluent Cloud](https://docs.confluent.io/cloud/current/sr/schemas-manage.html#manage-schemas-in-ccloud). + - name: Exporters (v1) + description: |- + [![Generally Available](https://img.shields.io/badge/Lifecycle%20Stage-Generally%20Available-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + The API allows you to create, retrieve, update, and delete exporters. + + Related guide: [Manage Schemas in Confluent Cloud](https://docs.confluent.io/cloud/current/sr/schemas-manage.html#manage-schemas-in-ccloud). + - name: Modes (v1) + description: |- + [![Generally Available](https://img.shields.io/badge/Lifecycle%20Stage-Generally%20Available-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + The API allows you to create, retrieve, update, and delete schema subjects modes of operation. + + Related guide: [Manage Schemas in Confluent Cloud](https://docs.confluent.io/cloud/current/sr/schemas-manage.html#manage-schemas-in-ccloud). + - name: Schemas (v1) + description: |- + [![Generally Available](https://img.shields.io/badge/Lifecycle%20Stage-Generally%20Available-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + The API allows you to create, retrieve, update, and delete schemas. + + Related guide: [Manage Schemas in Confluent Cloud](https://docs.confluent.io/cloud/current/sr/schemas-manage.html#manage-schemas-in-ccloud). + - name: Subjects (v1) + description: |- + [![Generally Available](https://img.shields.io/badge/Lifecycle%20Stage-Generally%20Available-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + The API allows you to create, retrieve, update, and delete schema subjects and versions. + + Related guide: [Manage Schemas in Confluent Cloud](https://docs.confluent.io/cloud/current/sr/schemas-manage.html#manage-schemas-in-ccloud). + - name: Key Encryption Keys (v1) + description: |- + [![Generally Available](https://img.shields.io/badge/Lifecycle%20Stage-Generally%20Available-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + The API allows you to create, retrieve, update, and delete key encryption keys. + + Related guide: [Manage Schemas in Confluent Cloud](https://docs.confluent.io/cloud/current/sr/schemas-manage.html#manage-schemas-in-ccloud). + - name: Data Encryption Keys (v1) + description: |- + [![Generally Available](https://img.shields.io/badge/Lifecycle%20Stage-Generally%20Available-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + The API allows you to create, retrieve, update, and delete data encryption keys. + + Related guide: [Manage Schemas in Confluent Cloud](https://docs.confluent.io/cloud/current/sr/schemas-manage.html#manage-schemas-in-ccloud). + - name: Entity (v1) + description: |- + [![Generally Available](https://img.shields.io/badge/Lifecycle%20Stage-Generally%20Available-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + The API allows you to create, retrieve, update, and delete catalog entities. + + Related guide: [Catalog API Documentation](https://docs.confluent.io/cloud/current/stream-governance/stream-catalog.html#catalog-api-documentation). + - name: Search (v1) + description: |- + [![Generally Available](https://img.shields.io/badge/Lifecycle%20Stage-Generally%20Available-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + The API allows you to search for entities. + + Related guide: [Catalog API Documentation](https://docs.confluent.io/cloud/current/stream-governance/stream-catalog.html#catalog-api-documentation). + - name: Types (v1) + description: |- + [![Generally Available](https://img.shields.io/badge/Lifecycle%20Stage-Generally%20Available-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + The API allows you to create, retrieve, update, and delete catalog types such as tag definitions. + + Related guide: [Catalog API Documentation](https://docs.confluent.io/cloud/current/stream-governance/stream-catalog.html#catalog-api-documentation). + - name: Provider Shared Resources (cdx/v1) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + `ProviderSharedResource` object contains details of the data stream + (topic, schema registry subjects, sharing metadata) that you have shared through Stream Sharing. + + + ## The Provider Shared Resources Model + + - name: Provider Shares (cdx/v1) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + `ProviderShare` object respresents the share that you have created through Stream Sharing. + + + Related guide: [Provider Stream Shares in Confluent Cloud](https://docs.confluent.io/cloud/current/stream-sharing/produce-shared-data.html#stream-shares). + + ## The Provider Shares Model + + - name: Consumer Shared Resources (cdx/v1) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + `ConsumerSharedResource` object contains details of the data stream + (topic, schema registry subjects, sharing metadata) that you received through Stream Sharing. + + + ## The Consumer Shared Resources Model + + - name: Consumer Shares (cdx/v1) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + `ConsumerShare` object respresents the share that you received through Stream Sharing. + + + Related guide: [Consumer Stream Shares in Confluent Cloud](https://docs.confluent.io/cloud/current/stream-sharing/consume-shared-data.html). + + ## The Consumer Shares Model + + - name: Shared Tokens (cdx/v1) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + Encrypted Token shared with consumer + + + ## The Shared Tokens Model + + - name: Opt Ins (cdx/v1) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + Stream sharing opt in options + + ## The Opt Ins Model + + - name: Organizations (partner/v2) + description: | + [![Early Access](https://img.shields.io/badge/Lifecycle%20Stage-Early%20Access-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) [![Request Access To Partner v2](https://img.shields.io/badge/-Request%20Access%20To%20Partner%20v2-%23bc8540)](mailto:ccloud-api-access+partner-v2-early-access@confluent.io?subject=Request%20to%20join%20partner/v2%20API%20Early%20Access&body=I%E2%80%99d%20like%20to%20join%20the%20Confluent%20Cloud%20API%20Early%20Access%20for%20partner/v2%20to%20provide%20early%20feedback%21%20My%20Cloud%20Organization%20ID%20is%20%3Cretrieve%20from%20https%3A//confluent.cloud/settings/billing/payment%3E.) + + `Organizations` objects represent an entire Confluent Cloud organization. + Partners are allowed to get an organization they have signed up or + list all organizations they have signed up. + - name: Signup (partner/v2) + description: | + [![Early Access](https://img.shields.io/badge/Lifecycle%20Stage-Early%20Access-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) [![Request Access To Partner v2](https://img.shields.io/badge/-Request%20Access%20To%20Partner%20v2-%23bc8540)](mailto:ccloud-api-access+partner-v2-early-access@confluent.io?subject=Request%20to%20join%20partner/v2%20API%20Early%20Access&body=I%E2%80%99d%20like%20to%20join%20the%20Confluent%20Cloud%20API%20Early%20Access%20for%20partner/v2%20to%20provide%20early%20feedback%21%20My%20Cloud%20Organization%20ID%20is%20%3Cretrieve%20from%20https%3A//confluent.cloud/settings/billing/payment%3E.) + + `Signup` APIs can only be performed by partners. + - name: Networks (networking/v1) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + `Network` represents a network (VPC) in Confluent Cloud. All Networks exist within Confluent-managed cloud + provider accounts. Dedicated networks support more networking options but can only contain Dedicated clusters. + Shared networks can contain any cluster type. + + The API allows you to list, create, read, update, and delete your networks. + + + Related guide: [APIs to manage networks in Confluent Cloud](https://docs.confluent.io/cloud/current/networking/overview.html). + + ## The Networks Model + + + ## Quotas and Limits + This resource is subject to the [following quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): + + | Quota | Description | + | --- | --- | + | `dedicated_networks_per_environment` | Number of dedicated networks per Confluent Cloud environment | + - name: Peerings (networking/v1) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + Add or remove VPC/VNet peering connections between your VPC/VNet and Confluent Cloud. + + Related guides: + * [Use VPC peering connections with Confluent Cloud on AWS](https://docs.confluent.io/cloud/current/networking/peering/aws-peering.html). + * [Use VNet peering connections with Confluent Cloud on Azure](https://docs.confluent.io/cloud/current/networking/peering/azure-peering.html). + * [Use VPC peering connections with Confluent Cloud on Google Cloud](https://docs.confluent.io/cloud/current/networking/peering/gcp-peering.html). + + + ## The Peerings Model + + + ## Quotas and Limits + This resource is subject to the [following quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): + + | Quota | Description | + | --- | --- | + | `peerings_per_network` | Number of peerings per network | + - name: Transit Gateway Attachments (networking/v1) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + AWS Transit Gateway Attachments + + Related guide: [APIs to manage AWS Transit Gateway Attachments](https://docs.confluent.io/cloud/current/networking/aws-transit-gateway.html). + + ## The Transit Gateway Attachments Model + + + ## Quotas and Limits + This resource is subject to the [following quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): + + | Quota | Description | + | --- | --- | + | `tgw_attachments_per_network` | Number of TGW attachments per network | + - name: Private Link Accesses (networking/v1) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + Add or remove access to PrivateLink endpoints by AWS account, Azure subscription and GCP project ID. + + Related guides: + * [Use Google Cloud Private Service Connect with Confluent Cloud](https://docs.confluent.io/cloud/current/networking/private-links/gcp-private-service-connect.html). + * [Use Azure Private Link with Confluent Cloud](https://docs.confluent.io/cloud/current/networking/private-links/azure-privatelink.html). + * [Use AWS PrivateLink with Confluent Cloud](https://docs.confluent.io/cloud/current/networking/private-links/aws-privatelink.html). + + + ## The Private Link Accesses Model + + + ## Quotas and Limits + This resource is subject to the [following quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): + + | Quota | Description | + | --- | --- | + | `private_link_accounts_per_network` | Number of AWS accounts per network | + | `private_link_subscriptions_per_network` | Number of Azure subscriptions per network | + | `private_service_connect_projects_per_network` | Number of GCP projects per network | + - name: Network Link Services (networking/v1) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + Network Link Service is associated with a Private Link Confluent Cloud Network. + It enables connectivity from other Private Link Confluent Cloud Networks based on + the configured accept policies. + + + Related guide: [Network Linking Overview](https://docs.confluent.io/cloud/current/networking/network-linking.html). + + ## The Network Link Services Model + + + ## Quotas and Limits + This resource is subject to the [following quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): + + | Quota | Description | + | --- | --- | + | `network_link_service_per_network` | Number of network link services per network | + - name: Network Link Endpoints (networking/v1) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + A Network Link Enpoint is associated with a Private Link Confluent Cloud Network at the origin and a + Network Link Service (associated with another Private Link Confluent Cloud Network) at the target. + It enables connectivity between the origin network and the target network. + It can only be associated with a Private Link network. + + + Related guide: [Network Linking Overview](https://docs.confluent.io/cloud/current/networking/network-linking.html). + + ## The Network Link Endpoints Model + + + ## Quotas and Limits + This resource is subject to the [following quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): + + | Quota | Description | + | --- | --- | + | `network_link_endpoints_per_network` | Number of network link endpoints per network | + - name: Network Link Service Associations (networking/v1) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + List of incoming Network Link Enpoints associated with the Network Link Service. + + + Related guide: [Network Linking Overview](https://docs.confluent.io/cloud/current/networking/network-linking.html). + + ## The Network Link Service Associations Model + + - name: Gateways (networking/v1) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + A gateway is a resource that defines network access to Confluent cloud resources. + + + ## The Gateways Model + + - name: IP Addresses (networking/v1) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + IP Addresses + + Related guide: [Use Public Egress IP addresses on Confluent Cloud](https://docs.confluent.io/cloud/current/networking/static-egress-ip-addresses.html) + + ## The IP Addresses Model + + - name: Private Link Attachments (networking/v1) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + PrivateLink attachment objects represent reservations to establish PrivateLink connections + to a cloud region in order to access resources that belong to a Confluent Cloud Environment. + The API allows you to list, create, read update and delete your PrivateLink attachments. + + + ## The Private Link Attachments Model + + + ## Quotas and Limits + This resource is subject to the [following quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): + + | Quota | Description | + | --- | --- | + | `private_link_attachments_per_environment` | Number of PrivateLink Attachments per environment | + - name: Private Link Attachment Connections (networking/v1) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + PrivateLink attachment connection objects represent connections established to a cloud region + in order to access resources that belong to a Confluent Cloud Environment. + The API allows you to list, create, read update and delete your PrivateLink attachment connections. + + + ## The Private Link Attachment Connections Model + + - name: Identity Providers (iam/v2) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + `IdentityProvider` objects represent external OAuth-OIDC providers in Confluent Cloud. + + The API allows you to list, create, read, update, and delete your Identity Provider. + + + Related guide: [OAuth for Confluent Cloud](https://docs.confluent.io/cloud/current/access-management/authenticate/oauth/overview.html). + + ## The Identity Providers Model + + + ## Quotas and Limits + This resource is subject to the [following quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): + + | Quota | Description | + | --- | --- | + | `identity_providers_per_org` | Number of OAuth identity providers per organization | + | `public_keys_per_provider` | Number of public keys saved per identity provider | + - name: Jwks (iam/v2) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + `JWKS` objects represent public key sets for a specific OAuth/OpenID Connect provider within + Confluent Cloud. + + The API allows you to refresh JWKS public key data. + + + Related guide: [OAuth for Confluent Cloud](https://docs.confluent.io/cloud/current/access-management/authenticate/oauth/overview.html). + + ## The Jwks Model + + - name: Identity Pools (iam/v2) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + `IdentityPool` objects represent groups of identities tied to a given a `IdentityProvider` + that authorizes them to Confluent Cloud resources. + + It provides a mapping functionality of your `Identity Provider` user to a Confluent identity pool that + is then used to provide access to Confluent Resources. + + + Related guide: [Use identity pools with your OAuth provider](https://docs.confluent.io/cloud/current/access-management/authenticate/oauth/identity-pools.html). + + ## The Identity Pools Model + + + ## Quotas and Limits + This resource is subject to the [following quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): + + | Quota | Description | + | --- | --- | + | `identity_pools_per_provider` | Number of Identity Pools per Identity Provider | + - name: OAuth Tokens (sts/v1) + description: | + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + OAuth Token is a [JSON Web Token (JWT)](https://www.rfc-editor.org/rfc/rfc7519) that enables the use of + external identities to access Confluent Cloud APIs + - name: Client Quotas (kafka-quotas/v1) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + `ClientQuota` objects represent Client Quotas you can set at the service account level. + + The API allows you to list, create, read, update, and delete your client quotas. + + + Related guide: [Client Quotas in Confluent Cloud](https://docs.confluent.io/cloud/current/clusters/client-quotas.html). + + ## The Client Quotas Model + + - name: Pipelines (sd/v1) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + `Pipeline` objects represent information about a user-defined pipeline of Confluent Cloud components. + The pipeline's content is available separately. + + The API allows you to create, retrieve, update, and delete your pipelines, + as well as list all of your pipelines for the particular environment and Kafka cluster. + + + Related guide: [Pipelines in Confluent Cloud](https://docs.confluent.io/cloud/current/stream-designer/). + + ## The Pipelines Model + + + ## Quotas and Limits + This resource is subject to the [following quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): + + | Quota | Description | + | --- | --- | + | `pipelines_per_org` | Pipelines in one Confluent Cloud organization | + | `pipelines_per_cluster` | Pipelines in one Confluent Cloud Kafka cluster | + - name: Keys (byok/v1) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + `Key` objects represent customer managed keys on dedicated Confluent Cloud clusters. + + Keys are used to protect data at rest stored in your dedicated Confluent Cloud clusters on AWS, Azure, and GCP. + This API allows you to upload and retrieve self-managed keys on Confluent Cloud. + + + Related guide: [Confluent Cloud Bring Your Own Key (BYOK) Management API](https://docs.confluent.io/cloud/current/clusters/byok/index.html). + + ## The Keys Model + + + ## Quotas and Limits + This resource is subject to the [following quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): + + | Quota | Description | + | --- | --- | + | `byok.max_keys.per_org` | BYOK keys in one Confluent Cloud organisation. | + - name: Costs (billing/v1) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + `Cost` objects represent the aggregated billing costs for an organization + + + Related guide: [Retrieve costs for a range of dates](https://docs.confluent.io/cloud/current/billing/overview.html#retrieve-costs-for-a-range-of-dates). + + ## The Costs Model + + - name: Group Mappings (iam/v2/sso) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + `GroupMapping` objects establish relationships between user groups in your SSO + identity provider and specific RBAC roles in Confluent Cloud. + + Group mappings enable automated and secure access control to Confluent Cloud resources, + reducing administrative workload by streamlining user provisioning and authorization. + + + Related guide: [Use group mappings with your SSO identity provider](https://docs.confluent.io/cloud/current/access-management/authenticate/sso/group-mapping/overview.html). + + ## The Group Mappings Model + + + ## Quotas and Limits + This resource is subject to the [following quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): + + | Quota | Description | + | --- | --- | + | `group_mappings_per_org` | Number of group mappings per organization | + - name: Compute Pools (fcpm/v2) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + A Compute Pool represents a set of compute resources that is used to run your Queries. + The resources (CPUs, memory,…) provided by a Compute Pool are shared between all Queries that use it. + + + ## The Compute Pools Model + + - name: Regions (fcpm/v2) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + `Region` objects represent cloud provider regions available when placing Flink compute pools. + The API allows you to list Flink regions. + + + ## The Regions Model + + - name: Statements (sql/v1) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + `Statement` represents a core resource used to model SQL statements for execution. + A statement generalizes DDL, DML, DQL, etc., but doesn’t attempt to handle session + management or any higher-level functionality. + The API allows you to list, create, read, and delete your statements. + ## The Statements Model + + - name: Statement Results (sql/v1) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + `StatementResult` represents a result of a `Statement` resource. + The API allows you to read your statement's results. + ## The Statement Results Model + + - name: Statement Exceptions (sql/v1) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + `StatementException` represents an exception of a `Statement` resource. + The API allows you to read your statement's exceptions. + ## The Statement Exceptions Model + + - name: Connections (sql/v1) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + `Connection` represents a core resource used to model SQL connections for execution. + A connection generalizes DDL, DML, DQL, etc., but doesn’t attempt to handle session + management or any higher-level functionality. + The API allows you to list, create, read, and delete your connections. + ## The Connections Model + + - name: DNS Forwarders (networking/v1) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + Add, remove, and update DNS forwarder for your gateway. + + Related guides: + * [Use VPC peering connections with Confluent Cloud on AWS](https://docs.confluent.io/cloud/current/networking/peering/aws-peering.html). + * [Use VNet peering connections with Confluent Cloud on Azure](https://docs.confluent.io/cloud/current/networking/peering/azure-peering.html). + + + ## The DNS Forwarders Model + + - name: Access Points (networking/v1) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + AccessPoint objects represent network connections in and out of Gateways. + This API allows you to list, create, read, update, and delete your access points. + + + ## The Access Points Model + + - name: DNS Records (networking/v1) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + DNS record objects are associated with Confluent Cloud networking resources. This API allows you to list, create, read, update, and delete your DNS records. + + ## The DNS Records Model + + - name: Certificate Authorities (iam/v2) + description: |- + [![Limited Availability](https://img.shields.io/badge/Lifecycle%20Stage-Limited%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + `CertificateAuthority` objects represent signing certificate authorities in Confluent Cloud. + + The API allows you to list, create, read, update, and delete your Certificate Authority. + + + Related guide: [Manage certificate authorities used for client authentication with X.509 certificates.](https://docs.confluent.io/cloud/current/access-management/authenticate/mtls/overview.html). + + ## The Certificate Authorities Model + + + ## Quotas and Limits + This resource is subject to the [following quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): + + | Quota | Description | + | --- | --- | + | `certificate_authorities_per_org` | Number of certificate authorities per organization | + - name: Certificate Identity Pools (iam/v2) + description: |- + [![Limited Availability](https://img.shields.io/badge/Lifecycle%20Stage-Limited%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + `Identitypool` objects represent workload identities in Confluent Cloud. + + The API allows you to list, create, read, update, and delete your identity pools associated + with Certificate Authorities + + + Related guide: [Manage Certificate Identity Pools for Granular Client Access Management](https://docs.confluent.io/cloud/current/access-management/authenticate/mtls/configure.html#step-2-create-certificate-identity-pools-for-granular-access-control). + + ## The Certificate Identity Pools Model + + + ## Quotas and Limits + This resource is subject to the [following quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): + + | Quota | Description | + | --- | --- | + | `identity_pools_per_certificate_authority` | Number of Identity Pools per Certificate Authority | + - name: Integrations (pim/v1) + description: |- + [![Early Access](https://img.shields.io/badge/Lifecycle%20Stage-Early%20Access-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) [![Request Access To Provider Integration](https://img.shields.io/badge/-Request%20Access%20To%20Provider%20Integration-%23bc8540)](mailto:ccloud-api-access+pim-v1-early-access@confluent.io?subject=Request%20to%20join%20pim/v1%20API%20Early%20Access&body=I%E2%80%99d%20like%20to%20join%20the%20Confluent%20Cloud%20API%20Early%20Access%20for%20pim/v1%20to%20provide%20early%20feedback%21%20My%20Cloud%20Organization%20ID%20is%20%3Cretrieve%20from%20https%3A//confluent.cloud/settings/billing/payment%3E.) + + `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, and delete individual integrations, and also obtain a + list of all your provider integrations. + + + Related guide: [Provider Integration in Confluent Cloud](https://docs.confluent.io/home/overview.html). + + ## The Integrations Model + + - name: Flink Artifacts (artifact/v1) + description: |- + [![Early Access](https://img.shields.io/badge/Lifecycle%20Stage-Early%20Access-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) [![Request Access To Flink Artifact API EA](https://img.shields.io/badge/-Request%20Access%20To%20Flink%20Artifact%20API%20EA-%23bc8540)](mailto:ccloud-api-access+artifact-v1-early-access@confluent.io?subject=Request%20to%20join%20artifact/v1%20API%20Early%20Access&body=I%E2%80%99d%20like%20to%20join%20the%20Confluent%20Cloud%20API%20Early%20Access%20for%20artifact/v1%20to%20provide%20early%20feedback%21%20My%20Cloud%20Organization%20ID%20is%20%3Cretrieve%20from%20https%3A//confluent.cloud/settings/billing/payment%3E.) + + FlinkArtifact objects represent Flink Artifacts on Confluent Cloud. + + + ## The Flink Artifacts Model + + - name: Presigned Urls (artifact/v1) + description: |- + [![Early Access](https://img.shields.io/badge/Lifecycle%20Stage-Early%20Access-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) [![Request Access To Flink Artifact API EA](https://img.shields.io/badge/-Request%20Access%20To%20Flink%20Artifact%20API%20EA-%23bc8540)](mailto:ccloud-api-access+artifact-v1-early-access@confluent.io?subject=Request%20to%20join%20artifact/v1%20API%20Early%20Access&body=I%E2%80%99d%20like%20to%20join%20the%20Confluent%20Cloud%20API%20Early%20Access%20for%20artifact/v1%20to%20provide%20early%20feedback%21%20My%20Cloud%20Organization%20ID%20is%20%3Cretrieve%20from%20https%3A//confluent.cloud/settings/billing/payment%3E.) + + Request a presigned upload URL for new Flink Artifact. Note that + the URL policy expires in one hour. If the policy expires, you can request + a new presigned upload URL. + + + ## The Presigned Urls Model + + - name: Flink Artifact Versions (artifact/v1) + description: |- + [![Early Access](https://img.shields.io/badge/Lifecycle%20Stage-Early%20Access-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) [![Request Access To Flink Artifact API EA](https://img.shields.io/badge/-Request%20Access%20To%20Flink%20Artifact%20API%20EA-%23bc8540)](mailto:ccloud-api-access+artifact-v1-early-access@confluent.io?subject=Request%20to%20join%20artifact/v1%20API%20Early%20Access&body=I%E2%80%99d%20like%20to%20join%20the%20Confluent%20Cloud%20API%20Early%20Access%20for%20artifact/v1%20to%20provide%20early%20feedback%21%20My%20Cloud%20Organization%20ID%20is%20%3Cretrieve%20from%20https%3A//confluent.cloud/settings/billing/payment%3E.) + + FlinkArtifactVersion objects represent Flink Artifact Versions on Confluent Cloud. + + + ## The Flink Artifact Versions Model + +components: + schemas: + AclOperation: + type: string + x-extensible-enum: + - UNKNOWN + - ANY + - ALL + - READ + - WRITE + - CREATE + - DELETE + - ALTER + - DESCRIBE + - CLUSTER_ACTION + - DESCRIBE_CONFIGS + - ALTER_CONFIGS + - IDEMPOTENT_WRITE + AclPatternType: + type: string + x-extensible-enum: + - UNKNOWN + - ANY + - MATCH + - LITERAL + - PREFIXED + AclPermission: + type: string + x-extensible-enum: + - UNKNOWN + - ANY + - DENY + - ALLOW + AclResourceType: + type: string + enum: + - UNKNOWN + - ANY + - TOPIC + - GROUP + - CLUSTER + - TRANSACTIONAL_ID + - DELEGATION_TOKEN + BrokerTaskType: + type: string + enum: + - add-broker + - remove-broker + MirrorTopicStatus: + enum: + - ACTIVE + - FAILED + - LINK_FAILED + - LINK_PAUSED + - PAUSED + - PENDING_STOPPED + - SOURCE_UNAVAILABLE + - STOPPED + - PENDING_MIRROR + - PENDING_SYNCHRONIZE + - PENDING_SETUP_FOR_RESTORE + - PENDING_RESTORE + type: string + AlterConfigBatchRequestData: + type: object + required: + - data + properties: + data: + type: array + items: + type: object + required: + - name + properties: + name: + type: string + value: + type: string + nullable: true + operation: + type: string + x-extensible-enum: + - SET + - DELETE + nullable: true + validate_only: + type: boolean + CreateAclRequestData: + type: object + required: + - resource_type + - resource_name + - pattern_type + - principal + - host + - operation + - permission + properties: + resource_type: + $ref: '#/components/schemas/AclResourceType' + resource_name: + type: string + pattern_type: + $ref: '#/components/schemas/AclPatternType' + principal: + type: string + host: + type: string + operation: + $ref: '#/components/schemas/AclOperation' + permission: + $ref: '#/components/schemas/AclPermission' + CreateAclRequestDataList: + allOf: + - type: object + required: + - data + properties: + data: + type: array + items: + $ref: '#/components/schemas/CreateAclRequestData' + CreateTopicRequestData: + type: object + required: + - topic_name + properties: + topic_name: + type: string + partitions_count: + type: integer + replication_factor: + type: integer + configs: + type: array + items: + type: object + required: + - name + properties: + name: + type: string + value: + type: string + nullable: true + validate_only: + type: boolean + ProduceRequest: + type: object + properties: + partition_id: + type: integer + nullable: true + format: int32 + headers: + type: array + items: + $ref: '#/components/schemas/ProduceRequestHeader' + key: + $ref: '#/components/schemas/ProduceRequestData' + value: + $ref: '#/components/schemas/ProduceRequestData' + timestamp: + type: string + format: date-time + nullable: true + UpdateConfigRequestData: + type: object + properties: + value: + type: string + nullable: true + CreateLinkRequestData: + properties: + source_cluster_id: + type: string + destination_cluster_id: + type: string + remote_cluster_id: + description: The expected remote cluster ID. + type: string + cluster_link_id: + description: 'The expected cluster link ID. Can be provided when creating the second side of a bidirectional link for validating the link ID is as expected. If it''s not provided, it''s inferred from the remote cluster.' + type: string + configs: + items: + $ref: '#/components/schemas/ConfigData' + type: array + type: object + UpdateLinkConfigRequestData: + properties: + value: + type: string + required: + - value + type: object + CreateMirrorTopicRequestData: + properties: + source_topic_name: + type: string + mirror_topic_name: + type: string + replication_factor: + type: integer + configs: + type: array + items: + $ref: '#/components/schemas/ConfigData' + required: + - source_topic_name + type: object + AlterMirrorsRequestData: + properties: + mirror_topic_names: + description: The mirror topics specified as a list of topic names. + type: array + items: + type: string + mirror_topic_name_pattern: + description: The mirror topics specified as a pattern. + type: string + type: object + RemoveBrokersRequestData: + properties: + broker_ids: + type: array + items: + type: integer + required: + - broker_ids + type: object + BrokerReplicaExclusionBatchRequestData: + type: object + required: + - data + properties: + data: + type: array + items: + $ref: '#/components/schemas/BrokerReplicaExclusionRequestData' + ProduceRequestHeader: + type: object + required: + - name + properties: + name: + type: string + value: + type: string + format: byte + nullable: true + ProduceRequestData: + type: object + properties: + type: + type: string + x-extensible-enum: + - BINARY + - JSON + - STRING + data: + $ref: '#/components/schemas/AnyValue' + nullable: true + ConfigData: + example: + name: name + value: value + properties: + name: + type: string + value: + nullable: true + type: string + required: + - name + - value + BrokerReplicaExclusionRequestData: + type: object + required: + - broker_id + - reason + properties: + broker_id: + type: integer + reason: + type: string + AnyValue: + nullable: true + CreateKekRequest: + example: + kmsProps: + key: kmsProps + shared: true + name: name + doc: doc + kmsKeyId: kmsKeyId + kmsType: kmsType + properties: + name: + type: string + description: Name of the kek + kmsType: + type: string + description: KMS type of the kek + kmsKeyId: + type: string + description: KMS key ID of the kek + kmsProps: + type: object + additionalProperties: + type: string + description: Properties of the kek + doc: + type: string + description: Description of the kek + shared: + type: boolean + description: Whether the kek is shared + deleted: + type: boolean + description: Whether the kek is deleted + type: object + Kek: + example: + kmsProps: + key: kmsProps + shared: true + deleted: true + name: name + doc: doc + kmsKeyId: kmsKeyId + kmsType: kmsType + ts: 0 + properties: + name: + type: string + description: Name of the kek + kmsType: + type: string + description: KMS type of the kek + kmsKeyId: + type: string + description: KMS key ID of the kek + kmsProps: + type: object + additionalProperties: + type: string + description: Properties of the kek + doc: + type: string + description: Description of the kek + shared: + type: boolean + description: Whether the kek is shared + ts: + type: integer + description: Timestamp of the kek + format: int64 + deleted: + type: boolean + description: Whether the kek is deleted + type: object + UpdateKekRequest: + example: + kmsProps: + key: kmsProps + shared: true + doc: doc + properties: + kmsProps: + type: object + additionalProperties: + type: string + description: Properties of the kek + doc: + type: string + description: Description of the kek + shared: + type: boolean + description: Whether the kek is shared + type: object + CreateDekRequest: + example: + subject: subject + encryptedKeyMaterial: encryptedKeyMaterial + version: 0 + algorithm: AES128_GCM + properties: + subject: + type: string + description: Subject of the dek + version: + type: integer + description: Version of the dek + format: int32 + algorithm: + type: string + description: Algorithm of the dek + enum: + - AES128_GCM + - AES256_GCM + - AES256_SIV + encryptedKeyMaterial: + type: string + description: Encrypted key material of the dek + deleted: + type: boolean + description: Whether the dek is deleted + type: object + Dek: + example: + kekName: kekName + keyMaterial: keyMaterial + deleted: true + subject: subject + encryptedKeyMaterial: encryptedKeyMaterial + version: 0 + algorithm: AES128_GCM + ts: 6 + properties: + kekName: + type: string + description: Kek name of the dek + subject: + type: string + description: Subject of the dek + version: + type: integer + description: Version of the dek + format: int32 + algorithm: + type: string + description: Algorithm of the dek + enum: + - AES128_GCM + - AES256_GCM + - AES256_SIV + encryptedKeyMaterial: + type: string + description: Encrypted key material of the dek + keyMaterial: + type: string + description: Raw key material of the dek + ts: + type: integer + description: Timestamp of the dek + format: int64 + deleted: + type: boolean + description: Whether the dek is deleted + type: object + SearchFilter: + description: Filter a collection by a string search + type: string + byok.v1.KeyList: + type: object + description: |- + `Key` objects represent customer managed keys on dedicated Confluent Cloud clusters. + + Keys are used to protect data at rest stored in your dedicated Confluent Cloud clusters on AWS, Azure, and GCP. + This API allows you to upload and retrieve self-managed keys on Confluent Cloud. + + + Related guide: [Confluent Cloud Bring Your Own Key (BYOK) Management API](https://docs.confluent.io/cloud/current/clusters/byok/index.html). + + ## The Keys Model + + + ## Quotas and Limits + This resource is subject to the [following quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): + + | Quota | Description | + | --- | --- | + | `byok.max_keys.per_org` | BYOK keys in one Confluent Cloud organisation. | + required: + - api_version + - kind + - metadata + - data + properties: + api_version: + type: string + enum: + - byok/v1 + 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: + - KeyList + metadata: + allOf: + - $ref: '#/components/schemas/ListMeta' + - properties: + first: + example: 'https://api.confluent.cloud/byok/v1/keys' + last: + example: 'https://api.confluent.cloud/byok/v1/keys?page_token=bcAOehAY8F16YD84Z1wT' + prev: + example: 'https://api.confluent.cloud/byok/v1/keys?page_token=YIXRY97wWYmwzrax4dld' + next: + example: 'https://api.confluent.cloud/byok/v1/keys?page_token=UvmDWOB1iwfAIBPj6EYb' + data: + type: array + description: A data property that contains an array of resource items. Each entry in the array is a separate resource. + items: + allOf: + - $ref: '#/components/schemas/byok.v1.Key' + - type: object + required: + - id + - metadata + - key + - provider + - state + uniqueItems: true + ListMeta: + type: object + description: ListMeta describes metadata that resource collections may have + properties: + first: + description: 'A link to the first page of results. If a response does not contain a first link, then direct navigation to the first page is not supported.' + type: string + 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 + byok.v1.Key: + type: object + description: |- + `Key` objects represent customer managed keys on dedicated Confluent Cloud clusters. + + Keys are used to protect data at rest stored in your dedicated Confluent Cloud clusters on AWS, Azure, and GCP. + This API allows you to upload and retrieve self-managed keys on Confluent Cloud. + + + Related guide: [Confluent Cloud Bring Your Own Key (BYOK) Management API](https://docs.confluent.io/cloud/current/clusters/byok/index.html). + + ## The Keys Model + + + ## Quotas and Limits + This resource is subject to the [following quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): + + | Quota | Description | + | --- | --- | + | `byok.max_keys.per_org` | BYOK keys in one Confluent Cloud organisation. | + properties: + api_version: + type: string + enum: + - byok/v1 + 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: + - Key + 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 + metadata: + allOf: + - $ref: '#/components/schemas/ObjectMeta' + - properties: + self: + example: 'https://api.confluent.cloud/byok/v1/keys/cck-12345' + resource_name: + example: 'crn://confluent.cloud/organization=9bb441c4-edef-46ac-8a41-c49e44a3fd9a/key=cck-12345' + key: + type: object + description: | + The cloud-specific key details. + + For AWS, provide the corresponding `key_arn`. + + For Azure, provide the corresponding `key_id`. + + For GCP, provide the corresponding `key_id`. + discriminator: + propertyName: kind + mapping: + AwsKey: '#/components/schemas/byok.v1.AwsKey' + AzureKey: '#/components/schemas/byok.v1.AzureKey' + GcpKey: '#/components/schemas/byok.v1.GcpKey' + oneOf: + - $ref: '#/components/schemas/byok.v1.AwsKey' + - $ref: '#/components/schemas/byok.v1.AzureKey' + - $ref: '#/components/schemas/byok.v1.GcpKey' + x-immutable: true + provider: + type: string + x-extensible-enum: + - AWS + - AZURE + - GCP + description: The cloud provider of the Key. + readOnly: true + example: AWS + state: + type: string + x-extensible-enum: + - AVAILABLE + - IN_USE + description: | + The state of the key: + AVAILABLE: key can be used for a Kafka cluster provisioning + IN_USE: key is already in use by a Kafka cluster provisioning + readOnly: true + example: IN_USE + Failure: + type: object + description: Provides information about problems encountered while performing an operation. + required: + - errors + properties: + errors: + description: List of errors which caused this operation to fail + type: array + items: + $ref: '#/components/schemas/Error' + uniqueItems: true + ObjectMeta: + description: 'ObjectMeta is metadata that all persisted resources must have, which includes all objects users must create.' + required: + - self + properties: + self: + description: 'Self is a Uniform Resource Locator (URL) at which an object can be addressed. This URL encodes the service location, API version, and other particulars necessary to locate the resource at a point in time' + type: string + format: uri + readOnly: true + example: 'https://api.confluent.cloud/v2/kafka-clusters/lkc-f3a90de' + resource_name: + description: Resource Name is a Uniform Resource Identifier (URI) that is globally unique across space and time. It is represented as a Confluent Resource Name + type: string + format: uri + readOnly: true + example: 'crn://confluent.cloud/kafka=lkc-f3a90de' + created_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: The date and time at which this object was created. It is represented in RFC3339 format and is in UTC. + updated_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: The date and time at which this object was last updated. It is represented in RFC3339 format and is in UTC. + deleted_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: The date and time at which this object was (or will be) deleted. It is represented in RFC3339 format and is in UTC. + readOnly: true + byok.v1.AwsKey: + type: object + description: | + The AWS BYOK details + properties: + key_arn: + description: | + The Amazon Resource Name (ARN) of an AWS KMS key. + type: string + example: 'arn:aws:kms:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab' + x-immutable: true + roles: + description: | + The Amazon Resource Names (ARNs) of IAM Roles created for this key-environment combination. + type: array + items: + type: string + readOnly: true + example: + - 'arn:aws:iam::123456789876:role/block_storage_manager' + - 'arn:aws:iam::987654321234:role/cc-kafka-1111aaaa-11aa-11aa-11aa-111111aaaaaa' + kind: + description: | + BYOK kind type. + type: string + enum: + - AwsKey + x-immutable: true + required: + - key_arn + - kind + byok.v1.AzureKey: + type: object + description: | + The Azure BYOK details. + properties: + application_id: + description: | + The Application ID created for this key-environment combination. + type: string + readOnly: true + key_id: + description: | + The unique Key Object Identifier URL without version of an Azure Key Vault key. + type: string + example: 'https://vault-name.vault.azure.net/keys/key-name' + x-immutable: true + key_vault_id: + description: | + Key Vault ID containing the key + type: string + example: /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/resourcegroup-name/providers/Microsoft.KeyVault/vaults/vault-name + x-immutable: true + kind: + description: | + BYOK kind type. + type: string + enum: + - AzureKey + x-immutable: true + tenant_id: + description: | + Tenant ID (uuid) hosting the Key Vault containing the key + type: string + example: 00000000-0000-0000-0000-000000000000 + x-immutable: true + required: + - key_id + - key_vault_id + - kind + - tenant_id + byok.v1.GcpKey: + type: object + description: | + The GCP BYOK details + properties: + key_id: + description: | + The Google Cloud Platform key ID. + type: string + example: projects/exampleproject/locations/us-central1/keyRings/testkeyring/cryptoKeys/testbyokkey/cryptoKeyVersions/3 + x-immutable: true + security_group: + description: | + The Google security group created for this key. + type: string + example: testgroupid@domain.com + readOnly: true + kind: + description: | + BYOK kind type. + type: string + enum: + - GcpKey + x-immutable: true + required: + - key_id + - kind + Error: + type: object + description: Describes a particular error encountered while performing an operation. + properties: + id: + description: A unique identifier for this particular occurrence of the problem. + type: string + maxLength: 255 + status: + description: 'The HTTP status code applicable to this problem, expressed as a string value.' + type: string + code: + description: 'An application-specific error code, expressed as a string value.' + type: string + title: + description: 'A short, human-readable summary of the problem. It **SHOULD NOT** change from occurrence to occurrence of the problem, except for purposes of localization.' + type: string + detail: + description: A human-readable explanation specific to this occurrence of the problem. + type: string + source: + type: object + description: 'If this error was caused by a particular part of the API request, the source will point to the query string parameter or request body property that caused it.' + properties: + pointer: + description: 'A JSON Pointer [RFC6901] to the associated entity in the request document [e.g. "/spec" for a spec object, or "/spec/title" for a specific field].' + type: string + parameter: + description: A string indicating which query parameter caused the error. + type: string + error_code: + type: integer + format: int32 + message: + type: string + nullable: true + additionalProperties: false + parameters: + AclHost: + name: host + description: The ACL host. + in: query + required: false + schema: + type: string + AclOperation: + name: operation + description: The ACL operation. + in: query + required: false + schema: + $ref: '#/components/schemas/AclOperation' + AclOperationRequired: + name: operation + description: The ACL operation. + in: query + required: true + schema: + $ref: '#/components/schemas/AclOperation' + AclPatternType: + name: pattern_type + description: The ACL pattern type. + in: query + required: false + schema: + $ref: '#/components/schemas/AclPatternType' + AclPatternTypeRequired: + name: pattern_type + description: The ACL pattern type. + in: query + required: true + schema: + $ref: '#/components/schemas/AclPatternType' + AclPermission: + name: permission + description: The ACL permission. + in: query + required: false + schema: + $ref: '#/components/schemas/AclPermission' + AclPermissionRequired: + name: permission + description: The ACL permission. + in: query + required: true + schema: + $ref: '#/components/schemas/AclPermission' + AclPrincipal: + name: principal + description: The ACL principal. This is the Service Account name or user name. + in: query + required: false + schema: + type: string + AclResourceName: + name: resource_name + description: The ACL resource name. + in: query + required: false + schema: + type: string + AclResourceType: + name: resource_type + description: The ACL resource type. + in: query + required: false + schema: + $ref: '#/components/schemas/AclResourceType' + AclResourceTypeRequired: + name: resource_type + description: The ACL resource type. + in: query + required: true + schema: + $ref: '#/components/schemas/AclResourceType' + BrokerId: + name: broker_id + description: The Kafka broker ID. + in: path + required: true + schema: + type: integer + example: 1 + ClusterId: + name: cluster_id + description: The Kafka cluster ID. + in: path + required: true + schema: + type: string + example: cluster-1 + ConfigName: + name: name + description: The configuration parameter name. + in: path + required: true + schema: + type: string + example: compression.type + ConsumerGroupId: + name: consumer_group_id + description: The consumer group ID. + in: path + required: true + schema: + type: string + example: consumer-group-1 + ConsumerId: + name: consumer_id + description: The consumer ID. + in: path + required: true + schema: + type: string + example: consumer-1 + IncludeAuthorizedOperations: + name: include_authorized_operations + description: Specify if authorized operations should be included in the response. + in: query + required: false + schema: + type: boolean + PartitionId: + name: partition_id + description: The partition ID. + in: path + required: true + schema: + type: integer + example: 0 + TopicName: + name: topic_name + description: The topic name. + in: path + required: true + schema: + type: string + example: topic-1 + BrokerTaskType: + name: task_type + description: The Kafka broker task type. + in: path + required: true + schema: + $ref: '#/components/schemas/BrokerTaskType' + example: remove-broker + ShouldShutdown: + name: should_shutdown + description: 'To shutdown the broker or not, Default: true' + in: query + required: false + schema: + type: boolean + example: true + ValidateOnly: + name: validate_only + description: 'To validate the action can be performed successfully or not. Default: false' + in: query + required: false + schema: + type: boolean + example: false + ValidateLink: + name: validate_link + description: 'To synchronously validate that the source cluster ID is expected and the dest cluster has the permission to read topics in the source cluster. Default: true' + in: query + required: false + schema: + type: boolean + example: false + IncludeTasks: + name: include_tasks + description: 'Whether to include cluster linking tasks in the response. Default: false' + in: query + required: false + schema: + type: boolean + example: false + IncludeStateTransitionErrors: + name: include_state_transition_errors + description: 'Whether to include mirror state transition errors in the response. Default: false' + in: query + required: false + schema: + type: boolean + example: false + Force: + name: force + description: 'Force the action. Default: false' + in: query + required: false + schema: + type: boolean + example: false + IncludePartitionLevelTruncationData: + name: include_partition_level_truncation_data + description: 'Whether to include partition level truncation information when truncating and restoring a topic in the response. Default: false' + in: query + required: false + schema: + type: boolean + example: false + LinkName: + name: link_name + description: The link name + in: path + required: true + schema: + type: string + example: link-sb1 + LinkConfigName: + name: config_name + description: The link config name + in: path + required: true + schema: + type: string + example: consumer.offset.sync.enable + MirrorTopicStatus: + name: mirror_status + description: 'The status of the mirror topic. If not specified, all mirror topics will be returned.' + in: query + required: false + schema: + $ref: '#/components/schemas/MirrorTopicStatus' + example: ACTIVE + MirrorTopicName: + name: mirror_topic_name + description: Cluster Linking mirror topic name + in: path + required: true + schema: + type: string + example: topic-1 + QueryParamLinkName: + name: link_name + description: The link name + in: query + required: true + schema: + type: string + example: link-sb1 + responses: + BadRequestError: + description: Bad Request + headers: + X-Request-Id: + schema: + type: string + description: The unique identifier for the API request. + content: + application/json: + schema: + $ref: '#/components/schemas/Failure' + example: + errors: + - id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d + status: '400' + code: invalid_filter + title: Invalid Filter + detail: The 'delorean' resource can't be filtered by 'num_doors' + source: + parameter: num_doors + UnauthenticatedError: + x-summary: Unauthorized + description: The request lacks valid authentication credentials for this resource. + headers: + X-Request-Id: + schema: + type: string + description: The unique identifier for the API request. + WWW-Authenticate: + schema: + type: string + description: The unique identifier for the API request. + example: 'Basic error="invalid_key", error_description="The API Key is invalid"' + content: + application/json: + schema: + $ref: '#/components/schemas/Failure' + example: + errors: + - id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d + status: '401' + code: user_unauthenticated + title: Authentication Required + detail: Valid authentication credentials must be provided + UnauthorizedError: + x-summary: Forbidden + description: The access credentials were considered insufficient to grant access + headers: + X-Request-Id: + schema: + type: string + description: The unique identifier for the API request. + content: + application/json: + schema: + $ref: '#/components/schemas/Failure' + example: + errors: + - id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d + status: '403' + code: user_unauthorized + title: User Access Unauthorized + detail: The user 'mcfly' is not allowed to access the 'delorean' resource without the 'plutonium' role. + RateLimitError: + description: Rate Limit Exceeded + headers: + X-Request-Id: + schema: + type: string + description: The unique identifier for the API request. + X-RateLimit-Limit: + schema: + type: integer + description: The maximum number of requests you're permitted to make per time period. + X-RateLimit-Remaining: + schema: + type: integer + description: The number of requests remaining in the current rate limit window. + X-RateLimit-Reset: + schema: + type: integer + description: |- + The relative time in seconds until the current rate-limit window resets. + + **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. + DefaultSystemError: + description: 'Oops, something went wrong!' + headers: + X-Request-Id: + schema: + type: string + description: The unique identifier for the API request. + content: + application/json: + schema: + $ref: '#/components/schemas/Failure' + example: + errors: + - id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d + status: '500' + code: out_of_gas + title: DeLorean Out Of Gas + detail: 'The DeLorean has run out of gas, but Doc Brown will fill ''er up for you asap' + OverQuotaError: + x-summary: Over Quota + description: The request would exceed one or more quotas. + headers: + X-Request-Id: + schema: + type: string + description: The unique identifier for the API request. + content: + application/json: + schema: + $ref: '#/components/schemas/Failure' + example: + errors: + - id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d + status: '402' + code: quota_exceeded + title: Kafka Clusters Per Org Quota Exceeded + detail: 'The request would exceed the quota: kafka_clusters_per_environment' + ConflictError: + x-summary: Conflict + description: The request is in conflict with the current server state + headers: + X-Request-Id: + schema: + type: string + description: The unique identifier for the API request. + Location: + schema: + type: string + format: uri + example: 'https://api.confluent.cloud/{object}/{id}' + description: Resource URI of conflicting resource + content: + application/json: + schema: + $ref: '#/components/schemas/Failure' + example: + errors: + - id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d + status: '409' + code: resource_already_exists + title: Resource Already exists + detail: The entitlement '91e3e86f-fca6-4f14-98f5-a48e64113ce2' already exists. + ValidationError: + description: Validation Failed + headers: + X-Request-Id: + schema: + type: string + description: The unique identifier for the API request. + content: + application/json: + schema: + $ref: '#/components/schemas/Failure' + example: + errors: + - status: '422' + code: invalid_configuration + id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d + title: Validation Failed + detail: 'The property ''/cluster/storage_size'' of type string did not match the following type: integer' + source: + pointer: /cluster/storage_size + - status: '422' + code: invalid_configuration + id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d + title: Validation Failed + detail: 'The property ''/cluster/storage_size'' of type string did not match the following type: integer' + source: + pointer: /cluster/storage_size + - status: '422' + code: invalid_configuration + id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d + title: Validation Failed + detail: 'The property ''/cluster/storage_size'' of type string did not match the following type: integer' + source: + pointer: /cluster/storage_size + - status: '422' + code: invalid_configuration + id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d + title: Validation Failed + detail: 'The property ''/cluster/storage_size'' of type string did not match the following type: integer' + source: + pointer: /cluster/storage_size + - status: '422' + code: invalid_configuration + id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d + title: Validation Failed + detail: 'The property ''/cluster/storage_size'' of type string did not match the following type: integer' + source: + pointer: /cluster/storage_size + - status: '422' + code: invalid_configuration + id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d + title: Validation Failed + detail: 'The property ''/cluster/storage_size'' of type string did not match the following type: integer' + source: + pointer: /cluster/storage_size + - status: '422' + code: invalid_configuration + id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d + title: Validation Failed + detail: 'The property ''/cluster/storage_size'' of type string did not match the following type: integer' + source: + pointer: /cluster/storage_size + - status: '422' + code: invalid_configuration + id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d + title: Validation Failed + detail: 'The property ''/cluster/storage_size'' of type string did not match the following type: integer' + source: + pointer: /cluster/storage_size + - status: '422' + code: invalid_configuration + id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d + title: Validation Failed + detail: 'The property ''/cluster/storage_size'' of type string did not match the following type: integer' + source: + pointer: /cluster/storage_size + - status: '422' + code: invalid_configuration + id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d + title: Validation Failed + detail: 'The property ''/cluster/storage_size'' of type string did not match the following type: integer' + source: + pointer: /cluster/storage_size + - status: '422' + code: invalid_configuration + id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d + title: Validation Failed + detail: 'The property ''/cluster/storage_size'' of type string did not match the following type: integer' + source: + pointer: /cluster/storage_size + - status: '422' + code: invalid_configuration + id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d + title: Validation Failed + detail: 'The property ''/cluster/storage_size'' of type string did not match the following type: integer' + source: + pointer: /cluster/storage_size + - status: '422' + code: invalid_configuration + id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d + title: Validation Failed + detail: 'The property ''/cluster/storage_size'' of type string did not match the following type: integer' + source: + pointer: /cluster/storage_size + - status: '422' + code: invalid_configuration + id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d + title: Validation Failed + detail: 'The property ''/cluster/storage_size'' of type string did not match the following type: integer' + source: + pointer: /cluster/storage_size + - status: '422' + code: invalid_configuration + id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d + title: Validation Failed + detail: 'The property ''/cluster/storage_size'' of type string did not match the following type: integer' + source: + pointer: /cluster/storage_size + - status: '422' + code: invalid_configuration + id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d + title: Validation Failed + detail: 'The property ''/cluster/storage_size'' of type string did not match the following type: integer' + source: + pointer: /cluster/storage_size + - status: '422' + code: invalid_configuration + id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d + title: Validation Failed + detail: 'The property ''/cluster/storage_size'' of type string did not match the following type: integer' + source: + pointer: /cluster/storage_size + - status: '422' + code: invalid_configuration + id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d + title: Validation Failed + detail: 'The property ''/cluster/storage_size'' of type string did not match the following type: integer' + source: + pointer: /cluster/storage_size + - status: '422' + code: invalid_configuration + id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d + title: Validation Failed + detail: 'The property ''/cluster/storage_size'' of type string did not match the following type: integer' + source: + pointer: /cluster/storage_size + - status: '422' + code: invalid_configuration + id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d + title: Validation Failed + detail: 'The property ''/cluster/storage_size'' of type string did not match the following type: integer' + source: + pointer: /cluster/storage_size + - status: '422' + code: invalid_configuration + id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d + title: Validation Failed + detail: 'The property ''/cluster/storage_size'' of type string did not match the following type: integer' + source: + pointer: /cluster/storage_size + - status: '422' + code: invalid_configuration + id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d + title: Validation Failed + detail: 'The property ''/cluster/storage_size'' of type string did not match the following type: integer' + source: + pointer: /cluster/storage_size + - status: '422' + code: invalid_configuration + id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d + title: Validation Failed + detail: 'The property ''/cluster/storage_size'' of type string did not match the following type: integer' + source: + pointer: /cluster/storage_size + - status: '422' + code: invalid_configuration + id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d + title: Validation Failed + detail: 'The property ''/cluster/storage_size'' of type string did not match the following type: integer' + source: + pointer: /cluster/storage_size + - status: '422' + code: invalid_configuration + id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d + title: Validation Failed + detail: 'The property ''/cluster/storage_size'' of type string did not match the following type: integer' + source: + pointer: /cluster/storage_size + - status: '422' + code: invalid_configuration + id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d + title: Validation Failed + detail: 'The property ''/cluster/storage_size'' of type string did not match the following type: integer' + source: + pointer: /cluster/storage_size + - status: '422' + code: invalid_configuration + id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d + title: Validation Failed + detail: 'The property ''/cluster/storage_size'' of type string did not match the following type: integer' + source: + pointer: /cluster/storage_size + - status: '422' + code: invalid_configuration + id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d + title: Validation Failed + detail: 'The property ''/cluster/storage_size'' of type string did not match the following type: integer' + source: + pointer: /cluster/storage_size + - status: '422' + code: invalid_configuration + id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d + title: Validation Failed + detail: 'The property ''/cluster/storage_size'' of type string did not match the following type: integer' + source: + pointer: /cluster/storage_size + - status: '422' + code: invalid_configuration + id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d + title: Validation Failed + detail: 'The property ''/cluster/storage_size'' of type string did not match the following type: integer' + source: + pointer: /cluster/storage_size + NotFoundError: + description: Not Found + headers: + X-Request-Id: + schema: + type: string + description: The unique identifier for the API request. + content: + application/json: + schema: + $ref: '#/components/schemas/Failure' + example: + errors: + - id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d + status: '404' + title: Not Found + securitySchemes: + cloud-api-key: + type: http + scheme: basic + description: Authenticate with Cloud API Keys using HTTP Basic Auth. Treat the Cloud API Key ID as the username and Cloud API Key Secret as the password. + confluent-sts-access-token: + type: oauth2 + description: Authenticate with Confluent API using this credentials (JSON Web Tokens) following OAuth 2.0. + flows: + clientCredentials: + tokenUrl: 'https://api.confluent.cloud/sts/v1/oauth2/token' + scopes: {} + api-key: + type: http + scheme: basic + description: Authenticate with API Keys using HTTP Basic Auth. Treat the API Key ID as the username and API Key Secret as the password. + resource-api-key: + type: http + scheme: basic + description: | + Authenticate with resource-specific API Keys using HTTP Basic Auth. Treat the resource-specific API Key ID + as the username and resource-specific API Key Secret as the password. + external-access-token: + type: oauth2 + description: Authenticate with OAuth 2.0. + flows: + clientCredentials: + tokenUrl: 'https:///token' + scopes: {} + oauth: + type: oauth2 + description: Authenticate with OAuth 2.0. Currently this is only supported for partner APIs. + flows: + clientCredentials: + tokenUrl: /oauth2/token + scopes: + 'partner:alter': enables partners to alter entitlements + 'partner:create': enables partners to create entitlements and signup on behalf of customers + 'partner:delete': enables partners to delete entitlements and organizations + 'partner:describe': enables partners to read and list entitlements and organizations + requestBodies: + AlterBrokerConfigBatchRequest: + description: The alter broker configuration parameter batch request. + content: + application/json: + schema: + $ref: '#/components/schemas/AlterConfigBatchRequestData' + example: + data: + - name: max.connections + operation: DELETE + - name: compression.type + value: gzip + AlterClusterConfigBatchRequest: + description: The alter cluster configuration parameter batch request. + content: + application/json: + schema: + $ref: '#/components/schemas/AlterConfigBatchRequestData' + example: + data: + - name: max.connections + operation: DELETE + - name: compression.type + value: gzip + AlterTopicConfigBatchRequest: + description: The alter topic configuration parameter batch request. + content: + application/json: + schema: + $ref: '#/components/schemas/AlterConfigBatchRequestData' + examples: + batch_alter_topic_configs: + value: + data: + - name: cleanup.policy + operation: DELETE + - name: compression.type + value: gzip + validate_only_batch_alter_topic_configs: + value: + data: + - name: cleanup.policy + operation: DELETE + - name: compression.type + value: gzip + validate_only: true + CreateAclRequest: + description: The ACL creation request. + content: + application/json: + schema: + $ref: '#/components/schemas/CreateAclRequestData' + example: + resource_type: CLUSTER + resource_name: kafka-cluster + pattern_type: LITERAL + principal: 'principalType:principalName' + host: '*' + operation: DESCRIBE + permission: DENY + BatchCreateAclRequest: + description: The batch ACL creation request. + content: + application/json: + schema: + $ref: '#/components/schemas/CreateAclRequestDataList' + example: + data: + - resource_type: CLUSTER + resource_name: kafka-cluster + pattern_type: LITERAL + principal: 'principalType:principalName' + host: '*' + operation: DESCRIBE + permission: DENY + - resource_type: TOPIC + resource_name: kafka-cluster + pattern_type: LITERAL + principal: 'principalType:principalName' + host: '*' + operation: READ + permission: ALLOW + CreateTopicRequest: + description: 'The topic creation request. Note that Confluent Cloud allows only specific replication factor values. Because of that the replication factor field should either be omitted or it should use one of the allowed values (see https://docs.confluent.io/cloud/current/client-apps/optimizing/durability.html).' + content: + application/json: + schema: + $ref: '#/components/schemas/CreateTopicRequestData' + examples: + uniform_replication: + value: + topic_name: topic-X + partitions_count: 64 + replication_factor: 3 + configs: + - name: cleanup.policy + value: compact + - name: compression.type + value: gzip + dry_run_create_topic: + value: + topic_name: topic-X + partitions_count: 64 + replication_factor: 3 + validate_only: true + ProduceRequest: + description: 'A single record to be produced to Kafka. To produce multiple records in the same request, simply concatenate the records. The delivery reports are concatenated in the same order as the records are sent.' + content: + application/json: + schema: + $ref: '#/components/schemas/ProduceRequest' + examples: + binary_and_json: + description: 'If using type, one of "BINARY", "JSON" or "STRING" is required.' + value: + partition_id: 1 + headers: + - name: Header-1 + value: SGVhZGVyLTE= + - name: Header-2 + value: SGVhZGVyLTI= + key: + type: BINARY + data: Zm9vYmFy + value: + type: JSON + data: + foo: bar + timestamp: '2021-02-05T19:14:42Z' + string: + description: 'If using type, one of "BINARY", "JSON" or "STRING" is required.' + value: + value: + type: STRING + data: My message + empty_value: + description: key or value can be omitted entirely. + value: + key: + data: 1000 + UpdateBrokerConfigRequest: + description: The broker configuration parameter update request. + content: + application/json: + schema: + $ref: '#/components/schemas/UpdateConfigRequestData' + example: + value: gzip + UpdateClusterConfigRequest: + description: The cluster configuration parameter update request. + content: + application/json: + schema: + $ref: '#/components/schemas/UpdateConfigRequestData' + example: + value: gzip + UpdateTopicConfigRequest: + description: The topic configuration parameter update request. + content: + application/json: + schema: + $ref: '#/components/schemas/UpdateConfigRequestData' + example: + value: gzip + CreateLinkRequest: + description: Create a cluster link + content: + application/json: + schema: + $ref: '#/components/schemas/CreateLinkRequestData' + examples: + destination_initiated_link: + description: Create a destination initiated cluster link + value: + source_cluster_id: cluster-1 + configs: + - name: bootstrap.servers + value: cluster-1-bootstrap-server + - name: acl.sync.enable + value: 'false' + - name: consumer.offset.sync.ms + value: '30000' + - name: sasl.mechanism + value: PLAIN + - name: sasl.protocol + value: SASL_SSL + - name: sasl.jaas.config + value: sasl.jaas.config=org.apache.kafka.common.security.plain.PlainLoginModule required username='' password=''; + source_initiated_link_at_source_cluster: + description: Create a source initiated cluster link at source cluster + value: + destination_cluster_id: cluster-2 + configs: + - name: bootstrap.servers + value: cluster-2-bootstrap-server + - name: link.mode + value: SOURCE + - name: sasl.mechanism + value: PLAIN + - name: sasl.protocol + value: SASL_SSL + - name: sasl.jaas.config + value: sasl.jaas.config=org.apache.kafka.common.security.plain.PlainLoginModule required username='' password=''; + source_initiated_link_at_destination_cluster: + description: Create a source initiated cluster link at destination cluster + value: + destination_cluster_id: cluster-1 + configs: + - name: bootstrap.servers + value: cluster-1-bootstrap-server + - name: link.mode + value: DESTINATION + - name: connection.mode + value: INBOUND + - name: acl.sync.enable + value: 'false' + - name: sasl.mechanism + value: PLAIN + - name: sasl.protocol + value: SASL_SSL + - name: sasl.jaas.config + value: sasl.jaas.config=org.apache.kafka.common.security.plain.PlainLoginModule required username='' password=''; + bidirectional_link_east: + description: Create a bidirectional cluster link in east + value: + remote_cluster_id: cluster-west + configs: + - name: bootstrap.servers + value: cluster-west-bootstrap-server + - name: link.mode + value: BIDIRECTIONAL + - name: cluster.link.prefix + value: west. + - name: sasl.mechanism + value: PLAIN + - name: sasl.protocol + value: SASL_SSL + - name: sasl.jaas.config + value: sasl.jaas.config=org.apache.kafka.common.security.plain.PlainLoginModule required username='' password=''; + bidirectional_link_west: + description: Create a bidirectional cluster link in west + value: + remote_cluster_id: cluster-east + cluster_link_id: eEBkTffYSESld6EO898x3w + configs: + - name: bootstrap.servers + value: cluster-east-bootstrap-server + - name: link.mode + value: BIDIRECTIONAL + - name: cluster.link.prefix + value: east. + - name: sasl.mechanism + value: PLAIN + - name: sasl.protocol + value: SASL_SSL + - name: sasl.jaas.config + value: sasl.jaas.config=org.apache.kafka.common.security.plain.PlainLoginModule required username='' password=''; + UpdateLinkConfigRequest: + content: + application/json: + example: + value: '300000' + schema: + $ref: '#/components/schemas/UpdateLinkConfigRequestData' + description: Link config value to update + AlterLinkConfigBatchRequest: + content: + application/json: + example: + data: + - name: cleanup.policy + operation: DELETE + - name: compression.type + value: gzip + schema: + $ref: '#/components/schemas/AlterConfigBatchRequestData' + CreateMirrorTopicRequest: + description: 'Name and configs of the topics mirroring from and mirroring to. Note that Confluent Cloud allows only specific replication factor values. Because of that the replication factor field should either be omitted or it should use one of the allowed values (see https://docs.confluent.io/cloud/current/client-apps/optimizing/durability.html).' + content: + application/json: + schema: + $ref: '#/components/schemas/CreateMirrorTopicRequestData' + examples: + generic_example: + description: Generic example of creating a mirror topic + value: + source_topic_name: topic-1 + configs: + - name: unclean.leader.election.enable + value: 'true' + replication_factor: 1 + example_with_mirror_topic_name: + description: Example using optional mirror_topic_name flag + value: + source_topic_name: topic-1 + mirror_topic_name: link1_topic-1 + configs: + - name: unclean.leader.election.enable + value: 'true' + replication_factor: 3 + AlterMirrorsRequest: + description: Mirror topics to be altered. + content: + application/json: + schema: + $ref: '#/components/schemas/AlterMirrorsRequestData' + examples: + mirror_topic_names: + description: Example using mirror topic names + value: + mirror_topic_names: + - topic-1 + - topic-2 + mirror_topic_name_pattern: + description: Example using mirror topic name pattern + value: + mirror_topic_name_pattern: .* + RemoveBrokersRequest: + content: + application/json: + example: + broker_ids: + - 1 + - 2 + - 3 + schema: + $ref: '#/components/schemas/RemoveBrokersRequestData' + description: Broker ids to remove + BrokerReplicaExclusionBatchRequest: + description: Alter Broker Replica Exclusions. + content: + application/json: + schema: + $ref: '#/components/schemas/BrokerReplicaExclusionBatchRequestData' + example: + data: + - broker_id: 1 + reason: The broker is to be removed. + - broker_id: 2 + reason: The broker is to be removed. + x-stackQL-resources: + key_encryption_keys: + id: confluent.encryption_keys.key_encryption_keys + name: key_encryption_keys + title: Key Encryption Keys + methods: + get_kek_names: + operation: + $ref: '#/paths/~1dek-registry~1v1~1keks/get' + response: + mediaType: application/json; qs=0.5 + openAPIDocKey: '200' + create_kek: + operation: + $ref: '#/paths/~1dek-registry~1v1~1keks/post' + response: + mediaType: application/json; qs=0.5 + openAPIDocKey: '200' + schemaRef: '#/components/schemas/Kek' + delete_kek: + operation: + $ref: '#/paths/~1dek-registry~1v1~1keks~1{name}/delete' + response: + mediaType: application/json + openAPIDocKey: '204' + get_kek: + operation: + $ref: '#/paths/~1dek-registry~1v1~1keks~1{name}/get' + response: + mediaType: application/json; qs=0.5 + openAPIDocKey: '200' + schemaRef: '#/components/schemas/Kek' + put_kek: + operation: + $ref: '#/paths/~1dek-registry~1v1~1keks~1{name}/put' + response: + mediaType: application/json; qs=0.5 + openAPIDocKey: '200' + schemaRef: '#/components/schemas/Kek' + undelete_kek: + operation: + $ref: '#/paths/~1dek-registry~1v1~1keks~1{name}~1undelete/post' + response: + mediaType: application/json + openAPIDocKey: '204' + sqlVerbs: + select: + - $ref: '#/components/x-stackQL-resources/key_encryption_keys/methods/get_kek' + insert: + - $ref: '#/components/x-stackQL-resources/key_encryption_keys/methods/create_kek' + update: [] + replace: + - $ref: '#/components/x-stackQL-resources/key_encryption_keys/methods/put_kek' + delete: + - $ref: '#/components/x-stackQL-resources/key_encryption_keys/methods/delete_kek' + data_encryption_keys: + id: confluent.encryption_keys.data_encryption_keys + name: data_encryption_keys + title: Data Encryption Keys + methods: + get_dek_subjects: + operation: + $ref: '#/paths/~1dek-registry~1v1~1keks~1{name}~1deks/get' + response: + mediaType: application/json; qs=0.5 + openAPIDocKey: '200' + create_dek: + operation: + $ref: '#/paths/~1dek-registry~1v1~1keks~1{name}~1deks/post' + response: + mediaType: application/json; qs=0.5 + openAPIDocKey: '200' + schemaRef: '#/components/schemas/Dek' + delete_dek_versions: + operation: + $ref: '#/paths/~1dek-registry~1v1~1keks~1{name}~1deks~1{subject}/delete' + response: + mediaType: application/json + openAPIDocKey: '204' + get_dek: + operation: + $ref: '#/paths/~1dek-registry~1v1~1keks~1{name}~1deks~1{subject}/get' + response: + mediaType: application/json; qs=0.5 + openAPIDocKey: '200' + schemaRef: '#/components/schemas/Dek' + undelete_dek_versions: + operation: + $ref: '#/paths/~1dek-registry~1v1~1keks~1{name}~1deks~1{subject}~1undelete/post' + response: + mediaType: application/json + openAPIDocKey: '204' + sqlVerbs: + select: + - $ref: '#/components/x-stackQL-resources/data_encryption_keys/methods/get_dek' + insert: + - $ref: '#/components/x-stackQL-resources/data_encryption_keys/methods/create_dek' + update: [] + replace: [] + delete: + - $ref: '#/components/x-stackQL-resources/data_encryption_keys/methods/delete_dek_versions' + dek_versions: + id: confluent.encryption_keys.dek_versions + name: dek_versions + title: Dek Versions + methods: + delete_dek_version: + operation: + $ref: '#/paths/~1dek-registry~1v1~1keks~1{name}~1deks~1{subject}~1versions~1{version}/delete' + response: + mediaType: application/json + openAPIDocKey: '204' + get_dek_by_version: + operation: + $ref: '#/paths/~1dek-registry~1v1~1keks~1{name}~1deks~1{subject}~1versions~1{version}/get' + response: + mediaType: application/json; qs=0.5 + openAPIDocKey: '200' + schemaRef: '#/components/schemas/Dek' + get_dek_versions: + operation: + $ref: '#/paths/~1dek-registry~1v1~1keks~1{name}~1deks~1{subject}~1versions/get' + response: + mediaType: application/json; qs=0.5 + openAPIDocKey: '200' + undelete_dek_version: + operation: + $ref: '#/paths/~1dek-registry~1v1~1keks~1{name}~1deks~1{subject}~1versions~1{version}~1undelete/post' + response: + mediaType: application/json + openAPIDocKey: '204' + sqlVerbs: + select: + - $ref: '#/components/x-stackQL-resources/dek_versions/methods/get_dek_by_version' + insert: [] + update: [] + replace: [] + delete: + - $ref: '#/components/x-stackQL-resources/dek_versions/methods/delete_dek_version' + keys: + id: confluent.encryption_keys.keys + name: keys + title: Keys + methods: + list_byok_v1keys: + operation: + $ref: '#/paths/~1byok~1v1~1keys/get' + response: + mediaType: application/json + openAPIDocKey: '200' + objectKey: $.data + create_byok_v1key: + operation: + $ref: '#/paths/~1byok~1v1~1keys/post' + response: + mediaType: application/json + openAPIDocKey: '201' + get_byok_v1key: + operation: + $ref: '#/paths/~1byok~1v1~1keys~1{id}/get' + response: + mediaType: application/json + openAPIDocKey: '200' + delete_byok_v1key: + operation: + $ref: '#/paths/~1byok~1v1~1keys~1{id}/delete' + response: + mediaType: application/json + openAPIDocKey: '204' + sqlVerbs: + select: + - $ref: '#/components/x-stackQL-resources/keys/methods/get_byok_v1key' + - $ref: '#/components/x-stackQL-resources/keys/methods/list_byok_v1keys' + insert: + - $ref: '#/components/x-stackQL-resources/keys/methods/create_byok_v1key' + update: [] + replace: [] + delete: + - $ref: '#/components/x-stackQL-resources/keys/methods/delete_byok_v1key' +paths: + /dek-registry/v1/keks: + get: + tags: + - Key Encryption Keys (v1) + operationId: getKekNames + parameters: + - description: Whether to include deleted keys + explode: true + in: query + name: deleted + required: false + schema: + type: boolean + style: form + responses: + '200': + content: + application/vnd.schemaregistry.v1+json: + schema: + items: + example: mykek + type: string + type: array + application/vnd.schemaregistry+json; qs=0.9: + schema: + items: + example: mykek + type: string + type: array + application/json; qs=0.5: + schema: + items: + example: mykek + type: string + type: array + description: List of kek names + summary: Get a list of kek names + security: + - resource-api-key: [] + - external-access-token: [] + x-codeSamples: + - lang: Shell + source: |- + curl --request GET \ + --url https://psrc-00000.region.provider.confluent.cloud/dek-registry/v1/keks \ + --header 'Authorization: Basic REPLACE_BASIC_AUTH' + - lang: Java + source: |- + OkHttpClient client = new OkHttpClient(); + + Request request = new Request.Builder() + .url("https://psrc-00000.region.provider.confluent.cloud/dek-registry/v1/keks") + .get() + .addHeader("Authorization", "Basic REPLACE_BASIC_AUTH") + .build(); + + Response response = client.newCall(request).execute(); + - lang: Go + source: "package main\n\nimport (\n\t\"fmt\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://psrc-00000.region.provider.confluent.cloud/dek-registry/v1/keks\"\n\n\treq, _ := http.NewRequest(\"GET\", url, nil)\n\n\treq.Header.Add(\"Authorization\", \"Basic REPLACE_BASIC_AUTH\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}" + - lang: Python + source: |- + import http.client + + conn = http.client.HTTPSConnection("psrc-00000.region.provider.confluent.cloud") + + headers = { 'Authorization': "Basic REPLACE_BASIC_AUTH" } + + conn.request("GET", "/dek-registry/v1/keks", headers=headers) + + res = conn.getresponse() + data = res.read() + + print(data.decode("utf-8")) + - lang: Node + source: |- + const http = require("https"); + + const options = { + "method": "GET", + "hostname": "psrc-00000.region.provider.confluent.cloud", + "port": null, + "path": "/dek-registry/v1/keks", + "headers": { + "Authorization": "Basic REPLACE_BASIC_AUTH" + } + }; + + const req = http.request(options, function (res) { + const chunks = []; + + res.on("data", function (chunk) { + chunks.push(chunk); + }); + + res.on("end", function () { + const body = Buffer.concat(chunks); + console.log(body.toString()); + }); + }); + + req.end(); + - lang: C + source: |- + CURL *hnd = curl_easy_init(); + + curl_easy_setopt(hnd, CURLOPT_CUSTOMREQUEST, "GET"); + curl_easy_setopt(hnd, CURLOPT_URL, "https://psrc-00000.region.provider.confluent.cloud/dek-registry/v1/keks"); + + struct curl_slist *headers = NULL; + headers = curl_slist_append(headers, "Authorization: Basic REPLACE_BASIC_AUTH"); + curl_easy_setopt(hnd, CURLOPT_HTTPHEADER, headers); + + CURLcode ret = curl_easy_perform(hnd); + - lang: C# + source: |- + var client = new RestClient("https://psrc-00000.region.provider.confluent.cloud/dek-registry/v1/keks"); + var request = new RestRequest(Method.GET); + request.AddHeader("Authorization", "Basic REPLACE_BASIC_AUTH"); + IRestResponse response = client.Execute(request); + post: + tags: + - Key Encryption Keys (v1) + operationId: createKek + requestBody: + content: + application/vnd.schemaregistry.v1+json: + schema: + $ref: '#/components/schemas/CreateKekRequest' + application/vnd.schemaregistry+json: + schema: + $ref: '#/components/schemas/CreateKekRequest' + application/json: + schema: + $ref: '#/components/schemas/CreateKekRequest' + application/octet-stream: + schema: + $ref: '#/components/schemas/CreateKekRequest' + description: The create request + required: true + responses: + '200': + content: + application/vnd.schemaregistry.v1+json: + schema: + $ref: '#/components/schemas/Kek' + application/vnd.schemaregistry+json; qs=0.9: + schema: + $ref: '#/components/schemas/Kek' + application/json; qs=0.5: + schema: + $ref: '#/components/schemas/Kek' + description: The create response + '409': + description: Conflict. Error code 40971 -- Key already exists. Error code 40972 -- Too many keys. + '422': + description: Error code 42271 -- Invalid key + summary: Create a kek + security: + - resource-api-key: [] + - external-access-token: [] + x-codeSamples: + - lang: Shell + source: |- + curl --request POST \ + --url https://psrc-00000.region.provider.confluent.cloud/dek-registry/v1/keks \ + --header 'Authorization: Basic REPLACE_BASIC_AUTH' \ + --header 'content-type: application/octet-stream' \ + --data '{"kmsProps":{"key":"kmsProps"},"shared":true,"name":"name","doc":"doc","kmsKeyId":"kmsKeyId","kmsType":"kmsType"}' + - lang: Java + source: |- + OkHttpClient client = new OkHttpClient(); + + MediaType mediaType = MediaType.parse("application/json"); + RequestBody body = RequestBody.create(mediaType, "{\"kmsProps\":{\"key\":\"kmsProps\"},\"shared\":true,\"name\":\"name\",\"doc\":\"doc\",\"kmsKeyId\":\"kmsKeyId\",\"kmsType\":\"kmsType\"}"); + Request request = new Request.Builder() + .url("https://psrc-00000.region.provider.confluent.cloud/dek-registry/v1/keks") + .post(body) + .addHeader("content-type", "application/octet-stream") + .addHeader("Authorization", "Basic REPLACE_BASIC_AUTH") + .build(); + + Response response = client.newCall(request).execute(); + - lang: Go + source: "package main\n\nimport (\n\t\"fmt\"\n\t\"strings\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://psrc-00000.region.provider.confluent.cloud/dek-registry/v1/keks\"\n\n\tpayload := strings.NewReader(\"{\\\"kmsProps\\\":{\\\"key\\\":\\\"kmsProps\\\"},\\\"shared\\\":true,\\\"name\\\":\\\"name\\\",\\\"doc\\\":\\\"doc\\\",\\\"kmsKeyId\\\":\\\"kmsKeyId\\\",\\\"kmsType\\\":\\\"kmsType\\\"}\")\n\n\treq, _ := http.NewRequest(\"POST\", url, payload)\n\n\treq.Header.Add(\"content-type\", \"application/octet-stream\")\n\treq.Header.Add(\"Authorization\", \"Basic REPLACE_BASIC_AUTH\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}" + - lang: Python + source: |- + import http.client + + conn = http.client.HTTPSConnection("psrc-00000.region.provider.confluent.cloud") + + payload = "{\"kmsProps\":{\"key\":\"kmsProps\"},\"shared\":true,\"name\":\"name\",\"doc\":\"doc\",\"kmsKeyId\":\"kmsKeyId\",\"kmsType\":\"kmsType\"}" + + headers = { + 'content-type': "application/octet-stream", + 'Authorization': "Basic REPLACE_BASIC_AUTH" + } + + conn.request("POST", "/dek-registry/v1/keks", payload, headers) + + res = conn.getresponse() + data = res.read() + + print(data.decode("utf-8")) + - lang: Node + source: |- + const http = require("https"); + + const options = { + "method": "POST", + "hostname": "psrc-00000.region.provider.confluent.cloud", + "port": null, + "path": "/dek-registry/v1/keks", + "headers": { + "content-type": "application/octet-stream", + "Authorization": "Basic REPLACE_BASIC_AUTH" + } + }; + + const req = http.request(options, function (res) { + const chunks = []; + + res.on("data", function (chunk) { + chunks.push(chunk); + }); + + res.on("end", function () { + const body = Buffer.concat(chunks); + console.log(body.toString()); + }); + }); + + req.write(JSON.stringify({ + kmsProps: {key: 'kmsProps'}, + shared: true, + name: 'name', + doc: 'doc', + kmsKeyId: 'kmsKeyId', + kmsType: 'kmsType' + })); + req.end(); + - lang: C + source: |- + CURL *hnd = curl_easy_init(); + + curl_easy_setopt(hnd, CURLOPT_CUSTOMREQUEST, "POST"); + curl_easy_setopt(hnd, CURLOPT_URL, "https://psrc-00000.region.provider.confluent.cloud/dek-registry/v1/keks"); + + struct curl_slist *headers = NULL; + headers = curl_slist_append(headers, "content-type: application/octet-stream"); + headers = curl_slist_append(headers, "Authorization: Basic REPLACE_BASIC_AUTH"); + curl_easy_setopt(hnd, CURLOPT_HTTPHEADER, headers); + + curl_easy_setopt(hnd, CURLOPT_POSTFIELDS, "{\"kmsProps\":{\"key\":\"kmsProps\"},\"shared\":true,\"name\":\"name\",\"doc\":\"doc\",\"kmsKeyId\":\"kmsKeyId\",\"kmsType\":\"kmsType\"}"); + + CURLcode ret = curl_easy_perform(hnd); + - lang: C# + source: |- + var client = new RestClient("https://psrc-00000.region.provider.confluent.cloud/dek-registry/v1/keks"); + var request = new RestRequest(Method.POST); + request.AddHeader("content-type", "application/octet-stream"); + request.AddHeader("Authorization", "Basic REPLACE_BASIC_AUTH"); + request.AddParameter("application/octet-stream", "{\"kmsProps\":{\"key\":\"kmsProps\"},\"shared\":true,\"name\":\"name\",\"doc\":\"doc\",\"kmsKeyId\":\"kmsKeyId\",\"kmsType\":\"kmsType\"}", ParameterType.RequestBody); + IRestResponse response = client.Execute(request); + '/dek-registry/v1/keks/{name}': + delete: + tags: + - Key Encryption Keys (v1) + operationId: deleteKek + parameters: + - description: Name of the kek + explode: false + in: path + name: name + required: true + schema: + type: string + style: simple + - description: Whether to perform a permanent delete + explode: true + in: query + name: permanent + required: false + schema: + type: boolean + style: form + responses: + '204': + description: No Content + '404': + description: Not found. Error code 40470 -- Key not found. Error code 40471 -- Key not soft-deleted. + '422': + description: Unprocessable entity. Error code 42271 -- Invalid key. Error code 42272 -- References to key exist. + summary: Delete a kek + security: + - resource-api-key: [] + - external-access-token: [] + x-codeSamples: + - lang: Shell + source: |- + curl --request DELETE \ + --url 'https://psrc-00000.region.provider.confluent.cloud/dek-registry/v1/keks/{name}' \ + --header 'Authorization: Basic REPLACE_BASIC_AUTH' + - lang: Java + source: |- + OkHttpClient client = new OkHttpClient(); + + Request request = new Request.Builder() + .url("https://psrc-00000.region.provider.confluent.cloud/dek-registry/v1/keks/{name}") + .delete(null) + .addHeader("Authorization", "Basic REPLACE_BASIC_AUTH") + .build(); + + Response response = client.newCall(request).execute(); + - lang: Go + source: "package main\n\nimport (\n\t\"fmt\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://psrc-00000.region.provider.confluent.cloud/dek-registry/v1/keks/{name}\"\n\n\treq, _ := http.NewRequest(\"DELETE\", url, nil)\n\n\treq.Header.Add(\"Authorization\", \"Basic REPLACE_BASIC_AUTH\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}" + - lang: Python + source: |- + import http.client + + conn = http.client.HTTPSConnection("psrc-00000.region.provider.confluent.cloud") + + headers = { 'Authorization': "Basic REPLACE_BASIC_AUTH" } + + conn.request("DELETE", "/dek-registry/v1/keks/{name}", headers=headers) + + res = conn.getresponse() + data = res.read() + + print(data.decode("utf-8")) + - lang: Node + source: |- + const http = require("https"); + + const options = { + "method": "DELETE", + "hostname": "psrc-00000.region.provider.confluent.cloud", + "port": null, + "path": "/dek-registry/v1/keks/{name}", + "headers": { + "Authorization": "Basic REPLACE_BASIC_AUTH" + } + }; + + const req = http.request(options, function (res) { + const chunks = []; + + res.on("data", function (chunk) { + chunks.push(chunk); + }); + + res.on("end", function () { + const body = Buffer.concat(chunks); + console.log(body.toString()); + }); + }); + + req.end(); + - lang: C + source: |- + CURL *hnd = curl_easy_init(); + + curl_easy_setopt(hnd, CURLOPT_CUSTOMREQUEST, "DELETE"); + curl_easy_setopt(hnd, CURLOPT_URL, "https://psrc-00000.region.provider.confluent.cloud/dek-registry/v1/keks/{name}"); + + struct curl_slist *headers = NULL; + headers = curl_slist_append(headers, "Authorization: Basic REPLACE_BASIC_AUTH"); + curl_easy_setopt(hnd, CURLOPT_HTTPHEADER, headers); + + CURLcode ret = curl_easy_perform(hnd); + - lang: C# + source: |- + var client = new RestClient("https://psrc-00000.region.provider.confluent.cloud/dek-registry/v1/keks/{name}"); + var request = new RestRequest(Method.DELETE); + request.AddHeader("Authorization", "Basic REPLACE_BASIC_AUTH"); + IRestResponse response = client.Execute(request); + get: + tags: + - Key Encryption Keys (v1) + operationId: getKek + parameters: + - description: Name of the kek + explode: false + in: path + name: name + required: true + schema: + type: string + style: simple + - description: Whether to include deleted keys + explode: true + in: query + name: deleted + required: false + schema: + type: boolean + style: form + responses: + '200': + content: + application/vnd.schemaregistry.v1+json: + schema: + $ref: '#/components/schemas/Kek' + application/vnd.schemaregistry+json; qs=0.9: + schema: + $ref: '#/components/schemas/Kek' + application/json; qs=0.5: + schema: + $ref: '#/components/schemas/Kek' + description: The kek info + '404': + description: Error code 40470 -- Key not found + '422': + description: Error code 42271 -- Invalid key + summary: Get a kek by name + security: + - resource-api-key: [] + - external-access-token: [] + x-codeSamples: + - lang: Shell + source: |- + curl --request GET \ + --url 'https://psrc-00000.region.provider.confluent.cloud/dek-registry/v1/keks/{name}' \ + --header 'Authorization: Basic REPLACE_BASIC_AUTH' + - lang: Java + source: |- + OkHttpClient client = new OkHttpClient(); + + Request request = new Request.Builder() + .url("https://psrc-00000.region.provider.confluent.cloud/dek-registry/v1/keks/{name}") + .get() + .addHeader("Authorization", "Basic REPLACE_BASIC_AUTH") + .build(); + + Response response = client.newCall(request).execute(); + - lang: Go + source: "package main\n\nimport (\n\t\"fmt\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://psrc-00000.region.provider.confluent.cloud/dek-registry/v1/keks/{name}\"\n\n\treq, _ := http.NewRequest(\"GET\", url, nil)\n\n\treq.Header.Add(\"Authorization\", \"Basic REPLACE_BASIC_AUTH\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}" + - lang: Python + source: |- + import http.client + + conn = http.client.HTTPSConnection("psrc-00000.region.provider.confluent.cloud") + + headers = { 'Authorization': "Basic REPLACE_BASIC_AUTH" } + + conn.request("GET", "/dek-registry/v1/keks/{name}", headers=headers) + + res = conn.getresponse() + data = res.read() + + print(data.decode("utf-8")) + - lang: Node + source: |- + const http = require("https"); + + const options = { + "method": "GET", + "hostname": "psrc-00000.region.provider.confluent.cloud", + "port": null, + "path": "/dek-registry/v1/keks/{name}", + "headers": { + "Authorization": "Basic REPLACE_BASIC_AUTH" + } + }; + + const req = http.request(options, function (res) { + const chunks = []; + + res.on("data", function (chunk) { + chunks.push(chunk); + }); + + res.on("end", function () { + const body = Buffer.concat(chunks); + console.log(body.toString()); + }); + }); + + req.end(); + - lang: C + source: |- + CURL *hnd = curl_easy_init(); + + curl_easy_setopt(hnd, CURLOPT_CUSTOMREQUEST, "GET"); + curl_easy_setopt(hnd, CURLOPT_URL, "https://psrc-00000.region.provider.confluent.cloud/dek-registry/v1/keks/{name}"); + + struct curl_slist *headers = NULL; + headers = curl_slist_append(headers, "Authorization: Basic REPLACE_BASIC_AUTH"); + curl_easy_setopt(hnd, CURLOPT_HTTPHEADER, headers); + + CURLcode ret = curl_easy_perform(hnd); + - lang: C# + source: |- + var client = new RestClient("https://psrc-00000.region.provider.confluent.cloud/dek-registry/v1/keks/{name}"); + var request = new RestRequest(Method.GET); + request.AddHeader("Authorization", "Basic REPLACE_BASIC_AUTH"); + IRestResponse response = client.Execute(request); + put: + tags: + - Key Encryption Keys (v1) + operationId: putKek + parameters: + - description: Name of the kek + explode: false + in: path + name: name + required: true + schema: + type: string + style: simple + requestBody: + content: + application/vnd.schemaregistry.v1+json: + schema: + $ref: '#/components/schemas/UpdateKekRequest' + application/vnd.schemaregistry+json: + schema: + $ref: '#/components/schemas/UpdateKekRequest' + application/json: + schema: + $ref: '#/components/schemas/UpdateKekRequest' + application/octet-stream: + schema: + $ref: '#/components/schemas/UpdateKekRequest' + description: The update request + required: true + responses: + '200': + content: + application/vnd.schemaregistry.v1+json: + schema: + $ref: '#/components/schemas/Kek' + application/vnd.schemaregistry+json; qs=0.9: + schema: + $ref: '#/components/schemas/Kek' + application/json; qs=0.5: + schema: + $ref: '#/components/schemas/Kek' + description: The update response + '404': + description: Error code 40470 -- Key not found + '409': + description: Error code 40971 -- Key already exists + '422': + description: Error code 42271 -- Invalid key + summary: Alters a kek + security: + - resource-api-key: [] + - external-access-token: [] + x-codeSamples: + - lang: Shell + source: |- + curl --request PUT \ + --url 'https://psrc-00000.region.provider.confluent.cloud/dek-registry/v1/keks/{name}' \ + --header 'Authorization: Basic REPLACE_BASIC_AUTH' \ + --header 'content-type: application/octet-stream' \ + --data '{"kmsProps":{"key":"kmsProps"},"shared":true,"doc":"doc"}' + - lang: Java + source: |- + OkHttpClient client = new OkHttpClient(); + + MediaType mediaType = MediaType.parse("application/json"); + RequestBody body = RequestBody.create(mediaType, "{\"kmsProps\":{\"key\":\"kmsProps\"},\"shared\":true,\"doc\":\"doc\"}"); + Request request = new Request.Builder() + .url("https://psrc-00000.region.provider.confluent.cloud/dek-registry/v1/keks/{name}") + .put(body) + .addHeader("content-type", "application/octet-stream") + .addHeader("Authorization", "Basic REPLACE_BASIC_AUTH") + .build(); + + Response response = client.newCall(request).execute(); + - lang: Go + source: "package main\n\nimport (\n\t\"fmt\"\n\t\"strings\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://psrc-00000.region.provider.confluent.cloud/dek-registry/v1/keks/{name}\"\n\n\tpayload := strings.NewReader(\"{\\\"kmsProps\\\":{\\\"key\\\":\\\"kmsProps\\\"},\\\"shared\\\":true,\\\"doc\\\":\\\"doc\\\"}\")\n\n\treq, _ := http.NewRequest(\"PUT\", url, payload)\n\n\treq.Header.Add(\"content-type\", \"application/octet-stream\")\n\treq.Header.Add(\"Authorization\", \"Basic REPLACE_BASIC_AUTH\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}" + - lang: Python + source: |- + import http.client + + conn = http.client.HTTPSConnection("psrc-00000.region.provider.confluent.cloud") + + payload = "{\"kmsProps\":{\"key\":\"kmsProps\"},\"shared\":true,\"doc\":\"doc\"}" + + headers = { + 'content-type': "application/octet-stream", + 'Authorization': "Basic REPLACE_BASIC_AUTH" + } + + conn.request("PUT", "/dek-registry/v1/keks/{name}", payload, headers) + + res = conn.getresponse() + data = res.read() + + print(data.decode("utf-8")) + - lang: Node + source: |- + const http = require("https"); + + const options = { + "method": "PUT", + "hostname": "psrc-00000.region.provider.confluent.cloud", + "port": null, + "path": "/dek-registry/v1/keks/{name}", + "headers": { + "content-type": "application/octet-stream", + "Authorization": "Basic REPLACE_BASIC_AUTH" + } + }; + + const req = http.request(options, function (res) { + const chunks = []; + + res.on("data", function (chunk) { + chunks.push(chunk); + }); + + res.on("end", function () { + const body = Buffer.concat(chunks); + console.log(body.toString()); + }); + }); + + req.write(JSON.stringify({kmsProps: {key: 'kmsProps'}, shared: true, doc: 'doc'})); + req.end(); + - lang: C + source: |- + CURL *hnd = curl_easy_init(); + + curl_easy_setopt(hnd, CURLOPT_CUSTOMREQUEST, "PUT"); + curl_easy_setopt(hnd, CURLOPT_URL, "https://psrc-00000.region.provider.confluent.cloud/dek-registry/v1/keks/{name}"); + + struct curl_slist *headers = NULL; + headers = curl_slist_append(headers, "content-type: application/octet-stream"); + headers = curl_slist_append(headers, "Authorization: Basic REPLACE_BASIC_AUTH"); + curl_easy_setopt(hnd, CURLOPT_HTTPHEADER, headers); + + curl_easy_setopt(hnd, CURLOPT_POSTFIELDS, "{\"kmsProps\":{\"key\":\"kmsProps\"},\"shared\":true,\"doc\":\"doc\"}"); + + CURLcode ret = curl_easy_perform(hnd); + - lang: C# + source: |- + var client = new RestClient("https://psrc-00000.region.provider.confluent.cloud/dek-registry/v1/keks/{name}"); + var request = new RestRequest(Method.PUT); + request.AddHeader("content-type", "application/octet-stream"); + request.AddHeader("Authorization", "Basic REPLACE_BASIC_AUTH"); + request.AddParameter("application/octet-stream", "{\"kmsProps\":{\"key\":\"kmsProps\"},\"shared\":true,\"doc\":\"doc\"}", ParameterType.RequestBody); + IRestResponse response = client.Execute(request); + '/dek-registry/v1/keks/{name}/undelete': + post: + tags: + - Key Encryption Keys (v1) + operationId: undeleteKek + parameters: + - description: Name of the kek + explode: false + in: path + name: name + required: true + schema: + type: string + style: simple + responses: + '204': + description: No Content + '404': + description: Error code 40470 -- Key not found + '422': + description: Unprocessable entity. Error code 42271 -- Invalid key. Error code 42272 -- References to key exist. + summary: Undelete a kek + security: + - resource-api-key: [] + - external-access-token: [] + x-codeSamples: + - lang: Shell + source: |- + curl --request POST \ + --url 'https://psrc-00000.region.provider.confluent.cloud/dek-registry/v1/keks/{name}/undelete' \ + --header 'Authorization: Basic REPLACE_BASIC_AUTH' + - lang: Java + source: |- + OkHttpClient client = new OkHttpClient(); + + Request request = new Request.Builder() + .url("https://psrc-00000.region.provider.confluent.cloud/dek-registry/v1/keks/{name}/undelete") + .post(null) + .addHeader("Authorization", "Basic REPLACE_BASIC_AUTH") + .build(); + + Response response = client.newCall(request).execute(); + - lang: Go + source: "package main\n\nimport (\n\t\"fmt\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://psrc-00000.region.provider.confluent.cloud/dek-registry/v1/keks/{name}/undelete\"\n\n\treq, _ := http.NewRequest(\"POST\", url, nil)\n\n\treq.Header.Add(\"Authorization\", \"Basic REPLACE_BASIC_AUTH\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}" + - lang: Python + source: |- + import http.client + + conn = http.client.HTTPSConnection("psrc-00000.region.provider.confluent.cloud") + + headers = { 'Authorization': "Basic REPLACE_BASIC_AUTH" } + + conn.request("POST", "/dek-registry/v1/keks/{name}/undelete", headers=headers) + + res = conn.getresponse() + data = res.read() + + print(data.decode("utf-8")) + - lang: Node + source: |- + const http = require("https"); + + const options = { + "method": "POST", + "hostname": "psrc-00000.region.provider.confluent.cloud", + "port": null, + "path": "/dek-registry/v1/keks/{name}/undelete", + "headers": { + "Authorization": "Basic REPLACE_BASIC_AUTH" + } + }; + + const req = http.request(options, function (res) { + const chunks = []; + + res.on("data", function (chunk) { + chunks.push(chunk); + }); + + res.on("end", function () { + const body = Buffer.concat(chunks); + console.log(body.toString()); + }); + }); + + req.end(); + - lang: C + source: |- + CURL *hnd = curl_easy_init(); + + curl_easy_setopt(hnd, CURLOPT_CUSTOMREQUEST, "POST"); + curl_easy_setopt(hnd, CURLOPT_URL, "https://psrc-00000.region.provider.confluent.cloud/dek-registry/v1/keks/{name}/undelete"); + + struct curl_slist *headers = NULL; + headers = curl_slist_append(headers, "Authorization: Basic REPLACE_BASIC_AUTH"); + curl_easy_setopt(hnd, CURLOPT_HTTPHEADER, headers); + + CURLcode ret = curl_easy_perform(hnd); + - lang: C# + source: |- + var client = new RestClient("https://psrc-00000.region.provider.confluent.cloud/dek-registry/v1/keks/{name}/undelete"); + var request = new RestRequest(Method.POST); + request.AddHeader("Authorization", "Basic REPLACE_BASIC_AUTH"); + IRestResponse response = client.Execute(request); + '/dek-registry/v1/keks/{name}/deks': + get: + tags: + - Data Encryption Keys (v1) + operationId: getDekSubjects + parameters: + - description: Name of the kek + explode: false + in: path + name: name + required: true + schema: + type: string + style: simple + - description: Whether to include deleted keys + explode: true + in: query + name: deleted + required: false + schema: + type: boolean + style: form + responses: + '200': + content: + application/vnd.schemaregistry.v1+json: + schema: + items: + example: User + type: string + type: array + application/vnd.schemaregistry+json; qs=0.9: + schema: + items: + example: User + type: string + type: array + application/json; qs=0.5: + schema: + items: + example: User + type: string + type: array + description: List of dek subjects + '404': + description: Error code 40470 -- Key not found + '422': + description: Error code 42271 -- Invalid key + summary: Get a list of dek subjects + security: + - resource-api-key: [] + - external-access-token: [] + x-codeSamples: + - lang: Shell + source: |- + curl --request GET \ + --url 'https://psrc-00000.region.provider.confluent.cloud/dek-registry/v1/keks/{name}/deks' \ + --header 'Authorization: Basic REPLACE_BASIC_AUTH' + - lang: Java + source: |- + OkHttpClient client = new OkHttpClient(); + + Request request = new Request.Builder() + .url("https://psrc-00000.region.provider.confluent.cloud/dek-registry/v1/keks/{name}/deks") + .get() + .addHeader("Authorization", "Basic REPLACE_BASIC_AUTH") + .build(); + + Response response = client.newCall(request).execute(); + - lang: Go + source: "package main\n\nimport (\n\t\"fmt\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://psrc-00000.region.provider.confluent.cloud/dek-registry/v1/keks/{name}/deks\"\n\n\treq, _ := http.NewRequest(\"GET\", url, nil)\n\n\treq.Header.Add(\"Authorization\", \"Basic REPLACE_BASIC_AUTH\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}" + - lang: Python + source: |- + import http.client + + conn = http.client.HTTPSConnection("psrc-00000.region.provider.confluent.cloud") + + headers = { 'Authorization': "Basic REPLACE_BASIC_AUTH" } + + conn.request("GET", "/dek-registry/v1/keks/{name}/deks", headers=headers) + + res = conn.getresponse() + data = res.read() + + print(data.decode("utf-8")) + - lang: Node + source: |- + const http = require("https"); + + const options = { + "method": "GET", + "hostname": "psrc-00000.region.provider.confluent.cloud", + "port": null, + "path": "/dek-registry/v1/keks/{name}/deks", + "headers": { + "Authorization": "Basic REPLACE_BASIC_AUTH" + } + }; + + const req = http.request(options, function (res) { + const chunks = []; + + res.on("data", function (chunk) { + chunks.push(chunk); + }); + + res.on("end", function () { + const body = Buffer.concat(chunks); + console.log(body.toString()); + }); + }); + + req.end(); + - lang: C + source: |- + CURL *hnd = curl_easy_init(); + + curl_easy_setopt(hnd, CURLOPT_CUSTOMREQUEST, "GET"); + curl_easy_setopt(hnd, CURLOPT_URL, "https://psrc-00000.region.provider.confluent.cloud/dek-registry/v1/keks/{name}/deks"); + + struct curl_slist *headers = NULL; + headers = curl_slist_append(headers, "Authorization: Basic REPLACE_BASIC_AUTH"); + curl_easy_setopt(hnd, CURLOPT_HTTPHEADER, headers); + + CURLcode ret = curl_easy_perform(hnd); + - lang: C# + source: |- + var client = new RestClient("https://psrc-00000.region.provider.confluent.cloud/dek-registry/v1/keks/{name}/deks"); + var request = new RestRequest(Method.GET); + request.AddHeader("Authorization", "Basic REPLACE_BASIC_AUTH"); + IRestResponse response = client.Execute(request); + post: + tags: + - Data Encryption Keys (v1) + operationId: createDek + parameters: + - description: Name of the kek + explode: false + in: path + name: name + required: true + schema: + type: string + style: simple + requestBody: + content: + application/vnd.schemaregistry.v1+json: + schema: + $ref: '#/components/schemas/CreateDekRequest' + application/vnd.schemaregistry+json: + schema: + $ref: '#/components/schemas/CreateDekRequest' + application/json: + schema: + $ref: '#/components/schemas/CreateDekRequest' + application/octet-stream: + schema: + $ref: '#/components/schemas/CreateDekRequest' + description: The create request + required: true + responses: + '200': + content: + application/vnd.schemaregistry.v1+json: + schema: + $ref: '#/components/schemas/Dek' + application/vnd.schemaregistry+json; qs=0.9: + schema: + $ref: '#/components/schemas/Dek' + application/json; qs=0.5: + schema: + $ref: '#/components/schemas/Dek' + description: The create response + '409': + description: Conflict. Error code 40971 -- Key already exists. Error code 40972 -- Too many keys. + '422': + description: Error code 42271 -- Invalid key + '500': + description: Error code 50070 -- Dek generation error + summary: Create a dek + security: + - resource-api-key: [] + - external-access-token: [] + x-codeSamples: + - lang: Shell + source: |- + curl --request POST \ + --url 'https://psrc-00000.region.provider.confluent.cloud/dek-registry/v1/keks/{name}/deks' \ + --header 'Authorization: Basic REPLACE_BASIC_AUTH' \ + --header 'content-type: application/octet-stream' \ + --data '{"subject":"subject","encryptedKeyMaterial":"encryptedKeyMaterial","version":0,"algorithm":"AES128_GCM"}' + - lang: Java + source: |- + OkHttpClient client = new OkHttpClient(); + + MediaType mediaType = MediaType.parse("application/json"); + RequestBody body = RequestBody.create(mediaType, "{\"subject\":\"subject\",\"encryptedKeyMaterial\":\"encryptedKeyMaterial\",\"version\":0,\"algorithm\":\"AES128_GCM\"}"); + Request request = new Request.Builder() + .url("https://psrc-00000.region.provider.confluent.cloud/dek-registry/v1/keks/{name}/deks") + .post(body) + .addHeader("content-type", "application/octet-stream") + .addHeader("Authorization", "Basic REPLACE_BASIC_AUTH") + .build(); + + Response response = client.newCall(request).execute(); + - lang: Go + source: "package main\n\nimport (\n\t\"fmt\"\n\t\"strings\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://psrc-00000.region.provider.confluent.cloud/dek-registry/v1/keks/{name}/deks\"\n\n\tpayload := strings.NewReader(\"{\\\"subject\\\":\\\"subject\\\",\\\"encryptedKeyMaterial\\\":\\\"encryptedKeyMaterial\\\",\\\"version\\\":0,\\\"algorithm\\\":\\\"AES128_GCM\\\"}\")\n\n\treq, _ := http.NewRequest(\"POST\", url, payload)\n\n\treq.Header.Add(\"content-type\", \"application/octet-stream\")\n\treq.Header.Add(\"Authorization\", \"Basic REPLACE_BASIC_AUTH\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}" + - lang: Python + source: |- + import http.client + + conn = http.client.HTTPSConnection("psrc-00000.region.provider.confluent.cloud") + + payload = "{\"subject\":\"subject\",\"encryptedKeyMaterial\":\"encryptedKeyMaterial\",\"version\":0,\"algorithm\":\"AES128_GCM\"}" + + headers = { + 'content-type': "application/octet-stream", + 'Authorization': "Basic REPLACE_BASIC_AUTH" + } + + conn.request("POST", "/dek-registry/v1/keks/{name}/deks", payload, headers) + + res = conn.getresponse() + data = res.read() + + print(data.decode("utf-8")) + - lang: Node + source: |- + const http = require("https"); + + const options = { + "method": "POST", + "hostname": "psrc-00000.region.provider.confluent.cloud", + "port": null, + "path": "/dek-registry/v1/keks/{name}/deks", + "headers": { + "content-type": "application/octet-stream", + "Authorization": "Basic REPLACE_BASIC_AUTH" + } + }; + + const req = http.request(options, function (res) { + const chunks = []; + + res.on("data", function (chunk) { + chunks.push(chunk); + }); + + res.on("end", function () { + const body = Buffer.concat(chunks); + console.log(body.toString()); + }); + }); + + req.write(JSON.stringify({ + subject: 'subject', + encryptedKeyMaterial: 'encryptedKeyMaterial', + version: 0, + algorithm: 'AES128_GCM' + })); + req.end(); + - lang: C + source: |- + CURL *hnd = curl_easy_init(); + + curl_easy_setopt(hnd, CURLOPT_CUSTOMREQUEST, "POST"); + curl_easy_setopt(hnd, CURLOPT_URL, "https://psrc-00000.region.provider.confluent.cloud/dek-registry/v1/keks/{name}/deks"); + + struct curl_slist *headers = NULL; + headers = curl_slist_append(headers, "content-type: application/octet-stream"); + headers = curl_slist_append(headers, "Authorization: Basic REPLACE_BASIC_AUTH"); + curl_easy_setopt(hnd, CURLOPT_HTTPHEADER, headers); + + curl_easy_setopt(hnd, CURLOPT_POSTFIELDS, "{\"subject\":\"subject\",\"encryptedKeyMaterial\":\"encryptedKeyMaterial\",\"version\":0,\"algorithm\":\"AES128_GCM\"}"); + + CURLcode ret = curl_easy_perform(hnd); + - lang: C# + source: |- + var client = new RestClient("https://psrc-00000.region.provider.confluent.cloud/dek-registry/v1/keks/{name}/deks"); + var request = new RestRequest(Method.POST); + request.AddHeader("content-type", "application/octet-stream"); + request.AddHeader("Authorization", "Basic REPLACE_BASIC_AUTH"); + request.AddParameter("application/octet-stream", "{\"subject\":\"subject\",\"encryptedKeyMaterial\":\"encryptedKeyMaterial\",\"version\":0,\"algorithm\":\"AES128_GCM\"}", ParameterType.RequestBody); + IRestResponse response = client.Execute(request); + '/dek-registry/v1/keks/{name}/deks/{subject}': + delete: + tags: + - Data Encryption Keys (v1) + operationId: deleteDekVersions + parameters: + - description: Name of the kek + explode: false + in: path + name: name + required: true + schema: + type: string + style: simple + - description: Subject of the dek + explode: false + in: path + name: subject + required: true + schema: + type: string + style: simple + - description: Algorithm of the dek + explode: true + in: query + name: algorithm + required: false + schema: + enum: + - AES128_GCM + - AES256_GCM + - AES256_SIV + type: string + style: form + - description: Whether to perform a permanent delete + explode: true + in: query + name: permanent + required: false + schema: + type: boolean + style: form + responses: + '204': + description: No Content + '404': + description: Not found. Error code 40470 -- Key not found. Error code 40471 -- Key not soft-deleted. + '422': + description: Error code 42271 -- Invalid key + summary: Delete all versions of a dek + security: + - resource-api-key: [] + - external-access-token: [] + x-codeSamples: + - lang: Shell + source: |- + curl --request DELETE \ + --url 'https://psrc-00000.region.provider.confluent.cloud/dek-registry/v1/keks/{name}/deks/{subject}' \ + --header 'Authorization: Basic REPLACE_BASIC_AUTH' + - lang: Java + source: |- + OkHttpClient client = new OkHttpClient(); + + Request request = new Request.Builder() + .url("https://psrc-00000.region.provider.confluent.cloud/dek-registry/v1/keks/{name}/deks/{subject}") + .delete(null) + .addHeader("Authorization", "Basic REPLACE_BASIC_AUTH") + .build(); + + Response response = client.newCall(request).execute(); + - lang: Go + source: "package main\n\nimport (\n\t\"fmt\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://psrc-00000.region.provider.confluent.cloud/dek-registry/v1/keks/{name}/deks/{subject}\"\n\n\treq, _ := http.NewRequest(\"DELETE\", url, nil)\n\n\treq.Header.Add(\"Authorization\", \"Basic REPLACE_BASIC_AUTH\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}" + - lang: Python + source: |- + import http.client + + conn = http.client.HTTPSConnection("psrc-00000.region.provider.confluent.cloud") + + headers = { 'Authorization': "Basic REPLACE_BASIC_AUTH" } + + conn.request("DELETE", "/dek-registry/v1/keks/{name}/deks/{subject}", headers=headers) + + res = conn.getresponse() + data = res.read() + + print(data.decode("utf-8")) + - lang: Node + source: |- + const http = require("https"); + + const options = { + "method": "DELETE", + "hostname": "psrc-00000.region.provider.confluent.cloud", + "port": null, + "path": "/dek-registry/v1/keks/{name}/deks/{subject}", + "headers": { + "Authorization": "Basic REPLACE_BASIC_AUTH" + } + }; + + const req = http.request(options, function (res) { + const chunks = []; + + res.on("data", function (chunk) { + chunks.push(chunk); + }); + + res.on("end", function () { + const body = Buffer.concat(chunks); + console.log(body.toString()); + }); + }); + + req.end(); + - lang: C + source: |- + CURL *hnd = curl_easy_init(); + + curl_easy_setopt(hnd, CURLOPT_CUSTOMREQUEST, "DELETE"); + curl_easy_setopt(hnd, CURLOPT_URL, "https://psrc-00000.region.provider.confluent.cloud/dek-registry/v1/keks/{name}/deks/{subject}"); + + struct curl_slist *headers = NULL; + headers = curl_slist_append(headers, "Authorization: Basic REPLACE_BASIC_AUTH"); + curl_easy_setopt(hnd, CURLOPT_HTTPHEADER, headers); + + CURLcode ret = curl_easy_perform(hnd); + - lang: C# + source: |- + var client = new RestClient("https://psrc-00000.region.provider.confluent.cloud/dek-registry/v1/keks/{name}/deks/{subject}"); + var request = new RestRequest(Method.DELETE); + request.AddHeader("Authorization", "Basic REPLACE_BASIC_AUTH"); + IRestResponse response = client.Execute(request); + get: + tags: + - Data Encryption Keys (v1) + operationId: getDek + parameters: + - description: Name of the kek + explode: false + in: path + name: name + required: true + schema: + type: string + style: simple + - description: Subject of the dek + explode: false + in: path + name: subject + required: true + schema: + type: string + style: simple + - description: Algorithm of the dek + explode: true + in: query + name: algorithm + required: false + schema: + enum: + - AES128_GCM + - AES256_GCM + - AES256_SIV + type: string + style: form + - description: Whether to include deleted keys + explode: true + in: query + name: deleted + required: false + schema: + type: boolean + style: form + responses: + '200': + content: + application/vnd.schemaregistry.v1+json: + schema: + $ref: '#/components/schemas/Dek' + application/vnd.schemaregistry+json; qs=0.9: + schema: + $ref: '#/components/schemas/Dek' + application/json; qs=0.5: + schema: + $ref: '#/components/schemas/Dek' + description: The dek info + '404': + description: Error code 40470 -- Key not found + '422': + description: Error code 42271 -- Invalid key + '500': + description: Error code 50070 -- Dek generation error + summary: Get a dek by subject + security: + - resource-api-key: [] + - external-access-token: [] + x-codeSamples: + - lang: Shell + source: |- + curl --request GET \ + --url 'https://psrc-00000.region.provider.confluent.cloud/dek-registry/v1/keks/{name}/deks/{subject}' \ + --header 'Authorization: Basic REPLACE_BASIC_AUTH' + - lang: Java + source: |- + OkHttpClient client = new OkHttpClient(); + + Request request = new Request.Builder() + .url("https://psrc-00000.region.provider.confluent.cloud/dek-registry/v1/keks/{name}/deks/{subject}") + .get() + .addHeader("Authorization", "Basic REPLACE_BASIC_AUTH") + .build(); + + Response response = client.newCall(request).execute(); + - lang: Go + source: "package main\n\nimport (\n\t\"fmt\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://psrc-00000.region.provider.confluent.cloud/dek-registry/v1/keks/{name}/deks/{subject}\"\n\n\treq, _ := http.NewRequest(\"GET\", url, nil)\n\n\treq.Header.Add(\"Authorization\", \"Basic REPLACE_BASIC_AUTH\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}" + - lang: Python + source: |- + import http.client + + conn = http.client.HTTPSConnection("psrc-00000.region.provider.confluent.cloud") + + headers = { 'Authorization': "Basic REPLACE_BASIC_AUTH" } + + conn.request("GET", "/dek-registry/v1/keks/{name}/deks/{subject}", headers=headers) + + res = conn.getresponse() + data = res.read() + + print(data.decode("utf-8")) + - lang: Node + source: |- + const http = require("https"); + + const options = { + "method": "GET", + "hostname": "psrc-00000.region.provider.confluent.cloud", + "port": null, + "path": "/dek-registry/v1/keks/{name}/deks/{subject}", + "headers": { + "Authorization": "Basic REPLACE_BASIC_AUTH" + } + }; + + const req = http.request(options, function (res) { + const chunks = []; + + res.on("data", function (chunk) { + chunks.push(chunk); + }); + + res.on("end", function () { + const body = Buffer.concat(chunks); + console.log(body.toString()); + }); + }); + + req.end(); + - lang: C + source: |- + CURL *hnd = curl_easy_init(); + + curl_easy_setopt(hnd, CURLOPT_CUSTOMREQUEST, "GET"); + curl_easy_setopt(hnd, CURLOPT_URL, "https://psrc-00000.region.provider.confluent.cloud/dek-registry/v1/keks/{name}/deks/{subject}"); + + struct curl_slist *headers = NULL; + headers = curl_slist_append(headers, "Authorization: Basic REPLACE_BASIC_AUTH"); + curl_easy_setopt(hnd, CURLOPT_HTTPHEADER, headers); + + CURLcode ret = curl_easy_perform(hnd); + - lang: C# + source: |- + var client = new RestClient("https://psrc-00000.region.provider.confluent.cloud/dek-registry/v1/keks/{name}/deks/{subject}"); + var request = new RestRequest(Method.GET); + request.AddHeader("Authorization", "Basic REPLACE_BASIC_AUTH"); + IRestResponse response = client.Execute(request); + '/dek-registry/v1/keks/{name}/deks/{subject}/versions/{version}': + delete: + tags: + - Data Encryption Keys (v1) + operationId: deleteDekVersion + parameters: + - description: Name of the kek + explode: false + in: path + name: name + required: true + schema: + type: string + style: simple + - description: Subject of the dek + explode: false + in: path + name: subject + required: true + schema: + type: string + style: simple + - description: Version of the dek + explode: false + in: path + name: version + required: true + schema: + type: string + style: simple + - description: Algorithm of the dek + explode: true + in: query + name: algorithm + required: false + schema: + enum: + - AES128_GCM + - AES256_GCM + - AES256_SIV + type: string + style: form + - description: Whether to perform a permanent delete + explode: true + in: query + name: permanent + required: false + schema: + type: boolean + style: form + responses: + '204': + description: No Content + '404': + description: Not found. Error code 40470 -- Key not found. Error code 40471 -- Key not soft-deleted. + '422': + description: Unprocessable entity. Error code 42202 -- Invalid version. Error code 42271 -- Invalid key. + summary: Delete a dek version + security: + - resource-api-key: [] + - external-access-token: [] + x-codeSamples: + - lang: Shell + source: |- + curl --request DELETE \ + --url 'https://psrc-00000.region.provider.confluent.cloud/dek-registry/v1/keks/{name}/deks/{subject}/versions/{version}' \ + --header 'Authorization: Basic REPLACE_BASIC_AUTH' + - lang: Java + source: |- + OkHttpClient client = new OkHttpClient(); + + Request request = new Request.Builder() + .url("https://psrc-00000.region.provider.confluent.cloud/dek-registry/v1/keks/{name}/deks/{subject}/versions/{version}") + .delete(null) + .addHeader("Authorization", "Basic REPLACE_BASIC_AUTH") + .build(); + + Response response = client.newCall(request).execute(); + - lang: Go + source: "package main\n\nimport (\n\t\"fmt\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://psrc-00000.region.provider.confluent.cloud/dek-registry/v1/keks/{name}/deks/{subject}/versions/{version}\"\n\n\treq, _ := http.NewRequest(\"DELETE\", url, nil)\n\n\treq.Header.Add(\"Authorization\", \"Basic REPLACE_BASIC_AUTH\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}" + - lang: Python + source: |- + import http.client + + conn = http.client.HTTPSConnection("psrc-00000.region.provider.confluent.cloud") + + headers = { 'Authorization': "Basic REPLACE_BASIC_AUTH" } + + conn.request("DELETE", "/dek-registry/v1/keks/{name}/deks/{subject}/versions/{version}", headers=headers) + + res = conn.getresponse() + data = res.read() + + print(data.decode("utf-8")) + - lang: Node + source: |- + const http = require("https"); + + const options = { + "method": "DELETE", + "hostname": "psrc-00000.region.provider.confluent.cloud", + "port": null, + "path": "/dek-registry/v1/keks/{name}/deks/{subject}/versions/{version}", + "headers": { + "Authorization": "Basic REPLACE_BASIC_AUTH" + } + }; + + const req = http.request(options, function (res) { + const chunks = []; + + res.on("data", function (chunk) { + chunks.push(chunk); + }); + + res.on("end", function () { + const body = Buffer.concat(chunks); + console.log(body.toString()); + }); + }); + + req.end(); + - lang: C + source: |- + CURL *hnd = curl_easy_init(); + + curl_easy_setopt(hnd, CURLOPT_CUSTOMREQUEST, "DELETE"); + curl_easy_setopt(hnd, CURLOPT_URL, "https://psrc-00000.region.provider.confluent.cloud/dek-registry/v1/keks/{name}/deks/{subject}/versions/{version}"); + + struct curl_slist *headers = NULL; + headers = curl_slist_append(headers, "Authorization: Basic REPLACE_BASIC_AUTH"); + curl_easy_setopt(hnd, CURLOPT_HTTPHEADER, headers); + + CURLcode ret = curl_easy_perform(hnd); + - lang: C# + source: |- + var client = new RestClient("https://psrc-00000.region.provider.confluent.cloud/dek-registry/v1/keks/{name}/deks/{subject}/versions/{version}"); + var request = new RestRequest(Method.DELETE); + request.AddHeader("Authorization", "Basic REPLACE_BASIC_AUTH"); + IRestResponse response = client.Execute(request); + get: + tags: + - Data Encryption Keys (v1) + operationId: getDekByVersion + parameters: + - description: Name of the kek + explode: false + in: path + name: name + required: true + schema: + type: string + style: simple + - description: Subject of the dek + explode: false + in: path + name: subject + required: true + schema: + type: string + style: simple + - description: Version of the dek + explode: false + in: path + name: version + required: true + schema: + type: string + style: simple + - description: Algorithm of the dek + explode: true + in: query + name: algorithm + required: false + schema: + enum: + - AES128_GCM + - AES256_GCM + - AES256_SIV + type: string + style: form + - description: Whether to include deleted keys + explode: true + in: query + name: deleted + required: false + schema: + type: boolean + style: form + responses: + '200': + content: + application/vnd.schemaregistry.v1+json: + schema: + $ref: '#/components/schemas/Dek' + application/vnd.schemaregistry+json; qs=0.9: + schema: + $ref: '#/components/schemas/Dek' + application/json; qs=0.5: + schema: + $ref: '#/components/schemas/Dek' + description: The dek info + '404': + description: Error code 40470 -- Key not found + '422': + description: Unprocessable entity. Error code 42202 -- Invalid version. Error code 42271 -- Invalid key. + '500': + description: Error code 50070 -- Dek generation error + summary: Get a dek by subject and version + security: + - resource-api-key: [] + - external-access-token: [] + x-codeSamples: + - lang: Shell + source: |- + curl --request GET \ + --url 'https://psrc-00000.region.provider.confluent.cloud/dek-registry/v1/keks/{name}/deks/{subject}/versions/{version}' \ + --header 'Authorization: Basic REPLACE_BASIC_AUTH' + - lang: Java + source: |- + OkHttpClient client = new OkHttpClient(); + + Request request = new Request.Builder() + .url("https://psrc-00000.region.provider.confluent.cloud/dek-registry/v1/keks/{name}/deks/{subject}/versions/{version}") + .get() + .addHeader("Authorization", "Basic REPLACE_BASIC_AUTH") + .build(); + + Response response = client.newCall(request).execute(); + - lang: Go + source: "package main\n\nimport (\n\t\"fmt\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://psrc-00000.region.provider.confluent.cloud/dek-registry/v1/keks/{name}/deks/{subject}/versions/{version}\"\n\n\treq, _ := http.NewRequest(\"GET\", url, nil)\n\n\treq.Header.Add(\"Authorization\", \"Basic REPLACE_BASIC_AUTH\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}" + - lang: Python + source: |- + import http.client + + conn = http.client.HTTPSConnection("psrc-00000.region.provider.confluent.cloud") + + headers = { 'Authorization': "Basic REPLACE_BASIC_AUTH" } + + conn.request("GET", "/dek-registry/v1/keks/{name}/deks/{subject}/versions/{version}", headers=headers) + + res = conn.getresponse() + data = res.read() + + print(data.decode("utf-8")) + - lang: Node + source: |- + const http = require("https"); + + const options = { + "method": "GET", + "hostname": "psrc-00000.region.provider.confluent.cloud", + "port": null, + "path": "/dek-registry/v1/keks/{name}/deks/{subject}/versions/{version}", + "headers": { + "Authorization": "Basic REPLACE_BASIC_AUTH" + } + }; + + const req = http.request(options, function (res) { + const chunks = []; + + res.on("data", function (chunk) { + chunks.push(chunk); + }); + + res.on("end", function () { + const body = Buffer.concat(chunks); + console.log(body.toString()); + }); + }); + + req.end(); + - lang: C + source: |- + CURL *hnd = curl_easy_init(); + + curl_easy_setopt(hnd, CURLOPT_CUSTOMREQUEST, "GET"); + curl_easy_setopt(hnd, CURLOPT_URL, "https://psrc-00000.region.provider.confluent.cloud/dek-registry/v1/keks/{name}/deks/{subject}/versions/{version}"); + + struct curl_slist *headers = NULL; + headers = curl_slist_append(headers, "Authorization: Basic REPLACE_BASIC_AUTH"); + curl_easy_setopt(hnd, CURLOPT_HTTPHEADER, headers); + + CURLcode ret = curl_easy_perform(hnd); + - lang: C# + source: |- + var client = new RestClient("https://psrc-00000.region.provider.confluent.cloud/dek-registry/v1/keks/{name}/deks/{subject}/versions/{version}"); + var request = new RestRequest(Method.GET); + request.AddHeader("Authorization", "Basic REPLACE_BASIC_AUTH"); + IRestResponse response = client.Execute(request); + '/dek-registry/v1/keks/{name}/deks/{subject}/versions': + get: + tags: + - Data Encryption Keys (v1) + operationId: getDekVersions + parameters: + - description: Name of the kek + explode: false + in: path + name: name + required: true + schema: + type: string + style: simple + - description: Subject of the dek + explode: false + in: path + name: subject + required: true + schema: + type: string + style: simple + - description: Algorithm of the dek + explode: true + in: query + name: algorithm + required: false + schema: + enum: + - AES128_GCM + - AES256_GCM + - AES256_SIV + type: string + style: form + - description: Whether to include deleted keys + explode: true + in: query + name: deleted + required: false + schema: + type: boolean + style: form + responses: + '200': + content: + application/vnd.schemaregistry.v1+json: + schema: + items: + example: 1 + format: int32 + type: integer + type: array + application/vnd.schemaregistry+json; qs=0.9: + schema: + items: + example: 1 + format: int32 + type: integer + type: array + application/json; qs=0.5: + schema: + items: + example: 1 + format: int32 + type: integer + type: array + description: List of version numbers for dek + '404': + description: Error code 40470 -- Key not found + '422': + description: Error code 42271 -- Invalid key + summary: List versions of dek + security: + - resource-api-key: [] + - external-access-token: [] + x-codeSamples: + - lang: Shell + source: |- + curl --request GET \ + --url 'https://psrc-00000.region.provider.confluent.cloud/dek-registry/v1/keks/{name}/deks/{subject}/versions' \ + --header 'Authorization: Basic REPLACE_BASIC_AUTH' + - lang: Java + source: |- + OkHttpClient client = new OkHttpClient(); + + Request request = new Request.Builder() + .url("https://psrc-00000.region.provider.confluent.cloud/dek-registry/v1/keks/{name}/deks/{subject}/versions") + .get() + .addHeader("Authorization", "Basic REPLACE_BASIC_AUTH") + .build(); + + Response response = client.newCall(request).execute(); + - lang: Go + source: "package main\n\nimport (\n\t\"fmt\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://psrc-00000.region.provider.confluent.cloud/dek-registry/v1/keks/{name}/deks/{subject}/versions\"\n\n\treq, _ := http.NewRequest(\"GET\", url, nil)\n\n\treq.Header.Add(\"Authorization\", \"Basic REPLACE_BASIC_AUTH\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}" + - lang: Python + source: |- + import http.client + + conn = http.client.HTTPSConnection("psrc-00000.region.provider.confluent.cloud") + + headers = { 'Authorization': "Basic REPLACE_BASIC_AUTH" } + + conn.request("GET", "/dek-registry/v1/keks/{name}/deks/{subject}/versions", headers=headers) + + res = conn.getresponse() + data = res.read() + + print(data.decode("utf-8")) + - lang: Node + source: |- + const http = require("https"); + + const options = { + "method": "GET", + "hostname": "psrc-00000.region.provider.confluent.cloud", + "port": null, + "path": "/dek-registry/v1/keks/{name}/deks/{subject}/versions", + "headers": { + "Authorization": "Basic REPLACE_BASIC_AUTH" + } + }; + + const req = http.request(options, function (res) { + const chunks = []; + + res.on("data", function (chunk) { + chunks.push(chunk); + }); + + res.on("end", function () { + const body = Buffer.concat(chunks); + console.log(body.toString()); + }); + }); + + req.end(); + - lang: C + source: |- + CURL *hnd = curl_easy_init(); + + curl_easy_setopt(hnd, CURLOPT_CUSTOMREQUEST, "GET"); + curl_easy_setopt(hnd, CURLOPT_URL, "https://psrc-00000.region.provider.confluent.cloud/dek-registry/v1/keks/{name}/deks/{subject}/versions"); + + struct curl_slist *headers = NULL; + headers = curl_slist_append(headers, "Authorization: Basic REPLACE_BASIC_AUTH"); + curl_easy_setopt(hnd, CURLOPT_HTTPHEADER, headers); + + CURLcode ret = curl_easy_perform(hnd); + - lang: C# + source: |- + var client = new RestClient("https://psrc-00000.region.provider.confluent.cloud/dek-registry/v1/keks/{name}/deks/{subject}/versions"); + var request = new RestRequest(Method.GET); + request.AddHeader("Authorization", "Basic REPLACE_BASIC_AUTH"); + IRestResponse response = client.Execute(request); + '/dek-registry/v1/keks/{name}/deks/{subject}/versions/{version}/undelete': + post: + tags: + - Data Encryption Keys (v1) + operationId: undeleteDekVersion + parameters: + - description: Name of the kek + explode: false + in: path + name: name + required: true + schema: + type: string + style: simple + - description: Subject of the dek + explode: false + in: path + name: subject + required: true + schema: + type: string + style: simple + - description: Version of the dek + explode: false + in: path + name: version + required: true + schema: + type: string + style: simple + - description: Algorithm of the dek + explode: true + in: query + name: algorithm + required: false + schema: + enum: + - AES128_GCM + - AES256_GCM + - AES256_SIV + type: string + style: form + responses: + '204': + description: No Content + '404': + description: Not found. Error code 40470 -- Key not found. Error code 40472 -- Key must be undeleted. + '422': + description: Unprocessable entity. Error code 42202 -- Invalid version. Error code 42271 -- Invalid key. + summary: Undelete a dek version + security: + - resource-api-key: [] + - external-access-token: [] + x-codeSamples: + - lang: Shell + source: |- + curl --request POST \ + --url 'https://psrc-00000.region.provider.confluent.cloud/dek-registry/v1/keks/{name}/deks/{subject}/versions/{version}/undelete' \ + --header 'Authorization: Basic REPLACE_BASIC_AUTH' + - lang: Java + source: |- + OkHttpClient client = new OkHttpClient(); + + Request request = new Request.Builder() + .url("https://psrc-00000.region.provider.confluent.cloud/dek-registry/v1/keks/{name}/deks/{subject}/versions/{version}/undelete") + .post(null) + .addHeader("Authorization", "Basic REPLACE_BASIC_AUTH") + .build(); + + Response response = client.newCall(request).execute(); + - lang: Go + source: "package main\n\nimport (\n\t\"fmt\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://psrc-00000.region.provider.confluent.cloud/dek-registry/v1/keks/{name}/deks/{subject}/versions/{version}/undelete\"\n\n\treq, _ := http.NewRequest(\"POST\", url, nil)\n\n\treq.Header.Add(\"Authorization\", \"Basic REPLACE_BASIC_AUTH\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}" + - lang: Python + source: |- + import http.client + + conn = http.client.HTTPSConnection("psrc-00000.region.provider.confluent.cloud") + + headers = { 'Authorization': "Basic REPLACE_BASIC_AUTH" } + + conn.request("POST", "/dek-registry/v1/keks/{name}/deks/{subject}/versions/{version}/undelete", headers=headers) + + res = conn.getresponse() + data = res.read() + + print(data.decode("utf-8")) + - lang: Node + source: |- + const http = require("https"); + + const options = { + "method": "POST", + "hostname": "psrc-00000.region.provider.confluent.cloud", + "port": null, + "path": "/dek-registry/v1/keks/{name}/deks/{subject}/versions/{version}/undelete", + "headers": { + "Authorization": "Basic REPLACE_BASIC_AUTH" + } + }; + + const req = http.request(options, function (res) { + const chunks = []; + + res.on("data", function (chunk) { + chunks.push(chunk); + }); + + res.on("end", function () { + const body = Buffer.concat(chunks); + console.log(body.toString()); + }); + }); + + req.end(); + - lang: C + source: |- + CURL *hnd = curl_easy_init(); + + curl_easy_setopt(hnd, CURLOPT_CUSTOMREQUEST, "POST"); + curl_easy_setopt(hnd, CURLOPT_URL, "https://psrc-00000.region.provider.confluent.cloud/dek-registry/v1/keks/{name}/deks/{subject}/versions/{version}/undelete"); + + struct curl_slist *headers = NULL; + headers = curl_slist_append(headers, "Authorization: Basic REPLACE_BASIC_AUTH"); + curl_easy_setopt(hnd, CURLOPT_HTTPHEADER, headers); + + CURLcode ret = curl_easy_perform(hnd); + - lang: C# + source: |- + var client = new RestClient("https://psrc-00000.region.provider.confluent.cloud/dek-registry/v1/keks/{name}/deks/{subject}/versions/{version}/undelete"); + var request = new RestRequest(Method.POST); + request.AddHeader("Authorization", "Basic REPLACE_BASIC_AUTH"); + IRestResponse response = client.Execute(request); + '/dek-registry/v1/keks/{name}/deks/{subject}/undelete': + post: + tags: + - Data Encryption Keys (v1) + operationId: undeleteDekVersions + parameters: + - description: Name of the kek + explode: false + in: path + name: name + required: true + schema: + type: string + style: simple + - description: Subject of the dek + explode: false + in: path + name: subject + required: true + schema: + type: string + style: simple + - description: Algorithm of the dek + explode: true + in: query + name: algorithm + required: false + schema: + enum: + - AES128_GCM + - AES256_GCM + - AES256_SIV + type: string + style: form + responses: + '204': + description: No Content + '404': + description: Not found. Error code 40470 -- Key not found. Error code 40472 -- Key must be undeleted. + '422': + description: Error code 42271 -- Invalid key + summary: Undelete all versions of a dek + security: + - resource-api-key: [] + - external-access-token: [] + x-codeSamples: + - lang: Shell + source: |- + curl --request POST \ + --url 'https://psrc-00000.region.provider.confluent.cloud/dek-registry/v1/keks/{name}/deks/{subject}/undelete' \ + --header 'Authorization: Basic REPLACE_BASIC_AUTH' + - lang: Java + source: |- + OkHttpClient client = new OkHttpClient(); + + Request request = new Request.Builder() + .url("https://psrc-00000.region.provider.confluent.cloud/dek-registry/v1/keks/{name}/deks/{subject}/undelete") + .post(null) + .addHeader("Authorization", "Basic REPLACE_BASIC_AUTH") + .build(); + + Response response = client.newCall(request).execute(); + - lang: Go + source: "package main\n\nimport (\n\t\"fmt\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://psrc-00000.region.provider.confluent.cloud/dek-registry/v1/keks/{name}/deks/{subject}/undelete\"\n\n\treq, _ := http.NewRequest(\"POST\", url, nil)\n\n\treq.Header.Add(\"Authorization\", \"Basic REPLACE_BASIC_AUTH\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}" + - lang: Python + source: |- + import http.client + + conn = http.client.HTTPSConnection("psrc-00000.region.provider.confluent.cloud") + + headers = { 'Authorization': "Basic REPLACE_BASIC_AUTH" } + + conn.request("POST", "/dek-registry/v1/keks/{name}/deks/{subject}/undelete", headers=headers) + + res = conn.getresponse() + data = res.read() + + print(data.decode("utf-8")) + - lang: Node + source: |- + const http = require("https"); + + const options = { + "method": "POST", + "hostname": "psrc-00000.region.provider.confluent.cloud", + "port": null, + "path": "/dek-registry/v1/keks/{name}/deks/{subject}/undelete", + "headers": { + "Authorization": "Basic REPLACE_BASIC_AUTH" + } + }; + + const req = http.request(options, function (res) { + const chunks = []; + + res.on("data", function (chunk) { + chunks.push(chunk); + }); + + res.on("end", function () { + const body = Buffer.concat(chunks); + console.log(body.toString()); + }); + }); + + req.end(); + - lang: C + source: |- + CURL *hnd = curl_easy_init(); + + curl_easy_setopt(hnd, CURLOPT_CUSTOMREQUEST, "POST"); + curl_easy_setopt(hnd, CURLOPT_URL, "https://psrc-00000.region.provider.confluent.cloud/dek-registry/v1/keks/{name}/deks/{subject}/undelete"); + + struct curl_slist *headers = NULL; + headers = curl_slist_append(headers, "Authorization: Basic REPLACE_BASIC_AUTH"); + curl_easy_setopt(hnd, CURLOPT_HTTPHEADER, headers); + + CURLcode ret = curl_easy_perform(hnd); + - lang: C# + source: |- + var client = new RestClient("https://psrc-00000.region.provider.confluent.cloud/dek-registry/v1/keks/{name}/deks/{subject}/undelete"); + var request = new RestRequest(Method.POST); + request.AddHeader("Authorization", "Basic REPLACE_BASIC_AUTH"); + IRestResponse response = client.Execute(request); + /byok/v1/keys: + get: + operationId: listByokV1Keys + summary: List of Keys + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + Retrieve a sorted, filtered, paginated list of all keys. + parameters: + - name: provider + in: query + required: false + schema: + $ref: '#/components/schemas/SearchFilter' + example: AWS + description: Filter the results by exact match for provider. + - name: state + in: query + required: false + schema: + $ref: '#/components/schemas/SearchFilter' + example: IN_USE + description: Filter the results by exact match for state. + - 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: + - Keys (byok/v1) + security: + - cloud-api-key: [] + - confluent-sts-access-token: [] + responses: + '200': + description: Key. + content: + application/json: + schema: + allOf: + - $ref: '#/components/schemas/byok.v1.KeyList' + 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. + + **Important:** This differs from Github and Twitter's same-named header which uses UTC epoch seconds. We use relative time to avoid client/server time synchronization issues. + '400': + $ref: '#/components/responses/BadRequestError' + '401': + $ref: '#/components/responses/UnauthenticatedError' + '403': + $ref: '#/components/responses/UnauthorizedError' + '429': + $ref: '#/components/responses/RateLimitError' + '500': + $ref: '#/components/responses/DefaultSystemError' + x-codeSamples: + - lang: Shell + source: |- + curl --request GET \ + --url 'https://api.confluent.cloud/byok/v1/keys?provider=AWS&state=IN_USE' \ + --header 'Authorization: Basic REPLACE_BASIC_AUTH' + - lang: Java + source: |- + OkHttpClient client = new OkHttpClient(); + + Request request = new Request.Builder() + .url("https://api.confluent.cloud/byok/v1/keys?provider=AWS&state=IN_USE") + .get() + .addHeader("Authorization", "Basic REPLACE_BASIC_AUTH") + .build(); + + Response response = client.newCall(request).execute(); + - lang: Go + source: "package main\n\nimport (\n\t\"fmt\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.confluent.cloud/byok/v1/keys?provider=AWS&state=IN_USE\"\n\n\treq, _ := http.NewRequest(\"GET\", url, nil)\n\n\treq.Header.Add(\"Authorization\", \"Basic REPLACE_BASIC_AUTH\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}" + - lang: Python + source: |- + import http.client + + conn = http.client.HTTPSConnection("api.confluent.cloud") + + headers = { 'Authorization': "Basic REPLACE_BASIC_AUTH" } + + conn.request("GET", "/byok/v1/keys?provider=AWS&state=IN_USE", headers=headers) + + res = conn.getresponse() + data = res.read() + + print(data.decode("utf-8")) + - lang: Node + source: |- + const http = require("https"); + + const options = { + "method": "GET", + "hostname": "api.confluent.cloud", + "port": null, + "path": "/byok/v1/keys?provider=AWS&state=IN_USE", + "headers": { + "Authorization": "Basic REPLACE_BASIC_AUTH" + } + }; + + const req = http.request(options, function (res) { + const chunks = []; + + res.on("data", function (chunk) { + chunks.push(chunk); + }); + + res.on("end", function () { + const body = Buffer.concat(chunks); + console.log(body.toString()); + }); + }); + + req.end(); + - lang: C + source: |- + CURL *hnd = curl_easy_init(); + + curl_easy_setopt(hnd, CURLOPT_CUSTOMREQUEST, "GET"); + curl_easy_setopt(hnd, CURLOPT_URL, "https://api.confluent.cloud/byok/v1/keys?provider=AWS&state=IN_USE"); + + struct curl_slist *headers = NULL; + headers = curl_slist_append(headers, "Authorization: Basic REPLACE_BASIC_AUTH"); + curl_easy_setopt(hnd, CURLOPT_HTTPHEADER, headers); + + CURLcode ret = curl_easy_perform(hnd); + - lang: C# + source: |- + var client = new RestClient("https://api.confluent.cloud/byok/v1/keys?provider=AWS&state=IN_USE"); + var request = new RestRequest(Method.GET); + request.AddHeader("Authorization", "Basic REPLACE_BASIC_AUTH"); + IRestResponse response = client.Execute(request); + post: + operationId: createByokV1Key + summary: Create a Key + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + Make a request to create a key. + tags: + - Keys (byok/v1) + security: + - cloud-api-key: [] + - confluent-sts-access-token: [] + requestBody: + content: + application/json: + schema: + allOf: + - $ref: '#/components/schemas/byok.v1.Key' + - type: object + required: + - key + responses: + '201': + description: A Key was created. + headers: + X-Request-Id: + schema: + type: string + description: The unique identifier for the API request. + X-RateLimit-Limit: + schema: + type: integer + description: The maximum number of requests you're permitted to make per time period. + X-RateLimit-Remaining: + schema: + type: integer + description: The number of requests remaining in the current rate limit window. + X-RateLimit-Reset: + schema: + type: integer + description: |- + The relative time in seconds until the current rate-limit window resets. + + **Important:** This differs from Github and Twitter's same-named header which uses UTC epoch seconds. We use relative time to avoid client/server time synchronization issues. + Location: + schema: + type: string + format: uri + example: 'https://api.confluent.cloud/byok/v1/keys/{id}' + description: Key resource uri + content: + application/json: + schema: + allOf: + - $ref: '#/components/schemas/byok.v1.Key' + - type: object + required: + - key + '400': + $ref: '#/components/responses/BadRequestError' + '401': + $ref: '#/components/responses/UnauthenticatedError' + '402': + $ref: '#/components/responses/OverQuotaError' + '403': + $ref: '#/components/responses/UnauthorizedError' + '409': + $ref: '#/components/responses/ConflictError' + '422': + $ref: '#/components/responses/ValidationError' + '429': + $ref: '#/components/responses/RateLimitError' + '500': + $ref: '#/components/responses/DefaultSystemError' + x-codeSamples: + - lang: Shell + source: |- + curl --request POST \ + --url https://api.confluent.cloud/byok/v1/keys \ + --header 'Authorization: Basic REPLACE_BASIC_AUTH' \ + --header 'content-type: application/json' \ + --data '{"key":{"key_arn":"arn:aws:kms:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab","kind":"AwsKey"}}' + - lang: Java + source: |- + OkHttpClient client = new OkHttpClient(); + + MediaType mediaType = MediaType.parse("application/json"); + RequestBody body = RequestBody.create(mediaType, "{\"key\":{\"key_arn\":\"arn:aws:kms:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab\",\"kind\":\"AwsKey\"}}"); + Request request = new Request.Builder() + .url("https://api.confluent.cloud/byok/v1/keys") + .post(body) + .addHeader("content-type", "application/json") + .addHeader("Authorization", "Basic REPLACE_BASIC_AUTH") + .build(); + + Response response = client.newCall(request).execute(); + - lang: Go + source: "package main\n\nimport (\n\t\"fmt\"\n\t\"strings\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.confluent.cloud/byok/v1/keys\"\n\n\tpayload := strings.NewReader(\"{\\\"key\\\":{\\\"key_arn\\\":\\\"arn:aws:kms:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab\\\",\\\"kind\\\":\\\"AwsKey\\\"}}\")\n\n\treq, _ := http.NewRequest(\"POST\", url, payload)\n\n\treq.Header.Add(\"content-type\", \"application/json\")\n\treq.Header.Add(\"Authorization\", \"Basic REPLACE_BASIC_AUTH\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}" + - lang: Python + source: |- + import http.client + + conn = http.client.HTTPSConnection("api.confluent.cloud") + + payload = "{\"key\":{\"key_arn\":\"arn:aws:kms:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab\",\"kind\":\"AwsKey\"}}" + + headers = { + 'content-type': "application/json", + 'Authorization': "Basic REPLACE_BASIC_AUTH" + } + + conn.request("POST", "/byok/v1/keys", payload, headers) + + res = conn.getresponse() + data = res.read() + + print(data.decode("utf-8")) + - lang: Node + source: |- + const http = require("https"); + + const options = { + "method": "POST", + "hostname": "api.confluent.cloud", + "port": null, + "path": "/byok/v1/keys", + "headers": { + "content-type": "application/json", + "Authorization": "Basic REPLACE_BASIC_AUTH" + } + }; + + const req = http.request(options, function (res) { + const chunks = []; + + res.on("data", function (chunk) { + chunks.push(chunk); + }); + + res.on("end", function () { + const body = Buffer.concat(chunks); + console.log(body.toString()); + }); + }); + + req.write(JSON.stringify({ + key: { + key_arn: 'arn:aws:kms:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab', + kind: 'AwsKey' + } + })); + req.end(); + - lang: C + source: |- + CURL *hnd = curl_easy_init(); + + curl_easy_setopt(hnd, CURLOPT_CUSTOMREQUEST, "POST"); + curl_easy_setopt(hnd, CURLOPT_URL, "https://api.confluent.cloud/byok/v1/keys"); + + struct curl_slist *headers = NULL; + headers = curl_slist_append(headers, "content-type: application/json"); + headers = curl_slist_append(headers, "Authorization: Basic REPLACE_BASIC_AUTH"); + curl_easy_setopt(hnd, CURLOPT_HTTPHEADER, headers); + + curl_easy_setopt(hnd, CURLOPT_POSTFIELDS, "{\"key\":{\"key_arn\":\"arn:aws:kms:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab\",\"kind\":\"AwsKey\"}}"); + + CURLcode ret = curl_easy_perform(hnd); + - lang: C# + source: |- + var client = new RestClient("https://api.confluent.cloud/byok/v1/keys"); + var request = new RestRequest(Method.POST); + request.AddHeader("content-type", "application/json"); + request.AddHeader("Authorization", "Basic REPLACE_BASIC_AUTH"); + request.AddParameter("application/json", "{\"key\":{\"key_arn\":\"arn:aws:kms:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab\",\"kind\":\"AwsKey\"}}", ParameterType.RequestBody); + IRestResponse response = client.Execute(request); + '/byok/v1/keys/{id}': + get: + operationId: getByokV1Key + summary: Read a Key + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + Make a request to read a key. + parameters: + - name: id + in: path + required: true + schema: + type: string + description: The unique identifier for the key. + tags: + - Keys (byok/v1) + security: + - cloud-api-key: [] + - confluent-sts-access-token: [] + responses: + '200': + description: Key. + content: + application/json: + schema: + allOf: + - $ref: '#/components/schemas/byok.v1.Key' + - type: object + required: + - api_version + - kind + - id + - key + - provider + - state + 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. + + **Important:** This differs from Github and Twitter's same-named header which uses UTC epoch seconds. We use relative time to avoid client/server time synchronization issues. + '400': + $ref: '#/components/responses/BadRequestError' + '401': + $ref: '#/components/responses/UnauthenticatedError' + '403': + $ref: '#/components/responses/UnauthorizedError' + '404': + $ref: '#/components/responses/NotFoundError' + '429': + $ref: '#/components/responses/RateLimitError' + '500': + $ref: '#/components/responses/DefaultSystemError' + x-codeSamples: + - lang: Shell + source: |- + curl --request GET \ + --url 'https://api.confluent.cloud/byok/v1/keys/{id}' \ + --header 'Authorization: Basic REPLACE_BASIC_AUTH' + - lang: Java + source: |- + OkHttpClient client = new OkHttpClient(); + + Request request = new Request.Builder() + .url("https://api.confluent.cloud/byok/v1/keys/{id}") + .get() + .addHeader("Authorization", "Basic REPLACE_BASIC_AUTH") + .build(); + + Response response = client.newCall(request).execute(); + - lang: Go + source: "package main\n\nimport (\n\t\"fmt\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.confluent.cloud/byok/v1/keys/{id}\"\n\n\treq, _ := http.NewRequest(\"GET\", url, nil)\n\n\treq.Header.Add(\"Authorization\", \"Basic REPLACE_BASIC_AUTH\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}" + - lang: Python + source: |- + import http.client + + conn = http.client.HTTPSConnection("api.confluent.cloud") + + headers = { 'Authorization': "Basic REPLACE_BASIC_AUTH" } + + conn.request("GET", "/byok/v1/keys/{id}", headers=headers) + + res = conn.getresponse() + data = res.read() + + print(data.decode("utf-8")) + - lang: Node + source: |- + const http = require("https"); + + const options = { + "method": "GET", + "hostname": "api.confluent.cloud", + "port": null, + "path": "/byok/v1/keys/{id}", + "headers": { + "Authorization": "Basic REPLACE_BASIC_AUTH" + } + }; + + const req = http.request(options, function (res) { + const chunks = []; + + res.on("data", function (chunk) { + chunks.push(chunk); + }); + + res.on("end", function () { + const body = Buffer.concat(chunks); + console.log(body.toString()); + }); + }); + + req.end(); + - lang: C + source: |- + CURL *hnd = curl_easy_init(); + + curl_easy_setopt(hnd, CURLOPT_CUSTOMREQUEST, "GET"); + curl_easy_setopt(hnd, CURLOPT_URL, "https://api.confluent.cloud/byok/v1/keys/{id}"); + + struct curl_slist *headers = NULL; + headers = curl_slist_append(headers, "Authorization: Basic REPLACE_BASIC_AUTH"); + curl_easy_setopt(hnd, CURLOPT_HTTPHEADER, headers); + + CURLcode ret = curl_easy_perform(hnd); + - lang: C# + source: |- + var client = new RestClient("https://api.confluent.cloud/byok/v1/keys/{id}"); + var request = new RestRequest(Method.GET); + request.AddHeader("Authorization", "Basic REPLACE_BASIC_AUTH"); + IRestResponse response = client.Execute(request); + delete: + operationId: deleteByokV1Key + summary: Delete a Key + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + Make a request to delete a key. + parameters: + - name: id + in: path + required: true + schema: + type: string + description: The unique identifier for the key. + tags: + - Keys (byok/v1) + security: + - cloud-api-key: [] + - confluent-sts-access-token: [] + responses: + '204': + description: A Key is being deleted. + headers: + X-Request-Id: + schema: + type: string + description: The unique identifier for the API request. + X-RateLimit-Limit: + schema: + type: integer + description: The maximum number of requests you're permitted to make per time period. + X-RateLimit-Remaining: + schema: + type: integer + description: The number of requests remaining in the current rate limit window. + X-RateLimit-Reset: + schema: + type: integer + description: |- + The relative time in seconds until the current rate-limit window resets. + + **Important:** This differs from Github and Twitter's same-named header which uses UTC epoch seconds. We use relative time to avoid client/server time synchronization issues. + '400': + $ref: '#/components/responses/BadRequestError' + '401': + $ref: '#/components/responses/UnauthenticatedError' + '403': + $ref: '#/components/responses/UnauthorizedError' + '404': + $ref: '#/components/responses/NotFoundError' + '429': + $ref: '#/components/responses/RateLimitError' + '500': + $ref: '#/components/responses/DefaultSystemError' + x-codeSamples: + - lang: Shell + source: |- + curl --request DELETE \ + --url 'https://api.confluent.cloud/byok/v1/keys/{id}' \ + --header 'Authorization: Basic REPLACE_BASIC_AUTH' + - lang: Java + source: |- + OkHttpClient client = new OkHttpClient(); + + Request request = new Request.Builder() + .url("https://api.confluent.cloud/byok/v1/keys/{id}") + .delete(null) + .addHeader("Authorization", "Basic REPLACE_BASIC_AUTH") + .build(); + + Response response = client.newCall(request).execute(); + - lang: Go + source: "package main\n\nimport (\n\t\"fmt\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.confluent.cloud/byok/v1/keys/{id}\"\n\n\treq, _ := http.NewRequest(\"DELETE\", url, nil)\n\n\treq.Header.Add(\"Authorization\", \"Basic REPLACE_BASIC_AUTH\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}" + - lang: Python + source: |- + import http.client + + conn = http.client.HTTPSConnection("api.confluent.cloud") + + headers = { 'Authorization': "Basic REPLACE_BASIC_AUTH" } + + conn.request("DELETE", "/byok/v1/keys/{id}", headers=headers) + + res = conn.getresponse() + data = res.read() + + print(data.decode("utf-8")) + - lang: Node + source: |- + const http = require("https"); + + const options = { + "method": "DELETE", + "hostname": "api.confluent.cloud", + "port": null, + "path": "/byok/v1/keys/{id}", + "headers": { + "Authorization": "Basic REPLACE_BASIC_AUTH" + } + }; + + const req = http.request(options, function (res) { + const chunks = []; + + res.on("data", function (chunk) { + chunks.push(chunk); + }); + + res.on("end", function () { + const body = Buffer.concat(chunks); + console.log(body.toString()); + }); + }); + + req.end(); + - lang: C + source: |- + CURL *hnd = curl_easy_init(); + + curl_easy_setopt(hnd, CURLOPT_CUSTOMREQUEST, "DELETE"); + curl_easy_setopt(hnd, CURLOPT_URL, "https://api.confluent.cloud/byok/v1/keys/{id}"); + + struct curl_slist *headers = NULL; + headers = curl_slist_append(headers, "Authorization: Basic REPLACE_BASIC_AUTH"); + curl_easy_setopt(hnd, CURLOPT_HTTPHEADER, headers); + + CURLcode ret = curl_easy_perform(hnd); + - lang: C# + source: |- + var client = new RestClient("https://api.confluent.cloud/byok/v1/keys/{id}"); + var request = new RestRequest(Method.DELETE); + request.AddHeader("Authorization", "Basic REPLACE_BASIC_AUTH"); + IRestResponse response = client.Execute(request); diff --git a/providers/src/confluent/v00.00.00000/services/flink_artifacts.yaml b/providers/src/confluent/v00.00.00000/services/flink_artifacts.yaml new file mode 100644 index 00000000..1a8a582b --- /dev/null +++ b/providers/src/confluent/v00.00.00000/services/flink_artifacts.yaml @@ -0,0 +1,4133 @@ +openapi: 3.0.0 +servers: + - url: 'https://api.confluent.cloud' + description: Confluent Cloud API +info: + version: '' + contact: + name: Confluent Cloud + url: 'https://www.confluent.io/cloud-contact-us/' + email: support@confluent.io + x-api-id: 46234552-5833-42eb-ba0f-883ad3f70d2b + x-audience: external-public + x-logo: + url: 'https://assets.confluent.io/m/5ec23aa91903c00b/' + title: Confluent Cloud APIs - flink_artifacts + description: flink_artifacts +tags: + - name: API Keys (iam/v2) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + `ApiKey` objects represent access to different parts of Confluent Cloud. Some types + of API keys represent access to a single cluster/resource such as a Kafka cluster, + Schema Registry cluster or a ksqlDB cluster. Cloud API Keys represent access to resources within an organization + that are not tied to a specific cluster, such as the Org API, IAM API, Metrics API or Connect API. + + The API allows you to list, create, update and delete your API Keys. + + + Related guide: [API Keys in Confluent Cloud](https://docs.confluent.io/cloud/current/client-apps/api-keys.html). + + ## The API Keys Model + + + ## Quotas and Limits + This resource is subject to the [following quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): + + | Quota | Description | + | --- | --- | + | `apikeys_per_org` | API Keys in one Confluent Cloud organization | + - name: Environments (org/v2) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + `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](https://docs.confluent.io/cloud/current/access-management/environments.html). + + ## The Environments Model + + + ## Quotas and Limits + This resource is subject to the [following quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): + + | Quota | Description | + | --- | --- | + | `environments_per_org` | Environments in one Confluent Cloud organization | + - name: Organizations (org/v2) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + `Organization` objects represent a customer organization. An organization contains all customer + resources (e.g., Environments, Kafka Clusters, Service Accounts, API Keys) and is tied to a billing + agreement (including any annual commitment or support plan). + + The API allows you to list, view, and update your organizations. + + + Related guide: [Organizations for Confluent Cloud](https://docs.confluent.io/cloud/current/access-management/hierarchy/organizations/cloud-organization.html). + + ## The Organizations Model + + + ## Quotas and Limits + This resource is subject to the [following quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): + + | Quota | Description | + | --- | --- | + | `organizations_per_user` | Confluent Cloud organizations a user belongs to | + - name: Users (iam/v2) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + `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](https://docs.confluent.io/cloud/current/access-management/user-account.html). + + ## The Users Model + + + ## Quotas and Limits + This resource is subject to the [following quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): + + | Quota | Description | + | --- | --- | + | `users_per_org` | Users in one Confluent Cloud organization | + - name: Service Accounts (iam/v2) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + `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](https://docs.confluent.io/cloud/current/access-management/service-account.html). + + ## The Service Accounts Model + + + ## Quotas and Limits + This resource is subject to the [following quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): + + | Quota | Description | + | --- | --- | + | `service_accounts_per_org` | Service Accounts in one Confluent Cloud organization | + - name: Invitations (iam/v2) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + `Invitation` objects represent invitations to invite users to join your organizations in Confluent Cloud. + + The API allows you to list all your invitations, as well as create, read, and delete a specified invitation. + + + Related guide: [User invitations in Confluent Cloud](https://docs.confluent.io/cloud/current/access-management/identity/user-accounts.html). + + ## The Invitations Model + + + ## Quotas and Limits + This resource is subject to the [following quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): + + | Quota | Description | + | --- | --- | + | `invitations_per_org` | Invitations in a Confluent Cloud organization | + - name: IP Groups (iam/v2) + description: |- + [![Limited Availability](https://img.shields.io/badge/Lifecycle%20Stage-Limited%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) [![Request Access To IP Groups API](https://img.shields.io/badge/-Request%20Access%20To%20IP%20Groups%20API-%23bc8540)](mailto:cloud-support@confluent.io?subject=Request%20to%20join%20IP%20Filtering%20API%20Limited%20Access&body=I%E2%80%99d%20like%20to%20join%20the%20Confluent%20Cloud%20API%20Limited%20Access%20for%20IP%20Filtering.%0AMy%20Cloud%20Organization%20ID%20is%20%3Cretrieve%20from%20https%3A//confluent.cloud/settings/billing/payment%3E.%0A) + + Definitions of networks which can be named and referred by IP blocks, commonly used to attach to IP Filter rules. + + + ## The IP Groups Model + + - name: IP Filters (iam/v2) + description: |- + [![Limited Availability](https://img.shields.io/badge/Lifecycle%20Stage-Limited%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) [![Request Access To IP Filters API](https://img.shields.io/badge/-Request%20Access%20To%20IP%20Filters%20API-%23bc8540)](mailto:ccloud-api-access+iam-v2-limited-availability@confluent.io?subject=Request%20to%20join%20iam/v2%20API%20Limited%20Availability&body=I%E2%80%99d%20like%20to%20join%20the%20Confluent%20Cloud%20API%20Limited%20Availability%20for%20iam/v2%20to%20provide%20early%20feedback%21%20My%20Cloud%20Organization%20ID%20is%20%3Cretrieve%20from%20https%3A//confluent.cloud/settings/billing/payment%3E.) + + `IP Filter` objects are bindings between IP Groups and Confluent resource(s). + For example, a binding between "CorpNet" and "Management APIs" will enforce that + access must come from one of the CIDR blocks associated with CorpNet. + If there are multiple IP filters bound to a resource, a request matching any of the CIDR blocks + for any of the IP Group will allow the request. + If there are no IP Filters for a resource, then access will be granted to requests originating + from any IP Address. + + + ## The IP Filters Model + + - name: Role Bindings (iam/v2) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + A role binding grants a Principal a role on resources that match a pattern. + + The API allows you to perform create, delete, and list operations on role bindings. + + + Related guide: [Role-Based Access Control (RBAC)](https://docs.confluent.io/cloud/current/access-management/access-control/cloud-rbac.html). + + ## The Role Bindings Model + + - name: Subscriptions (notifications/v1) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + `Subscription` objects represent the intent of the customers to get notifications of particular types. + A subscription is created for a particular `NotificationType` and the user will get notifications on the + `Integrations` that are provided while creating the subscription. + + This API allows you to create, retrieve, and update subscriptions, + as well as to view the list of all your subscriptions. You can also delete subscriptions + with RECOMMENDED or OPTIONAL notification types. Subscriptions with REQUIRED notification types cannot be deleted. + + + Related guide: [Cloud Notifications](https://docs.confluent.io/cloud/current/monitoring/configure-notifications.html#notifications-for-ccloud). + + ## The Subscriptions Model + + - name: Integrations (notifications/v1) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + You can create an `Integration` to specify how we can notify you when we receive an alert/notification for + a subscription. Please note that you can only perform create, update and delete operations for integrations + of type `Webhook`, `Slack` and `MsTeams`. You cannot create, update or delete integrations of type `RoleEmail` + and `UserEmail`. + + + Related guide: [Cloud Notifications](https://docs.confluent.io/cloud/current/monitoring/configure-notifications.html#notifications-for-ccloud). + + ## The Integrations Model + + + ## Quotas and Limits + This resource is subject to the [following quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): + + | Quota | Description | + | --- | --- | + | `integrations_per_org` | Maximum number of integrations in one Confluent Cloud organization | + - name: Notification Types (notifications/v1) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + The type of notifications (and their corresponding metadata) supported by Confluent. + + + Related guide: [Cloud Notifications](https://docs.confluent.io/cloud/current/monitoring/configure-notifications.html#notifications-for-ccloud). + + ## The Notification Types Model + + - name: Clusters (cmk/v2) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + `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](https://docs.confluent.io/cloud/current/clusters/cluster-api.html). + + ## The Clusters Model + + + ## Quotas and Limits + This resource is subject to the [following quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): + + | Quota | Description | + | --- | --- | + | `kafka_clusters_per_environment` | Number of clusters in one Confluent Cloud environment | + - name: Clusters (ksqldbcm/v2) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + `Cluster` represents a ksqlDB runtime that you can issue queries to using its API endpoint. + It executes SQL statements and queries which under the hood get built into corresponding + Kafka Streams topologies. The API allows you to list, create, read, and delete your ksqlDB clusters. + + + Related guide: [ksqlDB in Confluent Cloud](https://docs.confluent.io/cloud/current/ksqldb/ksqldb-cluster-api.html). + + ## The Clusters Model + + + ## Quotas and Limits + This resource is subject to the following quotas: + + | Quota | Description | + | --- | --- | + | `ksql.limits.max_apps_per_cluster` | Clusters in one Confluent Cloud Kafka Cluster. | + - name: Connectors (connect/v1) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + API for Managed Connectors or Custom Connectors in Confluent Cloud. + + The API allows you to list, create, get, update and delete a Managed Connector or Custom Connector in Confluent Cloud. + + Connect metrics are available through the [Metrics v2 API](https://api.telemetry.confluent.cloud/docs#tag/Version-2). + + Related guide: [Confluent Cloud API and Managed Connectors](https://docs.confluent.io/cloud/current/connectors/connect-api-section.html). + - name: Lifecycle (connect/v1) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + API for managing the lifecycle for a Managed Connector or Custom Connector in Confluent Cloud. Operations currently supported are Pause and Resume. + - name: Status (connect/v1) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + API for requesting the status or the tasks for a Managed Connector or Custom Connector in Confluent Cloud. + - name: Managed Connector Plugins (connect/v1) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + API for Managed connectors in Confluent Cloud. + - name: Offsets (connect/v1) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + API for managing the offsets for a Managed Connector. + + Related guide: [Manage Connector Offsets](https://docs.confluent.io/cloud/current/connectors/offsets.html#manage-offsets-for-fully-managed-connectors-in-ccloud) + - name: Custom Connector Plugins (connect/v1) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + CustomConnectorPlugins objects represent Custom Connector Plugins on Confluent Cloud. + The API allows you to list, create, read, update, and delete your Custom Connector Plugins. + Related guide: + [Custom Connector Plugin API](https://docs.confluent.io/cloud/current/connectors/connect-api-section.html). + + + ## The Custom Connector Plugins Model + + - name: Presigned Urls (connect/v1) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + Request a presigned upload URL for new Custom Connector Plugin. Note that + the URL policy expires in one hour. If the policy expires, you can request + a new presigned upload URL. + + Related guide: + [Custom Connector Plugin API](https://docs.confluent.io/cloud/current/connectors/connect-api-section.html). + + + ## The Presigned Urls Model + + - name: Cluster (v3) + description: '[![Generally Available](https://img.shields.io/badge/Lifecycle%20Stage-Generally%20Available-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy)' + - name: Configs (v3) + description: '[![Generally Available](https://img.shields.io/badge/Lifecycle%20Stage-Generally%20Available-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy)' + - name: ACL (v3) + description: '[![Generally Available](https://img.shields.io/badge/Lifecycle%20Stage-Generally%20Available-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy)' + - name: Consumer Group (v3) + description: '[![Generally Available](https://img.shields.io/badge/Lifecycle%20Stage-Generally%20Available-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy)' + - name: Partition (v3) + description: '[![Generally Available](https://img.shields.io/badge/Lifecycle%20Stage-Generally%20Available-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy)' + - name: Topic (v3) + description: '[![Generally Available](https://img.shields.io/badge/Lifecycle%20Stage-Generally%20Available-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy)' + - name: Records (v3) + description: '[![Generally Available](https://img.shields.io/badge/Lifecycle%20Stage-Generally%20Available-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy)' + - name: Cluster Linking (v3) + description: '[![Generally Available](https://img.shields.io/badge/Lifecycle%20Stage-Generally%20Available-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy)' + - name: Applied Quotas (service-quota/v1) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + A `quota` object represents a quota configuration for a specific Confluent Cloud resource. + Use this API to retrieve an individual quota or list of quotas for a given scope. + + + Related guide: [Service Quotas for Confluent Cloud](https://docs.confluent.io/cloud/current/quotas/index.html). + + ## The Applied Quotas Model + + - name: Scopes (service-quota/v1) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + Gets a list of all available scopes for applied quotas. + + + Related guide: [Quota Scopes](https://docs.confluent.io/cloud/current/quotas/quotas.html#query-for-scopes). + + ## The Scopes Model + + - name: Entitlements (partner/v2) + description: | + [![Early Access](https://img.shields.io/badge/Lifecycle%20Stage-Early%20Access-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) [![Request Access To Partner v2](https://img.shields.io/badge/-Request%20Access%20To%20Partner%20v2-%23bc8540)](mailto:ccloud-api-access+partner-v2-early-access@confluent.io?subject=Request%20to%20join%20partner/v2%20API%20Early%20Access&body=I%E2%80%99d%20like%20to%20join%20the%20Confluent%20Cloud%20API%20Early%20Access%20for%20partner/v2%20to%20provide%20early%20feedback%21%20My%20Cloud%20Organization%20ID%20is%20%3Cretrieve%20from%20https%3A//confluent.cloud/settings/billing/payment%3E.) + + `Entitlement` objects represent metadata about a marketplace entitlement. + + An entitlement includes metadata about a marketplace purchase + (start date, end date, billing information, partner IDs, etc). + The API allows partners to create, read, and list entitlements. (Unless you + need entitlement creation and customer registration to be separate, + we recommend using the Signup API to create an organization and entitlement + at the same time) + + The API only allows authorized partners to interact with the Entitlements API. + - name: Regions (srcm/v2) + description: |- + [![Deprecated](https://img.shields.io/badge/Lifecycle%20Stage-Deprecated-%23ff005c)](#section/Versioning/API-Lifecycle-Policy) + + `Region` objects represent cloud provider regions available when placing Schema Registry clusters. + The API allows you to list Schema Registry regions. + + + Related guides: + * [Confluent Cloud providers and region support](https://docs.confluent.io/cloud/current/stream-governance/packages.html#cloud-providers-and-region-support). + * [srcm/v3 Migration Guide](https://docs.confluent.io/cloud/current/stream-governance/packages.html#deprecation-of-srcm-v2-clusters-and-regions-apis-and-upgrade-guide). + + + ## The Regions Model + + - name: Clusters (srcm/v2) + description: |- + [![Deprecated](https://img.shields.io/badge/Lifecycle%20Stage-Deprecated-%23ff005c)](#section/Versioning/API-Lifecycle-Policy) + + `Clusters` objects represent Schema Registry Clusters on Confluent Cloud. + + The API allows you to list, create, read, and delete your Schema Registry clusters. + + + Related guides: + * [Confluent Cloud Schema Registry Cluster APIs](https://docs.confluent.io/cloud/current/stream-governance/clusters-regions-api.html#schema-registry-cluster-management). + * [srcm/v3 Migration Guide](https://docs.confluent.io/cloud/current/stream-governance/packages.html#deprecation-of-srcm-v2-clusters-and-regions-apis-and-upgrade-guide). + + + ## The Clusters Model + + - name: Clusters (srcm/v3) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + `Clusters` objects represent Schema Registry Clusters on Confluent Cloud. + + The API allows you to list and read your Schema Registry clusters. + + + Related guide: [Confluent Cloud Schema Registry Cluster APIs](https://docs.confluent.io/cloud/current/stream-governance/clusters-regions-api.html#schema-registry-cluster-management). + + ## The Clusters Model + + - name: Compatibility (v1) + description: |- + [![Generally Available](https://img.shields.io/badge/Lifecycle%20Stage-Generally%20Available-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + The API allows you to test schema compatibility. + + Related guide: [Manage Schemas in Confluent Cloud](https://docs.confluent.io/cloud/current/sr/schemas-manage.html#manage-schemas-in-ccloud). + - name: Config (v1) + description: |- + [![Generally Available](https://img.shields.io/badge/Lifecycle%20Stage-Generally%20Available-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + The API allows you to manage and query schema compatibility settings and cluster configurations. + + Related guide: [Manage Schemas in Confluent Cloud](https://docs.confluent.io/cloud/current/sr/schemas-manage.html#manage-schemas-in-ccloud). + - name: Contexts (v1) + description: |- + [![Generally Available](https://img.shields.io/badge/Lifecycle%20Stage-Generally%20Available-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + The API allows you to retrieve information about schema contexts. + + Related guide: [Manage Schemas in Confluent Cloud](https://docs.confluent.io/cloud/current/sr/schemas-manage.html#manage-schemas-in-ccloud). + - name: Exporters (v1) + description: |- + [![Generally Available](https://img.shields.io/badge/Lifecycle%20Stage-Generally%20Available-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + The API allows you to create, retrieve, update, and delete exporters. + + Related guide: [Manage Schemas in Confluent Cloud](https://docs.confluent.io/cloud/current/sr/schemas-manage.html#manage-schemas-in-ccloud). + - name: Modes (v1) + description: |- + [![Generally Available](https://img.shields.io/badge/Lifecycle%20Stage-Generally%20Available-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + The API allows you to create, retrieve, update, and delete schema subjects modes of operation. + + Related guide: [Manage Schemas in Confluent Cloud](https://docs.confluent.io/cloud/current/sr/schemas-manage.html#manage-schemas-in-ccloud). + - name: Schemas (v1) + description: |- + [![Generally Available](https://img.shields.io/badge/Lifecycle%20Stage-Generally%20Available-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + The API allows you to create, retrieve, update, and delete schemas. + + Related guide: [Manage Schemas in Confluent Cloud](https://docs.confluent.io/cloud/current/sr/schemas-manage.html#manage-schemas-in-ccloud). + - name: Subjects (v1) + description: |- + [![Generally Available](https://img.shields.io/badge/Lifecycle%20Stage-Generally%20Available-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + The API allows you to create, retrieve, update, and delete schema subjects and versions. + + Related guide: [Manage Schemas in Confluent Cloud](https://docs.confluent.io/cloud/current/sr/schemas-manage.html#manage-schemas-in-ccloud). + - name: Key Encryption Keys (v1) + description: |- + [![Generally Available](https://img.shields.io/badge/Lifecycle%20Stage-Generally%20Available-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + The API allows you to create, retrieve, update, and delete key encryption keys. + + Related guide: [Manage Schemas in Confluent Cloud](https://docs.confluent.io/cloud/current/sr/schemas-manage.html#manage-schemas-in-ccloud). + - name: Data Encryption Keys (v1) + description: |- + [![Generally Available](https://img.shields.io/badge/Lifecycle%20Stage-Generally%20Available-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + The API allows you to create, retrieve, update, and delete data encryption keys. + + Related guide: [Manage Schemas in Confluent Cloud](https://docs.confluent.io/cloud/current/sr/schemas-manage.html#manage-schemas-in-ccloud). + - name: Entity (v1) + description: |- + [![Generally Available](https://img.shields.io/badge/Lifecycle%20Stage-Generally%20Available-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + The API allows you to create, retrieve, update, and delete catalog entities. + + Related guide: [Catalog API Documentation](https://docs.confluent.io/cloud/current/stream-governance/stream-catalog.html#catalog-api-documentation). + - name: Search (v1) + description: |- + [![Generally Available](https://img.shields.io/badge/Lifecycle%20Stage-Generally%20Available-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + The API allows you to search for entities. + + Related guide: [Catalog API Documentation](https://docs.confluent.io/cloud/current/stream-governance/stream-catalog.html#catalog-api-documentation). + - name: Types (v1) + description: |- + [![Generally Available](https://img.shields.io/badge/Lifecycle%20Stage-Generally%20Available-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + The API allows you to create, retrieve, update, and delete catalog types such as tag definitions. + + Related guide: [Catalog API Documentation](https://docs.confluent.io/cloud/current/stream-governance/stream-catalog.html#catalog-api-documentation). + - name: Provider Shared Resources (cdx/v1) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + `ProviderSharedResource` object contains details of the data stream + (topic, schema registry subjects, sharing metadata) that you have shared through Stream Sharing. + + + ## The Provider Shared Resources Model + + - name: Provider Shares (cdx/v1) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + `ProviderShare` object respresents the share that you have created through Stream Sharing. + + + Related guide: [Provider Stream Shares in Confluent Cloud](https://docs.confluent.io/cloud/current/stream-sharing/produce-shared-data.html#stream-shares). + + ## The Provider Shares Model + + - name: Consumer Shared Resources (cdx/v1) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + `ConsumerSharedResource` object contains details of the data stream + (topic, schema registry subjects, sharing metadata) that you received through Stream Sharing. + + + ## The Consumer Shared Resources Model + + - name: Consumer Shares (cdx/v1) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + `ConsumerShare` object respresents the share that you received through Stream Sharing. + + + Related guide: [Consumer Stream Shares in Confluent Cloud](https://docs.confluent.io/cloud/current/stream-sharing/consume-shared-data.html). + + ## The Consumer Shares Model + + - name: Shared Tokens (cdx/v1) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + Encrypted Token shared with consumer + + + ## The Shared Tokens Model + + - name: Opt Ins (cdx/v1) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + Stream sharing opt in options + + ## The Opt Ins Model + + - name: Organizations (partner/v2) + description: | + [![Early Access](https://img.shields.io/badge/Lifecycle%20Stage-Early%20Access-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) [![Request Access To Partner v2](https://img.shields.io/badge/-Request%20Access%20To%20Partner%20v2-%23bc8540)](mailto:ccloud-api-access+partner-v2-early-access@confluent.io?subject=Request%20to%20join%20partner/v2%20API%20Early%20Access&body=I%E2%80%99d%20like%20to%20join%20the%20Confluent%20Cloud%20API%20Early%20Access%20for%20partner/v2%20to%20provide%20early%20feedback%21%20My%20Cloud%20Organization%20ID%20is%20%3Cretrieve%20from%20https%3A//confluent.cloud/settings/billing/payment%3E.) + + `Organizations` objects represent an entire Confluent Cloud organization. + Partners are allowed to get an organization they have signed up or + list all organizations they have signed up. + - name: Signup (partner/v2) + description: | + [![Early Access](https://img.shields.io/badge/Lifecycle%20Stage-Early%20Access-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) [![Request Access To Partner v2](https://img.shields.io/badge/-Request%20Access%20To%20Partner%20v2-%23bc8540)](mailto:ccloud-api-access+partner-v2-early-access@confluent.io?subject=Request%20to%20join%20partner/v2%20API%20Early%20Access&body=I%E2%80%99d%20like%20to%20join%20the%20Confluent%20Cloud%20API%20Early%20Access%20for%20partner/v2%20to%20provide%20early%20feedback%21%20My%20Cloud%20Organization%20ID%20is%20%3Cretrieve%20from%20https%3A//confluent.cloud/settings/billing/payment%3E.) + + `Signup` APIs can only be performed by partners. + - name: Networks (networking/v1) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + `Network` represents a network (VPC) in Confluent Cloud. All Networks exist within Confluent-managed cloud + provider accounts. Dedicated networks support more networking options but can only contain Dedicated clusters. + Shared networks can contain any cluster type. + + The API allows you to list, create, read, update, and delete your networks. + + + Related guide: [APIs to manage networks in Confluent Cloud](https://docs.confluent.io/cloud/current/networking/overview.html). + + ## The Networks Model + + + ## Quotas and Limits + This resource is subject to the [following quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): + + | Quota | Description | + | --- | --- | + | `dedicated_networks_per_environment` | Number of dedicated networks per Confluent Cloud environment | + - name: Peerings (networking/v1) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + Add or remove VPC/VNet peering connections between your VPC/VNet and Confluent Cloud. + + Related guides: + * [Use VPC peering connections with Confluent Cloud on AWS](https://docs.confluent.io/cloud/current/networking/peering/aws-peering.html). + * [Use VNet peering connections with Confluent Cloud on Azure](https://docs.confluent.io/cloud/current/networking/peering/azure-peering.html). + * [Use VPC peering connections with Confluent Cloud on Google Cloud](https://docs.confluent.io/cloud/current/networking/peering/gcp-peering.html). + + + ## The Peerings Model + + + ## Quotas and Limits + This resource is subject to the [following quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): + + | Quota | Description | + | --- | --- | + | `peerings_per_network` | Number of peerings per network | + - name: Transit Gateway Attachments (networking/v1) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + AWS Transit Gateway Attachments + + Related guide: [APIs to manage AWS Transit Gateway Attachments](https://docs.confluent.io/cloud/current/networking/aws-transit-gateway.html). + + ## The Transit Gateway Attachments Model + + + ## Quotas and Limits + This resource is subject to the [following quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): + + | Quota | Description | + | --- | --- | + | `tgw_attachments_per_network` | Number of TGW attachments per network | + - name: Private Link Accesses (networking/v1) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + Add or remove access to PrivateLink endpoints by AWS account, Azure subscription and GCP project ID. + + Related guides: + * [Use Google Cloud Private Service Connect with Confluent Cloud](https://docs.confluent.io/cloud/current/networking/private-links/gcp-private-service-connect.html). + * [Use Azure Private Link with Confluent Cloud](https://docs.confluent.io/cloud/current/networking/private-links/azure-privatelink.html). + * [Use AWS PrivateLink with Confluent Cloud](https://docs.confluent.io/cloud/current/networking/private-links/aws-privatelink.html). + + + ## The Private Link Accesses Model + + + ## Quotas and Limits + This resource is subject to the [following quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): + + | Quota | Description | + | --- | --- | + | `private_link_accounts_per_network` | Number of AWS accounts per network | + | `private_link_subscriptions_per_network` | Number of Azure subscriptions per network | + | `private_service_connect_projects_per_network` | Number of GCP projects per network | + - name: Network Link Services (networking/v1) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + Network Link Service is associated with a Private Link Confluent Cloud Network. + It enables connectivity from other Private Link Confluent Cloud Networks based on + the configured accept policies. + + + Related guide: [Network Linking Overview](https://docs.confluent.io/cloud/current/networking/network-linking.html). + + ## The Network Link Services Model + + + ## Quotas and Limits + This resource is subject to the [following quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): + + | Quota | Description | + | --- | --- | + | `network_link_service_per_network` | Number of network link services per network | + - name: Network Link Endpoints (networking/v1) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + A Network Link Enpoint is associated with a Private Link Confluent Cloud Network at the origin and a + Network Link Service (associated with another Private Link Confluent Cloud Network) at the target. + It enables connectivity between the origin network and the target network. + It can only be associated with a Private Link network. + + + Related guide: [Network Linking Overview](https://docs.confluent.io/cloud/current/networking/network-linking.html). + + ## The Network Link Endpoints Model + + + ## Quotas and Limits + This resource is subject to the [following quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): + + | Quota | Description | + | --- | --- | + | `network_link_endpoints_per_network` | Number of network link endpoints per network | + - name: Network Link Service Associations (networking/v1) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + List of incoming Network Link Enpoints associated with the Network Link Service. + + + Related guide: [Network Linking Overview](https://docs.confluent.io/cloud/current/networking/network-linking.html). + + ## The Network Link Service Associations Model + + - name: Gateways (networking/v1) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + A gateway is a resource that defines network access to Confluent cloud resources. + + + ## The Gateways Model + + - name: IP Addresses (networking/v1) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + IP Addresses + + Related guide: [Use Public Egress IP addresses on Confluent Cloud](https://docs.confluent.io/cloud/current/networking/static-egress-ip-addresses.html) + + ## The IP Addresses Model + + - name: Private Link Attachments (networking/v1) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + PrivateLink attachment objects represent reservations to establish PrivateLink connections + to a cloud region in order to access resources that belong to a Confluent Cloud Environment. + The API allows you to list, create, read update and delete your PrivateLink attachments. + + + ## The Private Link Attachments Model + + + ## Quotas and Limits + This resource is subject to the [following quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): + + | Quota | Description | + | --- | --- | + | `private_link_attachments_per_environment` | Number of PrivateLink Attachments per environment | + - name: Private Link Attachment Connections (networking/v1) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + PrivateLink attachment connection objects represent connections established to a cloud region + in order to access resources that belong to a Confluent Cloud Environment. + The API allows you to list, create, read update and delete your PrivateLink attachment connections. + + + ## The Private Link Attachment Connections Model + + - name: Identity Providers (iam/v2) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + `IdentityProvider` objects represent external OAuth-OIDC providers in Confluent Cloud. + + The API allows you to list, create, read, update, and delete your Identity Provider. + + + Related guide: [OAuth for Confluent Cloud](https://docs.confluent.io/cloud/current/access-management/authenticate/oauth/overview.html). + + ## The Identity Providers Model + + + ## Quotas and Limits + This resource is subject to the [following quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): + + | Quota | Description | + | --- | --- | + | `identity_providers_per_org` | Number of OAuth identity providers per organization | + | `public_keys_per_provider` | Number of public keys saved per identity provider | + - name: Jwks (iam/v2) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + `JWKS` objects represent public key sets for a specific OAuth/OpenID Connect provider within + Confluent Cloud. + + The API allows you to refresh JWKS public key data. + + + Related guide: [OAuth for Confluent Cloud](https://docs.confluent.io/cloud/current/access-management/authenticate/oauth/overview.html). + + ## The Jwks Model + + - name: Identity Pools (iam/v2) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + `IdentityPool` objects represent groups of identities tied to a given a `IdentityProvider` + that authorizes them to Confluent Cloud resources. + + It provides a mapping functionality of your `Identity Provider` user to a Confluent identity pool that + is then used to provide access to Confluent Resources. + + + Related guide: [Use identity pools with your OAuth provider](https://docs.confluent.io/cloud/current/access-management/authenticate/oauth/identity-pools.html). + + ## The Identity Pools Model + + + ## Quotas and Limits + This resource is subject to the [following quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): + + | Quota | Description | + | --- | --- | + | `identity_pools_per_provider` | Number of Identity Pools per Identity Provider | + - name: OAuth Tokens (sts/v1) + description: | + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + OAuth Token is a [JSON Web Token (JWT)](https://www.rfc-editor.org/rfc/rfc7519) that enables the use of + external identities to access Confluent Cloud APIs + - name: Client Quotas (kafka-quotas/v1) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + `ClientQuota` objects represent Client Quotas you can set at the service account level. + + The API allows you to list, create, read, update, and delete your client quotas. + + + Related guide: [Client Quotas in Confluent Cloud](https://docs.confluent.io/cloud/current/clusters/client-quotas.html). + + ## The Client Quotas Model + + - name: Pipelines (sd/v1) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + `Pipeline` objects represent information about a user-defined pipeline of Confluent Cloud components. + The pipeline's content is available separately. + + The API allows you to create, retrieve, update, and delete your pipelines, + as well as list all of your pipelines for the particular environment and Kafka cluster. + + + Related guide: [Pipelines in Confluent Cloud](https://docs.confluent.io/cloud/current/stream-designer/). + + ## The Pipelines Model + + + ## Quotas and Limits + This resource is subject to the [following quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): + + | Quota | Description | + | --- | --- | + | `pipelines_per_org` | Pipelines in one Confluent Cloud organization | + | `pipelines_per_cluster` | Pipelines in one Confluent Cloud Kafka cluster | + - name: Keys (byok/v1) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + `Key` objects represent customer managed keys on dedicated Confluent Cloud clusters. + + Keys are used to protect data at rest stored in your dedicated Confluent Cloud clusters on AWS, Azure, and GCP. + This API allows you to upload and retrieve self-managed keys on Confluent Cloud. + + + Related guide: [Confluent Cloud Bring Your Own Key (BYOK) Management API](https://docs.confluent.io/cloud/current/clusters/byok/index.html). + + ## The Keys Model + + + ## Quotas and Limits + This resource is subject to the [following quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): + + | Quota | Description | + | --- | --- | + | `byok.max_keys.per_org` | BYOK keys in one Confluent Cloud organisation. | + - name: Costs (billing/v1) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + `Cost` objects represent the aggregated billing costs for an organization + + + Related guide: [Retrieve costs for a range of dates](https://docs.confluent.io/cloud/current/billing/overview.html#retrieve-costs-for-a-range-of-dates). + + ## The Costs Model + + - name: Group Mappings (iam/v2/sso) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + `GroupMapping` objects establish relationships between user groups in your SSO + identity provider and specific RBAC roles in Confluent Cloud. + + Group mappings enable automated and secure access control to Confluent Cloud resources, + reducing administrative workload by streamlining user provisioning and authorization. + + + Related guide: [Use group mappings with your SSO identity provider](https://docs.confluent.io/cloud/current/access-management/authenticate/sso/group-mapping/overview.html). + + ## The Group Mappings Model + + + ## Quotas and Limits + This resource is subject to the [following quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): + + | Quota | Description | + | --- | --- | + | `group_mappings_per_org` | Number of group mappings per organization | + - name: Compute Pools (fcpm/v2) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + A Compute Pool represents a set of compute resources that is used to run your Queries. + The resources (CPUs, memory,…) provided by a Compute Pool are shared between all Queries that use it. + + + ## The Compute Pools Model + + - name: Regions (fcpm/v2) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + `Region` objects represent cloud provider regions available when placing Flink compute pools. + The API allows you to list Flink regions. + + + ## The Regions Model + + - name: Statements (sql/v1) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + `Statement` represents a core resource used to model SQL statements for execution. + A statement generalizes DDL, DML, DQL, etc., but doesn’t attempt to handle session + management or any higher-level functionality. + The API allows you to list, create, read, and delete your statements. + ## The Statements Model + + - name: Statement Results (sql/v1) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + `StatementResult` represents a result of a `Statement` resource. + The API allows you to read your statement's results. + ## The Statement Results Model + + - name: Statement Exceptions (sql/v1) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + `StatementException` represents an exception of a `Statement` resource. + The API allows you to read your statement's exceptions. + ## The Statement Exceptions Model + + - name: Connections (sql/v1) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + `Connection` represents a core resource used to model SQL connections for execution. + A connection generalizes DDL, DML, DQL, etc., but doesn’t attempt to handle session + management or any higher-level functionality. + The API allows you to list, create, read, and delete your connections. + ## The Connections Model + + - name: DNS Forwarders (networking/v1) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + Add, remove, and update DNS forwarder for your gateway. + + Related guides: + * [Use VPC peering connections with Confluent Cloud on AWS](https://docs.confluent.io/cloud/current/networking/peering/aws-peering.html). + * [Use VNet peering connections with Confluent Cloud on Azure](https://docs.confluent.io/cloud/current/networking/peering/azure-peering.html). + + + ## The DNS Forwarders Model + + - name: Access Points (networking/v1) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + AccessPoint objects represent network connections in and out of Gateways. + This API allows you to list, create, read, update, and delete your access points. + + + ## The Access Points Model + + - name: DNS Records (networking/v1) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + DNS record objects are associated with Confluent Cloud networking resources. This API allows you to list, create, read, update, and delete your DNS records. + + ## The DNS Records Model + + - name: Certificate Authorities (iam/v2) + description: |- + [![Limited Availability](https://img.shields.io/badge/Lifecycle%20Stage-Limited%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + `CertificateAuthority` objects represent signing certificate authorities in Confluent Cloud. + + The API allows you to list, create, read, update, and delete your Certificate Authority. + + + Related guide: [Manage certificate authorities used for client authentication with X.509 certificates.](https://docs.confluent.io/cloud/current/access-management/authenticate/mtls/overview.html). + + ## The Certificate Authorities Model + + + ## Quotas and Limits + This resource is subject to the [following quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): + + | Quota | Description | + | --- | --- | + | `certificate_authorities_per_org` | Number of certificate authorities per organization | + - name: Certificate Identity Pools (iam/v2) + description: |- + [![Limited Availability](https://img.shields.io/badge/Lifecycle%20Stage-Limited%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + `Identitypool` objects represent workload identities in Confluent Cloud. + + The API allows you to list, create, read, update, and delete your identity pools associated + with Certificate Authorities + + + Related guide: [Manage Certificate Identity Pools for Granular Client Access Management](https://docs.confluent.io/cloud/current/access-management/authenticate/mtls/configure.html#step-2-create-certificate-identity-pools-for-granular-access-control). + + ## The Certificate Identity Pools Model + + + ## Quotas and Limits + This resource is subject to the [following quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): + + | Quota | Description | + | --- | --- | + | `identity_pools_per_certificate_authority` | Number of Identity Pools per Certificate Authority | + - name: Integrations (pim/v1) + description: |- + [![Early Access](https://img.shields.io/badge/Lifecycle%20Stage-Early%20Access-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) [![Request Access To Provider Integration](https://img.shields.io/badge/-Request%20Access%20To%20Provider%20Integration-%23bc8540)](mailto:ccloud-api-access+pim-v1-early-access@confluent.io?subject=Request%20to%20join%20pim/v1%20API%20Early%20Access&body=I%E2%80%99d%20like%20to%20join%20the%20Confluent%20Cloud%20API%20Early%20Access%20for%20pim/v1%20to%20provide%20early%20feedback%21%20My%20Cloud%20Organization%20ID%20is%20%3Cretrieve%20from%20https%3A//confluent.cloud/settings/billing/payment%3E.) + + `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, and delete individual integrations, and also obtain a + list of all your provider integrations. + + + Related guide: [Provider Integration in Confluent Cloud](https://docs.confluent.io/home/overview.html). + + ## The Integrations Model + + - name: Flink Artifacts (artifact/v1) + description: |- + [![Early Access](https://img.shields.io/badge/Lifecycle%20Stage-Early%20Access-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) [![Request Access To Flink Artifact API EA](https://img.shields.io/badge/-Request%20Access%20To%20Flink%20Artifact%20API%20EA-%23bc8540)](mailto:ccloud-api-access+artifact-v1-early-access@confluent.io?subject=Request%20to%20join%20artifact/v1%20API%20Early%20Access&body=I%E2%80%99d%20like%20to%20join%20the%20Confluent%20Cloud%20API%20Early%20Access%20for%20artifact/v1%20to%20provide%20early%20feedback%21%20My%20Cloud%20Organization%20ID%20is%20%3Cretrieve%20from%20https%3A//confluent.cloud/settings/billing/payment%3E.) + + FlinkArtifact objects represent Flink Artifacts on Confluent Cloud. + + + ## The Flink Artifacts Model + + - name: Presigned Urls (artifact/v1) + description: |- + [![Early Access](https://img.shields.io/badge/Lifecycle%20Stage-Early%20Access-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) [![Request Access To Flink Artifact API EA](https://img.shields.io/badge/-Request%20Access%20To%20Flink%20Artifact%20API%20EA-%23bc8540)](mailto:ccloud-api-access+artifact-v1-early-access@confluent.io?subject=Request%20to%20join%20artifact/v1%20API%20Early%20Access&body=I%E2%80%99d%20like%20to%20join%20the%20Confluent%20Cloud%20API%20Early%20Access%20for%20artifact/v1%20to%20provide%20early%20feedback%21%20My%20Cloud%20Organization%20ID%20is%20%3Cretrieve%20from%20https%3A//confluent.cloud/settings/billing/payment%3E.) + + Request a presigned upload URL for new Flink Artifact. Note that + the URL policy expires in one hour. If the policy expires, you can request + a new presigned upload URL. + + + ## The Presigned Urls Model + + - name: Flink Artifact Versions (artifact/v1) + description: |- + [![Early Access](https://img.shields.io/badge/Lifecycle%20Stage-Early%20Access-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) [![Request Access To Flink Artifact API EA](https://img.shields.io/badge/-Request%20Access%20To%20Flink%20Artifact%20API%20EA-%23bc8540)](mailto:ccloud-api-access+artifact-v1-early-access@confluent.io?subject=Request%20to%20join%20artifact/v1%20API%20Early%20Access&body=I%E2%80%99d%20like%20to%20join%20the%20Confluent%20Cloud%20API%20Early%20Access%20for%20artifact/v1%20to%20provide%20early%20feedback%21%20My%20Cloud%20Organization%20ID%20is%20%3Cretrieve%20from%20https%3A//confluent.cloud/settings/billing/payment%3E.) + + FlinkArtifactVersion objects represent Flink Artifact Versions on Confluent Cloud. + + + ## The Flink Artifact Versions Model + +components: + schemas: + SearchFilter: + description: Filter a collection by a string search + type: string + artifact.v1.FlinkArtifactList: + type: object + description: |- + FlinkArtifact objects represent Flink Artifacts on Confluent Cloud. + + + ## The Flink Artifacts Model + + required: + - api_version + - kind + - metadata + - data + properties: + api_version: + type: string + enum: + - artifact/v1 + 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: + - FlinkArtifactList + metadata: + allOf: + - $ref: '#/components/schemas/ListMeta' + - properties: + first: + example: 'https://api.confluent.cloud/artifact/v1/flink-artifacts' + last: + example: 'https://api.confluent.cloud/artifact/v1/flink-artifacts?page_token=bcAOehAY8F16YD84Z1wT' + prev: + example: 'https://api.confluent.cloud/artifact/v1/flink-artifacts?page_token=YIXRY97wWYmwzrax4dld' + next: + example: 'https://api.confluent.cloud/artifact/v1/flink-artifacts?page_token=UvmDWOB1iwfAIBPj6EYb' + data: + type: array + description: A data property that contains an array of resource items. Each entry in the array is a separate resource. + items: + allOf: + - $ref: '#/components/schemas/artifact.v1.FlinkArtifact' + - type: object + required: + - id + - metadata + - cloud + - region + - environment + - class + - display_name + uniqueItems: true + ListMeta: + type: object + description: ListMeta describes metadata that resource collections may have + properties: + first: + description: 'A link to the first page of results. If a response does not contain a first link, then direct navigation to the first page is not supported.' + type: string + 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 + artifact.v1.FlinkArtifact: + type: object + description: |- + FlinkArtifact objects represent Flink Artifacts on Confluent Cloud. + + + ## The Flink Artifacts Model + + properties: + api_version: + type: string + enum: + - artifact/v1 + 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: + - FlinkArtifact + 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 + metadata: + allOf: + - $ref: '#/components/schemas/ObjectMeta' + - properties: + self: + example: 'https://api.confluent.cloud/artifact/v1/flink-artifacts/fa-12345' + resource_name: + example: 'crn://confluent.cloud/organization=9bb441c4-edef-46ac-8a41-c49e44a3fd9a/flink-artifact=fa-12345' + cloud: + type: string + description: Cloud provider where the Flink Artifact archive is uploaded. + example: AWS + maxLength: 60 + x-extensible-enum: + - AWS + - GCP + - AZURE + region: + type: string + description: The Cloud provider region the Flink Artifact archive is uploaded. + example: us-east-1 + maxLength: 60 + environment: + type: string + description: Environment the Flink Artifact belongs to. + example: env-00000 + maxLength: 255 + display_name: + type: string + description: Display name of the Flink Artifact. + maxLength: 60 + class: + type: string + description: Java class or alias for the artifact as provided by developer. + maxLength: 150 + pattern: '^(([a-zA-Z][a-zA-Z_$0-9]*(\.[a-zA-Z][a-zA-Z_$0-9]*)*)\.)?([a-zA-Z][a-zA-Z_$0-9]*)$' + example: io.confluent.example.SumScalarFunction + x-immutable: true + content_format: + type: string + description: Archive format of the Flink Artifact. + example: JAR + x-extensible-enum: + - ZIP + - JAR + description: + type: string + description: Description of the Flink Artifact. + maxLength: 256 + documentation_link: + type: string + description: Document link of the Flink Artifact. + maxLength: 512 + pattern: '^$|^(http://|https://).+' + runtime_language: + type: string + description: Runtime language of the Flink Artifact. + example: JAVA + default: JAVA + x-extensible-enum: + - JAVA + - PYTHON + versions: + type: array + description: Versions associated with this Flink Artifact. + items: + $ref: '#/components/schemas/artifact.v1.FlinkArtifactVersion' + AclOperation: + type: string + x-extensible-enum: + - UNKNOWN + - ANY + - ALL + - READ + - WRITE + - CREATE + - DELETE + - ALTER + - DESCRIBE + - CLUSTER_ACTION + - DESCRIBE_CONFIGS + - ALTER_CONFIGS + - IDEMPOTENT_WRITE + AclPatternType: + type: string + x-extensible-enum: + - UNKNOWN + - ANY + - MATCH + - LITERAL + - PREFIXED + AclPermission: + type: string + x-extensible-enum: + - UNKNOWN + - ANY + - DENY + - ALLOW + AclResourceType: + type: string + enum: + - UNKNOWN + - ANY + - TOPIC + - GROUP + - CLUSTER + - TRANSACTIONAL_ID + - DELEGATION_TOKEN + BrokerTaskType: + type: string + enum: + - add-broker + - remove-broker + MirrorTopicStatus: + enum: + - ACTIVE + - FAILED + - LINK_FAILED + - LINK_PAUSED + - PAUSED + - PENDING_STOPPED + - SOURCE_UNAVAILABLE + - STOPPED + - PENDING_MIRROR + - PENDING_SYNCHRONIZE + - PENDING_SETUP_FOR_RESTORE + - PENDING_RESTORE + type: string + Failure: + type: object + description: Provides information about problems encountered while performing an operation. + required: + - errors + properties: + errors: + description: List of errors which caused this operation to fail + type: array + items: + $ref: '#/components/schemas/Error' + uniqueItems: true + AlterConfigBatchRequestData: + type: object + required: + - data + properties: + data: + type: array + items: + type: object + required: + - name + properties: + name: + type: string + value: + type: string + nullable: true + operation: + type: string + x-extensible-enum: + - SET + - DELETE + nullable: true + validate_only: + type: boolean + CreateAclRequestData: + type: object + required: + - resource_type + - resource_name + - pattern_type + - principal + - host + - operation + - permission + properties: + resource_type: + $ref: '#/components/schemas/AclResourceType' + resource_name: + type: string + pattern_type: + $ref: '#/components/schemas/AclPatternType' + principal: + type: string + host: + type: string + operation: + $ref: '#/components/schemas/AclOperation' + permission: + $ref: '#/components/schemas/AclPermission' + CreateAclRequestDataList: + allOf: + - type: object + required: + - data + properties: + data: + type: array + items: + $ref: '#/components/schemas/CreateAclRequestData' + CreateTopicRequestData: + type: object + required: + - topic_name + properties: + topic_name: + type: string + partitions_count: + type: integer + replication_factor: + type: integer + configs: + type: array + items: + type: object + required: + - name + properties: + name: + type: string + value: + type: string + nullable: true + validate_only: + type: boolean + ProduceRequest: + type: object + properties: + partition_id: + type: integer + nullable: true + format: int32 + headers: + type: array + items: + $ref: '#/components/schemas/ProduceRequestHeader' + key: + $ref: '#/components/schemas/ProduceRequestData' + value: + $ref: '#/components/schemas/ProduceRequestData' + timestamp: + type: string + format: date-time + nullable: true + UpdateConfigRequestData: + type: object + properties: + value: + type: string + nullable: true + CreateLinkRequestData: + properties: + source_cluster_id: + type: string + destination_cluster_id: + type: string + remote_cluster_id: + description: The expected remote cluster ID. + type: string + cluster_link_id: + description: 'The expected cluster link ID. Can be provided when creating the second side of a bidirectional link for validating the link ID is as expected. If it''s not provided, it''s inferred from the remote cluster.' + type: string + configs: + items: + $ref: '#/components/schemas/ConfigData' + type: array + type: object + UpdateLinkConfigRequestData: + properties: + value: + type: string + required: + - value + type: object + CreateMirrorTopicRequestData: + properties: + source_topic_name: + type: string + mirror_topic_name: + type: string + replication_factor: + type: integer + configs: + type: array + items: + $ref: '#/components/schemas/ConfigData' + required: + - source_topic_name + type: object + AlterMirrorsRequestData: + properties: + mirror_topic_names: + description: The mirror topics specified as a list of topic names. + type: array + items: + type: string + mirror_topic_name_pattern: + description: The mirror topics specified as a pattern. + type: string + type: object + RemoveBrokersRequestData: + properties: + broker_ids: + type: array + items: + type: integer + required: + - broker_ids + type: object + BrokerReplicaExclusionBatchRequestData: + type: object + required: + - data + properties: + data: + type: array + items: + $ref: '#/components/schemas/BrokerReplicaExclusionRequestData' + ObjectMeta: + description: 'ObjectMeta is metadata that all persisted resources must have, which includes all objects users must create.' + required: + - self + properties: + self: + description: 'Self is a Uniform Resource Locator (URL) at which an object can be addressed. This URL encodes the service location, API version, and other particulars necessary to locate the resource at a point in time' + type: string + format: uri + readOnly: true + example: 'https://api.confluent.cloud/v2/kafka-clusters/lkc-f3a90de' + resource_name: + description: Resource Name is a Uniform Resource Identifier (URI) that is globally unique across space and time. It is represented as a Confluent Resource Name + type: string + format: uri + readOnly: true + example: 'crn://confluent.cloud/kafka=lkc-f3a90de' + created_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: The date and time at which this object was created. It is represented in RFC3339 format and is in UTC. + updated_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: The date and time at which this object was last updated. It is represented in RFC3339 format and is in UTC. + deleted_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: The date and time at which this object was (or will be) deleted. It is represented in RFC3339 format and is in UTC. + readOnly: true + artifact.v1.FlinkArtifactVersion: + type: object + description: | + Version of the Flink Artifact + properties: + version: + type: string + description: Version id of the Flink Artifact. + example: cfa-ver-001 + maxLength: 60 + release_notes: + type: string + description: Release Notes of the Flink Artifact version. + maxLength: 256 + is_beta: + type: boolean + description: Flag to specify stability of the version + artifact_id: + type: object + description: The Flink Artifact this version belongs to. + allOf: + - $ref: '#/components/schemas/artifact.v1.FlinkArtifact' + upload_source: + type: object + oneOf: + - $ref: '#/components/schemas/artifact.v1.UploadSource.PresignedUrl' + description: Upload source of the Flink Artifact Version. + discriminator: + propertyName: location + mapping: + PRESIGNED_URL_LOCATION: '#/components/schemas/artifact.v1.UploadSource.PresignedUrl' + required: + - version + - artifact_id + - upload_source + Error: + type: object + description: Describes a particular error encountered while performing an operation. + properties: + id: + description: A unique identifier for this particular occurrence of the problem. + type: string + maxLength: 255 + status: + description: 'The HTTP status code applicable to this problem, expressed as a string value.' + type: string + code: + description: 'An application-specific error code, expressed as a string value.' + type: string + title: + description: 'A short, human-readable summary of the problem. It **SHOULD NOT** change from occurrence to occurrence of the problem, except for purposes of localization.' + type: string + detail: + description: A human-readable explanation specific to this occurrence of the problem. + type: string + source: + type: object + description: 'If this error was caused by a particular part of the API request, the source will point to the query string parameter or request body property that caused it.' + properties: + pointer: + description: 'A JSON Pointer [RFC6901] to the associated entity in the request document [e.g. "/spec" for a spec object, or "/spec/title" for a specific field].' + type: string + parameter: + description: A string indicating which query parameter caused the error. + type: string + error_code: + type: integer + format: int32 + message: + type: string + nullable: true + additionalProperties: false + ProduceRequestHeader: + type: object + required: + - name + properties: + name: + type: string + value: + type: string + format: byte + nullable: true + ProduceRequestData: + type: object + properties: + type: + type: string + x-extensible-enum: + - BINARY + - JSON + - STRING + data: + $ref: '#/components/schemas/AnyValue' + nullable: true + ConfigData: + example: + name: name + value: value + properties: + name: + type: string + value: + nullable: true + type: string + required: + - name + - value + BrokerReplicaExclusionRequestData: + type: object + required: + - broker_id + - reason + properties: + broker_id: + type: integer + reason: + type: string + artifact.v1.UploadSource.PresignedUrl: + type: object + description: |- + Request a presigned upload URL for new Flink Artifact. Note that + the URL policy expires in one hour. If the policy expires, you can request + a new presigned upload URL. + + + ## The Presigned Urls Model + + properties: + api_version: + type: string + enum: + - artifact.v1/UploadSource + 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: + - PresignedUrl + 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 + metadata: + allOf: + - $ref: '#/components/schemas/ObjectMeta' + - properties: + self: + example: 'https://api.confluent.cloud/artifact.v1/UploadSource/presigned-urls/pu-12345' + resource_name: + example: 'crn://confluent.cloud/organization=9bb441c4-edef-46ac-8a41-c49e44a3fd9a/presigned-url=pu-12345' + location: + type: string + description: | + Location of the Flink Artifact source. + x-extensible-enum: + - PRESIGNED_URL_LOCATION + example: PRESIGNED_URL_LOCATION + upload_id: + type: string + example: e53bb2e8-8de3-49fa-9fb1-4e3fd9a16b66 + description: Upload ID returned by the `/presigned-upload-url` API. This field returns an empty string in all responses. + AnyValue: + nullable: true + artifact.v1.FlinkArtifactUpdate: + type: object + description: |- + FlinkArtifact objects represent Flink Artifacts on Confluent Cloud. + + + ## The Flink Artifacts Model + + properties: + api_version: + type: string + enum: + - artifact/v1 + 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: + - FlinkArtifact + 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 + metadata: + allOf: + - $ref: '#/components/schemas/ObjectMeta' + - properties: + self: + example: 'https://api.confluent.cloud/artifact/v1/flink-artifacts/fa-12345' + resource_name: + example: 'crn://confluent.cloud/organization=9bb441c4-edef-46ac-8a41-c49e44a3fd9a/flink-artifact=fa-12345' + cloud: + type: string + description: Cloud provider where the Flink Artifact archive is uploaded. + example: AWS + maxLength: 60 + x-extensible-enum: + - AWS + - GCP + - AZURE + region: + type: string + description: The Cloud provider region the Flink Artifact archive is uploaded. + example: us-east-1 + maxLength: 60 + environment: + type: string + description: Environment the Flink Artifact belongs to. + example: env-00000 + maxLength: 255 + display_name: + type: string + description: Display name of the Flink Artifact. + maxLength: 60 + content_format: + type: string + description: Archive format of the Flink Artifact. + example: JAR + x-extensible-enum: + - ZIP + - JAR + description: + type: string + description: Description of the Flink Artifact. + maxLength: 256 + documentation_link: + type: string + description: Document link of the Flink Artifact. + maxLength: 512 + pattern: '^$|^(http://|https://).+' + runtime_language: + type: string + description: Runtime language of the Flink Artifact. + example: JAVA + default: JAVA + x-extensible-enum: + - JAVA + - PYTHON + versions: + type: array + description: Versions associated with this Flink Artifact. + items: + $ref: '#/components/schemas/artifact.v1.FlinkArtifactVersion' + artifact.v1.PresignedUrlRequest: + type: object + description: | + Request schema of the presigned upload URL. + properties: + api_version: + type: string + enum: + - artifact/v1 + 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: + - PresignedUrlRequest + 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 + metadata: + allOf: + - $ref: '#/components/schemas/ObjectMeta' + - properties: + self: + example: 'https://api.confluent.cloud/artifact/v1/presigned-url-requests/pur-12345' + resource_name: + example: 'crn://confluent.cloud/organization=9bb441c4-edef-46ac-8a41-c49e44a3fd9a/presigned-url-request=pur-12345' + content_format: + type: string + example: JAR + description: Archive format of the Flink Artifact. + x-extensible-enum: + - JAR + - ZIP + cloud: + type: string + example: AWS + description: Cloud provider where the Flink Artifact archive is uploaded. + x-extensible-enum: + - AWS + - GCP + - AZURE + region: + type: string + example: us-east-1 + description: The Cloud provider region the Flink Artifact archive is uploaded. + maxLength: 60 + artifact.v1.PresignedUrl: + type: object + description: |- + Request a presigned upload URL for new Flink Artifact. Note that + the URL policy expires in one hour. If the policy expires, you can request + a new presigned upload URL. + + + ## The Presigned Urls Model + + properties: + api_version: + type: string + enum: + - artifact/v1 + 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: + - PresignedUrl + content_format: + type: string + description: Content format of the Flink Artifact archive. + example: JAR + x-extensible-enum: + - ZIP + - JAR + readOnly: true + cloud: + type: string + description: Cloud provider where the Flink Artifact archive is uploaded. + example: AWS + x-extensible-enum: + - AWS + - GCP + - AZURE + readOnly: true + region: + type: string + description: The Cloud provider region the Flink Artifact archive is uploaded. + example: us-east-1 + readOnly: true + upload_id: + type: string + description: Unique identifier of this upload. + example: e53bb2e8-8de3-49fa-9fb1-4e3fd9a16b66 + readOnly: true + upload_url: + type: string + format: uri + description: Upload URL for the Flink Artifact archive. + example: 'https://confluent-flink-artifacts-stag-us-west-2.s3.dualstack.us-west-2.amazonaws.com/' + readOnly: true + upload_form_data: + type: object + description: Upload form data of the Flink Artifact. All values should be strings. + example: + bucket: confluent-flink-artifacts-stag-us-west-2 + key: staging/flink-artifact/2f37f0b6-f8da-4e8b-bc5f-282ebb0511be/flink-e53bb2e8-8de3-49fa-9fb1-4e3fd9a16b66/artifact.jar + policy: string + x-amz-algorithm: AWS4-HMAC-SHA256 + x-amz-credential: string + x-amz-date: 20230725T013857Z + x-amz-security-token: string + x-amz-signature: string + readOnly: true + parameters: + AclHost: + name: host + description: The ACL host. + in: query + required: false + schema: + type: string + AclOperation: + name: operation + description: The ACL operation. + in: query + required: false + schema: + $ref: '#/components/schemas/AclOperation' + AclOperationRequired: + name: operation + description: The ACL operation. + in: query + required: true + schema: + $ref: '#/components/schemas/AclOperation' + AclPatternType: + name: pattern_type + description: The ACL pattern type. + in: query + required: false + schema: + $ref: '#/components/schemas/AclPatternType' + AclPatternTypeRequired: + name: pattern_type + description: The ACL pattern type. + in: query + required: true + schema: + $ref: '#/components/schemas/AclPatternType' + AclPermission: + name: permission + description: The ACL permission. + in: query + required: false + schema: + $ref: '#/components/schemas/AclPermission' + AclPermissionRequired: + name: permission + description: The ACL permission. + in: query + required: true + schema: + $ref: '#/components/schemas/AclPermission' + AclPrincipal: + name: principal + description: The ACL principal. This is the Service Account name or user name. + in: query + required: false + schema: + type: string + AclResourceName: + name: resource_name + description: The ACL resource name. + in: query + required: false + schema: + type: string + AclResourceType: + name: resource_type + description: The ACL resource type. + in: query + required: false + schema: + $ref: '#/components/schemas/AclResourceType' + AclResourceTypeRequired: + name: resource_type + description: The ACL resource type. + in: query + required: true + schema: + $ref: '#/components/schemas/AclResourceType' + BrokerId: + name: broker_id + description: The Kafka broker ID. + in: path + required: true + schema: + type: integer + example: 1 + ClusterId: + name: cluster_id + description: The Kafka cluster ID. + in: path + required: true + schema: + type: string + example: cluster-1 + ConfigName: + name: name + description: The configuration parameter name. + in: path + required: true + schema: + type: string + example: compression.type + ConsumerGroupId: + name: consumer_group_id + description: The consumer group ID. + in: path + required: true + schema: + type: string + example: consumer-group-1 + ConsumerId: + name: consumer_id + description: The consumer ID. + in: path + required: true + schema: + type: string + example: consumer-1 + IncludeAuthorizedOperations: + name: include_authorized_operations + description: Specify if authorized operations should be included in the response. + in: query + required: false + schema: + type: boolean + PartitionId: + name: partition_id + description: The partition ID. + in: path + required: true + schema: + type: integer + example: 0 + TopicName: + name: topic_name + description: The topic name. + in: path + required: true + schema: + type: string + example: topic-1 + BrokerTaskType: + name: task_type + description: The Kafka broker task type. + in: path + required: true + schema: + $ref: '#/components/schemas/BrokerTaskType' + example: remove-broker + ShouldShutdown: + name: should_shutdown + description: 'To shutdown the broker or not, Default: true' + in: query + required: false + schema: + type: boolean + example: true + ValidateOnly: + name: validate_only + description: 'To validate the action can be performed successfully or not. Default: false' + in: query + required: false + schema: + type: boolean + example: false + ValidateLink: + name: validate_link + description: 'To synchronously validate that the source cluster ID is expected and the dest cluster has the permission to read topics in the source cluster. Default: true' + in: query + required: false + schema: + type: boolean + example: false + IncludeTasks: + name: include_tasks + description: 'Whether to include cluster linking tasks in the response. Default: false' + in: query + required: false + schema: + type: boolean + example: false + IncludeStateTransitionErrors: + name: include_state_transition_errors + description: 'Whether to include mirror state transition errors in the response. Default: false' + in: query + required: false + schema: + type: boolean + example: false + Force: + name: force + description: 'Force the action. Default: false' + in: query + required: false + schema: + type: boolean + example: false + IncludePartitionLevelTruncationData: + name: include_partition_level_truncation_data + description: 'Whether to include partition level truncation information when truncating and restoring a topic in the response. Default: false' + in: query + required: false + schema: + type: boolean + example: false + LinkName: + name: link_name + description: The link name + in: path + required: true + schema: + type: string + example: link-sb1 + LinkConfigName: + name: config_name + description: The link config name + in: path + required: true + schema: + type: string + example: consumer.offset.sync.enable + MirrorTopicStatus: + name: mirror_status + description: 'The status of the mirror topic. If not specified, all mirror topics will be returned.' + in: query + required: false + schema: + $ref: '#/components/schemas/MirrorTopicStatus' + example: ACTIVE + MirrorTopicName: + name: mirror_topic_name + description: Cluster Linking mirror topic name + in: path + required: true + schema: + type: string + example: topic-1 + QueryParamLinkName: + name: link_name + description: The link name + in: query + required: true + schema: + type: string + example: link-sb1 + responses: + BadRequestError: + description: Bad Request + headers: + X-Request-Id: + schema: + type: string + description: The unique identifier for the API request. + content: + application/json: + schema: + $ref: '#/components/schemas/Failure' + example: + errors: + - id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d + status: '400' + code: invalid_filter + title: Invalid Filter + detail: The 'delorean' resource can't be filtered by 'num_doors' + source: + parameter: num_doors + UnauthenticatedError: + x-summary: Unauthorized + description: The request lacks valid authentication credentials for this resource. + headers: + X-Request-Id: + schema: + type: string + description: The unique identifier for the API request. + WWW-Authenticate: + schema: + type: string + description: The unique identifier for the API request. + example: 'Basic error="invalid_key", error_description="The API Key is invalid"' + content: + application/json: + schema: + $ref: '#/components/schemas/Failure' + example: + errors: + - id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d + status: '401' + code: user_unauthenticated + title: Authentication Required + detail: Valid authentication credentials must be provided + UnauthorizedError: + x-summary: Forbidden + description: The access credentials were considered insufficient to grant access + headers: + X-Request-Id: + schema: + type: string + description: The unique identifier for the API request. + content: + application/json: + schema: + $ref: '#/components/schemas/Failure' + example: + errors: + - id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d + status: '403' + code: user_unauthorized + title: User Access Unauthorized + detail: The user 'mcfly' is not allowed to access the 'delorean' resource without the 'plutonium' role. + RateLimitError: + description: Rate Limit Exceeded + headers: + X-Request-Id: + schema: + type: string + description: The unique identifier for the API request. + X-RateLimit-Limit: + schema: + type: integer + description: The maximum number of requests you're permitted to make per time period. + X-RateLimit-Remaining: + schema: + type: integer + description: The number of requests remaining in the current rate limit window. + X-RateLimit-Reset: + schema: + type: integer + description: |- + The relative time in seconds until the current rate-limit window resets. + + **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. + DefaultSystemError: + description: 'Oops, something went wrong!' + headers: + X-Request-Id: + schema: + type: string + description: The unique identifier for the API request. + content: + application/json: + schema: + $ref: '#/components/schemas/Failure' + example: + errors: + - id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d + status: '500' + code: out_of_gas + title: DeLorean Out Of Gas + detail: 'The DeLorean has run out of gas, but Doc Brown will fill ''er up for you asap' + ConflictError: + x-summary: Conflict + description: The request is in conflict with the current server state + headers: + X-Request-Id: + schema: + type: string + description: The unique identifier for the API request. + Location: + schema: + type: string + format: uri + example: 'https://api.confluent.cloud/{object}/{id}' + description: Resource URI of conflicting resource + content: + application/json: + schema: + $ref: '#/components/schemas/Failure' + example: + errors: + - id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d + status: '409' + code: resource_already_exists + title: Resource Already exists + detail: The entitlement '91e3e86f-fca6-4f14-98f5-a48e64113ce2' already exists. + ValidationError: + description: Validation Failed + headers: + X-Request-Id: + schema: + type: string + description: The unique identifier for the API request. + content: + application/json: + schema: + $ref: '#/components/schemas/Failure' + example: + errors: + - status: '422' + code: invalid_configuration + id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d + title: Validation Failed + detail: 'The property ''/cluster/storage_size'' of type string did not match the following type: integer' + source: + pointer: /cluster/storage_size + - status: '422' + code: invalid_configuration + id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d + title: Validation Failed + detail: 'The property ''/cluster/storage_size'' of type string did not match the following type: integer' + source: + pointer: /cluster/storage_size + - status: '422' + code: invalid_configuration + id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d + title: Validation Failed + detail: 'The property ''/cluster/storage_size'' of type string did not match the following type: integer' + source: + pointer: /cluster/storage_size + - status: '422' + code: invalid_configuration + id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d + title: Validation Failed + detail: 'The property ''/cluster/storage_size'' of type string did not match the following type: integer' + source: + pointer: /cluster/storage_size + - status: '422' + code: invalid_configuration + id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d + title: Validation Failed + detail: 'The property ''/cluster/storage_size'' of type string did not match the following type: integer' + source: + pointer: /cluster/storage_size + - status: '422' + code: invalid_configuration + id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d + title: Validation Failed + detail: 'The property ''/cluster/storage_size'' of type string did not match the following type: integer' + source: + pointer: /cluster/storage_size + - status: '422' + code: invalid_configuration + id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d + title: Validation Failed + detail: 'The property ''/cluster/storage_size'' of type string did not match the following type: integer' + source: + pointer: /cluster/storage_size + - status: '422' + code: invalid_configuration + id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d + title: Validation Failed + detail: 'The property ''/cluster/storage_size'' of type string did not match the following type: integer' + source: + pointer: /cluster/storage_size + - status: '422' + code: invalid_configuration + id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d + title: Validation Failed + detail: 'The property ''/cluster/storage_size'' of type string did not match the following type: integer' + source: + pointer: /cluster/storage_size + - status: '422' + code: invalid_configuration + id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d + title: Validation Failed + detail: 'The property ''/cluster/storage_size'' of type string did not match the following type: integer' + source: + pointer: /cluster/storage_size + - status: '422' + code: invalid_configuration + id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d + title: Validation Failed + detail: 'The property ''/cluster/storage_size'' of type string did not match the following type: integer' + source: + pointer: /cluster/storage_size + - status: '422' + code: invalid_configuration + id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d + title: Validation Failed + detail: 'The property ''/cluster/storage_size'' of type string did not match the following type: integer' + source: + pointer: /cluster/storage_size + - status: '422' + code: invalid_configuration + id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d + title: Validation Failed + detail: 'The property ''/cluster/storage_size'' of type string did not match the following type: integer' + source: + pointer: /cluster/storage_size + - status: '422' + code: invalid_configuration + id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d + title: Validation Failed + detail: 'The property ''/cluster/storage_size'' of type string did not match the following type: integer' + source: + pointer: /cluster/storage_size + - status: '422' + code: invalid_configuration + id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d + title: Validation Failed + detail: 'The property ''/cluster/storage_size'' of type string did not match the following type: integer' + source: + pointer: /cluster/storage_size + - status: '422' + code: invalid_configuration + id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d + title: Validation Failed + detail: 'The property ''/cluster/storage_size'' of type string did not match the following type: integer' + source: + pointer: /cluster/storage_size + - status: '422' + code: invalid_configuration + id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d + title: Validation Failed + detail: 'The property ''/cluster/storage_size'' of type string did not match the following type: integer' + source: + pointer: /cluster/storage_size + - status: '422' + code: invalid_configuration + id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d + title: Validation Failed + detail: 'The property ''/cluster/storage_size'' of type string did not match the following type: integer' + source: + pointer: /cluster/storage_size + - status: '422' + code: invalid_configuration + id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d + title: Validation Failed + detail: 'The property ''/cluster/storage_size'' of type string did not match the following type: integer' + source: + pointer: /cluster/storage_size + - status: '422' + code: invalid_configuration + id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d + title: Validation Failed + detail: 'The property ''/cluster/storage_size'' of type string did not match the following type: integer' + source: + pointer: /cluster/storage_size + - status: '422' + code: invalid_configuration + id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d + title: Validation Failed + detail: 'The property ''/cluster/storage_size'' of type string did not match the following type: integer' + source: + pointer: /cluster/storage_size + - status: '422' + code: invalid_configuration + id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d + title: Validation Failed + detail: 'The property ''/cluster/storage_size'' of type string did not match the following type: integer' + source: + pointer: /cluster/storage_size + - status: '422' + code: invalid_configuration + id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d + title: Validation Failed + detail: 'The property ''/cluster/storage_size'' of type string did not match the following type: integer' + source: + pointer: /cluster/storage_size + - status: '422' + code: invalid_configuration + id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d + title: Validation Failed + detail: 'The property ''/cluster/storage_size'' of type string did not match the following type: integer' + source: + pointer: /cluster/storage_size + - status: '422' + code: invalid_configuration + id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d + title: Validation Failed + detail: 'The property ''/cluster/storage_size'' of type string did not match the following type: integer' + source: + pointer: /cluster/storage_size + - status: '422' + code: invalid_configuration + id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d + title: Validation Failed + detail: 'The property ''/cluster/storage_size'' of type string did not match the following type: integer' + source: + pointer: /cluster/storage_size + - status: '422' + code: invalid_configuration + id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d + title: Validation Failed + detail: 'The property ''/cluster/storage_size'' of type string did not match the following type: integer' + source: + pointer: /cluster/storage_size + - status: '422' + code: invalid_configuration + id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d + title: Validation Failed + detail: 'The property ''/cluster/storage_size'' of type string did not match the following type: integer' + source: + pointer: /cluster/storage_size + - status: '422' + code: invalid_configuration + id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d + title: Validation Failed + detail: 'The property ''/cluster/storage_size'' of type string did not match the following type: integer' + source: + pointer: /cluster/storage_size + - status: '422' + code: invalid_configuration + id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d + title: Validation Failed + detail: 'The property ''/cluster/storage_size'' of type string did not match the following type: integer' + source: + pointer: /cluster/storage_size + NotFoundError: + description: Not Found + headers: + X-Request-Id: + schema: + type: string + description: The unique identifier for the API request. + content: + application/json: + schema: + $ref: '#/components/schemas/Failure' + example: + errors: + - id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d + status: '404' + title: Not Found + securitySchemes: + cloud-api-key: + type: http + scheme: basic + description: Authenticate with Cloud API Keys using HTTP Basic Auth. Treat the Cloud API Key ID as the username and Cloud API Key Secret as the password. + confluent-sts-access-token: + type: oauth2 + description: Authenticate with Confluent API using this credentials (JSON Web Tokens) following OAuth 2.0. + flows: + clientCredentials: + tokenUrl: 'https://api.confluent.cloud/sts/v1/oauth2/token' + scopes: {} + api-key: + type: http + scheme: basic + description: Authenticate with API Keys using HTTP Basic Auth. Treat the API Key ID as the username and API Key Secret as the password. + resource-api-key: + type: http + scheme: basic + description: | + Authenticate with resource-specific API Keys using HTTP Basic Auth. Treat the resource-specific API Key ID + as the username and resource-specific API Key Secret as the password. + external-access-token: + type: oauth2 + description: Authenticate with OAuth 2.0. + flows: + clientCredentials: + tokenUrl: 'https:///token' + scopes: {} + oauth: + type: oauth2 + description: Authenticate with OAuth 2.0. Currently this is only supported for partner APIs. + flows: + clientCredentials: + tokenUrl: /oauth2/token + scopes: + 'partner:alter': enables partners to alter entitlements + 'partner:create': enables partners to create entitlements and signup on behalf of customers + 'partner:delete': enables partners to delete entitlements and organizations + 'partner:describe': enables partners to read and list entitlements and organizations + requestBodies: + AlterBrokerConfigBatchRequest: + description: The alter broker configuration parameter batch request. + content: + application/json: + schema: + $ref: '#/components/schemas/AlterConfigBatchRequestData' + example: + data: + - name: max.connections + operation: DELETE + - name: compression.type + value: gzip + AlterClusterConfigBatchRequest: + description: The alter cluster configuration parameter batch request. + content: + application/json: + schema: + $ref: '#/components/schemas/AlterConfigBatchRequestData' + example: + data: + - name: max.connections + operation: DELETE + - name: compression.type + value: gzip + AlterTopicConfigBatchRequest: + description: The alter topic configuration parameter batch request. + content: + application/json: + schema: + $ref: '#/components/schemas/AlterConfigBatchRequestData' + examples: + batch_alter_topic_configs: + value: + data: + - name: cleanup.policy + operation: DELETE + - name: compression.type + value: gzip + validate_only_batch_alter_topic_configs: + value: + data: + - name: cleanup.policy + operation: DELETE + - name: compression.type + value: gzip + validate_only: true + CreateAclRequest: + description: The ACL creation request. + content: + application/json: + schema: + $ref: '#/components/schemas/CreateAclRequestData' + example: + resource_type: CLUSTER + resource_name: kafka-cluster + pattern_type: LITERAL + principal: 'principalType:principalName' + host: '*' + operation: DESCRIBE + permission: DENY + BatchCreateAclRequest: + description: The batch ACL creation request. + content: + application/json: + schema: + $ref: '#/components/schemas/CreateAclRequestDataList' + example: + data: + - resource_type: CLUSTER + resource_name: kafka-cluster + pattern_type: LITERAL + principal: 'principalType:principalName' + host: '*' + operation: DESCRIBE + permission: DENY + - resource_type: TOPIC + resource_name: kafka-cluster + pattern_type: LITERAL + principal: 'principalType:principalName' + host: '*' + operation: READ + permission: ALLOW + CreateTopicRequest: + description: 'The topic creation request. Note that Confluent Cloud allows only specific replication factor values. Because of that the replication factor field should either be omitted or it should use one of the allowed values (see https://docs.confluent.io/cloud/current/client-apps/optimizing/durability.html).' + content: + application/json: + schema: + $ref: '#/components/schemas/CreateTopicRequestData' + examples: + uniform_replication: + value: + topic_name: topic-X + partitions_count: 64 + replication_factor: 3 + configs: + - name: cleanup.policy + value: compact + - name: compression.type + value: gzip + dry_run_create_topic: + value: + topic_name: topic-X + partitions_count: 64 + replication_factor: 3 + validate_only: true + ProduceRequest: + description: 'A single record to be produced to Kafka. To produce multiple records in the same request, simply concatenate the records. The delivery reports are concatenated in the same order as the records are sent.' + content: + application/json: + schema: + $ref: '#/components/schemas/ProduceRequest' + examples: + binary_and_json: + description: 'If using type, one of "BINARY", "JSON" or "STRING" is required.' + value: + partition_id: 1 + headers: + - name: Header-1 + value: SGVhZGVyLTE= + - name: Header-2 + value: SGVhZGVyLTI= + key: + type: BINARY + data: Zm9vYmFy + value: + type: JSON + data: + foo: bar + timestamp: '2021-02-05T19:14:42Z' + string: + description: 'If using type, one of "BINARY", "JSON" or "STRING" is required.' + value: + value: + type: STRING + data: My message + empty_value: + description: key or value can be omitted entirely. + value: + key: + data: 1000 + UpdateBrokerConfigRequest: + description: The broker configuration parameter update request. + content: + application/json: + schema: + $ref: '#/components/schemas/UpdateConfigRequestData' + example: + value: gzip + UpdateClusterConfigRequest: + description: The cluster configuration parameter update request. + content: + application/json: + schema: + $ref: '#/components/schemas/UpdateConfigRequestData' + example: + value: gzip + UpdateTopicConfigRequest: + description: The topic configuration parameter update request. + content: + application/json: + schema: + $ref: '#/components/schemas/UpdateConfigRequestData' + example: + value: gzip + CreateLinkRequest: + description: Create a cluster link + content: + application/json: + schema: + $ref: '#/components/schemas/CreateLinkRequestData' + examples: + destination_initiated_link: + description: Create a destination initiated cluster link + value: + source_cluster_id: cluster-1 + configs: + - name: bootstrap.servers + value: cluster-1-bootstrap-server + - name: acl.sync.enable + value: 'false' + - name: consumer.offset.sync.ms + value: '30000' + - name: sasl.mechanism + value: PLAIN + - name: sasl.protocol + value: SASL_SSL + - name: sasl.jaas.config + value: sasl.jaas.config=org.apache.kafka.common.security.plain.PlainLoginModule required username='' password=''; + source_initiated_link_at_source_cluster: + description: Create a source initiated cluster link at source cluster + value: + destination_cluster_id: cluster-2 + configs: + - name: bootstrap.servers + value: cluster-2-bootstrap-server + - name: link.mode + value: SOURCE + - name: sasl.mechanism + value: PLAIN + - name: sasl.protocol + value: SASL_SSL + - name: sasl.jaas.config + value: sasl.jaas.config=org.apache.kafka.common.security.plain.PlainLoginModule required username='' password=''; + source_initiated_link_at_destination_cluster: + description: Create a source initiated cluster link at destination cluster + value: + destination_cluster_id: cluster-1 + configs: + - name: bootstrap.servers + value: cluster-1-bootstrap-server + - name: link.mode + value: DESTINATION + - name: connection.mode + value: INBOUND + - name: acl.sync.enable + value: 'false' + - name: sasl.mechanism + value: PLAIN + - name: sasl.protocol + value: SASL_SSL + - name: sasl.jaas.config + value: sasl.jaas.config=org.apache.kafka.common.security.plain.PlainLoginModule required username='' password=''; + bidirectional_link_east: + description: Create a bidirectional cluster link in east + value: + remote_cluster_id: cluster-west + configs: + - name: bootstrap.servers + value: cluster-west-bootstrap-server + - name: link.mode + value: BIDIRECTIONAL + - name: cluster.link.prefix + value: west. + - name: sasl.mechanism + value: PLAIN + - name: sasl.protocol + value: SASL_SSL + - name: sasl.jaas.config + value: sasl.jaas.config=org.apache.kafka.common.security.plain.PlainLoginModule required username='' password=''; + bidirectional_link_west: + description: Create a bidirectional cluster link in west + value: + remote_cluster_id: cluster-east + cluster_link_id: eEBkTffYSESld6EO898x3w + configs: + - name: bootstrap.servers + value: cluster-east-bootstrap-server + - name: link.mode + value: BIDIRECTIONAL + - name: cluster.link.prefix + value: east. + - name: sasl.mechanism + value: PLAIN + - name: sasl.protocol + value: SASL_SSL + - name: sasl.jaas.config + value: sasl.jaas.config=org.apache.kafka.common.security.plain.PlainLoginModule required username='' password=''; + UpdateLinkConfigRequest: + content: + application/json: + example: + value: '300000' + schema: + $ref: '#/components/schemas/UpdateLinkConfigRequestData' + description: Link config value to update + AlterLinkConfigBatchRequest: + content: + application/json: + example: + data: + - name: cleanup.policy + operation: DELETE + - name: compression.type + value: gzip + schema: + $ref: '#/components/schemas/AlterConfigBatchRequestData' + CreateMirrorTopicRequest: + description: 'Name and configs of the topics mirroring from and mirroring to. Note that Confluent Cloud allows only specific replication factor values. Because of that the replication factor field should either be omitted or it should use one of the allowed values (see https://docs.confluent.io/cloud/current/client-apps/optimizing/durability.html).' + content: + application/json: + schema: + $ref: '#/components/schemas/CreateMirrorTopicRequestData' + examples: + generic_example: + description: Generic example of creating a mirror topic + value: + source_topic_name: topic-1 + configs: + - name: unclean.leader.election.enable + value: 'true' + replication_factor: 1 + example_with_mirror_topic_name: + description: Example using optional mirror_topic_name flag + value: + source_topic_name: topic-1 + mirror_topic_name: link1_topic-1 + configs: + - name: unclean.leader.election.enable + value: 'true' + replication_factor: 3 + AlterMirrorsRequest: + description: Mirror topics to be altered. + content: + application/json: + schema: + $ref: '#/components/schemas/AlterMirrorsRequestData' + examples: + mirror_topic_names: + description: Example using mirror topic names + value: + mirror_topic_names: + - topic-1 + - topic-2 + mirror_topic_name_pattern: + description: Example using mirror topic name pattern + value: + mirror_topic_name_pattern: .* + RemoveBrokersRequest: + content: + application/json: + example: + broker_ids: + - 1 + - 2 + - 3 + schema: + $ref: '#/components/schemas/RemoveBrokersRequestData' + description: Broker ids to remove + BrokerReplicaExclusionBatchRequest: + description: Alter Broker Replica Exclusions. + content: + application/json: + schema: + $ref: '#/components/schemas/BrokerReplicaExclusionBatchRequestData' + example: + data: + - broker_id: 1 + reason: The broker is to be removed. + - broker_id: 2 + reason: The broker is to be removed. + x-stackQL-resources: + flink_artifacts: + id: confluent.flink_artifacts.flink_artifacts + name: flink_artifacts + title: Flink Artifacts + methods: + list_artifact_v1flink_artifacts: + operation: + $ref: '#/paths/~1artifact~1v1~1flink-artifacts/get' + response: + mediaType: application/json + openAPIDocKey: '200' + objectKey: $.data + create_artifact_v1flink_artifact: + operation: + $ref: '#/paths/~1artifact~1v1~1flink-artifacts/post' + response: + mediaType: application/json + openAPIDocKey: '201' + get_artifact_v1flink_artifact: + operation: + $ref: '#/paths/~1artifact~1v1~1flink-artifacts~1{id}/get' + response: + mediaType: application/json + openAPIDocKey: '200' + update_artifact_v1flink_artifact: + operation: + $ref: '#/paths/~1artifact~1v1~1flink-artifacts~1{id}/patch' + response: + mediaType: application/json + openAPIDocKey: '200' + delete_artifact_v1flink_artifact: + operation: + $ref: '#/paths/~1artifact~1v1~1flink-artifacts~1{id}/delete' + response: + mediaType: application/json + openAPIDocKey: '204' + sqlVerbs: + select: + - $ref: '#/components/x-stackQL-resources/flink_artifacts/methods/get_artifact_v1flink_artifact' + - $ref: '#/components/x-stackQL-resources/flink_artifacts/methods/list_artifact_v1flink_artifacts' + insert: + - $ref: '#/components/x-stackQL-resources/flink_artifacts/methods/create_artifact_v1flink_artifact' + update: + - $ref: '#/components/x-stackQL-resources/flink_artifacts/methods/update_artifact_v1flink_artifact' + replace: [] + delete: + - $ref: '#/components/x-stackQL-resources/flink_artifacts/methods/delete_artifact_v1flink_artifact' + presigned_urls: + id: confluent.flink_artifacts.presigned_urls + name: presigned_urls + title: Presigned Urls + methods: + presigned_upload_url_artifact_v1presigned_url: + operation: + $ref: '#/paths/~1artifact~1v1~1presigned-upload-url/post' + response: + mediaType: application/json + openAPIDocKey: '200' + sqlVerbs: + select: [] + insert: [] + update: [] + replace: [] + delete: [] +paths: + /artifact/v1/flink-artifacts: + get: + x-request-access-name: Flink Artifact API EA + operationId: listArtifactV1FlinkArtifacts + summary: List of Flink Artifacts + description: | + [![Early Access](https://img.shields.io/badge/Lifecycle%20Stage-Early%20Access-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) [![Request Access To Flink Artifact API EA](https://img.shields.io/badge/-Request%20Access%20To%20Flink%20Artifact%20API%20EA-%23bc8540)](mailto:ccloud-api-access+artifact-v1-early-access@confluent.io?subject=Request%20to%20join%20artifact/v1%20API%20Early%20Access&body=I%E2%80%99d%20like%20to%20join%20the%20Confluent%20Cloud%20API%20Early%20Access%20for%20artifact/v1%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 flink artifacts. + + If no `environment` filter is specified, returns Artifacts across envs for cloud & region. + parameters: + - name: cloud + in: query + required: true + schema: + $ref: '#/components/schemas/SearchFilter' + example: AWS + description: Filter the results by exact match for cloud. + - name: region + in: query + required: true + schema: + $ref: '#/components/schemas/SearchFilter' + example: us-east-1 + description: Filter the results by exact match for region. + - name: environment + in: query + required: false + schema: + $ref: '#/components/schemas/SearchFilter' + example: env-00000 + description: Filter the results by exact match for environment. + - name: page_size + in: query + required: false + schema: + type: integer + default: 10 + maximum: 100 + x-max-page-items: 500 + description: A pagination size for collection requests. + - name: page_token + in: query + required: false + schema: + type: string + maxLength: 255 + description: An opaque pagination token for collection requests. + tags: + - Flink Artifacts (artifact/v1) + security: + - cloud-api-key: [] + - confluent-sts-access-token: [] + responses: + '200': + description: Flink Artifact. + content: + application/json: + schema: + allOf: + - $ref: '#/components/schemas/artifact.v1.FlinkArtifactList' + 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. + + **Important:** This differs from Github and Twitter's same-named header which uses UTC epoch seconds. We use relative time to avoid client/server time synchronization issues. + '400': + $ref: '#/components/responses/BadRequestError' + '401': + $ref: '#/components/responses/UnauthenticatedError' + '403': + $ref: '#/components/responses/UnauthorizedError' + '429': + $ref: '#/components/responses/RateLimitError' + '500': + $ref: '#/components/responses/DefaultSystemError' + x-codeSamples: + - lang: Shell + source: |- + curl --request GET \ + --url 'https://api.confluent.cloud/artifact/v1/flink-artifacts?cloud=AWS®ion=us-east-1&environment=env-00000' \ + --header 'Authorization: Basic REPLACE_BASIC_AUTH' + - lang: Java + source: |- + OkHttpClient client = new OkHttpClient(); + + Request request = new Request.Builder() + .url("https://api.confluent.cloud/artifact/v1/flink-artifacts?cloud=AWS®ion=us-east-1&environment=env-00000") + .get() + .addHeader("Authorization", "Basic REPLACE_BASIC_AUTH") + .build(); + + Response response = client.newCall(request).execute(); + - lang: Go + source: "package main\n\nimport (\n\t\"fmt\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.confluent.cloud/artifact/v1/flink-artifacts?cloud=AWS®ion=us-east-1&environment=env-00000\"\n\n\treq, _ := http.NewRequest(\"GET\", url, nil)\n\n\treq.Header.Add(\"Authorization\", \"Basic REPLACE_BASIC_AUTH\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}" + - lang: Python + source: |- + import http.client + + conn = http.client.HTTPSConnection("api.confluent.cloud") + + headers = { 'Authorization': "Basic REPLACE_BASIC_AUTH" } + + conn.request("GET", "/artifact/v1/flink-artifacts?cloud=AWS®ion=us-east-1&environment=env-00000", headers=headers) + + res = conn.getresponse() + data = res.read() + + print(data.decode("utf-8")) + - lang: Node + source: |- + const http = require("https"); + + const options = { + "method": "GET", + "hostname": "api.confluent.cloud", + "port": null, + "path": "/artifact/v1/flink-artifacts?cloud=AWS®ion=us-east-1&environment=env-00000", + "headers": { + "Authorization": "Basic REPLACE_BASIC_AUTH" + } + }; + + const req = http.request(options, function (res) { + const chunks = []; + + res.on("data", function (chunk) { + chunks.push(chunk); + }); + + res.on("end", function () { + const body = Buffer.concat(chunks); + console.log(body.toString()); + }); + }); + + req.end(); + - lang: C + source: |- + CURL *hnd = curl_easy_init(); + + curl_easy_setopt(hnd, CURLOPT_CUSTOMREQUEST, "GET"); + curl_easy_setopt(hnd, CURLOPT_URL, "https://api.confluent.cloud/artifact/v1/flink-artifacts?cloud=AWS®ion=us-east-1&environment=env-00000"); + + struct curl_slist *headers = NULL; + headers = curl_slist_append(headers, "Authorization: Basic REPLACE_BASIC_AUTH"); + curl_easy_setopt(hnd, CURLOPT_HTTPHEADER, headers); + + CURLcode ret = curl_easy_perform(hnd); + - lang: C# + source: |- + var client = new RestClient("https://api.confluent.cloud/artifact/v1/flink-artifacts?cloud=AWS®ion=us-east-1&environment=env-00000"); + var request = new RestRequest(Method.GET); + request.AddHeader("Authorization", "Basic REPLACE_BASIC_AUTH"); + IRestResponse response = client.Execute(request); + post: + summary: Create a new Flink Artifact. + requestBody: + content: + application/json: + schema: + type: object + properties: + cloud: + type: string + description: Cloud provider where the Flink Artifact archive is uploaded. + example: AWS + maxLength: 60 + x-extensible-enum: + - AWS + - GCP + - AZURE + region: + type: string + description: The Cloud provider region the Flink Artifact archive is uploaded. + example: us-east-1 + maxLength: 60 + environment: + type: string + description: Environment the Flink Artifact belongs to. + example: env-00000 + maxLength: 255 + display_name: + type: string + description: Display name of the Flink Artifact. + maxLength: 60 + class: + type: string + description: Java class or alias for the artifact as provided by developer. + maxLength: 150 + pattern: '^(([a-zA-Z][a-zA-Z_$0-9]*(\.[a-zA-Z][a-zA-Z_$0-9]*)*)\.)?([a-zA-Z][a-zA-Z_$0-9]*)$' + example: io.confluent.example.SumScalarFunction + content_format: + type: string + description: Archive format of the Flink Artifact. + example: JAR + x-extensible-enum: + - ZIP + - JAR + description: + type: string + description: Description of the Flink Artifact. + maxLength: 256 + documentation_link: + type: string + description: Document link of the Flink Artifact. + maxLength: 512 + pattern: '^$|^(http://|https://).+' + runtime_language: + type: string + description: Runtime language of the Flink Artifact. + example: JAVA + default: JAVA + x-extensible-enum: + - JAVA + - PYTHON + upload_source: + type: object + description: Upload source of the Flink Artifact source. + oneOf: + - $ref: '#/components/schemas/artifact.v1.UploadSource.PresignedUrl' + discriminator: + propertyName: location + mapping: + PRESIGNED_URL_LOCATION: '#/components/schemas/artifact.v1.UploadSource.PresignedUrl' + required: + - cloud + - region + - environment + - display_name + - class + - upload_source + x-request-access-name: Flink Artifact API EA + operationId: createArtifactV1FlinkArtifact + description: |- + [![Early Access](https://img.shields.io/badge/Lifecycle%20Stage-Early%20Access-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) [![Request Access To Flink Artifact API EA](https://img.shields.io/badge/-Request%20Access%20To%20Flink%20Artifact%20API%20EA-%23bc8540)](mailto:ccloud-api-access+artifact-v1-early-access@confluent.io?subject=Request%20to%20join%20artifact/v1%20API%20Early%20Access&body=I%E2%80%99d%20like%20to%20join%20the%20Confluent%20Cloud%20API%20Early%20Access%20for%20artifact/v1%20to%20provide%20early%20feedback%21%20My%20Cloud%20Organization%20ID%20is%20%3Cretrieve%20from%20https%3A//confluent.cloud/settings/billing/payment%3E.) + + Make a request to create a flink artifact. + parameters: + - name: cloud + in: query + required: true + schema: + $ref: '#/components/schemas/SearchFilter' + example: AWS + description: Scope the operation to the given cloud. + - name: region + in: query + required: true + schema: + $ref: '#/components/schemas/SearchFilter' + example: us-east-1 + description: Scope the operation to the given region. + tags: + - Flink Artifacts (artifact/v1) + security: + - cloud-api-key: [] + - confluent-sts-access-token: [] + responses: + '201': + description: A Flink Artifact was created. + headers: + X-Request-Id: + schema: + type: string + description: The unique identifier for the API request. + X-RateLimit-Limit: + schema: + type: integer + description: The maximum number of requests you're permitted to make per time period. + X-RateLimit-Remaining: + schema: + type: integer + description: The number of requests remaining in the current rate limit window. + X-RateLimit-Reset: + schema: + type: integer + description: |- + The relative time in seconds until the current rate-limit window resets. + + **Important:** This differs from Github and Twitter's same-named header which uses UTC epoch seconds. We use relative time to avoid client/server time synchronization issues. + Location: + schema: + type: string + format: uri + example: 'https://api.confluent.cloud/artifact/v1/flink-artifacts/{id}' + description: FlinkArtifact resource uri + content: + application/json: + schema: + allOf: + - $ref: '#/components/schemas/artifact.v1.FlinkArtifact' + - type: object + required: + - cloud + - region + - environment + - class + - display_name + '400': + $ref: '#/components/responses/BadRequestError' + '401': + $ref: '#/components/responses/UnauthenticatedError' + '403': + $ref: '#/components/responses/UnauthorizedError' + '409': + $ref: '#/components/responses/ConflictError' + '422': + $ref: '#/components/responses/ValidationError' + '429': + $ref: '#/components/responses/RateLimitError' + '500': + $ref: '#/components/responses/DefaultSystemError' + x-codeSamples: + - lang: Shell + source: |- + curl --request POST \ + --url 'https://api.confluent.cloud/artifact/v1/flink-artifacts?cloud=AWS®ion=us-east-1' \ + --header 'Authorization: Basic REPLACE_BASIC_AUTH' \ + --header 'content-type: application/json' \ + --data '{"cloud":"AWS","region":"us-east-1","environment":"env-00000","display_name":"string","class":"io.confluent.example.SumScalarFunction","content_format":"JAR","description":"string","documentation_link":"string","runtime_language":"JAVA","upload_source":{"location":"PRESIGNED_URL_LOCATION","upload_id":"e53bb2e8-8de3-49fa-9fb1-4e3fd9a16b66"}}' + - lang: Java + source: |- + OkHttpClient client = new OkHttpClient(); + + MediaType mediaType = MediaType.parse("application/json"); + RequestBody body = RequestBody.create(mediaType, "{\"cloud\":\"AWS\",\"region\":\"us-east-1\",\"environment\":\"env-00000\",\"display_name\":\"string\",\"class\":\"io.confluent.example.SumScalarFunction\",\"content_format\":\"JAR\",\"description\":\"string\",\"documentation_link\":\"string\",\"runtime_language\":\"JAVA\",\"upload_source\":{\"location\":\"PRESIGNED_URL_LOCATION\",\"upload_id\":\"e53bb2e8-8de3-49fa-9fb1-4e3fd9a16b66\"}}"); + Request request = new Request.Builder() + .url("https://api.confluent.cloud/artifact/v1/flink-artifacts?cloud=AWS®ion=us-east-1") + .post(body) + .addHeader("content-type", "application/json") + .addHeader("Authorization", "Basic REPLACE_BASIC_AUTH") + .build(); + + Response response = client.newCall(request).execute(); + - lang: Go + source: "package main\n\nimport (\n\t\"fmt\"\n\t\"strings\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.confluent.cloud/artifact/v1/flink-artifacts?cloud=AWS®ion=us-east-1\"\n\n\tpayload := strings.NewReader(\"{\\\"cloud\\\":\\\"AWS\\\",\\\"region\\\":\\\"us-east-1\\\",\\\"environment\\\":\\\"env-00000\\\",\\\"display_name\\\":\\\"string\\\",\\\"class\\\":\\\"io.confluent.example.SumScalarFunction\\\",\\\"content_format\\\":\\\"JAR\\\",\\\"description\\\":\\\"string\\\",\\\"documentation_link\\\":\\\"string\\\",\\\"runtime_language\\\":\\\"JAVA\\\",\\\"upload_source\\\":{\\\"location\\\":\\\"PRESIGNED_URL_LOCATION\\\",\\\"upload_id\\\":\\\"e53bb2e8-8de3-49fa-9fb1-4e3fd9a16b66\\\"}}\")\n\n\treq, _ := http.NewRequest(\"POST\", url, payload)\n\n\treq.Header.Add(\"content-type\", \"application/json\")\n\treq.Header.Add(\"Authorization\", \"Basic REPLACE_BASIC_AUTH\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}" + - lang: Python + source: |- + import http.client + + conn = http.client.HTTPSConnection("api.confluent.cloud") + + payload = "{\"cloud\":\"AWS\",\"region\":\"us-east-1\",\"environment\":\"env-00000\",\"display_name\":\"string\",\"class\":\"io.confluent.example.SumScalarFunction\",\"content_format\":\"JAR\",\"description\":\"string\",\"documentation_link\":\"string\",\"runtime_language\":\"JAVA\",\"upload_source\":{\"location\":\"PRESIGNED_URL_LOCATION\",\"upload_id\":\"e53bb2e8-8de3-49fa-9fb1-4e3fd9a16b66\"}}" + + headers = { + 'content-type': "application/json", + 'Authorization': "Basic REPLACE_BASIC_AUTH" + } + + conn.request("POST", "/artifact/v1/flink-artifacts?cloud=AWS®ion=us-east-1", payload, headers) + + res = conn.getresponse() + data = res.read() + + print(data.decode("utf-8")) + - lang: Node + source: |- + const http = require("https"); + + const options = { + "method": "POST", + "hostname": "api.confluent.cloud", + "port": null, + "path": "/artifact/v1/flink-artifacts?cloud=AWS®ion=us-east-1", + "headers": { + "content-type": "application/json", + "Authorization": "Basic REPLACE_BASIC_AUTH" + } + }; + + const req = http.request(options, function (res) { + const chunks = []; + + res.on("data", function (chunk) { + chunks.push(chunk); + }); + + res.on("end", function () { + const body = Buffer.concat(chunks); + console.log(body.toString()); + }); + }); + + req.write(JSON.stringify({ + cloud: 'AWS', + region: 'us-east-1', + environment: 'env-00000', + display_name: 'string', + class: 'io.confluent.example.SumScalarFunction', + content_format: 'JAR', + description: 'string', + documentation_link: 'string', + runtime_language: 'JAVA', + upload_source: { + location: 'PRESIGNED_URL_LOCATION', + upload_id: 'e53bb2e8-8de3-49fa-9fb1-4e3fd9a16b66' + } + })); + req.end(); + - lang: C + source: |- + CURL *hnd = curl_easy_init(); + + curl_easy_setopt(hnd, CURLOPT_CUSTOMREQUEST, "POST"); + curl_easy_setopt(hnd, CURLOPT_URL, "https://api.confluent.cloud/artifact/v1/flink-artifacts?cloud=AWS®ion=us-east-1"); + + struct curl_slist *headers = NULL; + headers = curl_slist_append(headers, "content-type: application/json"); + headers = curl_slist_append(headers, "Authorization: Basic REPLACE_BASIC_AUTH"); + curl_easy_setopt(hnd, CURLOPT_HTTPHEADER, headers); + + curl_easy_setopt(hnd, CURLOPT_POSTFIELDS, "{\"cloud\":\"AWS\",\"region\":\"us-east-1\",\"environment\":\"env-00000\",\"display_name\":\"string\",\"class\":\"io.confluent.example.SumScalarFunction\",\"content_format\":\"JAR\",\"description\":\"string\",\"documentation_link\":\"string\",\"runtime_language\":\"JAVA\",\"upload_source\":{\"location\":\"PRESIGNED_URL_LOCATION\",\"upload_id\":\"e53bb2e8-8de3-49fa-9fb1-4e3fd9a16b66\"}}"); + + CURLcode ret = curl_easy_perform(hnd); + - lang: C# + source: |- + var client = new RestClient("https://api.confluent.cloud/artifact/v1/flink-artifacts?cloud=AWS®ion=us-east-1"); + var request = new RestRequest(Method.POST); + request.AddHeader("content-type", "application/json"); + request.AddHeader("Authorization", "Basic REPLACE_BASIC_AUTH"); + request.AddParameter("application/json", "{\"cloud\":\"AWS\",\"region\":\"us-east-1\",\"environment\":\"env-00000\",\"display_name\":\"string\",\"class\":\"io.confluent.example.SumScalarFunction\",\"content_format\":\"JAR\",\"description\":\"string\",\"documentation_link\":\"string\",\"runtime_language\":\"JAVA\",\"upload_source\":{\"location\":\"PRESIGNED_URL_LOCATION\",\"upload_id\":\"e53bb2e8-8de3-49fa-9fb1-4e3fd9a16b66\"}}", ParameterType.RequestBody); + IRestResponse response = client.Execute(request); + '/artifact/v1/flink-artifacts/{id}': + get: + x-request-access-name: Flink Artifact API EA + operationId: getArtifactV1FlinkArtifact + summary: Read a Flink Artifact + description: |- + [![Early Access](https://img.shields.io/badge/Lifecycle%20Stage-Early%20Access-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) [![Request Access To Flink Artifact API EA](https://img.shields.io/badge/-Request%20Access%20To%20Flink%20Artifact%20API%20EA-%23bc8540)](mailto:ccloud-api-access+artifact-v1-early-access@confluent.io?subject=Request%20to%20join%20artifact/v1%20API%20Early%20Access&body=I%E2%80%99d%20like%20to%20join%20the%20Confluent%20Cloud%20API%20Early%20Access%20for%20artifact/v1%20to%20provide%20early%20feedback%21%20My%20Cloud%20Organization%20ID%20is%20%3Cretrieve%20from%20https%3A//confluent.cloud/settings/billing/payment%3E.) + + Make a request to read a flink artifact. + parameters: + - name: cloud + in: query + required: true + schema: + $ref: '#/components/schemas/SearchFilter' + example: AWS + description: Scope the operation to the given cloud. + - name: region + in: query + required: true + schema: + $ref: '#/components/schemas/SearchFilter' + example: us-east-1 + description: Scope the operation to the given region. + - name: id + in: path + required: true + schema: + type: string + description: The unique identifier for the flink artifact. + tags: + - Flink Artifacts (artifact/v1) + security: + - cloud-api-key: [] + - confluent-sts-access-token: [] + responses: + '200': + description: Flink Artifact. + content: + application/json: + schema: + allOf: + - $ref: '#/components/schemas/artifact.v1.FlinkArtifact' + - type: object + required: + - api_version + - kind + - id + - cloud + - region + - environment + - class + - display_name + 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. + + **Important:** This differs from Github and Twitter's same-named header which uses UTC epoch seconds. We use relative time to avoid client/server time synchronization issues. + '400': + $ref: '#/components/responses/BadRequestError' + '401': + $ref: '#/components/responses/UnauthenticatedError' + '403': + $ref: '#/components/responses/UnauthorizedError' + '404': + $ref: '#/components/responses/NotFoundError' + '429': + $ref: '#/components/responses/RateLimitError' + '500': + $ref: '#/components/responses/DefaultSystemError' + x-codeSamples: + - lang: Shell + source: |- + curl --request GET \ + --url 'https://api.confluent.cloud/artifact/v1/flink-artifacts/{id}?cloud=AWS®ion=us-east-1' \ + --header 'Authorization: Basic REPLACE_BASIC_AUTH' + - lang: Java + source: |- + OkHttpClient client = new OkHttpClient(); + + Request request = new Request.Builder() + .url("https://api.confluent.cloud/artifact/v1/flink-artifacts/{id}?cloud=AWS®ion=us-east-1") + .get() + .addHeader("Authorization", "Basic REPLACE_BASIC_AUTH") + .build(); + + Response response = client.newCall(request).execute(); + - lang: Go + source: "package main\n\nimport (\n\t\"fmt\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.confluent.cloud/artifact/v1/flink-artifacts/{id}?cloud=AWS®ion=us-east-1\"\n\n\treq, _ := http.NewRequest(\"GET\", url, nil)\n\n\treq.Header.Add(\"Authorization\", \"Basic REPLACE_BASIC_AUTH\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}" + - lang: Python + source: |- + import http.client + + conn = http.client.HTTPSConnection("api.confluent.cloud") + + headers = { 'Authorization': "Basic REPLACE_BASIC_AUTH" } + + conn.request("GET", "/artifact/v1/flink-artifacts/{id}?cloud=AWS®ion=us-east-1", headers=headers) + + res = conn.getresponse() + data = res.read() + + print(data.decode("utf-8")) + - lang: Node + source: |- + const http = require("https"); + + const options = { + "method": "GET", + "hostname": "api.confluent.cloud", + "port": null, + "path": "/artifact/v1/flink-artifacts/{id}?cloud=AWS®ion=us-east-1", + "headers": { + "Authorization": "Basic REPLACE_BASIC_AUTH" + } + }; + + const req = http.request(options, function (res) { + const chunks = []; + + res.on("data", function (chunk) { + chunks.push(chunk); + }); + + res.on("end", function () { + const body = Buffer.concat(chunks); + console.log(body.toString()); + }); + }); + + req.end(); + - lang: C + source: |- + CURL *hnd = curl_easy_init(); + + curl_easy_setopt(hnd, CURLOPT_CUSTOMREQUEST, "GET"); + curl_easy_setopt(hnd, CURLOPT_URL, "https://api.confluent.cloud/artifact/v1/flink-artifacts/{id}?cloud=AWS®ion=us-east-1"); + + struct curl_slist *headers = NULL; + headers = curl_slist_append(headers, "Authorization: Basic REPLACE_BASIC_AUTH"); + curl_easy_setopt(hnd, CURLOPT_HTTPHEADER, headers); + + CURLcode ret = curl_easy_perform(hnd); + - lang: C# + source: |- + var client = new RestClient("https://api.confluent.cloud/artifact/v1/flink-artifacts/{id}?cloud=AWS®ion=us-east-1"); + var request = new RestRequest(Method.GET); + request.AddHeader("Authorization", "Basic REPLACE_BASIC_AUTH"); + IRestResponse response = client.Execute(request); + patch: + x-request-access-name: Flink Artifact API EA + operationId: updateArtifactV1FlinkArtifact + summary: Update a Flink Artifact + description: |+ + [![Early Access](https://img.shields.io/badge/Lifecycle%20Stage-Early%20Access-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) [![Request Access To Flink Artifact API EA](https://img.shields.io/badge/-Request%20Access%20To%20Flink%20Artifact%20API%20EA-%23bc8540)](mailto:ccloud-api-access+artifact-v1-early-access@confluent.io?subject=Request%20to%20join%20artifact/v1%20API%20Early%20Access&body=I%E2%80%99d%20like%20to%20join%20the%20Confluent%20Cloud%20API%20Early%20Access%20for%20artifact/v1%20to%20provide%20early%20feedback%21%20My%20Cloud%20Organization%20ID%20is%20%3Cretrieve%20from%20https%3A//confluent.cloud/settings/billing/payment%3E.) + + Make a request to update a flink artifact. + + parameters: + - name: cloud + in: query + required: true + schema: + $ref: '#/components/schemas/SearchFilter' + example: AWS + description: Scope the operation to the given cloud. + - name: region + in: query + required: true + schema: + $ref: '#/components/schemas/SearchFilter' + example: us-east-1 + description: Scope the operation to the given region. + - name: id + in: path + required: true + schema: + type: string + description: The unique identifier for the flink artifact. + tags: + - Flink Artifacts (artifact/v1) + security: + - cloud-api-key: [] + - confluent-sts-access-token: [] + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/artifact.v1.FlinkArtifactUpdate' + responses: + '200': + description: Flink Artifact. + content: + application/json: + schema: + allOf: + - $ref: '#/components/schemas/artifact.v1.FlinkArtifact' + - type: object + required: + - api_version + - kind + - id + - cloud + - region + - environment + - class + - display_name + 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. + + **Important:** This differs from Github and Twitter's same-named header which uses UTC epoch seconds. We use relative time to avoid client/server time synchronization issues. + '400': + $ref: '#/components/responses/BadRequestError' + '401': + $ref: '#/components/responses/UnauthenticatedError' + '403': + $ref: '#/components/responses/UnauthorizedError' + '404': + $ref: '#/components/responses/NotFoundError' + '409': + $ref: '#/components/responses/ConflictError' + '422': + $ref: '#/components/responses/ValidationError' + '429': + $ref: '#/components/responses/RateLimitError' + '500': + $ref: '#/components/responses/DefaultSystemError' + x-codeSamples: + - lang: Shell + source: |- + curl --request PATCH \ + --url 'https://api.confluent.cloud/artifact/v1/flink-artifacts/{id}?cloud=AWS®ion=us-east-1' \ + --header 'Authorization: Basic REPLACE_BASIC_AUTH' \ + --header 'content-type: application/json' \ + --data '{"cloud":"AWS","region":"us-east-1","environment":"env-00000","display_name":"string","class":"io.confluent.example.SumScalarFunction","content_format":"JAR","description":"string","documentation_link":"string","runtime_language":"JAVA","versions":[{"version":"cfa-ver-001","release_notes":"string","is_beta":true,"artifact_id":{},"upload_source":{"location":"PRESIGNED_URL_LOCATION","upload_id":"e53bb2e8-8de3-49fa-9fb1-4e3fd9a16b66"}}]}' + - lang: Java + source: |- + OkHttpClient client = new OkHttpClient(); + + MediaType mediaType = MediaType.parse("application/json"); + RequestBody body = RequestBody.create(mediaType, "{\"cloud\":\"AWS\",\"region\":\"us-east-1\",\"environment\":\"env-00000\",\"display_name\":\"string\",\"class\":\"io.confluent.example.SumScalarFunction\",\"content_format\":\"JAR\",\"description\":\"string\",\"documentation_link\":\"string\",\"runtime_language\":\"JAVA\",\"versions\":[{\"version\":\"cfa-ver-001\",\"release_notes\":\"string\",\"is_beta\":true,\"artifact_id\":{},\"upload_source\":{\"location\":\"PRESIGNED_URL_LOCATION\",\"upload_id\":\"e53bb2e8-8de3-49fa-9fb1-4e3fd9a16b66\"}}]}"); + Request request = new Request.Builder() + .url("https://api.confluent.cloud/artifact/v1/flink-artifacts/{id}?cloud=AWS®ion=us-east-1") + .patch(body) + .addHeader("content-type", "application/json") + .addHeader("Authorization", "Basic REPLACE_BASIC_AUTH") + .build(); + + Response response = client.newCall(request).execute(); + - lang: Go + source: "package main\n\nimport (\n\t\"fmt\"\n\t\"strings\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.confluent.cloud/artifact/v1/flink-artifacts/{id}?cloud=AWS®ion=us-east-1\"\n\n\tpayload := strings.NewReader(\"{\\\"cloud\\\":\\\"AWS\\\",\\\"region\\\":\\\"us-east-1\\\",\\\"environment\\\":\\\"env-00000\\\",\\\"display_name\\\":\\\"string\\\",\\\"class\\\":\\\"io.confluent.example.SumScalarFunction\\\",\\\"content_format\\\":\\\"JAR\\\",\\\"description\\\":\\\"string\\\",\\\"documentation_link\\\":\\\"string\\\",\\\"runtime_language\\\":\\\"JAVA\\\",\\\"versions\\\":[{\\\"version\\\":\\\"cfa-ver-001\\\",\\\"release_notes\\\":\\\"string\\\",\\\"is_beta\\\":true,\\\"artifact_id\\\":{},\\\"upload_source\\\":{\\\"location\\\":\\\"PRESIGNED_URL_LOCATION\\\",\\\"upload_id\\\":\\\"e53bb2e8-8de3-49fa-9fb1-4e3fd9a16b66\\\"}}]}\")\n\n\treq, _ := http.NewRequest(\"PATCH\", url, payload)\n\n\treq.Header.Add(\"content-type\", \"application/json\")\n\treq.Header.Add(\"Authorization\", \"Basic REPLACE_BASIC_AUTH\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}" + - lang: Python + source: |- + import http.client + + conn = http.client.HTTPSConnection("api.confluent.cloud") + + payload = "{\"cloud\":\"AWS\",\"region\":\"us-east-1\",\"environment\":\"env-00000\",\"display_name\":\"string\",\"class\":\"io.confluent.example.SumScalarFunction\",\"content_format\":\"JAR\",\"description\":\"string\",\"documentation_link\":\"string\",\"runtime_language\":\"JAVA\",\"versions\":[{\"version\":\"cfa-ver-001\",\"release_notes\":\"string\",\"is_beta\":true,\"artifact_id\":{},\"upload_source\":{\"location\":\"PRESIGNED_URL_LOCATION\",\"upload_id\":\"e53bb2e8-8de3-49fa-9fb1-4e3fd9a16b66\"}}]}" + + headers = { + 'content-type': "application/json", + 'Authorization': "Basic REPLACE_BASIC_AUTH" + } + + conn.request("PATCH", "/artifact/v1/flink-artifacts/{id}?cloud=AWS®ion=us-east-1", payload, headers) + + res = conn.getresponse() + data = res.read() + + print(data.decode("utf-8")) + - lang: Node + source: |- + const http = require("https"); + + const options = { + "method": "PATCH", + "hostname": "api.confluent.cloud", + "port": null, + "path": "/artifact/v1/flink-artifacts/{id}?cloud=AWS®ion=us-east-1", + "headers": { + "content-type": "application/json", + "Authorization": "Basic REPLACE_BASIC_AUTH" + } + }; + + const req = http.request(options, function (res) { + const chunks = []; + + res.on("data", function (chunk) { + chunks.push(chunk); + }); + + res.on("end", function () { + const body = Buffer.concat(chunks); + console.log(body.toString()); + }); + }); + + req.write(JSON.stringify({ + cloud: 'AWS', + region: 'us-east-1', + environment: 'env-00000', + display_name: 'string', + class: 'io.confluent.example.SumScalarFunction', + content_format: 'JAR', + description: 'string', + documentation_link: 'string', + runtime_language: 'JAVA', + versions: [ + { + version: 'cfa-ver-001', + release_notes: 'string', + is_beta: true, + artifact_id: {}, + upload_source: { + location: 'PRESIGNED_URL_LOCATION', + upload_id: 'e53bb2e8-8de3-49fa-9fb1-4e3fd9a16b66' + } + } + ] + })); + req.end(); + - lang: C + source: |- + CURL *hnd = curl_easy_init(); + + curl_easy_setopt(hnd, CURLOPT_CUSTOMREQUEST, "PATCH"); + curl_easy_setopt(hnd, CURLOPT_URL, "https://api.confluent.cloud/artifact/v1/flink-artifacts/{id}?cloud=AWS®ion=us-east-1"); + + struct curl_slist *headers = NULL; + headers = curl_slist_append(headers, "content-type: application/json"); + headers = curl_slist_append(headers, "Authorization: Basic REPLACE_BASIC_AUTH"); + curl_easy_setopt(hnd, CURLOPT_HTTPHEADER, headers); + + curl_easy_setopt(hnd, CURLOPT_POSTFIELDS, "{\"cloud\":\"AWS\",\"region\":\"us-east-1\",\"environment\":\"env-00000\",\"display_name\":\"string\",\"class\":\"io.confluent.example.SumScalarFunction\",\"content_format\":\"JAR\",\"description\":\"string\",\"documentation_link\":\"string\",\"runtime_language\":\"JAVA\",\"versions\":[{\"version\":\"cfa-ver-001\",\"release_notes\":\"string\",\"is_beta\":true,\"artifact_id\":{},\"upload_source\":{\"location\":\"PRESIGNED_URL_LOCATION\",\"upload_id\":\"e53bb2e8-8de3-49fa-9fb1-4e3fd9a16b66\"}}]}"); + + CURLcode ret = curl_easy_perform(hnd); + - lang: C# + source: |- + var client = new RestClient("https://api.confluent.cloud/artifact/v1/flink-artifacts/{id}?cloud=AWS®ion=us-east-1"); + var request = new RestRequest(Method.PATCH); + request.AddHeader("content-type", "application/json"); + request.AddHeader("Authorization", "Basic REPLACE_BASIC_AUTH"); + request.AddParameter("application/json", "{\"cloud\":\"AWS\",\"region\":\"us-east-1\",\"environment\":\"env-00000\",\"display_name\":\"string\",\"class\":\"io.confluent.example.SumScalarFunction\",\"content_format\":\"JAR\",\"description\":\"string\",\"documentation_link\":\"string\",\"runtime_language\":\"JAVA\",\"versions\":[{\"version\":\"cfa-ver-001\",\"release_notes\":\"string\",\"is_beta\":true,\"artifact_id\":{},\"upload_source\":{\"location\":\"PRESIGNED_URL_LOCATION\",\"upload_id\":\"e53bb2e8-8de3-49fa-9fb1-4e3fd9a16b66\"}}]}", ParameterType.RequestBody); + IRestResponse response = client.Execute(request); + delete: + x-request-access-name: Flink Artifact API EA + operationId: deleteArtifactV1FlinkArtifact + summary: Delete a Flink Artifact + description: |- + [![Early Access](https://img.shields.io/badge/Lifecycle%20Stage-Early%20Access-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) [![Request Access To Flink Artifact API EA](https://img.shields.io/badge/-Request%20Access%20To%20Flink%20Artifact%20API%20EA-%23bc8540)](mailto:ccloud-api-access+artifact-v1-early-access@confluent.io?subject=Request%20to%20join%20artifact/v1%20API%20Early%20Access&body=I%E2%80%99d%20like%20to%20join%20the%20Confluent%20Cloud%20API%20Early%20Access%20for%20artifact/v1%20to%20provide%20early%20feedback%21%20My%20Cloud%20Organization%20ID%20is%20%3Cretrieve%20from%20https%3A//confluent.cloud/settings/billing/payment%3E.) + + Make a request to delete a flink artifact. + parameters: + - name: cloud + in: query + required: true + schema: + $ref: '#/components/schemas/SearchFilter' + example: AWS + description: Scope the operation to the given cloud. + - name: region + in: query + required: true + schema: + $ref: '#/components/schemas/SearchFilter' + example: us-east-1 + description: Scope the operation to the given region. + - name: id + in: path + required: true + schema: + type: string + description: The unique identifier for the flink artifact. + tags: + - Flink Artifacts (artifact/v1) + security: + - cloud-api-key: [] + - confluent-sts-access-token: [] + responses: + '204': + description: A Flink Artifact is being deleted. + headers: + X-Request-Id: + schema: + type: string + description: The unique identifier for the API request. + X-RateLimit-Limit: + schema: + type: integer + description: The maximum number of requests you're permitted to make per time period. + X-RateLimit-Remaining: + schema: + type: integer + description: The number of requests remaining in the current rate limit window. + X-RateLimit-Reset: + schema: + type: integer + description: |- + The relative time in seconds until the current rate-limit window resets. + + **Important:** This differs from Github and Twitter's same-named header which uses UTC epoch seconds. We use relative time to avoid client/server time synchronization issues. + '400': + $ref: '#/components/responses/BadRequestError' + '401': + $ref: '#/components/responses/UnauthenticatedError' + '403': + $ref: '#/components/responses/UnauthorizedError' + '404': + $ref: '#/components/responses/NotFoundError' + '429': + $ref: '#/components/responses/RateLimitError' + '500': + $ref: '#/components/responses/DefaultSystemError' + x-codeSamples: + - lang: Shell + source: |- + curl --request DELETE \ + --url 'https://api.confluent.cloud/artifact/v1/flink-artifacts/{id}?cloud=AWS®ion=us-east-1' \ + --header 'Authorization: Basic REPLACE_BASIC_AUTH' + - lang: Java + source: |- + OkHttpClient client = new OkHttpClient(); + + Request request = new Request.Builder() + .url("https://api.confluent.cloud/artifact/v1/flink-artifacts/{id}?cloud=AWS®ion=us-east-1") + .delete(null) + .addHeader("Authorization", "Basic REPLACE_BASIC_AUTH") + .build(); + + Response response = client.newCall(request).execute(); + - lang: Go + source: "package main\n\nimport (\n\t\"fmt\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.confluent.cloud/artifact/v1/flink-artifacts/{id}?cloud=AWS®ion=us-east-1\"\n\n\treq, _ := http.NewRequest(\"DELETE\", url, nil)\n\n\treq.Header.Add(\"Authorization\", \"Basic REPLACE_BASIC_AUTH\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}" + - lang: Python + source: |- + import http.client + + conn = http.client.HTTPSConnection("api.confluent.cloud") + + headers = { 'Authorization': "Basic REPLACE_BASIC_AUTH" } + + conn.request("DELETE", "/artifact/v1/flink-artifacts/{id}?cloud=AWS®ion=us-east-1", headers=headers) + + res = conn.getresponse() + data = res.read() + + print(data.decode("utf-8")) + - lang: Node + source: |- + const http = require("https"); + + const options = { + "method": "DELETE", + "hostname": "api.confluent.cloud", + "port": null, + "path": "/artifact/v1/flink-artifacts/{id}?cloud=AWS®ion=us-east-1", + "headers": { + "Authorization": "Basic REPLACE_BASIC_AUTH" + } + }; + + const req = http.request(options, function (res) { + const chunks = []; + + res.on("data", function (chunk) { + chunks.push(chunk); + }); + + res.on("end", function () { + const body = Buffer.concat(chunks); + console.log(body.toString()); + }); + }); + + req.end(); + - lang: C + source: |- + CURL *hnd = curl_easy_init(); + + curl_easy_setopt(hnd, CURLOPT_CUSTOMREQUEST, "DELETE"); + curl_easy_setopt(hnd, CURLOPT_URL, "https://api.confluent.cloud/artifact/v1/flink-artifacts/{id}?cloud=AWS®ion=us-east-1"); + + struct curl_slist *headers = NULL; + headers = curl_slist_append(headers, "Authorization: Basic REPLACE_BASIC_AUTH"); + curl_easy_setopt(hnd, CURLOPT_HTTPHEADER, headers); + + CURLcode ret = curl_easy_perform(hnd); + - lang: C# + source: |- + var client = new RestClient("https://api.confluent.cloud/artifact/v1/flink-artifacts/{id}?cloud=AWS®ion=us-east-1"); + var request = new RestRequest(Method.DELETE); + request.AddHeader("Authorization", "Basic REPLACE_BASIC_AUTH"); + IRestResponse response = client.Execute(request); + /artifact/v1/presigned-upload-url: + post: + summary: Request a presigned upload URL for a new Flink Artifact. + description: |- + [![Early Access](https://img.shields.io/badge/Lifecycle%20Stage-Early%20Access-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) [![Request Access To Flink Artifact API EA](https://img.shields.io/badge/-Request%20Access%20To%20Flink%20Artifact%20API%20EA-%23bc8540)](mailto:ccloud-api-access+artifact-v1-early-access@confluent.io?subject=Request%20to%20join%20artifact/v1%20API%20Early%20Access&body=I%E2%80%99d%20like%20to%20join%20the%20Confluent%20Cloud%20API%20Early%20Access%20for%20artifact/v1%20to%20provide%20early%20feedback%21%20My%20Cloud%20Organization%20ID%20is%20%3Cretrieve%20from%20https%3A//confluent.cloud/settings/billing/payment%3E.) + + Request a presigned upload URL to upload a Flink Artifact archive. + requestBody: + content: + application/json: + schema: + allOf: + - $ref: '#/components/schemas/artifact.v1.PresignedUrlRequest' + - type: object + required: + - content_format + - cloud + - region + x-request-access-name: Flink Artifact API EA + x-name: artifact.v1.PresignedUrl + operationId: presigned-upload-urlArtifactV1PresignedUrl + tags: + - Presigned Urls (artifact/v1) + security: + - cloud-api-key: [] + responses: + '200': + description: Presigned Url. + content: + application/json: + schema: + allOf: + - $ref: '#/components/schemas/artifact.v1.PresignedUrl' + - type: object + required: + - api_version + - kind + 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. + + **Important:** This differs from Github and Twitter's same-named header which uses UTC epoch seconds. We use relative time to avoid client/server time synchronization issues. + '400': + $ref: '#/components/responses/BadRequestError' + '401': + $ref: '#/components/responses/UnauthenticatedError' + '403': + $ref: '#/components/responses/UnauthorizedError' + '404': + $ref: '#/components/responses/NotFoundError' + '429': + $ref: '#/components/responses/RateLimitError' + '500': + $ref: '#/components/responses/DefaultSystemError' + x-codeSamples: + - lang: Shell + source: |- + curl --request POST \ + --url https://api.confluent.cloud/artifact/v1/presigned-upload-url \ + --header 'Authorization: Basic REPLACE_BASIC_AUTH' \ + --header 'content-type: application/json' \ + --data '{"content_format":"JAR","cloud":"AWS","region":"us-east-1"}' + - lang: Java + source: |- + OkHttpClient client = new OkHttpClient(); + + MediaType mediaType = MediaType.parse("application/json"); + RequestBody body = RequestBody.create(mediaType, "{\"content_format\":\"JAR\",\"cloud\":\"AWS\",\"region\":\"us-east-1\"}"); + Request request = new Request.Builder() + .url("https://api.confluent.cloud/artifact/v1/presigned-upload-url") + .post(body) + .addHeader("content-type", "application/json") + .addHeader("Authorization", "Basic REPLACE_BASIC_AUTH") + .build(); + + Response response = client.newCall(request).execute(); + - lang: Go + source: "package main\n\nimport (\n\t\"fmt\"\n\t\"strings\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.confluent.cloud/artifact/v1/presigned-upload-url\"\n\n\tpayload := strings.NewReader(\"{\\\"content_format\\\":\\\"JAR\\\",\\\"cloud\\\":\\\"AWS\\\",\\\"region\\\":\\\"us-east-1\\\"}\")\n\n\treq, _ := http.NewRequest(\"POST\", url, payload)\n\n\treq.Header.Add(\"content-type\", \"application/json\")\n\treq.Header.Add(\"Authorization\", \"Basic REPLACE_BASIC_AUTH\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}" + - lang: Python + source: |- + import http.client + + conn = http.client.HTTPSConnection("api.confluent.cloud") + + payload = "{\"content_format\":\"JAR\",\"cloud\":\"AWS\",\"region\":\"us-east-1\"}" + + headers = { + 'content-type': "application/json", + 'Authorization': "Basic REPLACE_BASIC_AUTH" + } + + conn.request("POST", "/artifact/v1/presigned-upload-url", payload, headers) + + res = conn.getresponse() + data = res.read() + + print(data.decode("utf-8")) + - lang: Node + source: |- + const http = require("https"); + + const options = { + "method": "POST", + "hostname": "api.confluent.cloud", + "port": null, + "path": "/artifact/v1/presigned-upload-url", + "headers": { + "content-type": "application/json", + "Authorization": "Basic REPLACE_BASIC_AUTH" + } + }; + + const req = http.request(options, function (res) { + const chunks = []; + + res.on("data", function (chunk) { + chunks.push(chunk); + }); + + res.on("end", function () { + const body = Buffer.concat(chunks); + console.log(body.toString()); + }); + }); + + req.write(JSON.stringify({content_format: 'JAR', cloud: 'AWS', region: 'us-east-1'})); + req.end(); + - lang: C + source: |- + CURL *hnd = curl_easy_init(); + + curl_easy_setopt(hnd, CURLOPT_CUSTOMREQUEST, "POST"); + curl_easy_setopt(hnd, CURLOPT_URL, "https://api.confluent.cloud/artifact/v1/presigned-upload-url"); + + struct curl_slist *headers = NULL; + headers = curl_slist_append(headers, "content-type: application/json"); + headers = curl_slist_append(headers, "Authorization: Basic REPLACE_BASIC_AUTH"); + curl_easy_setopt(hnd, CURLOPT_HTTPHEADER, headers); + + curl_easy_setopt(hnd, CURLOPT_POSTFIELDS, "{\"content_format\":\"JAR\",\"cloud\":\"AWS\",\"region\":\"us-east-1\"}"); + + CURLcode ret = curl_easy_perform(hnd); + - lang: C# + source: |- + var client = new RestClient("https://api.confluent.cloud/artifact/v1/presigned-upload-url"); + var request = new RestRequest(Method.POST); + request.AddHeader("content-type", "application/json"); + request.AddHeader("Authorization", "Basic REPLACE_BASIC_AUTH"); + request.AddParameter("application/json", "{\"content_format\":\"JAR\",\"cloud\":\"AWS\",\"region\":\"us-east-1\"}", ParameterType.RequestBody); + IRestResponse response = client.Execute(request); diff --git a/providers/src/confluent/v00.00.00000/services/flink_compute_pools.yaml b/providers/src/confluent/v00.00.00000/services/flink_compute_pools.yaml new file mode 100644 index 00000000..37af62a9 --- /dev/null +++ b/providers/src/confluent/v00.00.00000/services/flink_compute_pools.yaml @@ -0,0 +1,4098 @@ +openapi: 3.0.0 +servers: + - url: 'https://api.confluent.cloud' + description: Confluent Cloud API +info: + version: '' + contact: + name: Confluent Cloud + url: 'https://www.confluent.io/cloud-contact-us/' + email: support@confluent.io + x-api-id: 46234552-5833-42eb-ba0f-883ad3f70d2b + x-audience: external-public + x-logo: + url: 'https://assets.confluent.io/m/5ec23aa91903c00b/' + title: Confluent Cloud APIs - flink_compute_pools + description: flink_compute_pools +tags: + - name: API Keys (iam/v2) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + `ApiKey` objects represent access to different parts of Confluent Cloud. Some types + of API keys represent access to a single cluster/resource such as a Kafka cluster, + Schema Registry cluster or a ksqlDB cluster. Cloud API Keys represent access to resources within an organization + that are not tied to a specific cluster, such as the Org API, IAM API, Metrics API or Connect API. + + The API allows you to list, create, update and delete your API Keys. + + + Related guide: [API Keys in Confluent Cloud](https://docs.confluent.io/cloud/current/client-apps/api-keys.html). + + ## The API Keys Model + + + ## Quotas and Limits + This resource is subject to the [following quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): + + | Quota | Description | + | --- | --- | + | `apikeys_per_org` | API Keys in one Confluent Cloud organization | + - name: Environments (org/v2) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + `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](https://docs.confluent.io/cloud/current/access-management/environments.html). + + ## The Environments Model + + + ## Quotas and Limits + This resource is subject to the [following quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): + + | Quota | Description | + | --- | --- | + | `environments_per_org` | Environments in one Confluent Cloud organization | + - name: Organizations (org/v2) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + `Organization` objects represent a customer organization. An organization contains all customer + resources (e.g., Environments, Kafka Clusters, Service Accounts, API Keys) and is tied to a billing + agreement (including any annual commitment or support plan). + + The API allows you to list, view, and update your organizations. + + + Related guide: [Organizations for Confluent Cloud](https://docs.confluent.io/cloud/current/access-management/hierarchy/organizations/cloud-organization.html). + + ## The Organizations Model + + + ## Quotas and Limits + This resource is subject to the [following quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): + + | Quota | Description | + | --- | --- | + | `organizations_per_user` | Confluent Cloud organizations a user belongs to | + - name: Users (iam/v2) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + `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](https://docs.confluent.io/cloud/current/access-management/user-account.html). + + ## The Users Model + + + ## Quotas and Limits + This resource is subject to the [following quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): + + | Quota | Description | + | --- | --- | + | `users_per_org` | Users in one Confluent Cloud organization | + - name: Service Accounts (iam/v2) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + `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](https://docs.confluent.io/cloud/current/access-management/service-account.html). + + ## The Service Accounts Model + + + ## Quotas and Limits + This resource is subject to the [following quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): + + | Quota | Description | + | --- | --- | + | `service_accounts_per_org` | Service Accounts in one Confluent Cloud organization | + - name: Invitations (iam/v2) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + `Invitation` objects represent invitations to invite users to join your organizations in Confluent Cloud. + + The API allows you to list all your invitations, as well as create, read, and delete a specified invitation. + + + Related guide: [User invitations in Confluent Cloud](https://docs.confluent.io/cloud/current/access-management/identity/user-accounts.html). + + ## The Invitations Model + + + ## Quotas and Limits + This resource is subject to the [following quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): + + | Quota | Description | + | --- | --- | + | `invitations_per_org` | Invitations in a Confluent Cloud organization | + - name: IP Groups (iam/v2) + description: |- + [![Limited Availability](https://img.shields.io/badge/Lifecycle%20Stage-Limited%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) [![Request Access To IP Groups API](https://img.shields.io/badge/-Request%20Access%20To%20IP%20Groups%20API-%23bc8540)](mailto:cloud-support@confluent.io?subject=Request%20to%20join%20IP%20Filtering%20API%20Limited%20Access&body=I%E2%80%99d%20like%20to%20join%20the%20Confluent%20Cloud%20API%20Limited%20Access%20for%20IP%20Filtering.%0AMy%20Cloud%20Organization%20ID%20is%20%3Cretrieve%20from%20https%3A//confluent.cloud/settings/billing/payment%3E.%0A) + + Definitions of networks which can be named and referred by IP blocks, commonly used to attach to IP Filter rules. + + + ## The IP Groups Model + + - name: IP Filters (iam/v2) + description: |- + [![Limited Availability](https://img.shields.io/badge/Lifecycle%20Stage-Limited%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) [![Request Access To IP Filters API](https://img.shields.io/badge/-Request%20Access%20To%20IP%20Filters%20API-%23bc8540)](mailto:ccloud-api-access+iam-v2-limited-availability@confluent.io?subject=Request%20to%20join%20iam/v2%20API%20Limited%20Availability&body=I%E2%80%99d%20like%20to%20join%20the%20Confluent%20Cloud%20API%20Limited%20Availability%20for%20iam/v2%20to%20provide%20early%20feedback%21%20My%20Cloud%20Organization%20ID%20is%20%3Cretrieve%20from%20https%3A//confluent.cloud/settings/billing/payment%3E.) + + `IP Filter` objects are bindings between IP Groups and Confluent resource(s). + For example, a binding between "CorpNet" and "Management APIs" will enforce that + access must come from one of the CIDR blocks associated with CorpNet. + If there are multiple IP filters bound to a resource, a request matching any of the CIDR blocks + for any of the IP Group will allow the request. + If there are no IP Filters for a resource, then access will be granted to requests originating + from any IP Address. + + + ## The IP Filters Model + + - name: Role Bindings (iam/v2) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + A role binding grants a Principal a role on resources that match a pattern. + + The API allows you to perform create, delete, and list operations on role bindings. + + + Related guide: [Role-Based Access Control (RBAC)](https://docs.confluent.io/cloud/current/access-management/access-control/cloud-rbac.html). + + ## The Role Bindings Model + + - name: Subscriptions (notifications/v1) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + `Subscription` objects represent the intent of the customers to get notifications of particular types. + A subscription is created for a particular `NotificationType` and the user will get notifications on the + `Integrations` that are provided while creating the subscription. + + This API allows you to create, retrieve, and update subscriptions, + as well as to view the list of all your subscriptions. You can also delete subscriptions + with RECOMMENDED or OPTIONAL notification types. Subscriptions with REQUIRED notification types cannot be deleted. + + + Related guide: [Cloud Notifications](https://docs.confluent.io/cloud/current/monitoring/configure-notifications.html#notifications-for-ccloud). + + ## The Subscriptions Model + + - name: Integrations (notifications/v1) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + You can create an `Integration` to specify how we can notify you when we receive an alert/notification for + a subscription. Please note that you can only perform create, update and delete operations for integrations + of type `Webhook`, `Slack` and `MsTeams`. You cannot create, update or delete integrations of type `RoleEmail` + and `UserEmail`. + + + Related guide: [Cloud Notifications](https://docs.confluent.io/cloud/current/monitoring/configure-notifications.html#notifications-for-ccloud). + + ## The Integrations Model + + + ## Quotas and Limits + This resource is subject to the [following quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): + + | Quota | Description | + | --- | --- | + | `integrations_per_org` | Maximum number of integrations in one Confluent Cloud organization | + - name: Notification Types (notifications/v1) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + The type of notifications (and their corresponding metadata) supported by Confluent. + + + Related guide: [Cloud Notifications](https://docs.confluent.io/cloud/current/monitoring/configure-notifications.html#notifications-for-ccloud). + + ## The Notification Types Model + + - name: Clusters (cmk/v2) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + `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](https://docs.confluent.io/cloud/current/clusters/cluster-api.html). + + ## The Clusters Model + + + ## Quotas and Limits + This resource is subject to the [following quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): + + | Quota | Description | + | --- | --- | + | `kafka_clusters_per_environment` | Number of clusters in one Confluent Cloud environment | + - name: Clusters (ksqldbcm/v2) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + `Cluster` represents a ksqlDB runtime that you can issue queries to using its API endpoint. + It executes SQL statements and queries which under the hood get built into corresponding + Kafka Streams topologies. The API allows you to list, create, read, and delete your ksqlDB clusters. + + + Related guide: [ksqlDB in Confluent Cloud](https://docs.confluent.io/cloud/current/ksqldb/ksqldb-cluster-api.html). + + ## The Clusters Model + + + ## Quotas and Limits + This resource is subject to the following quotas: + + | Quota | Description | + | --- | --- | + | `ksql.limits.max_apps_per_cluster` | Clusters in one Confluent Cloud Kafka Cluster. | + - name: Connectors (connect/v1) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + API for Managed Connectors or Custom Connectors in Confluent Cloud. + + The API allows you to list, create, get, update and delete a Managed Connector or Custom Connector in Confluent Cloud. + + Connect metrics are available through the [Metrics v2 API](https://api.telemetry.confluent.cloud/docs#tag/Version-2). + + Related guide: [Confluent Cloud API and Managed Connectors](https://docs.confluent.io/cloud/current/connectors/connect-api-section.html). + - name: Lifecycle (connect/v1) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + API for managing the lifecycle for a Managed Connector or Custom Connector in Confluent Cloud. Operations currently supported are Pause and Resume. + - name: Status (connect/v1) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + API for requesting the status or the tasks for a Managed Connector or Custom Connector in Confluent Cloud. + - name: Managed Connector Plugins (connect/v1) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + API for Managed connectors in Confluent Cloud. + - name: Offsets (connect/v1) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + API for managing the offsets for a Managed Connector. + + Related guide: [Manage Connector Offsets](https://docs.confluent.io/cloud/current/connectors/offsets.html#manage-offsets-for-fully-managed-connectors-in-ccloud) + - name: Custom Connector Plugins (connect/v1) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + CustomConnectorPlugins objects represent Custom Connector Plugins on Confluent Cloud. + The API allows you to list, create, read, update, and delete your Custom Connector Plugins. + Related guide: + [Custom Connector Plugin API](https://docs.confluent.io/cloud/current/connectors/connect-api-section.html). + + + ## The Custom Connector Plugins Model + + - name: Presigned Urls (connect/v1) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + Request a presigned upload URL for new Custom Connector Plugin. Note that + the URL policy expires in one hour. If the policy expires, you can request + a new presigned upload URL. + + Related guide: + [Custom Connector Plugin API](https://docs.confluent.io/cloud/current/connectors/connect-api-section.html). + + + ## The Presigned Urls Model + + - name: Cluster (v3) + description: '[![Generally Available](https://img.shields.io/badge/Lifecycle%20Stage-Generally%20Available-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy)' + - name: Configs (v3) + description: '[![Generally Available](https://img.shields.io/badge/Lifecycle%20Stage-Generally%20Available-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy)' + - name: ACL (v3) + description: '[![Generally Available](https://img.shields.io/badge/Lifecycle%20Stage-Generally%20Available-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy)' + - name: Consumer Group (v3) + description: '[![Generally Available](https://img.shields.io/badge/Lifecycle%20Stage-Generally%20Available-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy)' + - name: Partition (v3) + description: '[![Generally Available](https://img.shields.io/badge/Lifecycle%20Stage-Generally%20Available-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy)' + - name: Topic (v3) + description: '[![Generally Available](https://img.shields.io/badge/Lifecycle%20Stage-Generally%20Available-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy)' + - name: Records (v3) + description: '[![Generally Available](https://img.shields.io/badge/Lifecycle%20Stage-Generally%20Available-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy)' + - name: Cluster Linking (v3) + description: '[![Generally Available](https://img.shields.io/badge/Lifecycle%20Stage-Generally%20Available-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy)' + - name: Applied Quotas (service-quota/v1) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + A `quota` object represents a quota configuration for a specific Confluent Cloud resource. + Use this API to retrieve an individual quota or list of quotas for a given scope. + + + Related guide: [Service Quotas for Confluent Cloud](https://docs.confluent.io/cloud/current/quotas/index.html). + + ## The Applied Quotas Model + + - name: Scopes (service-quota/v1) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + Gets a list of all available scopes for applied quotas. + + + Related guide: [Quota Scopes](https://docs.confluent.io/cloud/current/quotas/quotas.html#query-for-scopes). + + ## The Scopes Model + + - name: Entitlements (partner/v2) + description: | + [![Early Access](https://img.shields.io/badge/Lifecycle%20Stage-Early%20Access-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) [![Request Access To Partner v2](https://img.shields.io/badge/-Request%20Access%20To%20Partner%20v2-%23bc8540)](mailto:ccloud-api-access+partner-v2-early-access@confluent.io?subject=Request%20to%20join%20partner/v2%20API%20Early%20Access&body=I%E2%80%99d%20like%20to%20join%20the%20Confluent%20Cloud%20API%20Early%20Access%20for%20partner/v2%20to%20provide%20early%20feedback%21%20My%20Cloud%20Organization%20ID%20is%20%3Cretrieve%20from%20https%3A//confluent.cloud/settings/billing/payment%3E.) + + `Entitlement` objects represent metadata about a marketplace entitlement. + + An entitlement includes metadata about a marketplace purchase + (start date, end date, billing information, partner IDs, etc). + The API allows partners to create, read, and list entitlements. (Unless you + need entitlement creation and customer registration to be separate, + we recommend using the Signup API to create an organization and entitlement + at the same time) + + The API only allows authorized partners to interact with the Entitlements API. + - name: Regions (srcm/v2) + description: |- + [![Deprecated](https://img.shields.io/badge/Lifecycle%20Stage-Deprecated-%23ff005c)](#section/Versioning/API-Lifecycle-Policy) + + `Region` objects represent cloud provider regions available when placing Schema Registry clusters. + The API allows you to list Schema Registry regions. + + + Related guides: + * [Confluent Cloud providers and region support](https://docs.confluent.io/cloud/current/stream-governance/packages.html#cloud-providers-and-region-support). + * [srcm/v3 Migration Guide](https://docs.confluent.io/cloud/current/stream-governance/packages.html#deprecation-of-srcm-v2-clusters-and-regions-apis-and-upgrade-guide). + + + ## The Regions Model + + - name: Clusters (srcm/v2) + description: |- + [![Deprecated](https://img.shields.io/badge/Lifecycle%20Stage-Deprecated-%23ff005c)](#section/Versioning/API-Lifecycle-Policy) + + `Clusters` objects represent Schema Registry Clusters on Confluent Cloud. + + The API allows you to list, create, read, and delete your Schema Registry clusters. + + + Related guides: + * [Confluent Cloud Schema Registry Cluster APIs](https://docs.confluent.io/cloud/current/stream-governance/clusters-regions-api.html#schema-registry-cluster-management). + * [srcm/v3 Migration Guide](https://docs.confluent.io/cloud/current/stream-governance/packages.html#deprecation-of-srcm-v2-clusters-and-regions-apis-and-upgrade-guide). + + + ## The Clusters Model + + - name: Clusters (srcm/v3) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + `Clusters` objects represent Schema Registry Clusters on Confluent Cloud. + + The API allows you to list and read your Schema Registry clusters. + + + Related guide: [Confluent Cloud Schema Registry Cluster APIs](https://docs.confluent.io/cloud/current/stream-governance/clusters-regions-api.html#schema-registry-cluster-management). + + ## The Clusters Model + + - name: Compatibility (v1) + description: |- + [![Generally Available](https://img.shields.io/badge/Lifecycle%20Stage-Generally%20Available-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + The API allows you to test schema compatibility. + + Related guide: [Manage Schemas in Confluent Cloud](https://docs.confluent.io/cloud/current/sr/schemas-manage.html#manage-schemas-in-ccloud). + - name: Config (v1) + description: |- + [![Generally Available](https://img.shields.io/badge/Lifecycle%20Stage-Generally%20Available-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + The API allows you to manage and query schema compatibility settings and cluster configurations. + + Related guide: [Manage Schemas in Confluent Cloud](https://docs.confluent.io/cloud/current/sr/schemas-manage.html#manage-schemas-in-ccloud). + - name: Contexts (v1) + description: |- + [![Generally Available](https://img.shields.io/badge/Lifecycle%20Stage-Generally%20Available-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + The API allows you to retrieve information about schema contexts. + + Related guide: [Manage Schemas in Confluent Cloud](https://docs.confluent.io/cloud/current/sr/schemas-manage.html#manage-schemas-in-ccloud). + - name: Exporters (v1) + description: |- + [![Generally Available](https://img.shields.io/badge/Lifecycle%20Stage-Generally%20Available-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + The API allows you to create, retrieve, update, and delete exporters. + + Related guide: [Manage Schemas in Confluent Cloud](https://docs.confluent.io/cloud/current/sr/schemas-manage.html#manage-schemas-in-ccloud). + - name: Modes (v1) + description: |- + [![Generally Available](https://img.shields.io/badge/Lifecycle%20Stage-Generally%20Available-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + The API allows you to create, retrieve, update, and delete schema subjects modes of operation. + + Related guide: [Manage Schemas in Confluent Cloud](https://docs.confluent.io/cloud/current/sr/schemas-manage.html#manage-schemas-in-ccloud). + - name: Schemas (v1) + description: |- + [![Generally Available](https://img.shields.io/badge/Lifecycle%20Stage-Generally%20Available-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + The API allows you to create, retrieve, update, and delete schemas. + + Related guide: [Manage Schemas in Confluent Cloud](https://docs.confluent.io/cloud/current/sr/schemas-manage.html#manage-schemas-in-ccloud). + - name: Subjects (v1) + description: |- + [![Generally Available](https://img.shields.io/badge/Lifecycle%20Stage-Generally%20Available-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + The API allows you to create, retrieve, update, and delete schema subjects and versions. + + Related guide: [Manage Schemas in Confluent Cloud](https://docs.confluent.io/cloud/current/sr/schemas-manage.html#manage-schemas-in-ccloud). + - name: Key Encryption Keys (v1) + description: |- + [![Generally Available](https://img.shields.io/badge/Lifecycle%20Stage-Generally%20Available-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + The API allows you to create, retrieve, update, and delete key encryption keys. + + Related guide: [Manage Schemas in Confluent Cloud](https://docs.confluent.io/cloud/current/sr/schemas-manage.html#manage-schemas-in-ccloud). + - name: Data Encryption Keys (v1) + description: |- + [![Generally Available](https://img.shields.io/badge/Lifecycle%20Stage-Generally%20Available-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + The API allows you to create, retrieve, update, and delete data encryption keys. + + Related guide: [Manage Schemas in Confluent Cloud](https://docs.confluent.io/cloud/current/sr/schemas-manage.html#manage-schemas-in-ccloud). + - name: Entity (v1) + description: |- + [![Generally Available](https://img.shields.io/badge/Lifecycle%20Stage-Generally%20Available-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + The API allows you to create, retrieve, update, and delete catalog entities. + + Related guide: [Catalog API Documentation](https://docs.confluent.io/cloud/current/stream-governance/stream-catalog.html#catalog-api-documentation). + - name: Search (v1) + description: |- + [![Generally Available](https://img.shields.io/badge/Lifecycle%20Stage-Generally%20Available-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + The API allows you to search for entities. + + Related guide: [Catalog API Documentation](https://docs.confluent.io/cloud/current/stream-governance/stream-catalog.html#catalog-api-documentation). + - name: Types (v1) + description: |- + [![Generally Available](https://img.shields.io/badge/Lifecycle%20Stage-Generally%20Available-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + The API allows you to create, retrieve, update, and delete catalog types such as tag definitions. + + Related guide: [Catalog API Documentation](https://docs.confluent.io/cloud/current/stream-governance/stream-catalog.html#catalog-api-documentation). + - name: Provider Shared Resources (cdx/v1) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + `ProviderSharedResource` object contains details of the data stream + (topic, schema registry subjects, sharing metadata) that you have shared through Stream Sharing. + + + ## The Provider Shared Resources Model + + - name: Provider Shares (cdx/v1) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + `ProviderShare` object respresents the share that you have created through Stream Sharing. + + + Related guide: [Provider Stream Shares in Confluent Cloud](https://docs.confluent.io/cloud/current/stream-sharing/produce-shared-data.html#stream-shares). + + ## The Provider Shares Model + + - name: Consumer Shared Resources (cdx/v1) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + `ConsumerSharedResource` object contains details of the data stream + (topic, schema registry subjects, sharing metadata) that you received through Stream Sharing. + + + ## The Consumer Shared Resources Model + + - name: Consumer Shares (cdx/v1) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + `ConsumerShare` object respresents the share that you received through Stream Sharing. + + + Related guide: [Consumer Stream Shares in Confluent Cloud](https://docs.confluent.io/cloud/current/stream-sharing/consume-shared-data.html). + + ## The Consumer Shares Model + + - name: Shared Tokens (cdx/v1) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + Encrypted Token shared with consumer + + + ## The Shared Tokens Model + + - name: Opt Ins (cdx/v1) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + Stream sharing opt in options + + ## The Opt Ins Model + + - name: Organizations (partner/v2) + description: | + [![Early Access](https://img.shields.io/badge/Lifecycle%20Stage-Early%20Access-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) [![Request Access To Partner v2](https://img.shields.io/badge/-Request%20Access%20To%20Partner%20v2-%23bc8540)](mailto:ccloud-api-access+partner-v2-early-access@confluent.io?subject=Request%20to%20join%20partner/v2%20API%20Early%20Access&body=I%E2%80%99d%20like%20to%20join%20the%20Confluent%20Cloud%20API%20Early%20Access%20for%20partner/v2%20to%20provide%20early%20feedback%21%20My%20Cloud%20Organization%20ID%20is%20%3Cretrieve%20from%20https%3A//confluent.cloud/settings/billing/payment%3E.) + + `Organizations` objects represent an entire Confluent Cloud organization. + Partners are allowed to get an organization they have signed up or + list all organizations they have signed up. + - name: Signup (partner/v2) + description: | + [![Early Access](https://img.shields.io/badge/Lifecycle%20Stage-Early%20Access-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) [![Request Access To Partner v2](https://img.shields.io/badge/-Request%20Access%20To%20Partner%20v2-%23bc8540)](mailto:ccloud-api-access+partner-v2-early-access@confluent.io?subject=Request%20to%20join%20partner/v2%20API%20Early%20Access&body=I%E2%80%99d%20like%20to%20join%20the%20Confluent%20Cloud%20API%20Early%20Access%20for%20partner/v2%20to%20provide%20early%20feedback%21%20My%20Cloud%20Organization%20ID%20is%20%3Cretrieve%20from%20https%3A//confluent.cloud/settings/billing/payment%3E.) + + `Signup` APIs can only be performed by partners. + - name: Networks (networking/v1) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + `Network` represents a network (VPC) in Confluent Cloud. All Networks exist within Confluent-managed cloud + provider accounts. Dedicated networks support more networking options but can only contain Dedicated clusters. + Shared networks can contain any cluster type. + + The API allows you to list, create, read, update, and delete your networks. + + + Related guide: [APIs to manage networks in Confluent Cloud](https://docs.confluent.io/cloud/current/networking/overview.html). + + ## The Networks Model + + + ## Quotas and Limits + This resource is subject to the [following quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): + + | Quota | Description | + | --- | --- | + | `dedicated_networks_per_environment` | Number of dedicated networks per Confluent Cloud environment | + - name: Peerings (networking/v1) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + Add or remove VPC/VNet peering connections between your VPC/VNet and Confluent Cloud. + + Related guides: + * [Use VPC peering connections with Confluent Cloud on AWS](https://docs.confluent.io/cloud/current/networking/peering/aws-peering.html). + * [Use VNet peering connections with Confluent Cloud on Azure](https://docs.confluent.io/cloud/current/networking/peering/azure-peering.html). + * [Use VPC peering connections with Confluent Cloud on Google Cloud](https://docs.confluent.io/cloud/current/networking/peering/gcp-peering.html). + + + ## The Peerings Model + + + ## Quotas and Limits + This resource is subject to the [following quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): + + | Quota | Description | + | --- | --- | + | `peerings_per_network` | Number of peerings per network | + - name: Transit Gateway Attachments (networking/v1) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + AWS Transit Gateway Attachments + + Related guide: [APIs to manage AWS Transit Gateway Attachments](https://docs.confluent.io/cloud/current/networking/aws-transit-gateway.html). + + ## The Transit Gateway Attachments Model + + + ## Quotas and Limits + This resource is subject to the [following quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): + + | Quota | Description | + | --- | --- | + | `tgw_attachments_per_network` | Number of TGW attachments per network | + - name: Private Link Accesses (networking/v1) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + Add or remove access to PrivateLink endpoints by AWS account, Azure subscription and GCP project ID. + + Related guides: + * [Use Google Cloud Private Service Connect with Confluent Cloud](https://docs.confluent.io/cloud/current/networking/private-links/gcp-private-service-connect.html). + * [Use Azure Private Link with Confluent Cloud](https://docs.confluent.io/cloud/current/networking/private-links/azure-privatelink.html). + * [Use AWS PrivateLink with Confluent Cloud](https://docs.confluent.io/cloud/current/networking/private-links/aws-privatelink.html). + + + ## The Private Link Accesses Model + + + ## Quotas and Limits + This resource is subject to the [following quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): + + | Quota | Description | + | --- | --- | + | `private_link_accounts_per_network` | Number of AWS accounts per network | + | `private_link_subscriptions_per_network` | Number of Azure subscriptions per network | + | `private_service_connect_projects_per_network` | Number of GCP projects per network | + - name: Network Link Services (networking/v1) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + Network Link Service is associated with a Private Link Confluent Cloud Network. + It enables connectivity from other Private Link Confluent Cloud Networks based on + the configured accept policies. + + + Related guide: [Network Linking Overview](https://docs.confluent.io/cloud/current/networking/network-linking.html). + + ## The Network Link Services Model + + + ## Quotas and Limits + This resource is subject to the [following quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): + + | Quota | Description | + | --- | --- | + | `network_link_service_per_network` | Number of network link services per network | + - name: Network Link Endpoints (networking/v1) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + A Network Link Enpoint is associated with a Private Link Confluent Cloud Network at the origin and a + Network Link Service (associated with another Private Link Confluent Cloud Network) at the target. + It enables connectivity between the origin network and the target network. + It can only be associated with a Private Link network. + + + Related guide: [Network Linking Overview](https://docs.confluent.io/cloud/current/networking/network-linking.html). + + ## The Network Link Endpoints Model + + + ## Quotas and Limits + This resource is subject to the [following quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): + + | Quota | Description | + | --- | --- | + | `network_link_endpoints_per_network` | Number of network link endpoints per network | + - name: Network Link Service Associations (networking/v1) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + List of incoming Network Link Enpoints associated with the Network Link Service. + + + Related guide: [Network Linking Overview](https://docs.confluent.io/cloud/current/networking/network-linking.html). + + ## The Network Link Service Associations Model + + - name: Gateways (networking/v1) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + A gateway is a resource that defines network access to Confluent cloud resources. + + + ## The Gateways Model + + - name: IP Addresses (networking/v1) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + IP Addresses + + Related guide: [Use Public Egress IP addresses on Confluent Cloud](https://docs.confluent.io/cloud/current/networking/static-egress-ip-addresses.html) + + ## The IP Addresses Model + + - name: Private Link Attachments (networking/v1) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + PrivateLink attachment objects represent reservations to establish PrivateLink connections + to a cloud region in order to access resources that belong to a Confluent Cloud Environment. + The API allows you to list, create, read update and delete your PrivateLink attachments. + + + ## The Private Link Attachments Model + + + ## Quotas and Limits + This resource is subject to the [following quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): + + | Quota | Description | + | --- | --- | + | `private_link_attachments_per_environment` | Number of PrivateLink Attachments per environment | + - name: Private Link Attachment Connections (networking/v1) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + PrivateLink attachment connection objects represent connections established to a cloud region + in order to access resources that belong to a Confluent Cloud Environment. + The API allows you to list, create, read update and delete your PrivateLink attachment connections. + + + ## The Private Link Attachment Connections Model + + - name: Identity Providers (iam/v2) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + `IdentityProvider` objects represent external OAuth-OIDC providers in Confluent Cloud. + + The API allows you to list, create, read, update, and delete your Identity Provider. + + + Related guide: [OAuth for Confluent Cloud](https://docs.confluent.io/cloud/current/access-management/authenticate/oauth/overview.html). + + ## The Identity Providers Model + + + ## Quotas and Limits + This resource is subject to the [following quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): + + | Quota | Description | + | --- | --- | + | `identity_providers_per_org` | Number of OAuth identity providers per organization | + | `public_keys_per_provider` | Number of public keys saved per identity provider | + - name: Jwks (iam/v2) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + `JWKS` objects represent public key sets for a specific OAuth/OpenID Connect provider within + Confluent Cloud. + + The API allows you to refresh JWKS public key data. + + + Related guide: [OAuth for Confluent Cloud](https://docs.confluent.io/cloud/current/access-management/authenticate/oauth/overview.html). + + ## The Jwks Model + + - name: Identity Pools (iam/v2) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + `IdentityPool` objects represent groups of identities tied to a given a `IdentityProvider` + that authorizes them to Confluent Cloud resources. + + It provides a mapping functionality of your `Identity Provider` user to a Confluent identity pool that + is then used to provide access to Confluent Resources. + + + Related guide: [Use identity pools with your OAuth provider](https://docs.confluent.io/cloud/current/access-management/authenticate/oauth/identity-pools.html). + + ## The Identity Pools Model + + + ## Quotas and Limits + This resource is subject to the [following quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): + + | Quota | Description | + | --- | --- | + | `identity_pools_per_provider` | Number of Identity Pools per Identity Provider | + - name: OAuth Tokens (sts/v1) + description: | + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + OAuth Token is a [JSON Web Token (JWT)](https://www.rfc-editor.org/rfc/rfc7519) that enables the use of + external identities to access Confluent Cloud APIs + - name: Client Quotas (kafka-quotas/v1) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + `ClientQuota` objects represent Client Quotas you can set at the service account level. + + The API allows you to list, create, read, update, and delete your client quotas. + + + Related guide: [Client Quotas in Confluent Cloud](https://docs.confluent.io/cloud/current/clusters/client-quotas.html). + + ## The Client Quotas Model + + - name: Pipelines (sd/v1) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + `Pipeline` objects represent information about a user-defined pipeline of Confluent Cloud components. + The pipeline's content is available separately. + + The API allows you to create, retrieve, update, and delete your pipelines, + as well as list all of your pipelines for the particular environment and Kafka cluster. + + + Related guide: [Pipelines in Confluent Cloud](https://docs.confluent.io/cloud/current/stream-designer/). + + ## The Pipelines Model + + + ## Quotas and Limits + This resource is subject to the [following quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): + + | Quota | Description | + | --- | --- | + | `pipelines_per_org` | Pipelines in one Confluent Cloud organization | + | `pipelines_per_cluster` | Pipelines in one Confluent Cloud Kafka cluster | + - name: Keys (byok/v1) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + `Key` objects represent customer managed keys on dedicated Confluent Cloud clusters. + + Keys are used to protect data at rest stored in your dedicated Confluent Cloud clusters on AWS, Azure, and GCP. + This API allows you to upload and retrieve self-managed keys on Confluent Cloud. + + + Related guide: [Confluent Cloud Bring Your Own Key (BYOK) Management API](https://docs.confluent.io/cloud/current/clusters/byok/index.html). + + ## The Keys Model + + + ## Quotas and Limits + This resource is subject to the [following quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): + + | Quota | Description | + | --- | --- | + | `byok.max_keys.per_org` | BYOK keys in one Confluent Cloud organisation. | + - name: Costs (billing/v1) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + `Cost` objects represent the aggregated billing costs for an organization + + + Related guide: [Retrieve costs for a range of dates](https://docs.confluent.io/cloud/current/billing/overview.html#retrieve-costs-for-a-range-of-dates). + + ## The Costs Model + + - name: Group Mappings (iam/v2/sso) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + `GroupMapping` objects establish relationships between user groups in your SSO + identity provider and specific RBAC roles in Confluent Cloud. + + Group mappings enable automated and secure access control to Confluent Cloud resources, + reducing administrative workload by streamlining user provisioning and authorization. + + + Related guide: [Use group mappings with your SSO identity provider](https://docs.confluent.io/cloud/current/access-management/authenticate/sso/group-mapping/overview.html). + + ## The Group Mappings Model + + + ## Quotas and Limits + This resource is subject to the [following quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): + + | Quota | Description | + | --- | --- | + | `group_mappings_per_org` | Number of group mappings per organization | + - name: Compute Pools (fcpm/v2) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + A Compute Pool represents a set of compute resources that is used to run your Queries. + The resources (CPUs, memory,…) provided by a Compute Pool are shared between all Queries that use it. + + + ## The Compute Pools Model + + - name: Regions (fcpm/v2) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + `Region` objects represent cloud provider regions available when placing Flink compute pools. + The API allows you to list Flink regions. + + + ## The Regions Model + + - name: Statements (sql/v1) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + `Statement` represents a core resource used to model SQL statements for execution. + A statement generalizes DDL, DML, DQL, etc., but doesn’t attempt to handle session + management or any higher-level functionality. + The API allows you to list, create, read, and delete your statements. + ## The Statements Model + + - name: Statement Results (sql/v1) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + `StatementResult` represents a result of a `Statement` resource. + The API allows you to read your statement's results. + ## The Statement Results Model + + - name: Statement Exceptions (sql/v1) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + `StatementException` represents an exception of a `Statement` resource. + The API allows you to read your statement's exceptions. + ## The Statement Exceptions Model + + - name: Connections (sql/v1) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + `Connection` represents a core resource used to model SQL connections for execution. + A connection generalizes DDL, DML, DQL, etc., but doesn’t attempt to handle session + management or any higher-level functionality. + The API allows you to list, create, read, and delete your connections. + ## The Connections Model + + - name: DNS Forwarders (networking/v1) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + Add, remove, and update DNS forwarder for your gateway. + + Related guides: + * [Use VPC peering connections with Confluent Cloud on AWS](https://docs.confluent.io/cloud/current/networking/peering/aws-peering.html). + * [Use VNet peering connections with Confluent Cloud on Azure](https://docs.confluent.io/cloud/current/networking/peering/azure-peering.html). + + + ## The DNS Forwarders Model + + - name: Access Points (networking/v1) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + AccessPoint objects represent network connections in and out of Gateways. + This API allows you to list, create, read, update, and delete your access points. + + + ## The Access Points Model + + - name: DNS Records (networking/v1) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + DNS record objects are associated with Confluent Cloud networking resources. This API allows you to list, create, read, update, and delete your DNS records. + + ## The DNS Records Model + + - name: Certificate Authorities (iam/v2) + description: |- + [![Limited Availability](https://img.shields.io/badge/Lifecycle%20Stage-Limited%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + `CertificateAuthority` objects represent signing certificate authorities in Confluent Cloud. + + The API allows you to list, create, read, update, and delete your Certificate Authority. + + + Related guide: [Manage certificate authorities used for client authentication with X.509 certificates.](https://docs.confluent.io/cloud/current/access-management/authenticate/mtls/overview.html). + + ## The Certificate Authorities Model + + + ## Quotas and Limits + This resource is subject to the [following quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): + + | Quota | Description | + | --- | --- | + | `certificate_authorities_per_org` | Number of certificate authorities per organization | + - name: Certificate Identity Pools (iam/v2) + description: |- + [![Limited Availability](https://img.shields.io/badge/Lifecycle%20Stage-Limited%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + `Identitypool` objects represent workload identities in Confluent Cloud. + + The API allows you to list, create, read, update, and delete your identity pools associated + with Certificate Authorities + + + Related guide: [Manage Certificate Identity Pools for Granular Client Access Management](https://docs.confluent.io/cloud/current/access-management/authenticate/mtls/configure.html#step-2-create-certificate-identity-pools-for-granular-access-control). + + ## The Certificate Identity Pools Model + + + ## Quotas and Limits + This resource is subject to the [following quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): + + | Quota | Description | + | --- | --- | + | `identity_pools_per_certificate_authority` | Number of Identity Pools per Certificate Authority | + - name: Integrations (pim/v1) + description: |- + [![Early Access](https://img.shields.io/badge/Lifecycle%20Stage-Early%20Access-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) [![Request Access To Provider Integration](https://img.shields.io/badge/-Request%20Access%20To%20Provider%20Integration-%23bc8540)](mailto:ccloud-api-access+pim-v1-early-access@confluent.io?subject=Request%20to%20join%20pim/v1%20API%20Early%20Access&body=I%E2%80%99d%20like%20to%20join%20the%20Confluent%20Cloud%20API%20Early%20Access%20for%20pim/v1%20to%20provide%20early%20feedback%21%20My%20Cloud%20Organization%20ID%20is%20%3Cretrieve%20from%20https%3A//confluent.cloud/settings/billing/payment%3E.) + + `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, and delete individual integrations, and also obtain a + list of all your provider integrations. + + + Related guide: [Provider Integration in Confluent Cloud](https://docs.confluent.io/home/overview.html). + + ## The Integrations Model + + - name: Flink Artifacts (artifact/v1) + description: |- + [![Early Access](https://img.shields.io/badge/Lifecycle%20Stage-Early%20Access-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) [![Request Access To Flink Artifact API EA](https://img.shields.io/badge/-Request%20Access%20To%20Flink%20Artifact%20API%20EA-%23bc8540)](mailto:ccloud-api-access+artifact-v1-early-access@confluent.io?subject=Request%20to%20join%20artifact/v1%20API%20Early%20Access&body=I%E2%80%99d%20like%20to%20join%20the%20Confluent%20Cloud%20API%20Early%20Access%20for%20artifact/v1%20to%20provide%20early%20feedback%21%20My%20Cloud%20Organization%20ID%20is%20%3Cretrieve%20from%20https%3A//confluent.cloud/settings/billing/payment%3E.) + + FlinkArtifact objects represent Flink Artifacts on Confluent Cloud. + + + ## The Flink Artifacts Model + + - name: Presigned Urls (artifact/v1) + description: |- + [![Early Access](https://img.shields.io/badge/Lifecycle%20Stage-Early%20Access-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) [![Request Access To Flink Artifact API EA](https://img.shields.io/badge/-Request%20Access%20To%20Flink%20Artifact%20API%20EA-%23bc8540)](mailto:ccloud-api-access+artifact-v1-early-access@confluent.io?subject=Request%20to%20join%20artifact/v1%20API%20Early%20Access&body=I%E2%80%99d%20like%20to%20join%20the%20Confluent%20Cloud%20API%20Early%20Access%20for%20artifact/v1%20to%20provide%20early%20feedback%21%20My%20Cloud%20Organization%20ID%20is%20%3Cretrieve%20from%20https%3A//confluent.cloud/settings/billing/payment%3E.) + + Request a presigned upload URL for new Flink Artifact. Note that + the URL policy expires in one hour. If the policy expires, you can request + a new presigned upload URL. + + + ## The Presigned Urls Model + + - name: Flink Artifact Versions (artifact/v1) + description: |- + [![Early Access](https://img.shields.io/badge/Lifecycle%20Stage-Early%20Access-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) [![Request Access To Flink Artifact API EA](https://img.shields.io/badge/-Request%20Access%20To%20Flink%20Artifact%20API%20EA-%23bc8540)](mailto:ccloud-api-access+artifact-v1-early-access@confluent.io?subject=Request%20to%20join%20artifact/v1%20API%20Early%20Access&body=I%E2%80%99d%20like%20to%20join%20the%20Confluent%20Cloud%20API%20Early%20Access%20for%20artifact/v1%20to%20provide%20early%20feedback%21%20My%20Cloud%20Organization%20ID%20is%20%3Cretrieve%20from%20https%3A//confluent.cloud/settings/billing/payment%3E.) + + FlinkArtifactVersion objects represent Flink Artifact Versions on Confluent Cloud. + + + ## The Flink Artifact Versions Model + +components: + schemas: + SearchFilter: + description: Filter a collection by a string search + type: string + fcpm.v2.ComputePoolList: + type: object + description: |- + A Compute Pool represents a set of compute resources that is used to run your Queries. + The resources (CPUs, memory,…) provided by a Compute Pool are shared between all Queries that use it. + + + ## The Compute Pools Model + + required: + - api_version + - kind + - metadata + - data + properties: + api_version: + type: string + enum: + - fcpm/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: + - ComputePoolList + metadata: + allOf: + - $ref: '#/components/schemas/ListMeta' + - properties: + first: + example: 'https://api.confluent.cloud/fcpm/v2/compute-pools' + last: + example: 'https://api.confluent.cloud/fcpm/v2/compute-pools?page_token=bcAOehAY8F16YD84Z1wT' + prev: + example: 'https://api.confluent.cloud/fcpm/v2/compute-pools?page_token=YIXRY97wWYmwzrax4dld' + next: + example: 'https://api.confluent.cloud/fcpm/v2/compute-pools?page_token=UvmDWOB1iwfAIBPj6EYb' + data: + type: array + description: A data property that contains an array of resource items. Each entry in the array is a separate resource. + items: + allOf: + - $ref: '#/components/schemas/fcpm.v2.ComputePool' + - type: object + required: + - id + - metadata + - spec + - status + properties: + spec: + type: object + required: + - display_name + - cloud + - region + - max_cfu + - environment + uniqueItems: true + ListMeta: + type: object + description: ListMeta describes metadata that resource collections may have + properties: + first: + description: 'A link to the first page of results. If a response does not contain a first link, then direct navigation to the first page is not supported.' + type: string + 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 + fcpm.v2.ComputePool: + type: object + description: |- + A Compute Pool represents a set of compute resources that is used to run your Queries. + The resources (CPUs, memory,…) provided by a Compute Pool are shared between all Queries that use it. + + + ## The Compute Pools Model + + properties: + api_version: + type: string + enum: + - fcpm/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: + - ComputePool + 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 + metadata: + allOf: + - $ref: '#/components/schemas/ObjectMeta' + - properties: + self: + example: 'https://api.confluent.cloud/fcpm/v2/compute-pools/lfcp-12345' + resource_name: + example: 'crn://confluent.cloud/organization=9bb441c4-edef-46ac-8a41-c49e44a3fd9a/environment=env-abc123/flink-region=aws.us-east-2/compute-pool=lfcp-12345' + spec: + $ref: '#/components/schemas/fcpm.v2.ComputePoolSpec' + status: + $ref: '#/components/schemas/fcpm.v2.ComputePoolStatus' + AclOperation: + type: string + x-extensible-enum: + - UNKNOWN + - ANY + - ALL + - READ + - WRITE + - CREATE + - DELETE + - ALTER + - DESCRIBE + - CLUSTER_ACTION + - DESCRIBE_CONFIGS + - ALTER_CONFIGS + - IDEMPOTENT_WRITE + AclPatternType: + type: string + x-extensible-enum: + - UNKNOWN + - ANY + - MATCH + - LITERAL + - PREFIXED + AclPermission: + type: string + x-extensible-enum: + - UNKNOWN + - ANY + - DENY + - ALLOW + AclResourceType: + type: string + enum: + - UNKNOWN + - ANY + - TOPIC + - GROUP + - CLUSTER + - TRANSACTIONAL_ID + - DELEGATION_TOKEN + BrokerTaskType: + type: string + enum: + - add-broker + - remove-broker + MirrorTopicStatus: + enum: + - ACTIVE + - FAILED + - LINK_FAILED + - LINK_PAUSED + - PAUSED + - PENDING_STOPPED + - SOURCE_UNAVAILABLE + - STOPPED + - PENDING_MIRROR + - PENDING_SYNCHRONIZE + - PENDING_SETUP_FOR_RESTORE + - PENDING_RESTORE + type: string + Failure: + type: object + description: Provides information about problems encountered while performing an operation. + required: + - errors + properties: + errors: + description: List of errors which caused this operation to fail + type: array + items: + $ref: '#/components/schemas/Error' + uniqueItems: true + AlterConfigBatchRequestData: + type: object + required: + - data + properties: + data: + type: array + items: + type: object + required: + - name + properties: + name: + type: string + value: + type: string + nullable: true + operation: + type: string + x-extensible-enum: + - SET + - DELETE + nullable: true + validate_only: + type: boolean + CreateAclRequestData: + type: object + required: + - resource_type + - resource_name + - pattern_type + - principal + - host + - operation + - permission + properties: + resource_type: + $ref: '#/components/schemas/AclResourceType' + resource_name: + type: string + pattern_type: + $ref: '#/components/schemas/AclPatternType' + principal: + type: string + host: + type: string + operation: + $ref: '#/components/schemas/AclOperation' + permission: + $ref: '#/components/schemas/AclPermission' + CreateAclRequestDataList: + allOf: + - type: object + required: + - data + properties: + data: + type: array + items: + $ref: '#/components/schemas/CreateAclRequestData' + CreateTopicRequestData: + type: object + required: + - topic_name + properties: + topic_name: + type: string + partitions_count: + type: integer + replication_factor: + type: integer + configs: + type: array + items: + type: object + required: + - name + properties: + name: + type: string + value: + type: string + nullable: true + validate_only: + type: boolean + ProduceRequest: + type: object + properties: + partition_id: + type: integer + nullable: true + format: int32 + headers: + type: array + items: + $ref: '#/components/schemas/ProduceRequestHeader' + key: + $ref: '#/components/schemas/ProduceRequestData' + value: + $ref: '#/components/schemas/ProduceRequestData' + timestamp: + type: string + format: date-time + nullable: true + UpdateConfigRequestData: + type: object + properties: + value: + type: string + nullable: true + CreateLinkRequestData: + properties: + source_cluster_id: + type: string + destination_cluster_id: + type: string + remote_cluster_id: + description: The expected remote cluster ID. + type: string + cluster_link_id: + description: 'The expected cluster link ID. Can be provided when creating the second side of a bidirectional link for validating the link ID is as expected. If it''s not provided, it''s inferred from the remote cluster.' + type: string + configs: + items: + $ref: '#/components/schemas/ConfigData' + type: array + type: object + UpdateLinkConfigRequestData: + properties: + value: + type: string + required: + - value + type: object + CreateMirrorTopicRequestData: + properties: + source_topic_name: + type: string + mirror_topic_name: + type: string + replication_factor: + type: integer + configs: + type: array + items: + $ref: '#/components/schemas/ConfigData' + required: + - source_topic_name + type: object + AlterMirrorsRequestData: + properties: + mirror_topic_names: + description: The mirror topics specified as a list of topic names. + type: array + items: + type: string + mirror_topic_name_pattern: + description: The mirror topics specified as a pattern. + type: string + type: object + RemoveBrokersRequestData: + properties: + broker_ids: + type: array + items: + type: integer + required: + - broker_ids + type: object + BrokerReplicaExclusionBatchRequestData: + type: object + required: + - data + properties: + data: + type: array + items: + $ref: '#/components/schemas/BrokerReplicaExclusionRequestData' + ObjectMeta: + description: 'ObjectMeta is metadata that all persisted resources must have, which includes all objects users must create.' + required: + - self + properties: + self: + description: 'Self is a Uniform Resource Locator (URL) at which an object can be addressed. This URL encodes the service location, API version, and other particulars necessary to locate the resource at a point in time' + type: string + format: uri + readOnly: true + example: 'https://api.confluent.cloud/v2/kafka-clusters/lkc-f3a90de' + resource_name: + description: Resource Name is a Uniform Resource Identifier (URI) that is globally unique across space and time. It is represented as a Confluent Resource Name + type: string + format: uri + readOnly: true + example: 'crn://confluent.cloud/kafka=lkc-f3a90de' + created_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: The date and time at which this object was created. It is represented in RFC3339 format and is in UTC. + updated_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: The date and time at which this object was last updated. It is represented in RFC3339 format and is in UTC. + deleted_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: The date and time at which this object was (or will be) deleted. It is represented in RFC3339 format and is in UTC. + readOnly: true + fcpm.v2.ComputePoolSpec: + type: object + description: The desired state of the Compute Pool + properties: + display_name: + type: string + example: flink_compute_pool_0 + description: The name of the Flink compute pool. + pattern: '^(?:[0-9A-Za-z\-])[\w\.-]{0,31}$' + x-immutable: false + cloud: + type: string + description: The cloud service provider that runs the compute pool. + x-extensible-enum: + - AWS + - GCP + - AZURE + example: AWS + x-immutable: true + region: + type: string + example: us-west-1 + description: Flink compute pools in the region provided will be able to use this identity pool + x-immutable: true + max_cfu: + type: integer + format: int32 + example: 5 + description: | + Maximum number of Confluent Flink Units (CFUs) that the Flink compute pool should auto-scale to. + x-extensible-enum: + - 5 + - 10 + - 20 + - 30 + - 40 + - 50 + x-immutable: false + environment: + allOf: + - $ref: '#/components/schemas/GlobalObjectReference' + description: The environment to which this belongs. + network: + allOf: + - $ref: '#/components/schemas/EnvScopedObjectReference' + description: The network to which this belongs. + x-immutable: true + x-enable-id: true + x-enable-listmeta: true + x-enable-objectmeta: true + fcpm.v2.ComputePoolStatus: + type: object + required: + - phase + - current_cfu + description: The status of the Compute Pool + properties: + phase: + type: string + x-extensible-enum: + - PROVISIONING + - PROVISIONED + - FAILED + - DEPROVISIONING + description: Status of the Flink compute pool. + example: PROVISIONING + readOnly: true + current_cfu: + type: integer + format: int32 + example: 4 + description: The number of Confluent Flink Units (CFUs) currently allocated to this Flink compute pool. + readOnly: true + readOnly: true + Error: + type: object + description: Describes a particular error encountered while performing an operation. + properties: + id: + description: A unique identifier for this particular occurrence of the problem. + type: string + maxLength: 255 + status: + description: 'The HTTP status code applicable to this problem, expressed as a string value.' + type: string + code: + description: 'An application-specific error code, expressed as a string value.' + type: string + title: + description: 'A short, human-readable summary of the problem. It **SHOULD NOT** change from occurrence to occurrence of the problem, except for purposes of localization.' + type: string + detail: + description: A human-readable explanation specific to this occurrence of the problem. + type: string + source: + type: object + description: 'If this error was caused by a particular part of the API request, the source will point to the query string parameter or request body property that caused it.' + properties: + pointer: + description: 'A JSON Pointer [RFC6901] to the associated entity in the request document [e.g. "/spec" for a spec object, or "/spec/title" for a specific field].' + type: string + parameter: + description: A string indicating which query parameter caused the error. + type: string + error_code: + type: integer + format: int32 + message: + type: string + nullable: true + additionalProperties: false + ProduceRequestHeader: + type: object + required: + - name + properties: + name: + type: string + value: + type: string + format: byte + nullable: true + ProduceRequestData: + type: object + properties: + type: + type: string + x-extensible-enum: + - BINARY + - JSON + - STRING + data: + $ref: '#/components/schemas/AnyValue' + nullable: true + ConfigData: + example: + name: name + value: value + properties: + name: + type: string + value: + nullable: true + type: string + required: + - name + - value + BrokerReplicaExclusionRequestData: + type: object + required: + - broker_id + - reason + properties: + broker_id: + type: integer + reason: + type: string + GlobalObjectReference: + type: object + description: ObjectReference provides information for you to locate the referred object + required: + - id + - related + - resource_name + properties: + id: + type: string + description: ID of the referred resource + minLength: 1 + maxLength: 255 + related: + type: string + format: uri + description: API URL for accessing or modifying the referred object + minLength: 1 + readOnly: true + resource_name: + type: string + format: uri + description: CRN reference to the referred resource + minLength: 1 + readOnly: true + EnvScopedObjectReference: + 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 + AnyValue: + nullable: true + fcpm.v2.ComputePoolUpdate: + type: object + description: |- + A Compute Pool represents a set of compute resources that is used to run your Queries. + The resources (CPUs, memory,…) provided by a Compute Pool are shared between all Queries that use it. + + + ## The Compute Pools Model + + properties: + api_version: + type: string + enum: + - fcpm/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: + - ComputePool + 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 + metadata: + allOf: + - $ref: '#/components/schemas/ObjectMeta' + - properties: + self: + example: 'https://api.confluent.cloud/fcpm/v2/compute-pools/lfcp-12345' + resource_name: + example: 'crn://confluent.cloud/organization=9bb441c4-edef-46ac-8a41-c49e44a3fd9a/environment=env-abc123/flink-region=aws.us-east-2/compute-pool=lfcp-12345' + spec: + $ref: '#/components/schemas/fcpm.v2.ComputePoolSpecUpdate' + status: + $ref: '#/components/schemas/fcpm.v2.ComputePoolStatus' + fcpm.v2.ComputePoolSpecUpdate: + type: object + description: The desired state of the Compute Pool + properties: + display_name: + type: string + example: flink_compute_pool_0 + description: The name of the Flink compute pool. + pattern: '^(?:[0-9A-Za-z\-])[\w\.-]{0,31}$' + x-immutable: false + max_cfu: + type: integer + format: int32 + example: 5 + description: | + Maximum number of Confluent Flink Units (CFUs) that the Flink compute pool should auto-scale to. + x-extensible-enum: + - 5 + - 10 + - 20 + - 30 + - 40 + - 50 + x-immutable: false + environment: + allOf: + - $ref: '#/components/schemas/GlobalObjectReference' + description: The environment to which this belongs. + x-enable-id: true + x-enable-listmeta: true + x-enable-objectmeta: true + fcpm.v2.RegionList: + type: object + description: |- + `Region` objects represent cloud provider regions available when placing Flink compute pools. + The API allows you to list Flink regions. + + + ## The Regions Model + + required: + - api_version + - kind + - metadata + - data + properties: + api_version: + type: string + enum: + - fcpm/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: + - RegionList + metadata: + allOf: + - $ref: '#/components/schemas/ListMeta' + - properties: + first: + example: 'https://api.confluent.cloud/fcpm/v2/regions' + last: + example: 'https://api.confluent.cloud/fcpm/v2/regions?page_token=bcAOehAY8F16YD84Z1wT' + prev: + example: 'https://api.confluent.cloud/fcpm/v2/regions?page_token=YIXRY97wWYmwzrax4dld' + next: + example: 'https://api.confluent.cloud/fcpm/v2/regions?page_token=UvmDWOB1iwfAIBPj6EYb' + data: + type: array + description: A data property that contains an array of resource items. Each entry in the array is a separate resource. + items: + allOf: + - $ref: '#/components/schemas/fcpm.v2.Region' + - type: object + required: + - id + - metadata + - display_name + - cloud + - region_name + - http_endpoint + uniqueItems: true + fcpm.v2.Region: + type: object + description: |- + `Region` objects represent cloud provider regions available when placing Flink compute pools. + The API allows you to list Flink regions. + + + ## The Regions Model + + properties: + api_version: + type: string + enum: + - fcpm/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: + - Region + 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 + metadata: + allOf: + - $ref: '#/components/schemas/ObjectMeta' + - properties: + self: + example: 'https://api.confluent.cloud/fcpm/v2/regions/r-12345' + resource_name: + example: 'crn://confluent.cloud/organization=9bb441c4-edef-46ac-8a41-c49e44a3fd9a/region=r-12345' + display_name: + type: string + description: The display name. + example: Ohio (us-east-2) + x-immutable: true + readOnly: true + cloud: + type: string + description: The cloud service provider that hosts the region. + x-extensible-enum: + - AWS + - GCP + - AZURE + example: AWS + x-immutable: true + readOnly: true + region_name: + type: string + description: The region name. + example: us-east-2 + x-immutable: true + readOnly: true + http_endpoint: + type: string + description: The regional API endpoint for Flink compute pools. + format: uri + x-immutable: true + readOnly: true + private_http_endpoint: + type: string + description: The private regional API endpoint for Flink compute pools. + format: uri + x-immutable: true + readOnly: true + parameters: + AclHost: + name: host + description: The ACL host. + in: query + required: false + schema: + type: string + AclOperation: + name: operation + description: The ACL operation. + in: query + required: false + schema: + $ref: '#/components/schemas/AclOperation' + AclOperationRequired: + name: operation + description: The ACL operation. + in: query + required: true + schema: + $ref: '#/components/schemas/AclOperation' + AclPatternType: + name: pattern_type + description: The ACL pattern type. + in: query + required: false + schema: + $ref: '#/components/schemas/AclPatternType' + AclPatternTypeRequired: + name: pattern_type + description: The ACL pattern type. + in: query + required: true + schema: + $ref: '#/components/schemas/AclPatternType' + AclPermission: + name: permission + description: The ACL permission. + in: query + required: false + schema: + $ref: '#/components/schemas/AclPermission' + AclPermissionRequired: + name: permission + description: The ACL permission. + in: query + required: true + schema: + $ref: '#/components/schemas/AclPermission' + AclPrincipal: + name: principal + description: The ACL principal. This is the Service Account name or user name. + in: query + required: false + schema: + type: string + AclResourceName: + name: resource_name + description: The ACL resource name. + in: query + required: false + schema: + type: string + AclResourceType: + name: resource_type + description: The ACL resource type. + in: query + required: false + schema: + $ref: '#/components/schemas/AclResourceType' + AclResourceTypeRequired: + name: resource_type + description: The ACL resource type. + in: query + required: true + schema: + $ref: '#/components/schemas/AclResourceType' + BrokerId: + name: broker_id + description: The Kafka broker ID. + in: path + required: true + schema: + type: integer + example: 1 + ClusterId: + name: cluster_id + description: The Kafka cluster ID. + in: path + required: true + schema: + type: string + example: cluster-1 + ConfigName: + name: name + description: The configuration parameter name. + in: path + required: true + schema: + type: string + example: compression.type + ConsumerGroupId: + name: consumer_group_id + description: The consumer group ID. + in: path + required: true + schema: + type: string + example: consumer-group-1 + ConsumerId: + name: consumer_id + description: The consumer ID. + in: path + required: true + schema: + type: string + example: consumer-1 + IncludeAuthorizedOperations: + name: include_authorized_operations + description: Specify if authorized operations should be included in the response. + in: query + required: false + schema: + type: boolean + PartitionId: + name: partition_id + description: The partition ID. + in: path + required: true + schema: + type: integer + example: 0 + TopicName: + name: topic_name + description: The topic name. + in: path + required: true + schema: + type: string + example: topic-1 + BrokerTaskType: + name: task_type + description: The Kafka broker task type. + in: path + required: true + schema: + $ref: '#/components/schemas/BrokerTaskType' + example: remove-broker + ShouldShutdown: + name: should_shutdown + description: 'To shutdown the broker or not, Default: true' + in: query + required: false + schema: + type: boolean + example: true + ValidateOnly: + name: validate_only + description: 'To validate the action can be performed successfully or not. Default: false' + in: query + required: false + schema: + type: boolean + example: false + ValidateLink: + name: validate_link + description: 'To synchronously validate that the source cluster ID is expected and the dest cluster has the permission to read topics in the source cluster. Default: true' + in: query + required: false + schema: + type: boolean + example: false + IncludeTasks: + name: include_tasks + description: 'Whether to include cluster linking tasks in the response. Default: false' + in: query + required: false + schema: + type: boolean + example: false + IncludeStateTransitionErrors: + name: include_state_transition_errors + description: 'Whether to include mirror state transition errors in the response. Default: false' + in: query + required: false + schema: + type: boolean + example: false + Force: + name: force + description: 'Force the action. Default: false' + in: query + required: false + schema: + type: boolean + example: false + IncludePartitionLevelTruncationData: + name: include_partition_level_truncation_data + description: 'Whether to include partition level truncation information when truncating and restoring a topic in the response. Default: false' + in: query + required: false + schema: + type: boolean + example: false + LinkName: + name: link_name + description: The link name + in: path + required: true + schema: + type: string + example: link-sb1 + LinkConfigName: + name: config_name + description: The link config name + in: path + required: true + schema: + type: string + example: consumer.offset.sync.enable + MirrorTopicStatus: + name: mirror_status + description: 'The status of the mirror topic. If not specified, all mirror topics will be returned.' + in: query + required: false + schema: + $ref: '#/components/schemas/MirrorTopicStatus' + example: ACTIVE + MirrorTopicName: + name: mirror_topic_name + description: Cluster Linking mirror topic name + in: path + required: true + schema: + type: string + example: topic-1 + QueryParamLinkName: + name: link_name + description: The link name + in: query + required: true + schema: + type: string + example: link-sb1 + responses: + BadRequestError: + description: Bad Request + headers: + X-Request-Id: + schema: + type: string + description: The unique identifier for the API request. + content: + application/json: + schema: + $ref: '#/components/schemas/Failure' + example: + errors: + - id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d + status: '400' + code: invalid_filter + title: Invalid Filter + detail: The 'delorean' resource can't be filtered by 'num_doors' + source: + parameter: num_doors + UnauthenticatedError: + x-summary: Unauthorized + description: The request lacks valid authentication credentials for this resource. + headers: + X-Request-Id: + schema: + type: string + description: The unique identifier for the API request. + WWW-Authenticate: + schema: + type: string + description: The unique identifier for the API request. + example: 'Basic error="invalid_key", error_description="The API Key is invalid"' + content: + application/json: + schema: + $ref: '#/components/schemas/Failure' + example: + errors: + - id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d + status: '401' + code: user_unauthenticated + title: Authentication Required + detail: Valid authentication credentials must be provided + UnauthorizedError: + x-summary: Forbidden + description: The access credentials were considered insufficient to grant access + headers: + X-Request-Id: + schema: + type: string + description: The unique identifier for the API request. + content: + application/json: + schema: + $ref: '#/components/schemas/Failure' + example: + errors: + - id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d + status: '403' + code: user_unauthorized + title: User Access Unauthorized + detail: The user 'mcfly' is not allowed to access the 'delorean' resource without the 'plutonium' role. + RateLimitError: + description: Rate Limit Exceeded + headers: + X-Request-Id: + schema: + type: string + description: The unique identifier for the API request. + X-RateLimit-Limit: + schema: + type: integer + description: The maximum number of requests you're permitted to make per time period. + X-RateLimit-Remaining: + schema: + type: integer + description: The number of requests remaining in the current rate limit window. + X-RateLimit-Reset: + schema: + type: integer + description: |- + The relative time in seconds until the current rate-limit window resets. + + **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. + DefaultSystemError: + description: 'Oops, something went wrong!' + headers: + X-Request-Id: + schema: + type: string + description: The unique identifier for the API request. + content: + application/json: + schema: + $ref: '#/components/schemas/Failure' + example: + errors: + - id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d + status: '500' + code: out_of_gas + title: DeLorean Out Of Gas + detail: 'The DeLorean has run out of gas, but Doc Brown will fill ''er up for you asap' + ConflictError: + x-summary: Conflict + description: The request is in conflict with the current server state + headers: + X-Request-Id: + schema: + type: string + description: The unique identifier for the API request. + Location: + schema: + type: string + format: uri + example: 'https://api.confluent.cloud/{object}/{id}' + description: Resource URI of conflicting resource + content: + application/json: + schema: + $ref: '#/components/schemas/Failure' + example: + errors: + - id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d + status: '409' + code: resource_already_exists + title: Resource Already exists + detail: The entitlement '91e3e86f-fca6-4f14-98f5-a48e64113ce2' already exists. + ValidationError: + description: Validation Failed + headers: + X-Request-Id: + schema: + type: string + description: The unique identifier for the API request. + content: + application/json: + schema: + $ref: '#/components/schemas/Failure' + example: + errors: + - status: '422' + code: invalid_configuration + id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d + title: Validation Failed + detail: 'The property ''/cluster/storage_size'' of type string did not match the following type: integer' + source: + pointer: /cluster/storage_size + - status: '422' + code: invalid_configuration + id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d + title: Validation Failed + detail: 'The property ''/cluster/storage_size'' of type string did not match the following type: integer' + source: + pointer: /cluster/storage_size + - status: '422' + code: invalid_configuration + id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d + title: Validation Failed + detail: 'The property ''/cluster/storage_size'' of type string did not match the following type: integer' + source: + pointer: /cluster/storage_size + - status: '422' + code: invalid_configuration + id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d + title: Validation Failed + detail: 'The property ''/cluster/storage_size'' of type string did not match the following type: integer' + source: + pointer: /cluster/storage_size + - status: '422' + code: invalid_configuration + id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d + title: Validation Failed + detail: 'The property ''/cluster/storage_size'' of type string did not match the following type: integer' + source: + pointer: /cluster/storage_size + - status: '422' + code: invalid_configuration + id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d + title: Validation Failed + detail: 'The property ''/cluster/storage_size'' of type string did not match the following type: integer' + source: + pointer: /cluster/storage_size + - status: '422' + code: invalid_configuration + id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d + title: Validation Failed + detail: 'The property ''/cluster/storage_size'' of type string did not match the following type: integer' + source: + pointer: /cluster/storage_size + - status: '422' + code: invalid_configuration + id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d + title: Validation Failed + detail: 'The property ''/cluster/storage_size'' of type string did not match the following type: integer' + source: + pointer: /cluster/storage_size + - status: '422' + code: invalid_configuration + id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d + title: Validation Failed + detail: 'The property ''/cluster/storage_size'' of type string did not match the following type: integer' + source: + pointer: /cluster/storage_size + - status: '422' + code: invalid_configuration + id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d + title: Validation Failed + detail: 'The property ''/cluster/storage_size'' of type string did not match the following type: integer' + source: + pointer: /cluster/storage_size + - status: '422' + code: invalid_configuration + id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d + title: Validation Failed + detail: 'The property ''/cluster/storage_size'' of type string did not match the following type: integer' + source: + pointer: /cluster/storage_size + - status: '422' + code: invalid_configuration + id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d + title: Validation Failed + detail: 'The property ''/cluster/storage_size'' of type string did not match the following type: integer' + source: + pointer: /cluster/storage_size + - status: '422' + code: invalid_configuration + id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d + title: Validation Failed + detail: 'The property ''/cluster/storage_size'' of type string did not match the following type: integer' + source: + pointer: /cluster/storage_size + - status: '422' + code: invalid_configuration + id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d + title: Validation Failed + detail: 'The property ''/cluster/storage_size'' of type string did not match the following type: integer' + source: + pointer: /cluster/storage_size + - status: '422' + code: invalid_configuration + id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d + title: Validation Failed + detail: 'The property ''/cluster/storage_size'' of type string did not match the following type: integer' + source: + pointer: /cluster/storage_size + - status: '422' + code: invalid_configuration + id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d + title: Validation Failed + detail: 'The property ''/cluster/storage_size'' of type string did not match the following type: integer' + source: + pointer: /cluster/storage_size + - status: '422' + code: invalid_configuration + id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d + title: Validation Failed + detail: 'The property ''/cluster/storage_size'' of type string did not match the following type: integer' + source: + pointer: /cluster/storage_size + - status: '422' + code: invalid_configuration + id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d + title: Validation Failed + detail: 'The property ''/cluster/storage_size'' of type string did not match the following type: integer' + source: + pointer: /cluster/storage_size + - status: '422' + code: invalid_configuration + id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d + title: Validation Failed + detail: 'The property ''/cluster/storage_size'' of type string did not match the following type: integer' + source: + pointer: /cluster/storage_size + - status: '422' + code: invalid_configuration + id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d + title: Validation Failed + detail: 'The property ''/cluster/storage_size'' of type string did not match the following type: integer' + source: + pointer: /cluster/storage_size + - status: '422' + code: invalid_configuration + id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d + title: Validation Failed + detail: 'The property ''/cluster/storage_size'' of type string did not match the following type: integer' + source: + pointer: /cluster/storage_size + - status: '422' + code: invalid_configuration + id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d + title: Validation Failed + detail: 'The property ''/cluster/storage_size'' of type string did not match the following type: integer' + source: + pointer: /cluster/storage_size + - status: '422' + code: invalid_configuration + id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d + title: Validation Failed + detail: 'The property ''/cluster/storage_size'' of type string did not match the following type: integer' + source: + pointer: /cluster/storage_size + - status: '422' + code: invalid_configuration + id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d + title: Validation Failed + detail: 'The property ''/cluster/storage_size'' of type string did not match the following type: integer' + source: + pointer: /cluster/storage_size + - status: '422' + code: invalid_configuration + id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d + title: Validation Failed + detail: 'The property ''/cluster/storage_size'' of type string did not match the following type: integer' + source: + pointer: /cluster/storage_size + - status: '422' + code: invalid_configuration + id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d + title: Validation Failed + detail: 'The property ''/cluster/storage_size'' of type string did not match the following type: integer' + source: + pointer: /cluster/storage_size + - status: '422' + code: invalid_configuration + id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d + title: Validation Failed + detail: 'The property ''/cluster/storage_size'' of type string did not match the following type: integer' + source: + pointer: /cluster/storage_size + - status: '422' + code: invalid_configuration + id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d + title: Validation Failed + detail: 'The property ''/cluster/storage_size'' of type string did not match the following type: integer' + source: + pointer: /cluster/storage_size + - status: '422' + code: invalid_configuration + id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d + title: Validation Failed + detail: 'The property ''/cluster/storage_size'' of type string did not match the following type: integer' + source: + pointer: /cluster/storage_size + - status: '422' + code: invalid_configuration + id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d + title: Validation Failed + detail: 'The property ''/cluster/storage_size'' of type string did not match the following type: integer' + source: + pointer: /cluster/storage_size + NotFoundError: + description: Not Found + headers: + X-Request-Id: + schema: + type: string + description: The unique identifier for the API request. + content: + application/json: + schema: + $ref: '#/components/schemas/Failure' + example: + errors: + - id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d + status: '404' + title: Not Found + securitySchemes: + cloud-api-key: + type: http + scheme: basic + description: Authenticate with Cloud API Keys using HTTP Basic Auth. Treat the Cloud API Key ID as the username and Cloud API Key Secret as the password. + confluent-sts-access-token: + type: oauth2 + description: Authenticate with Confluent API using this credentials (JSON Web Tokens) following OAuth 2.0. + flows: + clientCredentials: + tokenUrl: 'https://api.confluent.cloud/sts/v1/oauth2/token' + scopes: {} + api-key: + type: http + scheme: basic + description: Authenticate with API Keys using HTTP Basic Auth. Treat the API Key ID as the username and API Key Secret as the password. + resource-api-key: + type: http + scheme: basic + description: | + Authenticate with resource-specific API Keys using HTTP Basic Auth. Treat the resource-specific API Key ID + as the username and resource-specific API Key Secret as the password. + external-access-token: + type: oauth2 + description: Authenticate with OAuth 2.0. + flows: + clientCredentials: + tokenUrl: 'https:///token' + scopes: {} + oauth: + type: oauth2 + description: Authenticate with OAuth 2.0. Currently this is only supported for partner APIs. + flows: + clientCredentials: + tokenUrl: /oauth2/token + scopes: + 'partner:alter': enables partners to alter entitlements + 'partner:create': enables partners to create entitlements and signup on behalf of customers + 'partner:delete': enables partners to delete entitlements and organizations + 'partner:describe': enables partners to read and list entitlements and organizations + requestBodies: + AlterBrokerConfigBatchRequest: + description: The alter broker configuration parameter batch request. + content: + application/json: + schema: + $ref: '#/components/schemas/AlterConfigBatchRequestData' + example: + data: + - name: max.connections + operation: DELETE + - name: compression.type + value: gzip + AlterClusterConfigBatchRequest: + description: The alter cluster configuration parameter batch request. + content: + application/json: + schema: + $ref: '#/components/schemas/AlterConfigBatchRequestData' + example: + data: + - name: max.connections + operation: DELETE + - name: compression.type + value: gzip + AlterTopicConfigBatchRequest: + description: The alter topic configuration parameter batch request. + content: + application/json: + schema: + $ref: '#/components/schemas/AlterConfigBatchRequestData' + examples: + batch_alter_topic_configs: + value: + data: + - name: cleanup.policy + operation: DELETE + - name: compression.type + value: gzip + validate_only_batch_alter_topic_configs: + value: + data: + - name: cleanup.policy + operation: DELETE + - name: compression.type + value: gzip + validate_only: true + CreateAclRequest: + description: The ACL creation request. + content: + application/json: + schema: + $ref: '#/components/schemas/CreateAclRequestData' + example: + resource_type: CLUSTER + resource_name: kafka-cluster + pattern_type: LITERAL + principal: 'principalType:principalName' + host: '*' + operation: DESCRIBE + permission: DENY + BatchCreateAclRequest: + description: The batch ACL creation request. + content: + application/json: + schema: + $ref: '#/components/schemas/CreateAclRequestDataList' + example: + data: + - resource_type: CLUSTER + resource_name: kafka-cluster + pattern_type: LITERAL + principal: 'principalType:principalName' + host: '*' + operation: DESCRIBE + permission: DENY + - resource_type: TOPIC + resource_name: kafka-cluster + pattern_type: LITERAL + principal: 'principalType:principalName' + host: '*' + operation: READ + permission: ALLOW + CreateTopicRequest: + description: 'The topic creation request. Note that Confluent Cloud allows only specific replication factor values. Because of that the replication factor field should either be omitted or it should use one of the allowed values (see https://docs.confluent.io/cloud/current/client-apps/optimizing/durability.html).' + content: + application/json: + schema: + $ref: '#/components/schemas/CreateTopicRequestData' + examples: + uniform_replication: + value: + topic_name: topic-X + partitions_count: 64 + replication_factor: 3 + configs: + - name: cleanup.policy + value: compact + - name: compression.type + value: gzip + dry_run_create_topic: + value: + topic_name: topic-X + partitions_count: 64 + replication_factor: 3 + validate_only: true + ProduceRequest: + description: 'A single record to be produced to Kafka. To produce multiple records in the same request, simply concatenate the records. The delivery reports are concatenated in the same order as the records are sent.' + content: + application/json: + schema: + $ref: '#/components/schemas/ProduceRequest' + examples: + binary_and_json: + description: 'If using type, one of "BINARY", "JSON" or "STRING" is required.' + value: + partition_id: 1 + headers: + - name: Header-1 + value: SGVhZGVyLTE= + - name: Header-2 + value: SGVhZGVyLTI= + key: + type: BINARY + data: Zm9vYmFy + value: + type: JSON + data: + foo: bar + timestamp: '2021-02-05T19:14:42Z' + string: + description: 'If using type, one of "BINARY", "JSON" or "STRING" is required.' + value: + value: + type: STRING + data: My message + empty_value: + description: key or value can be omitted entirely. + value: + key: + data: 1000 + UpdateBrokerConfigRequest: + description: The broker configuration parameter update request. + content: + application/json: + schema: + $ref: '#/components/schemas/UpdateConfigRequestData' + example: + value: gzip + UpdateClusterConfigRequest: + description: The cluster configuration parameter update request. + content: + application/json: + schema: + $ref: '#/components/schemas/UpdateConfigRequestData' + example: + value: gzip + UpdateTopicConfigRequest: + description: The topic configuration parameter update request. + content: + application/json: + schema: + $ref: '#/components/schemas/UpdateConfigRequestData' + example: + value: gzip + CreateLinkRequest: + description: Create a cluster link + content: + application/json: + schema: + $ref: '#/components/schemas/CreateLinkRequestData' + examples: + destination_initiated_link: + description: Create a destination initiated cluster link + value: + source_cluster_id: cluster-1 + configs: + - name: bootstrap.servers + value: cluster-1-bootstrap-server + - name: acl.sync.enable + value: 'false' + - name: consumer.offset.sync.ms + value: '30000' + - name: sasl.mechanism + value: PLAIN + - name: sasl.protocol + value: SASL_SSL + - name: sasl.jaas.config + value: sasl.jaas.config=org.apache.kafka.common.security.plain.PlainLoginModule required username='' password=''; + source_initiated_link_at_source_cluster: + description: Create a source initiated cluster link at source cluster + value: + destination_cluster_id: cluster-2 + configs: + - name: bootstrap.servers + value: cluster-2-bootstrap-server + - name: link.mode + value: SOURCE + - name: sasl.mechanism + value: PLAIN + - name: sasl.protocol + value: SASL_SSL + - name: sasl.jaas.config + value: sasl.jaas.config=org.apache.kafka.common.security.plain.PlainLoginModule required username='' password=''; + source_initiated_link_at_destination_cluster: + description: Create a source initiated cluster link at destination cluster + value: + destination_cluster_id: cluster-1 + configs: + - name: bootstrap.servers + value: cluster-1-bootstrap-server + - name: link.mode + value: DESTINATION + - name: connection.mode + value: INBOUND + - name: acl.sync.enable + value: 'false' + - name: sasl.mechanism + value: PLAIN + - name: sasl.protocol + value: SASL_SSL + - name: sasl.jaas.config + value: sasl.jaas.config=org.apache.kafka.common.security.plain.PlainLoginModule required username='' password=''; + bidirectional_link_east: + description: Create a bidirectional cluster link in east + value: + remote_cluster_id: cluster-west + configs: + - name: bootstrap.servers + value: cluster-west-bootstrap-server + - name: link.mode + value: BIDIRECTIONAL + - name: cluster.link.prefix + value: west. + - name: sasl.mechanism + value: PLAIN + - name: sasl.protocol + value: SASL_SSL + - name: sasl.jaas.config + value: sasl.jaas.config=org.apache.kafka.common.security.plain.PlainLoginModule required username='' password=''; + bidirectional_link_west: + description: Create a bidirectional cluster link in west + value: + remote_cluster_id: cluster-east + cluster_link_id: eEBkTffYSESld6EO898x3w + configs: + - name: bootstrap.servers + value: cluster-east-bootstrap-server + - name: link.mode + value: BIDIRECTIONAL + - name: cluster.link.prefix + value: east. + - name: sasl.mechanism + value: PLAIN + - name: sasl.protocol + value: SASL_SSL + - name: sasl.jaas.config + value: sasl.jaas.config=org.apache.kafka.common.security.plain.PlainLoginModule required username='' password=''; + UpdateLinkConfigRequest: + content: + application/json: + example: + value: '300000' + schema: + $ref: '#/components/schemas/UpdateLinkConfigRequestData' + description: Link config value to update + AlterLinkConfigBatchRequest: + content: + application/json: + example: + data: + - name: cleanup.policy + operation: DELETE + - name: compression.type + value: gzip + schema: + $ref: '#/components/schemas/AlterConfigBatchRequestData' + CreateMirrorTopicRequest: + description: 'Name and configs of the topics mirroring from and mirroring to. Note that Confluent Cloud allows only specific replication factor values. Because of that the replication factor field should either be omitted or it should use one of the allowed values (see https://docs.confluent.io/cloud/current/client-apps/optimizing/durability.html).' + content: + application/json: + schema: + $ref: '#/components/schemas/CreateMirrorTopicRequestData' + examples: + generic_example: + description: Generic example of creating a mirror topic + value: + source_topic_name: topic-1 + configs: + - name: unclean.leader.election.enable + value: 'true' + replication_factor: 1 + example_with_mirror_topic_name: + description: Example using optional mirror_topic_name flag + value: + source_topic_name: topic-1 + mirror_topic_name: link1_topic-1 + configs: + - name: unclean.leader.election.enable + value: 'true' + replication_factor: 3 + AlterMirrorsRequest: + description: Mirror topics to be altered. + content: + application/json: + schema: + $ref: '#/components/schemas/AlterMirrorsRequestData' + examples: + mirror_topic_names: + description: Example using mirror topic names + value: + mirror_topic_names: + - topic-1 + - topic-2 + mirror_topic_name_pattern: + description: Example using mirror topic name pattern + value: + mirror_topic_name_pattern: .* + RemoveBrokersRequest: + content: + application/json: + example: + broker_ids: + - 1 + - 2 + - 3 + schema: + $ref: '#/components/schemas/RemoveBrokersRequestData' + description: Broker ids to remove + BrokerReplicaExclusionBatchRequest: + description: Alter Broker Replica Exclusions. + content: + application/json: + schema: + $ref: '#/components/schemas/BrokerReplicaExclusionBatchRequestData' + example: + data: + - broker_id: 1 + reason: The broker is to be removed. + - broker_id: 2 + reason: The broker is to be removed. + x-stackQL-resources: + compute_pools: + id: confluent.flink_compute_pools.compute_pools + name: compute_pools + title: Compute Pools + methods: + list_fcpm_v2compute_pools: + operation: + $ref: '#/paths/~1fcpm~1v2~1compute-pools/get' + response: + mediaType: application/json + openAPIDocKey: '200' + objectKey: $.data + create_fcpm_v2compute_pool: + operation: + $ref: '#/paths/~1fcpm~1v2~1compute-pools/post' + response: + mediaType: application/json + openAPIDocKey: '202' + get_fcpm_v2compute_pool: + operation: + $ref: '#/paths/~1fcpm~1v2~1compute-pools~1{id}/get' + response: + mediaType: application/json + openAPIDocKey: '200' + update_fcpm_v2compute_pool: + operation: + $ref: '#/paths/~1fcpm~1v2~1compute-pools~1{id}/patch' + response: + mediaType: application/json + openAPIDocKey: '200' + delete_fcpm_v2compute_pool: + operation: + $ref: '#/paths/~1fcpm~1v2~1compute-pools~1{id}/delete' + response: + mediaType: application/json + openAPIDocKey: '204' + sqlVerbs: + select: + - $ref: '#/components/x-stackQL-resources/compute_pools/methods/get_fcpm_v2compute_pool' + - $ref: '#/components/x-stackQL-resources/compute_pools/methods/list_fcpm_v2compute_pools' + insert: + - $ref: '#/components/x-stackQL-resources/compute_pools/methods/create_fcpm_v2compute_pool' + update: + - $ref: '#/components/x-stackQL-resources/compute_pools/methods/update_fcpm_v2compute_pool' + replace: [] + delete: + - $ref: '#/components/x-stackQL-resources/compute_pools/methods/delete_fcpm_v2compute_pool' + regions: + id: confluent.flink_compute_pools.regions + name: regions + title: Regions + methods: + list_fcpm_v2regions: + operation: + $ref: '#/paths/~1fcpm~1v2~1regions/get' + response: + mediaType: application/json + openAPIDocKey: '200' + objectKey: $.data + sqlVerbs: + select: + - $ref: '#/components/x-stackQL-resources/regions/methods/list_fcpm_v2regions' + insert: [] + update: [] + replace: [] + delete: [] +paths: + /fcpm/v2/compute-pools: + get: + operationId: listFcpmV2ComputePools + summary: List of Compute Pools + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + Retrieve a sorted, filtered, paginated list of all compute pools. + parameters: + - name: spec.region + in: query + required: false + schema: + $ref: '#/components/schemas/SearchFilter' + example: us-west-1 + description: Filter the results by exact match for spec.region. + - name: environment + in: query + required: true + schema: + $ref: '#/components/schemas/SearchFilter' + example: env-00000 + description: Filter the results by exact match for environment. + - name: spec.network + in: query + required: false + schema: + $ref: '#/components/schemas/SearchFilter' + example: n-00000 + description: Filter the results by exact match for spec.network. + - 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: + - Compute Pools (fcpm/v2) + security: + - cloud-api-key: [] + - confluent-sts-access-token: [] + responses: + '200': + description: Compute Pool. + content: + application/json: + schema: + allOf: + - $ref: '#/components/schemas/fcpm.v2.ComputePoolList' + - type: object + properties: + data: + type: array + items: + properties: + spec: + type: object + properties: + environment: + example: + id: env-00000 + related: 'https://api.confluent.cloud/org/v2/environments/env-00000' + resource_name: 'https://api.confluent.cloud/organization=9bb441c4-edef-46ac-8a41-c49e44a3fd9a/environment=env-00000' + network: + example: + id: n-00000 + related: 'https://api.confluent.cloud/networking/v1/networks/n-00000' + resource_name: 'https://api.confluent.cloud/organization=9bb441c4-edef-46ac-8a41-c49e44a3fd9a/environment=env-abc123/network=n-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. + + **Important:** This differs from Github and Twitter's same-named header which uses UTC epoch seconds. We use relative time to avoid client/server time synchronization issues. + '400': + $ref: '#/components/responses/BadRequestError' + '401': + $ref: '#/components/responses/UnauthenticatedError' + '403': + $ref: '#/components/responses/UnauthorizedError' + '429': + $ref: '#/components/responses/RateLimitError' + '500': + $ref: '#/components/responses/DefaultSystemError' + x-codeSamples: + - lang: Shell + source: |- + curl --request GET \ + --url 'https://api.confluent.cloud/fcpm/v2/compute-pools?spec.region=us-west-1&environment=env-00000&spec.network=n-00000' \ + --header 'Authorization: Basic REPLACE_BASIC_AUTH' + - lang: Java + source: |- + OkHttpClient client = new OkHttpClient(); + + Request request = new Request.Builder() + .url("https://api.confluent.cloud/fcpm/v2/compute-pools?spec.region=us-west-1&environment=env-00000&spec.network=n-00000") + .get() + .addHeader("Authorization", "Basic REPLACE_BASIC_AUTH") + .build(); + + Response response = client.newCall(request).execute(); + - lang: Go + source: "package main\n\nimport (\n\t\"fmt\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.confluent.cloud/fcpm/v2/compute-pools?spec.region=us-west-1&environment=env-00000&spec.network=n-00000\"\n\n\treq, _ := http.NewRequest(\"GET\", url, nil)\n\n\treq.Header.Add(\"Authorization\", \"Basic REPLACE_BASIC_AUTH\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}" + - lang: Python + source: |- + import http.client + + conn = http.client.HTTPSConnection("api.confluent.cloud") + + headers = { 'Authorization': "Basic REPLACE_BASIC_AUTH" } + + conn.request("GET", "/fcpm/v2/compute-pools?spec.region=us-west-1&environment=env-00000&spec.network=n-00000", headers=headers) + + res = conn.getresponse() + data = res.read() + + print(data.decode("utf-8")) + - lang: Node + source: |- + const http = require("https"); + + const options = { + "method": "GET", + "hostname": "api.confluent.cloud", + "port": null, + "path": "/fcpm/v2/compute-pools?spec.region=us-west-1&environment=env-00000&spec.network=n-00000", + "headers": { + "Authorization": "Basic REPLACE_BASIC_AUTH" + } + }; + + const req = http.request(options, function (res) { + const chunks = []; + + res.on("data", function (chunk) { + chunks.push(chunk); + }); + + res.on("end", function () { + const body = Buffer.concat(chunks); + console.log(body.toString()); + }); + }); + + req.end(); + - lang: C + source: |- + CURL *hnd = curl_easy_init(); + + curl_easy_setopt(hnd, CURLOPT_CUSTOMREQUEST, "GET"); + curl_easy_setopt(hnd, CURLOPT_URL, "https://api.confluent.cloud/fcpm/v2/compute-pools?spec.region=us-west-1&environment=env-00000&spec.network=n-00000"); + + struct curl_slist *headers = NULL; + headers = curl_slist_append(headers, "Authorization: Basic REPLACE_BASIC_AUTH"); + curl_easy_setopt(hnd, CURLOPT_HTTPHEADER, headers); + + CURLcode ret = curl_easy_perform(hnd); + - lang: C# + source: |- + var client = new RestClient("https://api.confluent.cloud/fcpm/v2/compute-pools?spec.region=us-west-1&environment=env-00000&spec.network=n-00000"); + var request = new RestRequest(Method.GET); + request.AddHeader("Authorization", "Basic REPLACE_BASIC_AUTH"); + IRestResponse response = client.Execute(request); + post: + operationId: createFcpmV2ComputePool + summary: Create a Compute Pool + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + Make a request to create a compute pool. + tags: + - Compute Pools (fcpm/v2) + security: + - cloud-api-key: [] + - confluent-sts-access-token: [] + requestBody: + content: + application/json: + schema: + allOf: + - $ref: '#/components/schemas/fcpm.v2.ComputePool' + - type: object + required: + - spec + properties: + spec: + type: object + required: + - display_name + - cloud + - region + - max_cfu + - environment + - type: object + properties: + spec: + type: object + properties: + environment: + example: + id: env-00000 + network: + example: + id: n-00000 + responses: + '202': + description: A Compute Pool is being created. + headers: + X-Request-Id: + schema: + type: string + description: The unique identifier for the API request. + X-RateLimit-Limit: + schema: + type: integer + description: The maximum number of requests you're permitted to make per time period. + X-RateLimit-Remaining: + schema: + type: integer + description: The number of requests remaining in the current rate limit window. + X-RateLimit-Reset: + schema: + type: integer + description: |- + The relative time in seconds until the current rate-limit window resets. + + **Important:** This differs from Github and Twitter's same-named header which uses UTC epoch seconds. We use relative time to avoid client/server time synchronization issues. + Location: + schema: + type: string + format: uri + example: 'https://api.confluent.cloud/fcpm/v2/compute-pools/{id}' + description: ComputePool resource uri + content: + application/json: + schema: + allOf: + - $ref: '#/components/schemas/fcpm.v2.ComputePool' + - type: object + required: + - spec + - status + properties: + spec: + type: object + required: + - display_name + - cloud + - region + - max_cfu + - environment + - type: object + properties: + spec: + type: object + properties: + environment: + example: + id: env-00000 + related: 'https://api.confluent.cloud/org/v2/environments/env-00000' + resource_name: 'https://api.confluent.cloud/organization=9bb441c4-edef-46ac-8a41-c49e44a3fd9a/environment=env-00000' + network: + example: + id: n-00000 + related: 'https://api.confluent.cloud/networking/v1/networks/n-00000' + resource_name: 'https://api.confluent.cloud/organization=9bb441c4-edef-46ac-8a41-c49e44a3fd9a/environment=env-abc123/network=n-00000' + '400': + $ref: '#/components/responses/BadRequestError' + '401': + $ref: '#/components/responses/UnauthenticatedError' + '403': + $ref: '#/components/responses/UnauthorizedError' + '409': + $ref: '#/components/responses/ConflictError' + '422': + $ref: '#/components/responses/ValidationError' + '429': + $ref: '#/components/responses/RateLimitError' + '500': + $ref: '#/components/responses/DefaultSystemError' + x-codeSamples: + - lang: Shell + source: |- + curl --request POST \ + --url https://api.confluent.cloud/fcpm/v2/compute-pools \ + --header 'Authorization: Basic REPLACE_BASIC_AUTH' \ + --header 'content-type: application/json' \ + --data '{"spec":{"display_name":"flink_compute_pool_0","cloud":"AWS","region":"us-west-1","max_cfu":5,"environment":{"id":"env-00000"},"network":{"id":"n-00000","environment":"string"}}}' + - lang: Java + source: |- + OkHttpClient client = new OkHttpClient(); + + MediaType mediaType = MediaType.parse("application/json"); + RequestBody body = RequestBody.create(mediaType, "{\"spec\":{\"display_name\":\"flink_compute_pool_0\",\"cloud\":\"AWS\",\"region\":\"us-west-1\",\"max_cfu\":5,\"environment\":{\"id\":\"env-00000\"},\"network\":{\"id\":\"n-00000\",\"environment\":\"string\"}}}"); + Request request = new Request.Builder() + .url("https://api.confluent.cloud/fcpm/v2/compute-pools") + .post(body) + .addHeader("content-type", "application/json") + .addHeader("Authorization", "Basic REPLACE_BASIC_AUTH") + .build(); + + Response response = client.newCall(request).execute(); + - lang: Go + source: "package main\n\nimport (\n\t\"fmt\"\n\t\"strings\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.confluent.cloud/fcpm/v2/compute-pools\"\n\n\tpayload := strings.NewReader(\"{\\\"spec\\\":{\\\"display_name\\\":\\\"flink_compute_pool_0\\\",\\\"cloud\\\":\\\"AWS\\\",\\\"region\\\":\\\"us-west-1\\\",\\\"max_cfu\\\":5,\\\"environment\\\":{\\\"id\\\":\\\"env-00000\\\"},\\\"network\\\":{\\\"id\\\":\\\"n-00000\\\",\\\"environment\\\":\\\"string\\\"}}}\")\n\n\treq, _ := http.NewRequest(\"POST\", url, payload)\n\n\treq.Header.Add(\"content-type\", \"application/json\")\n\treq.Header.Add(\"Authorization\", \"Basic REPLACE_BASIC_AUTH\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}" + - lang: Python + source: |- + import http.client + + conn = http.client.HTTPSConnection("api.confluent.cloud") + + payload = "{\"spec\":{\"display_name\":\"flink_compute_pool_0\",\"cloud\":\"AWS\",\"region\":\"us-west-1\",\"max_cfu\":5,\"environment\":{\"id\":\"env-00000\"},\"network\":{\"id\":\"n-00000\",\"environment\":\"string\"}}}" + + headers = { + 'content-type': "application/json", + 'Authorization': "Basic REPLACE_BASIC_AUTH" + } + + conn.request("POST", "/fcpm/v2/compute-pools", payload, headers) + + res = conn.getresponse() + data = res.read() + + print(data.decode("utf-8")) + - lang: Node + source: |- + const http = require("https"); + + const options = { + "method": "POST", + "hostname": "api.confluent.cloud", + "port": null, + "path": "/fcpm/v2/compute-pools", + "headers": { + "content-type": "application/json", + "Authorization": "Basic REPLACE_BASIC_AUTH" + } + }; + + const req = http.request(options, function (res) { + const chunks = []; + + res.on("data", function (chunk) { + chunks.push(chunk); + }); + + res.on("end", function () { + const body = Buffer.concat(chunks); + console.log(body.toString()); + }); + }); + + req.write(JSON.stringify({ + spec: { + display_name: 'flink_compute_pool_0', + cloud: 'AWS', + region: 'us-west-1', + max_cfu: 5, + environment: {id: 'env-00000'}, + network: {id: 'n-00000', environment: 'string'} + } + })); + req.end(); + - lang: C + source: |- + CURL *hnd = curl_easy_init(); + + curl_easy_setopt(hnd, CURLOPT_CUSTOMREQUEST, "POST"); + curl_easy_setopt(hnd, CURLOPT_URL, "https://api.confluent.cloud/fcpm/v2/compute-pools"); + + struct curl_slist *headers = NULL; + headers = curl_slist_append(headers, "content-type: application/json"); + headers = curl_slist_append(headers, "Authorization: Basic REPLACE_BASIC_AUTH"); + curl_easy_setopt(hnd, CURLOPT_HTTPHEADER, headers); + + curl_easy_setopt(hnd, CURLOPT_POSTFIELDS, "{\"spec\":{\"display_name\":\"flink_compute_pool_0\",\"cloud\":\"AWS\",\"region\":\"us-west-1\",\"max_cfu\":5,\"environment\":{\"id\":\"env-00000\"},\"network\":{\"id\":\"n-00000\",\"environment\":\"string\"}}}"); + + CURLcode ret = curl_easy_perform(hnd); + - lang: C# + source: |- + var client = new RestClient("https://api.confluent.cloud/fcpm/v2/compute-pools"); + var request = new RestRequest(Method.POST); + request.AddHeader("content-type", "application/json"); + request.AddHeader("Authorization", "Basic REPLACE_BASIC_AUTH"); + request.AddParameter("application/json", "{\"spec\":{\"display_name\":\"flink_compute_pool_0\",\"cloud\":\"AWS\",\"region\":\"us-west-1\",\"max_cfu\":5,\"environment\":{\"id\":\"env-00000\"},\"network\":{\"id\":\"n-00000\",\"environment\":\"string\"}}}", ParameterType.RequestBody); + IRestResponse response = client.Execute(request); + '/fcpm/v2/compute-pools/{id}': + get: + operationId: getFcpmV2ComputePool + summary: Read a Compute Pool + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + Make a request to read a compute pool. + parameters: + - name: environment + in: query + required: true + schema: + $ref: '#/components/schemas/SearchFilter' + example: env-00000 + description: Scope the operation to the given environment. + - name: id + in: path + required: true + schema: + type: string + description: The unique identifier for the compute pool. + tags: + - Compute Pools (fcpm/v2) + security: + - cloud-api-key: [] + - confluent-sts-access-token: [] + responses: + '200': + description: Compute Pool. + content: + application/json: + schema: + allOf: + - $ref: '#/components/schemas/fcpm.v2.ComputePool' + - type: object + required: + - api_version + - kind + - id + - spec + - status + properties: + spec: + type: object + required: + - display_name + - cloud + - region + - max_cfu + - environment + - type: object + properties: + spec: + type: object + properties: + environment: + example: + id: env-00000 + related: 'https://api.confluent.cloud/org/v2/environments/env-00000' + resource_name: 'https://api.confluent.cloud/organization=9bb441c4-edef-46ac-8a41-c49e44a3fd9a/environment=env-00000' + network: + example: + id: n-00000 + related: 'https://api.confluent.cloud/networking/v1/networks/n-00000' + resource_name: 'https://api.confluent.cloud/organization=9bb441c4-edef-46ac-8a41-c49e44a3fd9a/environment=env-abc123/network=n-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. + + **Important:** This differs from Github and Twitter's same-named header which uses UTC epoch seconds. We use relative time to avoid client/server time synchronization issues. + '400': + $ref: '#/components/responses/BadRequestError' + '401': + $ref: '#/components/responses/UnauthenticatedError' + '403': + $ref: '#/components/responses/UnauthorizedError' + '404': + $ref: '#/components/responses/NotFoundError' + '429': + $ref: '#/components/responses/RateLimitError' + '500': + $ref: '#/components/responses/DefaultSystemError' + x-codeSamples: + - lang: Shell + source: |- + curl --request GET \ + --url 'https://api.confluent.cloud/fcpm/v2/compute-pools/{id}?environment=env-00000' \ + --header 'Authorization: Basic REPLACE_BASIC_AUTH' + - lang: Java + source: |- + OkHttpClient client = new OkHttpClient(); + + Request request = new Request.Builder() + .url("https://api.confluent.cloud/fcpm/v2/compute-pools/{id}?environment=env-00000") + .get() + .addHeader("Authorization", "Basic REPLACE_BASIC_AUTH") + .build(); + + Response response = client.newCall(request).execute(); + - lang: Go + source: "package main\n\nimport (\n\t\"fmt\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.confluent.cloud/fcpm/v2/compute-pools/{id}?environment=env-00000\"\n\n\treq, _ := http.NewRequest(\"GET\", url, nil)\n\n\treq.Header.Add(\"Authorization\", \"Basic REPLACE_BASIC_AUTH\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}" + - lang: Python + source: |- + import http.client + + conn = http.client.HTTPSConnection("api.confluent.cloud") + + headers = { 'Authorization': "Basic REPLACE_BASIC_AUTH" } + + conn.request("GET", "/fcpm/v2/compute-pools/{id}?environment=env-00000", headers=headers) + + res = conn.getresponse() + data = res.read() + + print(data.decode("utf-8")) + - lang: Node + source: |- + const http = require("https"); + + const options = { + "method": "GET", + "hostname": "api.confluent.cloud", + "port": null, + "path": "/fcpm/v2/compute-pools/{id}?environment=env-00000", + "headers": { + "Authorization": "Basic REPLACE_BASIC_AUTH" + } + }; + + const req = http.request(options, function (res) { + const chunks = []; + + res.on("data", function (chunk) { + chunks.push(chunk); + }); + + res.on("end", function () { + const body = Buffer.concat(chunks); + console.log(body.toString()); + }); + }); + + req.end(); + - lang: C + source: |- + CURL *hnd = curl_easy_init(); + + curl_easy_setopt(hnd, CURLOPT_CUSTOMREQUEST, "GET"); + curl_easy_setopt(hnd, CURLOPT_URL, "https://api.confluent.cloud/fcpm/v2/compute-pools/{id}?environment=env-00000"); + + struct curl_slist *headers = NULL; + headers = curl_slist_append(headers, "Authorization: Basic REPLACE_BASIC_AUTH"); + curl_easy_setopt(hnd, CURLOPT_HTTPHEADER, headers); + + CURLcode ret = curl_easy_perform(hnd); + - lang: C# + source: |- + var client = new RestClient("https://api.confluent.cloud/fcpm/v2/compute-pools/{id}?environment=env-00000"); + var request = new RestRequest(Method.GET); + request.AddHeader("Authorization", "Basic REPLACE_BASIC_AUTH"); + IRestResponse response = client.Execute(request); + patch: + operationId: updateFcpmV2ComputePool + summary: Update a Compute Pool + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + Make a request to update a compute pool. + parameters: + - name: id + in: path + required: true + schema: + type: string + description: The unique identifier for the compute pool. + tags: + - Compute Pools (fcpm/v2) + security: + - cloud-api-key: [] + - confluent-sts-access-token: [] + requestBody: + content: + application/json: + schema: + allOf: + - $ref: '#/components/schemas/fcpm.v2.ComputePoolUpdate' + - type: object + required: + - spec + properties: + spec: + type: object + required: + - environment + properties: + environment: + example: + id: env-00000 + responses: + '200': + description: Compute Pool. + content: + application/json: + schema: + allOf: + - $ref: '#/components/schemas/fcpm.v2.ComputePool' + - type: object + required: + - api_version + - kind + - id + - spec + - status + properties: + spec: + type: object + required: + - display_name + - cloud + - region + - max_cfu + - environment + - type: object + properties: + spec: + type: object + properties: + environment: + example: + id: env-00000 + related: 'https://api.confluent.cloud/org/v2/environments/env-00000' + resource_name: 'https://api.confluent.cloud/organization=9bb441c4-edef-46ac-8a41-c49e44a3fd9a/environment=env-00000' + network: + example: + id: n-00000 + related: 'https://api.confluent.cloud/networking/v1/networks/n-00000' + resource_name: 'https://api.confluent.cloud/organization=9bb441c4-edef-46ac-8a41-c49e44a3fd9a/environment=env-abc123/network=n-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. + + **Important:** This differs from Github and Twitter's same-named header which uses UTC epoch seconds. We use relative time to avoid client/server time synchronization issues. + '400': + $ref: '#/components/responses/BadRequestError' + '401': + $ref: '#/components/responses/UnauthenticatedError' + '403': + $ref: '#/components/responses/UnauthorizedError' + '404': + $ref: '#/components/responses/NotFoundError' + '409': + $ref: '#/components/responses/ConflictError' + '422': + $ref: '#/components/responses/ValidationError' + '429': + $ref: '#/components/responses/RateLimitError' + '500': + $ref: '#/components/responses/DefaultSystemError' + x-codeSamples: + - lang: Shell + source: |- + curl --request PATCH \ + --url 'https://api.confluent.cloud/fcpm/v2/compute-pools/{id}' \ + --header 'Authorization: Basic REPLACE_BASIC_AUTH' \ + --header 'content-type: application/json' \ + --data '{"spec":{"display_name":"flink_compute_pool_0","cloud":"AWS","region":"us-west-1","max_cfu":5,"environment":{"id":"env-00000"},"network":{"id":"string","environment":"string"}}}' + - lang: Java + source: |- + OkHttpClient client = new OkHttpClient(); + + MediaType mediaType = MediaType.parse("application/json"); + RequestBody body = RequestBody.create(mediaType, "{\"spec\":{\"display_name\":\"flink_compute_pool_0\",\"cloud\":\"AWS\",\"region\":\"us-west-1\",\"max_cfu\":5,\"environment\":{\"id\":\"env-00000\"},\"network\":{\"id\":\"string\",\"environment\":\"string\"}}}"); + Request request = new Request.Builder() + .url("https://api.confluent.cloud/fcpm/v2/compute-pools/{id}") + .patch(body) + .addHeader("content-type", "application/json") + .addHeader("Authorization", "Basic REPLACE_BASIC_AUTH") + .build(); + + Response response = client.newCall(request).execute(); + - lang: Go + source: "package main\n\nimport (\n\t\"fmt\"\n\t\"strings\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.confluent.cloud/fcpm/v2/compute-pools/{id}\"\n\n\tpayload := strings.NewReader(\"{\\\"spec\\\":{\\\"display_name\\\":\\\"flink_compute_pool_0\\\",\\\"cloud\\\":\\\"AWS\\\",\\\"region\\\":\\\"us-west-1\\\",\\\"max_cfu\\\":5,\\\"environment\\\":{\\\"id\\\":\\\"env-00000\\\"},\\\"network\\\":{\\\"id\\\":\\\"string\\\",\\\"environment\\\":\\\"string\\\"}}}\")\n\n\treq, _ := http.NewRequest(\"PATCH\", url, payload)\n\n\treq.Header.Add(\"content-type\", \"application/json\")\n\treq.Header.Add(\"Authorization\", \"Basic REPLACE_BASIC_AUTH\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}" + - lang: Python + source: |- + import http.client + + conn = http.client.HTTPSConnection("api.confluent.cloud") + + payload = "{\"spec\":{\"display_name\":\"flink_compute_pool_0\",\"cloud\":\"AWS\",\"region\":\"us-west-1\",\"max_cfu\":5,\"environment\":{\"id\":\"env-00000\"},\"network\":{\"id\":\"string\",\"environment\":\"string\"}}}" + + headers = { + 'content-type': "application/json", + 'Authorization': "Basic REPLACE_BASIC_AUTH" + } + + conn.request("PATCH", "/fcpm/v2/compute-pools/{id}", payload, headers) + + res = conn.getresponse() + data = res.read() + + print(data.decode("utf-8")) + - lang: Node + source: |- + const http = require("https"); + + const options = { + "method": "PATCH", + "hostname": "api.confluent.cloud", + "port": null, + "path": "/fcpm/v2/compute-pools/{id}", + "headers": { + "content-type": "application/json", + "Authorization": "Basic REPLACE_BASIC_AUTH" + } + }; + + const req = http.request(options, function (res) { + const chunks = []; + + res.on("data", function (chunk) { + chunks.push(chunk); + }); + + res.on("end", function () { + const body = Buffer.concat(chunks); + console.log(body.toString()); + }); + }); + + req.write(JSON.stringify({ + spec: { + display_name: 'flink_compute_pool_0', + cloud: 'AWS', + region: 'us-west-1', + max_cfu: 5, + environment: {id: 'env-00000'}, + network: {id: 'string', environment: 'string'} + } + })); + req.end(); + - lang: C + source: |- + CURL *hnd = curl_easy_init(); + + curl_easy_setopt(hnd, CURLOPT_CUSTOMREQUEST, "PATCH"); + curl_easy_setopt(hnd, CURLOPT_URL, "https://api.confluent.cloud/fcpm/v2/compute-pools/{id}"); + + struct curl_slist *headers = NULL; + headers = curl_slist_append(headers, "content-type: application/json"); + headers = curl_slist_append(headers, "Authorization: Basic REPLACE_BASIC_AUTH"); + curl_easy_setopt(hnd, CURLOPT_HTTPHEADER, headers); + + curl_easy_setopt(hnd, CURLOPT_POSTFIELDS, "{\"spec\":{\"display_name\":\"flink_compute_pool_0\",\"cloud\":\"AWS\",\"region\":\"us-west-1\",\"max_cfu\":5,\"environment\":{\"id\":\"env-00000\"},\"network\":{\"id\":\"string\",\"environment\":\"string\"}}}"); + + CURLcode ret = curl_easy_perform(hnd); + - lang: C# + source: |- + var client = new RestClient("https://api.confluent.cloud/fcpm/v2/compute-pools/{id}"); + var request = new RestRequest(Method.PATCH); + request.AddHeader("content-type", "application/json"); + request.AddHeader("Authorization", "Basic REPLACE_BASIC_AUTH"); + request.AddParameter("application/json", "{\"spec\":{\"display_name\":\"flink_compute_pool_0\",\"cloud\":\"AWS\",\"region\":\"us-west-1\",\"max_cfu\":5,\"environment\":{\"id\":\"env-00000\"},\"network\":{\"id\":\"string\",\"environment\":\"string\"}}}", ParameterType.RequestBody); + IRestResponse response = client.Execute(request); + delete: + operationId: deleteFcpmV2ComputePool + summary: Delete a Compute Pool + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + Make a request to delete a compute pool. + parameters: + - name: environment + in: query + required: true + schema: + $ref: '#/components/schemas/SearchFilter' + example: env-00000 + description: Scope the operation to the given environment. + - name: id + in: path + required: true + schema: + type: string + description: The unique identifier for the compute pool. + tags: + - Compute Pools (fcpm/v2) + security: + - cloud-api-key: [] + - confluent-sts-access-token: [] + responses: + '204': + description: A Compute Pool is being deleted. + headers: + X-Request-Id: + schema: + type: string + description: The unique identifier for the API request. + X-RateLimit-Limit: + schema: + type: integer + description: The maximum number of requests you're permitted to make per time period. + X-RateLimit-Remaining: + schema: + type: integer + description: The number of requests remaining in the current rate limit window. + X-RateLimit-Reset: + schema: + type: integer + description: |- + The relative time in seconds until the current rate-limit window resets. + + **Important:** This differs from Github and Twitter's same-named header which uses UTC epoch seconds. We use relative time to avoid client/server time synchronization issues. + '400': + $ref: '#/components/responses/BadRequestError' + '401': + $ref: '#/components/responses/UnauthenticatedError' + '403': + $ref: '#/components/responses/UnauthorizedError' + '404': + $ref: '#/components/responses/NotFoundError' + '429': + $ref: '#/components/responses/RateLimitError' + '500': + $ref: '#/components/responses/DefaultSystemError' + x-codeSamples: + - lang: Shell + source: |- + curl --request DELETE \ + --url 'https://api.confluent.cloud/fcpm/v2/compute-pools/{id}?environment=env-00000' \ + --header 'Authorization: Basic REPLACE_BASIC_AUTH' + - lang: Java + source: |- + OkHttpClient client = new OkHttpClient(); + + Request request = new Request.Builder() + .url("https://api.confluent.cloud/fcpm/v2/compute-pools/{id}?environment=env-00000") + .delete(null) + .addHeader("Authorization", "Basic REPLACE_BASIC_AUTH") + .build(); + + Response response = client.newCall(request).execute(); + - lang: Go + source: "package main\n\nimport (\n\t\"fmt\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.confluent.cloud/fcpm/v2/compute-pools/{id}?environment=env-00000\"\n\n\treq, _ := http.NewRequest(\"DELETE\", url, nil)\n\n\treq.Header.Add(\"Authorization\", \"Basic REPLACE_BASIC_AUTH\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}" + - lang: Python + source: |- + import http.client + + conn = http.client.HTTPSConnection("api.confluent.cloud") + + headers = { 'Authorization': "Basic REPLACE_BASIC_AUTH" } + + conn.request("DELETE", "/fcpm/v2/compute-pools/{id}?environment=env-00000", headers=headers) + + res = conn.getresponse() + data = res.read() + + print(data.decode("utf-8")) + - lang: Node + source: |- + const http = require("https"); + + const options = { + "method": "DELETE", + "hostname": "api.confluent.cloud", + "port": null, + "path": "/fcpm/v2/compute-pools/{id}?environment=env-00000", + "headers": { + "Authorization": "Basic REPLACE_BASIC_AUTH" + } + }; + + const req = http.request(options, function (res) { + const chunks = []; + + res.on("data", function (chunk) { + chunks.push(chunk); + }); + + res.on("end", function () { + const body = Buffer.concat(chunks); + console.log(body.toString()); + }); + }); + + req.end(); + - lang: C + source: |- + CURL *hnd = curl_easy_init(); + + curl_easy_setopt(hnd, CURLOPT_CUSTOMREQUEST, "DELETE"); + curl_easy_setopt(hnd, CURLOPT_URL, "https://api.confluent.cloud/fcpm/v2/compute-pools/{id}?environment=env-00000"); + + struct curl_slist *headers = NULL; + headers = curl_slist_append(headers, "Authorization: Basic REPLACE_BASIC_AUTH"); + curl_easy_setopt(hnd, CURLOPT_HTTPHEADER, headers); + + CURLcode ret = curl_easy_perform(hnd); + - lang: C# + source: |- + var client = new RestClient("https://api.confluent.cloud/fcpm/v2/compute-pools/{id}?environment=env-00000"); + var request = new RestRequest(Method.DELETE); + request.AddHeader("Authorization", "Basic REPLACE_BASIC_AUTH"); + IRestResponse response = client.Execute(request); + /fcpm/v2/regions: + get: + operationId: listFcpmV2Regions + summary: List of Regions + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + Retrieve a sorted, filtered, paginated list of all regions. + parameters: + - name: cloud + in: query + required: false + schema: + $ref: '#/components/schemas/SearchFilter' + example: AWS + description: Filter the results by exact match for cloud. + - name: region_name + in: query + required: false + schema: + $ref: '#/components/schemas/SearchFilter' + example: us-east-2 + description: Filter the results by exact match for region_name. + - 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: + - Regions (fcpm/v2) + security: + - cloud-api-key: [] + - confluent-sts-access-token: [] + responses: + '200': + description: Region. + content: + application/json: + schema: + allOf: + - $ref: '#/components/schemas/fcpm.v2.RegionList' + 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. + + **Important:** This differs from Github and Twitter's same-named header which uses UTC epoch seconds. We use relative time to avoid client/server time synchronization issues. + '400': + $ref: '#/components/responses/BadRequestError' + '401': + $ref: '#/components/responses/UnauthenticatedError' + '403': + $ref: '#/components/responses/UnauthorizedError' + '429': + $ref: '#/components/responses/RateLimitError' + '500': + $ref: '#/components/responses/DefaultSystemError' + x-codeSamples: + - lang: Shell + source: |- + curl --request GET \ + --url 'https://api.confluent.cloud/fcpm/v2/regions?cloud=AWS®ion_name=us-east-2' \ + --header 'Authorization: Basic REPLACE_BASIC_AUTH' + - lang: Java + source: |- + OkHttpClient client = new OkHttpClient(); + + Request request = new Request.Builder() + .url("https://api.confluent.cloud/fcpm/v2/regions?cloud=AWS®ion_name=us-east-2") + .get() + .addHeader("Authorization", "Basic REPLACE_BASIC_AUTH") + .build(); + + Response response = client.newCall(request).execute(); + - lang: Go + source: "package main\n\nimport (\n\t\"fmt\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.confluent.cloud/fcpm/v2/regions?cloud=AWS®ion_name=us-east-2\"\n\n\treq, _ := http.NewRequest(\"GET\", url, nil)\n\n\treq.Header.Add(\"Authorization\", \"Basic REPLACE_BASIC_AUTH\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}" + - lang: Python + source: |- + import http.client + + conn = http.client.HTTPSConnection("api.confluent.cloud") + + headers = { 'Authorization': "Basic REPLACE_BASIC_AUTH" } + + conn.request("GET", "/fcpm/v2/regions?cloud=AWS®ion_name=us-east-2", headers=headers) + + res = conn.getresponse() + data = res.read() + + print(data.decode("utf-8")) + - lang: Node + source: |- + const http = require("https"); + + const options = { + "method": "GET", + "hostname": "api.confluent.cloud", + "port": null, + "path": "/fcpm/v2/regions?cloud=AWS®ion_name=us-east-2", + "headers": { + "Authorization": "Basic REPLACE_BASIC_AUTH" + } + }; + + const req = http.request(options, function (res) { + const chunks = []; + + res.on("data", function (chunk) { + chunks.push(chunk); + }); + + res.on("end", function () { + const body = Buffer.concat(chunks); + console.log(body.toString()); + }); + }); + + req.end(); + - lang: C + source: |- + CURL *hnd = curl_easy_init(); + + curl_easy_setopt(hnd, CURLOPT_CUSTOMREQUEST, "GET"); + curl_easy_setopt(hnd, CURLOPT_URL, "https://api.confluent.cloud/fcpm/v2/regions?cloud=AWS®ion_name=us-east-2"); + + struct curl_slist *headers = NULL; + headers = curl_slist_append(headers, "Authorization: Basic REPLACE_BASIC_AUTH"); + curl_easy_setopt(hnd, CURLOPT_HTTPHEADER, headers); + + CURLcode ret = curl_easy_perform(hnd); + - lang: C# + source: |- + var client = new RestClient("https://api.confluent.cloud/fcpm/v2/regions?cloud=AWS®ion_name=us-east-2"); + var request = new RestRequest(Method.GET); + request.AddHeader("Authorization", "Basic REPLACE_BASIC_AUTH"); + IRestResponse response = client.Execute(request); diff --git a/providers/src/confluent/v00.00.00000/services/iam.yaml b/providers/src/confluent/v00.00.00000/services/iam.yaml new file mode 100644 index 00000000..702a11c6 --- /dev/null +++ b/providers/src/confluent/v00.00.00000/services/iam.yaml @@ -0,0 +1,14964 @@ +openapi: 3.0.0 +servers: + - url: 'https://api.confluent.cloud' + description: Confluent Cloud API +info: + version: '' + contact: + name: Confluent Cloud + url: 'https://www.confluent.io/cloud-contact-us/' + email: support@confluent.io + x-api-id: 46234552-5833-42eb-ba0f-883ad3f70d2b + x-audience: external-public + x-logo: + url: 'https://assets.confluent.io/m/5ec23aa91903c00b/' + title: Confluent Cloud APIs - iam + description: iam +tags: + - name: API Keys (iam/v2) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + `ApiKey` objects represent access to different parts of Confluent Cloud. Some types + of API keys represent access to a single cluster/resource such as a Kafka cluster, + Schema Registry cluster or a ksqlDB cluster. Cloud API Keys represent access to resources within an organization + that are not tied to a specific cluster, such as the Org API, IAM API, Metrics API or Connect API. + + The API allows you to list, create, update and delete your API Keys. + + + Related guide: [API Keys in Confluent Cloud](https://docs.confluent.io/cloud/current/client-apps/api-keys.html). + + ## The API Keys Model + + + ## Quotas and Limits + This resource is subject to the [following quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): + + | Quota | Description | + | --- | --- | + | `apikeys_per_org` | API Keys in one Confluent Cloud organization | + - name: Environments (org/v2) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + `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](https://docs.confluent.io/cloud/current/access-management/environments.html). + + ## The Environments Model + + + ## Quotas and Limits + This resource is subject to the [following quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): + + | Quota | Description | + | --- | --- | + | `environments_per_org` | Environments in one Confluent Cloud organization | + - name: Organizations (org/v2) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + `Organization` objects represent a customer organization. An organization contains all customer + resources (e.g., Environments, Kafka Clusters, Service Accounts, API Keys) and is tied to a billing + agreement (including any annual commitment or support plan). + + The API allows you to list, view, and update your organizations. + + + Related guide: [Organizations for Confluent Cloud](https://docs.confluent.io/cloud/current/access-management/hierarchy/organizations/cloud-organization.html). + + ## The Organizations Model + + + ## Quotas and Limits + This resource is subject to the [following quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): + + | Quota | Description | + | --- | --- | + | `organizations_per_user` | Confluent Cloud organizations a user belongs to | + - name: Users (iam/v2) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + `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](https://docs.confluent.io/cloud/current/access-management/user-account.html). + + ## The Users Model + + + ## Quotas and Limits + This resource is subject to the [following quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): + + | Quota | Description | + | --- | --- | + | `users_per_org` | Users in one Confluent Cloud organization | + - name: Service Accounts (iam/v2) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + `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](https://docs.confluent.io/cloud/current/access-management/service-account.html). + + ## The Service Accounts Model + + + ## Quotas and Limits + This resource is subject to the [following quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): + + | Quota | Description | + | --- | --- | + | `service_accounts_per_org` | Service Accounts in one Confluent Cloud organization | + - name: Invitations (iam/v2) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + `Invitation` objects represent invitations to invite users to join your organizations in Confluent Cloud. + + The API allows you to list all your invitations, as well as create, read, and delete a specified invitation. + + + Related guide: [User invitations in Confluent Cloud](https://docs.confluent.io/cloud/current/access-management/identity/user-accounts.html). + + ## The Invitations Model + + + ## Quotas and Limits + This resource is subject to the [following quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): + + | Quota | Description | + | --- | --- | + | `invitations_per_org` | Invitations in a Confluent Cloud organization | + - name: IP Groups (iam/v2) + description: |- + [![Limited Availability](https://img.shields.io/badge/Lifecycle%20Stage-Limited%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) [![Request Access To IP Groups API](https://img.shields.io/badge/-Request%20Access%20To%20IP%20Groups%20API-%23bc8540)](mailto:cloud-support@confluent.io?subject=Request%20to%20join%20IP%20Filtering%20API%20Limited%20Access&body=I%E2%80%99d%20like%20to%20join%20the%20Confluent%20Cloud%20API%20Limited%20Access%20for%20IP%20Filtering.%0AMy%20Cloud%20Organization%20ID%20is%20%3Cretrieve%20from%20https%3A//confluent.cloud/settings/billing/payment%3E.%0A) + + Definitions of networks which can be named and referred by IP blocks, commonly used to attach to IP Filter rules. + + + ## The IP Groups Model + + - name: IP Filters (iam/v2) + description: |- + [![Limited Availability](https://img.shields.io/badge/Lifecycle%20Stage-Limited%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) [![Request Access To IP Filters API](https://img.shields.io/badge/-Request%20Access%20To%20IP%20Filters%20API-%23bc8540)](mailto:ccloud-api-access+iam-v2-limited-availability@confluent.io?subject=Request%20to%20join%20iam/v2%20API%20Limited%20Availability&body=I%E2%80%99d%20like%20to%20join%20the%20Confluent%20Cloud%20API%20Limited%20Availability%20for%20iam/v2%20to%20provide%20early%20feedback%21%20My%20Cloud%20Organization%20ID%20is%20%3Cretrieve%20from%20https%3A//confluent.cloud/settings/billing/payment%3E.) + + `IP Filter` objects are bindings between IP Groups and Confluent resource(s). + For example, a binding between "CorpNet" and "Management APIs" will enforce that + access must come from one of the CIDR blocks associated with CorpNet. + If there are multiple IP filters bound to a resource, a request matching any of the CIDR blocks + for any of the IP Group will allow the request. + If there are no IP Filters for a resource, then access will be granted to requests originating + from any IP Address. + + + ## The IP Filters Model + + - name: Role Bindings (iam/v2) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + A role binding grants a Principal a role on resources that match a pattern. + + The API allows you to perform create, delete, and list operations on role bindings. + + + Related guide: [Role-Based Access Control (RBAC)](https://docs.confluent.io/cloud/current/access-management/access-control/cloud-rbac.html). + + ## The Role Bindings Model + + - name: Subscriptions (notifications/v1) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + `Subscription` objects represent the intent of the customers to get notifications of particular types. + A subscription is created for a particular `NotificationType` and the user will get notifications on the + `Integrations` that are provided while creating the subscription. + + This API allows you to create, retrieve, and update subscriptions, + as well as to view the list of all your subscriptions. You can also delete subscriptions + with RECOMMENDED or OPTIONAL notification types. Subscriptions with REQUIRED notification types cannot be deleted. + + + Related guide: [Cloud Notifications](https://docs.confluent.io/cloud/current/monitoring/configure-notifications.html#notifications-for-ccloud). + + ## The Subscriptions Model + + - name: Integrations (notifications/v1) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + You can create an `Integration` to specify how we can notify you when we receive an alert/notification for + a subscription. Please note that you can only perform create, update and delete operations for integrations + of type `Webhook`, `Slack` and `MsTeams`. You cannot create, update or delete integrations of type `RoleEmail` + and `UserEmail`. + + + Related guide: [Cloud Notifications](https://docs.confluent.io/cloud/current/monitoring/configure-notifications.html#notifications-for-ccloud). + + ## The Integrations Model + + + ## Quotas and Limits + This resource is subject to the [following quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): + + | Quota | Description | + | --- | --- | + | `integrations_per_org` | Maximum number of integrations in one Confluent Cloud organization | + - name: Notification Types (notifications/v1) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + The type of notifications (and their corresponding metadata) supported by Confluent. + + + Related guide: [Cloud Notifications](https://docs.confluent.io/cloud/current/monitoring/configure-notifications.html#notifications-for-ccloud). + + ## The Notification Types Model + + - name: Clusters (cmk/v2) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + `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](https://docs.confluent.io/cloud/current/clusters/cluster-api.html). + + ## The Clusters Model + + + ## Quotas and Limits + This resource is subject to the [following quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): + + | Quota | Description | + | --- | --- | + | `kafka_clusters_per_environment` | Number of clusters in one Confluent Cloud environment | + - name: Clusters (ksqldbcm/v2) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + `Cluster` represents a ksqlDB runtime that you can issue queries to using its API endpoint. + It executes SQL statements and queries which under the hood get built into corresponding + Kafka Streams topologies. The API allows you to list, create, read, and delete your ksqlDB clusters. + + + Related guide: [ksqlDB in Confluent Cloud](https://docs.confluent.io/cloud/current/ksqldb/ksqldb-cluster-api.html). + + ## The Clusters Model + + + ## Quotas and Limits + This resource is subject to the following quotas: + + | Quota | Description | + | --- | --- | + | `ksql.limits.max_apps_per_cluster` | Clusters in one Confluent Cloud Kafka Cluster. | + - name: Connectors (connect/v1) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + API for Managed Connectors or Custom Connectors in Confluent Cloud. + + The API allows you to list, create, get, update and delete a Managed Connector or Custom Connector in Confluent Cloud. + + Connect metrics are available through the [Metrics v2 API](https://api.telemetry.confluent.cloud/docs#tag/Version-2). + + Related guide: [Confluent Cloud API and Managed Connectors](https://docs.confluent.io/cloud/current/connectors/connect-api-section.html). + - name: Lifecycle (connect/v1) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + API for managing the lifecycle for a Managed Connector or Custom Connector in Confluent Cloud. Operations currently supported are Pause and Resume. + - name: Status (connect/v1) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + API for requesting the status or the tasks for a Managed Connector or Custom Connector in Confluent Cloud. + - name: Managed Connector Plugins (connect/v1) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + API for Managed connectors in Confluent Cloud. + - name: Offsets (connect/v1) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + API for managing the offsets for a Managed Connector. + + Related guide: [Manage Connector Offsets](https://docs.confluent.io/cloud/current/connectors/offsets.html#manage-offsets-for-fully-managed-connectors-in-ccloud) + - name: Custom Connector Plugins (connect/v1) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + CustomConnectorPlugins objects represent Custom Connector Plugins on Confluent Cloud. + The API allows you to list, create, read, update, and delete your Custom Connector Plugins. + Related guide: + [Custom Connector Plugin API](https://docs.confluent.io/cloud/current/connectors/connect-api-section.html). + + + ## The Custom Connector Plugins Model + + - name: Presigned Urls (connect/v1) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + Request a presigned upload URL for new Custom Connector Plugin. Note that + the URL policy expires in one hour. If the policy expires, you can request + a new presigned upload URL. + + Related guide: + [Custom Connector Plugin API](https://docs.confluent.io/cloud/current/connectors/connect-api-section.html). + + + ## The Presigned Urls Model + + - name: Cluster (v3) + description: '[![Generally Available](https://img.shields.io/badge/Lifecycle%20Stage-Generally%20Available-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy)' + - name: Configs (v3) + description: '[![Generally Available](https://img.shields.io/badge/Lifecycle%20Stage-Generally%20Available-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy)' + - name: ACL (v3) + description: '[![Generally Available](https://img.shields.io/badge/Lifecycle%20Stage-Generally%20Available-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy)' + - name: Consumer Group (v3) + description: '[![Generally Available](https://img.shields.io/badge/Lifecycle%20Stage-Generally%20Available-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy)' + - name: Partition (v3) + description: '[![Generally Available](https://img.shields.io/badge/Lifecycle%20Stage-Generally%20Available-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy)' + - name: Topic (v3) + description: '[![Generally Available](https://img.shields.io/badge/Lifecycle%20Stage-Generally%20Available-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy)' + - name: Records (v3) + description: '[![Generally Available](https://img.shields.io/badge/Lifecycle%20Stage-Generally%20Available-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy)' + - name: Cluster Linking (v3) + description: '[![Generally Available](https://img.shields.io/badge/Lifecycle%20Stage-Generally%20Available-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy)' + - name: Applied Quotas (service-quota/v1) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + A `quota` object represents a quota configuration for a specific Confluent Cloud resource. + Use this API to retrieve an individual quota or list of quotas for a given scope. + + + Related guide: [Service Quotas for Confluent Cloud](https://docs.confluent.io/cloud/current/quotas/index.html). + + ## The Applied Quotas Model + + - name: Scopes (service-quota/v1) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + Gets a list of all available scopes for applied quotas. + + + Related guide: [Quota Scopes](https://docs.confluent.io/cloud/current/quotas/quotas.html#query-for-scopes). + + ## The Scopes Model + + - name: Entitlements (partner/v2) + description: | + [![Early Access](https://img.shields.io/badge/Lifecycle%20Stage-Early%20Access-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) [![Request Access To Partner v2](https://img.shields.io/badge/-Request%20Access%20To%20Partner%20v2-%23bc8540)](mailto:ccloud-api-access+partner-v2-early-access@confluent.io?subject=Request%20to%20join%20partner/v2%20API%20Early%20Access&body=I%E2%80%99d%20like%20to%20join%20the%20Confluent%20Cloud%20API%20Early%20Access%20for%20partner/v2%20to%20provide%20early%20feedback%21%20My%20Cloud%20Organization%20ID%20is%20%3Cretrieve%20from%20https%3A//confluent.cloud/settings/billing/payment%3E.) + + `Entitlement` objects represent metadata about a marketplace entitlement. + + An entitlement includes metadata about a marketplace purchase + (start date, end date, billing information, partner IDs, etc). + The API allows partners to create, read, and list entitlements. (Unless you + need entitlement creation and customer registration to be separate, + we recommend using the Signup API to create an organization and entitlement + at the same time) + + The API only allows authorized partners to interact with the Entitlements API. + - name: Regions (srcm/v2) + description: |- + [![Deprecated](https://img.shields.io/badge/Lifecycle%20Stage-Deprecated-%23ff005c)](#section/Versioning/API-Lifecycle-Policy) + + `Region` objects represent cloud provider regions available when placing Schema Registry clusters. + The API allows you to list Schema Registry regions. + + + Related guides: + * [Confluent Cloud providers and region support](https://docs.confluent.io/cloud/current/stream-governance/packages.html#cloud-providers-and-region-support). + * [srcm/v3 Migration Guide](https://docs.confluent.io/cloud/current/stream-governance/packages.html#deprecation-of-srcm-v2-clusters-and-regions-apis-and-upgrade-guide). + + + ## The Regions Model + + - name: Clusters (srcm/v2) + description: |- + [![Deprecated](https://img.shields.io/badge/Lifecycle%20Stage-Deprecated-%23ff005c)](#section/Versioning/API-Lifecycle-Policy) + + `Clusters` objects represent Schema Registry Clusters on Confluent Cloud. + + The API allows you to list, create, read, and delete your Schema Registry clusters. + + + Related guides: + * [Confluent Cloud Schema Registry Cluster APIs](https://docs.confluent.io/cloud/current/stream-governance/clusters-regions-api.html#schema-registry-cluster-management). + * [srcm/v3 Migration Guide](https://docs.confluent.io/cloud/current/stream-governance/packages.html#deprecation-of-srcm-v2-clusters-and-regions-apis-and-upgrade-guide). + + + ## The Clusters Model + + - name: Clusters (srcm/v3) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + `Clusters` objects represent Schema Registry Clusters on Confluent Cloud. + + The API allows you to list and read your Schema Registry clusters. + + + Related guide: [Confluent Cloud Schema Registry Cluster APIs](https://docs.confluent.io/cloud/current/stream-governance/clusters-regions-api.html#schema-registry-cluster-management). + + ## The Clusters Model + + - name: Compatibility (v1) + description: |- + [![Generally Available](https://img.shields.io/badge/Lifecycle%20Stage-Generally%20Available-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + The API allows you to test schema compatibility. + + Related guide: [Manage Schemas in Confluent Cloud](https://docs.confluent.io/cloud/current/sr/schemas-manage.html#manage-schemas-in-ccloud). + - name: Config (v1) + description: |- + [![Generally Available](https://img.shields.io/badge/Lifecycle%20Stage-Generally%20Available-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + The API allows you to manage and query schema compatibility settings and cluster configurations. + + Related guide: [Manage Schemas in Confluent Cloud](https://docs.confluent.io/cloud/current/sr/schemas-manage.html#manage-schemas-in-ccloud). + - name: Contexts (v1) + description: |- + [![Generally Available](https://img.shields.io/badge/Lifecycle%20Stage-Generally%20Available-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + The API allows you to retrieve information about schema contexts. + + Related guide: [Manage Schemas in Confluent Cloud](https://docs.confluent.io/cloud/current/sr/schemas-manage.html#manage-schemas-in-ccloud). + - name: Exporters (v1) + description: |- + [![Generally Available](https://img.shields.io/badge/Lifecycle%20Stage-Generally%20Available-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + The API allows you to create, retrieve, update, and delete exporters. + + Related guide: [Manage Schemas in Confluent Cloud](https://docs.confluent.io/cloud/current/sr/schemas-manage.html#manage-schemas-in-ccloud). + - name: Modes (v1) + description: |- + [![Generally Available](https://img.shields.io/badge/Lifecycle%20Stage-Generally%20Available-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + The API allows you to create, retrieve, update, and delete schema subjects modes of operation. + + Related guide: [Manage Schemas in Confluent Cloud](https://docs.confluent.io/cloud/current/sr/schemas-manage.html#manage-schemas-in-ccloud). + - name: Schemas (v1) + description: |- + [![Generally Available](https://img.shields.io/badge/Lifecycle%20Stage-Generally%20Available-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + The API allows you to create, retrieve, update, and delete schemas. + + Related guide: [Manage Schemas in Confluent Cloud](https://docs.confluent.io/cloud/current/sr/schemas-manage.html#manage-schemas-in-ccloud). + - name: Subjects (v1) + description: |- + [![Generally Available](https://img.shields.io/badge/Lifecycle%20Stage-Generally%20Available-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + The API allows you to create, retrieve, update, and delete schema subjects and versions. + + Related guide: [Manage Schemas in Confluent Cloud](https://docs.confluent.io/cloud/current/sr/schemas-manage.html#manage-schemas-in-ccloud). + - name: Key Encryption Keys (v1) + description: |- + [![Generally Available](https://img.shields.io/badge/Lifecycle%20Stage-Generally%20Available-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + The API allows you to create, retrieve, update, and delete key encryption keys. + + Related guide: [Manage Schemas in Confluent Cloud](https://docs.confluent.io/cloud/current/sr/schemas-manage.html#manage-schemas-in-ccloud). + - name: Data Encryption Keys (v1) + description: |- + [![Generally Available](https://img.shields.io/badge/Lifecycle%20Stage-Generally%20Available-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + The API allows you to create, retrieve, update, and delete data encryption keys. + + Related guide: [Manage Schemas in Confluent Cloud](https://docs.confluent.io/cloud/current/sr/schemas-manage.html#manage-schemas-in-ccloud). + - name: Entity (v1) + description: |- + [![Generally Available](https://img.shields.io/badge/Lifecycle%20Stage-Generally%20Available-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + The API allows you to create, retrieve, update, and delete catalog entities. + + Related guide: [Catalog API Documentation](https://docs.confluent.io/cloud/current/stream-governance/stream-catalog.html#catalog-api-documentation). + - name: Search (v1) + description: |- + [![Generally Available](https://img.shields.io/badge/Lifecycle%20Stage-Generally%20Available-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + The API allows you to search for entities. + + Related guide: [Catalog API Documentation](https://docs.confluent.io/cloud/current/stream-governance/stream-catalog.html#catalog-api-documentation). + - name: Types (v1) + description: |- + [![Generally Available](https://img.shields.io/badge/Lifecycle%20Stage-Generally%20Available-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + The API allows you to create, retrieve, update, and delete catalog types such as tag definitions. + + Related guide: [Catalog API Documentation](https://docs.confluent.io/cloud/current/stream-governance/stream-catalog.html#catalog-api-documentation). + - name: Provider Shared Resources (cdx/v1) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + `ProviderSharedResource` object contains details of the data stream + (topic, schema registry subjects, sharing metadata) that you have shared through Stream Sharing. + + + ## The Provider Shared Resources Model + + - name: Provider Shares (cdx/v1) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + `ProviderShare` object respresents the share that you have created through Stream Sharing. + + + Related guide: [Provider Stream Shares in Confluent Cloud](https://docs.confluent.io/cloud/current/stream-sharing/produce-shared-data.html#stream-shares). + + ## The Provider Shares Model + + - name: Consumer Shared Resources (cdx/v1) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + `ConsumerSharedResource` object contains details of the data stream + (topic, schema registry subjects, sharing metadata) that you received through Stream Sharing. + + + ## The Consumer Shared Resources Model + + - name: Consumer Shares (cdx/v1) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + `ConsumerShare` object respresents the share that you received through Stream Sharing. + + + Related guide: [Consumer Stream Shares in Confluent Cloud](https://docs.confluent.io/cloud/current/stream-sharing/consume-shared-data.html). + + ## The Consumer Shares Model + + - name: Shared Tokens (cdx/v1) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + Encrypted Token shared with consumer + + + ## The Shared Tokens Model + + - name: Opt Ins (cdx/v1) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + Stream sharing opt in options + + ## The Opt Ins Model + + - name: Organizations (partner/v2) + description: | + [![Early Access](https://img.shields.io/badge/Lifecycle%20Stage-Early%20Access-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) [![Request Access To Partner v2](https://img.shields.io/badge/-Request%20Access%20To%20Partner%20v2-%23bc8540)](mailto:ccloud-api-access+partner-v2-early-access@confluent.io?subject=Request%20to%20join%20partner/v2%20API%20Early%20Access&body=I%E2%80%99d%20like%20to%20join%20the%20Confluent%20Cloud%20API%20Early%20Access%20for%20partner/v2%20to%20provide%20early%20feedback%21%20My%20Cloud%20Organization%20ID%20is%20%3Cretrieve%20from%20https%3A//confluent.cloud/settings/billing/payment%3E.) + + `Organizations` objects represent an entire Confluent Cloud organization. + Partners are allowed to get an organization they have signed up or + list all organizations they have signed up. + - name: Signup (partner/v2) + description: | + [![Early Access](https://img.shields.io/badge/Lifecycle%20Stage-Early%20Access-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) [![Request Access To Partner v2](https://img.shields.io/badge/-Request%20Access%20To%20Partner%20v2-%23bc8540)](mailto:ccloud-api-access+partner-v2-early-access@confluent.io?subject=Request%20to%20join%20partner/v2%20API%20Early%20Access&body=I%E2%80%99d%20like%20to%20join%20the%20Confluent%20Cloud%20API%20Early%20Access%20for%20partner/v2%20to%20provide%20early%20feedback%21%20My%20Cloud%20Organization%20ID%20is%20%3Cretrieve%20from%20https%3A//confluent.cloud/settings/billing/payment%3E.) + + `Signup` APIs can only be performed by partners. + - name: Networks (networking/v1) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + `Network` represents a network (VPC) in Confluent Cloud. All Networks exist within Confluent-managed cloud + provider accounts. Dedicated networks support more networking options but can only contain Dedicated clusters. + Shared networks can contain any cluster type. + + The API allows you to list, create, read, update, and delete your networks. + + + Related guide: [APIs to manage networks in Confluent Cloud](https://docs.confluent.io/cloud/current/networking/overview.html). + + ## The Networks Model + + + ## Quotas and Limits + This resource is subject to the [following quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): + + | Quota | Description | + | --- | --- | + | `dedicated_networks_per_environment` | Number of dedicated networks per Confluent Cloud environment | + - name: Peerings (networking/v1) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + Add or remove VPC/VNet peering connections between your VPC/VNet and Confluent Cloud. + + Related guides: + * [Use VPC peering connections with Confluent Cloud on AWS](https://docs.confluent.io/cloud/current/networking/peering/aws-peering.html). + * [Use VNet peering connections with Confluent Cloud on Azure](https://docs.confluent.io/cloud/current/networking/peering/azure-peering.html). + * [Use VPC peering connections with Confluent Cloud on Google Cloud](https://docs.confluent.io/cloud/current/networking/peering/gcp-peering.html). + + + ## The Peerings Model + + + ## Quotas and Limits + This resource is subject to the [following quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): + + | Quota | Description | + | --- | --- | + | `peerings_per_network` | Number of peerings per network | + - name: Transit Gateway Attachments (networking/v1) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + AWS Transit Gateway Attachments + + Related guide: [APIs to manage AWS Transit Gateway Attachments](https://docs.confluent.io/cloud/current/networking/aws-transit-gateway.html). + + ## The Transit Gateway Attachments Model + + + ## Quotas and Limits + This resource is subject to the [following quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): + + | Quota | Description | + | --- | --- | + | `tgw_attachments_per_network` | Number of TGW attachments per network | + - name: Private Link Accesses (networking/v1) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + Add or remove access to PrivateLink endpoints by AWS account, Azure subscription and GCP project ID. + + Related guides: + * [Use Google Cloud Private Service Connect with Confluent Cloud](https://docs.confluent.io/cloud/current/networking/private-links/gcp-private-service-connect.html). + * [Use Azure Private Link with Confluent Cloud](https://docs.confluent.io/cloud/current/networking/private-links/azure-privatelink.html). + * [Use AWS PrivateLink with Confluent Cloud](https://docs.confluent.io/cloud/current/networking/private-links/aws-privatelink.html). + + + ## The Private Link Accesses Model + + + ## Quotas and Limits + This resource is subject to the [following quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): + + | Quota | Description | + | --- | --- | + | `private_link_accounts_per_network` | Number of AWS accounts per network | + | `private_link_subscriptions_per_network` | Number of Azure subscriptions per network | + | `private_service_connect_projects_per_network` | Number of GCP projects per network | + - name: Network Link Services (networking/v1) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + Network Link Service is associated with a Private Link Confluent Cloud Network. + It enables connectivity from other Private Link Confluent Cloud Networks based on + the configured accept policies. + + + Related guide: [Network Linking Overview](https://docs.confluent.io/cloud/current/networking/network-linking.html). + + ## The Network Link Services Model + + + ## Quotas and Limits + This resource is subject to the [following quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): + + | Quota | Description | + | --- | --- | + | `network_link_service_per_network` | Number of network link services per network | + - name: Network Link Endpoints (networking/v1) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + A Network Link Enpoint is associated with a Private Link Confluent Cloud Network at the origin and a + Network Link Service (associated with another Private Link Confluent Cloud Network) at the target. + It enables connectivity between the origin network and the target network. + It can only be associated with a Private Link network. + + + Related guide: [Network Linking Overview](https://docs.confluent.io/cloud/current/networking/network-linking.html). + + ## The Network Link Endpoints Model + + + ## Quotas and Limits + This resource is subject to the [following quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): + + | Quota | Description | + | --- | --- | + | `network_link_endpoints_per_network` | Number of network link endpoints per network | + - name: Network Link Service Associations (networking/v1) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + List of incoming Network Link Enpoints associated with the Network Link Service. + + + Related guide: [Network Linking Overview](https://docs.confluent.io/cloud/current/networking/network-linking.html). + + ## The Network Link Service Associations Model + + - name: Gateways (networking/v1) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + A gateway is a resource that defines network access to Confluent cloud resources. + + + ## The Gateways Model + + - name: IP Addresses (networking/v1) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + IP Addresses + + Related guide: [Use Public Egress IP addresses on Confluent Cloud](https://docs.confluent.io/cloud/current/networking/static-egress-ip-addresses.html) + + ## The IP Addresses Model + + - name: Private Link Attachments (networking/v1) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + PrivateLink attachment objects represent reservations to establish PrivateLink connections + to a cloud region in order to access resources that belong to a Confluent Cloud Environment. + The API allows you to list, create, read update and delete your PrivateLink attachments. + + + ## The Private Link Attachments Model + + + ## Quotas and Limits + This resource is subject to the [following quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): + + | Quota | Description | + | --- | --- | + | `private_link_attachments_per_environment` | Number of PrivateLink Attachments per environment | + - name: Private Link Attachment Connections (networking/v1) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + PrivateLink attachment connection objects represent connections established to a cloud region + in order to access resources that belong to a Confluent Cloud Environment. + The API allows you to list, create, read update and delete your PrivateLink attachment connections. + + + ## The Private Link Attachment Connections Model + + - name: Identity Providers (iam/v2) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + `IdentityProvider` objects represent external OAuth-OIDC providers in Confluent Cloud. + + The API allows you to list, create, read, update, and delete your Identity Provider. + + + Related guide: [OAuth for Confluent Cloud](https://docs.confluent.io/cloud/current/access-management/authenticate/oauth/overview.html). + + ## The Identity Providers Model + + + ## Quotas and Limits + This resource is subject to the [following quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): + + | Quota | Description | + | --- | --- | + | `identity_providers_per_org` | Number of OAuth identity providers per organization | + | `public_keys_per_provider` | Number of public keys saved per identity provider | + - name: Jwks (iam/v2) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + `JWKS` objects represent public key sets for a specific OAuth/OpenID Connect provider within + Confluent Cloud. + + The API allows you to refresh JWKS public key data. + + + Related guide: [OAuth for Confluent Cloud](https://docs.confluent.io/cloud/current/access-management/authenticate/oauth/overview.html). + + ## The Jwks Model + + - name: Identity Pools (iam/v2) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + `IdentityPool` objects represent groups of identities tied to a given a `IdentityProvider` + that authorizes them to Confluent Cloud resources. + + It provides a mapping functionality of your `Identity Provider` user to a Confluent identity pool that + is then used to provide access to Confluent Resources. + + + Related guide: [Use identity pools with your OAuth provider](https://docs.confluent.io/cloud/current/access-management/authenticate/oauth/identity-pools.html). + + ## The Identity Pools Model + + + ## Quotas and Limits + This resource is subject to the [following quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): + + | Quota | Description | + | --- | --- | + | `identity_pools_per_provider` | Number of Identity Pools per Identity Provider | + - name: OAuth Tokens (sts/v1) + description: | + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + OAuth Token is a [JSON Web Token (JWT)](https://www.rfc-editor.org/rfc/rfc7519) that enables the use of + external identities to access Confluent Cloud APIs + - name: Client Quotas (kafka-quotas/v1) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + `ClientQuota` objects represent Client Quotas you can set at the service account level. + + The API allows you to list, create, read, update, and delete your client quotas. + + + Related guide: [Client Quotas in Confluent Cloud](https://docs.confluent.io/cloud/current/clusters/client-quotas.html). + + ## The Client Quotas Model + + - name: Pipelines (sd/v1) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + `Pipeline` objects represent information about a user-defined pipeline of Confluent Cloud components. + The pipeline's content is available separately. + + The API allows you to create, retrieve, update, and delete your pipelines, + as well as list all of your pipelines for the particular environment and Kafka cluster. + + + Related guide: [Pipelines in Confluent Cloud](https://docs.confluent.io/cloud/current/stream-designer/). + + ## The Pipelines Model + + + ## Quotas and Limits + This resource is subject to the [following quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): + + | Quota | Description | + | --- | --- | + | `pipelines_per_org` | Pipelines in one Confluent Cloud organization | + | `pipelines_per_cluster` | Pipelines in one Confluent Cloud Kafka cluster | + - name: Keys (byok/v1) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + `Key` objects represent customer managed keys on dedicated Confluent Cloud clusters. + + Keys are used to protect data at rest stored in your dedicated Confluent Cloud clusters on AWS, Azure, and GCP. + This API allows you to upload and retrieve self-managed keys on Confluent Cloud. + + + Related guide: [Confluent Cloud Bring Your Own Key (BYOK) Management API](https://docs.confluent.io/cloud/current/clusters/byok/index.html). + + ## The Keys Model + + + ## Quotas and Limits + This resource is subject to the [following quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): + + | Quota | Description | + | --- | --- | + | `byok.max_keys.per_org` | BYOK keys in one Confluent Cloud organisation. | + - name: Costs (billing/v1) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + `Cost` objects represent the aggregated billing costs for an organization + + + Related guide: [Retrieve costs for a range of dates](https://docs.confluent.io/cloud/current/billing/overview.html#retrieve-costs-for-a-range-of-dates). + + ## The Costs Model + + - name: Group Mappings (iam/v2/sso) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + `GroupMapping` objects establish relationships between user groups in your SSO + identity provider and specific RBAC roles in Confluent Cloud. + + Group mappings enable automated and secure access control to Confluent Cloud resources, + reducing administrative workload by streamlining user provisioning and authorization. + + + Related guide: [Use group mappings with your SSO identity provider](https://docs.confluent.io/cloud/current/access-management/authenticate/sso/group-mapping/overview.html). + + ## The Group Mappings Model + + + ## Quotas and Limits + This resource is subject to the [following quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): + + | Quota | Description | + | --- | --- | + | `group_mappings_per_org` | Number of group mappings per organization | + - name: Compute Pools (fcpm/v2) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + A Compute Pool represents a set of compute resources that is used to run your Queries. + The resources (CPUs, memory,…) provided by a Compute Pool are shared between all Queries that use it. + + + ## The Compute Pools Model + + - name: Regions (fcpm/v2) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + `Region` objects represent cloud provider regions available when placing Flink compute pools. + The API allows you to list Flink regions. + + + ## The Regions Model + + - name: Statements (sql/v1) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + `Statement` represents a core resource used to model SQL statements for execution. + A statement generalizes DDL, DML, DQL, etc., but doesn’t attempt to handle session + management or any higher-level functionality. + The API allows you to list, create, read, and delete your statements. + ## The Statements Model + + - name: Statement Results (sql/v1) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + `StatementResult` represents a result of a `Statement` resource. + The API allows you to read your statement's results. + ## The Statement Results Model + + - name: Statement Exceptions (sql/v1) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + `StatementException` represents an exception of a `Statement` resource. + The API allows you to read your statement's exceptions. + ## The Statement Exceptions Model + + - name: Connections (sql/v1) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + `Connection` represents a core resource used to model SQL connections for execution. + A connection generalizes DDL, DML, DQL, etc., but doesn’t attempt to handle session + management or any higher-level functionality. + The API allows you to list, create, read, and delete your connections. + ## The Connections Model + + - name: DNS Forwarders (networking/v1) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + Add, remove, and update DNS forwarder for your gateway. + + Related guides: + * [Use VPC peering connections with Confluent Cloud on AWS](https://docs.confluent.io/cloud/current/networking/peering/aws-peering.html). + * [Use VNet peering connections with Confluent Cloud on Azure](https://docs.confluent.io/cloud/current/networking/peering/azure-peering.html). + + + ## The DNS Forwarders Model + + - name: Access Points (networking/v1) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + AccessPoint objects represent network connections in and out of Gateways. + This API allows you to list, create, read, update, and delete your access points. + + + ## The Access Points Model + + - name: DNS Records (networking/v1) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + DNS record objects are associated with Confluent Cloud networking resources. This API allows you to list, create, read, update, and delete your DNS records. + + ## The DNS Records Model + + - name: Certificate Authorities (iam/v2) + description: |- + [![Limited Availability](https://img.shields.io/badge/Lifecycle%20Stage-Limited%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + `CertificateAuthority` objects represent signing certificate authorities in Confluent Cloud. + + The API allows you to list, create, read, update, and delete your Certificate Authority. + + + Related guide: [Manage certificate authorities used for client authentication with X.509 certificates.](https://docs.confluent.io/cloud/current/access-management/authenticate/mtls/overview.html). + + ## The Certificate Authorities Model + + + ## Quotas and Limits + This resource is subject to the [following quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): + + | Quota | Description | + | --- | --- | + | `certificate_authorities_per_org` | Number of certificate authorities per organization | + - name: Certificate Identity Pools (iam/v2) + description: |- + [![Limited Availability](https://img.shields.io/badge/Lifecycle%20Stage-Limited%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + `Identitypool` objects represent workload identities in Confluent Cloud. + + The API allows you to list, create, read, update, and delete your identity pools associated + with Certificate Authorities + + + Related guide: [Manage Certificate Identity Pools for Granular Client Access Management](https://docs.confluent.io/cloud/current/access-management/authenticate/mtls/configure.html#step-2-create-certificate-identity-pools-for-granular-access-control). + + ## The Certificate Identity Pools Model + + + ## Quotas and Limits + This resource is subject to the [following quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): + + | Quota | Description | + | --- | --- | + | `identity_pools_per_certificate_authority` | Number of Identity Pools per Certificate Authority | + - name: Integrations (pim/v1) + description: |- + [![Early Access](https://img.shields.io/badge/Lifecycle%20Stage-Early%20Access-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) [![Request Access To Provider Integration](https://img.shields.io/badge/-Request%20Access%20To%20Provider%20Integration-%23bc8540)](mailto:ccloud-api-access+pim-v1-early-access@confluent.io?subject=Request%20to%20join%20pim/v1%20API%20Early%20Access&body=I%E2%80%99d%20like%20to%20join%20the%20Confluent%20Cloud%20API%20Early%20Access%20for%20pim/v1%20to%20provide%20early%20feedback%21%20My%20Cloud%20Organization%20ID%20is%20%3Cretrieve%20from%20https%3A//confluent.cloud/settings/billing/payment%3E.) + + `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, and delete individual integrations, and also obtain a + list of all your provider integrations. + + + Related guide: [Provider Integration in Confluent Cloud](https://docs.confluent.io/home/overview.html). + + ## The Integrations Model + + - name: Flink Artifacts (artifact/v1) + description: |- + [![Early Access](https://img.shields.io/badge/Lifecycle%20Stage-Early%20Access-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) [![Request Access To Flink Artifact API EA](https://img.shields.io/badge/-Request%20Access%20To%20Flink%20Artifact%20API%20EA-%23bc8540)](mailto:ccloud-api-access+artifact-v1-early-access@confluent.io?subject=Request%20to%20join%20artifact/v1%20API%20Early%20Access&body=I%E2%80%99d%20like%20to%20join%20the%20Confluent%20Cloud%20API%20Early%20Access%20for%20artifact/v1%20to%20provide%20early%20feedback%21%20My%20Cloud%20Organization%20ID%20is%20%3Cretrieve%20from%20https%3A//confluent.cloud/settings/billing/payment%3E.) + + FlinkArtifact objects represent Flink Artifacts on Confluent Cloud. + + + ## The Flink Artifacts Model + + - name: Presigned Urls (artifact/v1) + description: |- + [![Early Access](https://img.shields.io/badge/Lifecycle%20Stage-Early%20Access-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) [![Request Access To Flink Artifact API EA](https://img.shields.io/badge/-Request%20Access%20To%20Flink%20Artifact%20API%20EA-%23bc8540)](mailto:ccloud-api-access+artifact-v1-early-access@confluent.io?subject=Request%20to%20join%20artifact/v1%20API%20Early%20Access&body=I%E2%80%99d%20like%20to%20join%20the%20Confluent%20Cloud%20API%20Early%20Access%20for%20artifact/v1%20to%20provide%20early%20feedback%21%20My%20Cloud%20Organization%20ID%20is%20%3Cretrieve%20from%20https%3A//confluent.cloud/settings/billing/payment%3E.) + + Request a presigned upload URL for new Flink Artifact. Note that + the URL policy expires in one hour. If the policy expires, you can request + a new presigned upload URL. + + + ## The Presigned Urls Model + + - name: Flink Artifact Versions (artifact/v1) + description: |- + [![Early Access](https://img.shields.io/badge/Lifecycle%20Stage-Early%20Access-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) [![Request Access To Flink Artifact API EA](https://img.shields.io/badge/-Request%20Access%20To%20Flink%20Artifact%20API%20EA-%23bc8540)](mailto:ccloud-api-access+artifact-v1-early-access@confluent.io?subject=Request%20to%20join%20artifact/v1%20API%20Early%20Access&body=I%E2%80%99d%20like%20to%20join%20the%20Confluent%20Cloud%20API%20Early%20Access%20for%20artifact/v1%20to%20provide%20early%20feedback%21%20My%20Cloud%20Organization%20ID%20is%20%3Cretrieve%20from%20https%3A//confluent.cloud/settings/billing/payment%3E.) + + FlinkArtifactVersion objects represent Flink Artifact Versions on Confluent Cloud. + + + ## The Flink Artifact Versions Model + +components: + schemas: + SearchFilter: + description: Filter a collection by a string search + type: string + iam.v2.ApiKeyList: + type: object + description: |- + `ApiKey` objects represent access to different parts of Confluent Cloud. Some types + of API keys represent access to a single cluster/resource such as a Kafka cluster, + Schema Registry cluster or a ksqlDB cluster. Cloud API Keys represent access to resources within an organization + that are not tied to a specific cluster, such as the Org API, IAM API, Metrics API or Connect API. + + The API allows you to list, create, update and delete your API Keys. + + + Related guide: [API Keys in Confluent Cloud](https://docs.confluent.io/cloud/current/client-apps/api-keys.html). + + ## The API Keys Model + + + ## Quotas and Limits + This resource is subject to the [following quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): + + | Quota | Description | + | --- | --- | + | `apikeys_per_org` | API Keys in one Confluent Cloud organization | + required: + - api_version + - kind + - metadata + - data + properties: + api_version: + type: string + enum: + - iam/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: + - ApiKeyList + metadata: + allOf: + - $ref: '#/components/schemas/ListMeta' + - properties: + first: + example: 'https://api.confluent.cloud/iam/v2/api-keys' + last: + example: 'https://api.confluent.cloud/iam/v2/api-keys?page_token=bcAOehAY8F16YD84Z1wT' + prev: + example: 'https://api.confluent.cloud/iam/v2/api-keys?page_token=YIXRY97wWYmwzrax4dld' + next: + example: 'https://api.confluent.cloud/iam/v2/api-keys?page_token=UvmDWOB1iwfAIBPj6EYb' + data: + type: array + description: A data property that contains an array of resource items. Each entry in the array is a separate resource. + items: + allOf: + - $ref: '#/components/schemas/iam.v2.ApiKey' + - type: object + required: + - id + - metadata + - spec + properties: + spec: + type: object + required: + - owner + uniqueItems: true + ListMeta: + type: object + description: ListMeta describes metadata that resource collections may have + properties: + first: + description: 'A link to the first page of results. If a response does not contain a first link, then direct navigation to the first page is not supported.' + type: string + 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 + iam.v2.ApiKey: + type: object + description: |- + `ApiKey` objects represent access to different parts of Confluent Cloud. Some types + of API keys represent access to a single cluster/resource such as a Kafka cluster, + Schema Registry cluster or a ksqlDB cluster. Cloud API Keys represent access to resources within an organization + that are not tied to a specific cluster, such as the Org API, IAM API, Metrics API or Connect API. + + The API allows you to list, create, update and delete your API Keys. + + + Related guide: [API Keys in Confluent Cloud](https://docs.confluent.io/cloud/current/client-apps/api-keys.html). + + ## The API Keys Model + + + ## Quotas and Limits + This resource is subject to the [following quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): + + | Quota | Description | + | --- | --- | + | `apikeys_per_org` | API Keys in one Confluent Cloud organization | + properties: + api_version: + type: string + enum: + - iam/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: + - ApiKey + 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 + metadata: + allOf: + - $ref: '#/components/schemas/ObjectMeta' + - properties: + self: + example: 'https://api.confluent.cloud/iam/v2/api-keys/ak-12345' + resource_name: + example: 'crn://confluent.cloud/organization=9bb441c4-edef-46ac-8a41-c49e44a3fd9a/api-key=ak-12345' + spec: + $ref: '#/components/schemas/iam.v2.ApiKeySpec' + AclOperation: + type: string + x-extensible-enum: + - UNKNOWN + - ANY + - ALL + - READ + - WRITE + - CREATE + - DELETE + - ALTER + - DESCRIBE + - CLUSTER_ACTION + - DESCRIBE_CONFIGS + - ALTER_CONFIGS + - IDEMPOTENT_WRITE + AclPatternType: + type: string + x-extensible-enum: + - UNKNOWN + - ANY + - MATCH + - LITERAL + - PREFIXED + AclPermission: + type: string + x-extensible-enum: + - UNKNOWN + - ANY + - DENY + - ALLOW + AclResourceType: + type: string + enum: + - UNKNOWN + - ANY + - TOPIC + - GROUP + - CLUSTER + - TRANSACTIONAL_ID + - DELEGATION_TOKEN + BrokerTaskType: + type: string + enum: + - add-broker + - remove-broker + MirrorTopicStatus: + enum: + - ACTIVE + - FAILED + - LINK_FAILED + - LINK_PAUSED + - PAUSED + - PENDING_STOPPED + - SOURCE_UNAVAILABLE + - STOPPED + - PENDING_MIRROR + - PENDING_SYNCHRONIZE + - PENDING_SETUP_FOR_RESTORE + - PENDING_RESTORE + type: string + Failure: + type: object + description: Provides information about problems encountered while performing an operation. + required: + - errors + properties: + errors: + description: List of errors which caused this operation to fail + type: array + items: + $ref: '#/components/schemas/Error' + uniqueItems: true + AlterConfigBatchRequestData: + type: object + required: + - data + properties: + data: + type: array + items: + type: object + required: + - name + properties: + name: + type: string + value: + type: string + nullable: true + operation: + type: string + x-extensible-enum: + - SET + - DELETE + nullable: true + validate_only: + type: boolean + CreateAclRequestData: + type: object + required: + - resource_type + - resource_name + - pattern_type + - principal + - host + - operation + - permission + properties: + resource_type: + $ref: '#/components/schemas/AclResourceType' + resource_name: + type: string + pattern_type: + $ref: '#/components/schemas/AclPatternType' + principal: + type: string + host: + type: string + operation: + $ref: '#/components/schemas/AclOperation' + permission: + $ref: '#/components/schemas/AclPermission' + CreateAclRequestDataList: + allOf: + - type: object + required: + - data + properties: + data: + type: array + items: + $ref: '#/components/schemas/CreateAclRequestData' + CreateTopicRequestData: + type: object + required: + - topic_name + properties: + topic_name: + type: string + partitions_count: + type: integer + replication_factor: + type: integer + configs: + type: array + items: + type: object + required: + - name + properties: + name: + type: string + value: + type: string + nullable: true + validate_only: + type: boolean + ProduceRequest: + type: object + properties: + partition_id: + type: integer + nullable: true + format: int32 + headers: + type: array + items: + $ref: '#/components/schemas/ProduceRequestHeader' + key: + $ref: '#/components/schemas/ProduceRequestData' + value: + $ref: '#/components/schemas/ProduceRequestData' + timestamp: + type: string + format: date-time + nullable: true + UpdateConfigRequestData: + type: object + properties: + value: + type: string + nullable: true + CreateLinkRequestData: + properties: + source_cluster_id: + type: string + destination_cluster_id: + type: string + remote_cluster_id: + description: The expected remote cluster ID. + type: string + cluster_link_id: + description: 'The expected cluster link ID. Can be provided when creating the second side of a bidirectional link for validating the link ID is as expected. If it''s not provided, it''s inferred from the remote cluster.' + type: string + configs: + items: + $ref: '#/components/schemas/ConfigData' + type: array + type: object + UpdateLinkConfigRequestData: + properties: + value: + type: string + required: + - value + type: object + CreateMirrorTopicRequestData: + properties: + source_topic_name: + type: string + mirror_topic_name: + type: string + replication_factor: + type: integer + configs: + type: array + items: + $ref: '#/components/schemas/ConfigData' + required: + - source_topic_name + type: object + AlterMirrorsRequestData: + properties: + mirror_topic_names: + description: The mirror topics specified as a list of topic names. + type: array + items: + type: string + mirror_topic_name_pattern: + description: The mirror topics specified as a pattern. + type: string + type: object + RemoveBrokersRequestData: + properties: + broker_ids: + type: array + items: + type: integer + required: + - broker_ids + type: object + BrokerReplicaExclusionBatchRequestData: + type: object + required: + - data + properties: + data: + type: array + items: + $ref: '#/components/schemas/BrokerReplicaExclusionRequestData' + ObjectMeta: + description: 'ObjectMeta is metadata that all persisted resources must have, which includes all objects users must create.' + required: + - self + properties: + self: + description: 'Self is a Uniform Resource Locator (URL) at which an object can be addressed. This URL encodes the service location, API version, and other particulars necessary to locate the resource at a point in time' + type: string + format: uri + readOnly: true + example: 'https://api.confluent.cloud/v2/kafka-clusters/lkc-f3a90de' + resource_name: + description: Resource Name is a Uniform Resource Identifier (URI) that is globally unique across space and time. It is represented as a Confluent Resource Name + type: string + format: uri + readOnly: true + example: 'crn://confluent.cloud/kafka=lkc-f3a90de' + created_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: The date and time at which this object was created. It is represented in RFC3339 format and is in UTC. + updated_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: The date and time at which this object was last updated. It is represented in RFC3339 format and is in UTC. + deleted_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: The date and time at which this object was (or will be) deleted. It is represented in RFC3339 format and is in UTC. + readOnly: true + iam.v2.ApiKeySpec: + type: object + description: The desired state of the Api Key + properties: + secret: + type: string + example: R15hoiDIq8Nxu/lY4mPO3DwAVIfU5W7OI+efsB607mLgHTnVW5XJGVqX2ysDx987 + description: 'The API key secret. Only provided in `create` responses, not in `get` or `list`.' + x-redact: true + x-immutable: true + readOnly: true + display_name: + type: string + example: CI kafka access key + description: A human readable name for the API key + description: + type: string + example: This API key provides kafka access to cluster x + description: A human readable description for the API key + owner: + allOf: + - $ref: '#/components/schemas/TypedGlobalObjectReference' + description: 'The owner to which this belongs. The owner can be one of iam.v2.User, iam.v2.ServiceAccount.' + x-immutable: true + resource: + allOf: + - $ref: '#/components/schemas/TypedEnvScopedObjectReference' + nullable: true + description: | + The resource associated with this object. The resource can be one of Kafka Cluster ID (example: lkc-12345), + Schema Registry Cluster ID (example: lsrc-12345), ksqlDB Cluster ID (example: lksqlc-12345), or Flink + (Environment + Region pair, example: env-abc123.aws.us-east-2). + May be null or omitted if not associated with a resource. For Cloud API keys, resource should be `null`. + [Learn more in Authentication](https://docs.confluent.io/cloud/current/api.html#section/Authentication). + + Note - Flink is in the [Preview lifecycle stage](https://docs.confluent.io/cloud/current/api.html#section/Versioning/API-Lifecycle-Policy) + x-immutable: true + x-enable-id: true + x-enable-listmeta: true + x-enable-objectmeta: true + Error: + type: object + description: Describes a particular error encountered while performing an operation. + properties: + id: + description: A unique identifier for this particular occurrence of the problem. + type: string + maxLength: 255 + status: + description: 'The HTTP status code applicable to this problem, expressed as a string value.' + type: string + code: + description: 'An application-specific error code, expressed as a string value.' + type: string + title: + description: 'A short, human-readable summary of the problem. It **SHOULD NOT** change from occurrence to occurrence of the problem, except for purposes of localization.' + type: string + detail: + description: A human-readable explanation specific to this occurrence of the problem. + type: string + source: + type: object + description: 'If this error was caused by a particular part of the API request, the source will point to the query string parameter or request body property that caused it.' + properties: + pointer: + description: 'A JSON Pointer [RFC6901] to the associated entity in the request document [e.g. "/spec" for a spec object, or "/spec/title" for a specific field].' + type: string + parameter: + description: A string indicating which query parameter caused the error. + type: string + error_code: + type: integer + format: int32 + message: + type: string + nullable: true + additionalProperties: false + ProduceRequestHeader: + type: object + required: + - name + properties: + name: + type: string + value: + type: string + format: byte + nullable: true + ProduceRequestData: + type: object + properties: + type: + type: string + x-extensible-enum: + - BINARY + - JSON + - STRING + data: + $ref: '#/components/schemas/AnyValue' + nullable: true + ConfigData: + example: + name: name + value: value + properties: + name: + type: string + value: + nullable: true + type: string + required: + - name + - value + BrokerReplicaExclusionRequestData: + type: object + required: + - broker_id + - reason + properties: + broker_id: + type: integer + reason: + type: string + TypedGlobalObjectReference: + type: object + description: ObjectReference provides information for you to locate the referred object + required: + - id + - related + - resource_name + properties: + id: + type: string + description: ID of the referred resource + minLength: 1 + maxLength: 255 + related: + type: string + format: uri + description: API URL for accessing or modifying the referred object + minLength: 1 + readOnly: true + resource_name: + type: string + format: uri + description: CRN reference to the referred resource + minLength: 1 + readOnly: true + 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 + TypedEnvScopedObjectReference: + 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 + AnyValue: + nullable: true + iam.v2.ApiKeyUpdate: + type: object + description: |- + `ApiKey` objects represent access to different parts of Confluent Cloud. Some types + of API keys represent access to a single cluster/resource such as a Kafka cluster, + Schema Registry cluster or a ksqlDB cluster. Cloud API Keys represent access to resources within an organization + that are not tied to a specific cluster, such as the Org API, IAM API, Metrics API or Connect API. + + The API allows you to list, create, update and delete your API Keys. + + + Related guide: [API Keys in Confluent Cloud](https://docs.confluent.io/cloud/current/client-apps/api-keys.html). + + ## The API Keys Model + + + ## Quotas and Limits + This resource is subject to the [following quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): + + | Quota | Description | + | --- | --- | + | `apikeys_per_org` | API Keys in one Confluent Cloud organization | + properties: + api_version: + type: string + enum: + - iam/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: + - ApiKey + 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 + metadata: + allOf: + - $ref: '#/components/schemas/ObjectMeta' + - properties: + self: + example: 'https://api.confluent.cloud/iam/v2/api-keys/ak-12345' + resource_name: + example: 'crn://confluent.cloud/organization=9bb441c4-edef-46ac-8a41-c49e44a3fd9a/api-key=ak-12345' + spec: + $ref: '#/components/schemas/iam.v2.ApiKeySpecUpdate' + iam.v2.ApiKeySpecUpdate: + type: object + description: The desired state of the Api Key + properties: + display_name: + type: string + example: CI kafka access key + description: A human readable name for the API key + description: + type: string + example: This API key provides kafka access to cluster x + description: A human readable description for the API key + x-enable-id: true + x-enable-listmeta: true + x-enable-objectmeta: true + iam.v2.UserList: + type: object + description: |- + `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](https://docs.confluent.io/cloud/current/access-management/user-account.html). + + ## The Users Model + + + ## Quotas and Limits + This resource is subject to the [following quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): + + | Quota | Description | + | --- | --- | + | `users_per_org` | Users in one Confluent Cloud organization | + required: + - api_version + - kind + - metadata + - data + properties: + api_version: + type: string + enum: + - iam/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: + - UserList + metadata: + allOf: + - $ref: '#/components/schemas/ListMeta' + - properties: + first: + example: 'https://api.confluent.cloud/iam/v2/users' + last: + example: 'https://api.confluent.cloud/iam/v2/users?page_token=bcAOehAY8F16YD84Z1wT' + prev: + example: 'https://api.confluent.cloud/iam/v2/users?page_token=YIXRY97wWYmwzrax4dld' + next: + example: 'https://api.confluent.cloud/iam/v2/users?page_token=UvmDWOB1iwfAIBPj6EYb' + data: + type: array + description: A data property that contains an array of resource items. Each entry in the array is a separate resource. + items: + allOf: + - $ref: '#/components/schemas/iam.v2.User' + - type: object + required: + - id + - metadata + - email + uniqueItems: true + iam.v2.User: + type: object + description: |- + `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](https://docs.confluent.io/cloud/current/access-management/user-account.html). + + ## The Users Model + + + ## Quotas and Limits + This resource is subject to the [following quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): + + | Quota | Description | + | --- | --- | + | `users_per_org` | Users in one Confluent Cloud organization | + properties: + api_version: + type: string + enum: + - iam/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: + - User + 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 + metadata: + allOf: + - $ref: '#/components/schemas/ObjectMeta' + - properties: + self: + example: 'https://api.confluent.cloud/iam/v2/users/u-12345' + resource_name: + example: 'crn://confluent.cloud/user=u-12345' + email: + type: string + format: email + example: marty.mcfly@example.com + description: The user's email address + x-immutable: true + full_name: + example: Marty McFly + type: string + description: The user's full name + auth_type: + type: string + description: The user's authentication method + example: AUTH_TYPE_SSO + x-extensible-enum: + - AUTH_TYPE_LOCAL + - AUTH_TYPE_SSO + readOnly: true + iam.v2.UserUpdate: + type: object + description: |- + `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](https://docs.confluent.io/cloud/current/access-management/user-account.html). + + ## The Users Model + + + ## Quotas and Limits + This resource is subject to the [following quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): + + | Quota | Description | + | --- | --- | + | `users_per_org` | Users in one Confluent Cloud organization | + properties: + api_version: + type: string + enum: + - iam/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: + - User + 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 + metadata: + allOf: + - $ref: '#/components/schemas/ObjectMeta' + - properties: + self: + example: 'https://api.confluent.cloud/iam/v2/users/u-12345' + resource_name: + example: 'crn://confluent.cloud/user=u-12345' + full_name: + example: Marty McFly + type: string + description: The user's full name + auth_type: + type: string + description: The user's authentication method + example: AUTH_TYPE_SSO + x-extensible-enum: + - AUTH_TYPE_LOCAL + - AUTH_TYPE_SSO + readOnly: true + iam.v2.ServiceAccountList: + type: object + description: |- + `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](https://docs.confluent.io/cloud/current/access-management/service-account.html). + + ## The Service Accounts Model + + + ## Quotas and Limits + This resource is subject to the [following quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): + + | Quota | Description | + | --- | --- | + | `service_accounts_per_org` | Service Accounts in one Confluent Cloud organization | + required: + - api_version + - kind + - metadata + - data + properties: + api_version: + type: string + enum: + - iam/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: + - ServiceAccountList + metadata: + allOf: + - $ref: '#/components/schemas/ListMeta' + - properties: + first: + example: 'https://api.confluent.cloud/iam/v2/service-accounts' + last: + example: 'https://api.confluent.cloud/iam/v2/service-accounts?page_token=bcAOehAY8F16YD84Z1wT' + prev: + example: 'https://api.confluent.cloud/iam/v2/service-accounts?page_token=YIXRY97wWYmwzrax4dld' + next: + example: 'https://api.confluent.cloud/iam/v2/service-accounts?page_token=UvmDWOB1iwfAIBPj6EYb' + data: + type: array + description: A data property that contains an array of resource items. Each entry in the array is a separate resource. + items: + allOf: + - $ref: '#/components/schemas/iam.v2.ServiceAccount' + - type: object + required: + - id + - metadata + - display_name + uniqueItems: true + iam.v2.ServiceAccount: + type: object + description: |- + `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](https://docs.confluent.io/cloud/current/access-management/service-account.html). + + ## The Service Accounts Model + + + ## Quotas and Limits + This resource is subject to the [following quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): + + | Quota | Description | + | --- | --- | + | `service_accounts_per_org` | Service Accounts in one Confluent Cloud organization | + properties: + api_version: + type: string + enum: + - iam/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: + - ServiceAccount + 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 + metadata: + allOf: + - $ref: '#/components/schemas/ObjectMeta' + - properties: + self: + example: 'https://api.confluent.cloud/iam/v2/service-accounts/sa-12345' + resource_name: + example: 'crn://confluent.cloud/service-account=sa-12345' + display_name: + type: string + example: DeLorean_auto_repair + description: A human-readable name for the Service Account + x-immutable: true + description: + type: string + example: Doc's repair bot for the DeLorean + description: A free-form description of the Service Account + iam.v2.ServiceAccountUpdate: + type: object + description: |- + `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](https://docs.confluent.io/cloud/current/access-management/service-account.html). + + ## The Service Accounts Model + + + ## Quotas and Limits + This resource is subject to the [following quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): + + | Quota | Description | + | --- | --- | + | `service_accounts_per_org` | Service Accounts in one Confluent Cloud organization | + properties: + api_version: + type: string + enum: + - iam/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: + - ServiceAccount + 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 + metadata: + allOf: + - $ref: '#/components/schemas/ObjectMeta' + - properties: + self: + example: 'https://api.confluent.cloud/iam/v2/service-accounts/sa-12345' + resource_name: + example: 'crn://confluent.cloud/service-account=sa-12345' + description: + type: string + example: Doc's repair bot for the DeLorean + description: A free-form description of the Service Account + iam.v2.InvitationList: + type: object + description: |- + `Invitation` objects represent invitations to invite users to join your organizations in Confluent Cloud. + + The API allows you to list all your invitations, as well as create, read, and delete a specified invitation. + + + Related guide: [User invitations in Confluent Cloud](https://docs.confluent.io/cloud/current/access-management/identity/user-accounts.html). + + ## The Invitations Model + + + ## Quotas and Limits + This resource is subject to the [following quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): + + | Quota | Description | + | --- | --- | + | `invitations_per_org` | Invitations in a Confluent Cloud organization | + required: + - api_version + - kind + - metadata + - data + properties: + api_version: + type: string + enum: + - iam/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: + - InvitationList + metadata: + allOf: + - $ref: '#/components/schemas/ListMeta' + - properties: + first: + example: 'https://api.confluent.cloud/iam/v2/invitations' + last: + example: 'https://api.confluent.cloud/iam/v2/invitations?page_token=bcAOehAY8F16YD84Z1wT' + prev: + example: 'https://api.confluent.cloud/iam/v2/invitations?page_token=YIXRY97wWYmwzrax4dld' + next: + example: 'https://api.confluent.cloud/iam/v2/invitations?page_token=UvmDWOB1iwfAIBPj6EYb' + data: + type: array + description: A data property that contains an array of resource items. Each entry in the array is a separate resource. + items: + allOf: + - $ref: '#/components/schemas/iam.v2.Invitation' + - type: object + required: + - id + - metadata + - email + uniqueItems: true + iam.v2.Invitation: + type: object + description: |- + `Invitation` objects represent invitations to invite users to join your organizations in Confluent Cloud. + + The API allows you to list all your invitations, as well as create, read, and delete a specified invitation. + + + Related guide: [User invitations in Confluent Cloud](https://docs.confluent.io/cloud/current/access-management/identity/user-accounts.html). + + ## The Invitations Model + + + ## Quotas and Limits + This resource is subject to the [following quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): + + | Quota | Description | + | --- | --- | + | `invitations_per_org` | Invitations in a Confluent Cloud organization | + properties: + api_version: + type: string + enum: + - iam/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: + - Invitation + 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 + metadata: + allOf: + - $ref: '#/components/schemas/ObjectMeta' + - properties: + self: + example: 'https://api.confluent.cloud/iam/v2/invitations/i-12345' + resource_name: + example: 'crn://confluent.cloud/organization=9bb441c4-edef-46ac-8a41-c49e44a3fd9a/invitation=i-12345' + email: + type: string + format: email + example: johndoe@confluent.io + description: The user/invitee's email address + x-immutable: true + auth_type: + type: string + description: | + The user/invitee's authentication type. Note that only the [OrganizationAdmin role](https://docs.confluent.io/cloud/current/access-management/access-control/cloud-rbac.html#organizationadmin) + can invite AUTH_TYPE_LOCAL users to SSO organizations. + The user's auth_type is set as AUTH_TYPE_SSO by default if the organization has SSO enabled. + Otherwise, the user's auth_type is AUTH_TYPE_LOCAL by default. + example: AUTH_TYPE_SSO + x-extensible-enum: + - AUTH_TYPE_LOCAL + - AUTH_TYPE_SSO + status: + type: string + example: INVITE_STATUS_SENT + description: The status of invitations + x-extensible-enum: + - INVITE_STATUS_SENT + - INVITE_STATUS_STAGED + - INVITE_STATUS_ACCEPTED + - INVITE_STATUS_EXPIRED + - INVITE_STATUS_DEACTIVATED + readOnly: true + accepted_at: + type: string + format: date-time + example: '2022-07-06T17:21:33Z' + description: The timestamp that the invitation was accepted + nullable: true + readOnly: true + expires_at: + type: string + format: date-time + example: '2022-07-07T17:22:39Z' + description: The timestamp that the invitation will expire + readOnly: true + user: + allOf: + - $ref: '#/components/schemas/GlobalObjectReference' + description: The user/invitee + readOnly: true + creator: + allOf: + - $ref: '#/components/schemas/GlobalObjectReference' + description: The invitation creator + readOnly: true + GlobalObjectReference: + type: object + description: ObjectReference provides information for you to locate the referred object + required: + - id + - related + - resource_name + properties: + id: + type: string + description: ID of the referred resource + minLength: 1 + maxLength: 255 + related: + type: string + format: uri + description: API URL for accessing or modifying the referred object + minLength: 1 + readOnly: true + resource_name: + type: string + format: uri + description: CRN reference to the referred resource + minLength: 1 + readOnly: true + iam.v2.IpGroupList: + type: object + description: |- + Definitions of networks which can be named and referred by IP blocks, commonly used to attach to IP Filter rules. + + + ## The IP Groups Model + + required: + - api_version + - kind + - metadata + - data + properties: + api_version: + type: string + enum: + - iam/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: + - IpGroupList + metadata: + allOf: + - $ref: '#/components/schemas/ListMeta' + - properties: + first: + example: 'https://api.confluent.cloud/iam/v2/ip-groups' + last: + example: 'https://api.confluent.cloud/iam/v2/ip-groups?page_token=bcAOehAY8F16YD84Z1wT' + prev: + example: 'https://api.confluent.cloud/iam/v2/ip-groups?page_token=YIXRY97wWYmwzrax4dld' + next: + example: 'https://api.confluent.cloud/iam/v2/ip-groups?page_token=UvmDWOB1iwfAIBPj6EYb' + data: + type: array + description: A data property that contains an array of resource items. Each entry in the array is a separate resource. + items: + allOf: + - $ref: '#/components/schemas/iam.v2.IpGroup' + - type: object + required: + - id + - metadata + - group_name + - cidr_blocks + uniqueItems: true + iam.v2.IpGroup: + type: object + description: |- + Definitions of networks which can be named and referred by IP blocks, commonly used to attach to IP Filter rules. + + + ## The IP Groups Model + + properties: + api_version: + type: string + enum: + - iam/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: + - IpGroup + 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 + metadata: + allOf: + - $ref: '#/components/schemas/ObjectMeta' + - properties: + self: + example: 'https://api.confluent.cloud/iam/v2/ip-groups/ipg-12345' + resource_name: + example: 'crn://confluent.cloud/organization=9bb441c4-edef-46ac-8a41-c49e44a3fd9a/ip-group=ipg-12345' + group_name: + type: string + minLength: 1 + maxLength: 64 + example: CorpNet + description: | + A human readable name for an IP Group. Can contain any unicode letter or number, the ASCII space character, or + any of the following special characters: `[`, `]`, `|`, `&`, `+`, `-`, `_`, `/`, `.`, `,`. + cidr_blocks: + type: array + items: + type: string + minItems: 1 + example: + - 192.168.0.0/24 + - 192.168.7.0/24 + description: A list of CIDRs. + iam.v2.IpFilterList: + type: object + description: |- + `IP Filter` objects are bindings between IP Groups and Confluent resource(s). + For example, a binding between "CorpNet" and "Management APIs" will enforce that + access must come from one of the CIDR blocks associated with CorpNet. + If there are multiple IP filters bound to a resource, a request matching any of the CIDR blocks + for any of the IP Group will allow the request. + If there are no IP Filters for a resource, then access will be granted to requests originating + from any IP Address. + + + ## The IP Filters Model + + required: + - api_version + - kind + - metadata + - data + properties: + api_version: + type: string + enum: + - iam/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: + - IpFilterList + metadata: + allOf: + - $ref: '#/components/schemas/ListMeta' + - properties: + first: + example: 'https://api.confluent.cloud/iam/v2/ip-filters' + last: + example: 'https://api.confluent.cloud/iam/v2/ip-filters?page_token=bcAOehAY8F16YD84Z1wT' + prev: + example: 'https://api.confluent.cloud/iam/v2/ip-filters?page_token=YIXRY97wWYmwzrax4dld' + next: + example: 'https://api.confluent.cloud/iam/v2/ip-filters?page_token=UvmDWOB1iwfAIBPj6EYb' + data: + type: array + description: A data property that contains an array of resource items. Each entry in the array is a separate resource. + items: + allOf: + - $ref: '#/components/schemas/iam.v2.IpFilter' + - type: object + required: + - id + - metadata + - filter_name + - resource_group + - ip_groups + uniqueItems: true + iam.v2.IpFilter: + type: object + description: |- + `IP Filter` objects are bindings between IP Groups and Confluent resource(s). + For example, a binding between "CorpNet" and "Management APIs" will enforce that + access must come from one of the CIDR blocks associated with CorpNet. + If there are multiple IP filters bound to a resource, a request matching any of the CIDR blocks + for any of the IP Group will allow the request. + If there are no IP Filters for a resource, then access will be granted to requests originating + from any IP Address. + + + ## The IP Filters Model + + properties: + api_version: + type: string + enum: + - iam/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: + - IpFilter + 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 + metadata: + allOf: + - $ref: '#/components/schemas/ObjectMeta' + - properties: + self: + example: 'https://api.confluent.cloud/iam/v2/ip-filters/ipf-12345' + resource_name: + example: 'crn://confluent.cloud/organization=9bb441c4-edef-46ac-8a41-c49e44a3fd9a/ip-filter=ipf-12345' + filter_name: + type: string + minLength: 1 + maxLength: 64 + example: Management API Rules + description: | + A human readable name for an IP Filter. Can contain any unicode letter or number, the ASCII space character, + or any of the following special characters: `[`, `]`, `|`, `&`, `+`, `-`, `_`, `/`, `.`, `,`. + resource_group: + type: string + example: management + description: | + Scope of resources covered by this IP filter. The only resource_group currently available is "management". + ip_groups: + type: array + items: + $ref: '#/components/schemas/GlobalObjectReference' + description: A list of IP Groups. + minItems: 1 + iam.v2.RoleBindingList: + type: object + description: |- + A role binding grants a Principal a role on resources that match a pattern. + + The API allows you to perform create, delete, and list operations on role bindings. + + + Related guide: [Role-Based Access Control (RBAC)](https://docs.confluent.io/cloud/current/access-management/access-control/cloud-rbac.html). + + ## The Role Bindings Model + + required: + - api_version + - kind + - metadata + - data + properties: + api_version: + type: string + enum: + - iam/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: + - RoleBindingList + metadata: + allOf: + - $ref: '#/components/schemas/ListMeta' + - properties: + first: + example: 'https://api.confluent.cloud/iam/v2/role-bindings' + last: + example: 'https://api.confluent.cloud/iam/v2/role-bindings?page_token=bcAOehAY8F16YD84Z1wT' + prev: + example: 'https://api.confluent.cloud/iam/v2/role-bindings?page_token=YIXRY97wWYmwzrax4dld' + next: + example: 'https://api.confluent.cloud/iam/v2/role-bindings?page_token=UvmDWOB1iwfAIBPj6EYb' + data: + type: array + description: A data property that contains an array of resource items. Each entry in the array is a separate resource. + items: + allOf: + - $ref: '#/components/schemas/iam.v2.RoleBinding' + - type: object + required: + - id + - metadata + - principal + - role_name + - crn_pattern + uniqueItems: true + iam.v2.RoleBinding: + type: object + description: |- + A role binding grants a Principal a role on resources that match a pattern. + + The API allows you to perform create, delete, and list operations on role bindings. + + + Related guide: [Role-Based Access Control (RBAC)](https://docs.confluent.io/cloud/current/access-management/access-control/cloud-rbac.html). + + ## The Role Bindings Model + + properties: + api_version: + type: string + enum: + - iam/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: + - RoleBinding + 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 + metadata: + allOf: + - $ref: '#/components/schemas/ObjectMeta' + - properties: + self: + example: 'https://api.confluent.cloud/iam/v2/role-bindings/rb-12345' + resource_name: + example: 'crn://confluent.cloud/organization=9bb441c4-edef-46ac-8a41-c49e44a3fd9a/role-binding=rb-12345' + principal: + type: string + description: The principal User to bind the role to + pattern: '(^User:.+$)' + example: 'User:u-111aaa' + role_name: + type: string + description: The name of the role to bind to the principal + example: CloudClusterAdmin + crn_pattern: + type: string + description: A CRN that specifies the scope and resource patterns necessary for the role to bind + format: uri + pattern: '^crn://.+$' + example: 'crn://confluent.cloud/organization=1111aaaa-11aa-11aa-11aa-111111aaaaaa/environment=env-aaa1111/cloud-cluster=lkc-1111aaa' + iam.v2.IdentityProviderList: + type: object + description: |- + `IdentityProvider` objects represent external OAuth-OIDC providers in Confluent Cloud. + + The API allows you to list, create, read, update, and delete your Identity Provider. + + + Related guide: [OAuth for Confluent Cloud](https://docs.confluent.io/cloud/current/access-management/authenticate/oauth/overview.html). + + ## The Identity Providers Model + + + ## Quotas and Limits + This resource is subject to the [following quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): + + | Quota | Description | + | --- | --- | + | `identity_providers_per_org` | Number of OAuth identity providers per organization | + | `public_keys_per_provider` | Number of public keys saved per identity provider | + required: + - api_version + - kind + - metadata + - data + properties: + api_version: + type: string + enum: + - iam/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: + - IdentityProviderList + metadata: + allOf: + - $ref: '#/components/schemas/ListMeta' + - properties: + first: + example: 'https://api.confluent.cloud/iam/v2/identity-providers' + last: + example: 'https://api.confluent.cloud/iam/v2/identity-providers?page_token=bcAOehAY8F16YD84Z1wT' + prev: + example: 'https://api.confluent.cloud/iam/v2/identity-providers?page_token=YIXRY97wWYmwzrax4dld' + next: + example: 'https://api.confluent.cloud/iam/v2/identity-providers?page_token=UvmDWOB1iwfAIBPj6EYb' + data: + type: array + description: A data property that contains an array of resource items. Each entry in the array is a separate resource. + items: + allOf: + - $ref: '#/components/schemas/iam.v2.IdentityProvider' + - type: object + required: + - id + - metadata + - display_name + - description + - state + - issuer + - jwks_uri + uniqueItems: true + iam.v2.IdentityProvider: + type: object + description: |- + `IdentityProvider` objects represent external OAuth-OIDC providers in Confluent Cloud. + + The API allows you to list, create, read, update, and delete your Identity Provider. + + + Related guide: [OAuth for Confluent Cloud](https://docs.confluent.io/cloud/current/access-management/authenticate/oauth/overview.html). + + ## The Identity Providers Model + + + ## Quotas and Limits + This resource is subject to the [following quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): + + | Quota | Description | + | --- | --- | + | `identity_providers_per_org` | Number of OAuth identity providers per organization | + | `public_keys_per_provider` | Number of public keys saved per identity provider | + properties: + api_version: + type: string + enum: + - iam/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: + - IdentityProvider + 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 + metadata: + allOf: + - $ref: '#/components/schemas/ObjectMeta' + - properties: + self: + example: 'https://api.confluent.cloud/iam/v2/identity-providers/ip-12345' + resource_name: + example: 'crn://confluent.cloud/organization=9bb441c4-edef-46ac-8a41-c49e44a3fd9a/identity-provider=ip-12345' + display_name: + type: string + description: The human-readable name of the OAuth identity provider. + example: My OIDC Provider + description: + type: string + description: A description of the identity provider. + state: + type: string + x-extensible-enum: + - ENABLED + description: The current state of the identity provider. + example: ENABLED + readOnly: true + issuer: + type: string + format: uri + description: |- + A publicly accessible URL uniquely identifying the OAuth + identity provider authorized to issue access tokens. + example: 'https://login.microsoftonline.com/{tenantid}/v2.0' + x-immutable: false + jwks_uri: + type: string + format: uri + description: |- + A publicly accessible JSON Web Key Set (JWKS) URI for the OAuth + identity provider. JWKS provides a set of crypotgraphic keys + used to verify the authenticity and integrity of JSON Web + Tokens (JWTs) issued by the OAuth identity provider. + example: 'https://login.microsoftonline.com/common/discovery/v2.0/keys' + x-immutable: false + keys: + type: array + items: + $ref: '#/components/schemas/iam.v2.JwksObject' + description: |- + The JWKS issued by the OAuth identity provider. Only `kid` (key ID) + and `alg` (algorithm) properties for each key set are included. + readOnly: true + iam.v2.JwksObject: + type: object + description: '`JWKS` contains the published keys for the given OpenIDProvider' + required: + - kty + - kid + - alg + properties: + kty: + type: string + x-extensible-enum: + - RSA + description: Specifies the cryptographic algorithm family used with the key + example: RSA + kid: + type: string + description: Specifies the key-id issued by the OpenIDProvider for the particular tenant + example: nOo3ZDrODXEK1jKWhXslHR_KXEg + alg: + type: string + description: Specifies the algorithm to be used to generate the public key + example: RS256 + use: + type: string + description: Specifies the intended usage of the key + example: sig + 'n': + type: string + description: Specifies the modulus of the RSA public key. Represented as a Base64urlUInt-encoded value + e: + type: string + description: Specifies the exponent of the RSA public key. + example: AQAB + iam.v2.Jwks: + type: object + description: |- + `JWKS` objects represent public key sets for a specific OAuth/OpenID Connect provider within + Confluent Cloud. + + The API allows you to refresh JWKS public key data. + + + Related guide: [OAuth for Confluent Cloud](https://docs.confluent.io/cloud/current/access-management/authenticate/oauth/overview.html). + + ## The Jwks Model + + properties: + api_version: + type: string + enum: + - iam/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: + - Jwks + spec: + $ref: '#/components/schemas/iam.v2.JwksSpec' + status: + $ref: '#/components/schemas/iam.v2.JwksStatus' + iam.v2.JwksSpec: + type: object + description: The desired state of the Jwks + properties: + jwks_status: + type: string + x-extensible-enum: + - REFRESHED + description: The desired state of the public key data + example: REFRESHED + x-enable-id: false + x-enable-listmeta: true + x-enable-objectmeta: false + iam.v2.JwksStatus: + description: The status of the Jwks + type: object + properties: + jwks_status: + type: string + x-extensible-enum: + - REFRESHED + - OK + - INVALID_JWKS_URI + - ERROR_FETCHING_JWKS + description: The actual state of the public key data + example: REFRESHED + jwks_last_refresh_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + description: The last successful refresh time for the public key data + readOnly: true + iam.v2.IdentityPoolList: + type: object + description: |- + `IdentityPool` objects represent groups of identities tied to a given a `IdentityProvider` + that authorizes them to Confluent Cloud resources. + + It provides a mapping functionality of your `Identity Provider` user to a Confluent identity pool that + is then used to provide access to Confluent Resources. + + + Related guide: [Use identity pools with your OAuth provider](https://docs.confluent.io/cloud/current/access-management/authenticate/oauth/identity-pools.html). + + ## The Identity Pools Model + + + ## Quotas and Limits + This resource is subject to the [following quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): + + | Quota | Description | + | --- | --- | + | `identity_pools_per_provider` | Number of Identity Pools per Identity Provider | + required: + - api_version + - kind + - metadata + - data + properties: + api_version: + type: string + enum: + - iam/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: + - IdentityPoolList + metadata: + allOf: + - $ref: '#/components/schemas/ListMeta' + - properties: + first: + example: 'https://api.confluent.cloud/iam/v2/identity-pools' + last: + example: 'https://api.confluent.cloud/iam/v2/identity-pools?page_token=bcAOehAY8F16YD84Z1wT' + prev: + example: 'https://api.confluent.cloud/iam/v2/identity-pools?page_token=YIXRY97wWYmwzrax4dld' + next: + example: 'https://api.confluent.cloud/iam/v2/identity-pools?page_token=UvmDWOB1iwfAIBPj6EYb' + data: + type: array + description: A data property that contains an array of resource items. Each entry in the array is a separate resource. + items: + allOf: + - $ref: '#/components/schemas/iam.v2.IdentityPool' + - type: object + required: + - id + - metadata + - display_name + - description + - identity_claim + - filter + - principal + - state + uniqueItems: true + iam.v2.IdentityPool: + type: object + description: |- + `IdentityPool` objects represent groups of identities tied to a given a `IdentityProvider` + that authorizes them to Confluent Cloud resources. + + It provides a mapping functionality of your `Identity Provider` user to a Confluent identity pool that + is then used to provide access to Confluent Resources. + + + Related guide: [Use identity pools with your OAuth provider](https://docs.confluent.io/cloud/current/access-management/authenticate/oauth/identity-pools.html). + + ## The Identity Pools Model + + + ## Quotas and Limits + This resource is subject to the [following quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): + + | Quota | Description | + | --- | --- | + | `identity_pools_per_provider` | Number of Identity Pools per Identity Provider | + properties: + api_version: + type: string + enum: + - iam/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: + - IdentityPool + 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 + metadata: + allOf: + - $ref: '#/components/schemas/ObjectMeta' + - properties: + self: + example: 'https://api.confluent.cloud/iam/v2/identity-pools/ip-12345' + resource_name: + example: 'crn://confluent.cloud/organization=9bb441c4-edef-46ac-8a41-c49e44a3fd9a/identity-pool=ip-12345' + display_name: + type: string + description: The name of the `IdentityPool`. + example: My Identity Pool + description: + type: string + description: A description of how this `IdentityPool` is used + example: Prod Access to Kafka clusters to Release Engineering + identity_claim: + type: string + description: |- + The JSON Web Token (JWT) claim to extract the authenticating identity to Confluent resources from + (see [Registered Claim Names](https://datatracker.ietf.org/doc/html/rfc7519#section-4.1) for more details). + This appears in the audit log records, showing, for example, that "identity Z used identity pool X to access + topic A". + example: claims.sub + filter: + type: string + description: 'A filter expression in [Supported Common Expression Language (CEL)](https://docs.confluent.io/cloud/current/access-management/authenticate/oauth/identity-pools.html#supported-common-expression-language-cel-filters) that specifies which identities can authenticate using your identity pool (see [Set identity pool filters](https://docs.confluent.io/cloud/current/access-management/authenticate/oauth/identity-pools.html#set-identity-pool-filters) for more details).' + maxLength: 300 + example: claims.aud=="confluent" && claims.group!="invalid_group" + principal: + type: string + description: Represents the federated identity associated with this pool. + example: pool-abc + readOnly: true + state: + type: string + x-extensible-enum: + - ENABLED + description: The current state of the identity pool + example: ENABLED + readOnly: true + iam.v2.sso.GroupMappingList: + type: object + description: |- + `GroupMapping` objects establish relationships between user groups in your SSO + identity provider and specific RBAC roles in Confluent Cloud. + + Group mappings enable automated and secure access control to Confluent Cloud resources, + reducing administrative workload by streamlining user provisioning and authorization. + + + Related guide: [Use group mappings with your SSO identity provider](https://docs.confluent.io/cloud/current/access-management/authenticate/sso/group-mapping/overview.html). + + ## The Group Mappings Model + + + ## Quotas and Limits + This resource is subject to the [following quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): + + | Quota | Description | + | --- | --- | + | `group_mappings_per_org` | Number of group mappings per organization | + required: + - api_version + - kind + - metadata + - data + properties: + api_version: + type: string + enum: + - iam.v2/sso + 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: + - GroupMappingList + metadata: + allOf: + - $ref: '#/components/schemas/ListMeta' + - properties: + first: + example: 'https://api.confluent.cloud/iam.v2/sso/group-mappings' + last: + example: 'https://api.confluent.cloud/iam.v2/sso/group-mappings?page_token=bcAOehAY8F16YD84Z1wT' + prev: + example: 'https://api.confluent.cloud/iam.v2/sso/group-mappings?page_token=YIXRY97wWYmwzrax4dld' + next: + example: 'https://api.confluent.cloud/iam.v2/sso/group-mappings?page_token=UvmDWOB1iwfAIBPj6EYb' + data: + type: array + description: A data property that contains an array of resource items. Each entry in the array is a separate resource. + items: + allOf: + - $ref: '#/components/schemas/iam.v2.sso.GroupMapping' + - type: object + required: + - id + - metadata + - display_name + - description + - filter + - principal + - state + uniqueItems: true + iam.v2.sso.GroupMapping: + type: object + description: |- + `GroupMapping` objects establish relationships between user groups in your SSO + identity provider and specific RBAC roles in Confluent Cloud. + + Group mappings enable automated and secure access control to Confluent Cloud resources, + reducing administrative workload by streamlining user provisioning and authorization. + + + Related guide: [Use group mappings with your SSO identity provider](https://docs.confluent.io/cloud/current/access-management/authenticate/sso/group-mapping/overview.html). + + ## The Group Mappings Model + + + ## Quotas and Limits + This resource is subject to the [following quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): + + | Quota | Description | + | --- | --- | + | `group_mappings_per_org` | Number of group mappings per organization | + properties: + api_version: + type: string + enum: + - iam.v2/sso + 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: + - GroupMapping + 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 + metadata: + allOf: + - $ref: '#/components/schemas/ObjectMeta' + - properties: + self: + example: 'https://api.confluent.cloud/iam.v2/sso/group-mappings/gm-12345' + resource_name: + example: 'crn://confluent.cloud/organization=9bb441c4-edef-46ac-8a41-c49e44a3fd9a/group-mapping=gm-12345' + display_name: + type: string + description: The name of the group mapping. + example: Application Developers + description: + type: string + description: A description explaining the purpose and use of the group mapping. + example: Admin access to production environment for Engineering + filter: + type: string + description: 'A single group identifier or a condition based on [supported CEL operators](https://docs.confluent.io/cloud/current/access-management/authenticate/sso/group-mapping/overview.html#supported-cel-operators-for-group-mapping) that defines which groups are included.' + maxLength: 300 + example: '"kafka" in groups && "all" in groups || "everyone" in groups' + principal: + type: string + description: The unique federated identity associated with this group mapping. + example: group-a1b2 + readOnly: true + state: + type: string + x-extensible-enum: + - ENABLED + description: The current state of the group mapping. + example: ENABLED + readOnly: true + iam.v2.CertificateAuthorityList: + type: object + description: | + `CertificateAuthority` objects represent signing certificate authorities in Confluent Cloud. + + The API allows you to list, create, read, update, and delete your Certificate Authority. + required: + - api_version + - kind + - metadata + - data + properties: + api_version: + type: string + enum: + - iam/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: + - CertificateAuthorityList + metadata: + allOf: + - $ref: '#/components/schemas/ListMeta' + - properties: + first: + example: 'https://api.confluent.cloud/iam/v2/certificate-authorities' + last: + example: 'https://api.confluent.cloud/iam/v2/certificate-authorities?page_token=bcAOehAY8F16YD84Z1wT' + prev: + example: 'https://api.confluent.cloud/iam/v2/certificate-authorities?page_token=YIXRY97wWYmwzrax4dld' + next: + example: 'https://api.confluent.cloud/iam/v2/certificate-authorities?page_token=UvmDWOB1iwfAIBPj6EYb' + data: + type: array + description: A data property that contains an array of resource items. Each entry in the array is a separate resource. + items: + allOf: + - $ref: '#/components/schemas/iam.v2.CertificateAuthority' + - type: object + required: + - id + - metadata + - display_name + - description + - fingerprints + - expiration_dates + - serial_numbers + - certificate_chain_filename + - state + uniqueItems: true + iam.v2.CertificateAuthority: + type: object + description: | + `CertificateAuthority` objects represent signing certificate authorities in Confluent Cloud. + + The API allows you to list, create, read, update, and delete your Certificate Authority. + properties: + api_version: + type: string + enum: + - iam/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: + - CertificateAuthority + 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 + metadata: + allOf: + - $ref: '#/components/schemas/ObjectMeta' + - properties: + self: + example: 'https://api.confluent.cloud/iam/v2/certificate-authorities/op-12345' + resource_name: + example: 'crn://confluent.cloud/organization=9bb441c4-edef-46ac-8a41-c49e44a3fd9a/certificate-authority=op-12345' + display_name: + type: string + description: The human-readable name of the certificate authority. + example: My Certificate Authority + description: + type: string + description: A description of the certificate authority. + example: Sample description text + fingerprints: + type: array + items: + type: string + description: |- + The fingerprints for each certificate in the certificate chain. These are SHA-1 encoded + strings that act as unique identifiers for the certificates in the chain. + example: + - B1BC968BD4f49D622AA89A81F2150152A41D829C + readOnly: true + expiration_dates: + type: array + items: + type: string + format: date-time + description: The expiration dates of certificates in the chain. + example: + - '2017-07-21T17:32:28Z' + readOnly: true + serial_numbers: + type: array + items: + type: string + description: The serial numbers for each certificate in the certificate chain. + example: + - 219C542DE8f6EC7177FA4EE8C3705797 + readOnly: true + certificate_chain_filename: + type: string + description: The file name of the uploaded pem file for this certificate authority. + example: certificate.pem + readOnly: true + crl_source: + type: string + description: |- + The source specifies whether the Certificate Revocation List (CRL) is updated from + either local file uploaded (LOCAL) or from url of CRL (URL). + x-extensible-enum: + - LOCAL + - URL + example: LOCAL + readOnly: true + crl_url: + type: string + format: uri + description: The url from which to fetch the CRL for the certificate authority if crl_source is URL. + readOnly: true + crl_updated_at: + type: string + format: date-time + description: The timestamp for when CRL was last updated. + example: '2017-07-21T17:32:28Z' + readOnly: true + state: + type: string + x-extensible-enum: + - ENABLED + description: The current state of the certificate authority. + example: ENABLED + readOnly: true + iam.v2.CreateCertRequest: + type: object + description: This contains the json schema used to create a Certificate Authority + properties: + api_version: + type: string + enum: + - iam/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: + - CreateCertRequest + 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 + metadata: + allOf: + - $ref: '#/components/schemas/ObjectMeta' + - properties: + self: + example: 'https://api.confluent.cloud/iam/v2/create-cert-requests/ccr-12345' + resource_name: + example: 'crn://confluent.cloud/organization=9bb441c4-edef-46ac-8a41-c49e44a3fd9a/create-cert-request=ccr-12345' + display_name: + type: string + description: The human-readable name of the certificate authority. + example: My Certificate Authority + description: + type: string + description: A description of the certificate authority. + example: Sample description text + certificate_chain: + type: string + description: |- + The Base64 encoded string containing the signing certificate chain + used to validate client certs. + example: |- + -----BEGIN CERTIFICATE----- + MIIDdTCCAl2gAwIBAgILBAAAAAABFUtaw5QwDQYJKoZIhvcNAQEFBQAwVzELMAkGA1UEBhMCQkUx + GTAXBgNVBAoTEEdsb2JhbFNpZ24gbnYtc2ExEDAOBgNVBAsTB1Jvb3QgQ0ExGzAZBgNVBAMTEkds + b2JhbFNpZ24gUm9vdCBDQTAeFw05ODA5MDExMjAwMDBaFw0yODAxMjgxMjAwMDBaMFcxCzAJBgNV + BAYTAkJFMRkwFwYDVQQKExBHbG9iYWxTaWduIG52LXNhMRAwDgYDVQQLEwdSb290IENBMRswGQYD + VQQDExJHbG9iYWxTaWduIFJvb3QgQ0EwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQDa + DuaZjc6j40+Kfvvxi4Mla+pIH/EqsLmVEQS98GPR4mdmzxzdzxtIK+6NiY6arymAZavpxy0Sy6sc + THAHoT0KMM0VjU/43dSMUBUc71DuxC73/OlS8pF94G3VNTCOXkNz8kHp1Wrjsok6Vjk4bwY8iGlb + Kk3Fp1S4bInMm/k8yuX9ifUSPJJ4ltbcdG6TRGHRjcdGsnUOhugZitVtbNV4FpWi6cgKOOvyJBNP + c1STE4U6G7weNLWLBYy5d4ux2x8gkasJU26Qzns3dLlwR5EiUWMWea6xrkEmCMgZK9FGqkjWZCrX + gzT/LCrBbBlDSgeF59N89iFo7+ryUp9/k5DPAgMBAAGjQjBAMA4GA1UdDwEB/wQEAwIBBjAPBgNV + HRMBAf8EBTADAQH/MB0GA1UdDgQWBBRge2YaRQ2XyolQL30EzTSo//z9SzANBgkqhkiG9w0BAQUF + AAOCAQEA1nPnfE920I2/7LqivjTFKDK1fPxsnCwrvQmeU79rXqoRSLblCKOzyj1hTdNGCbM+w6Dj + Y1Ub8rrvrTnhQ7k4o+YviiY776BQVvnGCv04zcQLcFGUl5gE38NflNUVyRRBnMRddWQVDf9VMOyG + j/8N7yy5Y0b2qvzfvGn9LhJIZJrglfCm7ymPAbEVtQwdpf5pLGkkeB6zpxxxYu7KyJesF12KwvhH + hm4qxFYxldBniYUr+WymXUadDKqC5JlR3XC321Y9YeRq4VzW9v493kHMB65jUr9TU/Qr6cf9tveC + X4XSQRjbgbMEHMUfpIBvFSDJ3gyICh3WZlXi/EjJKSZp4A== + -----END CERTIFICATE----- + certificate_chain_filename: + type: string + description: The name of the certificate file. + example: certificate.pem + crl_url: + type: string + format: uri + description: The url from which to fetch the CRL for the certificate authority if crl_source is URL. + crl_chain: + type: string + description: |- + The Base64 encoded string containing the CRL for this certificate authority. + Defaults to this over `crl_url` if available. + example: |- + -----BEGIN X509 CRL----- + MIICNTCCAR0CAQEwDQYJKoZIhvcNAQELBQAwgbExCzAJBgNVBAYTAlVTMQswCQYD + VQQIDAJDQTEWMBQGA1UEBwwNTW91bnRhaW4gVmlldzESMBAGA1UECgwJQ29uZmx1 + ZW50MRMwEQYDVQQLDApzZWN1cml0eS0xMSYwJAYDVQQDDB1tdGxzMS5zZWN1cml0 + eS0xLmNvbmZsdWVudC5pbzEsMCoGCSqGSIb3DQEJARYdbXRsczFAc2VjdXJpdHkt + MS5jb25mbHVlbnQuaW8XDTI0MDgyNTE3NTYyNloXDTI0MTEyMzE3NTYyNlowJzAl + AhQERu3UxH2q3eUglbdeQY8y0vT7rRcNMjQwODI1MTc1NTE2WqAOMAwwCgYDVR0U + BAMCAQEwDQYJKoZIhvcNAQELBQADggEBAGvmflwxVAnqZbRx8njb2t6yXqeIOBaX + CKhMq5CUWrWhMX/JrV5NhVfzeB2tgCCfM4J7gbKSArOKqjYpQBFL+r5eCjPBBcG4 + xqh1J60l5DDsiUcXQM5FtlWTBBZFxvvvWsLP4qA/0meYRY69YQNqgEQgQ65l0Ehl + gIUx8WkEo82A8MDY/t91PaFHufnffPKu4CxFtcpGwuvA2n9mpxB2TsSTiV8THsfE + jatuFwYgumI6t5wIWb71j/1oqQDYtbgpgUvX9gD+g7HlCC4u6Dynd0q8lsimrbf6 + cGf5Vs3JfMcr1kYNruT7kg4f4hc3p4CcuWtxYmHOcWNyZbi+W9Fdakg= + -----END X509 CRL----- + iam.v2.UpdateCertRequest: + type: object + description: This contains the form fields used to update a Certificate Authority + properties: + api_version: + type: string + enum: + - iam/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: + - UpdateCertRequest + 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 + metadata: + allOf: + - $ref: '#/components/schemas/ObjectMeta' + - properties: + self: + example: 'https://api.confluent.cloud/iam/v2/update-cert-requests/ucr-12345' + resource_name: + example: 'crn://confluent.cloud/organization=9bb441c4-edef-46ac-8a41-c49e44a3fd9a/update-cert-request=ucr-12345' + display_name: + type: string + description: The human-readable name of the certificate authority. + example: My Certificate Authority + description: + type: string + description: A description of the certificate authority. + example: Sample description text + certificate_chain: + type: string + description: |- + The Base64 encoded string containing the signing certificate chain + used to validate client certs. + example: |- + -----BEGIN CERTIFICATE----- + MIIDdTCCAl2gAwIBAgILBAAAAAABFUtaw5QwDQYJKoZIhvcNAQEFBQAwVzELMAkGA1UEBhMCQkUx + GTAXBgNVBAoTEEdsb2JhbFNpZ24gbnYtc2ExEDAOBgNVBAsTB1Jvb3QgQ0ExGzAZBgNVBAMTEkds + b2JhbFNpZ24gUm9vdCBDQTAeFw05ODA5MDExMjAwMDBaFw0yODAxMjgxMjAwMDBaMFcxCzAJBgNV + BAYTAkJFMRkwFwYDVQQKExBHbG9iYWxTaWduIG52LXNhMRAwDgYDVQQLEwdSb290IENBMRswGQYD + VQQDExJHbG9iYWxTaWduIFJvb3QgQ0EwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQDa + DuaZjc6j40+Kfvvxi4Mla+pIH/EqsLmVEQS98GPR4mdmzxzdzxtIK+6NiY6arymAZavpxy0Sy6sc + THAHoT0KMM0VjU/43dSMUBUc71DuxC73/OlS8pF94G3VNTCOXkNz8kHp1Wrjsok6Vjk4bwY8iGlb + Kk3Fp1S4bInMm/k8yuX9ifUSPJJ4ltbcdG6TRGHRjcdGsnUOhugZitVtbNV4FpWi6cgKOOvyJBNP + c1STE4U6G7weNLWLBYy5d4ux2x8gkasJU26Qzns3dLlwR5EiUWMWea6xrkEmCMgZK9FGqkjWZCrX + gzT/LCrBbBlDSgeF59N89iFo7+ryUp9/k5DPAgMBAAGjQjBAMA4GA1UdDwEB/wQEAwIBBjAPBgNV + HRMBAf8EBTADAQH/MB0GA1UdDgQWBBRge2YaRQ2XyolQL30EzTSo//z9SzANBgkqhkiG9w0BAQUF + AAOCAQEA1nPnfE920I2/7LqivjTFKDK1fPxsnCwrvQmeU79rXqoRSLblCKOzyj1hTdNGCbM+w6Dj + Y1Ub8rrvrTnhQ7k4o+YviiY776BQVvnGCv04zcQLcFGUl5gE38NflNUVyRRBnMRddWQVDf9VMOyG + j/8N7yy5Y0b2qvzfvGn9LhJIZJrglfCm7ymPAbEVtQwdpf5pLGkkeB6zpxxxYu7KyJesF12KwvhH + hm4qxFYxldBniYUr+WymXUadDKqC5JlR3XC321Y9YeRq4VzW9v493kHMB65jUr9TU/Qr6cf9tveC + X4XSQRjbgbMEHMUfpIBvFSDJ3gyICh3WZlXi/EjJKSZp4A== + -----END CERTIFICATE----- + certificate_chain_filename: + type: string + description: The name of the certificate file. Must be set if certificate is updated. + example: certificate.pem + crl_url: + type: string + format: uri + description: The url from which to fetch the CRL for the certificate authority if crl_source is URL. + crl_chain: + type: string + description: |- + The Base64 encoded string containing the CRL for this certificate authority. + Defaults to this over `crl_url` if available. + example: |- + -----BEGIN X509 CRL----- + MIICNTCCAR0CAQEwDQYJKoZIhvcNAQELBQAwgbExCzAJBgNVBAYTAlVTMQswCQYD + VQQIDAJDQTEWMBQGA1UEBwwNTW91bnRhaW4gVmlldzESMBAGA1UECgwJQ29uZmx1 + ZW50MRMwEQYDVQQLDApzZWN1cml0eS0xMSYwJAYDVQQDDB1tdGxzMS5zZWN1cml0 + eS0xLmNvbmZsdWVudC5pbzEsMCoGCSqGSIb3DQEJARYdbXRsczFAc2VjdXJpdHkt + MS5jb25mbHVlbnQuaW8XDTI0MDgyNTE3NTYyNloXDTI0MTEyMzE3NTYyNlowJzAl + AhQERu3UxH2q3eUglbdeQY8y0vT7rRcNMjQwODI1MTc1NTE2WqAOMAwwCgYDVR0U + BAMCAQEwDQYJKoZIhvcNAQELBQADggEBAGvmflwxVAnqZbRx8njb2t6yXqeIOBaX + CKhMq5CUWrWhMX/JrV5NhVfzeB2tgCCfM4J7gbKSArOKqjYpQBFL+r5eCjPBBcG4 + xqh1J60l5DDsiUcXQM5FtlWTBBZFxvvvWsLP4qA/0meYRY69YQNqgEQgQ65l0Ehl + gIUx8WkEo82A8MDY/t91PaFHufnffPKu4CxFtcpGwuvA2n9mpxB2TsSTiV8THsfE + jatuFwYgumI6t5wIWb71j/1oqQDYtbgpgUvX9gD+g7HlCC4u6Dynd0q8lsimrbf6 + cGf5Vs3JfMcr1kYNruT7kg4f4hc3p4CcuWtxYmHOcWNyZbi+W9Fdakg= + -----END X509 CRL----- + iam.v2.CertificateIdentityPoolList: + type: object + description: |- + `Identitypool` objects represent workload identities in Confluent Cloud. + + The API allows you to list, create, read, update, and delete your identity pools associated + with Certificate Authorities + + + Related guide: [Manage Certificate Identity Pools for Granular Client Access Management](https://docs.confluent.io/cloud/current/access-management/authenticate/mtls/configure.html#step-2-create-certificate-identity-pools-for-granular-access-control). + + ## The Certificate Identity Pools Model + + + ## Quotas and Limits + This resource is subject to the [following quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): + + | Quota | Description | + | --- | --- | + | `identity_pools_per_certificate_authority` | Number of Identity Pools per Certificate Authority | + required: + - api_version + - kind + - metadata + - data + properties: + api_version: + type: string + enum: + - iam/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: + - CertificateIdentityPoolList + metadata: + allOf: + - $ref: '#/components/schemas/ListMeta' + - properties: + first: + example: 'https://api.confluent.cloud/iam/v2/certificate-identity-pools' + last: + example: 'https://api.confluent.cloud/iam/v2/certificate-identity-pools?page_token=bcAOehAY8F16YD84Z1wT' + prev: + example: 'https://api.confluent.cloud/iam/v2/certificate-identity-pools?page_token=YIXRY97wWYmwzrax4dld' + next: + example: 'https://api.confluent.cloud/iam/v2/certificate-identity-pools?page_token=UvmDWOB1iwfAIBPj6EYb' + data: + type: array + description: A data property that contains an array of resource items. Each entry in the array is a separate resource. + items: + allOf: + - $ref: '#/components/schemas/iam.v2.CertificateIdentityPool' + - type: object + required: + - id + - metadata + - display_name + - description + - external_identifier + - filter + - principal + - state + uniqueItems: true + iam.v2.CertificateIdentityPool: + type: object + description: |- + `Identitypool` objects represent workload identities in Confluent Cloud. + + The API allows you to list, create, read, update, and delete your identity pools associated + with Certificate Authorities + + + Related guide: [Manage Certificate Identity Pools for Granular Client Access Management](https://docs.confluent.io/cloud/current/access-management/authenticate/mtls/configure.html#step-2-create-certificate-identity-pools-for-granular-access-control). + + ## The Certificate Identity Pools Model + + + ## Quotas and Limits + This resource is subject to the [following quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): + + | Quota | Description | + | --- | --- | + | `identity_pools_per_certificate_authority` | Number of Identity Pools per Certificate Authority | + properties: + api_version: + type: string + enum: + - iam/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: + - CertificateIdentityPool + 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 + metadata: + allOf: + - $ref: '#/components/schemas/ObjectMeta' + - properties: + self: + example: 'https://api.confluent.cloud/iam/v2/certificate-identity-pools/pool-12345' + resource_name: + example: 'crn://confluent.cloud/organization=9bb441c4-edef-46ac-8a41-c49e44a3fd9a/certificate-identity-pool=pool-12345' + display_name: + type: string + description: The name of the `IdentityPool`. + example: My Identity Pool + description: + type: string + description: A description of how this `IdentityPool` is used + example: Prod Access to Kafka clusters to Release Engineering + external_identifier: + type: string + description: |- + The certificate field that will be used to represent the + pool's external identifier for audit logging. + example: UID + filter: + type: string + description: 'A filter expression in [Supported Common Expression Language (CEL)](https://docs.confluent.io/cloud/current/access-management/authenticate/mtls/cel-filters.html) that specifies which identities can authenticate using your certificate identity pool (see [CEL filter for mTLS](https://docs.confluent.io/cloud/current/access-management/authenticate/mtls/cel-filters.html) for more details).' + maxLength: 300 + example: C=='Canada' && O=='Confluent' + principal: + type: string + description: Represents the federated identity associated with this pool. + example: pool-abc + readOnly: true + state: + type: string + x-extensible-enum: + - ENABLED + description: The current state of the identity pool + example: ENABLED + readOnly: true + parameters: + AclHost: + name: host + description: The ACL host. + in: query + required: false + schema: + type: string + AclOperation: + name: operation + description: The ACL operation. + in: query + required: false + schema: + $ref: '#/components/schemas/AclOperation' + AclOperationRequired: + name: operation + description: The ACL operation. + in: query + required: true + schema: + $ref: '#/components/schemas/AclOperation' + AclPatternType: + name: pattern_type + description: The ACL pattern type. + in: query + required: false + schema: + $ref: '#/components/schemas/AclPatternType' + AclPatternTypeRequired: + name: pattern_type + description: The ACL pattern type. + in: query + required: true + schema: + $ref: '#/components/schemas/AclPatternType' + AclPermission: + name: permission + description: The ACL permission. + in: query + required: false + schema: + $ref: '#/components/schemas/AclPermission' + AclPermissionRequired: + name: permission + description: The ACL permission. + in: query + required: true + schema: + $ref: '#/components/schemas/AclPermission' + AclPrincipal: + name: principal + description: The ACL principal. This is the Service Account name or user name. + in: query + required: false + schema: + type: string + AclResourceName: + name: resource_name + description: The ACL resource name. + in: query + required: false + schema: + type: string + AclResourceType: + name: resource_type + description: The ACL resource type. + in: query + required: false + schema: + $ref: '#/components/schemas/AclResourceType' + AclResourceTypeRequired: + name: resource_type + description: The ACL resource type. + in: query + required: true + schema: + $ref: '#/components/schemas/AclResourceType' + BrokerId: + name: broker_id + description: The Kafka broker ID. + in: path + required: true + schema: + type: integer + example: 1 + ClusterId: + name: cluster_id + description: The Kafka cluster ID. + in: path + required: true + schema: + type: string + example: cluster-1 + ConfigName: + name: name + description: The configuration parameter name. + in: path + required: true + schema: + type: string + example: compression.type + ConsumerGroupId: + name: consumer_group_id + description: The consumer group ID. + in: path + required: true + schema: + type: string + example: consumer-group-1 + ConsumerId: + name: consumer_id + description: The consumer ID. + in: path + required: true + schema: + type: string + example: consumer-1 + IncludeAuthorizedOperations: + name: include_authorized_operations + description: Specify if authorized operations should be included in the response. + in: query + required: false + schema: + type: boolean + PartitionId: + name: partition_id + description: The partition ID. + in: path + required: true + schema: + type: integer + example: 0 + TopicName: + name: topic_name + description: The topic name. + in: path + required: true + schema: + type: string + example: topic-1 + BrokerTaskType: + name: task_type + description: The Kafka broker task type. + in: path + required: true + schema: + $ref: '#/components/schemas/BrokerTaskType' + example: remove-broker + ShouldShutdown: + name: should_shutdown + description: 'To shutdown the broker or not, Default: true' + in: query + required: false + schema: + type: boolean + example: true + ValidateOnly: + name: validate_only + description: 'To validate the action can be performed successfully or not. Default: false' + in: query + required: false + schema: + type: boolean + example: false + ValidateLink: + name: validate_link + description: 'To synchronously validate that the source cluster ID is expected and the dest cluster has the permission to read topics in the source cluster. Default: true' + in: query + required: false + schema: + type: boolean + example: false + IncludeTasks: + name: include_tasks + description: 'Whether to include cluster linking tasks in the response. Default: false' + in: query + required: false + schema: + type: boolean + example: false + IncludeStateTransitionErrors: + name: include_state_transition_errors + description: 'Whether to include mirror state transition errors in the response. Default: false' + in: query + required: false + schema: + type: boolean + example: false + Force: + name: force + description: 'Force the action. Default: false' + in: query + required: false + schema: + type: boolean + example: false + IncludePartitionLevelTruncationData: + name: include_partition_level_truncation_data + description: 'Whether to include partition level truncation information when truncating and restoring a topic in the response. Default: false' + in: query + required: false + schema: + type: boolean + example: false + LinkName: + name: link_name + description: The link name + in: path + required: true + schema: + type: string + example: link-sb1 + LinkConfigName: + name: config_name + description: The link config name + in: path + required: true + schema: + type: string + example: consumer.offset.sync.enable + MirrorTopicStatus: + name: mirror_status + description: 'The status of the mirror topic. If not specified, all mirror topics will be returned.' + in: query + required: false + schema: + $ref: '#/components/schemas/MirrorTopicStatus' + example: ACTIVE + MirrorTopicName: + name: mirror_topic_name + description: Cluster Linking mirror topic name + in: path + required: true + schema: + type: string + example: topic-1 + QueryParamLinkName: + name: link_name + description: The link name + in: query + required: true + schema: + type: string + example: link-sb1 + responses: + BadRequestError: + description: Bad Request + headers: + X-Request-Id: + schema: + type: string + description: The unique identifier for the API request. + content: + application/json: + schema: + $ref: '#/components/schemas/Failure' + example: + errors: + - id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d + status: '400' + code: invalid_filter + title: Invalid Filter + detail: The 'delorean' resource can't be filtered by 'num_doors' + source: + parameter: num_doors + UnauthenticatedError: + x-summary: Unauthorized + description: The request lacks valid authentication credentials for this resource. + headers: + X-Request-Id: + schema: + type: string + description: The unique identifier for the API request. + WWW-Authenticate: + schema: + type: string + description: The unique identifier for the API request. + example: 'Basic error="invalid_key", error_description="The API Key is invalid"' + content: + application/json: + schema: + $ref: '#/components/schemas/Failure' + example: + errors: + - id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d + status: '401' + code: user_unauthenticated + title: Authentication Required + detail: Valid authentication credentials must be provided + UnauthorizedError: + x-summary: Forbidden + description: The access credentials were considered insufficient to grant access + headers: + X-Request-Id: + schema: + type: string + description: The unique identifier for the API request. + content: + application/json: + schema: + $ref: '#/components/schemas/Failure' + example: + errors: + - id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d + status: '403' + code: user_unauthorized + title: User Access Unauthorized + detail: The user 'mcfly' is not allowed to access the 'delorean' resource without the 'plutonium' role. + RateLimitError: + description: Rate Limit Exceeded + headers: + X-Request-Id: + schema: + type: string + description: The unique identifier for the API request. + X-RateLimit-Limit: + schema: + type: integer + description: The maximum number of requests you're permitted to make per time period. + X-RateLimit-Remaining: + schema: + type: integer + description: The number of requests remaining in the current rate limit window. + X-RateLimit-Reset: + schema: + type: integer + description: |- + The relative time in seconds until the current rate-limit window resets. + + **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. + DefaultSystemError: + description: 'Oops, something went wrong!' + headers: + X-Request-Id: + schema: + type: string + description: The unique identifier for the API request. + content: + application/json: + schema: + $ref: '#/components/schemas/Failure' + example: + errors: + - id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d + status: '500' + code: out_of_gas + title: DeLorean Out Of Gas + detail: 'The DeLorean has run out of gas, but Doc Brown will fill ''er up for you asap' + OverQuotaError: + x-summary: Over Quota + description: The request would exceed one or more quotas. + headers: + X-Request-Id: + schema: + type: string + description: The unique identifier for the API request. + content: + application/json: + schema: + $ref: '#/components/schemas/Failure' + example: + errors: + - id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d + status: '402' + code: quota_exceeded + title: Kafka Clusters Per Org Quota Exceeded + detail: 'The request would exceed the quota: kafka_clusters_per_environment' + ConflictError: + x-summary: Conflict + description: The request is in conflict with the current server state + headers: + X-Request-Id: + schema: + type: string + description: The unique identifier for the API request. + Location: + schema: + type: string + format: uri + example: 'https://api.confluent.cloud/{object}/{id}' + description: Resource URI of conflicting resource + content: + application/json: + schema: + $ref: '#/components/schemas/Failure' + example: + errors: + - id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d + status: '409' + code: resource_already_exists + title: Resource Already exists + detail: The entitlement '91e3e86f-fca6-4f14-98f5-a48e64113ce2' already exists. + ValidationError: + description: Validation Failed + headers: + X-Request-Id: + schema: + type: string + description: The unique identifier for the API request. + content: + application/json: + schema: + $ref: '#/components/schemas/Failure' + example: + errors: + - status: '422' + code: invalid_configuration + id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d + title: Validation Failed + detail: 'The property ''/cluster/storage_size'' of type string did not match the following type: integer' + source: + pointer: /cluster/storage_size + - status: '422' + code: invalid_configuration + id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d + title: Validation Failed + detail: 'The property ''/cluster/storage_size'' of type string did not match the following type: integer' + source: + pointer: /cluster/storage_size + - status: '422' + code: invalid_configuration + id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d + title: Validation Failed + detail: 'The property ''/cluster/storage_size'' of type string did not match the following type: integer' + source: + pointer: /cluster/storage_size + - status: '422' + code: invalid_configuration + id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d + title: Validation Failed + detail: 'The property ''/cluster/storage_size'' of type string did not match the following type: integer' + source: + pointer: /cluster/storage_size + - status: '422' + code: invalid_configuration + id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d + title: Validation Failed + detail: 'The property ''/cluster/storage_size'' of type string did not match the following type: integer' + source: + pointer: /cluster/storage_size + - status: '422' + code: invalid_configuration + id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d + title: Validation Failed + detail: 'The property ''/cluster/storage_size'' of type string did not match the following type: integer' + source: + pointer: /cluster/storage_size + - status: '422' + code: invalid_configuration + id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d + title: Validation Failed + detail: 'The property ''/cluster/storage_size'' of type string did not match the following type: integer' + source: + pointer: /cluster/storage_size + - status: '422' + code: invalid_configuration + id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d + title: Validation Failed + detail: 'The property ''/cluster/storage_size'' of type string did not match the following type: integer' + source: + pointer: /cluster/storage_size + - status: '422' + code: invalid_configuration + id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d + title: Validation Failed + detail: 'The property ''/cluster/storage_size'' of type string did not match the following type: integer' + source: + pointer: /cluster/storage_size + - status: '422' + code: invalid_configuration + id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d + title: Validation Failed + detail: 'The property ''/cluster/storage_size'' of type string did not match the following type: integer' + source: + pointer: /cluster/storage_size + - status: '422' + code: invalid_configuration + id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d + title: Validation Failed + detail: 'The property ''/cluster/storage_size'' of type string did not match the following type: integer' + source: + pointer: /cluster/storage_size + - status: '422' + code: invalid_configuration + id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d + title: Validation Failed + detail: 'The property ''/cluster/storage_size'' of type string did not match the following type: integer' + source: + pointer: /cluster/storage_size + - status: '422' + code: invalid_configuration + id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d + title: Validation Failed + detail: 'The property ''/cluster/storage_size'' of type string did not match the following type: integer' + source: + pointer: /cluster/storage_size + - status: '422' + code: invalid_configuration + id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d + title: Validation Failed + detail: 'The property ''/cluster/storage_size'' of type string did not match the following type: integer' + source: + pointer: /cluster/storage_size + - status: '422' + code: invalid_configuration + id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d + title: Validation Failed + detail: 'The property ''/cluster/storage_size'' of type string did not match the following type: integer' + source: + pointer: /cluster/storage_size + - status: '422' + code: invalid_configuration + id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d + title: Validation Failed + detail: 'The property ''/cluster/storage_size'' of type string did not match the following type: integer' + source: + pointer: /cluster/storage_size + - status: '422' + code: invalid_configuration + id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d + title: Validation Failed + detail: 'The property ''/cluster/storage_size'' of type string did not match the following type: integer' + source: + pointer: /cluster/storage_size + - status: '422' + code: invalid_configuration + id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d + title: Validation Failed + detail: 'The property ''/cluster/storage_size'' of type string did not match the following type: integer' + source: + pointer: /cluster/storage_size + - status: '422' + code: invalid_configuration + id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d + title: Validation Failed + detail: 'The property ''/cluster/storage_size'' of type string did not match the following type: integer' + source: + pointer: /cluster/storage_size + - status: '422' + code: invalid_configuration + id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d + title: Validation Failed + detail: 'The property ''/cluster/storage_size'' of type string did not match the following type: integer' + source: + pointer: /cluster/storage_size + - status: '422' + code: invalid_configuration + id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d + title: Validation Failed + detail: 'The property ''/cluster/storage_size'' of type string did not match the following type: integer' + source: + pointer: /cluster/storage_size + - status: '422' + code: invalid_configuration + id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d + title: Validation Failed + detail: 'The property ''/cluster/storage_size'' of type string did not match the following type: integer' + source: + pointer: /cluster/storage_size + - status: '422' + code: invalid_configuration + id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d + title: Validation Failed + detail: 'The property ''/cluster/storage_size'' of type string did not match the following type: integer' + source: + pointer: /cluster/storage_size + - status: '422' + code: invalid_configuration + id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d + title: Validation Failed + detail: 'The property ''/cluster/storage_size'' of type string did not match the following type: integer' + source: + pointer: /cluster/storage_size + - status: '422' + code: invalid_configuration + id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d + title: Validation Failed + detail: 'The property ''/cluster/storage_size'' of type string did not match the following type: integer' + source: + pointer: /cluster/storage_size + - status: '422' + code: invalid_configuration + id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d + title: Validation Failed + detail: 'The property ''/cluster/storage_size'' of type string did not match the following type: integer' + source: + pointer: /cluster/storage_size + - status: '422' + code: invalid_configuration + id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d + title: Validation Failed + detail: 'The property ''/cluster/storage_size'' of type string did not match the following type: integer' + source: + pointer: /cluster/storage_size + - status: '422' + code: invalid_configuration + id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d + title: Validation Failed + detail: 'The property ''/cluster/storage_size'' of type string did not match the following type: integer' + source: + pointer: /cluster/storage_size + - status: '422' + code: invalid_configuration + id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d + title: Validation Failed + detail: 'The property ''/cluster/storage_size'' of type string did not match the following type: integer' + source: + pointer: /cluster/storage_size + - status: '422' + code: invalid_configuration + id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d + title: Validation Failed + detail: 'The property ''/cluster/storage_size'' of type string did not match the following type: integer' + source: + pointer: /cluster/storage_size + NotFoundError: + description: Not Found + headers: + X-Request-Id: + schema: + type: string + description: The unique identifier for the API request. + content: + application/json: + schema: + $ref: '#/components/schemas/Failure' + example: + errors: + - id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d + status: '404' + title: Not Found + securitySchemes: + cloud-api-key: + type: http + scheme: basic + description: Authenticate with Cloud API Keys using HTTP Basic Auth. Treat the Cloud API Key ID as the username and Cloud API Key Secret as the password. + confluent-sts-access-token: + type: oauth2 + description: Authenticate with Confluent API using this credentials (JSON Web Tokens) following OAuth 2.0. + flows: + clientCredentials: + tokenUrl: 'https://api.confluent.cloud/sts/v1/oauth2/token' + scopes: {} + api-key: + type: http + scheme: basic + description: Authenticate with API Keys using HTTP Basic Auth. Treat the API Key ID as the username and API Key Secret as the password. + resource-api-key: + type: http + scheme: basic + description: | + Authenticate with resource-specific API Keys using HTTP Basic Auth. Treat the resource-specific API Key ID + as the username and resource-specific API Key Secret as the password. + external-access-token: + type: oauth2 + description: Authenticate with OAuth 2.0. + flows: + clientCredentials: + tokenUrl: 'https:///token' + scopes: {} + oauth: + type: oauth2 + description: Authenticate with OAuth 2.0. Currently this is only supported for partner APIs. + flows: + clientCredentials: + tokenUrl: /oauth2/token + scopes: + 'partner:alter': enables partners to alter entitlements + 'partner:create': enables partners to create entitlements and signup on behalf of customers + 'partner:delete': enables partners to delete entitlements and organizations + 'partner:describe': enables partners to read and list entitlements and organizations + requestBodies: + AlterBrokerConfigBatchRequest: + description: The alter broker configuration parameter batch request. + content: + application/json: + schema: + $ref: '#/components/schemas/AlterConfigBatchRequestData' + example: + data: + - name: max.connections + operation: DELETE + - name: compression.type + value: gzip + AlterClusterConfigBatchRequest: + description: The alter cluster configuration parameter batch request. + content: + application/json: + schema: + $ref: '#/components/schemas/AlterConfigBatchRequestData' + example: + data: + - name: max.connections + operation: DELETE + - name: compression.type + value: gzip + AlterTopicConfigBatchRequest: + description: The alter topic configuration parameter batch request. + content: + application/json: + schema: + $ref: '#/components/schemas/AlterConfigBatchRequestData' + examples: + batch_alter_topic_configs: + value: + data: + - name: cleanup.policy + operation: DELETE + - name: compression.type + value: gzip + validate_only_batch_alter_topic_configs: + value: + data: + - name: cleanup.policy + operation: DELETE + - name: compression.type + value: gzip + validate_only: true + CreateAclRequest: + description: The ACL creation request. + content: + application/json: + schema: + $ref: '#/components/schemas/CreateAclRequestData' + example: + resource_type: CLUSTER + resource_name: kafka-cluster + pattern_type: LITERAL + principal: 'principalType:principalName' + host: '*' + operation: DESCRIBE + permission: DENY + BatchCreateAclRequest: + description: The batch ACL creation request. + content: + application/json: + schema: + $ref: '#/components/schemas/CreateAclRequestDataList' + example: + data: + - resource_type: CLUSTER + resource_name: kafka-cluster + pattern_type: LITERAL + principal: 'principalType:principalName' + host: '*' + operation: DESCRIBE + permission: DENY + - resource_type: TOPIC + resource_name: kafka-cluster + pattern_type: LITERAL + principal: 'principalType:principalName' + host: '*' + operation: READ + permission: ALLOW + CreateTopicRequest: + description: 'The topic creation request. Note that Confluent Cloud allows only specific replication factor values. Because of that the replication factor field should either be omitted or it should use one of the allowed values (see https://docs.confluent.io/cloud/current/client-apps/optimizing/durability.html).' + content: + application/json: + schema: + $ref: '#/components/schemas/CreateTopicRequestData' + examples: + uniform_replication: + value: + topic_name: topic-X + partitions_count: 64 + replication_factor: 3 + configs: + - name: cleanup.policy + value: compact + - name: compression.type + value: gzip + dry_run_create_topic: + value: + topic_name: topic-X + partitions_count: 64 + replication_factor: 3 + validate_only: true + ProduceRequest: + description: 'A single record to be produced to Kafka. To produce multiple records in the same request, simply concatenate the records. The delivery reports are concatenated in the same order as the records are sent.' + content: + application/json: + schema: + $ref: '#/components/schemas/ProduceRequest' + examples: + binary_and_json: + description: 'If using type, one of "BINARY", "JSON" or "STRING" is required.' + value: + partition_id: 1 + headers: + - name: Header-1 + value: SGVhZGVyLTE= + - name: Header-2 + value: SGVhZGVyLTI= + key: + type: BINARY + data: Zm9vYmFy + value: + type: JSON + data: + foo: bar + timestamp: '2021-02-05T19:14:42Z' + string: + description: 'If using type, one of "BINARY", "JSON" or "STRING" is required.' + value: + value: + type: STRING + data: My message + empty_value: + description: key or value can be omitted entirely. + value: + key: + data: 1000 + UpdateBrokerConfigRequest: + description: The broker configuration parameter update request. + content: + application/json: + schema: + $ref: '#/components/schemas/UpdateConfigRequestData' + example: + value: gzip + UpdateClusterConfigRequest: + description: The cluster configuration parameter update request. + content: + application/json: + schema: + $ref: '#/components/schemas/UpdateConfigRequestData' + example: + value: gzip + UpdateTopicConfigRequest: + description: The topic configuration parameter update request. + content: + application/json: + schema: + $ref: '#/components/schemas/UpdateConfigRequestData' + example: + value: gzip + CreateLinkRequest: + description: Create a cluster link + content: + application/json: + schema: + $ref: '#/components/schemas/CreateLinkRequestData' + examples: + destination_initiated_link: + description: Create a destination initiated cluster link + value: + source_cluster_id: cluster-1 + configs: + - name: bootstrap.servers + value: cluster-1-bootstrap-server + - name: acl.sync.enable + value: 'false' + - name: consumer.offset.sync.ms + value: '30000' + - name: sasl.mechanism + value: PLAIN + - name: sasl.protocol + value: SASL_SSL + - name: sasl.jaas.config + value: sasl.jaas.config=org.apache.kafka.common.security.plain.PlainLoginModule required username='' password=''; + source_initiated_link_at_source_cluster: + description: Create a source initiated cluster link at source cluster + value: + destination_cluster_id: cluster-2 + configs: + - name: bootstrap.servers + value: cluster-2-bootstrap-server + - name: link.mode + value: SOURCE + - name: sasl.mechanism + value: PLAIN + - name: sasl.protocol + value: SASL_SSL + - name: sasl.jaas.config + value: sasl.jaas.config=org.apache.kafka.common.security.plain.PlainLoginModule required username='' password=''; + source_initiated_link_at_destination_cluster: + description: Create a source initiated cluster link at destination cluster + value: + destination_cluster_id: cluster-1 + configs: + - name: bootstrap.servers + value: cluster-1-bootstrap-server + - name: link.mode + value: DESTINATION + - name: connection.mode + value: INBOUND + - name: acl.sync.enable + value: 'false' + - name: sasl.mechanism + value: PLAIN + - name: sasl.protocol + value: SASL_SSL + - name: sasl.jaas.config + value: sasl.jaas.config=org.apache.kafka.common.security.plain.PlainLoginModule required username='' password=''; + bidirectional_link_east: + description: Create a bidirectional cluster link in east + value: + remote_cluster_id: cluster-west + configs: + - name: bootstrap.servers + value: cluster-west-bootstrap-server + - name: link.mode + value: BIDIRECTIONAL + - name: cluster.link.prefix + value: west. + - name: sasl.mechanism + value: PLAIN + - name: sasl.protocol + value: SASL_SSL + - name: sasl.jaas.config + value: sasl.jaas.config=org.apache.kafka.common.security.plain.PlainLoginModule required username='' password=''; + bidirectional_link_west: + description: Create a bidirectional cluster link in west + value: + remote_cluster_id: cluster-east + cluster_link_id: eEBkTffYSESld6EO898x3w + configs: + - name: bootstrap.servers + value: cluster-east-bootstrap-server + - name: link.mode + value: BIDIRECTIONAL + - name: cluster.link.prefix + value: east. + - name: sasl.mechanism + value: PLAIN + - name: sasl.protocol + value: SASL_SSL + - name: sasl.jaas.config + value: sasl.jaas.config=org.apache.kafka.common.security.plain.PlainLoginModule required username='' password=''; + UpdateLinkConfigRequest: + content: + application/json: + example: + value: '300000' + schema: + $ref: '#/components/schemas/UpdateLinkConfigRequestData' + description: Link config value to update + AlterLinkConfigBatchRequest: + content: + application/json: + example: + data: + - name: cleanup.policy + operation: DELETE + - name: compression.type + value: gzip + schema: + $ref: '#/components/schemas/AlterConfigBatchRequestData' + CreateMirrorTopicRequest: + description: 'Name and configs of the topics mirroring from and mirroring to. Note that Confluent Cloud allows only specific replication factor values. Because of that the replication factor field should either be omitted or it should use one of the allowed values (see https://docs.confluent.io/cloud/current/client-apps/optimizing/durability.html).' + content: + application/json: + schema: + $ref: '#/components/schemas/CreateMirrorTopicRequestData' + examples: + generic_example: + description: Generic example of creating a mirror topic + value: + source_topic_name: topic-1 + configs: + - name: unclean.leader.election.enable + value: 'true' + replication_factor: 1 + example_with_mirror_topic_name: + description: Example using optional mirror_topic_name flag + value: + source_topic_name: topic-1 + mirror_topic_name: link1_topic-1 + configs: + - name: unclean.leader.election.enable + value: 'true' + replication_factor: 3 + AlterMirrorsRequest: + description: Mirror topics to be altered. + content: + application/json: + schema: + $ref: '#/components/schemas/AlterMirrorsRequestData' + examples: + mirror_topic_names: + description: Example using mirror topic names + value: + mirror_topic_names: + - topic-1 + - topic-2 + mirror_topic_name_pattern: + description: Example using mirror topic name pattern + value: + mirror_topic_name_pattern: .* + RemoveBrokersRequest: + content: + application/json: + example: + broker_ids: + - 1 + - 2 + - 3 + schema: + $ref: '#/components/schemas/RemoveBrokersRequestData' + description: Broker ids to remove + BrokerReplicaExclusionBatchRequest: + description: Alter Broker Replica Exclusions. + content: + application/json: + schema: + $ref: '#/components/schemas/BrokerReplicaExclusionBatchRequestData' + example: + data: + - broker_id: 1 + reason: The broker is to be removed. + - broker_id: 2 + reason: The broker is to be removed. + x-stackQL-resources: + api_keys: + id: confluent.iam.api_keys + name: api_keys + title: Api Keys + methods: + list_iam_v2api_keys: + operation: + $ref: '#/paths/~1iam~1v2~1api-keys/get' + response: + mediaType: application/json + openAPIDocKey: '200' + objectKey: $.data + create_iam_v2api_key: + operation: + $ref: '#/paths/~1iam~1v2~1api-keys/post' + response: + mediaType: application/json + openAPIDocKey: '202' + get_iam_v2api_key: + operation: + $ref: '#/paths/~1iam~1v2~1api-keys~1{id}/get' + response: + mediaType: application/json + openAPIDocKey: '200' + update_iam_v2api_key: + operation: + $ref: '#/paths/~1iam~1v2~1api-keys~1{id}/patch' + response: + mediaType: application/json + openAPIDocKey: '200' + delete_iam_v2api_key: + operation: + $ref: '#/paths/~1iam~1v2~1api-keys~1{id}/delete' + response: + mediaType: application/json + openAPIDocKey: '204' + sqlVerbs: + select: + - $ref: '#/components/x-stackQL-resources/api_keys/methods/get_iam_v2api_key' + - $ref: '#/components/x-stackQL-resources/api_keys/methods/list_iam_v2api_keys' + insert: + - $ref: '#/components/x-stackQL-resources/api_keys/methods/create_iam_v2api_key' + update: + - $ref: '#/components/x-stackQL-resources/api_keys/methods/update_iam_v2api_key' + replace: [] + delete: + - $ref: '#/components/x-stackQL-resources/api_keys/methods/delete_iam_v2api_key' + users: + id: confluent.iam.users + name: users + title: Users + methods: + list_iam_v2users: + operation: + $ref: '#/paths/~1iam~1v2~1users/get' + response: + mediaType: application/json + openAPIDocKey: '200' + objectKey: $.data + get_iam_v2user: + operation: + $ref: '#/paths/~1iam~1v2~1users~1{id}/get' + response: + mediaType: application/json + openAPIDocKey: '200' + update_iam_v2user: + operation: + $ref: '#/paths/~1iam~1v2~1users~1{id}/patch' + response: + mediaType: application/json + openAPIDocKey: '200' + delete_iam_v2user: + operation: + $ref: '#/paths/~1iam~1v2~1users~1{id}/delete' + response: + mediaType: application/json + openAPIDocKey: '204' + sqlVerbs: + select: + - $ref: '#/components/x-stackQL-resources/users/methods/get_iam_v2user' + - $ref: '#/components/x-stackQL-resources/users/methods/list_iam_v2users' + insert: [] + update: + - $ref: '#/components/x-stackQL-resources/users/methods/update_iam_v2user' + replace: [] + delete: + - $ref: '#/components/x-stackQL-resources/users/methods/delete_iam_v2user' + service_accounts: + id: confluent.iam.service_accounts + name: service_accounts + title: Service Accounts + methods: + list_iam_v2service_accounts: + operation: + $ref: '#/paths/~1iam~1v2~1service-accounts/get' + response: + mediaType: application/json + openAPIDocKey: '200' + objectKey: $.data + create_iam_v2service_account: + operation: + $ref: '#/paths/~1iam~1v2~1service-accounts/post' + response: + mediaType: application/json + openAPIDocKey: '201' + get_iam_v2service_account: + operation: + $ref: '#/paths/~1iam~1v2~1service-accounts~1{id}/get' + response: + mediaType: application/json + openAPIDocKey: '200' + update_iam_v2service_account: + operation: + $ref: '#/paths/~1iam~1v2~1service-accounts~1{id}/patch' + response: + mediaType: application/json + openAPIDocKey: '200' + delete_iam_v2service_account: + operation: + $ref: '#/paths/~1iam~1v2~1service-accounts~1{id}/delete' + response: + mediaType: application/json + openAPIDocKey: '204' + sqlVerbs: + select: + - $ref: '#/components/x-stackQL-resources/service_accounts/methods/get_iam_v2service_account' + - $ref: '#/components/x-stackQL-resources/service_accounts/methods/list_iam_v2service_accounts' + insert: + - $ref: '#/components/x-stackQL-resources/service_accounts/methods/create_iam_v2service_account' + update: + - $ref: '#/components/x-stackQL-resources/service_accounts/methods/update_iam_v2service_account' + replace: [] + delete: + - $ref: '#/components/x-stackQL-resources/service_accounts/methods/delete_iam_v2service_account' + invitations: + id: confluent.iam.invitations + name: invitations + title: Invitations + methods: + list_iam_v2invitations: + operation: + $ref: '#/paths/~1iam~1v2~1invitations/get' + response: + mediaType: application/json + openAPIDocKey: '200' + objectKey: $.data + create_iam_v2invitation: + operation: + $ref: '#/paths/~1iam~1v2~1invitations/post' + response: + mediaType: application/json + openAPIDocKey: '201' + get_iam_v2invitation: + operation: + $ref: '#/paths/~1iam~1v2~1invitations~1{id}/get' + response: + mediaType: application/json + openAPIDocKey: '200' + delete_iam_v2invitation: + operation: + $ref: '#/paths/~1iam~1v2~1invitations~1{id}/delete' + response: + mediaType: application/json + openAPIDocKey: '204' + sqlVerbs: + select: + - $ref: '#/components/x-stackQL-resources/invitations/methods/get_iam_v2invitation' + - $ref: '#/components/x-stackQL-resources/invitations/methods/list_iam_v2invitations' + insert: + - $ref: '#/components/x-stackQL-resources/invitations/methods/create_iam_v2invitation' + update: [] + replace: [] + delete: + - $ref: '#/components/x-stackQL-resources/invitations/methods/delete_iam_v2invitation' + ip_groups: + id: confluent.iam.ip_groups + name: ip_groups + title: Ip Groups + methods: + list_iam_v2ip_groups: + operation: + $ref: '#/paths/~1iam~1v2~1ip-groups/get' + response: + mediaType: application/json + openAPIDocKey: '200' + objectKey: $.data + create_iam_v2ip_group: + operation: + $ref: '#/paths/~1iam~1v2~1ip-groups/post' + response: + mediaType: application/json + openAPIDocKey: '201' + get_iam_v2ip_group: + operation: + $ref: '#/paths/~1iam~1v2~1ip-groups~1{id}/get' + response: + mediaType: application/json + openAPIDocKey: '200' + update_iam_v2ip_group: + operation: + $ref: '#/paths/~1iam~1v2~1ip-groups~1{id}/patch' + response: + mediaType: application/json + openAPIDocKey: '200' + delete_iam_v2ip_group: + operation: + $ref: '#/paths/~1iam~1v2~1ip-groups~1{id}/delete' + response: + mediaType: application/json + openAPIDocKey: '204' + sqlVerbs: + select: + - $ref: '#/components/x-stackQL-resources/ip_groups/methods/get_iam_v2ip_group' + - $ref: '#/components/x-stackQL-resources/ip_groups/methods/list_iam_v2ip_groups' + insert: + - $ref: '#/components/x-stackQL-resources/ip_groups/methods/create_iam_v2ip_group' + update: + - $ref: '#/components/x-stackQL-resources/ip_groups/methods/update_iam_v2ip_group' + replace: [] + delete: + - $ref: '#/components/x-stackQL-resources/ip_groups/methods/delete_iam_v2ip_group' + ip_filters: + id: confluent.iam.ip_filters + name: ip_filters + title: Ip Filters + methods: + list_iam_v2ip_filters: + operation: + $ref: '#/paths/~1iam~1v2~1ip-filters/get' + response: + mediaType: application/json + openAPIDocKey: '200' + objectKey: $.data + create_iam_v2ip_filter: + operation: + $ref: '#/paths/~1iam~1v2~1ip-filters/post' + response: + mediaType: application/json + openAPIDocKey: '201' + get_iam_v2ip_filter: + operation: + $ref: '#/paths/~1iam~1v2~1ip-filters~1{id}/get' + response: + mediaType: application/json + openAPIDocKey: '200' + update_iam_v2ip_filter: + operation: + $ref: '#/paths/~1iam~1v2~1ip-filters~1{id}/patch' + response: + mediaType: application/json + openAPIDocKey: '200' + delete_iam_v2ip_filter: + operation: + $ref: '#/paths/~1iam~1v2~1ip-filters~1{id}/delete' + response: + mediaType: application/json + openAPIDocKey: '204' + sqlVerbs: + select: + - $ref: '#/components/x-stackQL-resources/ip_filters/methods/get_iam_v2ip_filter' + - $ref: '#/components/x-stackQL-resources/ip_filters/methods/list_iam_v2ip_filters' + insert: + - $ref: '#/components/x-stackQL-resources/ip_filters/methods/create_iam_v2ip_filter' + update: + - $ref: '#/components/x-stackQL-resources/ip_filters/methods/update_iam_v2ip_filter' + replace: [] + delete: + - $ref: '#/components/x-stackQL-resources/ip_filters/methods/delete_iam_v2ip_filter' + role_bindings: + id: confluent.iam.role_bindings + name: role_bindings + title: Role Bindings + methods: + list_iam_v2role_bindings: + operation: + $ref: '#/paths/~1iam~1v2~1role-bindings/get' + response: + mediaType: application/json + openAPIDocKey: '200' + objectKey: $.data + create_iam_v2role_binding: + operation: + $ref: '#/paths/~1iam~1v2~1role-bindings/post' + response: + mediaType: application/json + openAPIDocKey: '201' + get_iam_v2role_binding: + operation: + $ref: '#/paths/~1iam~1v2~1role-bindings~1{id}/get' + response: + mediaType: application/json + openAPIDocKey: '200' + delete_iam_v2role_binding: + operation: + $ref: '#/paths/~1iam~1v2~1role-bindings~1{id}/delete' + response: + mediaType: application/json + openAPIDocKey: '200' + sqlVerbs: + select: + - $ref: '#/components/x-stackQL-resources/role_bindings/methods/get_iam_v2role_binding' + - $ref: '#/components/x-stackQL-resources/role_bindings/methods/list_iam_v2role_bindings' + insert: + - $ref: '#/components/x-stackQL-resources/role_bindings/methods/create_iam_v2role_binding' + update: [] + replace: [] + delete: + - $ref: '#/components/x-stackQL-resources/role_bindings/methods/delete_iam_v2role_binding' + identity_providers: + id: confluent.iam.identity_providers + name: identity_providers + title: Identity Providers + methods: + list_iam_v2identity_providers: + operation: + $ref: '#/paths/~1iam~1v2~1identity-providers/get' + response: + mediaType: application/json + openAPIDocKey: '200' + objectKey: $.data + create_iam_v2identity_provider: + operation: + $ref: '#/paths/~1iam~1v2~1identity-providers/post' + response: + mediaType: application/json + openAPIDocKey: '201' + get_iam_v2identity_provider: + operation: + $ref: '#/paths/~1iam~1v2~1identity-providers~1{id}/get' + response: + mediaType: application/json + openAPIDocKey: '200' + update_iam_v2identity_provider: + operation: + $ref: '#/paths/~1iam~1v2~1identity-providers~1{id}/patch' + response: + mediaType: application/json + openAPIDocKey: '200' + delete_iam_v2identity_provider: + operation: + $ref: '#/paths/~1iam~1v2~1identity-providers~1{id}/delete' + response: + mediaType: application/json + openAPIDocKey: '204' + sqlVerbs: + select: + - $ref: '#/components/x-stackQL-resources/identity_providers/methods/get_iam_v2identity_provider' + - $ref: '#/components/x-stackQL-resources/identity_providers/methods/list_iam_v2identity_providers' + insert: + - $ref: '#/components/x-stackQL-resources/identity_providers/methods/create_iam_v2identity_provider' + update: + - $ref: '#/components/x-stackQL-resources/identity_providers/methods/update_iam_v2identity_provider' + replace: [] + delete: + - $ref: '#/components/x-stackQL-resources/identity_providers/methods/delete_iam_v2identity_provider' + jwks: + id: confluent.iam.jwks + name: jwks + title: Jwks + methods: + refresh_iam_v2json_web_key_set: + operation: + $ref: '#/paths/~1iam~1v2~1identity-providers~1{provider_id}~1jwks/patch' + response: + mediaType: application/json + openAPIDocKey: '200' + sqlVerbs: + select: [] + insert: [] + update: [] + replace: [] + delete: [] + identity_pools: + id: confluent.iam.identity_pools + name: identity_pools + title: Identity Pools + methods: + list_iam_v2identity_pools: + operation: + $ref: '#/paths/~1iam~1v2~1identity-providers~1{provider_id}~1identity-pools/get' + response: + mediaType: application/json + openAPIDocKey: '200' + objectKey: $.data + create_iam_v2identity_pool: + operation: + $ref: '#/paths/~1iam~1v2~1identity-providers~1{provider_id}~1identity-pools/post' + response: + mediaType: application/json + openAPIDocKey: '201' + get_iam_v2identity_pool: + operation: + $ref: '#/paths/~1iam~1v2~1identity-providers~1{provider_id}~1identity-pools~1{id}/get' + response: + mediaType: application/json + openAPIDocKey: '200' + update_iam_v2identity_pool: + operation: + $ref: '#/paths/~1iam~1v2~1identity-providers~1{provider_id}~1identity-pools~1{id}/patch' + response: + mediaType: application/json + openAPIDocKey: '200' + delete_iam_v2identity_pool: + operation: + $ref: '#/paths/~1iam~1v2~1identity-providers~1{provider_id}~1identity-pools~1{id}/delete' + response: + mediaType: application/json + openAPIDocKey: '204' + sqlVerbs: + select: + - $ref: '#/components/x-stackQL-resources/identity_pools/methods/get_iam_v2identity_pool' + - $ref: '#/components/x-stackQL-resources/identity_pools/methods/list_iam_v2identity_pools' + insert: + - $ref: '#/components/x-stackQL-resources/identity_pools/methods/create_iam_v2identity_pool' + update: + - $ref: '#/components/x-stackQL-resources/identity_pools/methods/update_iam_v2identity_pool' + replace: [] + delete: + - $ref: '#/components/x-stackQL-resources/identity_pools/methods/delete_iam_v2identity_pool' + group_mappings: + id: confluent.iam.group_mappings + name: group_mappings + title: Group Mappings + methods: + list_iam_v2sso_group_mappings: + operation: + $ref: '#/paths/~1iam~1v2~1sso~1group-mappings/get' + response: + mediaType: application/json + openAPIDocKey: '200' + objectKey: $.data + create_iam_v2sso_group_mapping: + operation: + $ref: '#/paths/~1iam~1v2~1sso~1group-mappings/post' + response: + mediaType: application/json + openAPIDocKey: '201' + get_iam_v2sso_group_mapping: + operation: + $ref: '#/paths/~1iam~1v2~1sso~1group-mappings~1{id}/get' + response: + mediaType: application/json + openAPIDocKey: '200' + update_iam_v2sso_group_mapping: + operation: + $ref: '#/paths/~1iam~1v2~1sso~1group-mappings~1{id}/patch' + response: + mediaType: application/json + openAPIDocKey: '200' + delete_iam_v2sso_group_mapping: + operation: + $ref: '#/paths/~1iam~1v2~1sso~1group-mappings~1{id}/delete' + response: + mediaType: application/json + openAPIDocKey: '204' + sqlVerbs: + select: + - $ref: '#/components/x-stackQL-resources/group_mappings/methods/get_iam_v2sso_group_mapping' + - $ref: '#/components/x-stackQL-resources/group_mappings/methods/list_iam_v2sso_group_mappings' + insert: + - $ref: '#/components/x-stackQL-resources/group_mappings/methods/create_iam_v2sso_group_mapping' + update: + - $ref: '#/components/x-stackQL-resources/group_mappings/methods/update_iam_v2sso_group_mapping' + replace: [] + delete: + - $ref: '#/components/x-stackQL-resources/group_mappings/methods/delete_iam_v2sso_group_mapping' + certificate_authorities: + id: confluent.iam.certificate_authorities + name: certificate_authorities + title: Certificate Authorities + methods: + list_iam_v2certificate_authorities: + operation: + $ref: '#/paths/~1iam~1v2~1certificate-authorities/get' + response: + mediaType: application/json + openAPIDocKey: '200' + objectKey: $.data + create_iam_v2certificate_authority: + operation: + $ref: '#/paths/~1iam~1v2~1certificate-authorities/post' + response: + mediaType: application/json + openAPIDocKey: '201' + get_iam_v2certificate_authority: + operation: + $ref: '#/paths/~1iam~1v2~1certificate-authorities~1{id}/get' + response: + mediaType: application/json + openAPIDocKey: '200' + update_iam_v2certificate_authority: + operation: + $ref: '#/paths/~1iam~1v2~1certificate-authorities~1{id}/put' + response: + mediaType: application/json + openAPIDocKey: '200' + delete_iam_v2certificate_authority: + operation: + $ref: '#/paths/~1iam~1v2~1certificate-authorities~1{id}/delete' + response: + mediaType: application/json + openAPIDocKey: '200' + sqlVerbs: + select: + - $ref: '#/components/x-stackQL-resources/certificate_authorities/methods/get_iam_v2certificate_authority' + - $ref: '#/components/x-stackQL-resources/certificate_authorities/methods/list_iam_v2certificate_authorities' + insert: + - $ref: '#/components/x-stackQL-resources/certificate_authorities/methods/create_iam_v2certificate_authority' + update: [] + replace: [] + delete: + - $ref: '#/components/x-stackQL-resources/certificate_authorities/methods/delete_iam_v2certificate_authority' + certificate_identity_pools: + id: confluent.iam.certificate_identity_pools + name: certificate_identity_pools + title: Certificate Identity Pools + methods: + list_iam_v2certificate_identity_pools: + operation: + $ref: '#/paths/~1iam~1v2~1certificate-authorities~1{certificate_authority_id}~1identity-pools/get' + response: + mediaType: application/json + openAPIDocKey: '200' + objectKey: $.data + create_iam_v2certificate_identity_pool: + operation: + $ref: '#/paths/~1iam~1v2~1certificate-authorities~1{certificate_authority_id}~1identity-pools/post' + response: + mediaType: application/json + openAPIDocKey: '201' + get_iam_v2certificate_identity_pool: + operation: + $ref: '#/paths/~1iam~1v2~1certificate-authorities~1{certificate_authority_id}~1identity-pools~1{id}/get' + response: + mediaType: application/json + openAPIDocKey: '200' + update_iam_v2certificate_identity_pool: + operation: + $ref: '#/paths/~1iam~1v2~1certificate-authorities~1{certificate_authority_id}~1identity-pools~1{id}/put' + response: + mediaType: application/json + openAPIDocKey: '200' + delete_iam_v2certificate_identity_pool: + operation: + $ref: '#/paths/~1iam~1v2~1certificate-authorities~1{certificate_authority_id}~1identity-pools~1{id}/delete' + response: + mediaType: application/json + openAPIDocKey: '200' + sqlVerbs: + select: + - $ref: '#/components/x-stackQL-resources/certificate_identity_pools/methods/get_iam_v2certificate_identity_pool' + - $ref: '#/components/x-stackQL-resources/certificate_identity_pools/methods/list_iam_v2certificate_identity_pools' + insert: + - $ref: '#/components/x-stackQL-resources/certificate_identity_pools/methods/create_iam_v2certificate_identity_pool' + update: [] + replace: [] + delete: + - $ref: '#/components/x-stackQL-resources/certificate_identity_pools/methods/delete_iam_v2certificate_identity_pool' +paths: + /iam/v2/api-keys: + get: + operationId: listIamV2ApiKeys + summary: List of API Keys + description: | + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + Retrieve a sorted, filtered, paginated list of all API keys. + + This can show all keys for a single owner (across resources - Kafka clusters), or all keys for a single + resource (across owners). If no `owner` or `resource` filters are specified, returns all API Keys in the + organization. You will only see the keys that are accessible to the account making the API request. + parameters: + - name: spec.owner + in: query + required: false + schema: + $ref: '#/components/schemas/SearchFilter' + description: Filter the results by exact match for spec.owner. + - name: spec.resource + in: query + required: false + schema: + $ref: '#/components/schemas/SearchFilter' + description: Filter the results by exact match for spec.resource. + - 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: + - API Keys (iam/v2) + security: + - cloud-api-key: [] + responses: + '200': + description: API Key. + content: + application/json: + schema: + allOf: + - $ref: '#/components/schemas/iam.v2.ApiKeyList' + - type: object + properties: + data: + type: array + items: + properties: + spec: + type: object + properties: + owner: + example: + id: u-a83k9b + related: 'https://api.confluent.cloud/iam/v2/users/u-a83k9b' + resource_name: 'https://api.confluent.cloud/user=u-a83k9b' + resource: + nullable: true + example: + id: lkc-c29js0 + related: 'https://api.confluent.cloud/cmk/v2/clusters/lkc-c29js0' + resource_name: 'https://api.confluent.cloud/organization=9bb441c4-edef-46ac-8a41-c49e44a3fd9a/environment=env-abc123/cloud-cluster=lkc-c29js0' + 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. + + **Important:** This differs from Github and Twitter's same-named header which uses UTC epoch seconds. We use relative time to avoid client/server time synchronization issues. + '400': + $ref: '#/components/responses/BadRequestError' + '401': + $ref: '#/components/responses/UnauthenticatedError' + '403': + $ref: '#/components/responses/UnauthorizedError' + '429': + $ref: '#/components/responses/RateLimitError' + '500': + $ref: '#/components/responses/DefaultSystemError' + x-codeSamples: + - lang: Shell + source: |- + curl --request GET \ + --url 'https://api.confluent.cloud/iam/v2/api-keys?spec.owner=SOME_STRING_VALUE&spec.resource=SOME_STRING_VALUE' \ + --header 'Authorization: Basic REPLACE_BASIC_AUTH' + - lang: Java + source: |- + OkHttpClient client = new OkHttpClient(); + + Request request = new Request.Builder() + .url("https://api.confluent.cloud/iam/v2/api-keys?spec.owner=SOME_STRING_VALUE&spec.resource=SOME_STRING_VALUE") + .get() + .addHeader("Authorization", "Basic REPLACE_BASIC_AUTH") + .build(); + + Response response = client.newCall(request).execute(); + - lang: Go + source: "package main\n\nimport (\n\t\"fmt\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.confluent.cloud/iam/v2/api-keys?spec.owner=SOME_STRING_VALUE&spec.resource=SOME_STRING_VALUE\"\n\n\treq, _ := http.NewRequest(\"GET\", url, nil)\n\n\treq.Header.Add(\"Authorization\", \"Basic REPLACE_BASIC_AUTH\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}" + - lang: Python + source: |- + import http.client + + conn = http.client.HTTPSConnection("api.confluent.cloud") + + headers = { 'Authorization': "Basic REPLACE_BASIC_AUTH" } + + conn.request("GET", "/iam/v2/api-keys?spec.owner=SOME_STRING_VALUE&spec.resource=SOME_STRING_VALUE", headers=headers) + + res = conn.getresponse() + data = res.read() + + print(data.decode("utf-8")) + - lang: Node + source: |- + const http = require("https"); + + const options = { + "method": "GET", + "hostname": "api.confluent.cloud", + "port": null, + "path": "/iam/v2/api-keys?spec.owner=SOME_STRING_VALUE&spec.resource=SOME_STRING_VALUE", + "headers": { + "Authorization": "Basic REPLACE_BASIC_AUTH" + } + }; + + const req = http.request(options, function (res) { + const chunks = []; + + res.on("data", function (chunk) { + chunks.push(chunk); + }); + + res.on("end", function () { + const body = Buffer.concat(chunks); + console.log(body.toString()); + }); + }); + + req.end(); + - lang: C + source: |- + CURL *hnd = curl_easy_init(); + + curl_easy_setopt(hnd, CURLOPT_CUSTOMREQUEST, "GET"); + curl_easy_setopt(hnd, CURLOPT_URL, "https://api.confluent.cloud/iam/v2/api-keys?spec.owner=SOME_STRING_VALUE&spec.resource=SOME_STRING_VALUE"); + + struct curl_slist *headers = NULL; + headers = curl_slist_append(headers, "Authorization: Basic REPLACE_BASIC_AUTH"); + curl_easy_setopt(hnd, CURLOPT_HTTPHEADER, headers); + + CURLcode ret = curl_easy_perform(hnd); + - lang: C# + source: |- + var client = new RestClient("https://api.confluent.cloud/iam/v2/api-keys?spec.owner=SOME_STRING_VALUE&spec.resource=SOME_STRING_VALUE"); + var request = new RestRequest(Method.GET); + request.AddHeader("Authorization", "Basic REPLACE_BASIC_AUTH"); + IRestResponse response = client.Execute(request); + post: + operationId: createIamV2ApiKey + summary: Create an API Key + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + Make a request to create an API key. + tags: + - API Keys (iam/v2) + security: + - cloud-api-key: [] + requestBody: + content: + application/json: + schema: + allOf: + - $ref: '#/components/schemas/iam.v2.ApiKey' + - type: object + required: + - spec + properties: + spec: + type: object + required: + - owner + - type: object + properties: + spec: + type: object + properties: + owner: + example: + id: u-a83k9b + resource: + nullable: true + example: + id: lkc-c29js0 + responses: + '202': + description: An API Key is being created. + headers: + X-Request-Id: + schema: + type: string + description: The unique identifier for the API request. + X-RateLimit-Limit: + schema: + type: integer + description: The maximum number of requests you're permitted to make per time period. + X-RateLimit-Remaining: + schema: + type: integer + description: The number of requests remaining in the current rate limit window. + X-RateLimit-Reset: + schema: + type: integer + description: |- + The relative time in seconds until the current rate-limit window resets. + + **Important:** This differs from Github and Twitter's same-named header which uses UTC epoch seconds. We use relative time to avoid client/server time synchronization issues. + Location: + schema: + type: string + format: uri + example: 'https://api.confluent.cloud/iam/v2/api-keys/{id}' + description: ApiKey resource uri + content: + application/json: + schema: + allOf: + - $ref: '#/components/schemas/iam.v2.ApiKey' + - type: object + required: + - spec + properties: + spec: + type: object + required: + - owner + - type: object + properties: + spec: + type: object + properties: + owner: + example: + id: u-a83k9b + related: 'https://api.confluent.cloud/iam/v2/users/u-a83k9b' + resource_name: 'https://api.confluent.cloud/user=u-a83k9b' + resource: + nullable: true + example: + id: lkc-c29js0 + related: 'https://api.confluent.cloud/cmk/v2/clusters/lkc-c29js0' + resource_name: 'https://api.confluent.cloud/organization=9bb441c4-edef-46ac-8a41-c49e44a3fd9a/environment=env-abc123/cloud-cluster=lkc-c29js0' + '400': + $ref: '#/components/responses/BadRequestError' + '401': + $ref: '#/components/responses/UnauthenticatedError' + '402': + $ref: '#/components/responses/OverQuotaError' + '403': + $ref: '#/components/responses/UnauthorizedError' + '409': + $ref: '#/components/responses/ConflictError' + '422': + $ref: '#/components/responses/ValidationError' + '429': + $ref: '#/components/responses/RateLimitError' + '500': + $ref: '#/components/responses/DefaultSystemError' + x-codeSamples: + - lang: Shell + source: |- + curl --request POST \ + --url https://api.confluent.cloud/iam/v2/api-keys \ + --header 'Authorization: Basic REPLACE_BASIC_AUTH' \ + --header 'content-type: application/json' \ + --data '{"spec":{"display_name":"CI kafka access key","description":"This API key provides kafka access to cluster x","owner":{"id":"u-a83k9b"},"resource":{"id":"lkc-c29js0","environment":"string"}}}' + - lang: Java + source: |- + OkHttpClient client = new OkHttpClient(); + + MediaType mediaType = MediaType.parse("application/json"); + RequestBody body = RequestBody.create(mediaType, "{\"spec\":{\"display_name\":\"CI kafka access key\",\"description\":\"This API key provides kafka access to cluster x\",\"owner\":{\"id\":\"u-a83k9b\"},\"resource\":{\"id\":\"lkc-c29js0\",\"environment\":\"string\"}}}"); + Request request = new Request.Builder() + .url("https://api.confluent.cloud/iam/v2/api-keys") + .post(body) + .addHeader("content-type", "application/json") + .addHeader("Authorization", "Basic REPLACE_BASIC_AUTH") + .build(); + + Response response = client.newCall(request).execute(); + - lang: Go + source: "package main\n\nimport (\n\t\"fmt\"\n\t\"strings\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.confluent.cloud/iam/v2/api-keys\"\n\n\tpayload := strings.NewReader(\"{\\\"spec\\\":{\\\"display_name\\\":\\\"CI kafka access key\\\",\\\"description\\\":\\\"This API key provides kafka access to cluster x\\\",\\\"owner\\\":{\\\"id\\\":\\\"u-a83k9b\\\"},\\\"resource\\\":{\\\"id\\\":\\\"lkc-c29js0\\\",\\\"environment\\\":\\\"string\\\"}}}\")\n\n\treq, _ := http.NewRequest(\"POST\", url, payload)\n\n\treq.Header.Add(\"content-type\", \"application/json\")\n\treq.Header.Add(\"Authorization\", \"Basic REPLACE_BASIC_AUTH\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}" + - lang: Python + source: |- + import http.client + + conn = http.client.HTTPSConnection("api.confluent.cloud") + + payload = "{\"spec\":{\"display_name\":\"CI kafka access key\",\"description\":\"This API key provides kafka access to cluster x\",\"owner\":{\"id\":\"u-a83k9b\"},\"resource\":{\"id\":\"lkc-c29js0\",\"environment\":\"string\"}}}" + + headers = { + 'content-type': "application/json", + 'Authorization': "Basic REPLACE_BASIC_AUTH" + } + + conn.request("POST", "/iam/v2/api-keys", payload, headers) + + res = conn.getresponse() + data = res.read() + + print(data.decode("utf-8")) + - lang: Node + source: |- + const http = require("https"); + + const options = { + "method": "POST", + "hostname": "api.confluent.cloud", + "port": null, + "path": "/iam/v2/api-keys", + "headers": { + "content-type": "application/json", + "Authorization": "Basic REPLACE_BASIC_AUTH" + } + }; + + const req = http.request(options, function (res) { + const chunks = []; + + res.on("data", function (chunk) { + chunks.push(chunk); + }); + + res.on("end", function () { + const body = Buffer.concat(chunks); + console.log(body.toString()); + }); + }); + + req.write(JSON.stringify({ + spec: { + display_name: 'CI kafka access key', + description: 'This API key provides kafka access to cluster x', + owner: {id: 'u-a83k9b'}, + resource: {id: 'lkc-c29js0', environment: 'string'} + } + })); + req.end(); + - lang: C + source: |- + CURL *hnd = curl_easy_init(); + + curl_easy_setopt(hnd, CURLOPT_CUSTOMREQUEST, "POST"); + curl_easy_setopt(hnd, CURLOPT_URL, "https://api.confluent.cloud/iam/v2/api-keys"); + + struct curl_slist *headers = NULL; + headers = curl_slist_append(headers, "content-type: application/json"); + headers = curl_slist_append(headers, "Authorization: Basic REPLACE_BASIC_AUTH"); + curl_easy_setopt(hnd, CURLOPT_HTTPHEADER, headers); + + curl_easy_setopt(hnd, CURLOPT_POSTFIELDS, "{\"spec\":{\"display_name\":\"CI kafka access key\",\"description\":\"This API key provides kafka access to cluster x\",\"owner\":{\"id\":\"u-a83k9b\"},\"resource\":{\"id\":\"lkc-c29js0\",\"environment\":\"string\"}}}"); + + CURLcode ret = curl_easy_perform(hnd); + - lang: C# + source: |- + var client = new RestClient("https://api.confluent.cloud/iam/v2/api-keys"); + var request = new RestRequest(Method.POST); + request.AddHeader("content-type", "application/json"); + request.AddHeader("Authorization", "Basic REPLACE_BASIC_AUTH"); + request.AddParameter("application/json", "{\"spec\":{\"display_name\":\"CI kafka access key\",\"description\":\"This API key provides kafka access to cluster x\",\"owner\":{\"id\":\"u-a83k9b\"},\"resource\":{\"id\":\"lkc-c29js0\",\"environment\":\"string\"}}}", ParameterType.RequestBody); + IRestResponse response = client.Execute(request); + '/iam/v2/api-keys/{id}': + get: + operationId: getIamV2ApiKey + summary: Read an API Key + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + Make a request to read an API key. + parameters: + - name: id + in: path + required: true + schema: + type: string + description: The unique identifier for the API key. + tags: + - API Keys (iam/v2) + security: + - cloud-api-key: [] + responses: + '200': + description: API Key. + content: + application/json: + schema: + allOf: + - $ref: '#/components/schemas/iam.v2.ApiKey' + - type: object + required: + - api_version + - kind + - id + - spec + properties: + spec: + type: object + required: + - owner + - type: object + properties: + spec: + type: object + properties: + owner: + example: + id: u-a83k9b + related: 'https://api.confluent.cloud/iam/v2/users/u-a83k9b' + resource_name: 'https://api.confluent.cloud/user=u-a83k9b' + resource: + nullable: true + example: + id: lkc-c29js0 + related: 'https://api.confluent.cloud/cmk/v2/clusters/lkc-c29js0' + resource_name: 'https://api.confluent.cloud/organization=9bb441c4-edef-46ac-8a41-c49e44a3fd9a/environment=env-abc123/cloud-cluster=lkc-c29js0' + 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. + + **Important:** This differs from Github and Twitter's same-named header which uses UTC epoch seconds. We use relative time to avoid client/server time synchronization issues. + '400': + $ref: '#/components/responses/BadRequestError' + '401': + $ref: '#/components/responses/UnauthenticatedError' + '403': + $ref: '#/components/responses/UnauthorizedError' + '404': + $ref: '#/components/responses/NotFoundError' + '429': + $ref: '#/components/responses/RateLimitError' + '500': + $ref: '#/components/responses/DefaultSystemError' + x-codeSamples: + - lang: Shell + source: |- + curl --request GET \ + --url 'https://api.confluent.cloud/iam/v2/api-keys/{id}' \ + --header 'Authorization: Basic REPLACE_BASIC_AUTH' + - lang: Java + source: |- + OkHttpClient client = new OkHttpClient(); + + Request request = new Request.Builder() + .url("https://api.confluent.cloud/iam/v2/api-keys/{id}") + .get() + .addHeader("Authorization", "Basic REPLACE_BASIC_AUTH") + .build(); + + Response response = client.newCall(request).execute(); + - lang: Go + source: "package main\n\nimport (\n\t\"fmt\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.confluent.cloud/iam/v2/api-keys/{id}\"\n\n\treq, _ := http.NewRequest(\"GET\", url, nil)\n\n\treq.Header.Add(\"Authorization\", \"Basic REPLACE_BASIC_AUTH\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}" + - lang: Python + source: |- + import http.client + + conn = http.client.HTTPSConnection("api.confluent.cloud") + + headers = { 'Authorization': "Basic REPLACE_BASIC_AUTH" } + + conn.request("GET", "/iam/v2/api-keys/{id}", headers=headers) + + res = conn.getresponse() + data = res.read() + + print(data.decode("utf-8")) + - lang: Node + source: |- + const http = require("https"); + + const options = { + "method": "GET", + "hostname": "api.confluent.cloud", + "port": null, + "path": "/iam/v2/api-keys/{id}", + "headers": { + "Authorization": "Basic REPLACE_BASIC_AUTH" + } + }; + + const req = http.request(options, function (res) { + const chunks = []; + + res.on("data", function (chunk) { + chunks.push(chunk); + }); + + res.on("end", function () { + const body = Buffer.concat(chunks); + console.log(body.toString()); + }); + }); + + req.end(); + - lang: C + source: |- + CURL *hnd = curl_easy_init(); + + curl_easy_setopt(hnd, CURLOPT_CUSTOMREQUEST, "GET"); + curl_easy_setopt(hnd, CURLOPT_URL, "https://api.confluent.cloud/iam/v2/api-keys/{id}"); + + struct curl_slist *headers = NULL; + headers = curl_slist_append(headers, "Authorization: Basic REPLACE_BASIC_AUTH"); + curl_easy_setopt(hnd, CURLOPT_HTTPHEADER, headers); + + CURLcode ret = curl_easy_perform(hnd); + - lang: C# + source: |- + var client = new RestClient("https://api.confluent.cloud/iam/v2/api-keys/{id}"); + var request = new RestRequest(Method.GET); + request.AddHeader("Authorization", "Basic REPLACE_BASIC_AUTH"); + IRestResponse response = client.Execute(request); + patch: + operationId: updateIamV2ApiKey + summary: Update an API Key + description: |+ + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + Make a request to update an API key. + + parameters: + - name: id + in: path + required: true + schema: + type: string + description: The unique identifier for the API key. + tags: + - API Keys (iam/v2) + security: + - cloud-api-key: [] + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/iam.v2.ApiKeyUpdate' + responses: + '200': + description: API Key. + content: + application/json: + schema: + allOf: + - $ref: '#/components/schemas/iam.v2.ApiKey' + - type: object + required: + - api_version + - kind + - id + - spec + properties: + spec: + type: object + required: + - owner + - type: object + properties: + spec: + type: object + properties: + owner: + example: + id: u-a83k9b + related: 'https://api.confluent.cloud/iam/v2/users/u-a83k9b' + resource_name: 'https://api.confluent.cloud/user=u-a83k9b' + resource: + nullable: true + example: + id: lkc-c29js0 + related: 'https://api.confluent.cloud/cmk/v2/clusters/lkc-c29js0' + resource_name: 'https://api.confluent.cloud/organization=9bb441c4-edef-46ac-8a41-c49e44a3fd9a/environment=env-abc123/cloud-cluster=lkc-c29js0' + 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. + + **Important:** This differs from Github and Twitter's same-named header which uses UTC epoch seconds. We use relative time to avoid client/server time synchronization issues. + '400': + $ref: '#/components/responses/BadRequestError' + '401': + $ref: '#/components/responses/UnauthenticatedError' + '402': + $ref: '#/components/responses/OverQuotaError' + '403': + $ref: '#/components/responses/UnauthorizedError' + '404': + $ref: '#/components/responses/NotFoundError' + '409': + $ref: '#/components/responses/ConflictError' + '422': + $ref: '#/components/responses/ValidationError' + '429': + $ref: '#/components/responses/RateLimitError' + '500': + $ref: '#/components/responses/DefaultSystemError' + x-codeSamples: + - lang: Shell + source: |- + curl --request PATCH \ + --url 'https://api.confluent.cloud/iam/v2/api-keys/{id}' \ + --header 'Authorization: Basic REPLACE_BASIC_AUTH' \ + --header 'content-type: application/json' \ + --data '{"spec":{"display_name":"CI kafka access key","description":"This API key provides kafka access to cluster x","owner":{"id":"string"},"resource":{"id":"string","environment":"string"}}}' + - lang: Java + source: |- + OkHttpClient client = new OkHttpClient(); + + MediaType mediaType = MediaType.parse("application/json"); + RequestBody body = RequestBody.create(mediaType, "{\"spec\":{\"display_name\":\"CI kafka access key\",\"description\":\"This API key provides kafka access to cluster x\",\"owner\":{\"id\":\"string\"},\"resource\":{\"id\":\"string\",\"environment\":\"string\"}}}"); + Request request = new Request.Builder() + .url("https://api.confluent.cloud/iam/v2/api-keys/{id}") + .patch(body) + .addHeader("content-type", "application/json") + .addHeader("Authorization", "Basic REPLACE_BASIC_AUTH") + .build(); + + Response response = client.newCall(request).execute(); + - lang: Go + source: "package main\n\nimport (\n\t\"fmt\"\n\t\"strings\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.confluent.cloud/iam/v2/api-keys/{id}\"\n\n\tpayload := strings.NewReader(\"{\\\"spec\\\":{\\\"display_name\\\":\\\"CI kafka access key\\\",\\\"description\\\":\\\"This API key provides kafka access to cluster x\\\",\\\"owner\\\":{\\\"id\\\":\\\"string\\\"},\\\"resource\\\":{\\\"id\\\":\\\"string\\\",\\\"environment\\\":\\\"string\\\"}}}\")\n\n\treq, _ := http.NewRequest(\"PATCH\", url, payload)\n\n\treq.Header.Add(\"content-type\", \"application/json\")\n\treq.Header.Add(\"Authorization\", \"Basic REPLACE_BASIC_AUTH\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}" + - lang: Python + source: |- + import http.client + + conn = http.client.HTTPSConnection("api.confluent.cloud") + + payload = "{\"spec\":{\"display_name\":\"CI kafka access key\",\"description\":\"This API key provides kafka access to cluster x\",\"owner\":{\"id\":\"string\"},\"resource\":{\"id\":\"string\",\"environment\":\"string\"}}}" + + headers = { + 'content-type': "application/json", + 'Authorization': "Basic REPLACE_BASIC_AUTH" + } + + conn.request("PATCH", "/iam/v2/api-keys/{id}", payload, headers) + + res = conn.getresponse() + data = res.read() + + print(data.decode("utf-8")) + - lang: Node + source: |- + const http = require("https"); + + const options = { + "method": "PATCH", + "hostname": "api.confluent.cloud", + "port": null, + "path": "/iam/v2/api-keys/{id}", + "headers": { + "content-type": "application/json", + "Authorization": "Basic REPLACE_BASIC_AUTH" + } + }; + + const req = http.request(options, function (res) { + const chunks = []; + + res.on("data", function (chunk) { + chunks.push(chunk); + }); + + res.on("end", function () { + const body = Buffer.concat(chunks); + console.log(body.toString()); + }); + }); + + req.write(JSON.stringify({ + spec: { + display_name: 'CI kafka access key', + description: 'This API key provides kafka access to cluster x', + owner: {id: 'string'}, + resource: {id: 'string', environment: 'string'} + } + })); + req.end(); + - lang: C + source: |- + CURL *hnd = curl_easy_init(); + + curl_easy_setopt(hnd, CURLOPT_CUSTOMREQUEST, "PATCH"); + curl_easy_setopt(hnd, CURLOPT_URL, "https://api.confluent.cloud/iam/v2/api-keys/{id}"); + + struct curl_slist *headers = NULL; + headers = curl_slist_append(headers, "content-type: application/json"); + headers = curl_slist_append(headers, "Authorization: Basic REPLACE_BASIC_AUTH"); + curl_easy_setopt(hnd, CURLOPT_HTTPHEADER, headers); + + curl_easy_setopt(hnd, CURLOPT_POSTFIELDS, "{\"spec\":{\"display_name\":\"CI kafka access key\",\"description\":\"This API key provides kafka access to cluster x\",\"owner\":{\"id\":\"string\"},\"resource\":{\"id\":\"string\",\"environment\":\"string\"}}}"); + + CURLcode ret = curl_easy_perform(hnd); + - lang: C# + source: |- + var client = new RestClient("https://api.confluent.cloud/iam/v2/api-keys/{id}"); + var request = new RestRequest(Method.PATCH); + request.AddHeader("content-type", "application/json"); + request.AddHeader("Authorization", "Basic REPLACE_BASIC_AUTH"); + request.AddParameter("application/json", "{\"spec\":{\"display_name\":\"CI kafka access key\",\"description\":\"This API key provides kafka access to cluster x\",\"owner\":{\"id\":\"string\"},\"resource\":{\"id\":\"string\",\"environment\":\"string\"}}}", ParameterType.RequestBody); + IRestResponse response = client.Execute(request); + delete: + operationId: deleteIamV2ApiKey + summary: Delete an API Key + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + Make a request to delete an API key. + parameters: + - name: id + in: path + required: true + schema: + type: string + description: The unique identifier for the API key. + tags: + - API Keys (iam/v2) + security: + - cloud-api-key: [] + responses: + '204': + description: An API Key is being deleted. + headers: + X-Request-Id: + schema: + type: string + description: The unique identifier for the API request. + X-RateLimit-Limit: + schema: + type: integer + description: The maximum number of requests you're permitted to make per time period. + X-RateLimit-Remaining: + schema: + type: integer + description: The number of requests remaining in the current rate limit window. + X-RateLimit-Reset: + schema: + type: integer + description: |- + The relative time in seconds until the current rate-limit window resets. + + **Important:** This differs from Github and Twitter's same-named header which uses UTC epoch seconds. We use relative time to avoid client/server time synchronization issues. + '400': + $ref: '#/components/responses/BadRequestError' + '401': + $ref: '#/components/responses/UnauthenticatedError' + '403': + $ref: '#/components/responses/UnauthorizedError' + '404': + $ref: '#/components/responses/NotFoundError' + '429': + $ref: '#/components/responses/RateLimitError' + '500': + $ref: '#/components/responses/DefaultSystemError' + x-codeSamples: + - lang: Shell + source: |- + curl --request DELETE \ + --url 'https://api.confluent.cloud/iam/v2/api-keys/{id}' \ + --header 'Authorization: Basic REPLACE_BASIC_AUTH' + - lang: Java + source: |- + OkHttpClient client = new OkHttpClient(); + + Request request = new Request.Builder() + .url("https://api.confluent.cloud/iam/v2/api-keys/{id}") + .delete(null) + .addHeader("Authorization", "Basic REPLACE_BASIC_AUTH") + .build(); + + Response response = client.newCall(request).execute(); + - lang: Go + source: "package main\n\nimport (\n\t\"fmt\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.confluent.cloud/iam/v2/api-keys/{id}\"\n\n\treq, _ := http.NewRequest(\"DELETE\", url, nil)\n\n\treq.Header.Add(\"Authorization\", \"Basic REPLACE_BASIC_AUTH\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}" + - lang: Python + source: |- + import http.client + + conn = http.client.HTTPSConnection("api.confluent.cloud") + + headers = { 'Authorization': "Basic REPLACE_BASIC_AUTH" } + + conn.request("DELETE", "/iam/v2/api-keys/{id}", headers=headers) + + res = conn.getresponse() + data = res.read() + + print(data.decode("utf-8")) + - lang: Node + source: |- + const http = require("https"); + + const options = { + "method": "DELETE", + "hostname": "api.confluent.cloud", + "port": null, + "path": "/iam/v2/api-keys/{id}", + "headers": { + "Authorization": "Basic REPLACE_BASIC_AUTH" + } + }; + + const req = http.request(options, function (res) { + const chunks = []; + + res.on("data", function (chunk) { + chunks.push(chunk); + }); + + res.on("end", function () { + const body = Buffer.concat(chunks); + console.log(body.toString()); + }); + }); + + req.end(); + - lang: C + source: |- + CURL *hnd = curl_easy_init(); + + curl_easy_setopt(hnd, CURLOPT_CUSTOMREQUEST, "DELETE"); + curl_easy_setopt(hnd, CURLOPT_URL, "https://api.confluent.cloud/iam/v2/api-keys/{id}"); + + struct curl_slist *headers = NULL; + headers = curl_slist_append(headers, "Authorization: Basic REPLACE_BASIC_AUTH"); + curl_easy_setopt(hnd, CURLOPT_HTTPHEADER, headers); + + CURLcode ret = curl_easy_perform(hnd); + - lang: C# + source: |- + var client = new RestClient("https://api.confluent.cloud/iam/v2/api-keys/{id}"); + var request = new RestRequest(Method.DELETE); + request.AddHeader("Authorization", "Basic REPLACE_BASIC_AUTH"); + IRestResponse response = client.Execute(request); + /iam/v2/users: + get: + operationId: listIamV2Users + summary: List of Users + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + Retrieve a sorted, filtered, paginated list of all users. + parameters: + - 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: + - Users (iam/v2) + security: + - cloud-api-key: [] + - confluent-sts-access-token: [] + responses: + '200': + description: User. + content: + application/json: + schema: + allOf: + - $ref: '#/components/schemas/iam.v2.UserList' + 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. + + **Important:** This differs from Github and Twitter's same-named header which uses UTC epoch seconds. We use relative time to avoid client/server time synchronization issues. + '400': + $ref: '#/components/responses/BadRequestError' + '401': + $ref: '#/components/responses/UnauthenticatedError' + '403': + $ref: '#/components/responses/UnauthorizedError' + '429': + $ref: '#/components/responses/RateLimitError' + '500': + $ref: '#/components/responses/DefaultSystemError' + x-codeSamples: + - lang: Shell + source: |- + curl --request GET \ + --url https://api.confluent.cloud/iam/v2/users \ + --header 'Authorization: Basic REPLACE_BASIC_AUTH' + - lang: Java + source: |- + OkHttpClient client = new OkHttpClient(); + + Request request = new Request.Builder() + .url("https://api.confluent.cloud/iam/v2/users") + .get() + .addHeader("Authorization", "Basic REPLACE_BASIC_AUTH") + .build(); + + Response response = client.newCall(request).execute(); + - lang: Go + source: "package main\n\nimport (\n\t\"fmt\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.confluent.cloud/iam/v2/users\"\n\n\treq, _ := http.NewRequest(\"GET\", url, nil)\n\n\treq.Header.Add(\"Authorization\", \"Basic REPLACE_BASIC_AUTH\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}" + - lang: Python + source: |- + import http.client + + conn = http.client.HTTPSConnection("api.confluent.cloud") + + headers = { 'Authorization': "Basic REPLACE_BASIC_AUTH" } + + conn.request("GET", "/iam/v2/users", headers=headers) + + res = conn.getresponse() + data = res.read() + + print(data.decode("utf-8")) + - lang: Node + source: |- + const http = require("https"); + + const options = { + "method": "GET", + "hostname": "api.confluent.cloud", + "port": null, + "path": "/iam/v2/users", + "headers": { + "Authorization": "Basic REPLACE_BASIC_AUTH" + } + }; + + const req = http.request(options, function (res) { + const chunks = []; + + res.on("data", function (chunk) { + chunks.push(chunk); + }); + + res.on("end", function () { + const body = Buffer.concat(chunks); + console.log(body.toString()); + }); + }); + + req.end(); + - lang: C + source: |- + CURL *hnd = curl_easy_init(); + + curl_easy_setopt(hnd, CURLOPT_CUSTOMREQUEST, "GET"); + curl_easy_setopt(hnd, CURLOPT_URL, "https://api.confluent.cloud/iam/v2/users"); + + struct curl_slist *headers = NULL; + headers = curl_slist_append(headers, "Authorization: Basic REPLACE_BASIC_AUTH"); + curl_easy_setopt(hnd, CURLOPT_HTTPHEADER, headers); + + CURLcode ret = curl_easy_perform(hnd); + - lang: C# + source: |- + var client = new RestClient("https://api.confluent.cloud/iam/v2/users"); + var request = new RestRequest(Method.GET); + request.AddHeader("Authorization", "Basic REPLACE_BASIC_AUTH"); + IRestResponse response = client.Execute(request); + '/iam/v2/users/{id}': + get: + operationId: getIamV2User + summary: Read a User + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + Make a request to read a user. + parameters: + - name: id + in: path + required: true + schema: + type: string + description: The unique identifier for the user. + tags: + - Users (iam/v2) + security: + - cloud-api-key: [] + - confluent-sts-access-token: [] + responses: + '200': + description: User. + content: + application/json: + schema: + allOf: + - $ref: '#/components/schemas/iam.v2.User' + - type: object + required: + - api_version + - kind + - id + - email + 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. + + **Important:** This differs from Github and Twitter's same-named header which uses UTC epoch seconds. We use relative time to avoid client/server time synchronization issues. + '400': + $ref: '#/components/responses/BadRequestError' + '401': + $ref: '#/components/responses/UnauthenticatedError' + '403': + $ref: '#/components/responses/UnauthorizedError' + '404': + $ref: '#/components/responses/NotFoundError' + '429': + $ref: '#/components/responses/RateLimitError' + '500': + $ref: '#/components/responses/DefaultSystemError' + x-codeSamples: + - lang: Shell + source: |- + curl --request GET \ + --url 'https://api.confluent.cloud/iam/v2/users/{id}' \ + --header 'Authorization: Basic REPLACE_BASIC_AUTH' + - lang: Java + source: |- + OkHttpClient client = new OkHttpClient(); + + Request request = new Request.Builder() + .url("https://api.confluent.cloud/iam/v2/users/{id}") + .get() + .addHeader("Authorization", "Basic REPLACE_BASIC_AUTH") + .build(); + + Response response = client.newCall(request).execute(); + - lang: Go + source: "package main\n\nimport (\n\t\"fmt\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.confluent.cloud/iam/v2/users/{id}\"\n\n\treq, _ := http.NewRequest(\"GET\", url, nil)\n\n\treq.Header.Add(\"Authorization\", \"Basic REPLACE_BASIC_AUTH\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}" + - lang: Python + source: |- + import http.client + + conn = http.client.HTTPSConnection("api.confluent.cloud") + + headers = { 'Authorization': "Basic REPLACE_BASIC_AUTH" } + + conn.request("GET", "/iam/v2/users/{id}", headers=headers) + + res = conn.getresponse() + data = res.read() + + print(data.decode("utf-8")) + - lang: Node + source: |- + const http = require("https"); + + const options = { + "method": "GET", + "hostname": "api.confluent.cloud", + "port": null, + "path": "/iam/v2/users/{id}", + "headers": { + "Authorization": "Basic REPLACE_BASIC_AUTH" + } + }; + + const req = http.request(options, function (res) { + const chunks = []; + + res.on("data", function (chunk) { + chunks.push(chunk); + }); + + res.on("end", function () { + const body = Buffer.concat(chunks); + console.log(body.toString()); + }); + }); + + req.end(); + - lang: C + source: |- + CURL *hnd = curl_easy_init(); + + curl_easy_setopt(hnd, CURLOPT_CUSTOMREQUEST, "GET"); + curl_easy_setopt(hnd, CURLOPT_URL, "https://api.confluent.cloud/iam/v2/users/{id}"); + + struct curl_slist *headers = NULL; + headers = curl_slist_append(headers, "Authorization: Basic REPLACE_BASIC_AUTH"); + curl_easy_setopt(hnd, CURLOPT_HTTPHEADER, headers); + + CURLcode ret = curl_easy_perform(hnd); + - lang: C# + source: |- + var client = new RestClient("https://api.confluent.cloud/iam/v2/users/{id}"); + var request = new RestRequest(Method.GET); + request.AddHeader("Authorization", "Basic REPLACE_BASIC_AUTH"); + IRestResponse response = client.Execute(request); + patch: + operationId: updateIamV2User + summary: Update a User + description: |+ + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + Make a request to update a user. + + parameters: + - name: id + in: path + required: true + schema: + type: string + description: The unique identifier for the user. + tags: + - Users (iam/v2) + security: + - cloud-api-key: [] + - confluent-sts-access-token: [] + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/iam.v2.UserUpdate' + responses: + '200': + description: User. + content: + application/json: + schema: + allOf: + - $ref: '#/components/schemas/iam.v2.User' + - type: object + required: + - api_version + - kind + - id + - email + 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. + + **Important:** This differs from Github and Twitter's same-named header which uses UTC epoch seconds. We use relative time to avoid client/server time synchronization issues. + '400': + $ref: '#/components/responses/BadRequestError' + '401': + $ref: '#/components/responses/UnauthenticatedError' + '402': + $ref: '#/components/responses/OverQuotaError' + '403': + $ref: '#/components/responses/UnauthorizedError' + '404': + $ref: '#/components/responses/NotFoundError' + '409': + $ref: '#/components/responses/ConflictError' + '422': + $ref: '#/components/responses/ValidationError' + '429': + $ref: '#/components/responses/RateLimitError' + '500': + $ref: '#/components/responses/DefaultSystemError' + x-codeSamples: + - lang: Shell + source: |- + curl --request PATCH \ + --url 'https://api.confluent.cloud/iam/v2/users/{id}' \ + --header 'Authorization: Basic REPLACE_BASIC_AUTH' \ + --header 'content-type: application/json' \ + --data '{"email":"marty.mcfly@example.com","full_name":"Marty McFly"}' + - lang: Java + source: |- + OkHttpClient client = new OkHttpClient(); + + MediaType mediaType = MediaType.parse("application/json"); + RequestBody body = RequestBody.create(mediaType, "{\"email\":\"marty.mcfly@example.com\",\"full_name\":\"Marty McFly\"}"); + Request request = new Request.Builder() + .url("https://api.confluent.cloud/iam/v2/users/{id}") + .patch(body) + .addHeader("content-type", "application/json") + .addHeader("Authorization", "Basic REPLACE_BASIC_AUTH") + .build(); + + Response response = client.newCall(request).execute(); + - lang: Go + source: "package main\n\nimport (\n\t\"fmt\"\n\t\"strings\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.confluent.cloud/iam/v2/users/{id}\"\n\n\tpayload := strings.NewReader(\"{\\\"email\\\":\\\"marty.mcfly@example.com\\\",\\\"full_name\\\":\\\"Marty McFly\\\"}\")\n\n\treq, _ := http.NewRequest(\"PATCH\", url, payload)\n\n\treq.Header.Add(\"content-type\", \"application/json\")\n\treq.Header.Add(\"Authorization\", \"Basic REPLACE_BASIC_AUTH\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}" + - lang: Python + source: |- + import http.client + + conn = http.client.HTTPSConnection("api.confluent.cloud") + + payload = "{\"email\":\"marty.mcfly@example.com\",\"full_name\":\"Marty McFly\"}" + + headers = { + 'content-type': "application/json", + 'Authorization': "Basic REPLACE_BASIC_AUTH" + } + + conn.request("PATCH", "/iam/v2/users/{id}", payload, headers) + + res = conn.getresponse() + data = res.read() + + print(data.decode("utf-8")) + - lang: Node + source: |- + const http = require("https"); + + const options = { + "method": "PATCH", + "hostname": "api.confluent.cloud", + "port": null, + "path": "/iam/v2/users/{id}", + "headers": { + "content-type": "application/json", + "Authorization": "Basic REPLACE_BASIC_AUTH" + } + }; + + const req = http.request(options, function (res) { + const chunks = []; + + res.on("data", function (chunk) { + chunks.push(chunk); + }); + + res.on("end", function () { + const body = Buffer.concat(chunks); + console.log(body.toString()); + }); + }); + + req.write(JSON.stringify({email: 'marty.mcfly@example.com', full_name: 'Marty McFly'})); + req.end(); + - lang: C + source: |- + CURL *hnd = curl_easy_init(); + + curl_easy_setopt(hnd, CURLOPT_CUSTOMREQUEST, "PATCH"); + curl_easy_setopt(hnd, CURLOPT_URL, "https://api.confluent.cloud/iam/v2/users/{id}"); + + struct curl_slist *headers = NULL; + headers = curl_slist_append(headers, "content-type: application/json"); + headers = curl_slist_append(headers, "Authorization: Basic REPLACE_BASIC_AUTH"); + curl_easy_setopt(hnd, CURLOPT_HTTPHEADER, headers); + + curl_easy_setopt(hnd, CURLOPT_POSTFIELDS, "{\"email\":\"marty.mcfly@example.com\",\"full_name\":\"Marty McFly\"}"); + + CURLcode ret = curl_easy_perform(hnd); + - lang: C# + source: |- + var client = new RestClient("https://api.confluent.cloud/iam/v2/users/{id}"); + var request = new RestRequest(Method.PATCH); + request.AddHeader("content-type", "application/json"); + request.AddHeader("Authorization", "Basic REPLACE_BASIC_AUTH"); + request.AddParameter("application/json", "{\"email\":\"marty.mcfly@example.com\",\"full_name\":\"Marty McFly\"}", ParameterType.RequestBody); + IRestResponse response = client.Execute(request); + delete: + operationId: deleteIamV2User + summary: Delete a User + description: | + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + Make a request to delete a user. + + If successful, this request will also recursively delete all of the user's associated resources, + including its cloud and cluster API keys. + parameters: + - name: id + in: path + required: true + schema: + type: string + description: The unique identifier for the user. + tags: + - Users (iam/v2) + security: + - cloud-api-key: [] + - confluent-sts-access-token: [] + responses: + '204': + description: A User is being deleted. + headers: + X-Request-Id: + schema: + type: string + description: The unique identifier for the API request. + X-RateLimit-Limit: + schema: + type: integer + description: The maximum number of requests you're permitted to make per time period. + X-RateLimit-Remaining: + schema: + type: integer + description: The number of requests remaining in the current rate limit window. + X-RateLimit-Reset: + schema: + type: integer + description: |- + The relative time in seconds until the current rate-limit window resets. + + **Important:** This differs from Github and Twitter's same-named header which uses UTC epoch seconds. We use relative time to avoid client/server time synchronization issues. + '400': + $ref: '#/components/responses/BadRequestError' + '401': + $ref: '#/components/responses/UnauthenticatedError' + '403': + $ref: '#/components/responses/UnauthorizedError' + '404': + $ref: '#/components/responses/NotFoundError' + '429': + $ref: '#/components/responses/RateLimitError' + '500': + $ref: '#/components/responses/DefaultSystemError' + x-codeSamples: + - lang: Shell + source: |- + curl --request DELETE \ + --url 'https://api.confluent.cloud/iam/v2/users/{id}' \ + --header 'Authorization: Basic REPLACE_BASIC_AUTH' + - lang: Java + source: |- + OkHttpClient client = new OkHttpClient(); + + Request request = new Request.Builder() + .url("https://api.confluent.cloud/iam/v2/users/{id}") + .delete(null) + .addHeader("Authorization", "Basic REPLACE_BASIC_AUTH") + .build(); + + Response response = client.newCall(request).execute(); + - lang: Go + source: "package main\n\nimport (\n\t\"fmt\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.confluent.cloud/iam/v2/users/{id}\"\n\n\treq, _ := http.NewRequest(\"DELETE\", url, nil)\n\n\treq.Header.Add(\"Authorization\", \"Basic REPLACE_BASIC_AUTH\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}" + - lang: Python + source: |- + import http.client + + conn = http.client.HTTPSConnection("api.confluent.cloud") + + headers = { 'Authorization': "Basic REPLACE_BASIC_AUTH" } + + conn.request("DELETE", "/iam/v2/users/{id}", headers=headers) + + res = conn.getresponse() + data = res.read() + + print(data.decode("utf-8")) + - lang: Node + source: |- + const http = require("https"); + + const options = { + "method": "DELETE", + "hostname": "api.confluent.cloud", + "port": null, + "path": "/iam/v2/users/{id}", + "headers": { + "Authorization": "Basic REPLACE_BASIC_AUTH" + } + }; + + const req = http.request(options, function (res) { + const chunks = []; + + res.on("data", function (chunk) { + chunks.push(chunk); + }); + + res.on("end", function () { + const body = Buffer.concat(chunks); + console.log(body.toString()); + }); + }); + + req.end(); + - lang: C + source: |- + CURL *hnd = curl_easy_init(); + + curl_easy_setopt(hnd, CURLOPT_CUSTOMREQUEST, "DELETE"); + curl_easy_setopt(hnd, CURLOPT_URL, "https://api.confluent.cloud/iam/v2/users/{id}"); + + struct curl_slist *headers = NULL; + headers = curl_slist_append(headers, "Authorization: Basic REPLACE_BASIC_AUTH"); + curl_easy_setopt(hnd, CURLOPT_HTTPHEADER, headers); + + CURLcode ret = curl_easy_perform(hnd); + - lang: C# + source: |- + var client = new RestClient("https://api.confluent.cloud/iam/v2/users/{id}"); + var request = new RestRequest(Method.DELETE); + request.AddHeader("Authorization", "Basic REPLACE_BASIC_AUTH"); + IRestResponse response = client.Execute(request); + /iam/v2/service-accounts: + get: + operationId: listIamV2ServiceAccounts + summary: List of Service Accounts + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + Retrieve a sorted, filtered, paginated list of all service accounts. + parameters: + - 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: + - Service Accounts (iam/v2) + security: + - cloud-api-key: [] + - confluent-sts-access-token: [] + responses: + '200': + description: Service Account. + content: + application/json: + schema: + allOf: + - $ref: '#/components/schemas/iam.v2.ServiceAccountList' + 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. + + **Important:** This differs from Github and Twitter's same-named header which uses UTC epoch seconds. We use relative time to avoid client/server time synchronization issues. + '400': + $ref: '#/components/responses/BadRequestError' + '401': + $ref: '#/components/responses/UnauthenticatedError' + '403': + $ref: '#/components/responses/UnauthorizedError' + '429': + $ref: '#/components/responses/RateLimitError' + '500': + $ref: '#/components/responses/DefaultSystemError' + x-codeSamples: + - lang: Shell + source: |- + curl --request GET \ + --url https://api.confluent.cloud/iam/v2/service-accounts \ + --header 'Authorization: Basic REPLACE_BASIC_AUTH' + - lang: Java + source: |- + OkHttpClient client = new OkHttpClient(); + + Request request = new Request.Builder() + .url("https://api.confluent.cloud/iam/v2/service-accounts") + .get() + .addHeader("Authorization", "Basic REPLACE_BASIC_AUTH") + .build(); + + Response response = client.newCall(request).execute(); + - lang: Go + source: "package main\n\nimport (\n\t\"fmt\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.confluent.cloud/iam/v2/service-accounts\"\n\n\treq, _ := http.NewRequest(\"GET\", url, nil)\n\n\treq.Header.Add(\"Authorization\", \"Basic REPLACE_BASIC_AUTH\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}" + - lang: Python + source: |- + import http.client + + conn = http.client.HTTPSConnection("api.confluent.cloud") + + headers = { 'Authorization': "Basic REPLACE_BASIC_AUTH" } + + conn.request("GET", "/iam/v2/service-accounts", headers=headers) + + res = conn.getresponse() + data = res.read() + + print(data.decode("utf-8")) + - lang: Node + source: |- + const http = require("https"); + + const options = { + "method": "GET", + "hostname": "api.confluent.cloud", + "port": null, + "path": "/iam/v2/service-accounts", + "headers": { + "Authorization": "Basic REPLACE_BASIC_AUTH" + } + }; + + const req = http.request(options, function (res) { + const chunks = []; + + res.on("data", function (chunk) { + chunks.push(chunk); + }); + + res.on("end", function () { + const body = Buffer.concat(chunks); + console.log(body.toString()); + }); + }); + + req.end(); + - lang: C + source: |- + CURL *hnd = curl_easy_init(); + + curl_easy_setopt(hnd, CURLOPT_CUSTOMREQUEST, "GET"); + curl_easy_setopt(hnd, CURLOPT_URL, "https://api.confluent.cloud/iam/v2/service-accounts"); + + struct curl_slist *headers = NULL; + headers = curl_slist_append(headers, "Authorization: Basic REPLACE_BASIC_AUTH"); + curl_easy_setopt(hnd, CURLOPT_HTTPHEADER, headers); + + CURLcode ret = curl_easy_perform(hnd); + - lang: C# + source: |- + var client = new RestClient("https://api.confluent.cloud/iam/v2/service-accounts"); + var request = new RestRequest(Method.GET); + request.AddHeader("Authorization", "Basic REPLACE_BASIC_AUTH"); + IRestResponse response = client.Execute(request); + post: + operationId: createIamV2ServiceAccount + summary: Create a Service Account + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + Make a request to create a service account. + tags: + - Service Accounts (iam/v2) + security: + - cloud-api-key: [] + - confluent-sts-access-token: [] + requestBody: + content: + application/json: + schema: + allOf: + - $ref: '#/components/schemas/iam.v2.ServiceAccount' + - type: object + required: + - display_name + responses: + '201': + description: A Service Account was created. + headers: + X-Request-Id: + schema: + type: string + description: The unique identifier for the API request. + X-RateLimit-Limit: + schema: + type: integer + description: The maximum number of requests you're permitted to make per time period. + X-RateLimit-Remaining: + schema: + type: integer + description: The number of requests remaining in the current rate limit window. + X-RateLimit-Reset: + schema: + type: integer + description: |- + The relative time in seconds until the current rate-limit window resets. + + **Important:** This differs from Github and Twitter's same-named header which uses UTC epoch seconds. We use relative time to avoid client/server time synchronization issues. + Location: + schema: + type: string + format: uri + example: 'https://api.confluent.cloud/iam/v2/service-accounts/{id}' + description: ServiceAccount resource uri + content: + application/json: + schema: + allOf: + - $ref: '#/components/schemas/iam.v2.ServiceAccount' + - type: object + required: + - display_name + '400': + $ref: '#/components/responses/BadRequestError' + '401': + $ref: '#/components/responses/UnauthenticatedError' + '402': + $ref: '#/components/responses/OverQuotaError' + '403': + $ref: '#/components/responses/UnauthorizedError' + '409': + $ref: '#/components/responses/ConflictError' + '422': + $ref: '#/components/responses/ValidationError' + '429': + $ref: '#/components/responses/RateLimitError' + '500': + $ref: '#/components/responses/DefaultSystemError' + x-codeSamples: + - lang: Shell + source: |- + curl --request POST \ + --url https://api.confluent.cloud/iam/v2/service-accounts \ + --header 'Authorization: Basic REPLACE_BASIC_AUTH' \ + --header 'content-type: application/json' \ + --data '{"display_name":"DeLorean_auto_repair","description":"Doc'\''s repair bot for the DeLorean"}' + - lang: Java + source: |- + OkHttpClient client = new OkHttpClient(); + + MediaType mediaType = MediaType.parse("application/json"); + RequestBody body = RequestBody.create(mediaType, "{\"display_name\":\"DeLorean_auto_repair\",\"description\":\"Doc's repair bot for the DeLorean\"}"); + Request request = new Request.Builder() + .url("https://api.confluent.cloud/iam/v2/service-accounts") + .post(body) + .addHeader("content-type", "application/json") + .addHeader("Authorization", "Basic REPLACE_BASIC_AUTH") + .build(); + + Response response = client.newCall(request).execute(); + - lang: Go + source: "package main\n\nimport (\n\t\"fmt\"\n\t\"strings\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.confluent.cloud/iam/v2/service-accounts\"\n\n\tpayload := strings.NewReader(\"{\\\"display_name\\\":\\\"DeLorean_auto_repair\\\",\\\"description\\\":\\\"Doc's repair bot for the DeLorean\\\"}\")\n\n\treq, _ := http.NewRequest(\"POST\", url, payload)\n\n\treq.Header.Add(\"content-type\", \"application/json\")\n\treq.Header.Add(\"Authorization\", \"Basic REPLACE_BASIC_AUTH\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}" + - lang: Python + source: |- + import http.client + + conn = http.client.HTTPSConnection("api.confluent.cloud") + + payload = "{\"display_name\":\"DeLorean_auto_repair\",\"description\":\"Doc's repair bot for the DeLorean\"}" + + headers = { + 'content-type': "application/json", + 'Authorization': "Basic REPLACE_BASIC_AUTH" + } + + conn.request("POST", "/iam/v2/service-accounts", payload, headers) + + res = conn.getresponse() + data = res.read() + + print(data.decode("utf-8")) + - lang: Node + source: |- + const http = require("https"); + + const options = { + "method": "POST", + "hostname": "api.confluent.cloud", + "port": null, + "path": "/iam/v2/service-accounts", + "headers": { + "content-type": "application/json", + "Authorization": "Basic REPLACE_BASIC_AUTH" + } + }; + + const req = http.request(options, function (res) { + const chunks = []; + + res.on("data", function (chunk) { + chunks.push(chunk); + }); + + res.on("end", function () { + const body = Buffer.concat(chunks); + console.log(body.toString()); + }); + }); + + req.write(JSON.stringify({ + display_name: 'DeLorean_auto_repair', + description: 'Doc\'s repair bot for the DeLorean' + })); + req.end(); + - lang: C + source: |- + CURL *hnd = curl_easy_init(); + + curl_easy_setopt(hnd, CURLOPT_CUSTOMREQUEST, "POST"); + curl_easy_setopt(hnd, CURLOPT_URL, "https://api.confluent.cloud/iam/v2/service-accounts"); + + struct curl_slist *headers = NULL; + headers = curl_slist_append(headers, "content-type: application/json"); + headers = curl_slist_append(headers, "Authorization: Basic REPLACE_BASIC_AUTH"); + curl_easy_setopt(hnd, CURLOPT_HTTPHEADER, headers); + + curl_easy_setopt(hnd, CURLOPT_POSTFIELDS, "{\"display_name\":\"DeLorean_auto_repair\",\"description\":\"Doc's repair bot for the DeLorean\"}"); + + CURLcode ret = curl_easy_perform(hnd); + - lang: C# + source: |- + var client = new RestClient("https://api.confluent.cloud/iam/v2/service-accounts"); + var request = new RestRequest(Method.POST); + request.AddHeader("content-type", "application/json"); + request.AddHeader("Authorization", "Basic REPLACE_BASIC_AUTH"); + request.AddParameter("application/json", "{\"display_name\":\"DeLorean_auto_repair\",\"description\":\"Doc's repair bot for the DeLorean\"}", ParameterType.RequestBody); + IRestResponse response = client.Execute(request); + '/iam/v2/service-accounts/{id}': + get: + operationId: getIamV2ServiceAccount + summary: Read a Service Account + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + Make a request to read a service account. + parameters: + - name: id + in: path + required: true + schema: + type: string + description: The unique identifier for the service account. + tags: + - Service Accounts (iam/v2) + security: + - cloud-api-key: [] + - confluent-sts-access-token: [] + responses: + '200': + description: Service Account. + content: + application/json: + schema: + allOf: + - $ref: '#/components/schemas/iam.v2.ServiceAccount' + - type: object + required: + - api_version + - kind + - id + - display_name + 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. + + **Important:** This differs from Github and Twitter's same-named header which uses UTC epoch seconds. We use relative time to avoid client/server time synchronization issues. + '400': + $ref: '#/components/responses/BadRequestError' + '401': + $ref: '#/components/responses/UnauthenticatedError' + '403': + $ref: '#/components/responses/UnauthorizedError' + '404': + $ref: '#/components/responses/NotFoundError' + '429': + $ref: '#/components/responses/RateLimitError' + '500': + $ref: '#/components/responses/DefaultSystemError' + x-codeSamples: + - lang: Shell + source: |- + curl --request GET \ + --url 'https://api.confluent.cloud/iam/v2/service-accounts/{id}' \ + --header 'Authorization: Basic REPLACE_BASIC_AUTH' + - lang: Java + source: |- + OkHttpClient client = new OkHttpClient(); + + Request request = new Request.Builder() + .url("https://api.confluent.cloud/iam/v2/service-accounts/{id}") + .get() + .addHeader("Authorization", "Basic REPLACE_BASIC_AUTH") + .build(); + + Response response = client.newCall(request).execute(); + - lang: Go + source: "package main\n\nimport (\n\t\"fmt\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.confluent.cloud/iam/v2/service-accounts/{id}\"\n\n\treq, _ := http.NewRequest(\"GET\", url, nil)\n\n\treq.Header.Add(\"Authorization\", \"Basic REPLACE_BASIC_AUTH\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}" + - lang: Python + source: |- + import http.client + + conn = http.client.HTTPSConnection("api.confluent.cloud") + + headers = { 'Authorization': "Basic REPLACE_BASIC_AUTH" } + + conn.request("GET", "/iam/v2/service-accounts/{id}", headers=headers) + + res = conn.getresponse() + data = res.read() + + print(data.decode("utf-8")) + - lang: Node + source: |- + const http = require("https"); + + const options = { + "method": "GET", + "hostname": "api.confluent.cloud", + "port": null, + "path": "/iam/v2/service-accounts/{id}", + "headers": { + "Authorization": "Basic REPLACE_BASIC_AUTH" + } + }; + + const req = http.request(options, function (res) { + const chunks = []; + + res.on("data", function (chunk) { + chunks.push(chunk); + }); + + res.on("end", function () { + const body = Buffer.concat(chunks); + console.log(body.toString()); + }); + }); + + req.end(); + - lang: C + source: |- + CURL *hnd = curl_easy_init(); + + curl_easy_setopt(hnd, CURLOPT_CUSTOMREQUEST, "GET"); + curl_easy_setopt(hnd, CURLOPT_URL, "https://api.confluent.cloud/iam/v2/service-accounts/{id}"); + + struct curl_slist *headers = NULL; + headers = curl_slist_append(headers, "Authorization: Basic REPLACE_BASIC_AUTH"); + curl_easy_setopt(hnd, CURLOPT_HTTPHEADER, headers); + + CURLcode ret = curl_easy_perform(hnd); + - lang: C# + source: |- + var client = new RestClient("https://api.confluent.cloud/iam/v2/service-accounts/{id}"); + var request = new RestRequest(Method.GET); + request.AddHeader("Authorization", "Basic REPLACE_BASIC_AUTH"); + IRestResponse response = client.Execute(request); + patch: + operationId: updateIamV2ServiceAccount + summary: Update a Service Account + description: |+ + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + Make a request to update a service account. + + parameters: + - name: id + in: path + required: true + schema: + type: string + description: The unique identifier for the service account. + tags: + - Service Accounts (iam/v2) + security: + - cloud-api-key: [] + - confluent-sts-access-token: [] + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/iam.v2.ServiceAccountUpdate' + responses: + '200': + description: Service Account. + content: + application/json: + schema: + allOf: + - $ref: '#/components/schemas/iam.v2.ServiceAccount' + - type: object + required: + - api_version + - kind + - id + - display_name + 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. + + **Important:** This differs from Github and Twitter's same-named header which uses UTC epoch seconds. We use relative time to avoid client/server time synchronization issues. + '400': + $ref: '#/components/responses/BadRequestError' + '401': + $ref: '#/components/responses/UnauthenticatedError' + '402': + $ref: '#/components/responses/OverQuotaError' + '403': + $ref: '#/components/responses/UnauthorizedError' + '404': + $ref: '#/components/responses/NotFoundError' + '409': + $ref: '#/components/responses/ConflictError' + '422': + $ref: '#/components/responses/ValidationError' + '429': + $ref: '#/components/responses/RateLimitError' + '500': + $ref: '#/components/responses/DefaultSystemError' + x-codeSamples: + - lang: Shell + source: |- + curl --request PATCH \ + --url 'https://api.confluent.cloud/iam/v2/service-accounts/{id}' \ + --header 'Authorization: Basic REPLACE_BASIC_AUTH' \ + --header 'content-type: application/json' \ + --data '{"display_name":"DeLorean_auto_repair","description":"Doc'\''s repair bot for the DeLorean"}' + - lang: Java + source: |- + OkHttpClient client = new OkHttpClient(); + + MediaType mediaType = MediaType.parse("application/json"); + RequestBody body = RequestBody.create(mediaType, "{\"display_name\":\"DeLorean_auto_repair\",\"description\":\"Doc's repair bot for the DeLorean\"}"); + Request request = new Request.Builder() + .url("https://api.confluent.cloud/iam/v2/service-accounts/{id}") + .patch(body) + .addHeader("content-type", "application/json") + .addHeader("Authorization", "Basic REPLACE_BASIC_AUTH") + .build(); + + Response response = client.newCall(request).execute(); + - lang: Go + source: "package main\n\nimport (\n\t\"fmt\"\n\t\"strings\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.confluent.cloud/iam/v2/service-accounts/{id}\"\n\n\tpayload := strings.NewReader(\"{\\\"display_name\\\":\\\"DeLorean_auto_repair\\\",\\\"description\\\":\\\"Doc's repair bot for the DeLorean\\\"}\")\n\n\treq, _ := http.NewRequest(\"PATCH\", url, payload)\n\n\treq.Header.Add(\"content-type\", \"application/json\")\n\treq.Header.Add(\"Authorization\", \"Basic REPLACE_BASIC_AUTH\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}" + - lang: Python + source: |- + import http.client + + conn = http.client.HTTPSConnection("api.confluent.cloud") + + payload = "{\"display_name\":\"DeLorean_auto_repair\",\"description\":\"Doc's repair bot for the DeLorean\"}" + + headers = { + 'content-type': "application/json", + 'Authorization': "Basic REPLACE_BASIC_AUTH" + } + + conn.request("PATCH", "/iam/v2/service-accounts/{id}", payload, headers) + + res = conn.getresponse() + data = res.read() + + print(data.decode("utf-8")) + - lang: Node + source: |- + const http = require("https"); + + const options = { + "method": "PATCH", + "hostname": "api.confluent.cloud", + "port": null, + "path": "/iam/v2/service-accounts/{id}", + "headers": { + "content-type": "application/json", + "Authorization": "Basic REPLACE_BASIC_AUTH" + } + }; + + const req = http.request(options, function (res) { + const chunks = []; + + res.on("data", function (chunk) { + chunks.push(chunk); + }); + + res.on("end", function () { + const body = Buffer.concat(chunks); + console.log(body.toString()); + }); + }); + + req.write(JSON.stringify({ + display_name: 'DeLorean_auto_repair', + description: 'Doc\'s repair bot for the DeLorean' + })); + req.end(); + - lang: C + source: |- + CURL *hnd = curl_easy_init(); + + curl_easy_setopt(hnd, CURLOPT_CUSTOMREQUEST, "PATCH"); + curl_easy_setopt(hnd, CURLOPT_URL, "https://api.confluent.cloud/iam/v2/service-accounts/{id}"); + + struct curl_slist *headers = NULL; + headers = curl_slist_append(headers, "content-type: application/json"); + headers = curl_slist_append(headers, "Authorization: Basic REPLACE_BASIC_AUTH"); + curl_easy_setopt(hnd, CURLOPT_HTTPHEADER, headers); + + curl_easy_setopt(hnd, CURLOPT_POSTFIELDS, "{\"display_name\":\"DeLorean_auto_repair\",\"description\":\"Doc's repair bot for the DeLorean\"}"); + + CURLcode ret = curl_easy_perform(hnd); + - lang: C# + source: |- + var client = new RestClient("https://api.confluent.cloud/iam/v2/service-accounts/{id}"); + var request = new RestRequest(Method.PATCH); + request.AddHeader("content-type", "application/json"); + request.AddHeader("Authorization", "Basic REPLACE_BASIC_AUTH"); + request.AddParameter("application/json", "{\"display_name\":\"DeLorean_auto_repair\",\"description\":\"Doc's repair bot for the DeLorean\"}", ParameterType.RequestBody); + IRestResponse response = client.Execute(request); + delete: + operationId: deleteIamV2ServiceAccount + summary: Delete a Service Account + description: | + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + Make a request to delete a service account. + + If successful, this request will also recursively delete all of the service account's associated resources, + including its cloud and cluster API keys. + parameters: + - name: id + in: path + required: true + schema: + type: string + description: The unique identifier for the service account. + tags: + - Service Accounts (iam/v2) + security: + - cloud-api-key: [] + - confluent-sts-access-token: [] + responses: + '204': + description: A Service Account is being deleted. + headers: + X-Request-Id: + schema: + type: string + description: The unique identifier for the API request. + X-RateLimit-Limit: + schema: + type: integer + description: The maximum number of requests you're permitted to make per time period. + X-RateLimit-Remaining: + schema: + type: integer + description: The number of requests remaining in the current rate limit window. + X-RateLimit-Reset: + schema: + type: integer + description: |- + The relative time in seconds until the current rate-limit window resets. + + **Important:** This differs from Github and Twitter's same-named header which uses UTC epoch seconds. We use relative time to avoid client/server time synchronization issues. + '400': + $ref: '#/components/responses/BadRequestError' + '401': + $ref: '#/components/responses/UnauthenticatedError' + '403': + $ref: '#/components/responses/UnauthorizedError' + '404': + $ref: '#/components/responses/NotFoundError' + '429': + $ref: '#/components/responses/RateLimitError' + '500': + $ref: '#/components/responses/DefaultSystemError' + x-codeSamples: + - lang: Shell + source: |- + curl --request DELETE \ + --url 'https://api.confluent.cloud/iam/v2/service-accounts/{id}' \ + --header 'Authorization: Basic REPLACE_BASIC_AUTH' + - lang: Java + source: |- + OkHttpClient client = new OkHttpClient(); + + Request request = new Request.Builder() + .url("https://api.confluent.cloud/iam/v2/service-accounts/{id}") + .delete(null) + .addHeader("Authorization", "Basic REPLACE_BASIC_AUTH") + .build(); + + Response response = client.newCall(request).execute(); + - lang: Go + source: "package main\n\nimport (\n\t\"fmt\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.confluent.cloud/iam/v2/service-accounts/{id}\"\n\n\treq, _ := http.NewRequest(\"DELETE\", url, nil)\n\n\treq.Header.Add(\"Authorization\", \"Basic REPLACE_BASIC_AUTH\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}" + - lang: Python + source: |- + import http.client + + conn = http.client.HTTPSConnection("api.confluent.cloud") + + headers = { 'Authorization': "Basic REPLACE_BASIC_AUTH" } + + conn.request("DELETE", "/iam/v2/service-accounts/{id}", headers=headers) + + res = conn.getresponse() + data = res.read() + + print(data.decode("utf-8")) + - lang: Node + source: |- + const http = require("https"); + + const options = { + "method": "DELETE", + "hostname": "api.confluent.cloud", + "port": null, + "path": "/iam/v2/service-accounts/{id}", + "headers": { + "Authorization": "Basic REPLACE_BASIC_AUTH" + } + }; + + const req = http.request(options, function (res) { + const chunks = []; + + res.on("data", function (chunk) { + chunks.push(chunk); + }); + + res.on("end", function () { + const body = Buffer.concat(chunks); + console.log(body.toString()); + }); + }); + + req.end(); + - lang: C + source: |- + CURL *hnd = curl_easy_init(); + + curl_easy_setopt(hnd, CURLOPT_CUSTOMREQUEST, "DELETE"); + curl_easy_setopt(hnd, CURLOPT_URL, "https://api.confluent.cloud/iam/v2/service-accounts/{id}"); + + struct curl_slist *headers = NULL; + headers = curl_slist_append(headers, "Authorization: Basic REPLACE_BASIC_AUTH"); + curl_easy_setopt(hnd, CURLOPT_HTTPHEADER, headers); + + CURLcode ret = curl_easy_perform(hnd); + - lang: C# + source: |- + var client = new RestClient("https://api.confluent.cloud/iam/v2/service-accounts/{id}"); + var request = new RestRequest(Method.DELETE); + request.AddHeader("Authorization", "Basic REPLACE_BASIC_AUTH"); + IRestResponse response = client.Execute(request); + /iam/v2/invitations: + get: + operationId: listIamV2Invitations + summary: List of Invitations + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + Retrieve a sorted, filtered, paginated list of all invitations. + parameters: + - name: email + in: query + required: false + schema: + $ref: '#/components/schemas/SearchFilter' + example: johndoe@confluent.io + description: Filter the results by exact match for email. + - name: status + in: query + required: false + schema: + $ref: '#/components/schemas/SearchFilter' + example: INVITE_STATUS_SENT + description: Filter the results by exact match for status. + - name: user + in: query + required: false + schema: + $ref: '#/components/schemas/SearchFilter' + example: u-j93dy8 + description: Filter the results by exact match for user. + - name: creator + in: query + required: false + schema: + $ref: '#/components/schemas/SearchFilter' + example: u-m2r9o7 + description: Filter the results by exact match for creator. + - 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: + - Invitations (iam/v2) + security: + - cloud-api-key: [] + - confluent-sts-access-token: [] + responses: + '200': + description: Invitation. + content: + application/json: + schema: + allOf: + - $ref: '#/components/schemas/iam.v2.InvitationList' + 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. + + **Important:** This differs from Github and Twitter's same-named header which uses UTC epoch seconds. We use relative time to avoid client/server time synchronization issues. + '400': + $ref: '#/components/responses/BadRequestError' + '401': + $ref: '#/components/responses/UnauthenticatedError' + '403': + $ref: '#/components/responses/UnauthorizedError' + '429': + $ref: '#/components/responses/RateLimitError' + '500': + $ref: '#/components/responses/DefaultSystemError' + x-codeSamples: + - lang: Shell + source: |- + curl --request GET \ + --url 'https://api.confluent.cloud/iam/v2/invitations?email=johndoe@confluent.io&status=INVITE_STATUS_SENT&user=u-j93dy8&creator=u-m2r9o7' \ + --header 'Authorization: Basic REPLACE_BASIC_AUTH' + - lang: Java + source: |- + OkHttpClient client = new OkHttpClient(); + + Request request = new Request.Builder() + .url("https://api.confluent.cloud/iam/v2/invitations?email=johndoe@confluent.io&status=INVITE_STATUS_SENT&user=u-j93dy8&creator=u-m2r9o7") + .get() + .addHeader("Authorization", "Basic REPLACE_BASIC_AUTH") + .build(); + + Response response = client.newCall(request).execute(); + - lang: Go + source: "package main\n\nimport (\n\t\"fmt\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.confluent.cloud/iam/v2/invitations?email=johndoe@confluent.io&status=INVITE_STATUS_SENT&user=u-j93dy8&creator=u-m2r9o7\"\n\n\treq, _ := http.NewRequest(\"GET\", url, nil)\n\n\treq.Header.Add(\"Authorization\", \"Basic REPLACE_BASIC_AUTH\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}" + - lang: Python + source: |- + import http.client + + conn = http.client.HTTPSConnection("api.confluent.cloud") + + headers = { 'Authorization': "Basic REPLACE_BASIC_AUTH" } + + conn.request("GET", "/iam/v2/invitations?email=johndoe@confluent.io&status=INVITE_STATUS_SENT&user=u-j93dy8&creator=u-m2r9o7", headers=headers) + + res = conn.getresponse() + data = res.read() + + print(data.decode("utf-8")) + - lang: Node + source: |- + const http = require("https"); + + const options = { + "method": "GET", + "hostname": "api.confluent.cloud", + "port": null, + "path": "/iam/v2/invitations?email=johndoe@confluent.io&status=INVITE_STATUS_SENT&user=u-j93dy8&creator=u-m2r9o7", + "headers": { + "Authorization": "Basic REPLACE_BASIC_AUTH" + } + }; + + const req = http.request(options, function (res) { + const chunks = []; + + res.on("data", function (chunk) { + chunks.push(chunk); + }); + + res.on("end", function () { + const body = Buffer.concat(chunks); + console.log(body.toString()); + }); + }); + + req.end(); + - lang: C + source: |- + CURL *hnd = curl_easy_init(); + + curl_easy_setopt(hnd, CURLOPT_CUSTOMREQUEST, "GET"); + curl_easy_setopt(hnd, CURLOPT_URL, "https://api.confluent.cloud/iam/v2/invitations?email=johndoe@confluent.io&status=INVITE_STATUS_SENT&user=u-j93dy8&creator=u-m2r9o7"); + + struct curl_slist *headers = NULL; + headers = curl_slist_append(headers, "Authorization: Basic REPLACE_BASIC_AUTH"); + curl_easy_setopt(hnd, CURLOPT_HTTPHEADER, headers); + + CURLcode ret = curl_easy_perform(hnd); + - lang: C# + source: |- + var client = new RestClient("https://api.confluent.cloud/iam/v2/invitations?email=johndoe@confluent.io&status=INVITE_STATUS_SENT&user=u-j93dy8&creator=u-m2r9o7"); + var request = new RestRequest(Method.GET); + request.AddHeader("Authorization", "Basic REPLACE_BASIC_AUTH"); + IRestResponse response = client.Execute(request); + post: + operationId: createIamV2Invitation + summary: Create an Invitation + description: | + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + Make a request to create an invitation. + + The newly invited user will not have any permissions. Give the user permission by assigning them to one or + more roles by creating + [role bindings](https://docs.confluent.io/cloud/current/api.html#tag/Role-Bindings-(iamv2)) + for the created `user`. + tags: + - Invitations (iam/v2) + security: + - cloud-api-key: [] + - confluent-sts-access-token: [] + requestBody: + content: + application/json: + schema: + allOf: + - $ref: '#/components/schemas/iam.v2.Invitation' + - type: object + required: + - email + responses: + '201': + description: An Invitation was created. + headers: + X-Request-Id: + schema: + type: string + description: The unique identifier for the API request. + X-RateLimit-Limit: + schema: + type: integer + description: The maximum number of requests you're permitted to make per time period. + X-RateLimit-Remaining: + schema: + type: integer + description: The number of requests remaining in the current rate limit window. + X-RateLimit-Reset: + schema: + type: integer + description: |- + The relative time in seconds until the current rate-limit window resets. + + **Important:** This differs from Github and Twitter's same-named header which uses UTC epoch seconds. We use relative time to avoid client/server time synchronization issues. + Location: + schema: + type: string + format: uri + example: 'https://api.confluent.cloud/iam/v2/invitations/{id}' + description: Invitation resource uri + content: + application/json: + schema: + allOf: + - $ref: '#/components/schemas/iam.v2.Invitation' + - type: object + required: + - email + '400': + $ref: '#/components/responses/BadRequestError' + '401': + $ref: '#/components/responses/UnauthenticatedError' + '402': + $ref: '#/components/responses/OverQuotaError' + '403': + $ref: '#/components/responses/UnauthorizedError' + '409': + $ref: '#/components/responses/ConflictError' + '422': + $ref: '#/components/responses/ValidationError' + '429': + $ref: '#/components/responses/RateLimitError' + '500': + $ref: '#/components/responses/DefaultSystemError' + x-codeSamples: + - lang: Shell + source: |- + curl --request POST \ + --url https://api.confluent.cloud/iam/v2/invitations \ + --header 'Authorization: Basic REPLACE_BASIC_AUTH' \ + --header 'content-type: application/json' \ + --data '{"email":"johndoe@confluent.io","auth_type":"AUTH_TYPE_SSO"}' + - lang: Java + source: |- + OkHttpClient client = new OkHttpClient(); + + MediaType mediaType = MediaType.parse("application/json"); + RequestBody body = RequestBody.create(mediaType, "{\"email\":\"johndoe@confluent.io\",\"auth_type\":\"AUTH_TYPE_SSO\"}"); + Request request = new Request.Builder() + .url("https://api.confluent.cloud/iam/v2/invitations") + .post(body) + .addHeader("content-type", "application/json") + .addHeader("Authorization", "Basic REPLACE_BASIC_AUTH") + .build(); + + Response response = client.newCall(request).execute(); + - lang: Go + source: "package main\n\nimport (\n\t\"fmt\"\n\t\"strings\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.confluent.cloud/iam/v2/invitations\"\n\n\tpayload := strings.NewReader(\"{\\\"email\\\":\\\"johndoe@confluent.io\\\",\\\"auth_type\\\":\\\"AUTH_TYPE_SSO\\\"}\")\n\n\treq, _ := http.NewRequest(\"POST\", url, payload)\n\n\treq.Header.Add(\"content-type\", \"application/json\")\n\treq.Header.Add(\"Authorization\", \"Basic REPLACE_BASIC_AUTH\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}" + - lang: Python + source: |- + import http.client + + conn = http.client.HTTPSConnection("api.confluent.cloud") + + payload = "{\"email\":\"johndoe@confluent.io\",\"auth_type\":\"AUTH_TYPE_SSO\"}" + + headers = { + 'content-type': "application/json", + 'Authorization': "Basic REPLACE_BASIC_AUTH" + } + + conn.request("POST", "/iam/v2/invitations", payload, headers) + + res = conn.getresponse() + data = res.read() + + print(data.decode("utf-8")) + - lang: Node + source: |- + const http = require("https"); + + const options = { + "method": "POST", + "hostname": "api.confluent.cloud", + "port": null, + "path": "/iam/v2/invitations", + "headers": { + "content-type": "application/json", + "Authorization": "Basic REPLACE_BASIC_AUTH" + } + }; + + const req = http.request(options, function (res) { + const chunks = []; + + res.on("data", function (chunk) { + chunks.push(chunk); + }); + + res.on("end", function () { + const body = Buffer.concat(chunks); + console.log(body.toString()); + }); + }); + + req.write(JSON.stringify({email: 'johndoe@confluent.io', auth_type: 'AUTH_TYPE_SSO'})); + req.end(); + - lang: C + source: |- + CURL *hnd = curl_easy_init(); + + curl_easy_setopt(hnd, CURLOPT_CUSTOMREQUEST, "POST"); + curl_easy_setopt(hnd, CURLOPT_URL, "https://api.confluent.cloud/iam/v2/invitations"); + + struct curl_slist *headers = NULL; + headers = curl_slist_append(headers, "content-type: application/json"); + headers = curl_slist_append(headers, "Authorization: Basic REPLACE_BASIC_AUTH"); + curl_easy_setopt(hnd, CURLOPT_HTTPHEADER, headers); + + curl_easy_setopt(hnd, CURLOPT_POSTFIELDS, "{\"email\":\"johndoe@confluent.io\",\"auth_type\":\"AUTH_TYPE_SSO\"}"); + + CURLcode ret = curl_easy_perform(hnd); + - lang: C# + source: |- + var client = new RestClient("https://api.confluent.cloud/iam/v2/invitations"); + var request = new RestRequest(Method.POST); + request.AddHeader("content-type", "application/json"); + request.AddHeader("Authorization", "Basic REPLACE_BASIC_AUTH"); + request.AddParameter("application/json", "{\"email\":\"johndoe@confluent.io\",\"auth_type\":\"AUTH_TYPE_SSO\"}", ParameterType.RequestBody); + IRestResponse response = client.Execute(request); + '/iam/v2/invitations/{id}': + get: + operationId: getIamV2Invitation + summary: Read an Invitation + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + Make a request to read an invitation. + parameters: + - name: id + in: path + required: true + schema: + type: string + description: The unique identifier for the invitation. + tags: + - Invitations (iam/v2) + security: + - cloud-api-key: [] + - confluent-sts-access-token: [] + responses: + '200': + description: Invitation. + content: + application/json: + schema: + allOf: + - $ref: '#/components/schemas/iam.v2.Invitation' + - type: object + required: + - api_version + - kind + - id + - email + 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. + + **Important:** This differs from Github and Twitter's same-named header which uses UTC epoch seconds. We use relative time to avoid client/server time synchronization issues. + '400': + $ref: '#/components/responses/BadRequestError' + '401': + $ref: '#/components/responses/UnauthenticatedError' + '403': + $ref: '#/components/responses/UnauthorizedError' + '404': + $ref: '#/components/responses/NotFoundError' + '429': + $ref: '#/components/responses/RateLimitError' + '500': + $ref: '#/components/responses/DefaultSystemError' + x-codeSamples: + - lang: Shell + source: |- + curl --request GET \ + --url 'https://api.confluent.cloud/iam/v2/invitations/{id}' \ + --header 'Authorization: Basic REPLACE_BASIC_AUTH' + - lang: Java + source: |- + OkHttpClient client = new OkHttpClient(); + + Request request = new Request.Builder() + .url("https://api.confluent.cloud/iam/v2/invitations/{id}") + .get() + .addHeader("Authorization", "Basic REPLACE_BASIC_AUTH") + .build(); + + Response response = client.newCall(request).execute(); + - lang: Go + source: "package main\n\nimport (\n\t\"fmt\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.confluent.cloud/iam/v2/invitations/{id}\"\n\n\treq, _ := http.NewRequest(\"GET\", url, nil)\n\n\treq.Header.Add(\"Authorization\", \"Basic REPLACE_BASIC_AUTH\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}" + - lang: Python + source: |- + import http.client + + conn = http.client.HTTPSConnection("api.confluent.cloud") + + headers = { 'Authorization': "Basic REPLACE_BASIC_AUTH" } + + conn.request("GET", "/iam/v2/invitations/{id}", headers=headers) + + res = conn.getresponse() + data = res.read() + + print(data.decode("utf-8")) + - lang: Node + source: |- + const http = require("https"); + + const options = { + "method": "GET", + "hostname": "api.confluent.cloud", + "port": null, + "path": "/iam/v2/invitations/{id}", + "headers": { + "Authorization": "Basic REPLACE_BASIC_AUTH" + } + }; + + const req = http.request(options, function (res) { + const chunks = []; + + res.on("data", function (chunk) { + chunks.push(chunk); + }); + + res.on("end", function () { + const body = Buffer.concat(chunks); + console.log(body.toString()); + }); + }); + + req.end(); + - lang: C + source: |- + CURL *hnd = curl_easy_init(); + + curl_easy_setopt(hnd, CURLOPT_CUSTOMREQUEST, "GET"); + curl_easy_setopt(hnd, CURLOPT_URL, "https://api.confluent.cloud/iam/v2/invitations/{id}"); + + struct curl_slist *headers = NULL; + headers = curl_slist_append(headers, "Authorization: Basic REPLACE_BASIC_AUTH"); + curl_easy_setopt(hnd, CURLOPT_HTTPHEADER, headers); + + CURLcode ret = curl_easy_perform(hnd); + - lang: C# + source: |- + var client = new RestClient("https://api.confluent.cloud/iam/v2/invitations/{id}"); + var request = new RestRequest(Method.GET); + request.AddHeader("Authorization", "Basic REPLACE_BASIC_AUTH"); + IRestResponse response = client.Execute(request); + delete: + operationId: deleteIamV2Invitation + summary: Delete an Invitation + description: | + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + Make a request to delete an invitation. + + Delete will deactivate the user if the user didn't accept the invitation yet. + parameters: + - name: id + in: path + required: true + schema: + type: string + description: The unique identifier for the invitation. + tags: + - Invitations (iam/v2) + security: + - cloud-api-key: [] + - confluent-sts-access-token: [] + responses: + '204': + description: An Invitation is being deleted. + headers: + X-Request-Id: + schema: + type: string + description: The unique identifier for the API request. + X-RateLimit-Limit: + schema: + type: integer + description: The maximum number of requests you're permitted to make per time period. + X-RateLimit-Remaining: + schema: + type: integer + description: The number of requests remaining in the current rate limit window. + X-RateLimit-Reset: + schema: + type: integer + description: |- + The relative time in seconds until the current rate-limit window resets. + + **Important:** This differs from Github and Twitter's same-named header which uses UTC epoch seconds. We use relative time to avoid client/server time synchronization issues. + '400': + $ref: '#/components/responses/BadRequestError' + '401': + $ref: '#/components/responses/UnauthenticatedError' + '403': + $ref: '#/components/responses/UnauthorizedError' + '404': + $ref: '#/components/responses/NotFoundError' + '429': + $ref: '#/components/responses/RateLimitError' + '500': + $ref: '#/components/responses/DefaultSystemError' + x-codeSamples: + - lang: Shell + source: |- + curl --request DELETE \ + --url 'https://api.confluent.cloud/iam/v2/invitations/{id}' \ + --header 'Authorization: Basic REPLACE_BASIC_AUTH' + - lang: Java + source: |- + OkHttpClient client = new OkHttpClient(); + + Request request = new Request.Builder() + .url("https://api.confluent.cloud/iam/v2/invitations/{id}") + .delete(null) + .addHeader("Authorization", "Basic REPLACE_BASIC_AUTH") + .build(); + + Response response = client.newCall(request).execute(); + - lang: Go + source: "package main\n\nimport (\n\t\"fmt\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.confluent.cloud/iam/v2/invitations/{id}\"\n\n\treq, _ := http.NewRequest(\"DELETE\", url, nil)\n\n\treq.Header.Add(\"Authorization\", \"Basic REPLACE_BASIC_AUTH\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}" + - lang: Python + source: |- + import http.client + + conn = http.client.HTTPSConnection("api.confluent.cloud") + + headers = { 'Authorization': "Basic REPLACE_BASIC_AUTH" } + + conn.request("DELETE", "/iam/v2/invitations/{id}", headers=headers) + + res = conn.getresponse() + data = res.read() + + print(data.decode("utf-8")) + - lang: Node + source: |- + const http = require("https"); + + const options = { + "method": "DELETE", + "hostname": "api.confluent.cloud", + "port": null, + "path": "/iam/v2/invitations/{id}", + "headers": { + "Authorization": "Basic REPLACE_BASIC_AUTH" + } + }; + + const req = http.request(options, function (res) { + const chunks = []; + + res.on("data", function (chunk) { + chunks.push(chunk); + }); + + res.on("end", function () { + const body = Buffer.concat(chunks); + console.log(body.toString()); + }); + }); + + req.end(); + - lang: C + source: |- + CURL *hnd = curl_easy_init(); + + curl_easy_setopt(hnd, CURLOPT_CUSTOMREQUEST, "DELETE"); + curl_easy_setopt(hnd, CURLOPT_URL, "https://api.confluent.cloud/iam/v2/invitations/{id}"); + + struct curl_slist *headers = NULL; + headers = curl_slist_append(headers, "Authorization: Basic REPLACE_BASIC_AUTH"); + curl_easy_setopt(hnd, CURLOPT_HTTPHEADER, headers); + + CURLcode ret = curl_easy_perform(hnd); + - lang: C# + source: |- + var client = new RestClient("https://api.confluent.cloud/iam/v2/invitations/{id}"); + var request = new RestRequest(Method.DELETE); + request.AddHeader("Authorization", "Basic REPLACE_BASIC_AUTH"); + IRestResponse response = client.Execute(request); + /iam/v2/ip-groups: + get: + x-request-access-name: IP Groups API + operationId: listIamV2IpGroups + summary: List of IP Groups + description: |- + [![Limited Availability](https://img.shields.io/badge/Lifecycle%20Stage-Limited%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) [![Request Access To IP Groups API](https://img.shields.io/badge/-Request%20Access%20To%20IP%20Groups%20API-%23bc8540)](mailto:cloud-support@confluent.io?subject=Request%20to%20join%20IP%20Filtering%20API%20Limited%20Access&body=I%E2%80%99d%20like%20to%20join%20the%20Confluent%20Cloud%20API%20Limited%20Access%20for%20IP%20Filtering.%0AMy%20Cloud%20Organization%20ID%20is%20%3Cretrieve%20from%20https%3A//confluent.cloud/settings/billing/payment%3E.%0A) + + Retrieve a sorted, filtered, paginated list of all IP groups. + parameters: + - name: page_size + in: query + required: false + schema: + type: integer + default: 25 + 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: + - IP Groups (iam/v2) + security: + - cloud-api-key: [] + - confluent-sts-access-token: [] + responses: + '200': + description: IP Group. + content: + application/json: + schema: + allOf: + - $ref: '#/components/schemas/iam.v2.IpGroupList' + 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. + + **Important:** This differs from Github and Twitter's same-named header which uses UTC epoch seconds. We use relative time to avoid client/server time synchronization issues. + '400': + $ref: '#/components/responses/BadRequestError' + '401': + $ref: '#/components/responses/UnauthenticatedError' + '403': + $ref: '#/components/responses/UnauthorizedError' + '429': + $ref: '#/components/responses/RateLimitError' + '500': + $ref: '#/components/responses/DefaultSystemError' + x-page-first-available: true + x-page-last-available: true + x-page-from-start: true + x-page-from-end: true + x-codeSamples: + - lang: Shell + source: |- + curl --request GET \ + --url https://api.confluent.cloud/iam/v2/ip-groups \ + --header 'Authorization: Basic REPLACE_BASIC_AUTH' + - lang: Java + source: |- + OkHttpClient client = new OkHttpClient(); + + Request request = new Request.Builder() + .url("https://api.confluent.cloud/iam/v2/ip-groups") + .get() + .addHeader("Authorization", "Basic REPLACE_BASIC_AUTH") + .build(); + + Response response = client.newCall(request).execute(); + - lang: Go + source: "package main\n\nimport (\n\t\"fmt\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.confluent.cloud/iam/v2/ip-groups\"\n\n\treq, _ := http.NewRequest(\"GET\", url, nil)\n\n\treq.Header.Add(\"Authorization\", \"Basic REPLACE_BASIC_AUTH\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}" + - lang: Python + source: |- + import http.client + + conn = http.client.HTTPSConnection("api.confluent.cloud") + + headers = { 'Authorization': "Basic REPLACE_BASIC_AUTH" } + + conn.request("GET", "/iam/v2/ip-groups", headers=headers) + + res = conn.getresponse() + data = res.read() + + print(data.decode("utf-8")) + - lang: Node + source: |- + const http = require("https"); + + const options = { + "method": "GET", + "hostname": "api.confluent.cloud", + "port": null, + "path": "/iam/v2/ip-groups", + "headers": { + "Authorization": "Basic REPLACE_BASIC_AUTH" + } + }; + + const req = http.request(options, function (res) { + const chunks = []; + + res.on("data", function (chunk) { + chunks.push(chunk); + }); + + res.on("end", function () { + const body = Buffer.concat(chunks); + console.log(body.toString()); + }); + }); + + req.end(); + - lang: C + source: |- + CURL *hnd = curl_easy_init(); + + curl_easy_setopt(hnd, CURLOPT_CUSTOMREQUEST, "GET"); + curl_easy_setopt(hnd, CURLOPT_URL, "https://api.confluent.cloud/iam/v2/ip-groups"); + + struct curl_slist *headers = NULL; + headers = curl_slist_append(headers, "Authorization: Basic REPLACE_BASIC_AUTH"); + curl_easy_setopt(hnd, CURLOPT_HTTPHEADER, headers); + + CURLcode ret = curl_easy_perform(hnd); + - lang: C# + source: |- + var client = new RestClient("https://api.confluent.cloud/iam/v2/ip-groups"); + var request = new RestRequest(Method.GET); + request.AddHeader("Authorization", "Basic REPLACE_BASIC_AUTH"); + IRestResponse response = client.Execute(request); + post: + x-request-access-name: IP Groups API + operationId: createIamV2IpGroup + summary: Create an IP Group + description: |- + [![Limited Availability](https://img.shields.io/badge/Lifecycle%20Stage-Limited%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) [![Request Access To IP Groups API](https://img.shields.io/badge/-Request%20Access%20To%20IP%20Groups%20API-%23bc8540)](mailto:cloud-support@confluent.io?subject=Request%20to%20join%20IP%20Filtering%20API%20Limited%20Access&body=I%E2%80%99d%20like%20to%20join%20the%20Confluent%20Cloud%20API%20Limited%20Access%20for%20IP%20Filtering.%0AMy%20Cloud%20Organization%20ID%20is%20%3Cretrieve%20from%20https%3A//confluent.cloud/settings/billing/payment%3E.%0A) + + Make a request to create an IP group. + tags: + - IP Groups (iam/v2) + security: + - cloud-api-key: [] + - confluent-sts-access-token: [] + requestBody: + content: + application/json: + schema: + allOf: + - $ref: '#/components/schemas/iam.v2.IpGroup' + - type: object + required: + - group_name + - cidr_blocks + responses: + '201': + description: An IP Group was created. + headers: + X-Request-Id: + schema: + type: string + description: The unique identifier for the API request. + X-RateLimit-Limit: + schema: + type: integer + description: The maximum number of requests you're permitted to make per time period. + X-RateLimit-Remaining: + schema: + type: integer + description: The number of requests remaining in the current rate limit window. + X-RateLimit-Reset: + schema: + type: integer + description: |- + The relative time in seconds until the current rate-limit window resets. + + **Important:** This differs from Github and Twitter's same-named header which uses UTC epoch seconds. We use relative time to avoid client/server time synchronization issues. + Location: + schema: + type: string + format: uri + example: 'https://api.confluent.cloud/iam/v2/ip-groups/{id}' + description: IpGroup resource uri + content: + application/json: + schema: + allOf: + - $ref: '#/components/schemas/iam.v2.IpGroup' + - type: object + required: + - group_name + - cidr_blocks + '400': + $ref: '#/components/responses/BadRequestError' + '401': + $ref: '#/components/responses/UnauthenticatedError' + '403': + $ref: '#/components/responses/UnauthorizedError' + '409': + $ref: '#/components/responses/ConflictError' + '422': + $ref: '#/components/responses/ValidationError' + '429': + $ref: '#/components/responses/RateLimitError' + '500': + $ref: '#/components/responses/DefaultSystemError' + x-codeSamples: + - lang: Shell + source: |- + curl --request POST \ + --url https://api.confluent.cloud/iam/v2/ip-groups \ + --header 'Authorization: Basic REPLACE_BASIC_AUTH' \ + --header 'content-type: application/json' \ + --data '{"group_name":"CorpNet","cidr_blocks":["192.168.0.0/24","192.168.7.0/24"]}' + - lang: Java + source: |- + OkHttpClient client = new OkHttpClient(); + + MediaType mediaType = MediaType.parse("application/json"); + RequestBody body = RequestBody.create(mediaType, "{\"group_name\":\"CorpNet\",\"cidr_blocks\":[\"192.168.0.0/24\",\"192.168.7.0/24\"]}"); + Request request = new Request.Builder() + .url("https://api.confluent.cloud/iam/v2/ip-groups") + .post(body) + .addHeader("content-type", "application/json") + .addHeader("Authorization", "Basic REPLACE_BASIC_AUTH") + .build(); + + Response response = client.newCall(request).execute(); + - lang: Go + source: "package main\n\nimport (\n\t\"fmt\"\n\t\"strings\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.confluent.cloud/iam/v2/ip-groups\"\n\n\tpayload := strings.NewReader(\"{\\\"group_name\\\":\\\"CorpNet\\\",\\\"cidr_blocks\\\":[\\\"192.168.0.0/24\\\",\\\"192.168.7.0/24\\\"]}\")\n\n\treq, _ := http.NewRequest(\"POST\", url, payload)\n\n\treq.Header.Add(\"content-type\", \"application/json\")\n\treq.Header.Add(\"Authorization\", \"Basic REPLACE_BASIC_AUTH\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}" + - lang: Python + source: |- + import http.client + + conn = http.client.HTTPSConnection("api.confluent.cloud") + + payload = "{\"group_name\":\"CorpNet\",\"cidr_blocks\":[\"192.168.0.0/24\",\"192.168.7.0/24\"]}" + + headers = { + 'content-type': "application/json", + 'Authorization': "Basic REPLACE_BASIC_AUTH" + } + + conn.request("POST", "/iam/v2/ip-groups", payload, headers) + + res = conn.getresponse() + data = res.read() + + print(data.decode("utf-8")) + - lang: Node + source: |- + const http = require("https"); + + const options = { + "method": "POST", + "hostname": "api.confluent.cloud", + "port": null, + "path": "/iam/v2/ip-groups", + "headers": { + "content-type": "application/json", + "Authorization": "Basic REPLACE_BASIC_AUTH" + } + }; + + const req = http.request(options, function (res) { + const chunks = []; + + res.on("data", function (chunk) { + chunks.push(chunk); + }); + + res.on("end", function () { + const body = Buffer.concat(chunks); + console.log(body.toString()); + }); + }); + + req.write(JSON.stringify({group_name: 'CorpNet', cidr_blocks: ['192.168.0.0/24', '192.168.7.0/24']})); + req.end(); + - lang: C + source: |- + CURL *hnd = curl_easy_init(); + + curl_easy_setopt(hnd, CURLOPT_CUSTOMREQUEST, "POST"); + curl_easy_setopt(hnd, CURLOPT_URL, "https://api.confluent.cloud/iam/v2/ip-groups"); + + struct curl_slist *headers = NULL; + headers = curl_slist_append(headers, "content-type: application/json"); + headers = curl_slist_append(headers, "Authorization: Basic REPLACE_BASIC_AUTH"); + curl_easy_setopt(hnd, CURLOPT_HTTPHEADER, headers); + + curl_easy_setopt(hnd, CURLOPT_POSTFIELDS, "{\"group_name\":\"CorpNet\",\"cidr_blocks\":[\"192.168.0.0/24\",\"192.168.7.0/24\"]}"); + + CURLcode ret = curl_easy_perform(hnd); + - lang: C# + source: |- + var client = new RestClient("https://api.confluent.cloud/iam/v2/ip-groups"); + var request = new RestRequest(Method.POST); + request.AddHeader("content-type", "application/json"); + request.AddHeader("Authorization", "Basic REPLACE_BASIC_AUTH"); + request.AddParameter("application/json", "{\"group_name\":\"CorpNet\",\"cidr_blocks\":[\"192.168.0.0/24\",\"192.168.7.0/24\"]}", ParameterType.RequestBody); + IRestResponse response = client.Execute(request); + '/iam/v2/ip-groups/{id}': + get: + x-request-access-name: IP Groups API + operationId: getIamV2IpGroup + summary: Read an IP Group + description: |- + [![Limited Availability](https://img.shields.io/badge/Lifecycle%20Stage-Limited%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) [![Request Access To IP Groups API](https://img.shields.io/badge/-Request%20Access%20To%20IP%20Groups%20API-%23bc8540)](mailto:cloud-support@confluent.io?subject=Request%20to%20join%20IP%20Filtering%20API%20Limited%20Access&body=I%E2%80%99d%20like%20to%20join%20the%20Confluent%20Cloud%20API%20Limited%20Access%20for%20IP%20Filtering.%0AMy%20Cloud%20Organization%20ID%20is%20%3Cretrieve%20from%20https%3A//confluent.cloud/settings/billing/payment%3E.%0A) + + Make a request to read an IP group. + parameters: + - name: id + in: path + required: true + schema: + type: string + description: The unique identifier for the IP group. + tags: + - IP Groups (iam/v2) + security: + - cloud-api-key: [] + - confluent-sts-access-token: [] + responses: + '200': + description: IP Group. + content: + application/json: + schema: + allOf: + - $ref: '#/components/schemas/iam.v2.IpGroup' + - type: object + required: + - api_version + - kind + - id + - group_name + - cidr_blocks + 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. + + **Important:** This differs from Github and Twitter's same-named header which uses UTC epoch seconds. We use relative time to avoid client/server time synchronization issues. + '400': + $ref: '#/components/responses/BadRequestError' + '401': + $ref: '#/components/responses/UnauthenticatedError' + '403': + $ref: '#/components/responses/UnauthorizedError' + '404': + $ref: '#/components/responses/NotFoundError' + '429': + $ref: '#/components/responses/RateLimitError' + '500': + $ref: '#/components/responses/DefaultSystemError' + x-codeSamples: + - lang: Shell + source: |- + curl --request GET \ + --url 'https://api.confluent.cloud/iam/v2/ip-groups/{id}' \ + --header 'Authorization: Basic REPLACE_BASIC_AUTH' + - lang: Java + source: |- + OkHttpClient client = new OkHttpClient(); + + Request request = new Request.Builder() + .url("https://api.confluent.cloud/iam/v2/ip-groups/{id}") + .get() + .addHeader("Authorization", "Basic REPLACE_BASIC_AUTH") + .build(); + + Response response = client.newCall(request).execute(); + - lang: Go + source: "package main\n\nimport (\n\t\"fmt\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.confluent.cloud/iam/v2/ip-groups/{id}\"\n\n\treq, _ := http.NewRequest(\"GET\", url, nil)\n\n\treq.Header.Add(\"Authorization\", \"Basic REPLACE_BASIC_AUTH\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}" + - lang: Python + source: |- + import http.client + + conn = http.client.HTTPSConnection("api.confluent.cloud") + + headers = { 'Authorization': "Basic REPLACE_BASIC_AUTH" } + + conn.request("GET", "/iam/v2/ip-groups/{id}", headers=headers) + + res = conn.getresponse() + data = res.read() + + print(data.decode("utf-8")) + - lang: Node + source: |- + const http = require("https"); + + const options = { + "method": "GET", + "hostname": "api.confluent.cloud", + "port": null, + "path": "/iam/v2/ip-groups/{id}", + "headers": { + "Authorization": "Basic REPLACE_BASIC_AUTH" + } + }; + + const req = http.request(options, function (res) { + const chunks = []; + + res.on("data", function (chunk) { + chunks.push(chunk); + }); + + res.on("end", function () { + const body = Buffer.concat(chunks); + console.log(body.toString()); + }); + }); + + req.end(); + - lang: C + source: |- + CURL *hnd = curl_easy_init(); + + curl_easy_setopt(hnd, CURLOPT_CUSTOMREQUEST, "GET"); + curl_easy_setopt(hnd, CURLOPT_URL, "https://api.confluent.cloud/iam/v2/ip-groups/{id}"); + + struct curl_slist *headers = NULL; + headers = curl_slist_append(headers, "Authorization: Basic REPLACE_BASIC_AUTH"); + curl_easy_setopt(hnd, CURLOPT_HTTPHEADER, headers); + + CURLcode ret = curl_easy_perform(hnd); + - lang: C# + source: |- + var client = new RestClient("https://api.confluent.cloud/iam/v2/ip-groups/{id}"); + var request = new RestRequest(Method.GET); + request.AddHeader("Authorization", "Basic REPLACE_BASIC_AUTH"); + IRestResponse response = client.Execute(request); + patch: + x-request-access-name: IP Groups API + operationId: updateIamV2IpGroup + summary: Update an IP Group + description: |+ + [![Limited Availability](https://img.shields.io/badge/Lifecycle%20Stage-Limited%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) [![Request Access To IP Groups API](https://img.shields.io/badge/-Request%20Access%20To%20IP%20Groups%20API-%23bc8540)](mailto:cloud-support@confluent.io?subject=Request%20to%20join%20IP%20Filtering%20API%20Limited%20Access&body=I%E2%80%99d%20like%20to%20join%20the%20Confluent%20Cloud%20API%20Limited%20Access%20for%20IP%20Filtering.%0AMy%20Cloud%20Organization%20ID%20is%20%3Cretrieve%20from%20https%3A//confluent.cloud/settings/billing/payment%3E.%0A) + + Make a request to update an IP group. + + parameters: + - name: id + in: path + required: true + schema: + type: string + description: The unique identifier for the IP group. + tags: + - IP Groups (iam/v2) + security: + - cloud-api-key: [] + - confluent-sts-access-token: [] + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/iam.v2.IpGroup' + responses: + '200': + description: IP Group. + content: + application/json: + schema: + allOf: + - $ref: '#/components/schemas/iam.v2.IpGroup' + - type: object + required: + - api_version + - kind + - id + - group_name + - cidr_blocks + 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. + + **Important:** This differs from Github and Twitter's same-named header which uses UTC epoch seconds. We use relative time to avoid client/server time synchronization issues. + '400': + $ref: '#/components/responses/BadRequestError' + '401': + $ref: '#/components/responses/UnauthenticatedError' + '403': + $ref: '#/components/responses/UnauthorizedError' + '404': + $ref: '#/components/responses/NotFoundError' + '409': + $ref: '#/components/responses/ConflictError' + '422': + $ref: '#/components/responses/ValidationError' + '429': + $ref: '#/components/responses/RateLimitError' + '500': + $ref: '#/components/responses/DefaultSystemError' + x-codeSamples: + - lang: Shell + source: |- + curl --request PATCH \ + --url 'https://api.confluent.cloud/iam/v2/ip-groups/{id}' \ + --header 'Authorization: Basic REPLACE_BASIC_AUTH' \ + --header 'content-type: application/json' \ + --data '{"group_name":"CorpNet","cidr_blocks":["192.168.0.0/24","192.168.7.0/24"]}' + - lang: Java + source: |- + OkHttpClient client = new OkHttpClient(); + + MediaType mediaType = MediaType.parse("application/json"); + RequestBody body = RequestBody.create(mediaType, "{\"group_name\":\"CorpNet\",\"cidr_blocks\":[\"192.168.0.0/24\",\"192.168.7.0/24\"]}"); + Request request = new Request.Builder() + .url("https://api.confluent.cloud/iam/v2/ip-groups/{id}") + .patch(body) + .addHeader("content-type", "application/json") + .addHeader("Authorization", "Basic REPLACE_BASIC_AUTH") + .build(); + + Response response = client.newCall(request).execute(); + - lang: Go + source: "package main\n\nimport (\n\t\"fmt\"\n\t\"strings\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.confluent.cloud/iam/v2/ip-groups/{id}\"\n\n\tpayload := strings.NewReader(\"{\\\"group_name\\\":\\\"CorpNet\\\",\\\"cidr_blocks\\\":[\\\"192.168.0.0/24\\\",\\\"192.168.7.0/24\\\"]}\")\n\n\treq, _ := http.NewRequest(\"PATCH\", url, payload)\n\n\treq.Header.Add(\"content-type\", \"application/json\")\n\treq.Header.Add(\"Authorization\", \"Basic REPLACE_BASIC_AUTH\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}" + - lang: Python + source: |- + import http.client + + conn = http.client.HTTPSConnection("api.confluent.cloud") + + payload = "{\"group_name\":\"CorpNet\",\"cidr_blocks\":[\"192.168.0.0/24\",\"192.168.7.0/24\"]}" + + headers = { + 'content-type': "application/json", + 'Authorization': "Basic REPLACE_BASIC_AUTH" + } + + conn.request("PATCH", "/iam/v2/ip-groups/{id}", payload, headers) + + res = conn.getresponse() + data = res.read() + + print(data.decode("utf-8")) + - lang: Node + source: |- + const http = require("https"); + + const options = { + "method": "PATCH", + "hostname": "api.confluent.cloud", + "port": null, + "path": "/iam/v2/ip-groups/{id}", + "headers": { + "content-type": "application/json", + "Authorization": "Basic REPLACE_BASIC_AUTH" + } + }; + + const req = http.request(options, function (res) { + const chunks = []; + + res.on("data", function (chunk) { + chunks.push(chunk); + }); + + res.on("end", function () { + const body = Buffer.concat(chunks); + console.log(body.toString()); + }); + }); + + req.write(JSON.stringify({group_name: 'CorpNet', cidr_blocks: ['192.168.0.0/24', '192.168.7.0/24']})); + req.end(); + - lang: C + source: |- + CURL *hnd = curl_easy_init(); + + curl_easy_setopt(hnd, CURLOPT_CUSTOMREQUEST, "PATCH"); + curl_easy_setopt(hnd, CURLOPT_URL, "https://api.confluent.cloud/iam/v2/ip-groups/{id}"); + + struct curl_slist *headers = NULL; + headers = curl_slist_append(headers, "content-type: application/json"); + headers = curl_slist_append(headers, "Authorization: Basic REPLACE_BASIC_AUTH"); + curl_easy_setopt(hnd, CURLOPT_HTTPHEADER, headers); + + curl_easy_setopt(hnd, CURLOPT_POSTFIELDS, "{\"group_name\":\"CorpNet\",\"cidr_blocks\":[\"192.168.0.0/24\",\"192.168.7.0/24\"]}"); + + CURLcode ret = curl_easy_perform(hnd); + - lang: C# + source: |- + var client = new RestClient("https://api.confluent.cloud/iam/v2/ip-groups/{id}"); + var request = new RestRequest(Method.PATCH); + request.AddHeader("content-type", "application/json"); + request.AddHeader("Authorization", "Basic REPLACE_BASIC_AUTH"); + request.AddParameter("application/json", "{\"group_name\":\"CorpNet\",\"cidr_blocks\":[\"192.168.0.0/24\",\"192.168.7.0/24\"]}", ParameterType.RequestBody); + IRestResponse response = client.Execute(request); + delete: + x-request-access-name: IP Groups API + operationId: deleteIamV2IpGroup + summary: Delete an IP Group + description: |- + [![Limited Availability](https://img.shields.io/badge/Lifecycle%20Stage-Limited%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) [![Request Access To IP Groups API](https://img.shields.io/badge/-Request%20Access%20To%20IP%20Groups%20API-%23bc8540)](mailto:cloud-support@confluent.io?subject=Request%20to%20join%20IP%20Filtering%20API%20Limited%20Access&body=I%E2%80%99d%20like%20to%20join%20the%20Confluent%20Cloud%20API%20Limited%20Access%20for%20IP%20Filtering.%0AMy%20Cloud%20Organization%20ID%20is%20%3Cretrieve%20from%20https%3A//confluent.cloud/settings/billing/payment%3E.%0A) + + Make a request to delete an IP group. + parameters: + - name: id + in: path + required: true + schema: + type: string + description: The unique identifier for the IP group. + tags: + - IP Groups (iam/v2) + security: + - cloud-api-key: [] + - confluent-sts-access-token: [] + responses: + '204': + description: An IP Group is being deleted. + headers: + X-Request-Id: + schema: + type: string + description: The unique identifier for the API request. + X-RateLimit-Limit: + schema: + type: integer + description: The maximum number of requests you're permitted to make per time period. + X-RateLimit-Remaining: + schema: + type: integer + description: The number of requests remaining in the current rate limit window. + X-RateLimit-Reset: + schema: + type: integer + description: |- + The relative time in seconds until the current rate-limit window resets. + + **Important:** This differs from Github and Twitter's same-named header which uses UTC epoch seconds. We use relative time to avoid client/server time synchronization issues. + '400': + $ref: '#/components/responses/BadRequestError' + '401': + $ref: '#/components/responses/UnauthenticatedError' + '403': + $ref: '#/components/responses/UnauthorizedError' + '404': + $ref: '#/components/responses/NotFoundError' + '429': + $ref: '#/components/responses/RateLimitError' + '500': + $ref: '#/components/responses/DefaultSystemError' + x-codeSamples: + - lang: Shell + source: |- + curl --request DELETE \ + --url 'https://api.confluent.cloud/iam/v2/ip-groups/{id}' \ + --header 'Authorization: Basic REPLACE_BASIC_AUTH' + - lang: Java + source: |- + OkHttpClient client = new OkHttpClient(); + + Request request = new Request.Builder() + .url("https://api.confluent.cloud/iam/v2/ip-groups/{id}") + .delete(null) + .addHeader("Authorization", "Basic REPLACE_BASIC_AUTH") + .build(); + + Response response = client.newCall(request).execute(); + - lang: Go + source: "package main\n\nimport (\n\t\"fmt\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.confluent.cloud/iam/v2/ip-groups/{id}\"\n\n\treq, _ := http.NewRequest(\"DELETE\", url, nil)\n\n\treq.Header.Add(\"Authorization\", \"Basic REPLACE_BASIC_AUTH\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}" + - lang: Python + source: |- + import http.client + + conn = http.client.HTTPSConnection("api.confluent.cloud") + + headers = { 'Authorization': "Basic REPLACE_BASIC_AUTH" } + + conn.request("DELETE", "/iam/v2/ip-groups/{id}", headers=headers) + + res = conn.getresponse() + data = res.read() + + print(data.decode("utf-8")) + - lang: Node + source: |- + const http = require("https"); + + const options = { + "method": "DELETE", + "hostname": "api.confluent.cloud", + "port": null, + "path": "/iam/v2/ip-groups/{id}", + "headers": { + "Authorization": "Basic REPLACE_BASIC_AUTH" + } + }; + + const req = http.request(options, function (res) { + const chunks = []; + + res.on("data", function (chunk) { + chunks.push(chunk); + }); + + res.on("end", function () { + const body = Buffer.concat(chunks); + console.log(body.toString()); + }); + }); + + req.end(); + - lang: C + source: |- + CURL *hnd = curl_easy_init(); + + curl_easy_setopt(hnd, CURLOPT_CUSTOMREQUEST, "DELETE"); + curl_easy_setopt(hnd, CURLOPT_URL, "https://api.confluent.cloud/iam/v2/ip-groups/{id}"); + + struct curl_slist *headers = NULL; + headers = curl_slist_append(headers, "Authorization: Basic REPLACE_BASIC_AUTH"); + curl_easy_setopt(hnd, CURLOPT_HTTPHEADER, headers); + + CURLcode ret = curl_easy_perform(hnd); + - lang: C# + source: |- + var client = new RestClient("https://api.confluent.cloud/iam/v2/ip-groups/{id}"); + var request = new RestRequest(Method.DELETE); + request.AddHeader("Authorization", "Basic REPLACE_BASIC_AUTH"); + IRestResponse response = client.Execute(request); + /iam/v2/ip-filters: + get: + x-request-access-name: IP Filters API + operationId: listIamV2IpFilters + summary: List of IP Filters + description: |- + [![Limited Availability](https://img.shields.io/badge/Lifecycle%20Stage-Limited%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) [![Request Access To IP Filters API](https://img.shields.io/badge/-Request%20Access%20To%20IP%20Filters%20API-%23bc8540)](mailto:ccloud-api-access+iam-v2-limited-availability@confluent.io?subject=Request%20to%20join%20iam/v2%20API%20Limited%20Availability&body=I%E2%80%99d%20like%20to%20join%20the%20Confluent%20Cloud%20API%20Limited%20Availability%20for%20iam/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 IP filters. + parameters: + - name: page_size + in: query + required: false + schema: + type: integer + default: 25 + 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: + - IP Filters (iam/v2) + security: + - cloud-api-key: [] + - confluent-sts-access-token: [] + responses: + '200': + description: IP Filter. + content: + application/json: + schema: + allOf: + - $ref: '#/components/schemas/iam.v2.IpFilterList' + 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. + + **Important:** This differs from Github and Twitter's same-named header which uses UTC epoch seconds. We use relative time to avoid client/server time synchronization issues. + '400': + $ref: '#/components/responses/BadRequestError' + '401': + $ref: '#/components/responses/UnauthenticatedError' + '403': + $ref: '#/components/responses/UnauthorizedError' + '429': + $ref: '#/components/responses/RateLimitError' + '500': + $ref: '#/components/responses/DefaultSystemError' + x-page-first-available: true + x-page-last-available: true + x-page-from-start: true + x-page-from-end: true + x-codeSamples: + - lang: Shell + source: |- + curl --request GET \ + --url https://api.confluent.cloud/iam/v2/ip-filters \ + --header 'Authorization: Basic REPLACE_BASIC_AUTH' + - lang: Java + source: |- + OkHttpClient client = new OkHttpClient(); + + Request request = new Request.Builder() + .url("https://api.confluent.cloud/iam/v2/ip-filters") + .get() + .addHeader("Authorization", "Basic REPLACE_BASIC_AUTH") + .build(); + + Response response = client.newCall(request).execute(); + - lang: Go + source: "package main\n\nimport (\n\t\"fmt\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.confluent.cloud/iam/v2/ip-filters\"\n\n\treq, _ := http.NewRequest(\"GET\", url, nil)\n\n\treq.Header.Add(\"Authorization\", \"Basic REPLACE_BASIC_AUTH\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}" + - lang: Python + source: |- + import http.client + + conn = http.client.HTTPSConnection("api.confluent.cloud") + + headers = { 'Authorization': "Basic REPLACE_BASIC_AUTH" } + + conn.request("GET", "/iam/v2/ip-filters", headers=headers) + + res = conn.getresponse() + data = res.read() + + print(data.decode("utf-8")) + - lang: Node + source: |- + const http = require("https"); + + const options = { + "method": "GET", + "hostname": "api.confluent.cloud", + "port": null, + "path": "/iam/v2/ip-filters", + "headers": { + "Authorization": "Basic REPLACE_BASIC_AUTH" + } + }; + + const req = http.request(options, function (res) { + const chunks = []; + + res.on("data", function (chunk) { + chunks.push(chunk); + }); + + res.on("end", function () { + const body = Buffer.concat(chunks); + console.log(body.toString()); + }); + }); + + req.end(); + - lang: C + source: |- + CURL *hnd = curl_easy_init(); + + curl_easy_setopt(hnd, CURLOPT_CUSTOMREQUEST, "GET"); + curl_easy_setopt(hnd, CURLOPT_URL, "https://api.confluent.cloud/iam/v2/ip-filters"); + + struct curl_slist *headers = NULL; + headers = curl_slist_append(headers, "Authorization: Basic REPLACE_BASIC_AUTH"); + curl_easy_setopt(hnd, CURLOPT_HTTPHEADER, headers); + + CURLcode ret = curl_easy_perform(hnd); + - lang: C# + source: |- + var client = new RestClient("https://api.confluent.cloud/iam/v2/ip-filters"); + var request = new RestRequest(Method.GET); + request.AddHeader("Authorization", "Basic REPLACE_BASIC_AUTH"); + IRestResponse response = client.Execute(request); + post: + x-request-access-name: IP Filters API + operationId: createIamV2IpFilter + summary: Create an IP Filter + description: |- + [![Limited Availability](https://img.shields.io/badge/Lifecycle%20Stage-Limited%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) [![Request Access To IP Filters API](https://img.shields.io/badge/-Request%20Access%20To%20IP%20Filters%20API-%23bc8540)](mailto:ccloud-api-access+iam-v2-limited-availability@confluent.io?subject=Request%20to%20join%20iam/v2%20API%20Limited%20Availability&body=I%E2%80%99d%20like%20to%20join%20the%20Confluent%20Cloud%20API%20Limited%20Availability%20for%20iam/v2%20to%20provide%20early%20feedback%21%20My%20Cloud%20Organization%20ID%20is%20%3Cretrieve%20from%20https%3A//confluent.cloud/settings/billing/payment%3E.) + + Make a request to create an IP filter. + tags: + - IP Filters (iam/v2) + security: + - cloud-api-key: [] + - confluent-sts-access-token: [] + requestBody: + content: + application/json: + schema: + allOf: + - $ref: '#/components/schemas/iam.v2.IpFilter' + - type: object + required: + - filter_name + - resource_group + - ip_groups + responses: + '201': + description: An IP Filter was created. + headers: + X-Request-Id: + schema: + type: string + description: The unique identifier for the API request. + X-RateLimit-Limit: + schema: + type: integer + description: The maximum number of requests you're permitted to make per time period. + X-RateLimit-Remaining: + schema: + type: integer + description: The number of requests remaining in the current rate limit window. + X-RateLimit-Reset: + schema: + type: integer + description: |- + The relative time in seconds until the current rate-limit window resets. + + **Important:** This differs from Github and Twitter's same-named header which uses UTC epoch seconds. We use relative time to avoid client/server time synchronization issues. + Location: + schema: + type: string + format: uri + example: 'https://api.confluent.cloud/iam/v2/ip-filters/{id}' + description: IpFilter resource uri + content: + application/json: + schema: + allOf: + - $ref: '#/components/schemas/iam.v2.IpFilter' + - type: object + required: + - filter_name + - resource_group + - ip_groups + '400': + $ref: '#/components/responses/BadRequestError' + '401': + $ref: '#/components/responses/UnauthenticatedError' + '403': + $ref: '#/components/responses/UnauthorizedError' + '409': + $ref: '#/components/responses/ConflictError' + '422': + $ref: '#/components/responses/ValidationError' + '429': + $ref: '#/components/responses/RateLimitError' + '500': + $ref: '#/components/responses/DefaultSystemError' + x-codeSamples: + - lang: Shell + source: |- + curl --request POST \ + --url https://api.confluent.cloud/iam/v2/ip-filters \ + --header 'Authorization: Basic REPLACE_BASIC_AUTH' \ + --header 'content-type: application/json' \ + --data '{"filter_name":"Management API Rules","resource_group":"management","ip_groups":[{"id":"string"}]}' + - lang: Java + source: |- + OkHttpClient client = new OkHttpClient(); + + MediaType mediaType = MediaType.parse("application/json"); + RequestBody body = RequestBody.create(mediaType, "{\"filter_name\":\"Management API Rules\",\"resource_group\":\"management\",\"ip_groups\":[{\"id\":\"string\"}]}"); + Request request = new Request.Builder() + .url("https://api.confluent.cloud/iam/v2/ip-filters") + .post(body) + .addHeader("content-type", "application/json") + .addHeader("Authorization", "Basic REPLACE_BASIC_AUTH") + .build(); + + Response response = client.newCall(request).execute(); + - lang: Go + source: "package main\n\nimport (\n\t\"fmt\"\n\t\"strings\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.confluent.cloud/iam/v2/ip-filters\"\n\n\tpayload := strings.NewReader(\"{\\\"filter_name\\\":\\\"Management API Rules\\\",\\\"resource_group\\\":\\\"management\\\",\\\"ip_groups\\\":[{\\\"id\\\":\\\"string\\\"}]}\")\n\n\treq, _ := http.NewRequest(\"POST\", url, payload)\n\n\treq.Header.Add(\"content-type\", \"application/json\")\n\treq.Header.Add(\"Authorization\", \"Basic REPLACE_BASIC_AUTH\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}" + - lang: Python + source: |- + import http.client + + conn = http.client.HTTPSConnection("api.confluent.cloud") + + payload = "{\"filter_name\":\"Management API Rules\",\"resource_group\":\"management\",\"ip_groups\":[{\"id\":\"string\"}]}" + + headers = { + 'content-type': "application/json", + 'Authorization': "Basic REPLACE_BASIC_AUTH" + } + + conn.request("POST", "/iam/v2/ip-filters", payload, headers) + + res = conn.getresponse() + data = res.read() + + print(data.decode("utf-8")) + - lang: Node + source: |- + const http = require("https"); + + const options = { + "method": "POST", + "hostname": "api.confluent.cloud", + "port": null, + "path": "/iam/v2/ip-filters", + "headers": { + "content-type": "application/json", + "Authorization": "Basic REPLACE_BASIC_AUTH" + } + }; + + const req = http.request(options, function (res) { + const chunks = []; + + res.on("data", function (chunk) { + chunks.push(chunk); + }); + + res.on("end", function () { + const body = Buffer.concat(chunks); + console.log(body.toString()); + }); + }); + + req.write(JSON.stringify({ + filter_name: 'Management API Rules', + resource_group: 'management', + ip_groups: [{id: 'string'}] + })); + req.end(); + - lang: C + source: |- + CURL *hnd = curl_easy_init(); + + curl_easy_setopt(hnd, CURLOPT_CUSTOMREQUEST, "POST"); + curl_easy_setopt(hnd, CURLOPT_URL, "https://api.confluent.cloud/iam/v2/ip-filters"); + + struct curl_slist *headers = NULL; + headers = curl_slist_append(headers, "content-type: application/json"); + headers = curl_slist_append(headers, "Authorization: Basic REPLACE_BASIC_AUTH"); + curl_easy_setopt(hnd, CURLOPT_HTTPHEADER, headers); + + curl_easy_setopt(hnd, CURLOPT_POSTFIELDS, "{\"filter_name\":\"Management API Rules\",\"resource_group\":\"management\",\"ip_groups\":[{\"id\":\"string\"}]}"); + + CURLcode ret = curl_easy_perform(hnd); + - lang: C# + source: |- + var client = new RestClient("https://api.confluent.cloud/iam/v2/ip-filters"); + var request = new RestRequest(Method.POST); + request.AddHeader("content-type", "application/json"); + request.AddHeader("Authorization", "Basic REPLACE_BASIC_AUTH"); + request.AddParameter("application/json", "{\"filter_name\":\"Management API Rules\",\"resource_group\":\"management\",\"ip_groups\":[{\"id\":\"string\"}]}", ParameterType.RequestBody); + IRestResponse response = client.Execute(request); + '/iam/v2/ip-filters/{id}': + get: + x-request-access-name: IP Filters API + operationId: getIamV2IpFilter + summary: Read an IP Filter + description: |- + [![Limited Availability](https://img.shields.io/badge/Lifecycle%20Stage-Limited%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) [![Request Access To IP Filters API](https://img.shields.io/badge/-Request%20Access%20To%20IP%20Filters%20API-%23bc8540)](mailto:ccloud-api-access+iam-v2-limited-availability@confluent.io?subject=Request%20to%20join%20iam/v2%20API%20Limited%20Availability&body=I%E2%80%99d%20like%20to%20join%20the%20Confluent%20Cloud%20API%20Limited%20Availability%20for%20iam/v2%20to%20provide%20early%20feedback%21%20My%20Cloud%20Organization%20ID%20is%20%3Cretrieve%20from%20https%3A//confluent.cloud/settings/billing/payment%3E.) + + Make a request to read an IP filter. + parameters: + - name: id + in: path + required: true + schema: + type: string + description: The unique identifier for the IP filter. + tags: + - IP Filters (iam/v2) + security: + - cloud-api-key: [] + - confluent-sts-access-token: [] + responses: + '200': + description: IP Filter. + content: + application/json: + schema: + allOf: + - $ref: '#/components/schemas/iam.v2.IpFilter' + - type: object + required: + - api_version + - kind + - id + - filter_name + - resource_group + - ip_groups + 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. + + **Important:** This differs from Github and Twitter's same-named header which uses UTC epoch seconds. We use relative time to avoid client/server time synchronization issues. + '400': + $ref: '#/components/responses/BadRequestError' + '401': + $ref: '#/components/responses/UnauthenticatedError' + '403': + $ref: '#/components/responses/UnauthorizedError' + '404': + $ref: '#/components/responses/NotFoundError' + '429': + $ref: '#/components/responses/RateLimitError' + '500': + $ref: '#/components/responses/DefaultSystemError' + x-codeSamples: + - lang: Shell + source: |- + curl --request GET \ + --url 'https://api.confluent.cloud/iam/v2/ip-filters/{id}' \ + --header 'Authorization: Basic REPLACE_BASIC_AUTH' + - lang: Java + source: |- + OkHttpClient client = new OkHttpClient(); + + Request request = new Request.Builder() + .url("https://api.confluent.cloud/iam/v2/ip-filters/{id}") + .get() + .addHeader("Authorization", "Basic REPLACE_BASIC_AUTH") + .build(); + + Response response = client.newCall(request).execute(); + - lang: Go + source: "package main\n\nimport (\n\t\"fmt\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.confluent.cloud/iam/v2/ip-filters/{id}\"\n\n\treq, _ := http.NewRequest(\"GET\", url, nil)\n\n\treq.Header.Add(\"Authorization\", \"Basic REPLACE_BASIC_AUTH\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}" + - lang: Python + source: |- + import http.client + + conn = http.client.HTTPSConnection("api.confluent.cloud") + + headers = { 'Authorization': "Basic REPLACE_BASIC_AUTH" } + + conn.request("GET", "/iam/v2/ip-filters/{id}", headers=headers) + + res = conn.getresponse() + data = res.read() + + print(data.decode("utf-8")) + - lang: Node + source: |- + const http = require("https"); + + const options = { + "method": "GET", + "hostname": "api.confluent.cloud", + "port": null, + "path": "/iam/v2/ip-filters/{id}", + "headers": { + "Authorization": "Basic REPLACE_BASIC_AUTH" + } + }; + + const req = http.request(options, function (res) { + const chunks = []; + + res.on("data", function (chunk) { + chunks.push(chunk); + }); + + res.on("end", function () { + const body = Buffer.concat(chunks); + console.log(body.toString()); + }); + }); + + req.end(); + - lang: C + source: |- + CURL *hnd = curl_easy_init(); + + curl_easy_setopt(hnd, CURLOPT_CUSTOMREQUEST, "GET"); + curl_easy_setopt(hnd, CURLOPT_URL, "https://api.confluent.cloud/iam/v2/ip-filters/{id}"); + + struct curl_slist *headers = NULL; + headers = curl_slist_append(headers, "Authorization: Basic REPLACE_BASIC_AUTH"); + curl_easy_setopt(hnd, CURLOPT_HTTPHEADER, headers); + + CURLcode ret = curl_easy_perform(hnd); + - lang: C# + source: |- + var client = new RestClient("https://api.confluent.cloud/iam/v2/ip-filters/{id}"); + var request = new RestRequest(Method.GET); + request.AddHeader("Authorization", "Basic REPLACE_BASIC_AUTH"); + IRestResponse response = client.Execute(request); + patch: + x-request-access-name: IP Filters API + operationId: updateIamV2IpFilter + summary: Update an IP Filter + description: |+ + [![Limited Availability](https://img.shields.io/badge/Lifecycle%20Stage-Limited%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) [![Request Access To IP Filters API](https://img.shields.io/badge/-Request%20Access%20To%20IP%20Filters%20API-%23bc8540)](mailto:ccloud-api-access+iam-v2-limited-availability@confluent.io?subject=Request%20to%20join%20iam/v2%20API%20Limited%20Availability&body=I%E2%80%99d%20like%20to%20join%20the%20Confluent%20Cloud%20API%20Limited%20Availability%20for%20iam/v2%20to%20provide%20early%20feedback%21%20My%20Cloud%20Organization%20ID%20is%20%3Cretrieve%20from%20https%3A//confluent.cloud/settings/billing/payment%3E.) + + Make a request to update an IP filter. + + parameters: + - name: id + in: path + required: true + schema: + type: string + description: The unique identifier for the IP filter. + tags: + - IP Filters (iam/v2) + security: + - cloud-api-key: [] + - confluent-sts-access-token: [] + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/iam.v2.IpFilter' + responses: + '200': + description: IP Filter. + content: + application/json: + schema: + allOf: + - $ref: '#/components/schemas/iam.v2.IpFilter' + - type: object + required: + - api_version + - kind + - id + - filter_name + - resource_group + - ip_groups + 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. + + **Important:** This differs from Github and Twitter's same-named header which uses UTC epoch seconds. We use relative time to avoid client/server time synchronization issues. + '400': + $ref: '#/components/responses/BadRequestError' + '401': + $ref: '#/components/responses/UnauthenticatedError' + '403': + $ref: '#/components/responses/UnauthorizedError' + '404': + $ref: '#/components/responses/NotFoundError' + '409': + $ref: '#/components/responses/ConflictError' + '422': + $ref: '#/components/responses/ValidationError' + '429': + $ref: '#/components/responses/RateLimitError' + '500': + $ref: '#/components/responses/DefaultSystemError' + x-codeSamples: + - lang: Shell + source: |- + curl --request PATCH \ + --url 'https://api.confluent.cloud/iam/v2/ip-filters/{id}' \ + --header 'Authorization: Basic REPLACE_BASIC_AUTH' \ + --header 'content-type: application/json' \ + --data '{"filter_name":"Management API Rules","resource_group":"management","ip_groups":[{"id":"string"}]}' + - lang: Java + source: |- + OkHttpClient client = new OkHttpClient(); + + MediaType mediaType = MediaType.parse("application/json"); + RequestBody body = RequestBody.create(mediaType, "{\"filter_name\":\"Management API Rules\",\"resource_group\":\"management\",\"ip_groups\":[{\"id\":\"string\"}]}"); + Request request = new Request.Builder() + .url("https://api.confluent.cloud/iam/v2/ip-filters/{id}") + .patch(body) + .addHeader("content-type", "application/json") + .addHeader("Authorization", "Basic REPLACE_BASIC_AUTH") + .build(); + + Response response = client.newCall(request).execute(); + - lang: Go + source: "package main\n\nimport (\n\t\"fmt\"\n\t\"strings\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.confluent.cloud/iam/v2/ip-filters/{id}\"\n\n\tpayload := strings.NewReader(\"{\\\"filter_name\\\":\\\"Management API Rules\\\",\\\"resource_group\\\":\\\"management\\\",\\\"ip_groups\\\":[{\\\"id\\\":\\\"string\\\"}]}\")\n\n\treq, _ := http.NewRequest(\"PATCH\", url, payload)\n\n\treq.Header.Add(\"content-type\", \"application/json\")\n\treq.Header.Add(\"Authorization\", \"Basic REPLACE_BASIC_AUTH\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}" + - lang: Python + source: |- + import http.client + + conn = http.client.HTTPSConnection("api.confluent.cloud") + + payload = "{\"filter_name\":\"Management API Rules\",\"resource_group\":\"management\",\"ip_groups\":[{\"id\":\"string\"}]}" + + headers = { + 'content-type': "application/json", + 'Authorization': "Basic REPLACE_BASIC_AUTH" + } + + conn.request("PATCH", "/iam/v2/ip-filters/{id}", payload, headers) + + res = conn.getresponse() + data = res.read() + + print(data.decode("utf-8")) + - lang: Node + source: |- + const http = require("https"); + + const options = { + "method": "PATCH", + "hostname": "api.confluent.cloud", + "port": null, + "path": "/iam/v2/ip-filters/{id}", + "headers": { + "content-type": "application/json", + "Authorization": "Basic REPLACE_BASIC_AUTH" + } + }; + + const req = http.request(options, function (res) { + const chunks = []; + + res.on("data", function (chunk) { + chunks.push(chunk); + }); + + res.on("end", function () { + const body = Buffer.concat(chunks); + console.log(body.toString()); + }); + }); + + req.write(JSON.stringify({ + filter_name: 'Management API Rules', + resource_group: 'management', + ip_groups: [{id: 'string'}] + })); + req.end(); + - lang: C + source: |- + CURL *hnd = curl_easy_init(); + + curl_easy_setopt(hnd, CURLOPT_CUSTOMREQUEST, "PATCH"); + curl_easy_setopt(hnd, CURLOPT_URL, "https://api.confluent.cloud/iam/v2/ip-filters/{id}"); + + struct curl_slist *headers = NULL; + headers = curl_slist_append(headers, "content-type: application/json"); + headers = curl_slist_append(headers, "Authorization: Basic REPLACE_BASIC_AUTH"); + curl_easy_setopt(hnd, CURLOPT_HTTPHEADER, headers); + + curl_easy_setopt(hnd, CURLOPT_POSTFIELDS, "{\"filter_name\":\"Management API Rules\",\"resource_group\":\"management\",\"ip_groups\":[{\"id\":\"string\"}]}"); + + CURLcode ret = curl_easy_perform(hnd); + - lang: C# + source: |- + var client = new RestClient("https://api.confluent.cloud/iam/v2/ip-filters/{id}"); + var request = new RestRequest(Method.PATCH); + request.AddHeader("content-type", "application/json"); + request.AddHeader("Authorization", "Basic REPLACE_BASIC_AUTH"); + request.AddParameter("application/json", "{\"filter_name\":\"Management API Rules\",\"resource_group\":\"management\",\"ip_groups\":[{\"id\":\"string\"}]}", ParameterType.RequestBody); + IRestResponse response = client.Execute(request); + delete: + x-request-access-name: IP Filters API + operationId: deleteIamV2IpFilter + summary: Delete an IP Filter + description: |- + [![Limited Availability](https://img.shields.io/badge/Lifecycle%20Stage-Limited%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) [![Request Access To IP Filters API](https://img.shields.io/badge/-Request%20Access%20To%20IP%20Filters%20API-%23bc8540)](mailto:ccloud-api-access+iam-v2-limited-availability@confluent.io?subject=Request%20to%20join%20iam/v2%20API%20Limited%20Availability&body=I%E2%80%99d%20like%20to%20join%20the%20Confluent%20Cloud%20API%20Limited%20Availability%20for%20iam/v2%20to%20provide%20early%20feedback%21%20My%20Cloud%20Organization%20ID%20is%20%3Cretrieve%20from%20https%3A//confluent.cloud/settings/billing/payment%3E.) + + Make a request to delete an IP filter. + parameters: + - name: id + in: path + required: true + schema: + type: string + description: The unique identifier for the IP filter. + tags: + - IP Filters (iam/v2) + security: + - cloud-api-key: [] + - confluent-sts-access-token: [] + responses: + '204': + description: An IP Filter is being deleted. + headers: + X-Request-Id: + schema: + type: string + description: The unique identifier for the API request. + X-RateLimit-Limit: + schema: + type: integer + description: The maximum number of requests you're permitted to make per time period. + X-RateLimit-Remaining: + schema: + type: integer + description: The number of requests remaining in the current rate limit window. + X-RateLimit-Reset: + schema: + type: integer + description: |- + The relative time in seconds until the current rate-limit window resets. + + **Important:** This differs from Github and Twitter's same-named header which uses UTC epoch seconds. We use relative time to avoid client/server time synchronization issues. + '400': + $ref: '#/components/responses/BadRequestError' + '401': + $ref: '#/components/responses/UnauthenticatedError' + '403': + $ref: '#/components/responses/UnauthorizedError' + '404': + $ref: '#/components/responses/NotFoundError' + '429': + $ref: '#/components/responses/RateLimitError' + '500': + $ref: '#/components/responses/DefaultSystemError' + x-codeSamples: + - lang: Shell + source: |- + curl --request DELETE \ + --url 'https://api.confluent.cloud/iam/v2/ip-filters/{id}' \ + --header 'Authorization: Basic REPLACE_BASIC_AUTH' + - lang: Java + source: |- + OkHttpClient client = new OkHttpClient(); + + Request request = new Request.Builder() + .url("https://api.confluent.cloud/iam/v2/ip-filters/{id}") + .delete(null) + .addHeader("Authorization", "Basic REPLACE_BASIC_AUTH") + .build(); + + Response response = client.newCall(request).execute(); + - lang: Go + source: "package main\n\nimport (\n\t\"fmt\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.confluent.cloud/iam/v2/ip-filters/{id}\"\n\n\treq, _ := http.NewRequest(\"DELETE\", url, nil)\n\n\treq.Header.Add(\"Authorization\", \"Basic REPLACE_BASIC_AUTH\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}" + - lang: Python + source: |- + import http.client + + conn = http.client.HTTPSConnection("api.confluent.cloud") + + headers = { 'Authorization': "Basic REPLACE_BASIC_AUTH" } + + conn.request("DELETE", "/iam/v2/ip-filters/{id}", headers=headers) + + res = conn.getresponse() + data = res.read() + + print(data.decode("utf-8")) + - lang: Node + source: |- + const http = require("https"); + + const options = { + "method": "DELETE", + "hostname": "api.confluent.cloud", + "port": null, + "path": "/iam/v2/ip-filters/{id}", + "headers": { + "Authorization": "Basic REPLACE_BASIC_AUTH" + } + }; + + const req = http.request(options, function (res) { + const chunks = []; + + res.on("data", function (chunk) { + chunks.push(chunk); + }); + + res.on("end", function () { + const body = Buffer.concat(chunks); + console.log(body.toString()); + }); + }); + + req.end(); + - lang: C + source: |- + CURL *hnd = curl_easy_init(); + + curl_easy_setopt(hnd, CURLOPT_CUSTOMREQUEST, "DELETE"); + curl_easy_setopt(hnd, CURLOPT_URL, "https://api.confluent.cloud/iam/v2/ip-filters/{id}"); + + struct curl_slist *headers = NULL; + headers = curl_slist_append(headers, "Authorization: Basic REPLACE_BASIC_AUTH"); + curl_easy_setopt(hnd, CURLOPT_HTTPHEADER, headers); + + CURLcode ret = curl_easy_perform(hnd); + - lang: C# + source: |- + var client = new RestClient("https://api.confluent.cloud/iam/v2/ip-filters/{id}"); + var request = new RestRequest(Method.DELETE); + request.AddHeader("Authorization", "Basic REPLACE_BASIC_AUTH"); + IRestResponse response = client.Execute(request); + /iam/v2/role-bindings: + get: + operationId: listIamV2RoleBindings + summary: List of Role Bindings + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + Retrieve a sorted, filtered, paginated list of all role bindings. + parameters: + - name: principal + in: query + required: false + schema: + $ref: '#/components/schemas/SearchFilter' + example: 'User:u-111aaa' + description: Filter the results by exact match for principal. + - name: role_name + in: query + required: false + schema: + $ref: '#/components/schemas/SearchFilter' + example: CloudClusterAdmin + description: Filter the results by exact match for role_name. + - name: crn_pattern + in: query + required: true + schema: + $ref: '#/components/schemas/SearchFilter' + example: 'crn://confluent.cloud/organization=1111aaaa-11aa-11aa-11aa-111111aaaaaa/environment=env-aaa1111/cloud-cluster=lkc-1111aaa' + description: Filter the results by a partial search of crn_pattern. + - name: page_size + in: query + required: false + schema: + type: integer + default: 1000 + maximum: 1000 + x-max-page-items: 1000 + 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: + - Role Bindings (iam/v2) + security: + - cloud-api-key: [] + - confluent-sts-access-token: [] + responses: + '200': + description: Role Binding. + content: + application/json: + schema: + allOf: + - $ref: '#/components/schemas/iam.v2.RoleBindingList' + 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. + + **Important:** This differs from Github and Twitter's same-named header which uses UTC epoch seconds. We use relative time to avoid client/server time synchronization issues. + '400': + $ref: '#/components/responses/BadRequestError' + '401': + $ref: '#/components/responses/UnauthenticatedError' + '403': + $ref: '#/components/responses/UnauthorizedError' + '429': + $ref: '#/components/responses/RateLimitError' + '500': + $ref: '#/components/responses/DefaultSystemError' + x-codeSamples: + - lang: Shell + source: |- + curl --request GET \ + --url 'https://api.confluent.cloud/iam/v2/role-bindings?principal=User:u-111aaa&role_name=CloudClusterAdmin&crn_pattern=crn://confluent.cloud/organization=1111aaaa-11aa-11aa-11aa-111111aaaaaa/environment=env-aaa1111/cloud-cluster=lkc-1111aaa' \ + --header 'Authorization: Basic REPLACE_BASIC_AUTH' + - lang: Java + source: |- + OkHttpClient client = new OkHttpClient(); + + Request request = new Request.Builder() + .url("https://api.confluent.cloud/iam/v2/role-bindings?principal=User:u-111aaa&role_name=CloudClusterAdmin&crn_pattern=crn://confluent.cloud/organization=1111aaaa-11aa-11aa-11aa-111111aaaaaa/environment=env-aaa1111/cloud-cluster=lkc-1111aaa") + .get() + .addHeader("Authorization", "Basic REPLACE_BASIC_AUTH") + .build(); + + Response response = client.newCall(request).execute(); + - lang: Go + source: "package main\n\nimport (\n\t\"fmt\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.confluent.cloud/iam/v2/role-bindings?principal=User:u-111aaa&role_name=CloudClusterAdmin&crn_pattern=crn://confluent.cloud/organization=1111aaaa-11aa-11aa-11aa-111111aaaaaa/environment=env-aaa1111/cloud-cluster=lkc-1111aaa\"\n\n\treq, _ := http.NewRequest(\"GET\", url, nil)\n\n\treq.Header.Add(\"Authorization\", \"Basic REPLACE_BASIC_AUTH\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}" + - lang: Python + source: |- + import http.client + + conn = http.client.HTTPSConnection("api.confluent.cloud") + + headers = { 'Authorization': "Basic REPLACE_BASIC_AUTH" } + + conn.request("GET", "/iam/v2/role-bindings?principal=User:u-111aaa&role_name=CloudClusterAdmin&crn_pattern=crn://confluent.cloud/organization=1111aaaa-11aa-11aa-11aa-111111aaaaaa/environment=env-aaa1111/cloud-cluster=lkc-1111aaa", headers=headers) + + res = conn.getresponse() + data = res.read() + + print(data.decode("utf-8")) + - lang: Node + source: |- + const http = require("https"); + + const options = { + "method": "GET", + "hostname": "api.confluent.cloud", + "port": null, + "path": "/iam/v2/role-bindings?principal=User:u-111aaa&role_name=CloudClusterAdmin&crn_pattern=crn://confluent.cloud/organization=1111aaaa-11aa-11aa-11aa-111111aaaaaa/environment=env-aaa1111/cloud-cluster=lkc-1111aaa", + "headers": { + "Authorization": "Basic REPLACE_BASIC_AUTH" + } + }; + + const req = http.request(options, function (res) { + const chunks = []; + + res.on("data", function (chunk) { + chunks.push(chunk); + }); + + res.on("end", function () { + const body = Buffer.concat(chunks); + console.log(body.toString()); + }); + }); + + req.end(); + - lang: C + source: |- + CURL *hnd = curl_easy_init(); + + curl_easy_setopt(hnd, CURLOPT_CUSTOMREQUEST, "GET"); + curl_easy_setopt(hnd, CURLOPT_URL, "https://api.confluent.cloud/iam/v2/role-bindings?principal=User:u-111aaa&role_name=CloudClusterAdmin&crn_pattern=crn://confluent.cloud/organization=1111aaaa-11aa-11aa-11aa-111111aaaaaa/environment=env-aaa1111/cloud-cluster=lkc-1111aaa"); + + struct curl_slist *headers = NULL; + headers = curl_slist_append(headers, "Authorization: Basic REPLACE_BASIC_AUTH"); + curl_easy_setopt(hnd, CURLOPT_HTTPHEADER, headers); + + CURLcode ret = curl_easy_perform(hnd); + - lang: C# + source: |- + var client = new RestClient("https://api.confluent.cloud/iam/v2/role-bindings?principal=User:u-111aaa&role_name=CloudClusterAdmin&crn_pattern=crn://confluent.cloud/organization=1111aaaa-11aa-11aa-11aa-111111aaaaaa/environment=env-aaa1111/cloud-cluster=lkc-1111aaa"); + var request = new RestRequest(Method.GET); + request.AddHeader("Authorization", "Basic REPLACE_BASIC_AUTH"); + IRestResponse response = client.Execute(request); + post: + operationId: createIamV2RoleBinding + summary: Create a Role Binding + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + Make a request to create a role binding. + tags: + - Role Bindings (iam/v2) + security: + - cloud-api-key: [] + - confluent-sts-access-token: [] + requestBody: + content: + application/json: + schema: + allOf: + - $ref: '#/components/schemas/iam.v2.RoleBinding' + - type: object + required: + - principal + - role_name + - crn_pattern + responses: + '201': + description: A Role Binding was created. + headers: + X-Request-Id: + schema: + type: string + description: The unique identifier for the API request. + X-RateLimit-Limit: + schema: + type: integer + description: The maximum number of requests you're permitted to make per time period. + X-RateLimit-Remaining: + schema: + type: integer + description: The number of requests remaining in the current rate limit window. + X-RateLimit-Reset: + schema: + type: integer + description: |- + The relative time in seconds until the current rate-limit window resets. + + **Important:** This differs from Github and Twitter's same-named header which uses UTC epoch seconds. We use relative time to avoid client/server time synchronization issues. + Location: + schema: + type: string + format: uri + example: 'https://api.confluent.cloud/iam/v2/role-bindings/{id}' + description: RoleBinding resource uri + content: + application/json: + schema: + allOf: + - $ref: '#/components/schemas/iam.v2.RoleBinding' + - type: object + required: + - principal + - role_name + - crn_pattern + '400': + $ref: '#/components/responses/BadRequestError' + '401': + $ref: '#/components/responses/UnauthenticatedError' + '403': + $ref: '#/components/responses/UnauthorizedError' + '409': + $ref: '#/components/responses/ConflictError' + '422': + $ref: '#/components/responses/ValidationError' + '429': + $ref: '#/components/responses/RateLimitError' + '500': + $ref: '#/components/responses/DefaultSystemError' + x-codeSamples: + - lang: Shell + source: |- + curl --request POST \ + --url https://api.confluent.cloud/iam/v2/role-bindings \ + --header 'Authorization: Basic REPLACE_BASIC_AUTH' \ + --header 'content-type: application/json' \ + --data '{"principal":"User:u-111aaa","role_name":"CloudClusterAdmin","crn_pattern":"crn://confluent.cloud/organization=1111aaaa-11aa-11aa-11aa-111111aaaaaa/environment=env-aaa1111/cloud-cluster=lkc-1111aaa"}' + - lang: Java + source: |- + OkHttpClient client = new OkHttpClient(); + + MediaType mediaType = MediaType.parse("application/json"); + RequestBody body = RequestBody.create(mediaType, "{\"principal\":\"User:u-111aaa\",\"role_name\":\"CloudClusterAdmin\",\"crn_pattern\":\"crn://confluent.cloud/organization=1111aaaa-11aa-11aa-11aa-111111aaaaaa/environment=env-aaa1111/cloud-cluster=lkc-1111aaa\"}"); + Request request = new Request.Builder() + .url("https://api.confluent.cloud/iam/v2/role-bindings") + .post(body) + .addHeader("content-type", "application/json") + .addHeader("Authorization", "Basic REPLACE_BASIC_AUTH") + .build(); + + Response response = client.newCall(request).execute(); + - lang: Go + source: "package main\n\nimport (\n\t\"fmt\"\n\t\"strings\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.confluent.cloud/iam/v2/role-bindings\"\n\n\tpayload := strings.NewReader(\"{\\\"principal\\\":\\\"User:u-111aaa\\\",\\\"role_name\\\":\\\"CloudClusterAdmin\\\",\\\"crn_pattern\\\":\\\"crn://confluent.cloud/organization=1111aaaa-11aa-11aa-11aa-111111aaaaaa/environment=env-aaa1111/cloud-cluster=lkc-1111aaa\\\"}\")\n\n\treq, _ := http.NewRequest(\"POST\", url, payload)\n\n\treq.Header.Add(\"content-type\", \"application/json\")\n\treq.Header.Add(\"Authorization\", \"Basic REPLACE_BASIC_AUTH\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}" + - lang: Python + source: |- + import http.client + + conn = http.client.HTTPSConnection("api.confluent.cloud") + + payload = "{\"principal\":\"User:u-111aaa\",\"role_name\":\"CloudClusterAdmin\",\"crn_pattern\":\"crn://confluent.cloud/organization=1111aaaa-11aa-11aa-11aa-111111aaaaaa/environment=env-aaa1111/cloud-cluster=lkc-1111aaa\"}" + + headers = { + 'content-type': "application/json", + 'Authorization': "Basic REPLACE_BASIC_AUTH" + } + + conn.request("POST", "/iam/v2/role-bindings", payload, headers) + + res = conn.getresponse() + data = res.read() + + print(data.decode("utf-8")) + - lang: Node + source: |- + const http = require("https"); + + const options = { + "method": "POST", + "hostname": "api.confluent.cloud", + "port": null, + "path": "/iam/v2/role-bindings", + "headers": { + "content-type": "application/json", + "Authorization": "Basic REPLACE_BASIC_AUTH" + } + }; + + const req = http.request(options, function (res) { + const chunks = []; + + res.on("data", function (chunk) { + chunks.push(chunk); + }); + + res.on("end", function () { + const body = Buffer.concat(chunks); + console.log(body.toString()); + }); + }); + + req.write(JSON.stringify({ + principal: 'User:u-111aaa', + role_name: 'CloudClusterAdmin', + crn_pattern: 'crn://confluent.cloud/organization=1111aaaa-11aa-11aa-11aa-111111aaaaaa/environment=env-aaa1111/cloud-cluster=lkc-1111aaa' + })); + req.end(); + - lang: C + source: |- + CURL *hnd = curl_easy_init(); + + curl_easy_setopt(hnd, CURLOPT_CUSTOMREQUEST, "POST"); + curl_easy_setopt(hnd, CURLOPT_URL, "https://api.confluent.cloud/iam/v2/role-bindings"); + + struct curl_slist *headers = NULL; + headers = curl_slist_append(headers, "content-type: application/json"); + headers = curl_slist_append(headers, "Authorization: Basic REPLACE_BASIC_AUTH"); + curl_easy_setopt(hnd, CURLOPT_HTTPHEADER, headers); + + curl_easy_setopt(hnd, CURLOPT_POSTFIELDS, "{\"principal\":\"User:u-111aaa\",\"role_name\":\"CloudClusterAdmin\",\"crn_pattern\":\"crn://confluent.cloud/organization=1111aaaa-11aa-11aa-11aa-111111aaaaaa/environment=env-aaa1111/cloud-cluster=lkc-1111aaa\"}"); + + CURLcode ret = curl_easy_perform(hnd); + - lang: C# + source: |- + var client = new RestClient("https://api.confluent.cloud/iam/v2/role-bindings"); + var request = new RestRequest(Method.POST); + request.AddHeader("content-type", "application/json"); + request.AddHeader("Authorization", "Basic REPLACE_BASIC_AUTH"); + request.AddParameter("application/json", "{\"principal\":\"User:u-111aaa\",\"role_name\":\"CloudClusterAdmin\",\"crn_pattern\":\"crn://confluent.cloud/organization=1111aaaa-11aa-11aa-11aa-111111aaaaaa/environment=env-aaa1111/cloud-cluster=lkc-1111aaa\"}", ParameterType.RequestBody); + IRestResponse response = client.Execute(request); + '/iam/v2/role-bindings/{id}': + get: + operationId: getIamV2RoleBinding + summary: Read a Role Binding + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + Make a request to read a role binding. + parameters: + - name: id + in: path + required: true + schema: + type: string + description: The unique identifier for the role binding. + tags: + - Role Bindings (iam/v2) + security: + - cloud-api-key: [] + - confluent-sts-access-token: [] + responses: + '200': + description: Role Binding. + content: + application/json: + schema: + allOf: + - $ref: '#/components/schemas/iam.v2.RoleBinding' + - type: object + required: + - api_version + - kind + - id + - principal + - role_name + - crn_pattern + 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. + + **Important:** This differs from Github and Twitter's same-named header which uses UTC epoch seconds. We use relative time to avoid client/server time synchronization issues. + '400': + $ref: '#/components/responses/BadRequestError' + '401': + $ref: '#/components/responses/UnauthenticatedError' + '403': + $ref: '#/components/responses/UnauthorizedError' + '404': + $ref: '#/components/responses/NotFoundError' + '429': + $ref: '#/components/responses/RateLimitError' + '500': + $ref: '#/components/responses/DefaultSystemError' + x-codeSamples: + - lang: Shell + source: |- + curl --request GET \ + --url 'https://api.confluent.cloud/iam/v2/role-bindings/{id}' \ + --header 'Authorization: Basic REPLACE_BASIC_AUTH' + - lang: Java + source: |- + OkHttpClient client = new OkHttpClient(); + + Request request = new Request.Builder() + .url("https://api.confluent.cloud/iam/v2/role-bindings/{id}") + .get() + .addHeader("Authorization", "Basic REPLACE_BASIC_AUTH") + .build(); + + Response response = client.newCall(request).execute(); + - lang: Go + source: "package main\n\nimport (\n\t\"fmt\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.confluent.cloud/iam/v2/role-bindings/{id}\"\n\n\treq, _ := http.NewRequest(\"GET\", url, nil)\n\n\treq.Header.Add(\"Authorization\", \"Basic REPLACE_BASIC_AUTH\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}" + - lang: Python + source: |- + import http.client + + conn = http.client.HTTPSConnection("api.confluent.cloud") + + headers = { 'Authorization': "Basic REPLACE_BASIC_AUTH" } + + conn.request("GET", "/iam/v2/role-bindings/{id}", headers=headers) + + res = conn.getresponse() + data = res.read() + + print(data.decode("utf-8")) + - lang: Node + source: |- + const http = require("https"); + + const options = { + "method": "GET", + "hostname": "api.confluent.cloud", + "port": null, + "path": "/iam/v2/role-bindings/{id}", + "headers": { + "Authorization": "Basic REPLACE_BASIC_AUTH" + } + }; + + const req = http.request(options, function (res) { + const chunks = []; + + res.on("data", function (chunk) { + chunks.push(chunk); + }); + + res.on("end", function () { + const body = Buffer.concat(chunks); + console.log(body.toString()); + }); + }); + + req.end(); + - lang: C + source: |- + CURL *hnd = curl_easy_init(); + + curl_easy_setopt(hnd, CURLOPT_CUSTOMREQUEST, "GET"); + curl_easy_setopt(hnd, CURLOPT_URL, "https://api.confluent.cloud/iam/v2/role-bindings/{id}"); + + struct curl_slist *headers = NULL; + headers = curl_slist_append(headers, "Authorization: Basic REPLACE_BASIC_AUTH"); + curl_easy_setopt(hnd, CURLOPT_HTTPHEADER, headers); + + CURLcode ret = curl_easy_perform(hnd); + - lang: C# + source: |- + var client = new RestClient("https://api.confluent.cloud/iam/v2/role-bindings/{id}"); + var request = new RestRequest(Method.GET); + request.AddHeader("Authorization", "Basic REPLACE_BASIC_AUTH"); + IRestResponse response = client.Execute(request); + delete: + operationId: deleteIamV2RoleBinding + summary: Delete a Role Binding + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + Make a request to delete a role binding. + parameters: + - name: id + in: path + required: true + schema: + type: string + description: The unique identifier for the role binding. + tags: + - Role Bindings (iam/v2) + security: + - cloud-api-key: [] + - confluent-sts-access-token: [] + responses: + '200': + description: A Role Binding is being deleted. + content: + application/json: + schema: + allOf: + - $ref: '#/components/schemas/iam.v2.RoleBinding' + - type: object + required: + - api_version + - kind + - id + - principal + - role_name + - crn_pattern + 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. + + **Important:** This differs from Github and Twitter's same-named header which uses UTC epoch seconds. We use relative time to avoid client/server time synchronization issues. + '400': + $ref: '#/components/responses/BadRequestError' + '401': + $ref: '#/components/responses/UnauthenticatedError' + '403': + $ref: '#/components/responses/UnauthorizedError' + '404': + $ref: '#/components/responses/NotFoundError' + '429': + $ref: '#/components/responses/RateLimitError' + '500': + $ref: '#/components/responses/DefaultSystemError' + x-codeSamples: + - lang: Shell + source: |- + curl --request DELETE \ + --url 'https://api.confluent.cloud/iam/v2/role-bindings/{id}' \ + --header 'Authorization: Basic REPLACE_BASIC_AUTH' + - lang: Java + source: |- + OkHttpClient client = new OkHttpClient(); + + Request request = new Request.Builder() + .url("https://api.confluent.cloud/iam/v2/role-bindings/{id}") + .delete(null) + .addHeader("Authorization", "Basic REPLACE_BASIC_AUTH") + .build(); + + Response response = client.newCall(request).execute(); + - lang: Go + source: "package main\n\nimport (\n\t\"fmt\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.confluent.cloud/iam/v2/role-bindings/{id}\"\n\n\treq, _ := http.NewRequest(\"DELETE\", url, nil)\n\n\treq.Header.Add(\"Authorization\", \"Basic REPLACE_BASIC_AUTH\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}" + - lang: Python + source: |- + import http.client + + conn = http.client.HTTPSConnection("api.confluent.cloud") + + headers = { 'Authorization': "Basic REPLACE_BASIC_AUTH" } + + conn.request("DELETE", "/iam/v2/role-bindings/{id}", headers=headers) + + res = conn.getresponse() + data = res.read() + + print(data.decode("utf-8")) + - lang: Node + source: |- + const http = require("https"); + + const options = { + "method": "DELETE", + "hostname": "api.confluent.cloud", + "port": null, + "path": "/iam/v2/role-bindings/{id}", + "headers": { + "Authorization": "Basic REPLACE_BASIC_AUTH" + } + }; + + const req = http.request(options, function (res) { + const chunks = []; + + res.on("data", function (chunk) { + chunks.push(chunk); + }); + + res.on("end", function () { + const body = Buffer.concat(chunks); + console.log(body.toString()); + }); + }); + + req.end(); + - lang: C + source: |- + CURL *hnd = curl_easy_init(); + + curl_easy_setopt(hnd, CURLOPT_CUSTOMREQUEST, "DELETE"); + curl_easy_setopt(hnd, CURLOPT_URL, "https://api.confluent.cloud/iam/v2/role-bindings/{id}"); + + struct curl_slist *headers = NULL; + headers = curl_slist_append(headers, "Authorization: Basic REPLACE_BASIC_AUTH"); + curl_easy_setopt(hnd, CURLOPT_HTTPHEADER, headers); + + CURLcode ret = curl_easy_perform(hnd); + - lang: C# + source: |- + var client = new RestClient("https://api.confluent.cloud/iam/v2/role-bindings/{id}"); + var request = new RestRequest(Method.DELETE); + request.AddHeader("Authorization", "Basic REPLACE_BASIC_AUTH"); + IRestResponse response = client.Execute(request); + /iam/v2/identity-providers: + get: + operationId: listIamV2IdentityProviders + summary: List of Identity Providers + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + Retrieve a sorted, filtered, paginated list of all identity providers. + parameters: + - name: page_size + in: query + required: false + schema: + type: integer + default: 10 + maximum: 100 + x-max-page-items: 255 + 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: + - Identity Providers (iam/v2) + security: + - cloud-api-key: [] + - confluent-sts-access-token: [] + responses: + '200': + description: Identity Provider. + content: + application/json: + schema: + allOf: + - $ref: '#/components/schemas/iam.v2.IdentityProviderList' + 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. + + **Important:** This differs from Github and Twitter's same-named header which uses UTC epoch seconds. We use relative time to avoid client/server time synchronization issues. + '400': + $ref: '#/components/responses/BadRequestError' + '401': + $ref: '#/components/responses/UnauthenticatedError' + '403': + $ref: '#/components/responses/UnauthorizedError' + '429': + $ref: '#/components/responses/RateLimitError' + '500': + $ref: '#/components/responses/DefaultSystemError' + x-codeSamples: + - lang: Shell + source: |- + curl --request GET \ + --url https://api.confluent.cloud/iam/v2/identity-providers \ + --header 'Authorization: Basic REPLACE_BASIC_AUTH' + - lang: Java + source: |- + OkHttpClient client = new OkHttpClient(); + + Request request = new Request.Builder() + .url("https://api.confluent.cloud/iam/v2/identity-providers") + .get() + .addHeader("Authorization", "Basic REPLACE_BASIC_AUTH") + .build(); + + Response response = client.newCall(request).execute(); + - lang: Go + source: "package main\n\nimport (\n\t\"fmt\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.confluent.cloud/iam/v2/identity-providers\"\n\n\treq, _ := http.NewRequest(\"GET\", url, nil)\n\n\treq.Header.Add(\"Authorization\", \"Basic REPLACE_BASIC_AUTH\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}" + - lang: Python + source: |- + import http.client + + conn = http.client.HTTPSConnection("api.confluent.cloud") + + headers = { 'Authorization': "Basic REPLACE_BASIC_AUTH" } + + conn.request("GET", "/iam/v2/identity-providers", headers=headers) + + res = conn.getresponse() + data = res.read() + + print(data.decode("utf-8")) + - lang: Node + source: |- + const http = require("https"); + + const options = { + "method": "GET", + "hostname": "api.confluent.cloud", + "port": null, + "path": "/iam/v2/identity-providers", + "headers": { + "Authorization": "Basic REPLACE_BASIC_AUTH" + } + }; + + const req = http.request(options, function (res) { + const chunks = []; + + res.on("data", function (chunk) { + chunks.push(chunk); + }); + + res.on("end", function () { + const body = Buffer.concat(chunks); + console.log(body.toString()); + }); + }); + + req.end(); + - lang: C + source: |- + CURL *hnd = curl_easy_init(); + + curl_easy_setopt(hnd, CURLOPT_CUSTOMREQUEST, "GET"); + curl_easy_setopt(hnd, CURLOPT_URL, "https://api.confluent.cloud/iam/v2/identity-providers"); + + struct curl_slist *headers = NULL; + headers = curl_slist_append(headers, "Authorization: Basic REPLACE_BASIC_AUTH"); + curl_easy_setopt(hnd, CURLOPT_HTTPHEADER, headers); + + CURLcode ret = curl_easy_perform(hnd); + - lang: C# + source: |- + var client = new RestClient("https://api.confluent.cloud/iam/v2/identity-providers"); + var request = new RestRequest(Method.GET); + request.AddHeader("Authorization", "Basic REPLACE_BASIC_AUTH"); + IRestResponse response = client.Execute(request); + post: + operationId: createIamV2IdentityProvider + summary: Create an Identity Provider + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + Make a request to create an identity provider. + tags: + - Identity Providers (iam/v2) + security: + - cloud-api-key: [] + - confluent-sts-access-token: [] + requestBody: + content: + application/json: + schema: + allOf: + - $ref: '#/components/schemas/iam.v2.IdentityProvider' + - type: object + required: + - display_name + - description + - issuer + - jwks_uri + responses: + '201': + description: An Identity Provider was created. + headers: + X-Request-Id: + schema: + type: string + description: The unique identifier for the API request. + X-RateLimit-Limit: + schema: + type: integer + description: The maximum number of requests you're permitted to make per time period. + X-RateLimit-Remaining: + schema: + type: integer + description: The number of requests remaining in the current rate limit window. + X-RateLimit-Reset: + schema: + type: integer + description: |- + The relative time in seconds until the current rate-limit window resets. + + **Important:** This differs from Github and Twitter's same-named header which uses UTC epoch seconds. We use relative time to avoid client/server time synchronization issues. + Location: + schema: + type: string + format: uri + example: 'https://api.confluent.cloud/iam/v2/identity-providers/{id}' + description: IdentityProvider resource uri + content: + application/json: + schema: + allOf: + - $ref: '#/components/schemas/iam.v2.IdentityProvider' + - type: object + required: + - display_name + - description + - issuer + - jwks_uri + '400': + $ref: '#/components/responses/BadRequestError' + '401': + $ref: '#/components/responses/UnauthenticatedError' + '402': + $ref: '#/components/responses/OverQuotaError' + '403': + $ref: '#/components/responses/UnauthorizedError' + '409': + $ref: '#/components/responses/ConflictError' + '422': + $ref: '#/components/responses/ValidationError' + '429': + $ref: '#/components/responses/RateLimitError' + '500': + $ref: '#/components/responses/DefaultSystemError' + x-codeSamples: + - lang: Shell + source: |- + curl --request POST \ + --url https://api.confluent.cloud/iam/v2/identity-providers \ + --header 'Authorization: Basic REPLACE_BASIC_AUTH' \ + --header 'content-type: application/json' \ + --data '{"display_name":"My OIDC Provider","description":"string","issuer":"https://login.microsoftonline.com/{tenantid}/v2.0","jwks_uri":"https://login.microsoftonline.com/common/discovery/v2.0/keys"}' + - lang: Java + source: |- + OkHttpClient client = new OkHttpClient(); + + MediaType mediaType = MediaType.parse("application/json"); + RequestBody body = RequestBody.create(mediaType, "{\"display_name\":\"My OIDC Provider\",\"description\":\"string\",\"issuer\":\"https://login.microsoftonline.com/{tenantid}/v2.0\",\"jwks_uri\":\"https://login.microsoftonline.com/common/discovery/v2.0/keys\"}"); + Request request = new Request.Builder() + .url("https://api.confluent.cloud/iam/v2/identity-providers") + .post(body) + .addHeader("content-type", "application/json") + .addHeader("Authorization", "Basic REPLACE_BASIC_AUTH") + .build(); + + Response response = client.newCall(request).execute(); + - lang: Go + source: "package main\n\nimport (\n\t\"fmt\"\n\t\"strings\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.confluent.cloud/iam/v2/identity-providers\"\n\n\tpayload := strings.NewReader(\"{\\\"display_name\\\":\\\"My OIDC Provider\\\",\\\"description\\\":\\\"string\\\",\\\"issuer\\\":\\\"https://login.microsoftonline.com/{tenantid}/v2.0\\\",\\\"jwks_uri\\\":\\\"https://login.microsoftonline.com/common/discovery/v2.0/keys\\\"}\")\n\n\treq, _ := http.NewRequest(\"POST\", url, payload)\n\n\treq.Header.Add(\"content-type\", \"application/json\")\n\treq.Header.Add(\"Authorization\", \"Basic REPLACE_BASIC_AUTH\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}" + - lang: Python + source: |- + import http.client + + conn = http.client.HTTPSConnection("api.confluent.cloud") + + payload = "{\"display_name\":\"My OIDC Provider\",\"description\":\"string\",\"issuer\":\"https://login.microsoftonline.com/{tenantid}/v2.0\",\"jwks_uri\":\"https://login.microsoftonline.com/common/discovery/v2.0/keys\"}" + + headers = { + 'content-type': "application/json", + 'Authorization': "Basic REPLACE_BASIC_AUTH" + } + + conn.request("POST", "/iam/v2/identity-providers", payload, headers) + + res = conn.getresponse() + data = res.read() + + print(data.decode("utf-8")) + - lang: Node + source: |- + const http = require("https"); + + const options = { + "method": "POST", + "hostname": "api.confluent.cloud", + "port": null, + "path": "/iam/v2/identity-providers", + "headers": { + "content-type": "application/json", + "Authorization": "Basic REPLACE_BASIC_AUTH" + } + }; + + const req = http.request(options, function (res) { + const chunks = []; + + res.on("data", function (chunk) { + chunks.push(chunk); + }); + + res.on("end", function () { + const body = Buffer.concat(chunks); + console.log(body.toString()); + }); + }); + + req.write(JSON.stringify({ + display_name: 'My OIDC Provider', + description: 'string', + issuer: 'https://login.microsoftonline.com/{tenantid}/v2.0', + jwks_uri: 'https://login.microsoftonline.com/common/discovery/v2.0/keys' + })); + req.end(); + - lang: C + source: |- + CURL *hnd = curl_easy_init(); + + curl_easy_setopt(hnd, CURLOPT_CUSTOMREQUEST, "POST"); + curl_easy_setopt(hnd, CURLOPT_URL, "https://api.confluent.cloud/iam/v2/identity-providers"); + + struct curl_slist *headers = NULL; + headers = curl_slist_append(headers, "content-type: application/json"); + headers = curl_slist_append(headers, "Authorization: Basic REPLACE_BASIC_AUTH"); + curl_easy_setopt(hnd, CURLOPT_HTTPHEADER, headers); + + curl_easy_setopt(hnd, CURLOPT_POSTFIELDS, "{\"display_name\":\"My OIDC Provider\",\"description\":\"string\",\"issuer\":\"https://login.microsoftonline.com/{tenantid}/v2.0\",\"jwks_uri\":\"https://login.microsoftonline.com/common/discovery/v2.0/keys\"}"); + + CURLcode ret = curl_easy_perform(hnd); + - lang: C# + source: |- + var client = new RestClient("https://api.confluent.cloud/iam/v2/identity-providers"); + var request = new RestRequest(Method.POST); + request.AddHeader("content-type", "application/json"); + request.AddHeader("Authorization", "Basic REPLACE_BASIC_AUTH"); + request.AddParameter("application/json", "{\"display_name\":\"My OIDC Provider\",\"description\":\"string\",\"issuer\":\"https://login.microsoftonline.com/{tenantid}/v2.0\",\"jwks_uri\":\"https://login.microsoftonline.com/common/discovery/v2.0/keys\"}", ParameterType.RequestBody); + IRestResponse response = client.Execute(request); + '/iam/v2/identity-providers/{id}': + get: + operationId: getIamV2IdentityProvider + summary: Read an Identity Provider + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + Make a request to read an identity provider. + parameters: + - name: id + in: path + required: true + schema: + type: string + description: The unique identifier for the identity provider. + tags: + - Identity Providers (iam/v2) + security: + - cloud-api-key: [] + - confluent-sts-access-token: [] + responses: + '200': + description: Identity Provider. + content: + application/json: + schema: + allOf: + - $ref: '#/components/schemas/iam.v2.IdentityProvider' + - type: object + required: + - api_version + - kind + - id + - display_name + - description + - state + - issuer + - jwks_uri + 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. + + **Important:** This differs from Github and Twitter's same-named header which uses UTC epoch seconds. We use relative time to avoid client/server time synchronization issues. + '400': + $ref: '#/components/responses/BadRequestError' + '401': + $ref: '#/components/responses/UnauthenticatedError' + '403': + $ref: '#/components/responses/UnauthorizedError' + '404': + $ref: '#/components/responses/NotFoundError' + '429': + $ref: '#/components/responses/RateLimitError' + '500': + $ref: '#/components/responses/DefaultSystemError' + x-codeSamples: + - lang: Shell + source: |- + curl --request GET \ + --url 'https://api.confluent.cloud/iam/v2/identity-providers/{id}' \ + --header 'Authorization: Basic REPLACE_BASIC_AUTH' + - lang: Java + source: |- + OkHttpClient client = new OkHttpClient(); + + Request request = new Request.Builder() + .url("https://api.confluent.cloud/iam/v2/identity-providers/{id}") + .get() + .addHeader("Authorization", "Basic REPLACE_BASIC_AUTH") + .build(); + + Response response = client.newCall(request).execute(); + - lang: Go + source: "package main\n\nimport (\n\t\"fmt\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.confluent.cloud/iam/v2/identity-providers/{id}\"\n\n\treq, _ := http.NewRequest(\"GET\", url, nil)\n\n\treq.Header.Add(\"Authorization\", \"Basic REPLACE_BASIC_AUTH\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}" + - lang: Python + source: |- + import http.client + + conn = http.client.HTTPSConnection("api.confluent.cloud") + + headers = { 'Authorization': "Basic REPLACE_BASIC_AUTH" } + + conn.request("GET", "/iam/v2/identity-providers/{id}", headers=headers) + + res = conn.getresponse() + data = res.read() + + print(data.decode("utf-8")) + - lang: Node + source: |- + const http = require("https"); + + const options = { + "method": "GET", + "hostname": "api.confluent.cloud", + "port": null, + "path": "/iam/v2/identity-providers/{id}", + "headers": { + "Authorization": "Basic REPLACE_BASIC_AUTH" + } + }; + + const req = http.request(options, function (res) { + const chunks = []; + + res.on("data", function (chunk) { + chunks.push(chunk); + }); + + res.on("end", function () { + const body = Buffer.concat(chunks); + console.log(body.toString()); + }); + }); + + req.end(); + - lang: C + source: |- + CURL *hnd = curl_easy_init(); + + curl_easy_setopt(hnd, CURLOPT_CUSTOMREQUEST, "GET"); + curl_easy_setopt(hnd, CURLOPT_URL, "https://api.confluent.cloud/iam/v2/identity-providers/{id}"); + + struct curl_slist *headers = NULL; + headers = curl_slist_append(headers, "Authorization: Basic REPLACE_BASIC_AUTH"); + curl_easy_setopt(hnd, CURLOPT_HTTPHEADER, headers); + + CURLcode ret = curl_easy_perform(hnd); + - lang: C# + source: |- + var client = new RestClient("https://api.confluent.cloud/iam/v2/identity-providers/{id}"); + var request = new RestRequest(Method.GET); + request.AddHeader("Authorization", "Basic REPLACE_BASIC_AUTH"); + IRestResponse response = client.Execute(request); + patch: + operationId: updateIamV2IdentityProvider + summary: Update an Identity Provider + description: |+ + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + Make a request to update an identity provider. + + parameters: + - name: id + in: path + required: true + schema: + type: string + description: The unique identifier for the identity provider. + tags: + - Identity Providers (iam/v2) + security: + - cloud-api-key: [] + - confluent-sts-access-token: [] + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/iam.v2.IdentityProvider' + responses: + '200': + description: Identity Provider. + content: + application/json: + schema: + allOf: + - $ref: '#/components/schemas/iam.v2.IdentityProvider' + - type: object + required: + - api_version + - kind + - id + - display_name + - description + - state + - issuer + - jwks_uri + 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. + + **Important:** This differs from Github and Twitter's same-named header which uses UTC epoch seconds. We use relative time to avoid client/server time synchronization issues. + '400': + $ref: '#/components/responses/BadRequestError' + '401': + $ref: '#/components/responses/UnauthenticatedError' + '402': + $ref: '#/components/responses/OverQuotaError' + '403': + $ref: '#/components/responses/UnauthorizedError' + '404': + $ref: '#/components/responses/NotFoundError' + '409': + $ref: '#/components/responses/ConflictError' + '422': + $ref: '#/components/responses/ValidationError' + '429': + $ref: '#/components/responses/RateLimitError' + '500': + $ref: '#/components/responses/DefaultSystemError' + x-codeSamples: + - lang: Shell + source: |- + curl --request PATCH \ + --url 'https://api.confluent.cloud/iam/v2/identity-providers/{id}' \ + --header 'Authorization: Basic REPLACE_BASIC_AUTH' \ + --header 'content-type: application/json' \ + --data '{"display_name":"My OIDC Provider","description":"string","issuer":"https://login.microsoftonline.com/{tenantid}/v2.0","jwks_uri":"https://login.microsoftonline.com/common/discovery/v2.0/keys"}' + - lang: Java + source: |- + OkHttpClient client = new OkHttpClient(); + + MediaType mediaType = MediaType.parse("application/json"); + RequestBody body = RequestBody.create(mediaType, "{\"display_name\":\"My OIDC Provider\",\"description\":\"string\",\"issuer\":\"https://login.microsoftonline.com/{tenantid}/v2.0\",\"jwks_uri\":\"https://login.microsoftonline.com/common/discovery/v2.0/keys\"}"); + Request request = new Request.Builder() + .url("https://api.confluent.cloud/iam/v2/identity-providers/{id}") + .patch(body) + .addHeader("content-type", "application/json") + .addHeader("Authorization", "Basic REPLACE_BASIC_AUTH") + .build(); + + Response response = client.newCall(request).execute(); + - lang: Go + source: "package main\n\nimport (\n\t\"fmt\"\n\t\"strings\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.confluent.cloud/iam/v2/identity-providers/{id}\"\n\n\tpayload := strings.NewReader(\"{\\\"display_name\\\":\\\"My OIDC Provider\\\",\\\"description\\\":\\\"string\\\",\\\"issuer\\\":\\\"https://login.microsoftonline.com/{tenantid}/v2.0\\\",\\\"jwks_uri\\\":\\\"https://login.microsoftonline.com/common/discovery/v2.0/keys\\\"}\")\n\n\treq, _ := http.NewRequest(\"PATCH\", url, payload)\n\n\treq.Header.Add(\"content-type\", \"application/json\")\n\treq.Header.Add(\"Authorization\", \"Basic REPLACE_BASIC_AUTH\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}" + - lang: Python + source: |- + import http.client + + conn = http.client.HTTPSConnection("api.confluent.cloud") + + payload = "{\"display_name\":\"My OIDC Provider\",\"description\":\"string\",\"issuer\":\"https://login.microsoftonline.com/{tenantid}/v2.0\",\"jwks_uri\":\"https://login.microsoftonline.com/common/discovery/v2.0/keys\"}" + + headers = { + 'content-type': "application/json", + 'Authorization': "Basic REPLACE_BASIC_AUTH" + } + + conn.request("PATCH", "/iam/v2/identity-providers/{id}", payload, headers) + + res = conn.getresponse() + data = res.read() + + print(data.decode("utf-8")) + - lang: Node + source: |- + const http = require("https"); + + const options = { + "method": "PATCH", + "hostname": "api.confluent.cloud", + "port": null, + "path": "/iam/v2/identity-providers/{id}", + "headers": { + "content-type": "application/json", + "Authorization": "Basic REPLACE_BASIC_AUTH" + } + }; + + const req = http.request(options, function (res) { + const chunks = []; + + res.on("data", function (chunk) { + chunks.push(chunk); + }); + + res.on("end", function () { + const body = Buffer.concat(chunks); + console.log(body.toString()); + }); + }); + + req.write(JSON.stringify({ + display_name: 'My OIDC Provider', + description: 'string', + issuer: 'https://login.microsoftonline.com/{tenantid}/v2.0', + jwks_uri: 'https://login.microsoftonline.com/common/discovery/v2.0/keys' + })); + req.end(); + - lang: C + source: |- + CURL *hnd = curl_easy_init(); + + curl_easy_setopt(hnd, CURLOPT_CUSTOMREQUEST, "PATCH"); + curl_easy_setopt(hnd, CURLOPT_URL, "https://api.confluent.cloud/iam/v2/identity-providers/{id}"); + + struct curl_slist *headers = NULL; + headers = curl_slist_append(headers, "content-type: application/json"); + headers = curl_slist_append(headers, "Authorization: Basic REPLACE_BASIC_AUTH"); + curl_easy_setopt(hnd, CURLOPT_HTTPHEADER, headers); + + curl_easy_setopt(hnd, CURLOPT_POSTFIELDS, "{\"display_name\":\"My OIDC Provider\",\"description\":\"string\",\"issuer\":\"https://login.microsoftonline.com/{tenantid}/v2.0\",\"jwks_uri\":\"https://login.microsoftonline.com/common/discovery/v2.0/keys\"}"); + + CURLcode ret = curl_easy_perform(hnd); + - lang: C# + source: |- + var client = new RestClient("https://api.confluent.cloud/iam/v2/identity-providers/{id}"); + var request = new RestRequest(Method.PATCH); + request.AddHeader("content-type", "application/json"); + request.AddHeader("Authorization", "Basic REPLACE_BASIC_AUTH"); + request.AddParameter("application/json", "{\"display_name\":\"My OIDC Provider\",\"description\":\"string\",\"issuer\":\"https://login.microsoftonline.com/{tenantid}/v2.0\",\"jwks_uri\":\"https://login.microsoftonline.com/common/discovery/v2.0/keys\"}", ParameterType.RequestBody); + IRestResponse response = client.Execute(request); + delete: + operationId: deleteIamV2IdentityProvider + summary: Delete an Identity Provider + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + Make a request to delete an identity provider. + parameters: + - name: id + in: path + required: true + schema: + type: string + description: The unique identifier for the identity provider. + tags: + - Identity Providers (iam/v2) + security: + - cloud-api-key: [] + - confluent-sts-access-token: [] + responses: + '204': + description: An Identity Provider is being deleted. + headers: + X-Request-Id: + schema: + type: string + description: The unique identifier for the API request. + X-RateLimit-Limit: + schema: + type: integer + description: The maximum number of requests you're permitted to make per time period. + X-RateLimit-Remaining: + schema: + type: integer + description: The number of requests remaining in the current rate limit window. + X-RateLimit-Reset: + schema: + type: integer + description: |- + The relative time in seconds until the current rate-limit window resets. + + **Important:** This differs from Github and Twitter's same-named header which uses UTC epoch seconds. We use relative time to avoid client/server time synchronization issues. + '400': + $ref: '#/components/responses/BadRequestError' + '401': + $ref: '#/components/responses/UnauthenticatedError' + '403': + $ref: '#/components/responses/UnauthorizedError' + '404': + $ref: '#/components/responses/NotFoundError' + '429': + $ref: '#/components/responses/RateLimitError' + '500': + $ref: '#/components/responses/DefaultSystemError' + x-codeSamples: + - lang: Shell + source: |- + curl --request DELETE \ + --url 'https://api.confluent.cloud/iam/v2/identity-providers/{id}' \ + --header 'Authorization: Basic REPLACE_BASIC_AUTH' + - lang: Java + source: |- + OkHttpClient client = new OkHttpClient(); + + Request request = new Request.Builder() + .url("https://api.confluent.cloud/iam/v2/identity-providers/{id}") + .delete(null) + .addHeader("Authorization", "Basic REPLACE_BASIC_AUTH") + .build(); + + Response response = client.newCall(request).execute(); + - lang: Go + source: "package main\n\nimport (\n\t\"fmt\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.confluent.cloud/iam/v2/identity-providers/{id}\"\n\n\treq, _ := http.NewRequest(\"DELETE\", url, nil)\n\n\treq.Header.Add(\"Authorization\", \"Basic REPLACE_BASIC_AUTH\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}" + - lang: Python + source: |- + import http.client + + conn = http.client.HTTPSConnection("api.confluent.cloud") + + headers = { 'Authorization': "Basic REPLACE_BASIC_AUTH" } + + conn.request("DELETE", "/iam/v2/identity-providers/{id}", headers=headers) + + res = conn.getresponse() + data = res.read() + + print(data.decode("utf-8")) + - lang: Node + source: |- + const http = require("https"); + + const options = { + "method": "DELETE", + "hostname": "api.confluent.cloud", + "port": null, + "path": "/iam/v2/identity-providers/{id}", + "headers": { + "Authorization": "Basic REPLACE_BASIC_AUTH" + } + }; + + const req = http.request(options, function (res) { + const chunks = []; + + res.on("data", function (chunk) { + chunks.push(chunk); + }); + + res.on("end", function () { + const body = Buffer.concat(chunks); + console.log(body.toString()); + }); + }); + + req.end(); + - lang: C + source: |- + CURL *hnd = curl_easy_init(); + + curl_easy_setopt(hnd, CURLOPT_CUSTOMREQUEST, "DELETE"); + curl_easy_setopt(hnd, CURLOPT_URL, "https://api.confluent.cloud/iam/v2/identity-providers/{id}"); + + struct curl_slist *headers = NULL; + headers = curl_slist_append(headers, "Authorization: Basic REPLACE_BASIC_AUTH"); + curl_easy_setopt(hnd, CURLOPT_HTTPHEADER, headers); + + CURLcode ret = curl_easy_perform(hnd); + - lang: C# + source: |- + var client = new RestClient("https://api.confluent.cloud/iam/v2/identity-providers/{id}"); + var request = new RestRequest(Method.DELETE); + request.AddHeader("Authorization", "Basic REPLACE_BASIC_AUTH"); + IRestResponse response = client.Execute(request); + '/iam/v2/identity-providers/{provider_id}/jwks': + patch: + summary: Refresh a provider's JWKS + description: |+ + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + Make a request to refresh the provider's JWKS + + operationId: refreshIamV2JsonWebKeySet + parameters: + - name: provider_id + in: path + required: true + schema: + type: string + description: The Provider + tags: + - Jwks (iam/v2) + security: + - cloud-api-key: [] + - confluent-sts-access-token: [] + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/iam.v2.Jwks' + responses: + '200': + description: Jwks. + content: + application/json: + schema: + allOf: + - $ref: '#/components/schemas/iam.v2.Jwks' + - type: object + required: + - api_version + - kind + - spec + properties: + spec: + type: object + required: + - jwks_status + 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. + + **Important:** This differs from Github and Twitter's same-named header which uses UTC epoch seconds. We use relative time to avoid client/server time synchronization issues. + '400': + $ref: '#/components/responses/BadRequestError' + '401': + $ref: '#/components/responses/UnauthenticatedError' + '403': + $ref: '#/components/responses/UnauthorizedError' + '404': + $ref: '#/components/responses/NotFoundError' + '409': + $ref: '#/components/responses/ConflictError' + '422': + $ref: '#/components/responses/ValidationError' + '429': + $ref: '#/components/responses/RateLimitError' + '500': + $ref: '#/components/responses/DefaultSystemError' + x-codeSamples: + - lang: Shell + source: |- + curl --request PATCH \ + --url 'https://api.confluent.cloud/iam/v2/identity-providers/{provider_id}/jwks' \ + --header 'Authorization: Basic REPLACE_BASIC_AUTH' \ + --header 'content-type: application/json' \ + --data '{"spec":{"jwks_status":"REFRESHED"}}' + - lang: Java + source: |- + OkHttpClient client = new OkHttpClient(); + + MediaType mediaType = MediaType.parse("application/json"); + RequestBody body = RequestBody.create(mediaType, "{\"spec\":{\"jwks_status\":\"REFRESHED\"}}"); + Request request = new Request.Builder() + .url("https://api.confluent.cloud/iam/v2/identity-providers/{provider_id}/jwks") + .patch(body) + .addHeader("content-type", "application/json") + .addHeader("Authorization", "Basic REPLACE_BASIC_AUTH") + .build(); + + Response response = client.newCall(request).execute(); + - lang: Go + source: "package main\n\nimport (\n\t\"fmt\"\n\t\"strings\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.confluent.cloud/iam/v2/identity-providers/{provider_id}/jwks\"\n\n\tpayload := strings.NewReader(\"{\\\"spec\\\":{\\\"jwks_status\\\":\\\"REFRESHED\\\"}}\")\n\n\treq, _ := http.NewRequest(\"PATCH\", url, payload)\n\n\treq.Header.Add(\"content-type\", \"application/json\")\n\treq.Header.Add(\"Authorization\", \"Basic REPLACE_BASIC_AUTH\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}" + - lang: Python + source: |- + import http.client + + conn = http.client.HTTPSConnection("api.confluent.cloud") + + payload = "{\"spec\":{\"jwks_status\":\"REFRESHED\"}}" + + headers = { + 'content-type': "application/json", + 'Authorization': "Basic REPLACE_BASIC_AUTH" + } + + conn.request("PATCH", "/iam/v2/identity-providers/{provider_id}/jwks", payload, headers) + + res = conn.getresponse() + data = res.read() + + print(data.decode("utf-8")) + - lang: Node + source: |- + const http = require("https"); + + const options = { + "method": "PATCH", + "hostname": "api.confluent.cloud", + "port": null, + "path": "/iam/v2/identity-providers/{provider_id}/jwks", + "headers": { + "content-type": "application/json", + "Authorization": "Basic REPLACE_BASIC_AUTH" + } + }; + + const req = http.request(options, function (res) { + const chunks = []; + + res.on("data", function (chunk) { + chunks.push(chunk); + }); + + res.on("end", function () { + const body = Buffer.concat(chunks); + console.log(body.toString()); + }); + }); + + req.write(JSON.stringify({spec: {jwks_status: 'REFRESHED'}})); + req.end(); + - lang: C + source: |- + CURL *hnd = curl_easy_init(); + + curl_easy_setopt(hnd, CURLOPT_CUSTOMREQUEST, "PATCH"); + curl_easy_setopt(hnd, CURLOPT_URL, "https://api.confluent.cloud/iam/v2/identity-providers/{provider_id}/jwks"); + + struct curl_slist *headers = NULL; + headers = curl_slist_append(headers, "content-type: application/json"); + headers = curl_slist_append(headers, "Authorization: Basic REPLACE_BASIC_AUTH"); + curl_easy_setopt(hnd, CURLOPT_HTTPHEADER, headers); + + curl_easy_setopt(hnd, CURLOPT_POSTFIELDS, "{\"spec\":{\"jwks_status\":\"REFRESHED\"}}"); + + CURLcode ret = curl_easy_perform(hnd); + - lang: C# + source: |- + var client = new RestClient("https://api.confluent.cloud/iam/v2/identity-providers/{provider_id}/jwks"); + var request = new RestRequest(Method.PATCH); + request.AddHeader("content-type", "application/json"); + request.AddHeader("Authorization", "Basic REPLACE_BASIC_AUTH"); + request.AddParameter("application/json", "{\"spec\":{\"jwks_status\":\"REFRESHED\"}}", ParameterType.RequestBody); + IRestResponse response = client.Execute(request); + '/iam/v2/identity-providers/{provider_id}/identity-pools': + get: + operationId: listIamV2IdentityPools + summary: List of Identity Pools + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + Retrieve a sorted, filtered, paginated list of all identity pools. + parameters: + - name: page_size + in: query + required: false + schema: + type: integer + default: 10 + maximum: 100 + x-max-page-items: 255 + 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. + - name: provider_id + in: path + required: true + schema: + type: string + description: The Provider + tags: + - Identity Pools (iam/v2) + security: + - cloud-api-key: [] + - confluent-sts-access-token: [] + responses: + '200': + description: Identity Pool. + content: + application/json: + schema: + allOf: + - $ref: '#/components/schemas/iam.v2.IdentityPoolList' + 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. + + **Important:** This differs from Github and Twitter's same-named header which uses UTC epoch seconds. We use relative time to avoid client/server time synchronization issues. + '400': + $ref: '#/components/responses/BadRequestError' + '401': + $ref: '#/components/responses/UnauthenticatedError' + '403': + $ref: '#/components/responses/UnauthorizedError' + '429': + $ref: '#/components/responses/RateLimitError' + '500': + $ref: '#/components/responses/DefaultSystemError' + x-codeSamples: + - lang: Shell + source: |- + curl --request GET \ + --url 'https://api.confluent.cloud/iam/v2/identity-providers/{provider_id}/identity-pools' \ + --header 'Authorization: Basic REPLACE_BASIC_AUTH' + - lang: Java + source: |- + OkHttpClient client = new OkHttpClient(); + + Request request = new Request.Builder() + .url("https://api.confluent.cloud/iam/v2/identity-providers/{provider_id}/identity-pools") + .get() + .addHeader("Authorization", "Basic REPLACE_BASIC_AUTH") + .build(); + + Response response = client.newCall(request).execute(); + - lang: Go + source: "package main\n\nimport (\n\t\"fmt\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.confluent.cloud/iam/v2/identity-providers/{provider_id}/identity-pools\"\n\n\treq, _ := http.NewRequest(\"GET\", url, nil)\n\n\treq.Header.Add(\"Authorization\", \"Basic REPLACE_BASIC_AUTH\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}" + - lang: Python + source: |- + import http.client + + conn = http.client.HTTPSConnection("api.confluent.cloud") + + headers = { 'Authorization': "Basic REPLACE_BASIC_AUTH" } + + conn.request("GET", "/iam/v2/identity-providers/{provider_id}/identity-pools", headers=headers) + + res = conn.getresponse() + data = res.read() + + print(data.decode("utf-8")) + - lang: Node + source: |- + const http = require("https"); + + const options = { + "method": "GET", + "hostname": "api.confluent.cloud", + "port": null, + "path": "/iam/v2/identity-providers/{provider_id}/identity-pools", + "headers": { + "Authorization": "Basic REPLACE_BASIC_AUTH" + } + }; + + const req = http.request(options, function (res) { + const chunks = []; + + res.on("data", function (chunk) { + chunks.push(chunk); + }); + + res.on("end", function () { + const body = Buffer.concat(chunks); + console.log(body.toString()); + }); + }); + + req.end(); + - lang: C + source: |- + CURL *hnd = curl_easy_init(); + + curl_easy_setopt(hnd, CURLOPT_CUSTOMREQUEST, "GET"); + curl_easy_setopt(hnd, CURLOPT_URL, "https://api.confluent.cloud/iam/v2/identity-providers/{provider_id}/identity-pools"); + + struct curl_slist *headers = NULL; + headers = curl_slist_append(headers, "Authorization: Basic REPLACE_BASIC_AUTH"); + curl_easy_setopt(hnd, CURLOPT_HTTPHEADER, headers); + + CURLcode ret = curl_easy_perform(hnd); + - lang: C# + source: |- + var client = new RestClient("https://api.confluent.cloud/iam/v2/identity-providers/{provider_id}/identity-pools"); + var request = new RestRequest(Method.GET); + request.AddHeader("Authorization", "Basic REPLACE_BASIC_AUTH"); + IRestResponse response = client.Execute(request); + post: + operationId: createIamV2IdentityPool + summary: Create an Identity Pool + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + Make a request to create an identity pool. + parameters: + - name: provider_id + in: path + required: true + schema: + type: string + description: The Provider + tags: + - Identity Pools (iam/v2) + security: + - cloud-api-key: [] + - confluent-sts-access-token: [] + requestBody: + content: + application/json: + schema: + allOf: + - $ref: '#/components/schemas/iam.v2.IdentityPool' + - type: object + required: + - display_name + - description + - identity_claim + - filter + responses: + '201': + description: An Identity Pool was created. + headers: + X-Request-Id: + schema: + type: string + description: The unique identifier for the API request. + X-RateLimit-Limit: + schema: + type: integer + description: The maximum number of requests you're permitted to make per time period. + X-RateLimit-Remaining: + schema: + type: integer + description: The number of requests remaining in the current rate limit window. + X-RateLimit-Reset: + schema: + type: integer + description: |- + The relative time in seconds until the current rate-limit window resets. + + **Important:** This differs from Github and Twitter's same-named header which uses UTC epoch seconds. We use relative time to avoid client/server time synchronization issues. + Location: + schema: + type: string + format: uri + example: 'https://api.confluent.cloud/iam/v2/identity-providers/{provider_id}/identity-pools/{id}' + description: IdentityPool resource uri + content: + application/json: + schema: + allOf: + - $ref: '#/components/schemas/iam.v2.IdentityPool' + - type: object + required: + - display_name + - description + - identity_claim + - filter + '400': + $ref: '#/components/responses/BadRequestError' + '401': + $ref: '#/components/responses/UnauthenticatedError' + '402': + $ref: '#/components/responses/OverQuotaError' + '403': + $ref: '#/components/responses/UnauthorizedError' + '409': + $ref: '#/components/responses/ConflictError' + '422': + $ref: '#/components/responses/ValidationError' + '429': + $ref: '#/components/responses/RateLimitError' + '500': + $ref: '#/components/responses/DefaultSystemError' + x-codeSamples: + - lang: Shell + source: |- + curl --request POST \ + --url 'https://api.confluent.cloud/iam/v2/identity-providers/{provider_id}/identity-pools' \ + --header 'Authorization: Basic REPLACE_BASIC_AUTH' \ + --header 'content-type: application/json' \ + --data '{"display_name":"My Identity Pool","description":"Prod Access to Kafka clusters to Release Engineering","identity_claim":"claims.sub","filter":"claims.aud==\"confluent\" && claims.group!=\"invalid_group\""}' + - lang: Java + source: |- + OkHttpClient client = new OkHttpClient(); + + MediaType mediaType = MediaType.parse("application/json"); + RequestBody body = RequestBody.create(mediaType, "{\"display_name\":\"My Identity Pool\",\"description\":\"Prod Access to Kafka clusters to Release Engineering\",\"identity_claim\":\"claims.sub\",\"filter\":\"claims.aud==\\\"confluent\\\" && claims.group!=\\\"invalid_group\\\"\"}"); + Request request = new Request.Builder() + .url("https://api.confluent.cloud/iam/v2/identity-providers/{provider_id}/identity-pools") + .post(body) + .addHeader("content-type", "application/json") + .addHeader("Authorization", "Basic REPLACE_BASIC_AUTH") + .build(); + + Response response = client.newCall(request).execute(); + - lang: Go + source: "package main\n\nimport (\n\t\"fmt\"\n\t\"strings\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.confluent.cloud/iam/v2/identity-providers/{provider_id}/identity-pools\"\n\n\tpayload := strings.NewReader(\"{\\\"display_name\\\":\\\"My Identity Pool\\\",\\\"description\\\":\\\"Prod Access to Kafka clusters to Release Engineering\\\",\\\"identity_claim\\\":\\\"claims.sub\\\",\\\"filter\\\":\\\"claims.aud==\\\\\\\"confluent\\\\\\\" && claims.group!=\\\\\\\"invalid_group\\\\\\\"\\\"}\")\n\n\treq, _ := http.NewRequest(\"POST\", url, payload)\n\n\treq.Header.Add(\"content-type\", \"application/json\")\n\treq.Header.Add(\"Authorization\", \"Basic REPLACE_BASIC_AUTH\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}" + - lang: Python + source: |- + import http.client + + conn = http.client.HTTPSConnection("api.confluent.cloud") + + payload = "{\"display_name\":\"My Identity Pool\",\"description\":\"Prod Access to Kafka clusters to Release Engineering\",\"identity_claim\":\"claims.sub\",\"filter\":\"claims.aud==\\\"confluent\\\" && claims.group!=\\\"invalid_group\\\"\"}" + + headers = { + 'content-type': "application/json", + 'Authorization': "Basic REPLACE_BASIC_AUTH" + } + + conn.request("POST", "/iam/v2/identity-providers/{provider_id}/identity-pools", payload, headers) + + res = conn.getresponse() + data = res.read() + + print(data.decode("utf-8")) + - lang: Node + source: |- + const http = require("https"); + + const options = { + "method": "POST", + "hostname": "api.confluent.cloud", + "port": null, + "path": "/iam/v2/identity-providers/{provider_id}/identity-pools", + "headers": { + "content-type": "application/json", + "Authorization": "Basic REPLACE_BASIC_AUTH" + } + }; + + const req = http.request(options, function (res) { + const chunks = []; + + res.on("data", function (chunk) { + chunks.push(chunk); + }); + + res.on("end", function () { + const body = Buffer.concat(chunks); + console.log(body.toString()); + }); + }); + + req.write(JSON.stringify({ + display_name: 'My Identity Pool', + description: 'Prod Access to Kafka clusters to Release Engineering', + identity_claim: 'claims.sub', + filter: 'claims.aud=="confluent" && claims.group!="invalid_group"' + })); + req.end(); + - lang: C + source: |- + CURL *hnd = curl_easy_init(); + + curl_easy_setopt(hnd, CURLOPT_CUSTOMREQUEST, "POST"); + curl_easy_setopt(hnd, CURLOPT_URL, "https://api.confluent.cloud/iam/v2/identity-providers/{provider_id}/identity-pools"); + + struct curl_slist *headers = NULL; + headers = curl_slist_append(headers, "content-type: application/json"); + headers = curl_slist_append(headers, "Authorization: Basic REPLACE_BASIC_AUTH"); + curl_easy_setopt(hnd, CURLOPT_HTTPHEADER, headers); + + curl_easy_setopt(hnd, CURLOPT_POSTFIELDS, "{\"display_name\":\"My Identity Pool\",\"description\":\"Prod Access to Kafka clusters to Release Engineering\",\"identity_claim\":\"claims.sub\",\"filter\":\"claims.aud==\\\"confluent\\\" && claims.group!=\\\"invalid_group\\\"\"}"); + + CURLcode ret = curl_easy_perform(hnd); + - lang: C# + source: |- + var client = new RestClient("https://api.confluent.cloud/iam/v2/identity-providers/{provider_id}/identity-pools"); + var request = new RestRequest(Method.POST); + request.AddHeader("content-type", "application/json"); + request.AddHeader("Authorization", "Basic REPLACE_BASIC_AUTH"); + request.AddParameter("application/json", "{\"display_name\":\"My Identity Pool\",\"description\":\"Prod Access to Kafka clusters to Release Engineering\",\"identity_claim\":\"claims.sub\",\"filter\":\"claims.aud==\\\"confluent\\\" && claims.group!=\\\"invalid_group\\\"\"}", ParameterType.RequestBody); + IRestResponse response = client.Execute(request); + '/iam/v2/identity-providers/{provider_id}/identity-pools/{id}': + get: + operationId: getIamV2IdentityPool + summary: Read an Identity Pool + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + Make a request to read an identity pool. + parameters: + - name: provider_id + in: path + required: true + schema: + type: string + description: The Provider + - name: id + in: path + required: true + schema: + type: string + description: The unique identifier for the identity pool. + tags: + - Identity Pools (iam/v2) + security: + - cloud-api-key: [] + - confluent-sts-access-token: [] + responses: + '200': + description: Identity Pool. + content: + application/json: + schema: + allOf: + - $ref: '#/components/schemas/iam.v2.IdentityPool' + - type: object + required: + - api_version + - kind + - id + - display_name + - description + - identity_claim + - filter + - principal + - state + 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. + + **Important:** This differs from Github and Twitter's same-named header which uses UTC epoch seconds. We use relative time to avoid client/server time synchronization issues. + '400': + $ref: '#/components/responses/BadRequestError' + '401': + $ref: '#/components/responses/UnauthenticatedError' + '403': + $ref: '#/components/responses/UnauthorizedError' + '404': + $ref: '#/components/responses/NotFoundError' + '429': + $ref: '#/components/responses/RateLimitError' + '500': + $ref: '#/components/responses/DefaultSystemError' + x-codeSamples: + - lang: Shell + source: |- + curl --request GET \ + --url 'https://api.confluent.cloud/iam/v2/identity-providers/{provider_id}/identity-pools/{id}' \ + --header 'Authorization: Basic REPLACE_BASIC_AUTH' + - lang: Java + source: |- + OkHttpClient client = new OkHttpClient(); + + Request request = new Request.Builder() + .url("https://api.confluent.cloud/iam/v2/identity-providers/{provider_id}/identity-pools/{id}") + .get() + .addHeader("Authorization", "Basic REPLACE_BASIC_AUTH") + .build(); + + Response response = client.newCall(request).execute(); + - lang: Go + source: "package main\n\nimport (\n\t\"fmt\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.confluent.cloud/iam/v2/identity-providers/{provider_id}/identity-pools/{id}\"\n\n\treq, _ := http.NewRequest(\"GET\", url, nil)\n\n\treq.Header.Add(\"Authorization\", \"Basic REPLACE_BASIC_AUTH\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}" + - lang: Python + source: |- + import http.client + + conn = http.client.HTTPSConnection("api.confluent.cloud") + + headers = { 'Authorization': "Basic REPLACE_BASIC_AUTH" } + + conn.request("GET", "/iam/v2/identity-providers/{provider_id}/identity-pools/{id}", headers=headers) + + res = conn.getresponse() + data = res.read() + + print(data.decode("utf-8")) + - lang: Node + source: |- + const http = require("https"); + + const options = { + "method": "GET", + "hostname": "api.confluent.cloud", + "port": null, + "path": "/iam/v2/identity-providers/{provider_id}/identity-pools/{id}", + "headers": { + "Authorization": "Basic REPLACE_BASIC_AUTH" + } + }; + + const req = http.request(options, function (res) { + const chunks = []; + + res.on("data", function (chunk) { + chunks.push(chunk); + }); + + res.on("end", function () { + const body = Buffer.concat(chunks); + console.log(body.toString()); + }); + }); + + req.end(); + - lang: C + source: |- + CURL *hnd = curl_easy_init(); + + curl_easy_setopt(hnd, CURLOPT_CUSTOMREQUEST, "GET"); + curl_easy_setopt(hnd, CURLOPT_URL, "https://api.confluent.cloud/iam/v2/identity-providers/{provider_id}/identity-pools/{id}"); + + struct curl_slist *headers = NULL; + headers = curl_slist_append(headers, "Authorization: Basic REPLACE_BASIC_AUTH"); + curl_easy_setopt(hnd, CURLOPT_HTTPHEADER, headers); + + CURLcode ret = curl_easy_perform(hnd); + - lang: C# + source: |- + var client = new RestClient("https://api.confluent.cloud/iam/v2/identity-providers/{provider_id}/identity-pools/{id}"); + var request = new RestRequest(Method.GET); + request.AddHeader("Authorization", "Basic REPLACE_BASIC_AUTH"); + IRestResponse response = client.Execute(request); + patch: + operationId: updateIamV2IdentityPool + summary: Update an Identity Pool + description: |+ + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + Make a request to update an identity pool. + + parameters: + - name: provider_id + in: path + required: true + schema: + type: string + description: The Provider + - name: id + in: path + required: true + schema: + type: string + description: The unique identifier for the identity pool. + tags: + - Identity Pools (iam/v2) + security: + - cloud-api-key: [] + - confluent-sts-access-token: [] + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/iam.v2.IdentityPool' + responses: + '200': + description: Identity Pool. + content: + application/json: + schema: + allOf: + - $ref: '#/components/schemas/iam.v2.IdentityPool' + - type: object + required: + - api_version + - kind + - id + - display_name + - description + - identity_claim + - filter + - principal + - state + 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. + + **Important:** This differs from Github and Twitter's same-named header which uses UTC epoch seconds. We use relative time to avoid client/server time synchronization issues. + '400': + $ref: '#/components/responses/BadRequestError' + '401': + $ref: '#/components/responses/UnauthenticatedError' + '402': + $ref: '#/components/responses/OverQuotaError' + '403': + $ref: '#/components/responses/UnauthorizedError' + '404': + $ref: '#/components/responses/NotFoundError' + '409': + $ref: '#/components/responses/ConflictError' + '422': + $ref: '#/components/responses/ValidationError' + '429': + $ref: '#/components/responses/RateLimitError' + '500': + $ref: '#/components/responses/DefaultSystemError' + x-codeSamples: + - lang: Shell + source: |- + curl --request PATCH \ + --url 'https://api.confluent.cloud/iam/v2/identity-providers/{provider_id}/identity-pools/{id}' \ + --header 'Authorization: Basic REPLACE_BASIC_AUTH' \ + --header 'content-type: application/json' \ + --data '{"display_name":"My Identity Pool","description":"Prod Access to Kafka clusters to Release Engineering","identity_claim":"claims.sub","filter":"claims.aud==\"confluent\" && claims.group!=\"invalid_group\""}' + - lang: Java + source: |- + OkHttpClient client = new OkHttpClient(); + + MediaType mediaType = MediaType.parse("application/json"); + RequestBody body = RequestBody.create(mediaType, "{\"display_name\":\"My Identity Pool\",\"description\":\"Prod Access to Kafka clusters to Release Engineering\",\"identity_claim\":\"claims.sub\",\"filter\":\"claims.aud==\\\"confluent\\\" && claims.group!=\\\"invalid_group\\\"\"}"); + Request request = new Request.Builder() + .url("https://api.confluent.cloud/iam/v2/identity-providers/{provider_id}/identity-pools/{id}") + .patch(body) + .addHeader("content-type", "application/json") + .addHeader("Authorization", "Basic REPLACE_BASIC_AUTH") + .build(); + + Response response = client.newCall(request).execute(); + - lang: Go + source: "package main\n\nimport (\n\t\"fmt\"\n\t\"strings\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.confluent.cloud/iam/v2/identity-providers/{provider_id}/identity-pools/{id}\"\n\n\tpayload := strings.NewReader(\"{\\\"display_name\\\":\\\"My Identity Pool\\\",\\\"description\\\":\\\"Prod Access to Kafka clusters to Release Engineering\\\",\\\"identity_claim\\\":\\\"claims.sub\\\",\\\"filter\\\":\\\"claims.aud==\\\\\\\"confluent\\\\\\\" && claims.group!=\\\\\\\"invalid_group\\\\\\\"\\\"}\")\n\n\treq, _ := http.NewRequest(\"PATCH\", url, payload)\n\n\treq.Header.Add(\"content-type\", \"application/json\")\n\treq.Header.Add(\"Authorization\", \"Basic REPLACE_BASIC_AUTH\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}" + - lang: Python + source: |- + import http.client + + conn = http.client.HTTPSConnection("api.confluent.cloud") + + payload = "{\"display_name\":\"My Identity Pool\",\"description\":\"Prod Access to Kafka clusters to Release Engineering\",\"identity_claim\":\"claims.sub\",\"filter\":\"claims.aud==\\\"confluent\\\" && claims.group!=\\\"invalid_group\\\"\"}" + + headers = { + 'content-type': "application/json", + 'Authorization': "Basic REPLACE_BASIC_AUTH" + } + + conn.request("PATCH", "/iam/v2/identity-providers/{provider_id}/identity-pools/{id}", payload, headers) + + res = conn.getresponse() + data = res.read() + + print(data.decode("utf-8")) + - lang: Node + source: |- + const http = require("https"); + + const options = { + "method": "PATCH", + "hostname": "api.confluent.cloud", + "port": null, + "path": "/iam/v2/identity-providers/{provider_id}/identity-pools/{id}", + "headers": { + "content-type": "application/json", + "Authorization": "Basic REPLACE_BASIC_AUTH" + } + }; + + const req = http.request(options, function (res) { + const chunks = []; + + res.on("data", function (chunk) { + chunks.push(chunk); + }); + + res.on("end", function () { + const body = Buffer.concat(chunks); + console.log(body.toString()); + }); + }); + + req.write(JSON.stringify({ + display_name: 'My Identity Pool', + description: 'Prod Access to Kafka clusters to Release Engineering', + identity_claim: 'claims.sub', + filter: 'claims.aud=="confluent" && claims.group!="invalid_group"' + })); + req.end(); + - lang: C + source: |- + CURL *hnd = curl_easy_init(); + + curl_easy_setopt(hnd, CURLOPT_CUSTOMREQUEST, "PATCH"); + curl_easy_setopt(hnd, CURLOPT_URL, "https://api.confluent.cloud/iam/v2/identity-providers/{provider_id}/identity-pools/{id}"); + + struct curl_slist *headers = NULL; + headers = curl_slist_append(headers, "content-type: application/json"); + headers = curl_slist_append(headers, "Authorization: Basic REPLACE_BASIC_AUTH"); + curl_easy_setopt(hnd, CURLOPT_HTTPHEADER, headers); + + curl_easy_setopt(hnd, CURLOPT_POSTFIELDS, "{\"display_name\":\"My Identity Pool\",\"description\":\"Prod Access to Kafka clusters to Release Engineering\",\"identity_claim\":\"claims.sub\",\"filter\":\"claims.aud==\\\"confluent\\\" && claims.group!=\\\"invalid_group\\\"\"}"); + + CURLcode ret = curl_easy_perform(hnd); + - lang: C# + source: |- + var client = new RestClient("https://api.confluent.cloud/iam/v2/identity-providers/{provider_id}/identity-pools/{id}"); + var request = new RestRequest(Method.PATCH); + request.AddHeader("content-type", "application/json"); + request.AddHeader("Authorization", "Basic REPLACE_BASIC_AUTH"); + request.AddParameter("application/json", "{\"display_name\":\"My Identity Pool\",\"description\":\"Prod Access to Kafka clusters to Release Engineering\",\"identity_claim\":\"claims.sub\",\"filter\":\"claims.aud==\\\"confluent\\\" && claims.group!=\\\"invalid_group\\\"\"}", ParameterType.RequestBody); + IRestResponse response = client.Execute(request); + delete: + operationId: deleteIamV2IdentityPool + summary: Delete an Identity Pool + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + Make a request to delete an identity pool. + parameters: + - name: provider_id + in: path + required: true + schema: + type: string + description: The Provider + - name: id + in: path + required: true + schema: + type: string + description: The unique identifier for the identity pool. + tags: + - Identity Pools (iam/v2) + security: + - cloud-api-key: [] + - confluent-sts-access-token: [] + responses: + '204': + description: An Identity Pool is being deleted. + headers: + X-Request-Id: + schema: + type: string + description: The unique identifier for the API request. + X-RateLimit-Limit: + schema: + type: integer + description: The maximum number of requests you're permitted to make per time period. + X-RateLimit-Remaining: + schema: + type: integer + description: The number of requests remaining in the current rate limit window. + X-RateLimit-Reset: + schema: + type: integer + description: |- + The relative time in seconds until the current rate-limit window resets. + + **Important:** This differs from Github and Twitter's same-named header which uses UTC epoch seconds. We use relative time to avoid client/server time synchronization issues. + '400': + $ref: '#/components/responses/BadRequestError' + '401': + $ref: '#/components/responses/UnauthenticatedError' + '403': + $ref: '#/components/responses/UnauthorizedError' + '404': + $ref: '#/components/responses/NotFoundError' + '429': + $ref: '#/components/responses/RateLimitError' + '500': + $ref: '#/components/responses/DefaultSystemError' + x-codeSamples: + - lang: Shell + source: |- + curl --request DELETE \ + --url 'https://api.confluent.cloud/iam/v2/identity-providers/{provider_id}/identity-pools/{id}' \ + --header 'Authorization: Basic REPLACE_BASIC_AUTH' + - lang: Java + source: |- + OkHttpClient client = new OkHttpClient(); + + Request request = new Request.Builder() + .url("https://api.confluent.cloud/iam/v2/identity-providers/{provider_id}/identity-pools/{id}") + .delete(null) + .addHeader("Authorization", "Basic REPLACE_BASIC_AUTH") + .build(); + + Response response = client.newCall(request).execute(); + - lang: Go + source: "package main\n\nimport (\n\t\"fmt\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.confluent.cloud/iam/v2/identity-providers/{provider_id}/identity-pools/{id}\"\n\n\treq, _ := http.NewRequest(\"DELETE\", url, nil)\n\n\treq.Header.Add(\"Authorization\", \"Basic REPLACE_BASIC_AUTH\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}" + - lang: Python + source: |- + import http.client + + conn = http.client.HTTPSConnection("api.confluent.cloud") + + headers = { 'Authorization': "Basic REPLACE_BASIC_AUTH" } + + conn.request("DELETE", "/iam/v2/identity-providers/{provider_id}/identity-pools/{id}", headers=headers) + + res = conn.getresponse() + data = res.read() + + print(data.decode("utf-8")) + - lang: Node + source: |- + const http = require("https"); + + const options = { + "method": "DELETE", + "hostname": "api.confluent.cloud", + "port": null, + "path": "/iam/v2/identity-providers/{provider_id}/identity-pools/{id}", + "headers": { + "Authorization": "Basic REPLACE_BASIC_AUTH" + } + }; + + const req = http.request(options, function (res) { + const chunks = []; + + res.on("data", function (chunk) { + chunks.push(chunk); + }); + + res.on("end", function () { + const body = Buffer.concat(chunks); + console.log(body.toString()); + }); + }); + + req.end(); + - lang: C + source: |- + CURL *hnd = curl_easy_init(); + + curl_easy_setopt(hnd, CURLOPT_CUSTOMREQUEST, "DELETE"); + curl_easy_setopt(hnd, CURLOPT_URL, "https://api.confluent.cloud/iam/v2/identity-providers/{provider_id}/identity-pools/{id}"); + + struct curl_slist *headers = NULL; + headers = curl_slist_append(headers, "Authorization: Basic REPLACE_BASIC_AUTH"); + curl_easy_setopt(hnd, CURLOPT_HTTPHEADER, headers); + + CURLcode ret = curl_easy_perform(hnd); + - lang: C# + source: |- + var client = new RestClient("https://api.confluent.cloud/iam/v2/identity-providers/{provider_id}/identity-pools/{id}"); + var request = new RestRequest(Method.DELETE); + request.AddHeader("Authorization", "Basic REPLACE_BASIC_AUTH"); + IRestResponse response = client.Execute(request); + /iam/v2/sso/group-mappings: + get: + operationId: listIamV2SsoGroupMappings + summary: List of Group Mappings + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + Retrieve a sorted, filtered, paginated list of all group mappings. + parameters: + - name: page_size + in: query + required: false + schema: + type: integer + default: 10 + maximum: 100 + x-max-page-items: 255 + 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: + - Group Mappings (iam/v2/sso) + security: + - cloud-api-key: [] + - confluent-sts-access-token: [] + responses: + '200': + description: Group Mapping. + content: + application/json: + schema: + allOf: + - $ref: '#/components/schemas/iam.v2.sso.GroupMappingList' + 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. + + **Important:** This differs from Github and Twitter's same-named header which uses UTC epoch seconds. We use relative time to avoid client/server time synchronization issues. + '400': + $ref: '#/components/responses/BadRequestError' + '401': + $ref: '#/components/responses/UnauthenticatedError' + '403': + $ref: '#/components/responses/UnauthorizedError' + '429': + $ref: '#/components/responses/RateLimitError' + '500': + $ref: '#/components/responses/DefaultSystemError' + x-codeSamples: + - lang: Shell + source: |- + curl --request GET \ + --url https://api.confluent.cloud/iam/v2/sso/group-mappings \ + --header 'Authorization: Basic REPLACE_BASIC_AUTH' + - lang: Java + source: |- + OkHttpClient client = new OkHttpClient(); + + Request request = new Request.Builder() + .url("https://api.confluent.cloud/iam/v2/sso/group-mappings") + .get() + .addHeader("Authorization", "Basic REPLACE_BASIC_AUTH") + .build(); + + Response response = client.newCall(request).execute(); + - lang: Go + source: "package main\n\nimport (\n\t\"fmt\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.confluent.cloud/iam/v2/sso/group-mappings\"\n\n\treq, _ := http.NewRequest(\"GET\", url, nil)\n\n\treq.Header.Add(\"Authorization\", \"Basic REPLACE_BASIC_AUTH\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}" + - lang: Python + source: |- + import http.client + + conn = http.client.HTTPSConnection("api.confluent.cloud") + + headers = { 'Authorization': "Basic REPLACE_BASIC_AUTH" } + + conn.request("GET", "/iam/v2/sso/group-mappings", headers=headers) + + res = conn.getresponse() + data = res.read() + + print(data.decode("utf-8")) + - lang: Node + source: |- + const http = require("https"); + + const options = { + "method": "GET", + "hostname": "api.confluent.cloud", + "port": null, + "path": "/iam/v2/sso/group-mappings", + "headers": { + "Authorization": "Basic REPLACE_BASIC_AUTH" + } + }; + + const req = http.request(options, function (res) { + const chunks = []; + + res.on("data", function (chunk) { + chunks.push(chunk); + }); + + res.on("end", function () { + const body = Buffer.concat(chunks); + console.log(body.toString()); + }); + }); + + req.end(); + - lang: C + source: |- + CURL *hnd = curl_easy_init(); + + curl_easy_setopt(hnd, CURLOPT_CUSTOMREQUEST, "GET"); + curl_easy_setopt(hnd, CURLOPT_URL, "https://api.confluent.cloud/iam/v2/sso/group-mappings"); + + struct curl_slist *headers = NULL; + headers = curl_slist_append(headers, "Authorization: Basic REPLACE_BASIC_AUTH"); + curl_easy_setopt(hnd, CURLOPT_HTTPHEADER, headers); + + CURLcode ret = curl_easy_perform(hnd); + - lang: C# + source: |- + var client = new RestClient("https://api.confluent.cloud/iam/v2/sso/group-mappings"); + var request = new RestRequest(Method.GET); + request.AddHeader("Authorization", "Basic REPLACE_BASIC_AUTH"); + IRestResponse response = client.Execute(request); + post: + operationId: createIamV2SsoGroupMapping + summary: Create a Group Mapping + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + Make a request to create a group mapping. + tags: + - Group Mappings (iam/v2/sso) + security: + - cloud-api-key: [] + - confluent-sts-access-token: [] + requestBody: + content: + application/json: + schema: + allOf: + - $ref: '#/components/schemas/iam.v2.sso.GroupMapping' + - type: object + required: + - display_name + - description + - filter + responses: + '201': + description: A Group Mapping was created. + headers: + X-Request-Id: + schema: + type: string + description: The unique identifier for the API request. + X-RateLimit-Limit: + schema: + type: integer + description: The maximum number of requests you're permitted to make per time period. + X-RateLimit-Remaining: + schema: + type: integer + description: The number of requests remaining in the current rate limit window. + X-RateLimit-Reset: + schema: + type: integer + description: |- + The relative time in seconds until the current rate-limit window resets. + + **Important:** This differs from Github and Twitter's same-named header which uses UTC epoch seconds. We use relative time to avoid client/server time synchronization issues. + Location: + schema: + type: string + format: uri + example: 'https://api.confluent.cloud/iam/v2/sso/group-mappings/{id}' + description: GroupMapping resource uri + content: + application/json: + schema: + allOf: + - $ref: '#/components/schemas/iam.v2.sso.GroupMapping' + - type: object + required: + - display_name + - description + - filter + '400': + $ref: '#/components/responses/BadRequestError' + '401': + $ref: '#/components/responses/UnauthenticatedError' + '402': + $ref: '#/components/responses/OverQuotaError' + '403': + $ref: '#/components/responses/UnauthorizedError' + '409': + $ref: '#/components/responses/ConflictError' + '422': + $ref: '#/components/responses/ValidationError' + '429': + $ref: '#/components/responses/RateLimitError' + '500': + $ref: '#/components/responses/DefaultSystemError' + x-codeSamples: + - lang: Shell + source: |- + curl --request POST \ + --url https://api.confluent.cloud/iam/v2/sso/group-mappings \ + --header 'Authorization: Basic REPLACE_BASIC_AUTH' \ + --header 'content-type: application/json' \ + --data '{"display_name":"Application Developers","description":"Admin access to production environment for Engineering","filter":"\"kafka\" in groups && \"all\" in groups || \"everyone\" in groups"}' + - lang: Java + source: |- + OkHttpClient client = new OkHttpClient(); + + MediaType mediaType = MediaType.parse("application/json"); + RequestBody body = RequestBody.create(mediaType, "{\"display_name\":\"Application Developers\",\"description\":\"Admin access to production environment for Engineering\",\"filter\":\"\\\"kafka\\\" in groups && \\\"all\\\" in groups || \\\"everyone\\\" in groups\"}"); + Request request = new Request.Builder() + .url("https://api.confluent.cloud/iam/v2/sso/group-mappings") + .post(body) + .addHeader("content-type", "application/json") + .addHeader("Authorization", "Basic REPLACE_BASIC_AUTH") + .build(); + + Response response = client.newCall(request).execute(); + - lang: Go + source: "package main\n\nimport (\n\t\"fmt\"\n\t\"strings\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.confluent.cloud/iam/v2/sso/group-mappings\"\n\n\tpayload := strings.NewReader(\"{\\\"display_name\\\":\\\"Application Developers\\\",\\\"description\\\":\\\"Admin access to production environment for Engineering\\\",\\\"filter\\\":\\\"\\\\\\\"kafka\\\\\\\" in groups && \\\\\\\"all\\\\\\\" in groups || \\\\\\\"everyone\\\\\\\" in groups\\\"}\")\n\n\treq, _ := http.NewRequest(\"POST\", url, payload)\n\n\treq.Header.Add(\"content-type\", \"application/json\")\n\treq.Header.Add(\"Authorization\", \"Basic REPLACE_BASIC_AUTH\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}" + - lang: Python + source: |- + import http.client + + conn = http.client.HTTPSConnection("api.confluent.cloud") + + payload = "{\"display_name\":\"Application Developers\",\"description\":\"Admin access to production environment for Engineering\",\"filter\":\"\\\"kafka\\\" in groups && \\\"all\\\" in groups || \\\"everyone\\\" in groups\"}" + + headers = { + 'content-type': "application/json", + 'Authorization': "Basic REPLACE_BASIC_AUTH" + } + + conn.request("POST", "/iam/v2/sso/group-mappings", payload, headers) + + res = conn.getresponse() + data = res.read() + + print(data.decode("utf-8")) + - lang: Node + source: |- + const http = require("https"); + + const options = { + "method": "POST", + "hostname": "api.confluent.cloud", + "port": null, + "path": "/iam/v2/sso/group-mappings", + "headers": { + "content-type": "application/json", + "Authorization": "Basic REPLACE_BASIC_AUTH" + } + }; + + const req = http.request(options, function (res) { + const chunks = []; + + res.on("data", function (chunk) { + chunks.push(chunk); + }); + + res.on("end", function () { + const body = Buffer.concat(chunks); + console.log(body.toString()); + }); + }); + + req.write(JSON.stringify({ + display_name: 'Application Developers', + description: 'Admin access to production environment for Engineering', + filter: '"kafka" in groups && "all" in groups || "everyone" in groups' + })); + req.end(); + - lang: C + source: |- + CURL *hnd = curl_easy_init(); + + curl_easy_setopt(hnd, CURLOPT_CUSTOMREQUEST, "POST"); + curl_easy_setopt(hnd, CURLOPT_URL, "https://api.confluent.cloud/iam/v2/sso/group-mappings"); + + struct curl_slist *headers = NULL; + headers = curl_slist_append(headers, "content-type: application/json"); + headers = curl_slist_append(headers, "Authorization: Basic REPLACE_BASIC_AUTH"); + curl_easy_setopt(hnd, CURLOPT_HTTPHEADER, headers); + + curl_easy_setopt(hnd, CURLOPT_POSTFIELDS, "{\"display_name\":\"Application Developers\",\"description\":\"Admin access to production environment for Engineering\",\"filter\":\"\\\"kafka\\\" in groups && \\\"all\\\" in groups || \\\"everyone\\\" in groups\"}"); + + CURLcode ret = curl_easy_perform(hnd); + - lang: C# + source: |- + var client = new RestClient("https://api.confluent.cloud/iam/v2/sso/group-mappings"); + var request = new RestRequest(Method.POST); + request.AddHeader("content-type", "application/json"); + request.AddHeader("Authorization", "Basic REPLACE_BASIC_AUTH"); + request.AddParameter("application/json", "{\"display_name\":\"Application Developers\",\"description\":\"Admin access to production environment for Engineering\",\"filter\":\"\\\"kafka\\\" in groups && \\\"all\\\" in groups || \\\"everyone\\\" in groups\"}", ParameterType.RequestBody); + IRestResponse response = client.Execute(request); + '/iam/v2/sso/group-mappings/{id}': + get: + operationId: getIamV2SsoGroupMapping + summary: Read a Group Mapping + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + Make a request to read a group mapping. + parameters: + - name: id + in: path + required: true + schema: + type: string + description: The unique identifier for the group mapping. + tags: + - Group Mappings (iam/v2/sso) + security: + - cloud-api-key: [] + - confluent-sts-access-token: [] + responses: + '200': + description: Group Mapping. + content: + application/json: + schema: + allOf: + - $ref: '#/components/schemas/iam.v2.sso.GroupMapping' + - type: object + required: + - api_version + - kind + - id + - display_name + - description + - filter + - principal + - state + 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. + + **Important:** This differs from Github and Twitter's same-named header which uses UTC epoch seconds. We use relative time to avoid client/server time synchronization issues. + '400': + $ref: '#/components/responses/BadRequestError' + '401': + $ref: '#/components/responses/UnauthenticatedError' + '403': + $ref: '#/components/responses/UnauthorizedError' + '404': + $ref: '#/components/responses/NotFoundError' + '429': + $ref: '#/components/responses/RateLimitError' + '500': + $ref: '#/components/responses/DefaultSystemError' + x-codeSamples: + - lang: Shell + source: |- + curl --request GET \ + --url 'https://api.confluent.cloud/iam/v2/sso/group-mappings/{id}' \ + --header 'Authorization: Basic REPLACE_BASIC_AUTH' + - lang: Java + source: |- + OkHttpClient client = new OkHttpClient(); + + Request request = new Request.Builder() + .url("https://api.confluent.cloud/iam/v2/sso/group-mappings/{id}") + .get() + .addHeader("Authorization", "Basic REPLACE_BASIC_AUTH") + .build(); + + Response response = client.newCall(request).execute(); + - lang: Go + source: "package main\n\nimport (\n\t\"fmt\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.confluent.cloud/iam/v2/sso/group-mappings/{id}\"\n\n\treq, _ := http.NewRequest(\"GET\", url, nil)\n\n\treq.Header.Add(\"Authorization\", \"Basic REPLACE_BASIC_AUTH\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}" + - lang: Python + source: |- + import http.client + + conn = http.client.HTTPSConnection("api.confluent.cloud") + + headers = { 'Authorization': "Basic REPLACE_BASIC_AUTH" } + + conn.request("GET", "/iam/v2/sso/group-mappings/{id}", headers=headers) + + res = conn.getresponse() + data = res.read() + + print(data.decode("utf-8")) + - lang: Node + source: |- + const http = require("https"); + + const options = { + "method": "GET", + "hostname": "api.confluent.cloud", + "port": null, + "path": "/iam/v2/sso/group-mappings/{id}", + "headers": { + "Authorization": "Basic REPLACE_BASIC_AUTH" + } + }; + + const req = http.request(options, function (res) { + const chunks = []; + + res.on("data", function (chunk) { + chunks.push(chunk); + }); + + res.on("end", function () { + const body = Buffer.concat(chunks); + console.log(body.toString()); + }); + }); + + req.end(); + - lang: C + source: |- + CURL *hnd = curl_easy_init(); + + curl_easy_setopt(hnd, CURLOPT_CUSTOMREQUEST, "GET"); + curl_easy_setopt(hnd, CURLOPT_URL, "https://api.confluent.cloud/iam/v2/sso/group-mappings/{id}"); + + struct curl_slist *headers = NULL; + headers = curl_slist_append(headers, "Authorization: Basic REPLACE_BASIC_AUTH"); + curl_easy_setopt(hnd, CURLOPT_HTTPHEADER, headers); + + CURLcode ret = curl_easy_perform(hnd); + - lang: C# + source: |- + var client = new RestClient("https://api.confluent.cloud/iam/v2/sso/group-mappings/{id}"); + var request = new RestRequest(Method.GET); + request.AddHeader("Authorization", "Basic REPLACE_BASIC_AUTH"); + IRestResponse response = client.Execute(request); + patch: + operationId: updateIamV2SsoGroupMapping + summary: Update a Group Mapping + description: |+ + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + Make a request to update a group mapping. + + parameters: + - name: id + in: path + required: true + schema: + type: string + description: The unique identifier for the group mapping. + tags: + - Group Mappings (iam/v2/sso) + security: + - cloud-api-key: [] + - confluent-sts-access-token: [] + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/iam.v2.sso.GroupMapping' + responses: + '200': + description: Group Mapping. + content: + application/json: + schema: + allOf: + - $ref: '#/components/schemas/iam.v2.sso.GroupMapping' + - type: object + required: + - api_version + - kind + - id + - display_name + - description + - filter + - principal + - state + 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. + + **Important:** This differs from Github and Twitter's same-named header which uses UTC epoch seconds. We use relative time to avoid client/server time synchronization issues. + '400': + $ref: '#/components/responses/BadRequestError' + '401': + $ref: '#/components/responses/UnauthenticatedError' + '402': + $ref: '#/components/responses/OverQuotaError' + '403': + $ref: '#/components/responses/UnauthorizedError' + '404': + $ref: '#/components/responses/NotFoundError' + '409': + $ref: '#/components/responses/ConflictError' + '422': + $ref: '#/components/responses/ValidationError' + '429': + $ref: '#/components/responses/RateLimitError' + '500': + $ref: '#/components/responses/DefaultSystemError' + x-codeSamples: + - lang: Shell + source: |- + curl --request PATCH \ + --url 'https://api.confluent.cloud/iam/v2/sso/group-mappings/{id}' \ + --header 'Authorization: Basic REPLACE_BASIC_AUTH' \ + --header 'content-type: application/json' \ + --data '{"display_name":"Application Developers","description":"Admin access to production environment for Engineering","filter":"\"kafka\" in groups && \"all\" in groups || \"everyone\" in groups"}' + - lang: Java + source: |- + OkHttpClient client = new OkHttpClient(); + + MediaType mediaType = MediaType.parse("application/json"); + RequestBody body = RequestBody.create(mediaType, "{\"display_name\":\"Application Developers\",\"description\":\"Admin access to production environment for Engineering\",\"filter\":\"\\\"kafka\\\" in groups && \\\"all\\\" in groups || \\\"everyone\\\" in groups\"}"); + Request request = new Request.Builder() + .url("https://api.confluent.cloud/iam/v2/sso/group-mappings/{id}") + .patch(body) + .addHeader("content-type", "application/json") + .addHeader("Authorization", "Basic REPLACE_BASIC_AUTH") + .build(); + + Response response = client.newCall(request).execute(); + - lang: Go + source: "package main\n\nimport (\n\t\"fmt\"\n\t\"strings\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.confluent.cloud/iam/v2/sso/group-mappings/{id}\"\n\n\tpayload := strings.NewReader(\"{\\\"display_name\\\":\\\"Application Developers\\\",\\\"description\\\":\\\"Admin access to production environment for Engineering\\\",\\\"filter\\\":\\\"\\\\\\\"kafka\\\\\\\" in groups && \\\\\\\"all\\\\\\\" in groups || \\\\\\\"everyone\\\\\\\" in groups\\\"}\")\n\n\treq, _ := http.NewRequest(\"PATCH\", url, payload)\n\n\treq.Header.Add(\"content-type\", \"application/json\")\n\treq.Header.Add(\"Authorization\", \"Basic REPLACE_BASIC_AUTH\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}" + - lang: Python + source: |- + import http.client + + conn = http.client.HTTPSConnection("api.confluent.cloud") + + payload = "{\"display_name\":\"Application Developers\",\"description\":\"Admin access to production environment for Engineering\",\"filter\":\"\\\"kafka\\\" in groups && \\\"all\\\" in groups || \\\"everyone\\\" in groups\"}" + + headers = { + 'content-type': "application/json", + 'Authorization': "Basic REPLACE_BASIC_AUTH" + } + + conn.request("PATCH", "/iam/v2/sso/group-mappings/{id}", payload, headers) + + res = conn.getresponse() + data = res.read() + + print(data.decode("utf-8")) + - lang: Node + source: |- + const http = require("https"); + + const options = { + "method": "PATCH", + "hostname": "api.confluent.cloud", + "port": null, + "path": "/iam/v2/sso/group-mappings/{id}", + "headers": { + "content-type": "application/json", + "Authorization": "Basic REPLACE_BASIC_AUTH" + } + }; + + const req = http.request(options, function (res) { + const chunks = []; + + res.on("data", function (chunk) { + chunks.push(chunk); + }); + + res.on("end", function () { + const body = Buffer.concat(chunks); + console.log(body.toString()); + }); + }); + + req.write(JSON.stringify({ + display_name: 'Application Developers', + description: 'Admin access to production environment for Engineering', + filter: '"kafka" in groups && "all" in groups || "everyone" in groups' + })); + req.end(); + - lang: C + source: |- + CURL *hnd = curl_easy_init(); + + curl_easy_setopt(hnd, CURLOPT_CUSTOMREQUEST, "PATCH"); + curl_easy_setopt(hnd, CURLOPT_URL, "https://api.confluent.cloud/iam/v2/sso/group-mappings/{id}"); + + struct curl_slist *headers = NULL; + headers = curl_slist_append(headers, "content-type: application/json"); + headers = curl_slist_append(headers, "Authorization: Basic REPLACE_BASIC_AUTH"); + curl_easy_setopt(hnd, CURLOPT_HTTPHEADER, headers); + + curl_easy_setopt(hnd, CURLOPT_POSTFIELDS, "{\"display_name\":\"Application Developers\",\"description\":\"Admin access to production environment for Engineering\",\"filter\":\"\\\"kafka\\\" in groups && \\\"all\\\" in groups || \\\"everyone\\\" in groups\"}"); + + CURLcode ret = curl_easy_perform(hnd); + - lang: C# + source: |- + var client = new RestClient("https://api.confluent.cloud/iam/v2/sso/group-mappings/{id}"); + var request = new RestRequest(Method.PATCH); + request.AddHeader("content-type", "application/json"); + request.AddHeader("Authorization", "Basic REPLACE_BASIC_AUTH"); + request.AddParameter("application/json", "{\"display_name\":\"Application Developers\",\"description\":\"Admin access to production environment for Engineering\",\"filter\":\"\\\"kafka\\\" in groups && \\\"all\\\" in groups || \\\"everyone\\\" in groups\"}", ParameterType.RequestBody); + IRestResponse response = client.Execute(request); + delete: + operationId: deleteIamV2SsoGroupMapping + summary: Delete a Group Mapping + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + Make a request to delete a group mapping. + parameters: + - name: id + in: path + required: true + schema: + type: string + description: The unique identifier for the group mapping. + tags: + - Group Mappings (iam/v2/sso) + security: + - cloud-api-key: [] + - confluent-sts-access-token: [] + responses: + '204': + description: A Group Mapping is being deleted. + headers: + X-Request-Id: + schema: + type: string + description: The unique identifier for the API request. + X-RateLimit-Limit: + schema: + type: integer + description: The maximum number of requests you're permitted to make per time period. + X-RateLimit-Remaining: + schema: + type: integer + description: The number of requests remaining in the current rate limit window. + X-RateLimit-Reset: + schema: + type: integer + description: |- + The relative time in seconds until the current rate-limit window resets. + + **Important:** This differs from Github and Twitter's same-named header which uses UTC epoch seconds. We use relative time to avoid client/server time synchronization issues. + '400': + $ref: '#/components/responses/BadRequestError' + '401': + $ref: '#/components/responses/UnauthenticatedError' + '403': + $ref: '#/components/responses/UnauthorizedError' + '404': + $ref: '#/components/responses/NotFoundError' + '429': + $ref: '#/components/responses/RateLimitError' + '500': + $ref: '#/components/responses/DefaultSystemError' + x-codeSamples: + - lang: Shell + source: |- + curl --request DELETE \ + --url 'https://api.confluent.cloud/iam/v2/sso/group-mappings/{id}' \ + --header 'Authorization: Basic REPLACE_BASIC_AUTH' + - lang: Java + source: |- + OkHttpClient client = new OkHttpClient(); + + Request request = new Request.Builder() + .url("https://api.confluent.cloud/iam/v2/sso/group-mappings/{id}") + .delete(null) + .addHeader("Authorization", "Basic REPLACE_BASIC_AUTH") + .build(); + + Response response = client.newCall(request).execute(); + - lang: Go + source: "package main\n\nimport (\n\t\"fmt\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.confluent.cloud/iam/v2/sso/group-mappings/{id}\"\n\n\treq, _ := http.NewRequest(\"DELETE\", url, nil)\n\n\treq.Header.Add(\"Authorization\", \"Basic REPLACE_BASIC_AUTH\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}" + - lang: Python + source: |- + import http.client + + conn = http.client.HTTPSConnection("api.confluent.cloud") + + headers = { 'Authorization': "Basic REPLACE_BASIC_AUTH" } + + conn.request("DELETE", "/iam/v2/sso/group-mappings/{id}", headers=headers) + + res = conn.getresponse() + data = res.read() + + print(data.decode("utf-8")) + - lang: Node + source: |- + const http = require("https"); + + const options = { + "method": "DELETE", + "hostname": "api.confluent.cloud", + "port": null, + "path": "/iam/v2/sso/group-mappings/{id}", + "headers": { + "Authorization": "Basic REPLACE_BASIC_AUTH" + } + }; + + const req = http.request(options, function (res) { + const chunks = []; + + res.on("data", function (chunk) { + chunks.push(chunk); + }); + + res.on("end", function () { + const body = Buffer.concat(chunks); + console.log(body.toString()); + }); + }); + + req.end(); + - lang: C + source: |- + CURL *hnd = curl_easy_init(); + + curl_easy_setopt(hnd, CURLOPT_CUSTOMREQUEST, "DELETE"); + curl_easy_setopt(hnd, CURLOPT_URL, "https://api.confluent.cloud/iam/v2/sso/group-mappings/{id}"); + + struct curl_slist *headers = NULL; + headers = curl_slist_append(headers, "Authorization: Basic REPLACE_BASIC_AUTH"); + curl_easy_setopt(hnd, CURLOPT_HTTPHEADER, headers); + + CURLcode ret = curl_easy_perform(hnd); + - lang: C# + source: |- + var client = new RestClient("https://api.confluent.cloud/iam/v2/sso/group-mappings/{id}"); + var request = new RestRequest(Method.DELETE); + request.AddHeader("Authorization", "Basic REPLACE_BASIC_AUTH"); + IRestResponse response = client.Execute(request); + /iam/v2/certificate-authorities: + get: + operationId: listIamV2CertificateAuthorities + summary: List of Certificate Authorities + description: |- + [![Limited Availability](https://img.shields.io/badge/Lifecycle%20Stage-Limited%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + Retrieve a sorted, filtered, paginated list of all certificate authorities. + parameters: + - name: page_size + in: query + required: false + schema: + type: integer + default: 10 + maximum: 100 + x-max-page-items: 255 + 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: + - Certificate Authorities (iam/v2) + security: + - cloud-api-key: [] + - confluent-sts-access-token: [] + responses: + '200': + description: Certificate Authority. + content: + application/json: + schema: + allOf: + - $ref: '#/components/schemas/iam.v2.CertificateAuthorityList' + 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. + + **Important:** This differs from Github and Twitter's same-named header which uses UTC epoch seconds. We use relative time to avoid client/server time synchronization issues. + '400': + $ref: '#/components/responses/BadRequestError' + '401': + $ref: '#/components/responses/UnauthenticatedError' + '403': + $ref: '#/components/responses/UnauthorizedError' + '429': + $ref: '#/components/responses/RateLimitError' + '500': + $ref: '#/components/responses/DefaultSystemError' + x-codeSamples: + - lang: Shell + source: |- + curl --request GET \ + --url https://api.confluent.cloud/iam/v2/certificate-authorities \ + --header 'Authorization: Basic REPLACE_BASIC_AUTH' + - lang: Java + source: |- + OkHttpClient client = new OkHttpClient(); + + Request request = new Request.Builder() + .url("https://api.confluent.cloud/iam/v2/certificate-authorities") + .get() + .addHeader("Authorization", "Basic REPLACE_BASIC_AUTH") + .build(); + + Response response = client.newCall(request).execute(); + - lang: Go + source: "package main\n\nimport (\n\t\"fmt\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.confluent.cloud/iam/v2/certificate-authorities\"\n\n\treq, _ := http.NewRequest(\"GET\", url, nil)\n\n\treq.Header.Add(\"Authorization\", \"Basic REPLACE_BASIC_AUTH\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}" + - lang: Python + source: |- + import http.client + + conn = http.client.HTTPSConnection("api.confluent.cloud") + + headers = { 'Authorization': "Basic REPLACE_BASIC_AUTH" } + + conn.request("GET", "/iam/v2/certificate-authorities", headers=headers) + + res = conn.getresponse() + data = res.read() + + print(data.decode("utf-8")) + - lang: Node + source: |- + const http = require("https"); + + const options = { + "method": "GET", + "hostname": "api.confluent.cloud", + "port": null, + "path": "/iam/v2/certificate-authorities", + "headers": { + "Authorization": "Basic REPLACE_BASIC_AUTH" + } + }; + + const req = http.request(options, function (res) { + const chunks = []; + + res.on("data", function (chunk) { + chunks.push(chunk); + }); + + res.on("end", function () { + const body = Buffer.concat(chunks); + console.log(body.toString()); + }); + }); + + req.end(); + - lang: C + source: |- + CURL *hnd = curl_easy_init(); + + curl_easy_setopt(hnd, CURLOPT_CUSTOMREQUEST, "GET"); + curl_easy_setopt(hnd, CURLOPT_URL, "https://api.confluent.cloud/iam/v2/certificate-authorities"); + + struct curl_slist *headers = NULL; + headers = curl_slist_append(headers, "Authorization: Basic REPLACE_BASIC_AUTH"); + curl_easy_setopt(hnd, CURLOPT_HTTPHEADER, headers); + + CURLcode ret = curl_easy_perform(hnd); + - lang: C# + source: |- + var client = new RestClient("https://api.confluent.cloud/iam/v2/certificate-authorities"); + var request = new RestRequest(Method.GET); + request.AddHeader("Authorization", "Basic REPLACE_BASIC_AUTH"); + IRestResponse response = client.Execute(request); + post: + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/iam.v2.CreateCertRequest' + operationId: createIamV2CertificateAuthority + summary: Create a Certificate Authority + description: |- + [![Limited Availability](https://img.shields.io/badge/Lifecycle%20Stage-Limited%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + Make a request to create a certificate authority. + tags: + - Certificate Authorities (iam/v2) + security: + - cloud-api-key: [] + - confluent-sts-access-token: [] + responses: + '201': + description: A Certificate Authority was created. + headers: + X-Request-Id: + schema: + type: string + description: The unique identifier for the API request. + X-RateLimit-Limit: + schema: + type: integer + description: The maximum number of requests you're permitted to make per time period. + X-RateLimit-Remaining: + schema: + type: integer + description: The number of requests remaining in the current rate limit window. + X-RateLimit-Reset: + schema: + type: integer + description: |- + The relative time in seconds until the current rate-limit window resets. + + **Important:** This differs from Github and Twitter's same-named header which uses UTC epoch seconds. We use relative time to avoid client/server time synchronization issues. + Location: + schema: + type: string + format: uri + example: 'https://api.confluent.cloud/iam/v2/certificate-authorities/{id}' + description: CertificateAuthority resource uri + content: + application/json: + schema: + allOf: + - $ref: '#/components/schemas/iam.v2.CertificateAuthority' + - type: object + required: + - display_name + - description + '400': + $ref: '#/components/responses/BadRequestError' + '401': + $ref: '#/components/responses/UnauthenticatedError' + '402': + $ref: '#/components/responses/OverQuotaError' + '403': + $ref: '#/components/responses/UnauthorizedError' + '409': + $ref: '#/components/responses/ConflictError' + '422': + $ref: '#/components/responses/ValidationError' + '429': + $ref: '#/components/responses/RateLimitError' + '500': + $ref: '#/components/responses/DefaultSystemError' + x-codeSamples: + - lang: Shell + source: |- + curl --request POST \ + --url https://api.confluent.cloud/iam/v2/certificate-authorities \ + --header 'Authorization: Basic REPLACE_BASIC_AUTH' \ + --header 'content-type: application/json' \ + --data '{"display_name":"My Certificate Authority","description":"Sample description text","certificate_chain":"-----BEGIN CERTIFICATE----- + MIIDdTCCAl2gAwIBAgILBAAAAAABFUtaw5QwDQYJKoZIhvcNAQEFBQAwVzELMAkGA1UEBhMCQkUx + GTAXBgNVBAoTEEdsb2JhbFNpZ24gbnYtc2ExEDAOBgNVBAsTB1Jvb3QgQ0ExGzAZBgNVBAMTEkds + b2JhbFNpZ24gUm9vdCBDQTAeFw05ODA5MDExMjAwMDBaFw0yODAxMjgxMjAwMDBaMFcxCzAJBgNV + BAYTAkJFMRkwFwYDVQQKExBHbG9iYWxTaWduIG52LXNhMRAwDgYDVQQLEwdSb290IENBMRswGQYD + VQQDExJHbG9iYWxTaWduIFJvb3QgQ0EwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQDa + DuaZjc6j40+Kfvvxi4Mla+pIH/EqsLmVEQS98GPR4mdmzxzdzxtIK+6NiY6arymAZavpxy0Sy6sc + THAHoT0KMM0VjU/43dSMUBUc71DuxC73/OlS8pF94G3VNTCOXkNz8kHp1Wrjsok6Vjk4bwY8iGlb + Kk3Fp1S4bInMm/k8yuX9ifUSPJJ4ltbcdG6TRGHRjcdGsnUOhugZitVtbNV4FpWi6cgKOOvyJBNP + c1STE4U6G7weNLWLBYy5d4ux2x8gkasJU26Qzns3dLlwR5EiUWMWea6xrkEmCMgZK9FGqkjWZCrX + gzT/LCrBbBlDSgeF59N89iFo7+ryUp9/k5DPAgMBAAGjQjBAMA4GA1UdDwEB/wQEAwIBBjAPBgNV + HRMBAf8EBTADAQH/MB0GA1UdDgQWBBRge2YaRQ2XyolQL30EzTSo//z9SzANBgkqhkiG9w0BAQUF + AAOCAQEA1nPnfE920I2/7LqivjTFKDK1fPxsnCwrvQmeU79rXqoRSLblCKOzyj1hTdNGCbM+w6Dj + Y1Ub8rrvrTnhQ7k4o+YviiY776BQVvnGCv04zcQLcFGUl5gE38NflNUVyRRBnMRddWQVDf9VMOyG + j/8N7yy5Y0b2qvzfvGn9LhJIZJrglfCm7ymPAbEVtQwdpf5pLGkkeB6zpxxxYu7KyJesF12KwvhH + hm4qxFYxldBniYUr+WymXUadDKqC5JlR3XC321Y9YeRq4VzW9v493kHMB65jUr9TU/Qr6cf9tveC + X4XSQRjbgbMEHMUfpIBvFSDJ3gyICh3WZlXi/EjJKSZp4A== + -----END CERTIFICATE-----","certificate_chain_filename":"certificate.pem","crl_url":"http://example.com","crl_chain":"-----BEGIN X509 CRL----- + MIICNTCCAR0CAQEwDQYJKoZIhvcNAQELBQAwgbExCzAJBgNVBAYTAlVTMQswCQYD + VQQIDAJDQTEWMBQGA1UEBwwNTW91bnRhaW4gVmlldzESMBAGA1UECgwJQ29uZmx1 + ZW50MRMwEQYDVQQLDApzZWN1cml0eS0xMSYwJAYDVQQDDB1tdGxzMS5zZWN1cml0 + eS0xLmNvbmZsdWVudC5pbzEsMCoGCSqGSIb3DQEJARYdbXRsczFAc2VjdXJpdHkt + MS5jb25mbHVlbnQuaW8XDTI0MDgyNTE3NTYyNloXDTI0MTEyMzE3NTYyNlowJzAl + AhQERu3UxH2q3eUglbdeQY8y0vT7rRcNMjQwODI1MTc1NTE2WqAOMAwwCgYDVR0U + BAMCAQEwDQYJKoZIhvcNAQELBQADggEBAGvmflwxVAnqZbRx8njb2t6yXqeIOBaX + CKhMq5CUWrWhMX/JrV5NhVfzeB2tgCCfM4J7gbKSArOKqjYpQBFL+r5eCjPBBcG4 + xqh1J60l5DDsiUcXQM5FtlWTBBZFxvvvWsLP4qA/0meYRY69YQNqgEQgQ65l0Ehl + gIUx8WkEo82A8MDY/t91PaFHufnffPKu4CxFtcpGwuvA2n9mpxB2TsSTiV8THsfE + jatuFwYgumI6t5wIWb71j/1oqQDYtbgpgUvX9gD+g7HlCC4u6Dynd0q8lsimrbf6 + cGf5Vs3JfMcr1kYNruT7kg4f4hc3p4CcuWtxYmHOcWNyZbi+W9Fdakg= + -----END X509 CRL-----"}' + - lang: Java + source: |- + OkHttpClient client = new OkHttpClient(); + + MediaType mediaType = MediaType.parse("application/json"); + RequestBody body = RequestBody.create(mediaType, "{\"display_name\":\"My Certificate Authority\",\"description\":\"Sample description text\",\"certificate_chain\":\"-----BEGIN CERTIFICATE-----\ + MIIDdTCCAl2gAwIBAgILBAAAAAABFUtaw5QwDQYJKoZIhvcNAQEFBQAwVzELMAkGA1UEBhMCQkUx\ + GTAXBgNVBAoTEEdsb2JhbFNpZ24gbnYtc2ExEDAOBgNVBAsTB1Jvb3QgQ0ExGzAZBgNVBAMTEkds\ + b2JhbFNpZ24gUm9vdCBDQTAeFw05ODA5MDExMjAwMDBaFw0yODAxMjgxMjAwMDBaMFcxCzAJBgNV\ + BAYTAkJFMRkwFwYDVQQKExBHbG9iYWxTaWduIG52LXNhMRAwDgYDVQQLEwdSb290IENBMRswGQYD\ + VQQDExJHbG9iYWxTaWduIFJvb3QgQ0EwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQDa\ + DuaZjc6j40+Kfvvxi4Mla+pIH/EqsLmVEQS98GPR4mdmzxzdzxtIK+6NiY6arymAZavpxy0Sy6sc\ + THAHoT0KMM0VjU/43dSMUBUc71DuxC73/OlS8pF94G3VNTCOXkNz8kHp1Wrjsok6Vjk4bwY8iGlb\ + Kk3Fp1S4bInMm/k8yuX9ifUSPJJ4ltbcdG6TRGHRjcdGsnUOhugZitVtbNV4FpWi6cgKOOvyJBNP\ + c1STE4U6G7weNLWLBYy5d4ux2x8gkasJU26Qzns3dLlwR5EiUWMWea6xrkEmCMgZK9FGqkjWZCrX\ + gzT/LCrBbBlDSgeF59N89iFo7+ryUp9/k5DPAgMBAAGjQjBAMA4GA1UdDwEB/wQEAwIBBjAPBgNV\ + HRMBAf8EBTADAQH/MB0GA1UdDgQWBBRge2YaRQ2XyolQL30EzTSo//z9SzANBgkqhkiG9w0BAQUF\ + AAOCAQEA1nPnfE920I2/7LqivjTFKDK1fPxsnCwrvQmeU79rXqoRSLblCKOzyj1hTdNGCbM+w6Dj\ + Y1Ub8rrvrTnhQ7k4o+YviiY776BQVvnGCv04zcQLcFGUl5gE38NflNUVyRRBnMRddWQVDf9VMOyG\ + j/8N7yy5Y0b2qvzfvGn9LhJIZJrglfCm7ymPAbEVtQwdpf5pLGkkeB6zpxxxYu7KyJesF12KwvhH\ + hm4qxFYxldBniYUr+WymXUadDKqC5JlR3XC321Y9YeRq4VzW9v493kHMB65jUr9TU/Qr6cf9tveC\ + X4XSQRjbgbMEHMUfpIBvFSDJ3gyICh3WZlXi/EjJKSZp4A==\ + -----END CERTIFICATE-----\",\"certificate_chain_filename\":\"certificate.pem\",\"crl_url\":\"http://example.com\",\"crl_chain\":\"-----BEGIN X509 CRL-----\ + MIICNTCCAR0CAQEwDQYJKoZIhvcNAQELBQAwgbExCzAJBgNVBAYTAlVTMQswCQYD\ + VQQIDAJDQTEWMBQGA1UEBwwNTW91bnRhaW4gVmlldzESMBAGA1UECgwJQ29uZmx1\ + ZW50MRMwEQYDVQQLDApzZWN1cml0eS0xMSYwJAYDVQQDDB1tdGxzMS5zZWN1cml0\ + eS0xLmNvbmZsdWVudC5pbzEsMCoGCSqGSIb3DQEJARYdbXRsczFAc2VjdXJpdHkt\ + MS5jb25mbHVlbnQuaW8XDTI0MDgyNTE3NTYyNloXDTI0MTEyMzE3NTYyNlowJzAl\ + AhQERu3UxH2q3eUglbdeQY8y0vT7rRcNMjQwODI1MTc1NTE2WqAOMAwwCgYDVR0U\ + BAMCAQEwDQYJKoZIhvcNAQELBQADggEBAGvmflwxVAnqZbRx8njb2t6yXqeIOBaX\ + CKhMq5CUWrWhMX/JrV5NhVfzeB2tgCCfM4J7gbKSArOKqjYpQBFL+r5eCjPBBcG4\ + xqh1J60l5DDsiUcXQM5FtlWTBBZFxvvvWsLP4qA/0meYRY69YQNqgEQgQ65l0Ehl\ + gIUx8WkEo82A8MDY/t91PaFHufnffPKu4CxFtcpGwuvA2n9mpxB2TsSTiV8THsfE\ + jatuFwYgumI6t5wIWb71j/1oqQDYtbgpgUvX9gD+g7HlCC4u6Dynd0q8lsimrbf6\ + cGf5Vs3JfMcr1kYNruT7kg4f4hc3p4CcuWtxYmHOcWNyZbi+W9Fdakg=\ + -----END X509 CRL-----\"}"); + Request request = new Request.Builder() + .url("https://api.confluent.cloud/iam/v2/certificate-authorities") + .post(body) + .addHeader("content-type", "application/json") + .addHeader("Authorization", "Basic REPLACE_BASIC_AUTH") + .build(); + + Response response = client.newCall(request).execute(); + - lang: Go + source: "package main\n\nimport (\n\t\"fmt\"\n\t\"strings\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.confluent.cloud/iam/v2/certificate-authorities\"\n\n\tpayload := strings.NewReader(\"{\\\"display_name\\\":\\\"My Certificate Authority\\\",\\\"description\\\":\\\"Sample description text\\\",\\\"certificate_chain\\\":\\\"-----BEGIN CERTIFICATE-----\\\nMIIDdTCCAl2gAwIBAgILBAAAAAABFUtaw5QwDQYJKoZIhvcNAQEFBQAwVzELMAkGA1UEBhMCQkUx\\\nGTAXBgNVBAoTEEdsb2JhbFNpZ24gbnYtc2ExEDAOBgNVBAsTB1Jvb3QgQ0ExGzAZBgNVBAMTEkds\\\nb2JhbFNpZ24gUm9vdCBDQTAeFw05ODA5MDExMjAwMDBaFw0yODAxMjgxMjAwMDBaMFcxCzAJBgNV\\\nBAYTAkJFMRkwFwYDVQQKExBHbG9iYWxTaWduIG52LXNhMRAwDgYDVQQLEwdSb290IENBMRswGQYD\\\nVQQDExJHbG9iYWxTaWduIFJvb3QgQ0EwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQDa\\\nDuaZjc6j40+Kfvvxi4Mla+pIH/EqsLmVEQS98GPR4mdmzxzdzxtIK+6NiY6arymAZavpxy0Sy6sc\\\nTHAHoT0KMM0VjU/43dSMUBUc71DuxC73/OlS8pF94G3VNTCOXkNz8kHp1Wrjsok6Vjk4bwY8iGlb\\\nKk3Fp1S4bInMm/k8yuX9ifUSPJJ4ltbcdG6TRGHRjcdGsnUOhugZitVtbNV4FpWi6cgKOOvyJBNP\\\nc1STE4U6G7weNLWLBYy5d4ux2x8gkasJU26Qzns3dLlwR5EiUWMWea6xrkEmCMgZK9FGqkjWZCrX\\\ngzT/LCrBbBlDSgeF59N89iFo7+ryUp9/k5DPAgMBAAGjQjBAMA4GA1UdDwEB/wQEAwIBBjAPBgNV\\\nHRMBAf8EBTADAQH/MB0GA1UdDgQWBBRge2YaRQ2XyolQL30EzTSo//z9SzANBgkqhkiG9w0BAQUF\\\nAAOCAQEA1nPnfE920I2/7LqivjTFKDK1fPxsnCwrvQmeU79rXqoRSLblCKOzyj1hTdNGCbM+w6Dj\\\nY1Ub8rrvrTnhQ7k4o+YviiY776BQVvnGCv04zcQLcFGUl5gE38NflNUVyRRBnMRddWQVDf9VMOyG\\\nj/8N7yy5Y0b2qvzfvGn9LhJIZJrglfCm7ymPAbEVtQwdpf5pLGkkeB6zpxxxYu7KyJesF12KwvhH\\\nhm4qxFYxldBniYUr+WymXUadDKqC5JlR3XC321Y9YeRq4VzW9v493kHMB65jUr9TU/Qr6cf9tveC\\\nX4XSQRjbgbMEHMUfpIBvFSDJ3gyICh3WZlXi/EjJKSZp4A==\\\n-----END CERTIFICATE-----\\\",\\\"certificate_chain_filename\\\":\\\"certificate.pem\\\",\\\"crl_url\\\":\\\"http://example.com\\\",\\\"crl_chain\\\":\\\"-----BEGIN X509 CRL-----\\\nMIICNTCCAR0CAQEwDQYJKoZIhvcNAQELBQAwgbExCzAJBgNVBAYTAlVTMQswCQYD\\\nVQQIDAJDQTEWMBQGA1UEBwwNTW91bnRhaW4gVmlldzESMBAGA1UECgwJQ29uZmx1\\\nZW50MRMwEQYDVQQLDApzZWN1cml0eS0xMSYwJAYDVQQDDB1tdGxzMS5zZWN1cml0\\\neS0xLmNvbmZsdWVudC5pbzEsMCoGCSqGSIb3DQEJARYdbXRsczFAc2VjdXJpdHkt\\\nMS5jb25mbHVlbnQuaW8XDTI0MDgyNTE3NTYyNloXDTI0MTEyMzE3NTYyNlowJzAl\\\nAhQERu3UxH2q3eUglbdeQY8y0vT7rRcNMjQwODI1MTc1NTE2WqAOMAwwCgYDVR0U\\\nBAMCAQEwDQYJKoZIhvcNAQELBQADggEBAGvmflwxVAnqZbRx8njb2t6yXqeIOBaX\\\nCKhMq5CUWrWhMX/JrV5NhVfzeB2tgCCfM4J7gbKSArOKqjYpQBFL+r5eCjPBBcG4\\\nxqh1J60l5DDsiUcXQM5FtlWTBBZFxvvvWsLP4qA/0meYRY69YQNqgEQgQ65l0Ehl\\\ngIUx8WkEo82A8MDY/t91PaFHufnffPKu4CxFtcpGwuvA2n9mpxB2TsSTiV8THsfE\\\njatuFwYgumI6t5wIWb71j/1oqQDYtbgpgUvX9gD+g7HlCC4u6Dynd0q8lsimrbf6\\\ncGf5Vs3JfMcr1kYNruT7kg4f4hc3p4CcuWtxYmHOcWNyZbi+W9Fdakg=\\\n-----END X509 CRL-----\\\"}\")\n\n\treq, _ := http.NewRequest(\"POST\", url, payload)\n\n\treq.Header.Add(\"content-type\", \"application/json\")\n\treq.Header.Add(\"Authorization\", \"Basic REPLACE_BASIC_AUTH\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}" + - lang: Python + source: |- + import http.client + + conn = http.client.HTTPSConnection("api.confluent.cloud") + + payload = "{\"display_name\":\"My Certificate Authority\",\"description\":\"Sample description text\",\"certificate_chain\":\"-----BEGIN CERTIFICATE-----\ + MIIDdTCCAl2gAwIBAgILBAAAAAABFUtaw5QwDQYJKoZIhvcNAQEFBQAwVzELMAkGA1UEBhMCQkUx\ + GTAXBgNVBAoTEEdsb2JhbFNpZ24gbnYtc2ExEDAOBgNVBAsTB1Jvb3QgQ0ExGzAZBgNVBAMTEkds\ + b2JhbFNpZ24gUm9vdCBDQTAeFw05ODA5MDExMjAwMDBaFw0yODAxMjgxMjAwMDBaMFcxCzAJBgNV\ + BAYTAkJFMRkwFwYDVQQKExBHbG9iYWxTaWduIG52LXNhMRAwDgYDVQQLEwdSb290IENBMRswGQYD\ + VQQDExJHbG9iYWxTaWduIFJvb3QgQ0EwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQDa\ + DuaZjc6j40+Kfvvxi4Mla+pIH/EqsLmVEQS98GPR4mdmzxzdzxtIK+6NiY6arymAZavpxy0Sy6sc\ + THAHoT0KMM0VjU/43dSMUBUc71DuxC73/OlS8pF94G3VNTCOXkNz8kHp1Wrjsok6Vjk4bwY8iGlb\ + Kk3Fp1S4bInMm/k8yuX9ifUSPJJ4ltbcdG6TRGHRjcdGsnUOhugZitVtbNV4FpWi6cgKOOvyJBNP\ + c1STE4U6G7weNLWLBYy5d4ux2x8gkasJU26Qzns3dLlwR5EiUWMWea6xrkEmCMgZK9FGqkjWZCrX\ + gzT/LCrBbBlDSgeF59N89iFo7+ryUp9/k5DPAgMBAAGjQjBAMA4GA1UdDwEB/wQEAwIBBjAPBgNV\ + HRMBAf8EBTADAQH/MB0GA1UdDgQWBBRge2YaRQ2XyolQL30EzTSo//z9SzANBgkqhkiG9w0BAQUF\ + AAOCAQEA1nPnfE920I2/7LqivjTFKDK1fPxsnCwrvQmeU79rXqoRSLblCKOzyj1hTdNGCbM+w6Dj\ + Y1Ub8rrvrTnhQ7k4o+YviiY776BQVvnGCv04zcQLcFGUl5gE38NflNUVyRRBnMRddWQVDf9VMOyG\ + j/8N7yy5Y0b2qvzfvGn9LhJIZJrglfCm7ymPAbEVtQwdpf5pLGkkeB6zpxxxYu7KyJesF12KwvhH\ + hm4qxFYxldBniYUr+WymXUadDKqC5JlR3XC321Y9YeRq4VzW9v493kHMB65jUr9TU/Qr6cf9tveC\ + X4XSQRjbgbMEHMUfpIBvFSDJ3gyICh3WZlXi/EjJKSZp4A==\ + -----END CERTIFICATE-----\",\"certificate_chain_filename\":\"certificate.pem\",\"crl_url\":\"http://example.com\",\"crl_chain\":\"-----BEGIN X509 CRL-----\ + MIICNTCCAR0CAQEwDQYJKoZIhvcNAQELBQAwgbExCzAJBgNVBAYTAlVTMQswCQYD\ + VQQIDAJDQTEWMBQGA1UEBwwNTW91bnRhaW4gVmlldzESMBAGA1UECgwJQ29uZmx1\ + ZW50MRMwEQYDVQQLDApzZWN1cml0eS0xMSYwJAYDVQQDDB1tdGxzMS5zZWN1cml0\ + eS0xLmNvbmZsdWVudC5pbzEsMCoGCSqGSIb3DQEJARYdbXRsczFAc2VjdXJpdHkt\ + MS5jb25mbHVlbnQuaW8XDTI0MDgyNTE3NTYyNloXDTI0MTEyMzE3NTYyNlowJzAl\ + AhQERu3UxH2q3eUglbdeQY8y0vT7rRcNMjQwODI1MTc1NTE2WqAOMAwwCgYDVR0U\ + BAMCAQEwDQYJKoZIhvcNAQELBQADggEBAGvmflwxVAnqZbRx8njb2t6yXqeIOBaX\ + CKhMq5CUWrWhMX/JrV5NhVfzeB2tgCCfM4J7gbKSArOKqjYpQBFL+r5eCjPBBcG4\ + xqh1J60l5DDsiUcXQM5FtlWTBBZFxvvvWsLP4qA/0meYRY69YQNqgEQgQ65l0Ehl\ + gIUx8WkEo82A8MDY/t91PaFHufnffPKu4CxFtcpGwuvA2n9mpxB2TsSTiV8THsfE\ + jatuFwYgumI6t5wIWb71j/1oqQDYtbgpgUvX9gD+g7HlCC4u6Dynd0q8lsimrbf6\ + cGf5Vs3JfMcr1kYNruT7kg4f4hc3p4CcuWtxYmHOcWNyZbi+W9Fdakg=\ + -----END X509 CRL-----\"}" + + headers = { + 'content-type': "application/json", + 'Authorization': "Basic REPLACE_BASIC_AUTH" + } + + conn.request("POST", "/iam/v2/certificate-authorities", payload, headers) + + res = conn.getresponse() + data = res.read() + + print(data.decode("utf-8")) + - lang: Node + source: |- + const http = require("https"); + + const options = { + "method": "POST", + "hostname": "api.confluent.cloud", + "port": null, + "path": "/iam/v2/certificate-authorities", + "headers": { + "content-type": "application/json", + "Authorization": "Basic REPLACE_BASIC_AUTH" + } + }; + + const req = http.request(options, function (res) { + const chunks = []; + + res.on("data", function (chunk) { + chunks.push(chunk); + }); + + res.on("end", function () { + const body = Buffer.concat(chunks); + console.log(body.toString()); + }); + }); + + req.write(JSON.stringify({ + display_name: 'My Certificate Authority', + description: 'Sample description text', + certificate_chain: '-----BEGIN CERTIFICATE----- + MIIDdTCCAl2gAwIBAgILBAAAAAABFUtaw5QwDQYJKoZIhvcNAQEFBQAwVzELMAkGA1UEBhMCQkUx + GTAXBgNVBAoTEEdsb2JhbFNpZ24gbnYtc2ExEDAOBgNVBAsTB1Jvb3QgQ0ExGzAZBgNVBAMTEkds + b2JhbFNpZ24gUm9vdCBDQTAeFw05ODA5MDExMjAwMDBaFw0yODAxMjgxMjAwMDBaMFcxCzAJBgNV + BAYTAkJFMRkwFwYDVQQKExBHbG9iYWxTaWduIG52LXNhMRAwDgYDVQQLEwdSb290IENBMRswGQYD + VQQDExJHbG9iYWxTaWduIFJvb3QgQ0EwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQDa + DuaZjc6j40+Kfvvxi4Mla+pIH/EqsLmVEQS98GPR4mdmzxzdzxtIK+6NiY6arymAZavpxy0Sy6sc + THAHoT0KMM0VjU/43dSMUBUc71DuxC73/OlS8pF94G3VNTCOXkNz8kHp1Wrjsok6Vjk4bwY8iGlb + Kk3Fp1S4bInMm/k8yuX9ifUSPJJ4ltbcdG6TRGHRjcdGsnUOhugZitVtbNV4FpWi6cgKOOvyJBNP + c1STE4U6G7weNLWLBYy5d4ux2x8gkasJU26Qzns3dLlwR5EiUWMWea6xrkEmCMgZK9FGqkjWZCrX + gzT/LCrBbBlDSgeF59N89iFo7+ryUp9/k5DPAgMBAAGjQjBAMA4GA1UdDwEB/wQEAwIBBjAPBgNV + HRMBAf8EBTADAQH/MB0GA1UdDgQWBBRge2YaRQ2XyolQL30EzTSo//z9SzANBgkqhkiG9w0BAQUF + AAOCAQEA1nPnfE920I2/7LqivjTFKDK1fPxsnCwrvQmeU79rXqoRSLblCKOzyj1hTdNGCbM+w6Dj + Y1Ub8rrvrTnhQ7k4o+YviiY776BQVvnGCv04zcQLcFGUl5gE38NflNUVyRRBnMRddWQVDf9VMOyG + j/8N7yy5Y0b2qvzfvGn9LhJIZJrglfCm7ymPAbEVtQwdpf5pLGkkeB6zpxxxYu7KyJesF12KwvhH + hm4qxFYxldBniYUr+WymXUadDKqC5JlR3XC321Y9YeRq4VzW9v493kHMB65jUr9TU/Qr6cf9tveC + X4XSQRjbgbMEHMUfpIBvFSDJ3gyICh3WZlXi/EjJKSZp4A== + -----END CERTIFICATE-----', + certificate_chain_filename: 'certificate.pem', + crl_url: 'http://example.com', + crl_chain: '-----BEGIN X509 CRL----- + MIICNTCCAR0CAQEwDQYJKoZIhvcNAQELBQAwgbExCzAJBgNVBAYTAlVTMQswCQYD + VQQIDAJDQTEWMBQGA1UEBwwNTW91bnRhaW4gVmlldzESMBAGA1UECgwJQ29uZmx1 + ZW50MRMwEQYDVQQLDApzZWN1cml0eS0xMSYwJAYDVQQDDB1tdGxzMS5zZWN1cml0 + eS0xLmNvbmZsdWVudC5pbzEsMCoGCSqGSIb3DQEJARYdbXRsczFAc2VjdXJpdHkt + MS5jb25mbHVlbnQuaW8XDTI0MDgyNTE3NTYyNloXDTI0MTEyMzE3NTYyNlowJzAl + AhQERu3UxH2q3eUglbdeQY8y0vT7rRcNMjQwODI1MTc1NTE2WqAOMAwwCgYDVR0U + BAMCAQEwDQYJKoZIhvcNAQELBQADggEBAGvmflwxVAnqZbRx8njb2t6yXqeIOBaX + CKhMq5CUWrWhMX/JrV5NhVfzeB2tgCCfM4J7gbKSArOKqjYpQBFL+r5eCjPBBcG4 + xqh1J60l5DDsiUcXQM5FtlWTBBZFxvvvWsLP4qA/0meYRY69YQNqgEQgQ65l0Ehl + gIUx8WkEo82A8MDY/t91PaFHufnffPKu4CxFtcpGwuvA2n9mpxB2TsSTiV8THsfE + jatuFwYgumI6t5wIWb71j/1oqQDYtbgpgUvX9gD+g7HlCC4u6Dynd0q8lsimrbf6 + cGf5Vs3JfMcr1kYNruT7kg4f4hc3p4CcuWtxYmHOcWNyZbi+W9Fdakg= + -----END X509 CRL-----' + })); + req.end(); + - lang: C + source: |- + CURL *hnd = curl_easy_init(); + + curl_easy_setopt(hnd, CURLOPT_CUSTOMREQUEST, "POST"); + curl_easy_setopt(hnd, CURLOPT_URL, "https://api.confluent.cloud/iam/v2/certificate-authorities"); + + struct curl_slist *headers = NULL; + headers = curl_slist_append(headers, "content-type: application/json"); + headers = curl_slist_append(headers, "Authorization: Basic REPLACE_BASIC_AUTH"); + curl_easy_setopt(hnd, CURLOPT_HTTPHEADER, headers); + + curl_easy_setopt(hnd, CURLOPT_POSTFIELDS, "{\"display_name\":\"My Certificate Authority\",\"description\":\"Sample description text\",\"certificate_chain\":\"-----BEGIN CERTIFICATE-----\ + MIIDdTCCAl2gAwIBAgILBAAAAAABFUtaw5QwDQYJKoZIhvcNAQEFBQAwVzELMAkGA1UEBhMCQkUx\ + GTAXBgNVBAoTEEdsb2JhbFNpZ24gbnYtc2ExEDAOBgNVBAsTB1Jvb3QgQ0ExGzAZBgNVBAMTEkds\ + b2JhbFNpZ24gUm9vdCBDQTAeFw05ODA5MDExMjAwMDBaFw0yODAxMjgxMjAwMDBaMFcxCzAJBgNV\ + BAYTAkJFMRkwFwYDVQQKExBHbG9iYWxTaWduIG52LXNhMRAwDgYDVQQLEwdSb290IENBMRswGQYD\ + VQQDExJHbG9iYWxTaWduIFJvb3QgQ0EwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQDa\ + DuaZjc6j40+Kfvvxi4Mla+pIH/EqsLmVEQS98GPR4mdmzxzdzxtIK+6NiY6arymAZavpxy0Sy6sc\ + THAHoT0KMM0VjU/43dSMUBUc71DuxC73/OlS8pF94G3VNTCOXkNz8kHp1Wrjsok6Vjk4bwY8iGlb\ + Kk3Fp1S4bInMm/k8yuX9ifUSPJJ4ltbcdG6TRGHRjcdGsnUOhugZitVtbNV4FpWi6cgKOOvyJBNP\ + c1STE4U6G7weNLWLBYy5d4ux2x8gkasJU26Qzns3dLlwR5EiUWMWea6xrkEmCMgZK9FGqkjWZCrX\ + gzT/LCrBbBlDSgeF59N89iFo7+ryUp9/k5DPAgMBAAGjQjBAMA4GA1UdDwEB/wQEAwIBBjAPBgNV\ + HRMBAf8EBTADAQH/MB0GA1UdDgQWBBRge2YaRQ2XyolQL30EzTSo//z9SzANBgkqhkiG9w0BAQUF\ + AAOCAQEA1nPnfE920I2/7LqivjTFKDK1fPxsnCwrvQmeU79rXqoRSLblCKOzyj1hTdNGCbM+w6Dj\ + Y1Ub8rrvrTnhQ7k4o+YviiY776BQVvnGCv04zcQLcFGUl5gE38NflNUVyRRBnMRddWQVDf9VMOyG\ + j/8N7yy5Y0b2qvzfvGn9LhJIZJrglfCm7ymPAbEVtQwdpf5pLGkkeB6zpxxxYu7KyJesF12KwvhH\ + hm4qxFYxldBniYUr+WymXUadDKqC5JlR3XC321Y9YeRq4VzW9v493kHMB65jUr9TU/Qr6cf9tveC\ + X4XSQRjbgbMEHMUfpIBvFSDJ3gyICh3WZlXi/EjJKSZp4A==\ + -----END CERTIFICATE-----\",\"certificate_chain_filename\":\"certificate.pem\",\"crl_url\":\"http://example.com\",\"crl_chain\":\"-----BEGIN X509 CRL-----\ + MIICNTCCAR0CAQEwDQYJKoZIhvcNAQELBQAwgbExCzAJBgNVBAYTAlVTMQswCQYD\ + VQQIDAJDQTEWMBQGA1UEBwwNTW91bnRhaW4gVmlldzESMBAGA1UECgwJQ29uZmx1\ + ZW50MRMwEQYDVQQLDApzZWN1cml0eS0xMSYwJAYDVQQDDB1tdGxzMS5zZWN1cml0\ + eS0xLmNvbmZsdWVudC5pbzEsMCoGCSqGSIb3DQEJARYdbXRsczFAc2VjdXJpdHkt\ + MS5jb25mbHVlbnQuaW8XDTI0MDgyNTE3NTYyNloXDTI0MTEyMzE3NTYyNlowJzAl\ + AhQERu3UxH2q3eUglbdeQY8y0vT7rRcNMjQwODI1MTc1NTE2WqAOMAwwCgYDVR0U\ + BAMCAQEwDQYJKoZIhvcNAQELBQADggEBAGvmflwxVAnqZbRx8njb2t6yXqeIOBaX\ + CKhMq5CUWrWhMX/JrV5NhVfzeB2tgCCfM4J7gbKSArOKqjYpQBFL+r5eCjPBBcG4\ + xqh1J60l5DDsiUcXQM5FtlWTBBZFxvvvWsLP4qA/0meYRY69YQNqgEQgQ65l0Ehl\ + gIUx8WkEo82A8MDY/t91PaFHufnffPKu4CxFtcpGwuvA2n9mpxB2TsSTiV8THsfE\ + jatuFwYgumI6t5wIWb71j/1oqQDYtbgpgUvX9gD+g7HlCC4u6Dynd0q8lsimrbf6\ + cGf5Vs3JfMcr1kYNruT7kg4f4hc3p4CcuWtxYmHOcWNyZbi+W9Fdakg=\ + -----END X509 CRL-----\"}"); + + CURLcode ret = curl_easy_perform(hnd); + - lang: C# + source: |- + var client = new RestClient("https://api.confluent.cloud/iam/v2/certificate-authorities"); + var request = new RestRequest(Method.POST); + request.AddHeader("content-type", "application/json"); + request.AddHeader("Authorization", "Basic REPLACE_BASIC_AUTH"); + request.AddParameter("application/json", "{\"display_name\":\"My Certificate Authority\",\"description\":\"Sample description text\",\"certificate_chain\":\"-----BEGIN CERTIFICATE-----\ + MIIDdTCCAl2gAwIBAgILBAAAAAABFUtaw5QwDQYJKoZIhvcNAQEFBQAwVzELMAkGA1UEBhMCQkUx\ + GTAXBgNVBAoTEEdsb2JhbFNpZ24gbnYtc2ExEDAOBgNVBAsTB1Jvb3QgQ0ExGzAZBgNVBAMTEkds\ + b2JhbFNpZ24gUm9vdCBDQTAeFw05ODA5MDExMjAwMDBaFw0yODAxMjgxMjAwMDBaMFcxCzAJBgNV\ + BAYTAkJFMRkwFwYDVQQKExBHbG9iYWxTaWduIG52LXNhMRAwDgYDVQQLEwdSb290IENBMRswGQYD\ + VQQDExJHbG9iYWxTaWduIFJvb3QgQ0EwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQDa\ + DuaZjc6j40+Kfvvxi4Mla+pIH/EqsLmVEQS98GPR4mdmzxzdzxtIK+6NiY6arymAZavpxy0Sy6sc\ + THAHoT0KMM0VjU/43dSMUBUc71DuxC73/OlS8pF94G3VNTCOXkNz8kHp1Wrjsok6Vjk4bwY8iGlb\ + Kk3Fp1S4bInMm/k8yuX9ifUSPJJ4ltbcdG6TRGHRjcdGsnUOhugZitVtbNV4FpWi6cgKOOvyJBNP\ + c1STE4U6G7weNLWLBYy5d4ux2x8gkasJU26Qzns3dLlwR5EiUWMWea6xrkEmCMgZK9FGqkjWZCrX\ + gzT/LCrBbBlDSgeF59N89iFo7+ryUp9/k5DPAgMBAAGjQjBAMA4GA1UdDwEB/wQEAwIBBjAPBgNV\ + HRMBAf8EBTADAQH/MB0GA1UdDgQWBBRge2YaRQ2XyolQL30EzTSo//z9SzANBgkqhkiG9w0BAQUF\ + AAOCAQEA1nPnfE920I2/7LqivjTFKDK1fPxsnCwrvQmeU79rXqoRSLblCKOzyj1hTdNGCbM+w6Dj\ + Y1Ub8rrvrTnhQ7k4o+YviiY776BQVvnGCv04zcQLcFGUl5gE38NflNUVyRRBnMRddWQVDf9VMOyG\ + j/8N7yy5Y0b2qvzfvGn9LhJIZJrglfCm7ymPAbEVtQwdpf5pLGkkeB6zpxxxYu7KyJesF12KwvhH\ + hm4qxFYxldBniYUr+WymXUadDKqC5JlR3XC321Y9YeRq4VzW9v493kHMB65jUr9TU/Qr6cf9tveC\ + X4XSQRjbgbMEHMUfpIBvFSDJ3gyICh3WZlXi/EjJKSZp4A==\ + -----END CERTIFICATE-----\",\"certificate_chain_filename\":\"certificate.pem\",\"crl_url\":\"http://example.com\",\"crl_chain\":\"-----BEGIN X509 CRL-----\ + MIICNTCCAR0CAQEwDQYJKoZIhvcNAQELBQAwgbExCzAJBgNVBAYTAlVTMQswCQYD\ + VQQIDAJDQTEWMBQGA1UEBwwNTW91bnRhaW4gVmlldzESMBAGA1UECgwJQ29uZmx1\ + ZW50MRMwEQYDVQQLDApzZWN1cml0eS0xMSYwJAYDVQQDDB1tdGxzMS5zZWN1cml0\ + eS0xLmNvbmZsdWVudC5pbzEsMCoGCSqGSIb3DQEJARYdbXRsczFAc2VjdXJpdHkt\ + MS5jb25mbHVlbnQuaW8XDTI0MDgyNTE3NTYyNloXDTI0MTEyMzE3NTYyNlowJzAl\ + AhQERu3UxH2q3eUglbdeQY8y0vT7rRcNMjQwODI1MTc1NTE2WqAOMAwwCgYDVR0U\ + BAMCAQEwDQYJKoZIhvcNAQELBQADggEBAGvmflwxVAnqZbRx8njb2t6yXqeIOBaX\ + CKhMq5CUWrWhMX/JrV5NhVfzeB2tgCCfM4J7gbKSArOKqjYpQBFL+r5eCjPBBcG4\ + xqh1J60l5DDsiUcXQM5FtlWTBBZFxvvvWsLP4qA/0meYRY69YQNqgEQgQ65l0Ehl\ + gIUx8WkEo82A8MDY/t91PaFHufnffPKu4CxFtcpGwuvA2n9mpxB2TsSTiV8THsfE\ + jatuFwYgumI6t5wIWb71j/1oqQDYtbgpgUvX9gD+g7HlCC4u6Dynd0q8lsimrbf6\ + cGf5Vs3JfMcr1kYNruT7kg4f4hc3p4CcuWtxYmHOcWNyZbi+W9Fdakg=\ + -----END X509 CRL-----\"}", ParameterType.RequestBody); + IRestResponse response = client.Execute(request); + '/iam/v2/certificate-authorities/{id}': + get: + operationId: getIamV2CertificateAuthority + summary: Read a Certificate Authority + description: |- + [![Limited Availability](https://img.shields.io/badge/Lifecycle%20Stage-Limited%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + Make a request to read a certificate authority. + parameters: + - name: id + in: path + required: true + schema: + type: string + description: The unique identifier for the certificate authority. + tags: + - Certificate Authorities (iam/v2) + security: + - cloud-api-key: [] + - confluent-sts-access-token: [] + responses: + '200': + description: Certificate Authority. + content: + application/json: + schema: + allOf: + - $ref: '#/components/schemas/iam.v2.CertificateAuthority' + - type: object + required: + - api_version + - kind + - id + - display_name + - description + - fingerprints + - expiration_dates + - serial_numbers + - certificate_chain_filename + - state + 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. + + **Important:** This differs from Github and Twitter's same-named header which uses UTC epoch seconds. We use relative time to avoid client/server time synchronization issues. + '400': + $ref: '#/components/responses/BadRequestError' + '401': + $ref: '#/components/responses/UnauthenticatedError' + '403': + $ref: '#/components/responses/UnauthorizedError' + '404': + $ref: '#/components/responses/NotFoundError' + '429': + $ref: '#/components/responses/RateLimitError' + '500': + $ref: '#/components/responses/DefaultSystemError' + x-codeSamples: + - lang: Shell + source: |- + curl --request GET \ + --url 'https://api.confluent.cloud/iam/v2/certificate-authorities/{id}' \ + --header 'Authorization: Basic REPLACE_BASIC_AUTH' + - lang: Java + source: |- + OkHttpClient client = new OkHttpClient(); + + Request request = new Request.Builder() + .url("https://api.confluent.cloud/iam/v2/certificate-authorities/{id}") + .get() + .addHeader("Authorization", "Basic REPLACE_BASIC_AUTH") + .build(); + + Response response = client.newCall(request).execute(); + - lang: Go + source: "package main\n\nimport (\n\t\"fmt\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.confluent.cloud/iam/v2/certificate-authorities/{id}\"\n\n\treq, _ := http.NewRequest(\"GET\", url, nil)\n\n\treq.Header.Add(\"Authorization\", \"Basic REPLACE_BASIC_AUTH\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}" + - lang: Python + source: |- + import http.client + + conn = http.client.HTTPSConnection("api.confluent.cloud") + + headers = { 'Authorization': "Basic REPLACE_BASIC_AUTH" } + + conn.request("GET", "/iam/v2/certificate-authorities/{id}", headers=headers) + + res = conn.getresponse() + data = res.read() + + print(data.decode("utf-8")) + - lang: Node + source: |- + const http = require("https"); + + const options = { + "method": "GET", + "hostname": "api.confluent.cloud", + "port": null, + "path": "/iam/v2/certificate-authorities/{id}", + "headers": { + "Authorization": "Basic REPLACE_BASIC_AUTH" + } + }; + + const req = http.request(options, function (res) { + const chunks = []; + + res.on("data", function (chunk) { + chunks.push(chunk); + }); + + res.on("end", function () { + const body = Buffer.concat(chunks); + console.log(body.toString()); + }); + }); + + req.end(); + - lang: C + source: |- + CURL *hnd = curl_easy_init(); + + curl_easy_setopt(hnd, CURLOPT_CUSTOMREQUEST, "GET"); + curl_easy_setopt(hnd, CURLOPT_URL, "https://api.confluent.cloud/iam/v2/certificate-authorities/{id}"); + + struct curl_slist *headers = NULL; + headers = curl_slist_append(headers, "Authorization: Basic REPLACE_BASIC_AUTH"); + curl_easy_setopt(hnd, CURLOPT_HTTPHEADER, headers); + + CURLcode ret = curl_easy_perform(hnd); + - lang: C# + source: |- + var client = new RestClient("https://api.confluent.cloud/iam/v2/certificate-authorities/{id}"); + var request = new RestRequest(Method.GET); + request.AddHeader("Authorization", "Basic REPLACE_BASIC_AUTH"); + IRestResponse response = client.Execute(request); + put: + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/iam.v2.UpdateCertRequest' + operationId: updateIamV2CertificateAuthority + summary: Update a Certificate Authority + description: |+ + [![Limited Availability](https://img.shields.io/badge/Lifecycle%20Stage-Limited%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + Make a request to update a certificate authority. + + parameters: + - name: id + in: path + required: true + schema: + type: string + description: The unique identifier for the certificate authority. + tags: + - Certificate Authorities (iam/v2) + security: + - cloud-api-key: [] + - confluent-sts-access-token: [] + responses: + '200': + description: Certificate Authority. + content: + application/json: + schema: + allOf: + - $ref: '#/components/schemas/iam.v2.CertificateAuthority' + - type: object + required: + - api_version + - kind + - id + - display_name + - description + - fingerprints + - expiration_dates + - serial_numbers + - certificate_chain_filename + - state + 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. + + **Important:** This differs from Github and Twitter's same-named header which uses UTC epoch seconds. We use relative time to avoid client/server time synchronization issues. + '400': + $ref: '#/components/responses/BadRequestError' + '401': + $ref: '#/components/responses/UnauthenticatedError' + '402': + $ref: '#/components/responses/OverQuotaError' + '403': + $ref: '#/components/responses/UnauthorizedError' + '404': + $ref: '#/components/responses/NotFoundError' + '409': + $ref: '#/components/responses/ConflictError' + '422': + $ref: '#/components/responses/ValidationError' + '429': + $ref: '#/components/responses/RateLimitError' + '500': + $ref: '#/components/responses/DefaultSystemError' + x-codeSamples: + - lang: Shell + source: |- + curl --request PUT \ + --url 'https://api.confluent.cloud/iam/v2/certificate-authorities/{id}' \ + --header 'Authorization: Basic REPLACE_BASIC_AUTH' \ + --header 'content-type: application/json' \ + --data '{"display_name":"My Certificate Authority","description":"Sample description text","certificate_chain":"-----BEGIN CERTIFICATE----- + MIIDdTCCAl2gAwIBAgILBAAAAAABFUtaw5QwDQYJKoZIhvcNAQEFBQAwVzELMAkGA1UEBhMCQkUx + GTAXBgNVBAoTEEdsb2JhbFNpZ24gbnYtc2ExEDAOBgNVBAsTB1Jvb3QgQ0ExGzAZBgNVBAMTEkds + b2JhbFNpZ24gUm9vdCBDQTAeFw05ODA5MDExMjAwMDBaFw0yODAxMjgxMjAwMDBaMFcxCzAJBgNV + BAYTAkJFMRkwFwYDVQQKExBHbG9iYWxTaWduIG52LXNhMRAwDgYDVQQLEwdSb290IENBMRswGQYD + VQQDExJHbG9iYWxTaWduIFJvb3QgQ0EwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQDa + DuaZjc6j40+Kfvvxi4Mla+pIH/EqsLmVEQS98GPR4mdmzxzdzxtIK+6NiY6arymAZavpxy0Sy6sc + THAHoT0KMM0VjU/43dSMUBUc71DuxC73/OlS8pF94G3VNTCOXkNz8kHp1Wrjsok6Vjk4bwY8iGlb + Kk3Fp1S4bInMm/k8yuX9ifUSPJJ4ltbcdG6TRGHRjcdGsnUOhugZitVtbNV4FpWi6cgKOOvyJBNP + c1STE4U6G7weNLWLBYy5d4ux2x8gkasJU26Qzns3dLlwR5EiUWMWea6xrkEmCMgZK9FGqkjWZCrX + gzT/LCrBbBlDSgeF59N89iFo7+ryUp9/k5DPAgMBAAGjQjBAMA4GA1UdDwEB/wQEAwIBBjAPBgNV + HRMBAf8EBTADAQH/MB0GA1UdDgQWBBRge2YaRQ2XyolQL30EzTSo//z9SzANBgkqhkiG9w0BAQUF + AAOCAQEA1nPnfE920I2/7LqivjTFKDK1fPxsnCwrvQmeU79rXqoRSLblCKOzyj1hTdNGCbM+w6Dj + Y1Ub8rrvrTnhQ7k4o+YviiY776BQVvnGCv04zcQLcFGUl5gE38NflNUVyRRBnMRddWQVDf9VMOyG + j/8N7yy5Y0b2qvzfvGn9LhJIZJrglfCm7ymPAbEVtQwdpf5pLGkkeB6zpxxxYu7KyJesF12KwvhH + hm4qxFYxldBniYUr+WymXUadDKqC5JlR3XC321Y9YeRq4VzW9v493kHMB65jUr9TU/Qr6cf9tveC + X4XSQRjbgbMEHMUfpIBvFSDJ3gyICh3WZlXi/EjJKSZp4A== + -----END CERTIFICATE-----","certificate_chain_filename":"certificate.pem","crl_url":"http://example.com","crl_chain":"-----BEGIN X509 CRL----- + MIICNTCCAR0CAQEwDQYJKoZIhvcNAQELBQAwgbExCzAJBgNVBAYTAlVTMQswCQYD + VQQIDAJDQTEWMBQGA1UEBwwNTW91bnRhaW4gVmlldzESMBAGA1UECgwJQ29uZmx1 + ZW50MRMwEQYDVQQLDApzZWN1cml0eS0xMSYwJAYDVQQDDB1tdGxzMS5zZWN1cml0 + eS0xLmNvbmZsdWVudC5pbzEsMCoGCSqGSIb3DQEJARYdbXRsczFAc2VjdXJpdHkt + MS5jb25mbHVlbnQuaW8XDTI0MDgyNTE3NTYyNloXDTI0MTEyMzE3NTYyNlowJzAl + AhQERu3UxH2q3eUglbdeQY8y0vT7rRcNMjQwODI1MTc1NTE2WqAOMAwwCgYDVR0U + BAMCAQEwDQYJKoZIhvcNAQELBQADggEBAGvmflwxVAnqZbRx8njb2t6yXqeIOBaX + CKhMq5CUWrWhMX/JrV5NhVfzeB2tgCCfM4J7gbKSArOKqjYpQBFL+r5eCjPBBcG4 + xqh1J60l5DDsiUcXQM5FtlWTBBZFxvvvWsLP4qA/0meYRY69YQNqgEQgQ65l0Ehl + gIUx8WkEo82A8MDY/t91PaFHufnffPKu4CxFtcpGwuvA2n9mpxB2TsSTiV8THsfE + jatuFwYgumI6t5wIWb71j/1oqQDYtbgpgUvX9gD+g7HlCC4u6Dynd0q8lsimrbf6 + cGf5Vs3JfMcr1kYNruT7kg4f4hc3p4CcuWtxYmHOcWNyZbi+W9Fdakg= + -----END X509 CRL-----"}' + - lang: Java + source: |- + OkHttpClient client = new OkHttpClient(); + + MediaType mediaType = MediaType.parse("application/json"); + RequestBody body = RequestBody.create(mediaType, "{\"display_name\":\"My Certificate Authority\",\"description\":\"Sample description text\",\"certificate_chain\":\"-----BEGIN CERTIFICATE-----\ + MIIDdTCCAl2gAwIBAgILBAAAAAABFUtaw5QwDQYJKoZIhvcNAQEFBQAwVzELMAkGA1UEBhMCQkUx\ + GTAXBgNVBAoTEEdsb2JhbFNpZ24gbnYtc2ExEDAOBgNVBAsTB1Jvb3QgQ0ExGzAZBgNVBAMTEkds\ + b2JhbFNpZ24gUm9vdCBDQTAeFw05ODA5MDExMjAwMDBaFw0yODAxMjgxMjAwMDBaMFcxCzAJBgNV\ + BAYTAkJFMRkwFwYDVQQKExBHbG9iYWxTaWduIG52LXNhMRAwDgYDVQQLEwdSb290IENBMRswGQYD\ + VQQDExJHbG9iYWxTaWduIFJvb3QgQ0EwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQDa\ + DuaZjc6j40+Kfvvxi4Mla+pIH/EqsLmVEQS98GPR4mdmzxzdzxtIK+6NiY6arymAZavpxy0Sy6sc\ + THAHoT0KMM0VjU/43dSMUBUc71DuxC73/OlS8pF94G3VNTCOXkNz8kHp1Wrjsok6Vjk4bwY8iGlb\ + Kk3Fp1S4bInMm/k8yuX9ifUSPJJ4ltbcdG6TRGHRjcdGsnUOhugZitVtbNV4FpWi6cgKOOvyJBNP\ + c1STE4U6G7weNLWLBYy5d4ux2x8gkasJU26Qzns3dLlwR5EiUWMWea6xrkEmCMgZK9FGqkjWZCrX\ + gzT/LCrBbBlDSgeF59N89iFo7+ryUp9/k5DPAgMBAAGjQjBAMA4GA1UdDwEB/wQEAwIBBjAPBgNV\ + HRMBAf8EBTADAQH/MB0GA1UdDgQWBBRge2YaRQ2XyolQL30EzTSo//z9SzANBgkqhkiG9w0BAQUF\ + AAOCAQEA1nPnfE920I2/7LqivjTFKDK1fPxsnCwrvQmeU79rXqoRSLblCKOzyj1hTdNGCbM+w6Dj\ + Y1Ub8rrvrTnhQ7k4o+YviiY776BQVvnGCv04zcQLcFGUl5gE38NflNUVyRRBnMRddWQVDf9VMOyG\ + j/8N7yy5Y0b2qvzfvGn9LhJIZJrglfCm7ymPAbEVtQwdpf5pLGkkeB6zpxxxYu7KyJesF12KwvhH\ + hm4qxFYxldBniYUr+WymXUadDKqC5JlR3XC321Y9YeRq4VzW9v493kHMB65jUr9TU/Qr6cf9tveC\ + X4XSQRjbgbMEHMUfpIBvFSDJ3gyICh3WZlXi/EjJKSZp4A==\ + -----END CERTIFICATE-----\",\"certificate_chain_filename\":\"certificate.pem\",\"crl_url\":\"http://example.com\",\"crl_chain\":\"-----BEGIN X509 CRL-----\ + MIICNTCCAR0CAQEwDQYJKoZIhvcNAQELBQAwgbExCzAJBgNVBAYTAlVTMQswCQYD\ + VQQIDAJDQTEWMBQGA1UEBwwNTW91bnRhaW4gVmlldzESMBAGA1UECgwJQ29uZmx1\ + ZW50MRMwEQYDVQQLDApzZWN1cml0eS0xMSYwJAYDVQQDDB1tdGxzMS5zZWN1cml0\ + eS0xLmNvbmZsdWVudC5pbzEsMCoGCSqGSIb3DQEJARYdbXRsczFAc2VjdXJpdHkt\ + MS5jb25mbHVlbnQuaW8XDTI0MDgyNTE3NTYyNloXDTI0MTEyMzE3NTYyNlowJzAl\ + AhQERu3UxH2q3eUglbdeQY8y0vT7rRcNMjQwODI1MTc1NTE2WqAOMAwwCgYDVR0U\ + BAMCAQEwDQYJKoZIhvcNAQELBQADggEBAGvmflwxVAnqZbRx8njb2t6yXqeIOBaX\ + CKhMq5CUWrWhMX/JrV5NhVfzeB2tgCCfM4J7gbKSArOKqjYpQBFL+r5eCjPBBcG4\ + xqh1J60l5DDsiUcXQM5FtlWTBBZFxvvvWsLP4qA/0meYRY69YQNqgEQgQ65l0Ehl\ + gIUx8WkEo82A8MDY/t91PaFHufnffPKu4CxFtcpGwuvA2n9mpxB2TsSTiV8THsfE\ + jatuFwYgumI6t5wIWb71j/1oqQDYtbgpgUvX9gD+g7HlCC4u6Dynd0q8lsimrbf6\ + cGf5Vs3JfMcr1kYNruT7kg4f4hc3p4CcuWtxYmHOcWNyZbi+W9Fdakg=\ + -----END X509 CRL-----\"}"); + Request request = new Request.Builder() + .url("https://api.confluent.cloud/iam/v2/certificate-authorities/{id}") + .put(body) + .addHeader("content-type", "application/json") + .addHeader("Authorization", "Basic REPLACE_BASIC_AUTH") + .build(); + + Response response = client.newCall(request).execute(); + - lang: Go + source: "package main\n\nimport (\n\t\"fmt\"\n\t\"strings\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.confluent.cloud/iam/v2/certificate-authorities/{id}\"\n\n\tpayload := strings.NewReader(\"{\\\"display_name\\\":\\\"My Certificate Authority\\\",\\\"description\\\":\\\"Sample description text\\\",\\\"certificate_chain\\\":\\\"-----BEGIN CERTIFICATE-----\\\nMIIDdTCCAl2gAwIBAgILBAAAAAABFUtaw5QwDQYJKoZIhvcNAQEFBQAwVzELMAkGA1UEBhMCQkUx\\\nGTAXBgNVBAoTEEdsb2JhbFNpZ24gbnYtc2ExEDAOBgNVBAsTB1Jvb3QgQ0ExGzAZBgNVBAMTEkds\\\nb2JhbFNpZ24gUm9vdCBDQTAeFw05ODA5MDExMjAwMDBaFw0yODAxMjgxMjAwMDBaMFcxCzAJBgNV\\\nBAYTAkJFMRkwFwYDVQQKExBHbG9iYWxTaWduIG52LXNhMRAwDgYDVQQLEwdSb290IENBMRswGQYD\\\nVQQDExJHbG9iYWxTaWduIFJvb3QgQ0EwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQDa\\\nDuaZjc6j40+Kfvvxi4Mla+pIH/EqsLmVEQS98GPR4mdmzxzdzxtIK+6NiY6arymAZavpxy0Sy6sc\\\nTHAHoT0KMM0VjU/43dSMUBUc71DuxC73/OlS8pF94G3VNTCOXkNz8kHp1Wrjsok6Vjk4bwY8iGlb\\\nKk3Fp1S4bInMm/k8yuX9ifUSPJJ4ltbcdG6TRGHRjcdGsnUOhugZitVtbNV4FpWi6cgKOOvyJBNP\\\nc1STE4U6G7weNLWLBYy5d4ux2x8gkasJU26Qzns3dLlwR5EiUWMWea6xrkEmCMgZK9FGqkjWZCrX\\\ngzT/LCrBbBlDSgeF59N89iFo7+ryUp9/k5DPAgMBAAGjQjBAMA4GA1UdDwEB/wQEAwIBBjAPBgNV\\\nHRMBAf8EBTADAQH/MB0GA1UdDgQWBBRge2YaRQ2XyolQL30EzTSo//z9SzANBgkqhkiG9w0BAQUF\\\nAAOCAQEA1nPnfE920I2/7LqivjTFKDK1fPxsnCwrvQmeU79rXqoRSLblCKOzyj1hTdNGCbM+w6Dj\\\nY1Ub8rrvrTnhQ7k4o+YviiY776BQVvnGCv04zcQLcFGUl5gE38NflNUVyRRBnMRddWQVDf9VMOyG\\\nj/8N7yy5Y0b2qvzfvGn9LhJIZJrglfCm7ymPAbEVtQwdpf5pLGkkeB6zpxxxYu7KyJesF12KwvhH\\\nhm4qxFYxldBniYUr+WymXUadDKqC5JlR3XC321Y9YeRq4VzW9v493kHMB65jUr9TU/Qr6cf9tveC\\\nX4XSQRjbgbMEHMUfpIBvFSDJ3gyICh3WZlXi/EjJKSZp4A==\\\n-----END CERTIFICATE-----\\\",\\\"certificate_chain_filename\\\":\\\"certificate.pem\\\",\\\"crl_url\\\":\\\"http://example.com\\\",\\\"crl_chain\\\":\\\"-----BEGIN X509 CRL-----\\\nMIICNTCCAR0CAQEwDQYJKoZIhvcNAQELBQAwgbExCzAJBgNVBAYTAlVTMQswCQYD\\\nVQQIDAJDQTEWMBQGA1UEBwwNTW91bnRhaW4gVmlldzESMBAGA1UECgwJQ29uZmx1\\\nZW50MRMwEQYDVQQLDApzZWN1cml0eS0xMSYwJAYDVQQDDB1tdGxzMS5zZWN1cml0\\\neS0xLmNvbmZsdWVudC5pbzEsMCoGCSqGSIb3DQEJARYdbXRsczFAc2VjdXJpdHkt\\\nMS5jb25mbHVlbnQuaW8XDTI0MDgyNTE3NTYyNloXDTI0MTEyMzE3NTYyNlowJzAl\\\nAhQERu3UxH2q3eUglbdeQY8y0vT7rRcNMjQwODI1MTc1NTE2WqAOMAwwCgYDVR0U\\\nBAMCAQEwDQYJKoZIhvcNAQELBQADggEBAGvmflwxVAnqZbRx8njb2t6yXqeIOBaX\\\nCKhMq5CUWrWhMX/JrV5NhVfzeB2tgCCfM4J7gbKSArOKqjYpQBFL+r5eCjPBBcG4\\\nxqh1J60l5DDsiUcXQM5FtlWTBBZFxvvvWsLP4qA/0meYRY69YQNqgEQgQ65l0Ehl\\\ngIUx8WkEo82A8MDY/t91PaFHufnffPKu4CxFtcpGwuvA2n9mpxB2TsSTiV8THsfE\\\njatuFwYgumI6t5wIWb71j/1oqQDYtbgpgUvX9gD+g7HlCC4u6Dynd0q8lsimrbf6\\\ncGf5Vs3JfMcr1kYNruT7kg4f4hc3p4CcuWtxYmHOcWNyZbi+W9Fdakg=\\\n-----END X509 CRL-----\\\"}\")\n\n\treq, _ := http.NewRequest(\"PUT\", url, payload)\n\n\treq.Header.Add(\"content-type\", \"application/json\")\n\treq.Header.Add(\"Authorization\", \"Basic REPLACE_BASIC_AUTH\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}" + - lang: Python + source: |- + import http.client + + conn = http.client.HTTPSConnection("api.confluent.cloud") + + payload = "{\"display_name\":\"My Certificate Authority\",\"description\":\"Sample description text\",\"certificate_chain\":\"-----BEGIN CERTIFICATE-----\ + MIIDdTCCAl2gAwIBAgILBAAAAAABFUtaw5QwDQYJKoZIhvcNAQEFBQAwVzELMAkGA1UEBhMCQkUx\ + GTAXBgNVBAoTEEdsb2JhbFNpZ24gbnYtc2ExEDAOBgNVBAsTB1Jvb3QgQ0ExGzAZBgNVBAMTEkds\ + b2JhbFNpZ24gUm9vdCBDQTAeFw05ODA5MDExMjAwMDBaFw0yODAxMjgxMjAwMDBaMFcxCzAJBgNV\ + BAYTAkJFMRkwFwYDVQQKExBHbG9iYWxTaWduIG52LXNhMRAwDgYDVQQLEwdSb290IENBMRswGQYD\ + VQQDExJHbG9iYWxTaWduIFJvb3QgQ0EwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQDa\ + DuaZjc6j40+Kfvvxi4Mla+pIH/EqsLmVEQS98GPR4mdmzxzdzxtIK+6NiY6arymAZavpxy0Sy6sc\ + THAHoT0KMM0VjU/43dSMUBUc71DuxC73/OlS8pF94G3VNTCOXkNz8kHp1Wrjsok6Vjk4bwY8iGlb\ + Kk3Fp1S4bInMm/k8yuX9ifUSPJJ4ltbcdG6TRGHRjcdGsnUOhugZitVtbNV4FpWi6cgKOOvyJBNP\ + c1STE4U6G7weNLWLBYy5d4ux2x8gkasJU26Qzns3dLlwR5EiUWMWea6xrkEmCMgZK9FGqkjWZCrX\ + gzT/LCrBbBlDSgeF59N89iFo7+ryUp9/k5DPAgMBAAGjQjBAMA4GA1UdDwEB/wQEAwIBBjAPBgNV\ + HRMBAf8EBTADAQH/MB0GA1UdDgQWBBRge2YaRQ2XyolQL30EzTSo//z9SzANBgkqhkiG9w0BAQUF\ + AAOCAQEA1nPnfE920I2/7LqivjTFKDK1fPxsnCwrvQmeU79rXqoRSLblCKOzyj1hTdNGCbM+w6Dj\ + Y1Ub8rrvrTnhQ7k4o+YviiY776BQVvnGCv04zcQLcFGUl5gE38NflNUVyRRBnMRddWQVDf9VMOyG\ + j/8N7yy5Y0b2qvzfvGn9LhJIZJrglfCm7ymPAbEVtQwdpf5pLGkkeB6zpxxxYu7KyJesF12KwvhH\ + hm4qxFYxldBniYUr+WymXUadDKqC5JlR3XC321Y9YeRq4VzW9v493kHMB65jUr9TU/Qr6cf9tveC\ + X4XSQRjbgbMEHMUfpIBvFSDJ3gyICh3WZlXi/EjJKSZp4A==\ + -----END CERTIFICATE-----\",\"certificate_chain_filename\":\"certificate.pem\",\"crl_url\":\"http://example.com\",\"crl_chain\":\"-----BEGIN X509 CRL-----\ + MIICNTCCAR0CAQEwDQYJKoZIhvcNAQELBQAwgbExCzAJBgNVBAYTAlVTMQswCQYD\ + VQQIDAJDQTEWMBQGA1UEBwwNTW91bnRhaW4gVmlldzESMBAGA1UECgwJQ29uZmx1\ + ZW50MRMwEQYDVQQLDApzZWN1cml0eS0xMSYwJAYDVQQDDB1tdGxzMS5zZWN1cml0\ + eS0xLmNvbmZsdWVudC5pbzEsMCoGCSqGSIb3DQEJARYdbXRsczFAc2VjdXJpdHkt\ + MS5jb25mbHVlbnQuaW8XDTI0MDgyNTE3NTYyNloXDTI0MTEyMzE3NTYyNlowJzAl\ + AhQERu3UxH2q3eUglbdeQY8y0vT7rRcNMjQwODI1MTc1NTE2WqAOMAwwCgYDVR0U\ + BAMCAQEwDQYJKoZIhvcNAQELBQADggEBAGvmflwxVAnqZbRx8njb2t6yXqeIOBaX\ + CKhMq5CUWrWhMX/JrV5NhVfzeB2tgCCfM4J7gbKSArOKqjYpQBFL+r5eCjPBBcG4\ + xqh1J60l5DDsiUcXQM5FtlWTBBZFxvvvWsLP4qA/0meYRY69YQNqgEQgQ65l0Ehl\ + gIUx8WkEo82A8MDY/t91PaFHufnffPKu4CxFtcpGwuvA2n9mpxB2TsSTiV8THsfE\ + jatuFwYgumI6t5wIWb71j/1oqQDYtbgpgUvX9gD+g7HlCC4u6Dynd0q8lsimrbf6\ + cGf5Vs3JfMcr1kYNruT7kg4f4hc3p4CcuWtxYmHOcWNyZbi+W9Fdakg=\ + -----END X509 CRL-----\"}" + + headers = { + 'content-type': "application/json", + 'Authorization': "Basic REPLACE_BASIC_AUTH" + } + + conn.request("PUT", "/iam/v2/certificate-authorities/{id}", payload, headers) + + res = conn.getresponse() + data = res.read() + + print(data.decode("utf-8")) + - lang: Node + source: |- + const http = require("https"); + + const options = { + "method": "PUT", + "hostname": "api.confluent.cloud", + "port": null, + "path": "/iam/v2/certificate-authorities/{id}", + "headers": { + "content-type": "application/json", + "Authorization": "Basic REPLACE_BASIC_AUTH" + } + }; + + const req = http.request(options, function (res) { + const chunks = []; + + res.on("data", function (chunk) { + chunks.push(chunk); + }); + + res.on("end", function () { + const body = Buffer.concat(chunks); + console.log(body.toString()); + }); + }); + + req.write(JSON.stringify({ + display_name: 'My Certificate Authority', + description: 'Sample description text', + certificate_chain: '-----BEGIN CERTIFICATE----- + MIIDdTCCAl2gAwIBAgILBAAAAAABFUtaw5QwDQYJKoZIhvcNAQEFBQAwVzELMAkGA1UEBhMCQkUx + GTAXBgNVBAoTEEdsb2JhbFNpZ24gbnYtc2ExEDAOBgNVBAsTB1Jvb3QgQ0ExGzAZBgNVBAMTEkds + b2JhbFNpZ24gUm9vdCBDQTAeFw05ODA5MDExMjAwMDBaFw0yODAxMjgxMjAwMDBaMFcxCzAJBgNV + BAYTAkJFMRkwFwYDVQQKExBHbG9iYWxTaWduIG52LXNhMRAwDgYDVQQLEwdSb290IENBMRswGQYD + VQQDExJHbG9iYWxTaWduIFJvb3QgQ0EwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQDa + DuaZjc6j40+Kfvvxi4Mla+pIH/EqsLmVEQS98GPR4mdmzxzdzxtIK+6NiY6arymAZavpxy0Sy6sc + THAHoT0KMM0VjU/43dSMUBUc71DuxC73/OlS8pF94G3VNTCOXkNz8kHp1Wrjsok6Vjk4bwY8iGlb + Kk3Fp1S4bInMm/k8yuX9ifUSPJJ4ltbcdG6TRGHRjcdGsnUOhugZitVtbNV4FpWi6cgKOOvyJBNP + c1STE4U6G7weNLWLBYy5d4ux2x8gkasJU26Qzns3dLlwR5EiUWMWea6xrkEmCMgZK9FGqkjWZCrX + gzT/LCrBbBlDSgeF59N89iFo7+ryUp9/k5DPAgMBAAGjQjBAMA4GA1UdDwEB/wQEAwIBBjAPBgNV + HRMBAf8EBTADAQH/MB0GA1UdDgQWBBRge2YaRQ2XyolQL30EzTSo//z9SzANBgkqhkiG9w0BAQUF + AAOCAQEA1nPnfE920I2/7LqivjTFKDK1fPxsnCwrvQmeU79rXqoRSLblCKOzyj1hTdNGCbM+w6Dj + Y1Ub8rrvrTnhQ7k4o+YviiY776BQVvnGCv04zcQLcFGUl5gE38NflNUVyRRBnMRddWQVDf9VMOyG + j/8N7yy5Y0b2qvzfvGn9LhJIZJrglfCm7ymPAbEVtQwdpf5pLGkkeB6zpxxxYu7KyJesF12KwvhH + hm4qxFYxldBniYUr+WymXUadDKqC5JlR3XC321Y9YeRq4VzW9v493kHMB65jUr9TU/Qr6cf9tveC + X4XSQRjbgbMEHMUfpIBvFSDJ3gyICh3WZlXi/EjJKSZp4A== + -----END CERTIFICATE-----', + certificate_chain_filename: 'certificate.pem', + crl_url: 'http://example.com', + crl_chain: '-----BEGIN X509 CRL----- + MIICNTCCAR0CAQEwDQYJKoZIhvcNAQELBQAwgbExCzAJBgNVBAYTAlVTMQswCQYD + VQQIDAJDQTEWMBQGA1UEBwwNTW91bnRhaW4gVmlldzESMBAGA1UECgwJQ29uZmx1 + ZW50MRMwEQYDVQQLDApzZWN1cml0eS0xMSYwJAYDVQQDDB1tdGxzMS5zZWN1cml0 + eS0xLmNvbmZsdWVudC5pbzEsMCoGCSqGSIb3DQEJARYdbXRsczFAc2VjdXJpdHkt + MS5jb25mbHVlbnQuaW8XDTI0MDgyNTE3NTYyNloXDTI0MTEyMzE3NTYyNlowJzAl + AhQERu3UxH2q3eUglbdeQY8y0vT7rRcNMjQwODI1MTc1NTE2WqAOMAwwCgYDVR0U + BAMCAQEwDQYJKoZIhvcNAQELBQADggEBAGvmflwxVAnqZbRx8njb2t6yXqeIOBaX + CKhMq5CUWrWhMX/JrV5NhVfzeB2tgCCfM4J7gbKSArOKqjYpQBFL+r5eCjPBBcG4 + xqh1J60l5DDsiUcXQM5FtlWTBBZFxvvvWsLP4qA/0meYRY69YQNqgEQgQ65l0Ehl + gIUx8WkEo82A8MDY/t91PaFHufnffPKu4CxFtcpGwuvA2n9mpxB2TsSTiV8THsfE + jatuFwYgumI6t5wIWb71j/1oqQDYtbgpgUvX9gD+g7HlCC4u6Dynd0q8lsimrbf6 + cGf5Vs3JfMcr1kYNruT7kg4f4hc3p4CcuWtxYmHOcWNyZbi+W9Fdakg= + -----END X509 CRL-----' + })); + req.end(); + - lang: C + source: |- + CURL *hnd = curl_easy_init(); + + curl_easy_setopt(hnd, CURLOPT_CUSTOMREQUEST, "PUT"); + curl_easy_setopt(hnd, CURLOPT_URL, "https://api.confluent.cloud/iam/v2/certificate-authorities/{id}"); + + struct curl_slist *headers = NULL; + headers = curl_slist_append(headers, "content-type: application/json"); + headers = curl_slist_append(headers, "Authorization: Basic REPLACE_BASIC_AUTH"); + curl_easy_setopt(hnd, CURLOPT_HTTPHEADER, headers); + + curl_easy_setopt(hnd, CURLOPT_POSTFIELDS, "{\"display_name\":\"My Certificate Authority\",\"description\":\"Sample description text\",\"certificate_chain\":\"-----BEGIN CERTIFICATE-----\ + MIIDdTCCAl2gAwIBAgILBAAAAAABFUtaw5QwDQYJKoZIhvcNAQEFBQAwVzELMAkGA1UEBhMCQkUx\ + GTAXBgNVBAoTEEdsb2JhbFNpZ24gbnYtc2ExEDAOBgNVBAsTB1Jvb3QgQ0ExGzAZBgNVBAMTEkds\ + b2JhbFNpZ24gUm9vdCBDQTAeFw05ODA5MDExMjAwMDBaFw0yODAxMjgxMjAwMDBaMFcxCzAJBgNV\ + BAYTAkJFMRkwFwYDVQQKExBHbG9iYWxTaWduIG52LXNhMRAwDgYDVQQLEwdSb290IENBMRswGQYD\ + VQQDExJHbG9iYWxTaWduIFJvb3QgQ0EwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQDa\ + DuaZjc6j40+Kfvvxi4Mla+pIH/EqsLmVEQS98GPR4mdmzxzdzxtIK+6NiY6arymAZavpxy0Sy6sc\ + THAHoT0KMM0VjU/43dSMUBUc71DuxC73/OlS8pF94G3VNTCOXkNz8kHp1Wrjsok6Vjk4bwY8iGlb\ + Kk3Fp1S4bInMm/k8yuX9ifUSPJJ4ltbcdG6TRGHRjcdGsnUOhugZitVtbNV4FpWi6cgKOOvyJBNP\ + c1STE4U6G7weNLWLBYy5d4ux2x8gkasJU26Qzns3dLlwR5EiUWMWea6xrkEmCMgZK9FGqkjWZCrX\ + gzT/LCrBbBlDSgeF59N89iFo7+ryUp9/k5DPAgMBAAGjQjBAMA4GA1UdDwEB/wQEAwIBBjAPBgNV\ + HRMBAf8EBTADAQH/MB0GA1UdDgQWBBRge2YaRQ2XyolQL30EzTSo//z9SzANBgkqhkiG9w0BAQUF\ + AAOCAQEA1nPnfE920I2/7LqivjTFKDK1fPxsnCwrvQmeU79rXqoRSLblCKOzyj1hTdNGCbM+w6Dj\ + Y1Ub8rrvrTnhQ7k4o+YviiY776BQVvnGCv04zcQLcFGUl5gE38NflNUVyRRBnMRddWQVDf9VMOyG\ + j/8N7yy5Y0b2qvzfvGn9LhJIZJrglfCm7ymPAbEVtQwdpf5pLGkkeB6zpxxxYu7KyJesF12KwvhH\ + hm4qxFYxldBniYUr+WymXUadDKqC5JlR3XC321Y9YeRq4VzW9v493kHMB65jUr9TU/Qr6cf9tveC\ + X4XSQRjbgbMEHMUfpIBvFSDJ3gyICh3WZlXi/EjJKSZp4A==\ + -----END CERTIFICATE-----\",\"certificate_chain_filename\":\"certificate.pem\",\"crl_url\":\"http://example.com\",\"crl_chain\":\"-----BEGIN X509 CRL-----\ + MIICNTCCAR0CAQEwDQYJKoZIhvcNAQELBQAwgbExCzAJBgNVBAYTAlVTMQswCQYD\ + VQQIDAJDQTEWMBQGA1UEBwwNTW91bnRhaW4gVmlldzESMBAGA1UECgwJQ29uZmx1\ + ZW50MRMwEQYDVQQLDApzZWN1cml0eS0xMSYwJAYDVQQDDB1tdGxzMS5zZWN1cml0\ + eS0xLmNvbmZsdWVudC5pbzEsMCoGCSqGSIb3DQEJARYdbXRsczFAc2VjdXJpdHkt\ + MS5jb25mbHVlbnQuaW8XDTI0MDgyNTE3NTYyNloXDTI0MTEyMzE3NTYyNlowJzAl\ + AhQERu3UxH2q3eUglbdeQY8y0vT7rRcNMjQwODI1MTc1NTE2WqAOMAwwCgYDVR0U\ + BAMCAQEwDQYJKoZIhvcNAQELBQADggEBAGvmflwxVAnqZbRx8njb2t6yXqeIOBaX\ + CKhMq5CUWrWhMX/JrV5NhVfzeB2tgCCfM4J7gbKSArOKqjYpQBFL+r5eCjPBBcG4\ + xqh1J60l5DDsiUcXQM5FtlWTBBZFxvvvWsLP4qA/0meYRY69YQNqgEQgQ65l0Ehl\ + gIUx8WkEo82A8MDY/t91PaFHufnffPKu4CxFtcpGwuvA2n9mpxB2TsSTiV8THsfE\ + jatuFwYgumI6t5wIWb71j/1oqQDYtbgpgUvX9gD+g7HlCC4u6Dynd0q8lsimrbf6\ + cGf5Vs3JfMcr1kYNruT7kg4f4hc3p4CcuWtxYmHOcWNyZbi+W9Fdakg=\ + -----END X509 CRL-----\"}"); + + CURLcode ret = curl_easy_perform(hnd); + - lang: C# + source: |- + var client = new RestClient("https://api.confluent.cloud/iam/v2/certificate-authorities/{id}"); + var request = new RestRequest(Method.PUT); + request.AddHeader("content-type", "application/json"); + request.AddHeader("Authorization", "Basic REPLACE_BASIC_AUTH"); + request.AddParameter("application/json", "{\"display_name\":\"My Certificate Authority\",\"description\":\"Sample description text\",\"certificate_chain\":\"-----BEGIN CERTIFICATE-----\ + MIIDdTCCAl2gAwIBAgILBAAAAAABFUtaw5QwDQYJKoZIhvcNAQEFBQAwVzELMAkGA1UEBhMCQkUx\ + GTAXBgNVBAoTEEdsb2JhbFNpZ24gbnYtc2ExEDAOBgNVBAsTB1Jvb3QgQ0ExGzAZBgNVBAMTEkds\ + b2JhbFNpZ24gUm9vdCBDQTAeFw05ODA5MDExMjAwMDBaFw0yODAxMjgxMjAwMDBaMFcxCzAJBgNV\ + BAYTAkJFMRkwFwYDVQQKExBHbG9iYWxTaWduIG52LXNhMRAwDgYDVQQLEwdSb290IENBMRswGQYD\ + VQQDExJHbG9iYWxTaWduIFJvb3QgQ0EwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQDa\ + DuaZjc6j40+Kfvvxi4Mla+pIH/EqsLmVEQS98GPR4mdmzxzdzxtIK+6NiY6arymAZavpxy0Sy6sc\ + THAHoT0KMM0VjU/43dSMUBUc71DuxC73/OlS8pF94G3VNTCOXkNz8kHp1Wrjsok6Vjk4bwY8iGlb\ + Kk3Fp1S4bInMm/k8yuX9ifUSPJJ4ltbcdG6TRGHRjcdGsnUOhugZitVtbNV4FpWi6cgKOOvyJBNP\ + c1STE4U6G7weNLWLBYy5d4ux2x8gkasJU26Qzns3dLlwR5EiUWMWea6xrkEmCMgZK9FGqkjWZCrX\ + gzT/LCrBbBlDSgeF59N89iFo7+ryUp9/k5DPAgMBAAGjQjBAMA4GA1UdDwEB/wQEAwIBBjAPBgNV\ + HRMBAf8EBTADAQH/MB0GA1UdDgQWBBRge2YaRQ2XyolQL30EzTSo//z9SzANBgkqhkiG9w0BAQUF\ + AAOCAQEA1nPnfE920I2/7LqivjTFKDK1fPxsnCwrvQmeU79rXqoRSLblCKOzyj1hTdNGCbM+w6Dj\ + Y1Ub8rrvrTnhQ7k4o+YviiY776BQVvnGCv04zcQLcFGUl5gE38NflNUVyRRBnMRddWQVDf9VMOyG\ + j/8N7yy5Y0b2qvzfvGn9LhJIZJrglfCm7ymPAbEVtQwdpf5pLGkkeB6zpxxxYu7KyJesF12KwvhH\ + hm4qxFYxldBniYUr+WymXUadDKqC5JlR3XC321Y9YeRq4VzW9v493kHMB65jUr9TU/Qr6cf9tveC\ + X4XSQRjbgbMEHMUfpIBvFSDJ3gyICh3WZlXi/EjJKSZp4A==\ + -----END CERTIFICATE-----\",\"certificate_chain_filename\":\"certificate.pem\",\"crl_url\":\"http://example.com\",\"crl_chain\":\"-----BEGIN X509 CRL-----\ + MIICNTCCAR0CAQEwDQYJKoZIhvcNAQELBQAwgbExCzAJBgNVBAYTAlVTMQswCQYD\ + VQQIDAJDQTEWMBQGA1UEBwwNTW91bnRhaW4gVmlldzESMBAGA1UECgwJQ29uZmx1\ + ZW50MRMwEQYDVQQLDApzZWN1cml0eS0xMSYwJAYDVQQDDB1tdGxzMS5zZWN1cml0\ + eS0xLmNvbmZsdWVudC5pbzEsMCoGCSqGSIb3DQEJARYdbXRsczFAc2VjdXJpdHkt\ + MS5jb25mbHVlbnQuaW8XDTI0MDgyNTE3NTYyNloXDTI0MTEyMzE3NTYyNlowJzAl\ + AhQERu3UxH2q3eUglbdeQY8y0vT7rRcNMjQwODI1MTc1NTE2WqAOMAwwCgYDVR0U\ + BAMCAQEwDQYJKoZIhvcNAQELBQADggEBAGvmflwxVAnqZbRx8njb2t6yXqeIOBaX\ + CKhMq5CUWrWhMX/JrV5NhVfzeB2tgCCfM4J7gbKSArOKqjYpQBFL+r5eCjPBBcG4\ + xqh1J60l5DDsiUcXQM5FtlWTBBZFxvvvWsLP4qA/0meYRY69YQNqgEQgQ65l0Ehl\ + gIUx8WkEo82A8MDY/t91PaFHufnffPKu4CxFtcpGwuvA2n9mpxB2TsSTiV8THsfE\ + jatuFwYgumI6t5wIWb71j/1oqQDYtbgpgUvX9gD+g7HlCC4u6Dynd0q8lsimrbf6\ + cGf5Vs3JfMcr1kYNruT7kg4f4hc3p4CcuWtxYmHOcWNyZbi+W9Fdakg=\ + -----END X509 CRL-----\"}", ParameterType.RequestBody); + IRestResponse response = client.Execute(request); + delete: + operationId: deleteIamV2CertificateAuthority + summary: Delete a Certificate Authority + description: |- + [![Limited Availability](https://img.shields.io/badge/Lifecycle%20Stage-Limited%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + Make a request to delete a certificate authority. + parameters: + - name: id + in: path + required: true + schema: + type: string + description: The unique identifier for the certificate authority. + tags: + - Certificate Authorities (iam/v2) + security: + - cloud-api-key: [] + - confluent-sts-access-token: [] + responses: + '200': + description: A Certificate Authority is being deleted. + content: + application/json: + schema: + allOf: + - $ref: '#/components/schemas/iam.v2.CertificateAuthority' + - type: object + required: + - api_version + - kind + - id + - display_name + - description + - fingerprints + - expiration_dates + - serial_numbers + - certificate_chain_filename + - state + 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. + + **Important:** This differs from Github and Twitter's same-named header which uses UTC epoch seconds. We use relative time to avoid client/server time synchronization issues. + '400': + $ref: '#/components/responses/BadRequestError' + '401': + $ref: '#/components/responses/UnauthenticatedError' + '403': + $ref: '#/components/responses/UnauthorizedError' + '404': + $ref: '#/components/responses/NotFoundError' + '429': + $ref: '#/components/responses/RateLimitError' + '500': + $ref: '#/components/responses/DefaultSystemError' + x-codeSamples: + - lang: Shell + source: |- + curl --request DELETE \ + --url 'https://api.confluent.cloud/iam/v2/certificate-authorities/{id}' \ + --header 'Authorization: Basic REPLACE_BASIC_AUTH' + - lang: Java + source: |- + OkHttpClient client = new OkHttpClient(); + + Request request = new Request.Builder() + .url("https://api.confluent.cloud/iam/v2/certificate-authorities/{id}") + .delete(null) + .addHeader("Authorization", "Basic REPLACE_BASIC_AUTH") + .build(); + + Response response = client.newCall(request).execute(); + - lang: Go + source: "package main\n\nimport (\n\t\"fmt\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.confluent.cloud/iam/v2/certificate-authorities/{id}\"\n\n\treq, _ := http.NewRequest(\"DELETE\", url, nil)\n\n\treq.Header.Add(\"Authorization\", \"Basic REPLACE_BASIC_AUTH\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}" + - lang: Python + source: |- + import http.client + + conn = http.client.HTTPSConnection("api.confluent.cloud") + + headers = { 'Authorization': "Basic REPLACE_BASIC_AUTH" } + + conn.request("DELETE", "/iam/v2/certificate-authorities/{id}", headers=headers) + + res = conn.getresponse() + data = res.read() + + print(data.decode("utf-8")) + - lang: Node + source: |- + const http = require("https"); + + const options = { + "method": "DELETE", + "hostname": "api.confluent.cloud", + "port": null, + "path": "/iam/v2/certificate-authorities/{id}", + "headers": { + "Authorization": "Basic REPLACE_BASIC_AUTH" + } + }; + + const req = http.request(options, function (res) { + const chunks = []; + + res.on("data", function (chunk) { + chunks.push(chunk); + }); + + res.on("end", function () { + const body = Buffer.concat(chunks); + console.log(body.toString()); + }); + }); + + req.end(); + - lang: C + source: |- + CURL *hnd = curl_easy_init(); + + curl_easy_setopt(hnd, CURLOPT_CUSTOMREQUEST, "DELETE"); + curl_easy_setopt(hnd, CURLOPT_URL, "https://api.confluent.cloud/iam/v2/certificate-authorities/{id}"); + + struct curl_slist *headers = NULL; + headers = curl_slist_append(headers, "Authorization: Basic REPLACE_BASIC_AUTH"); + curl_easy_setopt(hnd, CURLOPT_HTTPHEADER, headers); + + CURLcode ret = curl_easy_perform(hnd); + - lang: C# + source: |- + var client = new RestClient("https://api.confluent.cloud/iam/v2/certificate-authorities/{id}"); + var request = new RestRequest(Method.DELETE); + request.AddHeader("Authorization", "Basic REPLACE_BASIC_AUTH"); + IRestResponse response = client.Execute(request); + '/iam/v2/certificate-authorities/{certificate_authority_id}/identity-pools': + get: + operationId: listIamV2CertificateIdentityPools + summary: List of Certificate Identity Pools + description: |- + [![Limited Availability](https://img.shields.io/badge/Lifecycle%20Stage-Limited%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + Retrieve a sorted, filtered, paginated list of all certificate identity pools. + parameters: + - name: page_size + in: query + required: false + schema: + type: integer + default: 10 + maximum: 100 + x-max-page-items: 255 + 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. + - name: certificate_authority_id + in: path + required: true + schema: + type: string + description: The Certificate Authority + tags: + - Certificate Identity Pools (iam/v2) + security: + - cloud-api-key: [] + - confluent-sts-access-token: [] + responses: + '200': + description: Certificate Identity Pool. + content: + application/json: + schema: + allOf: + - $ref: '#/components/schemas/iam.v2.CertificateIdentityPoolList' + 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. + + **Important:** This differs from Github and Twitter's same-named header which uses UTC epoch seconds. We use relative time to avoid client/server time synchronization issues. + '400': + $ref: '#/components/responses/BadRequestError' + '401': + $ref: '#/components/responses/UnauthenticatedError' + '403': + $ref: '#/components/responses/UnauthorizedError' + '429': + $ref: '#/components/responses/RateLimitError' + '500': + $ref: '#/components/responses/DefaultSystemError' + x-codeSamples: + - lang: Shell + source: |- + curl --request GET \ + --url 'https://api.confluent.cloud/iam/v2/certificate-authorities/{certificate_authority_id}/identity-pools' \ + --header 'Authorization: Basic REPLACE_BASIC_AUTH' + - lang: Java + source: |- + OkHttpClient client = new OkHttpClient(); + + Request request = new Request.Builder() + .url("https://api.confluent.cloud/iam/v2/certificate-authorities/{certificate_authority_id}/identity-pools") + .get() + .addHeader("Authorization", "Basic REPLACE_BASIC_AUTH") + .build(); + + Response response = client.newCall(request).execute(); + - lang: Go + source: "package main\n\nimport (\n\t\"fmt\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.confluent.cloud/iam/v2/certificate-authorities/{certificate_authority_id}/identity-pools\"\n\n\treq, _ := http.NewRequest(\"GET\", url, nil)\n\n\treq.Header.Add(\"Authorization\", \"Basic REPLACE_BASIC_AUTH\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}" + - lang: Python + source: |- + import http.client + + conn = http.client.HTTPSConnection("api.confluent.cloud") + + headers = { 'Authorization': "Basic REPLACE_BASIC_AUTH" } + + conn.request("GET", "/iam/v2/certificate-authorities/{certificate_authority_id}/identity-pools", headers=headers) + + res = conn.getresponse() + data = res.read() + + print(data.decode("utf-8")) + - lang: Node + source: |- + const http = require("https"); + + const options = { + "method": "GET", + "hostname": "api.confluent.cloud", + "port": null, + "path": "/iam/v2/certificate-authorities/{certificate_authority_id}/identity-pools", + "headers": { + "Authorization": "Basic REPLACE_BASIC_AUTH" + } + }; + + const req = http.request(options, function (res) { + const chunks = []; + + res.on("data", function (chunk) { + chunks.push(chunk); + }); + + res.on("end", function () { + const body = Buffer.concat(chunks); + console.log(body.toString()); + }); + }); + + req.end(); + - lang: C + source: |- + CURL *hnd = curl_easy_init(); + + curl_easy_setopt(hnd, CURLOPT_CUSTOMREQUEST, "GET"); + curl_easy_setopt(hnd, CURLOPT_URL, "https://api.confluent.cloud/iam/v2/certificate-authorities/{certificate_authority_id}/identity-pools"); + + struct curl_slist *headers = NULL; + headers = curl_slist_append(headers, "Authorization: Basic REPLACE_BASIC_AUTH"); + curl_easy_setopt(hnd, CURLOPT_HTTPHEADER, headers); + + CURLcode ret = curl_easy_perform(hnd); + - lang: C# + source: |- + var client = new RestClient("https://api.confluent.cloud/iam/v2/certificate-authorities/{certificate_authority_id}/identity-pools"); + var request = new RestRequest(Method.GET); + request.AddHeader("Authorization", "Basic REPLACE_BASIC_AUTH"); + IRestResponse response = client.Execute(request); + post: + operationId: createIamV2CertificateIdentityPool + summary: Create a Certificate Identity Pool + description: |- + [![Limited Availability](https://img.shields.io/badge/Lifecycle%20Stage-Limited%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + Make a request to create a certificate identity pool. + parameters: + - name: certificate_authority_id + in: path + required: true + schema: + type: string + description: The Certificate Authority + tags: + - Certificate Identity Pools (iam/v2) + security: + - cloud-api-key: [] + - confluent-sts-access-token: [] + requestBody: + content: + application/json: + schema: + allOf: + - $ref: '#/components/schemas/iam.v2.CertificateIdentityPool' + - type: object + required: + - display_name + - description + - external_identifier + - filter + responses: + '201': + description: A Certificate Identity Pool was created. + headers: + X-Request-Id: + schema: + type: string + description: The unique identifier for the API request. + X-RateLimit-Limit: + schema: + type: integer + description: The maximum number of requests you're permitted to make per time period. + X-RateLimit-Remaining: + schema: + type: integer + description: The number of requests remaining in the current rate limit window. + X-RateLimit-Reset: + schema: + type: integer + description: |- + The relative time in seconds until the current rate-limit window resets. + + **Important:** This differs from Github and Twitter's same-named header which uses UTC epoch seconds. We use relative time to avoid client/server time synchronization issues. + Location: + schema: + type: string + format: uri + example: 'https://api.confluent.cloud/iam/v2/certificate-authorities/{certificate_authority_id}/identity-pools/{id}' + description: CertificateIdentityPool resource uri + content: + application/json: + schema: + allOf: + - $ref: '#/components/schemas/iam.v2.CertificateIdentityPool' + - type: object + required: + - display_name + - description + - external_identifier + - filter + '400': + $ref: '#/components/responses/BadRequestError' + '401': + $ref: '#/components/responses/UnauthenticatedError' + '402': + $ref: '#/components/responses/OverQuotaError' + '403': + $ref: '#/components/responses/UnauthorizedError' + '409': + $ref: '#/components/responses/ConflictError' + '422': + $ref: '#/components/responses/ValidationError' + '429': + $ref: '#/components/responses/RateLimitError' + '500': + $ref: '#/components/responses/DefaultSystemError' + x-codeSamples: + - lang: Shell + source: |- + curl --request POST \ + --url 'https://api.confluent.cloud/iam/v2/certificate-authorities/{certificate_authority_id}/identity-pools' \ + --header 'Authorization: Basic REPLACE_BASIC_AUTH' \ + --header 'content-type: application/json' \ + --data '{"display_name":"My Identity Pool","description":"Prod Access to Kafka clusters to Release Engineering","external_identifier":"UID","filter":"C=='\''Canada'\'' && O=='\''Confluent'\''"}' + - lang: Java + source: |- + OkHttpClient client = new OkHttpClient(); + + MediaType mediaType = MediaType.parse("application/json"); + RequestBody body = RequestBody.create(mediaType, "{\"display_name\":\"My Identity Pool\",\"description\":\"Prod Access to Kafka clusters to Release Engineering\",\"external_identifier\":\"UID\",\"filter\":\"C=='Canada' && O=='Confluent'\"}"); + Request request = new Request.Builder() + .url("https://api.confluent.cloud/iam/v2/certificate-authorities/{certificate_authority_id}/identity-pools") + .post(body) + .addHeader("content-type", "application/json") + .addHeader("Authorization", "Basic REPLACE_BASIC_AUTH") + .build(); + + Response response = client.newCall(request).execute(); + - lang: Go + source: "package main\n\nimport (\n\t\"fmt\"\n\t\"strings\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.confluent.cloud/iam/v2/certificate-authorities/{certificate_authority_id}/identity-pools\"\n\n\tpayload := strings.NewReader(\"{\\\"display_name\\\":\\\"My Identity Pool\\\",\\\"description\\\":\\\"Prod Access to Kafka clusters to Release Engineering\\\",\\\"external_identifier\\\":\\\"UID\\\",\\\"filter\\\":\\\"C=='Canada' && O=='Confluent'\\\"}\")\n\n\treq, _ := http.NewRequest(\"POST\", url, payload)\n\n\treq.Header.Add(\"content-type\", \"application/json\")\n\treq.Header.Add(\"Authorization\", \"Basic REPLACE_BASIC_AUTH\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}" + - lang: Python + source: |- + import http.client + + conn = http.client.HTTPSConnection("api.confluent.cloud") + + payload = "{\"display_name\":\"My Identity Pool\",\"description\":\"Prod Access to Kafka clusters to Release Engineering\",\"external_identifier\":\"UID\",\"filter\":\"C=='Canada' && O=='Confluent'\"}" + + headers = { + 'content-type': "application/json", + 'Authorization': "Basic REPLACE_BASIC_AUTH" + } + + conn.request("POST", "/iam/v2/certificate-authorities/{certificate_authority_id}/identity-pools", payload, headers) + + res = conn.getresponse() + data = res.read() + + print(data.decode("utf-8")) + - lang: Node + source: |- + const http = require("https"); + + const options = { + "method": "POST", + "hostname": "api.confluent.cloud", + "port": null, + "path": "/iam/v2/certificate-authorities/{certificate_authority_id}/identity-pools", + "headers": { + "content-type": "application/json", + "Authorization": "Basic REPLACE_BASIC_AUTH" + } + }; + + const req = http.request(options, function (res) { + const chunks = []; + + res.on("data", function (chunk) { + chunks.push(chunk); + }); + + res.on("end", function () { + const body = Buffer.concat(chunks); + console.log(body.toString()); + }); + }); + + req.write(JSON.stringify({ + display_name: 'My Identity Pool', + description: 'Prod Access to Kafka clusters to Release Engineering', + external_identifier: 'UID', + filter: 'C==\'Canada\' && O==\'Confluent\'' + })); + req.end(); + - lang: C + source: |- + CURL *hnd = curl_easy_init(); + + curl_easy_setopt(hnd, CURLOPT_CUSTOMREQUEST, "POST"); + curl_easy_setopt(hnd, CURLOPT_URL, "https://api.confluent.cloud/iam/v2/certificate-authorities/{certificate_authority_id}/identity-pools"); + + struct curl_slist *headers = NULL; + headers = curl_slist_append(headers, "content-type: application/json"); + headers = curl_slist_append(headers, "Authorization: Basic REPLACE_BASIC_AUTH"); + curl_easy_setopt(hnd, CURLOPT_HTTPHEADER, headers); + + curl_easy_setopt(hnd, CURLOPT_POSTFIELDS, "{\"display_name\":\"My Identity Pool\",\"description\":\"Prod Access to Kafka clusters to Release Engineering\",\"external_identifier\":\"UID\",\"filter\":\"C=='Canada' && O=='Confluent'\"}"); + + CURLcode ret = curl_easy_perform(hnd); + - lang: C# + source: |- + var client = new RestClient("https://api.confluent.cloud/iam/v2/certificate-authorities/{certificate_authority_id}/identity-pools"); + var request = new RestRequest(Method.POST); + request.AddHeader("content-type", "application/json"); + request.AddHeader("Authorization", "Basic REPLACE_BASIC_AUTH"); + request.AddParameter("application/json", "{\"display_name\":\"My Identity Pool\",\"description\":\"Prod Access to Kafka clusters to Release Engineering\",\"external_identifier\":\"UID\",\"filter\":\"C=='Canada' && O=='Confluent'\"}", ParameterType.RequestBody); + IRestResponse response = client.Execute(request); + '/iam/v2/certificate-authorities/{certificate_authority_id}/identity-pools/{id}': + get: + operationId: getIamV2CertificateIdentityPool + summary: Read a Certificate Identity Pool + description: |- + [![Limited Availability](https://img.shields.io/badge/Lifecycle%20Stage-Limited%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + Make a request to read a certificate identity pool. + parameters: + - name: certificate_authority_id + in: path + required: true + schema: + type: string + description: The Certificate Authority + - name: id + in: path + required: true + schema: + type: string + description: The unique identifier for the certificate identity pool. + tags: + - Certificate Identity Pools (iam/v2) + security: + - cloud-api-key: [] + - confluent-sts-access-token: [] + responses: + '200': + description: Certificate Identity Pool. + content: + application/json: + schema: + allOf: + - $ref: '#/components/schemas/iam.v2.CertificateIdentityPool' + - type: object + required: + - api_version + - kind + - id + - display_name + - description + - external_identifier + - filter + - principal + - state + 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. + + **Important:** This differs from Github and Twitter's same-named header which uses UTC epoch seconds. We use relative time to avoid client/server time synchronization issues. + '400': + $ref: '#/components/responses/BadRequestError' + '401': + $ref: '#/components/responses/UnauthenticatedError' + '403': + $ref: '#/components/responses/UnauthorizedError' + '404': + $ref: '#/components/responses/NotFoundError' + '429': + $ref: '#/components/responses/RateLimitError' + '500': + $ref: '#/components/responses/DefaultSystemError' + x-codeSamples: + - lang: Shell + source: |- + curl --request GET \ + --url 'https://api.confluent.cloud/iam/v2/certificate-authorities/{certificate_authority_id}/identity-pools/{id}' \ + --header 'Authorization: Basic REPLACE_BASIC_AUTH' + - lang: Java + source: |- + OkHttpClient client = new OkHttpClient(); + + Request request = new Request.Builder() + .url("https://api.confluent.cloud/iam/v2/certificate-authorities/{certificate_authority_id}/identity-pools/{id}") + .get() + .addHeader("Authorization", "Basic REPLACE_BASIC_AUTH") + .build(); + + Response response = client.newCall(request).execute(); + - lang: Go + source: "package main\n\nimport (\n\t\"fmt\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.confluent.cloud/iam/v2/certificate-authorities/{certificate_authority_id}/identity-pools/{id}\"\n\n\treq, _ := http.NewRequest(\"GET\", url, nil)\n\n\treq.Header.Add(\"Authorization\", \"Basic REPLACE_BASIC_AUTH\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}" + - lang: Python + source: |- + import http.client + + conn = http.client.HTTPSConnection("api.confluent.cloud") + + headers = { 'Authorization': "Basic REPLACE_BASIC_AUTH" } + + conn.request("GET", "/iam/v2/certificate-authorities/{certificate_authority_id}/identity-pools/{id}", headers=headers) + + res = conn.getresponse() + data = res.read() + + print(data.decode("utf-8")) + - lang: Node + source: |- + const http = require("https"); + + const options = { + "method": "GET", + "hostname": "api.confluent.cloud", + "port": null, + "path": "/iam/v2/certificate-authorities/{certificate_authority_id}/identity-pools/{id}", + "headers": { + "Authorization": "Basic REPLACE_BASIC_AUTH" + } + }; + + const req = http.request(options, function (res) { + const chunks = []; + + res.on("data", function (chunk) { + chunks.push(chunk); + }); + + res.on("end", function () { + const body = Buffer.concat(chunks); + console.log(body.toString()); + }); + }); + + req.end(); + - lang: C + source: |- + CURL *hnd = curl_easy_init(); + + curl_easy_setopt(hnd, CURLOPT_CUSTOMREQUEST, "GET"); + curl_easy_setopt(hnd, CURLOPT_URL, "https://api.confluent.cloud/iam/v2/certificate-authorities/{certificate_authority_id}/identity-pools/{id}"); + + struct curl_slist *headers = NULL; + headers = curl_slist_append(headers, "Authorization: Basic REPLACE_BASIC_AUTH"); + curl_easy_setopt(hnd, CURLOPT_HTTPHEADER, headers); + + CURLcode ret = curl_easy_perform(hnd); + - lang: C# + source: |- + var client = new RestClient("https://api.confluent.cloud/iam/v2/certificate-authorities/{certificate_authority_id}/identity-pools/{id}"); + var request = new RestRequest(Method.GET); + request.AddHeader("Authorization", "Basic REPLACE_BASIC_AUTH"); + IRestResponse response = client.Execute(request); + put: + operationId: updateIamV2CertificateIdentityPool + summary: Update a Certificate Identity Pool + description: |+ + [![Limited Availability](https://img.shields.io/badge/Lifecycle%20Stage-Limited%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + Make a request to update a certificate identity pool. + + parameters: + - name: certificate_authority_id + in: path + required: true + schema: + type: string + description: The Certificate Authority + - name: id + in: path + required: true + schema: + type: string + description: The unique identifier for the certificate identity pool. + tags: + - Certificate Identity Pools (iam/v2) + security: + - cloud-api-key: [] + - confluent-sts-access-token: [] + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/iam.v2.CertificateIdentityPool' + responses: + '200': + description: Certificate Identity Pool. + content: + application/json: + schema: + allOf: + - $ref: '#/components/schemas/iam.v2.CertificateIdentityPool' + - type: object + required: + - api_version + - kind + - id + - display_name + - description + - external_identifier + - filter + - principal + - state + 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. + + **Important:** This differs from Github and Twitter's same-named header which uses UTC epoch seconds. We use relative time to avoid client/server time synchronization issues. + '400': + $ref: '#/components/responses/BadRequestError' + '401': + $ref: '#/components/responses/UnauthenticatedError' + '402': + $ref: '#/components/responses/OverQuotaError' + '403': + $ref: '#/components/responses/UnauthorizedError' + '404': + $ref: '#/components/responses/NotFoundError' + '409': + $ref: '#/components/responses/ConflictError' + '422': + $ref: '#/components/responses/ValidationError' + '429': + $ref: '#/components/responses/RateLimitError' + '500': + $ref: '#/components/responses/DefaultSystemError' + x-codeSamples: + - lang: Shell + source: |- + curl --request PUT \ + --url 'https://api.confluent.cloud/iam/v2/certificate-authorities/{certificate_authority_id}/identity-pools/{id}' \ + --header 'Authorization: Basic REPLACE_BASIC_AUTH' \ + --header 'content-type: application/json' \ + --data '{"display_name":"My Identity Pool","description":"Prod Access to Kafka clusters to Release Engineering","external_identifier":"UID","filter":"C=='\''Canada'\'' && O=='\''Confluent'\''"}' + - lang: Java + source: |- + OkHttpClient client = new OkHttpClient(); + + MediaType mediaType = MediaType.parse("application/json"); + RequestBody body = RequestBody.create(mediaType, "{\"display_name\":\"My Identity Pool\",\"description\":\"Prod Access to Kafka clusters to Release Engineering\",\"external_identifier\":\"UID\",\"filter\":\"C=='Canada' && O=='Confluent'\"}"); + Request request = new Request.Builder() + .url("https://api.confluent.cloud/iam/v2/certificate-authorities/{certificate_authority_id}/identity-pools/{id}") + .put(body) + .addHeader("content-type", "application/json") + .addHeader("Authorization", "Basic REPLACE_BASIC_AUTH") + .build(); + + Response response = client.newCall(request).execute(); + - lang: Go + source: "package main\n\nimport (\n\t\"fmt\"\n\t\"strings\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.confluent.cloud/iam/v2/certificate-authorities/{certificate_authority_id}/identity-pools/{id}\"\n\n\tpayload := strings.NewReader(\"{\\\"display_name\\\":\\\"My Identity Pool\\\",\\\"description\\\":\\\"Prod Access to Kafka clusters to Release Engineering\\\",\\\"external_identifier\\\":\\\"UID\\\",\\\"filter\\\":\\\"C=='Canada' && O=='Confluent'\\\"}\")\n\n\treq, _ := http.NewRequest(\"PUT\", url, payload)\n\n\treq.Header.Add(\"content-type\", \"application/json\")\n\treq.Header.Add(\"Authorization\", \"Basic REPLACE_BASIC_AUTH\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}" + - lang: Python + source: |- + import http.client + + conn = http.client.HTTPSConnection("api.confluent.cloud") + + payload = "{\"display_name\":\"My Identity Pool\",\"description\":\"Prod Access to Kafka clusters to Release Engineering\",\"external_identifier\":\"UID\",\"filter\":\"C=='Canada' && O=='Confluent'\"}" + + headers = { + 'content-type': "application/json", + 'Authorization': "Basic REPLACE_BASIC_AUTH" + } + + conn.request("PUT", "/iam/v2/certificate-authorities/{certificate_authority_id}/identity-pools/{id}", payload, headers) + + res = conn.getresponse() + data = res.read() + + print(data.decode("utf-8")) + - lang: Node + source: |- + const http = require("https"); + + const options = { + "method": "PUT", + "hostname": "api.confluent.cloud", + "port": null, + "path": "/iam/v2/certificate-authorities/{certificate_authority_id}/identity-pools/{id}", + "headers": { + "content-type": "application/json", + "Authorization": "Basic REPLACE_BASIC_AUTH" + } + }; + + const req = http.request(options, function (res) { + const chunks = []; + + res.on("data", function (chunk) { + chunks.push(chunk); + }); + + res.on("end", function () { + const body = Buffer.concat(chunks); + console.log(body.toString()); + }); + }); + + req.write(JSON.stringify({ + display_name: 'My Identity Pool', + description: 'Prod Access to Kafka clusters to Release Engineering', + external_identifier: 'UID', + filter: 'C==\'Canada\' && O==\'Confluent\'' + })); + req.end(); + - lang: C + source: |- + CURL *hnd = curl_easy_init(); + + curl_easy_setopt(hnd, CURLOPT_CUSTOMREQUEST, "PUT"); + curl_easy_setopt(hnd, CURLOPT_URL, "https://api.confluent.cloud/iam/v2/certificate-authorities/{certificate_authority_id}/identity-pools/{id}"); + + struct curl_slist *headers = NULL; + headers = curl_slist_append(headers, "content-type: application/json"); + headers = curl_slist_append(headers, "Authorization: Basic REPLACE_BASIC_AUTH"); + curl_easy_setopt(hnd, CURLOPT_HTTPHEADER, headers); + + curl_easy_setopt(hnd, CURLOPT_POSTFIELDS, "{\"display_name\":\"My Identity Pool\",\"description\":\"Prod Access to Kafka clusters to Release Engineering\",\"external_identifier\":\"UID\",\"filter\":\"C=='Canada' && O=='Confluent'\"}"); + + CURLcode ret = curl_easy_perform(hnd); + - lang: C# + source: |- + var client = new RestClient("https://api.confluent.cloud/iam/v2/certificate-authorities/{certificate_authority_id}/identity-pools/{id}"); + var request = new RestRequest(Method.PUT); + request.AddHeader("content-type", "application/json"); + request.AddHeader("Authorization", "Basic REPLACE_BASIC_AUTH"); + request.AddParameter("application/json", "{\"display_name\":\"My Identity Pool\",\"description\":\"Prod Access to Kafka clusters to Release Engineering\",\"external_identifier\":\"UID\",\"filter\":\"C=='Canada' && O=='Confluent'\"}", ParameterType.RequestBody); + IRestResponse response = client.Execute(request); + delete: + operationId: deleteIamV2CertificateIdentityPool + summary: Delete a Certificate Identity Pool + description: |- + [![Limited Availability](https://img.shields.io/badge/Lifecycle%20Stage-Limited%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + Make a request to delete a certificate identity pool. + parameters: + - name: certificate_authority_id + in: path + required: true + schema: + type: string + description: The Certificate Authority + - name: id + in: path + required: true + schema: + type: string + description: The unique identifier for the certificate identity pool. + tags: + - Certificate Identity Pools (iam/v2) + security: + - cloud-api-key: [] + - confluent-sts-access-token: [] + responses: + '200': + description: A Certificate Identity Pool is being deleted. + content: + application/json: + schema: + allOf: + - $ref: '#/components/schemas/iam.v2.CertificateIdentityPool' + - type: object + required: + - api_version + - kind + - id + - display_name + - description + - external_identifier + - filter + - principal + - state + 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. + + **Important:** This differs from Github and Twitter's same-named header which uses UTC epoch seconds. We use relative time to avoid client/server time synchronization issues. + '400': + $ref: '#/components/responses/BadRequestError' + '401': + $ref: '#/components/responses/UnauthenticatedError' + '403': + $ref: '#/components/responses/UnauthorizedError' + '404': + $ref: '#/components/responses/NotFoundError' + '429': + $ref: '#/components/responses/RateLimitError' + '500': + $ref: '#/components/responses/DefaultSystemError' + x-codeSamples: + - lang: Shell + source: |- + curl --request DELETE \ + --url 'https://api.confluent.cloud/iam/v2/certificate-authorities/{certificate_authority_id}/identity-pools/{id}' \ + --header 'Authorization: Basic REPLACE_BASIC_AUTH' + - lang: Java + source: |- + OkHttpClient client = new OkHttpClient(); + + Request request = new Request.Builder() + .url("https://api.confluent.cloud/iam/v2/certificate-authorities/{certificate_authority_id}/identity-pools/{id}") + .delete(null) + .addHeader("Authorization", "Basic REPLACE_BASIC_AUTH") + .build(); + + Response response = client.newCall(request).execute(); + - lang: Go + source: "package main\n\nimport (\n\t\"fmt\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.confluent.cloud/iam/v2/certificate-authorities/{certificate_authority_id}/identity-pools/{id}\"\n\n\treq, _ := http.NewRequest(\"DELETE\", url, nil)\n\n\treq.Header.Add(\"Authorization\", \"Basic REPLACE_BASIC_AUTH\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}" + - lang: Python + source: |- + import http.client + + conn = http.client.HTTPSConnection("api.confluent.cloud") + + headers = { 'Authorization': "Basic REPLACE_BASIC_AUTH" } + + conn.request("DELETE", "/iam/v2/certificate-authorities/{certificate_authority_id}/identity-pools/{id}", headers=headers) + + res = conn.getresponse() + data = res.read() + + print(data.decode("utf-8")) + - lang: Node + source: |- + const http = require("https"); + + const options = { + "method": "DELETE", + "hostname": "api.confluent.cloud", + "port": null, + "path": "/iam/v2/certificate-authorities/{certificate_authority_id}/identity-pools/{id}", + "headers": { + "Authorization": "Basic REPLACE_BASIC_AUTH" + } + }; + + const req = http.request(options, function (res) { + const chunks = []; + + res.on("data", function (chunk) { + chunks.push(chunk); + }); + + res.on("end", function () { + const body = Buffer.concat(chunks); + console.log(body.toString()); + }); + }); + + req.end(); + - lang: C + source: |- + CURL *hnd = curl_easy_init(); + + curl_easy_setopt(hnd, CURLOPT_CUSTOMREQUEST, "DELETE"); + curl_easy_setopt(hnd, CURLOPT_URL, "https://api.confluent.cloud/iam/v2/certificate-authorities/{certificate_authority_id}/identity-pools/{id}"); + + struct curl_slist *headers = NULL; + headers = curl_slist_append(headers, "Authorization: Basic REPLACE_BASIC_AUTH"); + curl_easy_setopt(hnd, CURLOPT_HTTPHEADER, headers); + + CURLcode ret = curl_easy_perform(hnd); + - lang: C# + source: |- + var client = new RestClient("https://api.confluent.cloud/iam/v2/certificate-authorities/{certificate_authority_id}/identity-pools/{id}"); + var request = new RestRequest(Method.DELETE); + request.AddHeader("Authorization", "Basic REPLACE_BASIC_AUTH"); + IRestResponse response = client.Execute(request); diff --git a/providers/src/confluent/v00.00.00000/services/kafka.yaml b/providers/src/confluent/v00.00.00000/services/kafka.yaml new file mode 100644 index 00000000..de35d0f2 --- /dev/null +++ b/providers/src/confluent/v00.00.00000/services/kafka.yaml @@ -0,0 +1,10393 @@ +openapi: 3.0.0 +servers: + - url: 'https://api.confluent.cloud' + description: Confluent Cloud API +info: + version: '' + contact: + name: Confluent Cloud + url: 'https://www.confluent.io/cloud-contact-us/' + email: support@confluent.io + x-api-id: 46234552-5833-42eb-ba0f-883ad3f70d2b + x-audience: external-public + x-logo: + url: 'https://assets.confluent.io/m/5ec23aa91903c00b/' + title: Confluent Cloud APIs - kafka + description: kafka +tags: + - name: API Keys (iam/v2) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + `ApiKey` objects represent access to different parts of Confluent Cloud. Some types + of API keys represent access to a single cluster/resource such as a Kafka cluster, + Schema Registry cluster or a ksqlDB cluster. Cloud API Keys represent access to resources within an organization + that are not tied to a specific cluster, such as the Org API, IAM API, Metrics API or Connect API. + + The API allows you to list, create, update and delete your API Keys. + + + Related guide: [API Keys in Confluent Cloud](https://docs.confluent.io/cloud/current/client-apps/api-keys.html). + + ## The API Keys Model + + + ## Quotas and Limits + This resource is subject to the [following quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): + + | Quota | Description | + | --- | --- | + | `apikeys_per_org` | API Keys in one Confluent Cloud organization | + - name: Environments (org/v2) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + `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](https://docs.confluent.io/cloud/current/access-management/environments.html). + + ## The Environments Model + + + ## Quotas and Limits + This resource is subject to the [following quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): + + | Quota | Description | + | --- | --- | + | `environments_per_org` | Environments in one Confluent Cloud organization | + - name: Organizations (org/v2) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + `Organization` objects represent a customer organization. An organization contains all customer + resources (e.g., Environments, Kafka Clusters, Service Accounts, API Keys) and is tied to a billing + agreement (including any annual commitment or support plan). + + The API allows you to list, view, and update your organizations. + + + Related guide: [Organizations for Confluent Cloud](https://docs.confluent.io/cloud/current/access-management/hierarchy/organizations/cloud-organization.html). + + ## The Organizations Model + + + ## Quotas and Limits + This resource is subject to the [following quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): + + | Quota | Description | + | --- | --- | + | `organizations_per_user` | Confluent Cloud organizations a user belongs to | + - name: Users (iam/v2) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + `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](https://docs.confluent.io/cloud/current/access-management/user-account.html). + + ## The Users Model + + + ## Quotas and Limits + This resource is subject to the [following quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): + + | Quota | Description | + | --- | --- | + | `users_per_org` | Users in one Confluent Cloud organization | + - name: Service Accounts (iam/v2) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + `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](https://docs.confluent.io/cloud/current/access-management/service-account.html). + + ## The Service Accounts Model + + + ## Quotas and Limits + This resource is subject to the [following quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): + + | Quota | Description | + | --- | --- | + | `service_accounts_per_org` | Service Accounts in one Confluent Cloud organization | + - name: Invitations (iam/v2) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + `Invitation` objects represent invitations to invite users to join your organizations in Confluent Cloud. + + The API allows you to list all your invitations, as well as create, read, and delete a specified invitation. + + + Related guide: [User invitations in Confluent Cloud](https://docs.confluent.io/cloud/current/access-management/identity/user-accounts.html). + + ## The Invitations Model + + + ## Quotas and Limits + This resource is subject to the [following quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): + + | Quota | Description | + | --- | --- | + | `invitations_per_org` | Invitations in a Confluent Cloud organization | + - name: IP Groups (iam/v2) + description: |- + [![Limited Availability](https://img.shields.io/badge/Lifecycle%20Stage-Limited%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) [![Request Access To IP Groups API](https://img.shields.io/badge/-Request%20Access%20To%20IP%20Groups%20API-%23bc8540)](mailto:cloud-support@confluent.io?subject=Request%20to%20join%20IP%20Filtering%20API%20Limited%20Access&body=I%E2%80%99d%20like%20to%20join%20the%20Confluent%20Cloud%20API%20Limited%20Access%20for%20IP%20Filtering.%0AMy%20Cloud%20Organization%20ID%20is%20%3Cretrieve%20from%20https%3A//confluent.cloud/settings/billing/payment%3E.%0A) + + Definitions of networks which can be named and referred by IP blocks, commonly used to attach to IP Filter rules. + + + ## The IP Groups Model + + - name: IP Filters (iam/v2) + description: |- + [![Limited Availability](https://img.shields.io/badge/Lifecycle%20Stage-Limited%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) [![Request Access To IP Filters API](https://img.shields.io/badge/-Request%20Access%20To%20IP%20Filters%20API-%23bc8540)](mailto:ccloud-api-access+iam-v2-limited-availability@confluent.io?subject=Request%20to%20join%20iam/v2%20API%20Limited%20Availability&body=I%E2%80%99d%20like%20to%20join%20the%20Confluent%20Cloud%20API%20Limited%20Availability%20for%20iam/v2%20to%20provide%20early%20feedback%21%20My%20Cloud%20Organization%20ID%20is%20%3Cretrieve%20from%20https%3A//confluent.cloud/settings/billing/payment%3E.) + + `IP Filter` objects are bindings between IP Groups and Confluent resource(s). + For example, a binding between "CorpNet" and "Management APIs" will enforce that + access must come from one of the CIDR blocks associated with CorpNet. + If there are multiple IP filters bound to a resource, a request matching any of the CIDR blocks + for any of the IP Group will allow the request. + If there are no IP Filters for a resource, then access will be granted to requests originating + from any IP Address. + + + ## The IP Filters Model + + - name: Role Bindings (iam/v2) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + A role binding grants a Principal a role on resources that match a pattern. + + The API allows you to perform create, delete, and list operations on role bindings. + + + Related guide: [Role-Based Access Control (RBAC)](https://docs.confluent.io/cloud/current/access-management/access-control/cloud-rbac.html). + + ## The Role Bindings Model + + - name: Subscriptions (notifications/v1) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + `Subscription` objects represent the intent of the customers to get notifications of particular types. + A subscription is created for a particular `NotificationType` and the user will get notifications on the + `Integrations` that are provided while creating the subscription. + + This API allows you to create, retrieve, and update subscriptions, + as well as to view the list of all your subscriptions. You can also delete subscriptions + with RECOMMENDED or OPTIONAL notification types. Subscriptions with REQUIRED notification types cannot be deleted. + + + Related guide: [Cloud Notifications](https://docs.confluent.io/cloud/current/monitoring/configure-notifications.html#notifications-for-ccloud). + + ## The Subscriptions Model + + - name: Integrations (notifications/v1) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + You can create an `Integration` to specify how we can notify you when we receive an alert/notification for + a subscription. Please note that you can only perform create, update and delete operations for integrations + of type `Webhook`, `Slack` and `MsTeams`. You cannot create, update or delete integrations of type `RoleEmail` + and `UserEmail`. + + + Related guide: [Cloud Notifications](https://docs.confluent.io/cloud/current/monitoring/configure-notifications.html#notifications-for-ccloud). + + ## The Integrations Model + + + ## Quotas and Limits + This resource is subject to the [following quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): + + | Quota | Description | + | --- | --- | + | `integrations_per_org` | Maximum number of integrations in one Confluent Cloud organization | + - name: Notification Types (notifications/v1) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + The type of notifications (and their corresponding metadata) supported by Confluent. + + + Related guide: [Cloud Notifications](https://docs.confluent.io/cloud/current/monitoring/configure-notifications.html#notifications-for-ccloud). + + ## The Notification Types Model + + - name: Clusters (cmk/v2) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + `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](https://docs.confluent.io/cloud/current/clusters/cluster-api.html). + + ## The Clusters Model + + + ## Quotas and Limits + This resource is subject to the [following quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): + + | Quota | Description | + | --- | --- | + | `kafka_clusters_per_environment` | Number of clusters in one Confluent Cloud environment | + - name: Clusters (ksqldbcm/v2) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + `Cluster` represents a ksqlDB runtime that you can issue queries to using its API endpoint. + It executes SQL statements and queries which under the hood get built into corresponding + Kafka Streams topologies. The API allows you to list, create, read, and delete your ksqlDB clusters. + + + Related guide: [ksqlDB in Confluent Cloud](https://docs.confluent.io/cloud/current/ksqldb/ksqldb-cluster-api.html). + + ## The Clusters Model + + + ## Quotas and Limits + This resource is subject to the following quotas: + + | Quota | Description | + | --- | --- | + | `ksql.limits.max_apps_per_cluster` | Clusters in one Confluent Cloud Kafka Cluster. | + - name: Connectors (connect/v1) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + API for Managed Connectors or Custom Connectors in Confluent Cloud. + + The API allows you to list, create, get, update and delete a Managed Connector or Custom Connector in Confluent Cloud. + + Connect metrics are available through the [Metrics v2 API](https://api.telemetry.confluent.cloud/docs#tag/Version-2). + + Related guide: [Confluent Cloud API and Managed Connectors](https://docs.confluent.io/cloud/current/connectors/connect-api-section.html). + - name: Lifecycle (connect/v1) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + API for managing the lifecycle for a Managed Connector or Custom Connector in Confluent Cloud. Operations currently supported are Pause and Resume. + - name: Status (connect/v1) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + API for requesting the status or the tasks for a Managed Connector or Custom Connector in Confluent Cloud. + - name: Managed Connector Plugins (connect/v1) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + API for Managed connectors in Confluent Cloud. + - name: Offsets (connect/v1) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + API for managing the offsets for a Managed Connector. + + Related guide: [Manage Connector Offsets](https://docs.confluent.io/cloud/current/connectors/offsets.html#manage-offsets-for-fully-managed-connectors-in-ccloud) + - name: Custom Connector Plugins (connect/v1) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + CustomConnectorPlugins objects represent Custom Connector Plugins on Confluent Cloud. + The API allows you to list, create, read, update, and delete your Custom Connector Plugins. + Related guide: + [Custom Connector Plugin API](https://docs.confluent.io/cloud/current/connectors/connect-api-section.html). + + + ## The Custom Connector Plugins Model + + - name: Presigned Urls (connect/v1) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + Request a presigned upload URL for new Custom Connector Plugin. Note that + the URL policy expires in one hour. If the policy expires, you can request + a new presigned upload URL. + + Related guide: + [Custom Connector Plugin API](https://docs.confluent.io/cloud/current/connectors/connect-api-section.html). + + + ## The Presigned Urls Model + + - name: Cluster (v3) + description: '[![Generally Available](https://img.shields.io/badge/Lifecycle%20Stage-Generally%20Available-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy)' + - name: Configs (v3) + description: '[![Generally Available](https://img.shields.io/badge/Lifecycle%20Stage-Generally%20Available-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy)' + - name: ACL (v3) + description: '[![Generally Available](https://img.shields.io/badge/Lifecycle%20Stage-Generally%20Available-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy)' + - name: Consumer Group (v3) + description: '[![Generally Available](https://img.shields.io/badge/Lifecycle%20Stage-Generally%20Available-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy)' + - name: Partition (v3) + description: '[![Generally Available](https://img.shields.io/badge/Lifecycle%20Stage-Generally%20Available-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy)' + - name: Topic (v3) + description: '[![Generally Available](https://img.shields.io/badge/Lifecycle%20Stage-Generally%20Available-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy)' + - name: Records (v3) + description: '[![Generally Available](https://img.shields.io/badge/Lifecycle%20Stage-Generally%20Available-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy)' + - name: Cluster Linking (v3) + description: '[![Generally Available](https://img.shields.io/badge/Lifecycle%20Stage-Generally%20Available-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy)' + - name: Applied Quotas (service-quota/v1) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + A `quota` object represents a quota configuration for a specific Confluent Cloud resource. + Use this API to retrieve an individual quota or list of quotas for a given scope. + + + Related guide: [Service Quotas for Confluent Cloud](https://docs.confluent.io/cloud/current/quotas/index.html). + + ## The Applied Quotas Model + + - name: Scopes (service-quota/v1) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + Gets a list of all available scopes for applied quotas. + + + Related guide: [Quota Scopes](https://docs.confluent.io/cloud/current/quotas/quotas.html#query-for-scopes). + + ## The Scopes Model + + - name: Entitlements (partner/v2) + description: | + [![Early Access](https://img.shields.io/badge/Lifecycle%20Stage-Early%20Access-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) [![Request Access To Partner v2](https://img.shields.io/badge/-Request%20Access%20To%20Partner%20v2-%23bc8540)](mailto:ccloud-api-access+partner-v2-early-access@confluent.io?subject=Request%20to%20join%20partner/v2%20API%20Early%20Access&body=I%E2%80%99d%20like%20to%20join%20the%20Confluent%20Cloud%20API%20Early%20Access%20for%20partner/v2%20to%20provide%20early%20feedback%21%20My%20Cloud%20Organization%20ID%20is%20%3Cretrieve%20from%20https%3A//confluent.cloud/settings/billing/payment%3E.) + + `Entitlement` objects represent metadata about a marketplace entitlement. + + An entitlement includes metadata about a marketplace purchase + (start date, end date, billing information, partner IDs, etc). + The API allows partners to create, read, and list entitlements. (Unless you + need entitlement creation and customer registration to be separate, + we recommend using the Signup API to create an organization and entitlement + at the same time) + + The API only allows authorized partners to interact with the Entitlements API. + - name: Regions (srcm/v2) + description: |- + [![Deprecated](https://img.shields.io/badge/Lifecycle%20Stage-Deprecated-%23ff005c)](#section/Versioning/API-Lifecycle-Policy) + + `Region` objects represent cloud provider regions available when placing Schema Registry clusters. + The API allows you to list Schema Registry regions. + + + Related guides: + * [Confluent Cloud providers and region support](https://docs.confluent.io/cloud/current/stream-governance/packages.html#cloud-providers-and-region-support). + * [srcm/v3 Migration Guide](https://docs.confluent.io/cloud/current/stream-governance/packages.html#deprecation-of-srcm-v2-clusters-and-regions-apis-and-upgrade-guide). + + + ## The Regions Model + + - name: Clusters (srcm/v2) + description: |- + [![Deprecated](https://img.shields.io/badge/Lifecycle%20Stage-Deprecated-%23ff005c)](#section/Versioning/API-Lifecycle-Policy) + + `Clusters` objects represent Schema Registry Clusters on Confluent Cloud. + + The API allows you to list, create, read, and delete your Schema Registry clusters. + + + Related guides: + * [Confluent Cloud Schema Registry Cluster APIs](https://docs.confluent.io/cloud/current/stream-governance/clusters-regions-api.html#schema-registry-cluster-management). + * [srcm/v3 Migration Guide](https://docs.confluent.io/cloud/current/stream-governance/packages.html#deprecation-of-srcm-v2-clusters-and-regions-apis-and-upgrade-guide). + + + ## The Clusters Model + + - name: Clusters (srcm/v3) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + `Clusters` objects represent Schema Registry Clusters on Confluent Cloud. + + The API allows you to list and read your Schema Registry clusters. + + + Related guide: [Confluent Cloud Schema Registry Cluster APIs](https://docs.confluent.io/cloud/current/stream-governance/clusters-regions-api.html#schema-registry-cluster-management). + + ## The Clusters Model + + - name: Compatibility (v1) + description: |- + [![Generally Available](https://img.shields.io/badge/Lifecycle%20Stage-Generally%20Available-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + The API allows you to test schema compatibility. + + Related guide: [Manage Schemas in Confluent Cloud](https://docs.confluent.io/cloud/current/sr/schemas-manage.html#manage-schemas-in-ccloud). + - name: Config (v1) + description: |- + [![Generally Available](https://img.shields.io/badge/Lifecycle%20Stage-Generally%20Available-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + The API allows you to manage and query schema compatibility settings and cluster configurations. + + Related guide: [Manage Schemas in Confluent Cloud](https://docs.confluent.io/cloud/current/sr/schemas-manage.html#manage-schemas-in-ccloud). + - name: Contexts (v1) + description: |- + [![Generally Available](https://img.shields.io/badge/Lifecycle%20Stage-Generally%20Available-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + The API allows you to retrieve information about schema contexts. + + Related guide: [Manage Schemas in Confluent Cloud](https://docs.confluent.io/cloud/current/sr/schemas-manage.html#manage-schemas-in-ccloud). + - name: Exporters (v1) + description: |- + [![Generally Available](https://img.shields.io/badge/Lifecycle%20Stage-Generally%20Available-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + The API allows you to create, retrieve, update, and delete exporters. + + Related guide: [Manage Schemas in Confluent Cloud](https://docs.confluent.io/cloud/current/sr/schemas-manage.html#manage-schemas-in-ccloud). + - name: Modes (v1) + description: |- + [![Generally Available](https://img.shields.io/badge/Lifecycle%20Stage-Generally%20Available-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + The API allows you to create, retrieve, update, and delete schema subjects modes of operation. + + Related guide: [Manage Schemas in Confluent Cloud](https://docs.confluent.io/cloud/current/sr/schemas-manage.html#manage-schemas-in-ccloud). + - name: Schemas (v1) + description: |- + [![Generally Available](https://img.shields.io/badge/Lifecycle%20Stage-Generally%20Available-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + The API allows you to create, retrieve, update, and delete schemas. + + Related guide: [Manage Schemas in Confluent Cloud](https://docs.confluent.io/cloud/current/sr/schemas-manage.html#manage-schemas-in-ccloud). + - name: Subjects (v1) + description: |- + [![Generally Available](https://img.shields.io/badge/Lifecycle%20Stage-Generally%20Available-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + The API allows you to create, retrieve, update, and delete schema subjects and versions. + + Related guide: [Manage Schemas in Confluent Cloud](https://docs.confluent.io/cloud/current/sr/schemas-manage.html#manage-schemas-in-ccloud). + - name: Key Encryption Keys (v1) + description: |- + [![Generally Available](https://img.shields.io/badge/Lifecycle%20Stage-Generally%20Available-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + The API allows you to create, retrieve, update, and delete key encryption keys. + + Related guide: [Manage Schemas in Confluent Cloud](https://docs.confluent.io/cloud/current/sr/schemas-manage.html#manage-schemas-in-ccloud). + - name: Data Encryption Keys (v1) + description: |- + [![Generally Available](https://img.shields.io/badge/Lifecycle%20Stage-Generally%20Available-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + The API allows you to create, retrieve, update, and delete data encryption keys. + + Related guide: [Manage Schemas in Confluent Cloud](https://docs.confluent.io/cloud/current/sr/schemas-manage.html#manage-schemas-in-ccloud). + - name: Entity (v1) + description: |- + [![Generally Available](https://img.shields.io/badge/Lifecycle%20Stage-Generally%20Available-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + The API allows you to create, retrieve, update, and delete catalog entities. + + Related guide: [Catalog API Documentation](https://docs.confluent.io/cloud/current/stream-governance/stream-catalog.html#catalog-api-documentation). + - name: Search (v1) + description: |- + [![Generally Available](https://img.shields.io/badge/Lifecycle%20Stage-Generally%20Available-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + The API allows you to search for entities. + + Related guide: [Catalog API Documentation](https://docs.confluent.io/cloud/current/stream-governance/stream-catalog.html#catalog-api-documentation). + - name: Types (v1) + description: |- + [![Generally Available](https://img.shields.io/badge/Lifecycle%20Stage-Generally%20Available-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + The API allows you to create, retrieve, update, and delete catalog types such as tag definitions. + + Related guide: [Catalog API Documentation](https://docs.confluent.io/cloud/current/stream-governance/stream-catalog.html#catalog-api-documentation). + - name: Provider Shared Resources (cdx/v1) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + `ProviderSharedResource` object contains details of the data stream + (topic, schema registry subjects, sharing metadata) that you have shared through Stream Sharing. + + + ## The Provider Shared Resources Model + + - name: Provider Shares (cdx/v1) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + `ProviderShare` object respresents the share that you have created through Stream Sharing. + + + Related guide: [Provider Stream Shares in Confluent Cloud](https://docs.confluent.io/cloud/current/stream-sharing/produce-shared-data.html#stream-shares). + + ## The Provider Shares Model + + - name: Consumer Shared Resources (cdx/v1) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + `ConsumerSharedResource` object contains details of the data stream + (topic, schema registry subjects, sharing metadata) that you received through Stream Sharing. + + + ## The Consumer Shared Resources Model + + - name: Consumer Shares (cdx/v1) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + `ConsumerShare` object respresents the share that you received through Stream Sharing. + + + Related guide: [Consumer Stream Shares in Confluent Cloud](https://docs.confluent.io/cloud/current/stream-sharing/consume-shared-data.html). + + ## The Consumer Shares Model + + - name: Shared Tokens (cdx/v1) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + Encrypted Token shared with consumer + + + ## The Shared Tokens Model + + - name: Opt Ins (cdx/v1) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + Stream sharing opt in options + + ## The Opt Ins Model + + - name: Organizations (partner/v2) + description: | + [![Early Access](https://img.shields.io/badge/Lifecycle%20Stage-Early%20Access-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) [![Request Access To Partner v2](https://img.shields.io/badge/-Request%20Access%20To%20Partner%20v2-%23bc8540)](mailto:ccloud-api-access+partner-v2-early-access@confluent.io?subject=Request%20to%20join%20partner/v2%20API%20Early%20Access&body=I%E2%80%99d%20like%20to%20join%20the%20Confluent%20Cloud%20API%20Early%20Access%20for%20partner/v2%20to%20provide%20early%20feedback%21%20My%20Cloud%20Organization%20ID%20is%20%3Cretrieve%20from%20https%3A//confluent.cloud/settings/billing/payment%3E.) + + `Organizations` objects represent an entire Confluent Cloud organization. + Partners are allowed to get an organization they have signed up or + list all organizations they have signed up. + - name: Signup (partner/v2) + description: | + [![Early Access](https://img.shields.io/badge/Lifecycle%20Stage-Early%20Access-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) [![Request Access To Partner v2](https://img.shields.io/badge/-Request%20Access%20To%20Partner%20v2-%23bc8540)](mailto:ccloud-api-access+partner-v2-early-access@confluent.io?subject=Request%20to%20join%20partner/v2%20API%20Early%20Access&body=I%E2%80%99d%20like%20to%20join%20the%20Confluent%20Cloud%20API%20Early%20Access%20for%20partner/v2%20to%20provide%20early%20feedback%21%20My%20Cloud%20Organization%20ID%20is%20%3Cretrieve%20from%20https%3A//confluent.cloud/settings/billing/payment%3E.) + + `Signup` APIs can only be performed by partners. + - name: Networks (networking/v1) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + `Network` represents a network (VPC) in Confluent Cloud. All Networks exist within Confluent-managed cloud + provider accounts. Dedicated networks support more networking options but can only contain Dedicated clusters. + Shared networks can contain any cluster type. + + The API allows you to list, create, read, update, and delete your networks. + + + Related guide: [APIs to manage networks in Confluent Cloud](https://docs.confluent.io/cloud/current/networking/overview.html). + + ## The Networks Model + + + ## Quotas and Limits + This resource is subject to the [following quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): + + | Quota | Description | + | --- | --- | + | `dedicated_networks_per_environment` | Number of dedicated networks per Confluent Cloud environment | + - name: Peerings (networking/v1) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + Add or remove VPC/VNet peering connections between your VPC/VNet and Confluent Cloud. + + Related guides: + * [Use VPC peering connections with Confluent Cloud on AWS](https://docs.confluent.io/cloud/current/networking/peering/aws-peering.html). + * [Use VNet peering connections with Confluent Cloud on Azure](https://docs.confluent.io/cloud/current/networking/peering/azure-peering.html). + * [Use VPC peering connections with Confluent Cloud on Google Cloud](https://docs.confluent.io/cloud/current/networking/peering/gcp-peering.html). + + + ## The Peerings Model + + + ## Quotas and Limits + This resource is subject to the [following quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): + + | Quota | Description | + | --- | --- | + | `peerings_per_network` | Number of peerings per network | + - name: Transit Gateway Attachments (networking/v1) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + AWS Transit Gateway Attachments + + Related guide: [APIs to manage AWS Transit Gateway Attachments](https://docs.confluent.io/cloud/current/networking/aws-transit-gateway.html). + + ## The Transit Gateway Attachments Model + + + ## Quotas and Limits + This resource is subject to the [following quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): + + | Quota | Description | + | --- | --- | + | `tgw_attachments_per_network` | Number of TGW attachments per network | + - name: Private Link Accesses (networking/v1) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + Add or remove access to PrivateLink endpoints by AWS account, Azure subscription and GCP project ID. + + Related guides: + * [Use Google Cloud Private Service Connect with Confluent Cloud](https://docs.confluent.io/cloud/current/networking/private-links/gcp-private-service-connect.html). + * [Use Azure Private Link with Confluent Cloud](https://docs.confluent.io/cloud/current/networking/private-links/azure-privatelink.html). + * [Use AWS PrivateLink with Confluent Cloud](https://docs.confluent.io/cloud/current/networking/private-links/aws-privatelink.html). + + + ## The Private Link Accesses Model + + + ## Quotas and Limits + This resource is subject to the [following quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): + + | Quota | Description | + | --- | --- | + | `private_link_accounts_per_network` | Number of AWS accounts per network | + | `private_link_subscriptions_per_network` | Number of Azure subscriptions per network | + | `private_service_connect_projects_per_network` | Number of GCP projects per network | + - name: Network Link Services (networking/v1) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + Network Link Service is associated with a Private Link Confluent Cloud Network. + It enables connectivity from other Private Link Confluent Cloud Networks based on + the configured accept policies. + + + Related guide: [Network Linking Overview](https://docs.confluent.io/cloud/current/networking/network-linking.html). + + ## The Network Link Services Model + + + ## Quotas and Limits + This resource is subject to the [following quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): + + | Quota | Description | + | --- | --- | + | `network_link_service_per_network` | Number of network link services per network | + - name: Network Link Endpoints (networking/v1) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + A Network Link Enpoint is associated with a Private Link Confluent Cloud Network at the origin and a + Network Link Service (associated with another Private Link Confluent Cloud Network) at the target. + It enables connectivity between the origin network and the target network. + It can only be associated with a Private Link network. + + + Related guide: [Network Linking Overview](https://docs.confluent.io/cloud/current/networking/network-linking.html). + + ## The Network Link Endpoints Model + + + ## Quotas and Limits + This resource is subject to the [following quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): + + | Quota | Description | + | --- | --- | + | `network_link_endpoints_per_network` | Number of network link endpoints per network | + - name: Network Link Service Associations (networking/v1) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + List of incoming Network Link Enpoints associated with the Network Link Service. + + + Related guide: [Network Linking Overview](https://docs.confluent.io/cloud/current/networking/network-linking.html). + + ## The Network Link Service Associations Model + + - name: Gateways (networking/v1) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + A gateway is a resource that defines network access to Confluent cloud resources. + + + ## The Gateways Model + + - name: IP Addresses (networking/v1) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + IP Addresses + + Related guide: [Use Public Egress IP addresses on Confluent Cloud](https://docs.confluent.io/cloud/current/networking/static-egress-ip-addresses.html) + + ## The IP Addresses Model + + - name: Private Link Attachments (networking/v1) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + PrivateLink attachment objects represent reservations to establish PrivateLink connections + to a cloud region in order to access resources that belong to a Confluent Cloud Environment. + The API allows you to list, create, read update and delete your PrivateLink attachments. + + + ## The Private Link Attachments Model + + + ## Quotas and Limits + This resource is subject to the [following quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): + + | Quota | Description | + | --- | --- | + | `private_link_attachments_per_environment` | Number of PrivateLink Attachments per environment | + - name: Private Link Attachment Connections (networking/v1) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + PrivateLink attachment connection objects represent connections established to a cloud region + in order to access resources that belong to a Confluent Cloud Environment. + The API allows you to list, create, read update and delete your PrivateLink attachment connections. + + + ## The Private Link Attachment Connections Model + + - name: Identity Providers (iam/v2) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + `IdentityProvider` objects represent external OAuth-OIDC providers in Confluent Cloud. + + The API allows you to list, create, read, update, and delete your Identity Provider. + + + Related guide: [OAuth for Confluent Cloud](https://docs.confluent.io/cloud/current/access-management/authenticate/oauth/overview.html). + + ## The Identity Providers Model + + + ## Quotas and Limits + This resource is subject to the [following quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): + + | Quota | Description | + | --- | --- | + | `identity_providers_per_org` | Number of OAuth identity providers per organization | + | `public_keys_per_provider` | Number of public keys saved per identity provider | + - name: Jwks (iam/v2) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + `JWKS` objects represent public key sets for a specific OAuth/OpenID Connect provider within + Confluent Cloud. + + The API allows you to refresh JWKS public key data. + + + Related guide: [OAuth for Confluent Cloud](https://docs.confluent.io/cloud/current/access-management/authenticate/oauth/overview.html). + + ## The Jwks Model + + - name: Identity Pools (iam/v2) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + `IdentityPool` objects represent groups of identities tied to a given a `IdentityProvider` + that authorizes them to Confluent Cloud resources. + + It provides a mapping functionality of your `Identity Provider` user to a Confluent identity pool that + is then used to provide access to Confluent Resources. + + + Related guide: [Use identity pools with your OAuth provider](https://docs.confluent.io/cloud/current/access-management/authenticate/oauth/identity-pools.html). + + ## The Identity Pools Model + + + ## Quotas and Limits + This resource is subject to the [following quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): + + | Quota | Description | + | --- | --- | + | `identity_pools_per_provider` | Number of Identity Pools per Identity Provider | + - name: OAuth Tokens (sts/v1) + description: | + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + OAuth Token is a [JSON Web Token (JWT)](https://www.rfc-editor.org/rfc/rfc7519) that enables the use of + external identities to access Confluent Cloud APIs + - name: Client Quotas (kafka-quotas/v1) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + `ClientQuota` objects represent Client Quotas you can set at the service account level. + + The API allows you to list, create, read, update, and delete your client quotas. + + + Related guide: [Client Quotas in Confluent Cloud](https://docs.confluent.io/cloud/current/clusters/client-quotas.html). + + ## The Client Quotas Model + + - name: Pipelines (sd/v1) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + `Pipeline` objects represent information about a user-defined pipeline of Confluent Cloud components. + The pipeline's content is available separately. + + The API allows you to create, retrieve, update, and delete your pipelines, + as well as list all of your pipelines for the particular environment and Kafka cluster. + + + Related guide: [Pipelines in Confluent Cloud](https://docs.confluent.io/cloud/current/stream-designer/). + + ## The Pipelines Model + + + ## Quotas and Limits + This resource is subject to the [following quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): + + | Quota | Description | + | --- | --- | + | `pipelines_per_org` | Pipelines in one Confluent Cloud organization | + | `pipelines_per_cluster` | Pipelines in one Confluent Cloud Kafka cluster | + - name: Keys (byok/v1) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + `Key` objects represent customer managed keys on dedicated Confluent Cloud clusters. + + Keys are used to protect data at rest stored in your dedicated Confluent Cloud clusters on AWS, Azure, and GCP. + This API allows you to upload and retrieve self-managed keys on Confluent Cloud. + + + Related guide: [Confluent Cloud Bring Your Own Key (BYOK) Management API](https://docs.confluent.io/cloud/current/clusters/byok/index.html). + + ## The Keys Model + + + ## Quotas and Limits + This resource is subject to the [following quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): + + | Quota | Description | + | --- | --- | + | `byok.max_keys.per_org` | BYOK keys in one Confluent Cloud organisation. | + - name: Costs (billing/v1) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + `Cost` objects represent the aggregated billing costs for an organization + + + Related guide: [Retrieve costs for a range of dates](https://docs.confluent.io/cloud/current/billing/overview.html#retrieve-costs-for-a-range-of-dates). + + ## The Costs Model + + - name: Group Mappings (iam/v2/sso) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + `GroupMapping` objects establish relationships between user groups in your SSO + identity provider and specific RBAC roles in Confluent Cloud. + + Group mappings enable automated and secure access control to Confluent Cloud resources, + reducing administrative workload by streamlining user provisioning and authorization. + + + Related guide: [Use group mappings with your SSO identity provider](https://docs.confluent.io/cloud/current/access-management/authenticate/sso/group-mapping/overview.html). + + ## The Group Mappings Model + + + ## Quotas and Limits + This resource is subject to the [following quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): + + | Quota | Description | + | --- | --- | + | `group_mappings_per_org` | Number of group mappings per organization | + - name: Compute Pools (fcpm/v2) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + A Compute Pool represents a set of compute resources that is used to run your Queries. + The resources (CPUs, memory,…) provided by a Compute Pool are shared between all Queries that use it. + + + ## The Compute Pools Model + + - name: Regions (fcpm/v2) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + `Region` objects represent cloud provider regions available when placing Flink compute pools. + The API allows you to list Flink regions. + + + ## The Regions Model + + - name: Statements (sql/v1) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + `Statement` represents a core resource used to model SQL statements for execution. + A statement generalizes DDL, DML, DQL, etc., but doesn’t attempt to handle session + management or any higher-level functionality. + The API allows you to list, create, read, and delete your statements. + ## The Statements Model + + - name: Statement Results (sql/v1) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + `StatementResult` represents a result of a `Statement` resource. + The API allows you to read your statement's results. + ## The Statement Results Model + + - name: Statement Exceptions (sql/v1) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + `StatementException` represents an exception of a `Statement` resource. + The API allows you to read your statement's exceptions. + ## The Statement Exceptions Model + + - name: Connections (sql/v1) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + `Connection` represents a core resource used to model SQL connections for execution. + A connection generalizes DDL, DML, DQL, etc., but doesn’t attempt to handle session + management or any higher-level functionality. + The API allows you to list, create, read, and delete your connections. + ## The Connections Model + + - name: DNS Forwarders (networking/v1) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + Add, remove, and update DNS forwarder for your gateway. + + Related guides: + * [Use VPC peering connections with Confluent Cloud on AWS](https://docs.confluent.io/cloud/current/networking/peering/aws-peering.html). + * [Use VNet peering connections with Confluent Cloud on Azure](https://docs.confluent.io/cloud/current/networking/peering/azure-peering.html). + + + ## The DNS Forwarders Model + + - name: Access Points (networking/v1) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + AccessPoint objects represent network connections in and out of Gateways. + This API allows you to list, create, read, update, and delete your access points. + + + ## The Access Points Model + + - name: DNS Records (networking/v1) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + DNS record objects are associated with Confluent Cloud networking resources. This API allows you to list, create, read, update, and delete your DNS records. + + ## The DNS Records Model + + - name: Certificate Authorities (iam/v2) + description: |- + [![Limited Availability](https://img.shields.io/badge/Lifecycle%20Stage-Limited%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + `CertificateAuthority` objects represent signing certificate authorities in Confluent Cloud. + + The API allows you to list, create, read, update, and delete your Certificate Authority. + + + Related guide: [Manage certificate authorities used for client authentication with X.509 certificates.](https://docs.confluent.io/cloud/current/access-management/authenticate/mtls/overview.html). + + ## The Certificate Authorities Model + + + ## Quotas and Limits + This resource is subject to the [following quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): + + | Quota | Description | + | --- | --- | + | `certificate_authorities_per_org` | Number of certificate authorities per organization | + - name: Certificate Identity Pools (iam/v2) + description: |- + [![Limited Availability](https://img.shields.io/badge/Lifecycle%20Stage-Limited%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + `Identitypool` objects represent workload identities in Confluent Cloud. + + The API allows you to list, create, read, update, and delete your identity pools associated + with Certificate Authorities + + + Related guide: [Manage Certificate Identity Pools for Granular Client Access Management](https://docs.confluent.io/cloud/current/access-management/authenticate/mtls/configure.html#step-2-create-certificate-identity-pools-for-granular-access-control). + + ## The Certificate Identity Pools Model + + + ## Quotas and Limits + This resource is subject to the [following quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): + + | Quota | Description | + | --- | --- | + | `identity_pools_per_certificate_authority` | Number of Identity Pools per Certificate Authority | + - name: Integrations (pim/v1) + description: |- + [![Early Access](https://img.shields.io/badge/Lifecycle%20Stage-Early%20Access-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) [![Request Access To Provider Integration](https://img.shields.io/badge/-Request%20Access%20To%20Provider%20Integration-%23bc8540)](mailto:ccloud-api-access+pim-v1-early-access@confluent.io?subject=Request%20to%20join%20pim/v1%20API%20Early%20Access&body=I%E2%80%99d%20like%20to%20join%20the%20Confluent%20Cloud%20API%20Early%20Access%20for%20pim/v1%20to%20provide%20early%20feedback%21%20My%20Cloud%20Organization%20ID%20is%20%3Cretrieve%20from%20https%3A//confluent.cloud/settings/billing/payment%3E.) + + `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, and delete individual integrations, and also obtain a + list of all your provider integrations. + + + Related guide: [Provider Integration in Confluent Cloud](https://docs.confluent.io/home/overview.html). + + ## The Integrations Model + + - name: Flink Artifacts (artifact/v1) + description: |- + [![Early Access](https://img.shields.io/badge/Lifecycle%20Stage-Early%20Access-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) [![Request Access To Flink Artifact API EA](https://img.shields.io/badge/-Request%20Access%20To%20Flink%20Artifact%20API%20EA-%23bc8540)](mailto:ccloud-api-access+artifact-v1-early-access@confluent.io?subject=Request%20to%20join%20artifact/v1%20API%20Early%20Access&body=I%E2%80%99d%20like%20to%20join%20the%20Confluent%20Cloud%20API%20Early%20Access%20for%20artifact/v1%20to%20provide%20early%20feedback%21%20My%20Cloud%20Organization%20ID%20is%20%3Cretrieve%20from%20https%3A//confluent.cloud/settings/billing/payment%3E.) + + FlinkArtifact objects represent Flink Artifacts on Confluent Cloud. + + + ## The Flink Artifacts Model + + - name: Presigned Urls (artifact/v1) + description: |- + [![Early Access](https://img.shields.io/badge/Lifecycle%20Stage-Early%20Access-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) [![Request Access To Flink Artifact API EA](https://img.shields.io/badge/-Request%20Access%20To%20Flink%20Artifact%20API%20EA-%23bc8540)](mailto:ccloud-api-access+artifact-v1-early-access@confluent.io?subject=Request%20to%20join%20artifact/v1%20API%20Early%20Access&body=I%E2%80%99d%20like%20to%20join%20the%20Confluent%20Cloud%20API%20Early%20Access%20for%20artifact/v1%20to%20provide%20early%20feedback%21%20My%20Cloud%20Organization%20ID%20is%20%3Cretrieve%20from%20https%3A//confluent.cloud/settings/billing/payment%3E.) + + Request a presigned upload URL for new Flink Artifact. Note that + the URL policy expires in one hour. If the policy expires, you can request + a new presigned upload URL. + + + ## The Presigned Urls Model + + - name: Flink Artifact Versions (artifact/v1) + description: |- + [![Early Access](https://img.shields.io/badge/Lifecycle%20Stage-Early%20Access-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) [![Request Access To Flink Artifact API EA](https://img.shields.io/badge/-Request%20Access%20To%20Flink%20Artifact%20API%20EA-%23bc8540)](mailto:ccloud-api-access+artifact-v1-early-access@confluent.io?subject=Request%20to%20join%20artifact/v1%20API%20Early%20Access&body=I%E2%80%99d%20like%20to%20join%20the%20Confluent%20Cloud%20API%20Early%20Access%20for%20artifact/v1%20to%20provide%20early%20feedback%21%20My%20Cloud%20Organization%20ID%20is%20%3Cretrieve%20from%20https%3A//confluent.cloud/settings/billing/payment%3E.) + + FlinkArtifactVersion objects represent Flink Artifact Versions on Confluent Cloud. + + + ## The Flink Artifact Versions Model + +components: + schemas: + AclOperation: + type: string + x-extensible-enum: + - UNKNOWN + - ANY + - ALL + - READ + - WRITE + - CREATE + - DELETE + - ALTER + - DESCRIBE + - CLUSTER_ACTION + - DESCRIBE_CONFIGS + - ALTER_CONFIGS + - IDEMPOTENT_WRITE + AclPatternType: + type: string + x-extensible-enum: + - UNKNOWN + - ANY + - MATCH + - LITERAL + - PREFIXED + AclPermission: + type: string + x-extensible-enum: + - UNKNOWN + - ANY + - DENY + - ALLOW + AclResourceType: + type: string + enum: + - UNKNOWN + - ANY + - TOPIC + - GROUP + - CLUSTER + - TRANSACTIONAL_ID + - DELEGATION_TOKEN + BrokerTaskType: + type: string + enum: + - add-broker + - remove-broker + MirrorTopicStatus: + enum: + - ACTIVE + - FAILED + - LINK_FAILED + - LINK_PAUSED + - PAUSED + - PENDING_STOPPED + - SOURCE_UNAVAILABLE + - STOPPED + - PENDING_MIRROR + - PENDING_SYNCHRONIZE + - PENDING_SETUP_FOR_RESTORE + - PENDING_RESTORE + type: string + ClusterData: + allOf: + - $ref: '#/components/schemas/Resource' + - type: object + required: + - cluster_id + - acls + - brokers + - broker_configs + - consumer_groups + - topics + - partition_reassignments + properties: + cluster_id: + type: string + controller: + $ref: '#/components/schemas/Relationship' + acls: + $ref: '#/components/schemas/Relationship' + brokers: + $ref: '#/components/schemas/Relationship' + broker_configs: + $ref: '#/components/schemas/Relationship' + consumer_groups: + $ref: '#/components/schemas/Relationship' + topics: + $ref: '#/components/schemas/Relationship' + partition_reassignments: + $ref: '#/components/schemas/Relationship' + Error: + type: object + description: Describes a particular error encountered while performing an operation. + properties: + id: + description: A unique identifier for this particular occurrence of the problem. + type: string + maxLength: 255 + status: + description: 'The HTTP status code applicable to this problem, expressed as a string value.' + type: string + code: + description: 'An application-specific error code, expressed as a string value.' + type: string + title: + description: 'A short, human-readable summary of the problem. It **SHOULD NOT** change from occurrence to occurrence of the problem, except for purposes of localization.' + type: string + detail: + description: A human-readable explanation specific to this occurrence of the problem. + type: string + source: + type: object + description: 'If this error was caused by a particular part of the API request, the source will point to the query string parameter or request body property that caused it.' + properties: + pointer: + description: 'A JSON Pointer [RFC6901] to the associated entity in the request document [e.g. "/spec" for a spec object, or "/spec/title" for a specific field].' + type: string + parameter: + description: A string indicating which query parameter caused the error. + type: string + error_code: + type: integer + format: int32 + message: + type: string + nullable: true + additionalProperties: false + AlterConfigBatchRequestData: + type: object + required: + - data + properties: + data: + type: array + items: + type: object + required: + - name + properties: + name: + type: string + value: + type: string + nullable: true + operation: + type: string + x-extensible-enum: + - SET + - DELETE + nullable: true + validate_only: + type: boolean + CreateAclRequestData: + type: object + required: + - resource_type + - resource_name + - pattern_type + - principal + - host + - operation + - permission + properties: + resource_type: + $ref: '#/components/schemas/AclResourceType' + resource_name: + type: string + pattern_type: + $ref: '#/components/schemas/AclPatternType' + principal: + type: string + host: + type: string + operation: + $ref: '#/components/schemas/AclOperation' + permission: + $ref: '#/components/schemas/AclPermission' + CreateAclRequestDataList: + allOf: + - type: object + required: + - data + properties: + data: + type: array + items: + $ref: '#/components/schemas/CreateAclRequestData' + CreateTopicRequestData: + type: object + required: + - topic_name + properties: + topic_name: + type: string + partitions_count: + type: integer + replication_factor: + type: integer + configs: + type: array + items: + type: object + required: + - name + properties: + name: + type: string + value: + type: string + nullable: true + validate_only: + type: boolean + ProduceRequest: + type: object + properties: + partition_id: + type: integer + nullable: true + format: int32 + headers: + type: array + items: + $ref: '#/components/schemas/ProduceRequestHeader' + key: + $ref: '#/components/schemas/ProduceRequestData' + value: + $ref: '#/components/schemas/ProduceRequestData' + timestamp: + type: string + format: date-time + nullable: true + UpdateConfigRequestData: + type: object + properties: + value: + type: string + nullable: true + CreateLinkRequestData: + properties: + source_cluster_id: + type: string + destination_cluster_id: + type: string + remote_cluster_id: + description: The expected remote cluster ID. + type: string + cluster_link_id: + description: 'The expected cluster link ID. Can be provided when creating the second side of a bidirectional link for validating the link ID is as expected. If it''s not provided, it''s inferred from the remote cluster.' + type: string + configs: + items: + $ref: '#/components/schemas/ConfigData' + type: array + type: object + UpdateLinkConfigRequestData: + properties: + value: + type: string + required: + - value + type: object + CreateMirrorTopicRequestData: + properties: + source_topic_name: + type: string + mirror_topic_name: + type: string + replication_factor: + type: integer + configs: + type: array + items: + $ref: '#/components/schemas/ConfigData' + required: + - source_topic_name + type: object + AlterMirrorsRequestData: + properties: + mirror_topic_names: + description: The mirror topics specified as a list of topic names. + type: array + items: + type: string + mirror_topic_name_pattern: + description: The mirror topics specified as a pattern. + type: string + type: object + RemoveBrokersRequestData: + properties: + broker_ids: + type: array + items: + type: integer + required: + - broker_ids + type: object + BrokerReplicaExclusionBatchRequestData: + type: object + required: + - data + properties: + data: + type: array + items: + $ref: '#/components/schemas/BrokerReplicaExclusionRequestData' + Resource: + type: object + required: + - kind + - metadata + properties: + kind: + type: string + metadata: + $ref: '#/components/schemas/ResourceMetadata' + Relationship: + type: object + required: + - related + properties: + related: + type: string + ProduceRequestHeader: + type: object + required: + - name + properties: + name: + type: string + value: + type: string + format: byte + nullable: true + ProduceRequestData: + type: object + properties: + type: + type: string + x-extensible-enum: + - BINARY + - JSON + - STRING + data: + $ref: '#/components/schemas/AnyValue' + nullable: true + ConfigData: + example: + name: name + value: value + properties: + name: + type: string + value: + nullable: true + type: string + required: + - name + - value + BrokerReplicaExclusionRequestData: + type: object + required: + - broker_id + - reason + properties: + broker_id: + type: integer + reason: + type: string + ResourceMetadata: + type: object + required: + - self + properties: + self: + type: string + resource_name: + type: string + nullable: true + AnyValue: + nullable: true + AclDataList: + allOf: + - $ref: '#/components/schemas/ResourceCollection' + - type: object + required: + - data + properties: + data: + type: array + items: + $ref: '#/components/schemas/AclData' + ResourceCollection: + type: object + required: + - kind + - metadata + properties: + kind: + type: string + metadata: + $ref: '#/components/schemas/ResourceCollectionMetadata' + AclData: + allOf: + - $ref: '#/components/schemas/Resource' + - type: object + required: + - cluster_id + - resource_type + - resource_name + - pattern_type + - principal + - host + - operation + - permission + properties: + cluster_id: + type: string + resource_type: + $ref: '#/components/schemas/AclResourceType' + resource_name: + type: string + pattern_type: + $ref: '#/components/schemas/AclPatternType' + principal: + type: string + host: + type: string + operation: + $ref: '#/components/schemas/AclOperation' + permission: + $ref: '#/components/schemas/AclPermission' + ResourceCollectionMetadata: + type: object + required: + - self + properties: + self: + type: string + next: + type: string + nullable: true + ClusterConfigDataList: + allOf: + - $ref: '#/components/schemas/ResourceCollection' + - type: object + required: + - data + properties: + data: + type: array + items: + $ref: '#/components/schemas/ClusterConfigData' + ClusterConfigData: + allOf: + - $ref: '#/components/schemas/AbstractConfigData' + - type: object + required: + - config_type + properties: + config_type: + $ref: '#/components/schemas/ClusterConfigType' + AbstractConfigData: + allOf: + - $ref: '#/components/schemas/Resource' + - type: object + required: + - cluster_id + - name + - is_default + - is_read_only + - is_sensitive + - source + - synonyms + properties: + cluster_id: + type: string + name: + type: string + value: + type: string + nullable: true + is_default: + type: boolean + is_read_only: + type: boolean + is_sensitive: + type: boolean + source: + $ref: '#/components/schemas/ConfigSource' + synonyms: + type: array + items: + $ref: '#/components/schemas/ConfigSynonymData' + ClusterConfigType: + type: string + x-extensible-enum: + - BROKER + ConfigSource: + type: string + x-extensible-enum: + - DYNAMIC_CLUSTER_LINK_CONFIG + - DYNAMIC_TOPIC_CONFIG + - DYNAMIC_BROKER_LOGGER_CONFIG + - DYNAMIC_BROKER_CONFIG + - DYNAMIC_DEFAULT_BROKER_CONFIG + - STATIC_BROKER_CONFIG + - DEFAULT_CONFIG + - UNKNOWN + ConfigSynonymData: + type: object + required: + - name + - source + properties: + name: + type: string + value: + type: string + nullable: true + source: + $ref: '#/components/schemas/ConfigSource' + ConsumerGroupDataList: + allOf: + - $ref: '#/components/schemas/ResourceCollection' + - type: object + required: + - data + properties: + data: + type: array + items: + $ref: '#/components/schemas/ConsumerGroupData' + ConsumerGroupData: + allOf: + - $ref: '#/components/schemas/Resource' + - type: object + required: + - cluster_id + - consumer_group_id + - is_simple + - partition_assignor + - state + - coordinator + - consumers + - lag_summary + properties: + cluster_id: + type: string + consumer_group_id: + type: string + is_simple: + type: boolean + partition_assignor: + type: string + state: + $ref: '#/components/schemas/ConsumerGroupState' + coordinator: + $ref: '#/components/schemas/Relationship' + consumer: + $ref: '#/components/schemas/Relationship' + lag_summary: + $ref: '#/components/schemas/Relationship' + ConsumerGroupState: + type: string + x-extensible-enum: + - UNKNOWN + - PREPARING_REBALANCE + - COMPLETING_REBALANCE + - STABLE + - DEAD + - EMPTY + ConsumerDataList: + allOf: + - $ref: '#/components/schemas/ResourceCollection' + - type: object + required: + - data + properties: + data: + type: array + items: + $ref: '#/components/schemas/ConsumerData' + ConsumerData: + allOf: + - $ref: '#/components/schemas/Resource' + - type: object + required: + - cluster_id + - consumer_group_id + - consumer_id + - client_id + - assignments + properties: + cluster_id: + type: string + consumer_group_id: + type: string + consumer_id: + type: string + instance_id: + type: string + nullable: true + client_id: + type: string + assignments: + $ref: '#/components/schemas/Relationship' + ConsumerGroupLagSummaryData: + allOf: + - $ref: '#/components/schemas/Resource' + - type: object + required: + - cluster_id + - consumer_group_id + - max_lag_consumer_id + - max_lag_client_id + - max_lag_topic_name + - max_lag_partition_id + - max_lag + - total_lag + - max_lag_consumer + - max_lag_partition + properties: + cluster_id: + type: string + consumer_group_id: + type: string + max_lag_consumer_id: + type: string + max_lag_instance_id: + type: string + nullable: true + max_lag_client_id: + type: string + max_lag_topic_name: + type: string + max_lag_partition_id: + type: integer + max_lag: + type: integer + format: int64 + total_lag: + type: integer + format: int64 + max_lag_consumer: + $ref: '#/components/schemas/Relationship' + max_lag_partition: + $ref: '#/components/schemas/Relationship' + ConsumerLagDataList: + allOf: + - $ref: '#/components/schemas/ResourceCollection' + - type: object + required: + - data + properties: + data: + type: array + items: + $ref: '#/components/schemas/ConsumerLagData' + ConsumerLagData: + allOf: + - $ref: '#/components/schemas/Resource' + - type: object + required: + - cluster_id + - consumer_group_id + - topic_name + - partition_id + - current_offset + - log_end_offset + - lag + - consumer_id + - client_id + properties: + cluster_id: + type: string + consumer_group_id: + type: string + topic_name: + type: string + partition_id: + type: integer + current_offset: + type: integer + format: int64 + log_end_offset: + type: integer + format: int64 + lag: + type: integer + format: int64 + consumer_id: + type: string + instance_id: + type: string + nullable: true + client_id: + type: string + TopicDataList: + allOf: + - $ref: '#/components/schemas/ResourceCollection' + - type: object + required: + - data + properties: + data: + type: array + items: + $ref: '#/components/schemas/TopicData' + TopicData: + allOf: + - $ref: '#/components/schemas/Resource' + - type: object + required: + - cluster_id + - topic_name + - is_internal + - replication_factor + - partitions_count + - partitions + - configs + - partition_reassignments + properties: + cluster_id: + type: string + topic_name: + type: string + is_internal: + type: boolean + replication_factor: + type: integer + partitions_count: + type: integer + partitions: + $ref: '#/components/schemas/Relationship' + configs: + $ref: '#/components/schemas/Relationship' + partition_reassignments: + $ref: '#/components/schemas/Relationship' + authorized_operations: + $ref: '#/components/schemas/AuthorizedOperations' + AuthorizedOperations: + type: array + items: + type: string + x-extensible-enum: + - UNKNOWN + - ALL + - READ + - WRITE + - CREATE + - DELETE + - ALTER + - DESCRIBE + - CLUSTER_ACTION + - DESCRIBE_CONFIGS + - ALTER_CONFIGS + - IDEMPOTENT_WRITE + UpdatePartitionCountRequestData: + type: object + required: + - partitions_count + properties: + partitions_count: + type: integer + format: int32 + TopicConfigDataList: + allOf: + - $ref: '#/components/schemas/ResourceCollection' + - type: object + required: + - data + properties: + data: + type: array + items: + $ref: '#/components/schemas/TopicConfigData' + TopicConfigData: + allOf: + - $ref: '#/components/schemas/AbstractConfigData' + - type: object + required: + - topic_name + properties: + topic_name: + type: string + PartitionDataList: + allOf: + - $ref: '#/components/schemas/ResourceCollection' + - type: object + required: + - data + properties: + data: + type: array + items: + $ref: '#/components/schemas/PartitionData' + PartitionData: + allOf: + - $ref: '#/components/schemas/Resource' + - type: object + required: + - cluster_id + - topic_name + - partition_id + - replicas + - reassignment + properties: + cluster_id: + type: string + topic_name: + type: string + partition_id: + type: integer + leader: + $ref: '#/components/schemas/Relationship' + replicas: + $ref: '#/components/schemas/Relationship' + reassignment: + $ref: '#/components/schemas/Relationship' + ProduceResponse: + type: object + required: + - error_code + properties: + error_code: + type: integer + format: int32 + message: + type: string + cluster_id: + type: string + topic_name: + type: string + partition_id: + type: integer + format: int32 + offset: + type: integer + format: int64 + timestamp: + type: string + format: date-time + nullable: true + key: + $ref: '#/components/schemas/ProduceResponseData' + value: + $ref: '#/components/schemas/ProduceResponseData' + ProduceResponseData: + type: object + required: + - size + - type + properties: + size: + type: integer + type: + type: string + x-extensible-enum: + - BINARY + - JSON + - STRING + nullable: true + ListLinksResponseDataList: + allOf: + - $ref: '#/components/schemas/ResourceCollection' + - type: object + required: + - data + properties: + data: + type: array + items: + $ref: '#/components/schemas/ListLinksResponseData' + ListLinksResponseData: + allOf: + - $ref: '#/components/schemas/Resource' + - type: object + required: + - link_name + - cluster_link_id + - topic_names + properties: + source_cluster_id: + type: string + nullable: true + destination_cluster_id: + type: string + nullable: true + remote_cluster_id: + type: string + nullable: true + link_name: + type: string + link_id: + type: string + deprecated: true + cluster_link_id: + type: string + topic_names: + type: array + items: + type: string + link_error: + $ref: '#/components/schemas/LinkError' + nullable: true + link_error_message: + type: string + nullable: true + link_state: + $ref: '#/components/schemas/LinkState' + nullable: true + tasks: + nullable: true + type: array + items: + $ref: '#/components/schemas/LinkTask' + LinkError: + type: string + x-extensible-enum: + - UNKNOWN + - NO_ERROR + - AUTHENTICATION_ERROR + - UNRESOLVABLE_BOOTSTRAP_ERROR + - INVALID_BOOTSTRAP_INTERNAL_ENDPOINT_ERROR + - BOOTSTRAP_TCP_CONNECTION_FAILED_ERROR + - TIMEOUT_ERROR + LinkState: + type: string + x-extensible-enum: + - ACTIVE + - FAILED + - UNAVAILABLE + - PAUSED + - UNKNOWN + LinkTask: + type: object + required: + - task_name + - state + - errors + properties: + task_name: + type: string + state: + $ref: '#/components/schemas/LinkTaskState' + errors: + type: array + items: + $ref: '#/components/schemas/LinkTaskError' + LinkTaskState: + type: string + x-extensible-enum: + - UNKNOWN + - ACTIVE + - IN_ERROR + - NOT_CONFIGURED + - LINK_FAILED + - LINK_UNAVAILABLE + - LINK_PAUSED + LinkTaskError: + type: object + required: + - error_code + - error_message + properties: + error_code: + type: string + error_message: + type: string + ListLinkConfigsResponseDataList: + allOf: + - $ref: '#/components/schemas/ResourceCollection' + - type: object + required: + - data + properties: + data: + type: array + items: + $ref: '#/components/schemas/ListLinkConfigsResponseData' + ListLinkConfigsResponseData: + allOf: + - $ref: '#/components/schemas/Resource' + - type: object + required: + - cluster_id + - name + - value + - default + - read_only + - sensitive + - source + - synonyms + - link_name + properties: + cluster_id: + type: string + name: + type: string + value: + type: string + read_only: + type: boolean + sensitive: + type: boolean + source: + type: string + x-extensible-enum: + - DYNAMIC_CLUSTER_LINK_CONFIG + synonyms: + type: array + items: + type: string + link_name: + type: string + ListMirrorTopicsResponseDataList: + allOf: + - $ref: '#/components/schemas/ResourceCollection' + - type: object + required: + - data + properties: + data: + type: array + items: + $ref: '#/components/schemas/ListMirrorTopicsResponseData' + ListMirrorTopicsResponseData: + allOf: + - $ref: '#/components/schemas/Resource' + - type: object + required: + - link_name + - mirror_topic_name + - source_topic_name + - num_partitions + - mirror_lags + - mirror_status + - state_time_ms + properties: + link_name: + type: string + mirror_topic_name: + type: string + source_topic_name: + type: string + num_partitions: + type: integer + mirror_lags: + $ref: '#/components/schemas/MirrorLags' + mirror_status: + $ref: '#/components/schemas/MirrorTopicStatus' + state_time_ms: + type: integer + format: int64 + mirror_state_transition_errors: + type: array + items: + $ref: '#/components/schemas/LinkTaskError' + MirrorLags: + type: array + items: + $ref: '#/components/schemas/MirrorLag' + MirrorLag: + type: object + required: + - partition + - lag + - last_source_fetch_offset + properties: + partition: + type: integer + lag: + type: integer + format: int64 + last_source_fetch_offset: + type: integer + format: int64 + AlterMirrorStatusResponseDataList: + allOf: + - $ref: '#/components/schemas/ResourceCollection' + - type: object + required: + - data + properties: + data: + type: array + items: + $ref: '#/components/schemas/AlterMirrorStatusResponseData' + AlterMirrorStatusResponseData: + allOf: + - $ref: '#/components/schemas/Resource' + - type: object + required: + - mirror_topic_name + - error_message + - error_code + - mirror_lags + - messages_truncated + - partition_level_truncation_data + properties: + mirror_topic_name: + type: string + error_message: + type: string + nullable: true + error_code: + type: integer + nullable: true + mirror_lags: + $ref: '#/components/schemas/MirrorLags' + messages_truncated: + type: integer + format: int64 + nullable: true + partition_level_truncation_data: + $ref: '#/components/schemas/PartitionLevelTruncationDataList' + nullable: true + PartitionLevelTruncationDataList: + type: array + items: + $ref: '#/components/schemas/PartitionLevelTruncationData' + PartitionLevelTruncationData: + type: object + required: + - partition_id + - offset_truncated_to + - messages_truncated + properties: + partition_id: + type: integer + offset_truncated_to: + type: integer + format: int64 + messages_truncated: + type: integer + format: int64 + parameters: + AclHost: + name: host + description: The ACL host. + in: query + required: false + schema: + type: string + AclOperation: + name: operation + description: The ACL operation. + in: query + required: false + schema: + $ref: '#/components/schemas/AclOperation' + AclOperationRequired: + name: operation + description: The ACL operation. + in: query + required: true + schema: + $ref: '#/components/schemas/AclOperation' + AclPatternType: + name: pattern_type + description: The ACL pattern type. + in: query + required: false + schema: + $ref: '#/components/schemas/AclPatternType' + AclPatternTypeRequired: + name: pattern_type + description: The ACL pattern type. + in: query + required: true + schema: + $ref: '#/components/schemas/AclPatternType' + AclPermission: + name: permission + description: The ACL permission. + in: query + required: false + schema: + $ref: '#/components/schemas/AclPermission' + AclPermissionRequired: + name: permission + description: The ACL permission. + in: query + required: true + schema: + $ref: '#/components/schemas/AclPermission' + AclPrincipal: + name: principal + description: The ACL principal. This is the Service Account name or user name. + in: query + required: false + schema: + type: string + AclResourceName: + name: resource_name + description: The ACL resource name. + in: query + required: false + schema: + type: string + AclResourceType: + name: resource_type + description: The ACL resource type. + in: query + required: false + schema: + $ref: '#/components/schemas/AclResourceType' + AclResourceTypeRequired: + name: resource_type + description: The ACL resource type. + in: query + required: true + schema: + $ref: '#/components/schemas/AclResourceType' + BrokerId: + name: broker_id + description: The Kafka broker ID. + in: path + required: true + schema: + type: integer + example: 1 + ClusterId: + name: cluster_id + description: The Kafka cluster ID. + in: path + required: true + schema: + type: string + example: cluster-1 + ConfigName: + name: name + description: The configuration parameter name. + in: path + required: true + schema: + type: string + example: compression.type + ConsumerGroupId: + name: consumer_group_id + description: The consumer group ID. + in: path + required: true + schema: + type: string + example: consumer-group-1 + ConsumerId: + name: consumer_id + description: The consumer ID. + in: path + required: true + schema: + type: string + example: consumer-1 + IncludeAuthorizedOperations: + name: include_authorized_operations + description: Specify if authorized operations should be included in the response. + in: query + required: false + schema: + type: boolean + PartitionId: + name: partition_id + description: The partition ID. + in: path + required: true + schema: + type: integer + example: 0 + TopicName: + name: topic_name + description: The topic name. + in: path + required: true + schema: + type: string + example: topic-1 + BrokerTaskType: + name: task_type + description: The Kafka broker task type. + in: path + required: true + schema: + $ref: '#/components/schemas/BrokerTaskType' + example: remove-broker + ShouldShutdown: + name: should_shutdown + description: 'To shutdown the broker or not, Default: true' + in: query + required: false + schema: + type: boolean + example: true + ValidateOnly: + name: validate_only + description: 'To validate the action can be performed successfully or not. Default: false' + in: query + required: false + schema: + type: boolean + example: false + ValidateLink: + name: validate_link + description: 'To synchronously validate that the source cluster ID is expected and the dest cluster has the permission to read topics in the source cluster. Default: true' + in: query + required: false + schema: + type: boolean + example: false + IncludeTasks: + name: include_tasks + description: 'Whether to include cluster linking tasks in the response. Default: false' + in: query + required: false + schema: + type: boolean + example: false + IncludeStateTransitionErrors: + name: include_state_transition_errors + description: 'Whether to include mirror state transition errors in the response. Default: false' + in: query + required: false + schema: + type: boolean + example: false + Force: + name: force + description: 'Force the action. Default: false' + in: query + required: false + schema: + type: boolean + example: false + IncludePartitionLevelTruncationData: + name: include_partition_level_truncation_data + description: 'Whether to include partition level truncation information when truncating and restoring a topic in the response. Default: false' + in: query + required: false + schema: + type: boolean + example: false + LinkName: + name: link_name + description: The link name + in: path + required: true + schema: + type: string + example: link-sb1 + LinkConfigName: + name: config_name + description: The link config name + in: path + required: true + schema: + type: string + example: consumer.offset.sync.enable + MirrorTopicStatus: + name: mirror_status + description: 'The status of the mirror topic. If not specified, all mirror topics will be returned.' + in: query + required: false + schema: + $ref: '#/components/schemas/MirrorTopicStatus' + example: ACTIVE + MirrorTopicName: + name: mirror_topic_name + description: Cluster Linking mirror topic name + in: path + required: true + schema: + type: string + example: topic-1 + QueryParamLinkName: + name: link_name + description: The link name + in: query + required: true + schema: + type: string + example: link-sb1 + responses: + GetClusterResponse: + description: The Kafka cluster. + content: + application/json: + schema: + $ref: '#/components/schemas/ClusterData' + example: + kind: KafkaCluster + metadata: + self: 'https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1' + resource_name: 'crn:///kafka=cluster-1' + cluster_id: cluster-1 + controller: + related: 'https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1/brokers/1' + acls: + related: 'https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1/acls' + brokers: + related: 'https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1/brokers' + broker_configs: + related: 'https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1/broker-configs' + consumer_groups: + related: 'https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1/consumer-groups' + topics: + related: 'https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1/topics' + partition_reassignments: + related: 'https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1/topics/-/partitions/-/reassignment' + BadRequestErrorResponse: + description: Indicates a bad request error. It could be caused by an unexpected request body format or other forms of request validation failure. + content: + application/json: + schema: + $ref: '#/components/schemas/Error' + examples: + bad_request_cannot_deserialize: + description: Thrown when trying to deserialize an integer from non-integer data. + value: + error_code: 400 + message: 'Cannot deserialize value of type `java.lang.Integer` from String "A": not a valid `java.lang.Integer` value' + unsupported_version_exception: + description: Thrown when the version of this API is not supported in the underlying Kafka cluster. + value: + error_code: 40035 + message: The version of this API is not supported in the underlying Kafka cluster. + UnauthorizedErrorResponse: + description: Indicates a client authentication error. Kafka authentication failures will contain error code 40101 in the response body. + content: + application/json: + schema: + $ref: '#/components/schemas/Error' + examples: + kafka_authentication_failed: + description: Thrown when using Basic authentication with wrong Kafka credentials. + value: + error_code: 40101 + message: Authentication failed + ForbiddenErrorResponse: + description: Indicates a client authorization error. Kafka authorization failures will contain error code 40301 in the response body. + content: + application/json: + schema: + $ref: '#/components/schemas/Error' + examples: + kafka_authorization_failed: + description: Thrown when the caller is not authorized to perform the underlying operation. + value: + error_code: 40301 + message: Request is not authorized + TooManyRequestsErrorResponse: + description: 'Indicates that a rate limit threshold has been reached, and the client should retry again later.' + content: + text/html: + schema: + type: string + example: + description: A sample response from Jetty's DoSFilter. + value: ' Error 429 Too Many Requests

HTTP ERROR 429 Too Many Requests

URI: /v3/clusters/my-cluster
STATUS: 429
MESSAGE: Too Many Requests
SERVLET: default
' + ServerErrorResponse: + description: A server-side problem that might not be addressable from the client side. Retriable Kafka errors will contain error code 50003 in the response body. + content: + application/json: + schema: + $ref: '#/components/schemas/Error' + examples: + generic_internal_server_error: + description: Thrown for generic HTTP 500 errors. + value: + error_code: 500 + message: Internal Server Error + BadRequestErrorResponse_CreateAcls: + description: Indicates a bad request error. It could be caused by an unexpected request body format or other forms of request validation failure. + content: + application/json: + schema: + $ref: '#/components/schemas/Error' + examples: + create_acls_cluster_name_invalid: + description: Thrown when creating an ACL for a CLUSTER resource specifying the wrong resource name. + value: + error_code: 40002 + message: The only valid name for the CLUSTER resource is kafka-cluster" + SearchAclsResponse: + description: The list of ACLs. + content: + application/json: + schema: + $ref: '#/components/schemas/AclDataList' + example: + kind: KafkaAclList + metadata: + self: 'https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1/acls?principal=User%3Aalice' + data: + - kind: KafkaAcl + metadata: + self: 'https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1/acls?resource_type=TOPIC&resource_name=topic-&pattern_type=PREFIXED&principal=User%3Aalice&host=*&operation=ALL&permission=ALLOW' + cluster_id: cluster-1 + resource_type: TOPIC + resource_name: topic- + pattern_type: PREFIXED + principal: 'User:alice' + host: '*' + operation: ALL + permission: ALLOW + - kind: KafkaAcl + metadata: + self: 'https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1/acls?resource_type=CLUSTER&resource_name=kafka-cluster&pattern_type=LITERAL&principal=User%3Aalice&host=*&operation=DESCRIBE&permission=DENY' + cluster_id: cluster-1 + resource_type: CLUSTER + resource_name: kafka-cluster + pattern_type: LITERAL + principal: 'User:alice' + host: '*' + operation: DESCRIBE + permission: DENY + DeleteAclsResponse: + description: The list of deleted ACLs. + content: + application/json: + schema: + type: object + required: + - data + properties: + data: + type: array + items: + $ref: '#/components/schemas/AclData' + example: + data: + - kind: KafkaAcl + metadata: + self: 'https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1/acls?resource_type=TOPIC&resource_name=topic-&pattern_type=PREFIXED&principal=User%3Aalice&host=*&operation=ALL&permission=ALLOW' + cluster_id: cluster-1 + resource_type: TOPIC + resource_name: topic- + pattern_type: PREFIXED + principal: 'User:alice' + host: '*' + operation: ALL + permission: ALLOW + - kind: KafkaAcl + metadata: + self: 'https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1/acls?resource_type=CLUSTER&resource_name=kafka-cluster&pattern_type=LITERAL&principal=User%3Aalice&host=*&operation=DESCRIBE&permission=DENY' + cluster_id: cluster-1 + resource_type: CLUSTER + resource_name: kafka-cluster + pattern_type: LITERAL + principal: 'User:alice' + host: '*' + operation: DESCRIBE + permission: DENY + BadRequestErrorResponse_DeleteAcls: + description: Indicates a bad request error. It could be caused by an unexpected request body format or other forms of request validation failure. + content: + application/json: + schema: + $ref: '#/components/schemas/Error' + examples: + delete_acls_unspecified_resource_type: + description: Thrown when trying to delete ACLs without specifying a valid resource type. + value: + error_code: 400 + message: resource_type cannot be unspecified or UNKNOWN + ListClusterConfigsResponse: + description: The list of cluster configs. + content: + application/json: + schema: + $ref: '#/components/schemas/ClusterConfigDataList' + example: + kind: KafkaClusterConfigList + metadata: + self: 'https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1/broker-configs' + next: null + data: + - kind: KafkaClusterConfig + metadata: + self: 'https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1/broker-configs/max.connections' + 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: + self: 'https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1/broker-configs/compression.type' + 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 + GetClusterConfigResponse: + description: The cluster configuration parameter. + content: + application/json: + schema: + $ref: '#/components/schemas/ClusterConfigData' + example: + kind: KafkaClusterConfig + metadata: + self: 'https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1/broker-configs/compression.type' + 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 + ListConsumerGroupsResponse: + description: The list of consumer groups. + content: + application/json: + schema: + $ref: '#/components/schemas/ConsumerGroupDataList' + example: + kind: KafkaConsumerGroupList + metadata: + self: 'https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1/consumer-groups' + next: null + data: + - kind: KafkaConsumerGroup + metadata: + self: 'https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1/consumer-groups/consumer-group-1' + 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: + related: 'https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1/brokers/1' + consumers: + related: 'https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1/consumer-groups/consumer-group-1/consumers' + lag_summary: + related: 'https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1/consumer-groups/consumer-group-1/lag-summary' + - kind: KafkaConsumerGroup + metadata: + self: 'https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1/consumer-groups/consumer-group-2' + 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: + related: 'https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1/brokers/2' + consumers: + related: 'https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1/consumer-groups/consumer-group-2/consumers' + lag_summary: + related: 'https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1/consumer-groups/consumer-group-2/lag-summary' + - kind: KafkaConsumerGroup + metadata: + self: 'https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1/consumer-groups/consumer-group-3' + 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: + related: 'https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1/brokers/3' + consumers: + related: 'https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1/consumer-groups/consumer-group-3/consumers' + lag_summary: + related: 'https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1/consumer-groups/consumer-group-3/lag-summary' + GetConsumerGroupResponse: + description: The consumer group. + content: + application/json: + schema: + $ref: '#/components/schemas/ConsumerGroupData' + example: + kind: KafkaConsumerGroup + metadata: + self: 'https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1/consumer-groups/consumer-group-1' + 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: + related: 'https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1/brokers/1' + consumers: + related: 'https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1/consumer-groups/consumer-group-1/consumers' + lag_summary: + related: 'https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1/consumer-groups/consumer-group-1/lag-summary' + ListConsumersResponse: + description: The list of consumers. + content: + application/json: + schema: + $ref: '#/components/schemas/ConsumerDataList' + example: + kind: KafkaConsumerList + metadata: + self: 'https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1/consumer-groups/consumer-group-1/consumers' + next: null + data: + - kind: KafkaConsumer + metadata: + self: 'https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1/consumer-groups/consumer-group-1/consumers/consumer-1' + 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 + assignments: + related: 'https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1/consumer-groups/consumer-group-1/consumers/consumer-1/assignments' + - kind: KafkaConsumer + metadata: + self: 'https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1/consumer-groups/consumer-group-1/consumers/consumer-2' + 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 + assignments: + related: 'https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1/consumer-groups/consumer-group-1/consumers/consumer-2/assignments' + - kind: KafkaConsumer + metadata: + self: 'https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1/consumer-groups/consumer-group-1/consumers/consumer-2' + 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 + assignments: + related: 'https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1/consumer-groups/consumer-group-1/consumers/consumer-2/assignments' + GetConsumerGroupLagSummaryResponse: + description: The max and total consumer lag in a consumer group. + content: + application/json: + schema: + $ref: '#/components/schemas/ConsumerGroupLagSummaryData' + example: + kind: KafkaConsumerGroupLagSummary + metadata: + self: 'https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1/consumer-groups/consumer-group-1/lag-summary' + 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: + related: 'https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1/consumer-groups/consumer-group-1/consumers/consumer-1' + max_lag_partition: + related: 'https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1/topics/topic-1/partitions/1' + ListConsumerLagsResponse: + description: The list of consumer lags. + content: + application/json: + schema: + $ref: '#/components/schemas/ConsumerLagDataList' + example: + kind: KafkaConsumerLagList + metadata: + self: 'https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1/consumer-groups/consumer-group-1/lags' + next: null + data: + - kind: KafkaConsumerLag + metadata: + self: 'https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1/consumer-groups/consumer-group-1/lags/topic-1/partitions/1' + 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: + self: 'https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1/consumer-groups/consumer-group-1/lags/topic-1/partitions/2' + 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: + self: 'https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1/consumer-groups/consumer-group-1/lags/topic-1/partitions/3' + 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 + GetConsumerLagResponse: + description: The consumer lag. + content: + application/json: + schema: + $ref: '#/components/schemas/ConsumerLagData' + example: + kind: KafkaConsumerLag + metadata: + self: 'https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1/consumer-groups/consumer-group-1/lags/topic-1/partitions/1' + 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 + GetConsumerResponse: + description: The consumer. + content: + application/json: + schema: + $ref: '#/components/schemas/ConsumerData' + example: + kind: KafkaConsumer + metadata: + self: 'https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1/consumer-groups/consumer-group-1/consumers/consumer-1' + 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 + assignments: + related: 'https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1/consumer-groups/consumer-group-1/consumers/consumer-1/assignments' + ListTopicsResponse: + description: The list of topics. + content: + application/json: + schema: + $ref: '#/components/schemas/TopicDataList' + example: + kind: KafkaTopicList + metadata: + self: 'https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1/topics' + next: null + data: + - kind: KafkaTopic + metadata: + self: 'https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1/topics/topic-1' + 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: + related: 'https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1/topics/topic-1/partitions' + configs: + related: 'https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1/topics/topic-1/configs' + partition_reassignments: + related: 'https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1/topics/topic-1/partitions/-/reassignments' + - kind: KafkaTopic + metadata: + self: 'https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1/topics/topic-2' + 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: + related: 'https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1/topics/topic-2/partitions' + configs: + related: 'https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1/topics/topic-2/configs' + partition_reassignments: + related: 'https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1/topics/topic-2/partitions/-/reassignments' + - kind: KafkaTopic + metadata: + self: 'https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1/topics/topic-3' + 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: + related: 'https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1/topics/topic-3/partitions' + configs: + related: 'https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1/topics/topic-3/configs' + partition_reassignments: + related: 'https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1/topics/topic-3/partitions/-/reassignments' + CreateTopicResponse: + description: The created topic. + content: + application/json: + schema: + $ref: '#/components/schemas/TopicData' + example: + kind: KafkaTopic + metadata: + self: 'https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1/topics/topic-X' + 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: + related: 'https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1/topics/topic-X/partitions' + configs: + related: 'https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1/topics/topic-X/configs' + partition_reassignments: + related: 'https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1/topics/topic-X/partitions/-/reassignments' + BadRequestErrorResponse_CreateTopic: + description: Indicates a bad request error. It could be caused by an unexpected request body format or other forms of request validation failure. + content: + application/json: + schema: + $ref: '#/components/schemas/Error' + examples: + create_topic_already_exists: + description: Thrown when trying to create a topic with a name already used by an existing topic. + value: + error_code: 40002 + message: Topic 'my-topic' already exists. + create_topic_replication_factor_too_large: + description: Thrown when trying to create a topic with a replication factor larger than the number of brokers. + value: + error_code: 40002 + message: 'Replication factor: 2 larger than available brokers: 1.' + GetTopicResponse: + description: The topic. + content: + application/json: + schema: + $ref: '#/components/schemas/TopicData' + example: + kind: KafkaTopic + metadata: + self: 'https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1/topics/topic-1' + 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: + related: 'https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1/topics/topic-1/partitions' + configs: + related: 'https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1/topics/topic-1/configs' + partition_reassignments: + related: 'https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1/topics/topic-1/partitions/-/reassignments' + NotFoundErrorResponse: + description: Indicates attempted access to an unreachable or non-existing resource like e.g. an unknown topic or partition. GET requests to endpoints not allowed in the accesslists will also result in this response. + content: + application/json: + schema: + $ref: '#/components/schemas/Error' + examples: + endpoint_not_found: + description: Thrown for generic HTTP 404 errors. + value: + error_code: 404 + message: HTTP 404 Not Found + cluster_not_found: + description: Thrown when using a non-existing cluster ID. + value: + error_code: 404 + message: Cluster my-cluster cannot be found. + unknown_topic_or_partition: + description: Thrown when using a non-existing topic name or partition ID. + value: + error_code: 40403 + message: This server does not host this topic-partition. + BadRequestErrorResponse_UpdatePartitionCountTopic: + description: Indicates a bad request error. It could be caused by an unexpected request body format or other forms of request validation failure. + content: + application/json: + schema: + $ref: '#/components/schemas/Error' + examples: + topic_update_partitions_invalid: + description: Thrown when trying to update the number of partitions incorrectly. + value: + error_code: 40002 + message: Topic already has 1 partitions. + ListTopicConfigsResponse: + description: The list of cluster configs. + content: + application/json: + schema: + $ref: '#/components/schemas/TopicConfigDataList' + example: + kind: KafkaTopicConfigList + metadata: + self: 'https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1/topics/topic-1/configs' + next: null + data: + - kind: KafkaTopicConfig + metadata: + self: 'https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1/topics/topic-1/configs/cleanup.policy' + 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: + self: 'https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1/topics/topic-1/configs/compression.type' + 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 + GetTopicConfigResponse: + description: The topic configuration parameter. + content: + application/json: + schema: + $ref: '#/components/schemas/TopicConfigData' + example: + kind: KafkaTopicConfig + metadata: + self: 'https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1/topics/topic-1/compression.type' + 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 + ListPartitionsResponse: + description: The list of partitions. + content: + application/json: + schema: + $ref: '#/components/schemas/PartitionDataList' + example: + kind: KafkaPartitionList + metadata: + self: 'https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1/topics/topic-1/partitions' + next: null + data: + - kind: KafkaPartition + metadata: + self: 'https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1/topics/topic-1/partitions/1' + resource_name: 'crn:///kafka=cluster-1/topic=topic-1/partition=1' + cluster_id: cluster-1 + topic_name: topic-1 + partition_id: 1 + leader: + related: 'https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1/topics/topic-1/partitions/1/replicas/1' + replicas: + related: 'https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1/topics/topic-1/partitions/1/replicas' + reassignment: + related: 'https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1/topics/topic-1/partitions/1/reassignment' + - kind: KafkaPartition + metadata: + self: 'https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1/topics/topic-1/partitions/2' + resource_name: 'crn:///kafka=cluster-1/topic=topic-1/partition=2' + cluster_id: cluster-1 + topic_name: topic-1 + partition_id: 2 + leader: + related: 'https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1/topics/topic-1/partitions/2/replicas/2' + replicas: + related: 'https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1/topics/topic-1/partitions/2/replicas' + reassignment: + related: 'https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1/topics/topic-1/partitions/2/reassignment' + - kind: KafkaPartition + metadata: + self: 'https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1/topics/topic-1/partitions/3' + resource_name: 'crn:///kafka=cluster-1/topic=topic-1/partition=3' + cluster_id: cluster-1 + topic_name: topic-1 + partition_id: 3 + leader: + related: 'https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1/topics/topic-1/partitions/3/replicas/3' + replicas: + related: 'https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1/topics/topic-1/partitions/3/replicas' + reassignment: + related: 'https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1/topics/topic-1/partitions/3/reassignment' + GetPartitionResponse: + description: The partition + content: + application/json: + schema: + $ref: '#/components/schemas/PartitionData' + example: + kind: KafkaPartition + metadata: + self: 'https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1/topics/topic-1/partitions/1' + resource_name: 'crn:///kafka=cluster-1/topic=topic-1/partition=1' + cluster_id: cluster-1 + topic_name: topic-1 + partition_id: 1 + leader: + related: 'https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1/topics/topic-1/partitions/1/replicas/1' + replicas: + related: 'https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1/topics/topic-1/partitions/1/replicas' + reassignment: + related: 'https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1/topics/topic-1/partitions/1/reassignment' + ProduceResponse: + description: |- + The response containing a delivery report for a record produced to a topic. In streaming mode, + for each record sent, a separate delivery report will be returned, in the same order, + each with its own error_code. + content: + application/json: + schema: + $ref: '#/components/schemas/ProduceResponse' + examples: + produce_record_success: + description: The record was successfully produced to the topic. + value: + error_code: 200 + cluster_id: cluster-1 + topic_name: topic-1 + partition_id: 1 + offset: 0 + timestamp: '2021-02-05T19:14:42Z' + key: + type: BINARY + size: 7 + value: + type: JSON + size: 15 + produce_record_bad_binary_data: + description: Thrown when sending a BINARY value which is not a base64-encoded string. + value: + error_code: 400 + message: 'Bad Request: data=1 is not a base64 string.' + BadRequestErrorResponse_ProduceRecords: + description: Indicates a bad request error. It could be caused by an unexpected request body format or other forms of request validation failure. + content: + application/json: + schema: + $ref: '#/components/schemas/Error' + examples: + header_not_base64_encoded: + description: Thrown when headers in the produce-record are not base64 encoded. + value: + error_code: 400 + message: 'Cannot deserialize value of type `byte[]` from String "": Unexpected end of base64-encoded String: base64 variant ''MIME-NO-LINEFEEDS'' expects padding (one or more ''='' characters) at the end. This Base64Variant might have been incorrectly configured' + RequestEntityTooLargeErrorResponse: + description: This implies the client is sending a request payload that is larger than the maximum message size the server can accept. + content: + application/json: + schema: + $ref: '#/components/schemas/Error' + examples: + produce_records_expects_json: + description: Thrown by /records API if payload size exceeds the message max size + value: + error_code: 413 + message: The request included a message larger than the maximum message size the server can accept. + UnsupportedMediaTypeErrorResponse: + description: This implies the client is sending the request payload format in an unsupported format. + content: + application/json: + schema: + $ref: '#/components/schemas/Error' + examples: + produce_records_expects_json: + description: Thrown by /records API if payload format content-type doesn't match expected application/json + value: + error_code: 415 + message: HTTP 415 Unsupported Media Type + UnprocessableEntity_ProduceRecord: + description: Indicates a bad request error. It could be caused by an unexpected request body format or other forms of request validation failure. + content: + application/json: + schema: + $ref: '#/components/schemas/Error' + examples: + produce_record_empty_request_body: + description: Thrown when the request body is empty. + value: + error_code: 422 + message: Payload error. Request body is empty. Data is required. + ListLinksResponse: + description: A list of link names and properties + content: + application/json: + schema: + $ref: '#/components/schemas/ListLinksResponseDataList' + example: + kind: KafkaLinkDataList + metadata: + self: 'https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/Fds7TcT9TTqEXsoRLEKMcQ/links' + next: null + data: + - kind: KafkaLinkData + metadata: + self: 'https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/CIL-69l7S1CwoVNAhoQLug/links/my-new-link-1' + resource_name: null + source_cluster_id: src-cluster-id + link_name: my-new-link-1 + link_id: 7840644d-f7d8-4844-a577-a10ef3df31df + cluster_link_id: eEBkTffYSESld6EO898x3w + topic_names: + - topic-sb-1 + - topic-sb-2 + link_state: ACTIVE + - kind: KafkaLinkData + metadata: + self: 'https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/CIL-69l7S1CwoVNAhoQLug/links/my-new-link-2' + resource_name: null + remote_cluster_id: src-cluster-id + link_name: my-new-link-2 + link_id: f749116e-f847-4bd2-b1f6-5c4e518a0678 + cluster_link_id: 90kRbvhHS9Kx9lxOUYoGeA + topic_names: + - topic-db-1 + - topic-db-2 + link_state: UNAVAILABLE + link_error: AUTHENTICATION_ERROR + link_error_message: Please check your api key and secret + - kind: KafkaLinkData + metadata: + self: 'https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/CIL-69l7S1CwoVNAhoQLug/links/my-new-link-3' + resource_name: null + destination_cluster_id: dest-cluster-id + link_name: my-new-link-3 + link_id: 9cd1711e-a4ef-4390-a35e-dfd758d97a82 + cluster_link_id: nNFxHqTvQ5CjXt_XWNl6gg + topic_names: [] + link_state: ACTIVE + NoContentResponse: + description: 'Operation succeeded, no content in the response' + GetLinkResponse: + description: Single link name and properties + content: + application/json: + schema: + $ref: '#/components/schemas/ListLinksResponseData' + examples: + link_at_destination_cluster: + description: Link at destination cluster + value: + kind: KafkaLinkData + metadata: + self: 'https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/Fds7TcT9TTqEXsoRLEKMcQ/links/my-new-link-1' + resource_name: null + source_cluster_id: src-cluster-id + link_name: my-new-link-1 + link_id: 7840644d-f7d8-4844-a577-a10ef3df31df + cluster_link_id: eEBkTffYSESld6EO898x3w + topic_names: + - topic-db-1 + - topic-db-2 + link_at_source_cluster: + description: Link at source cluster + value: + kind: KafkaLinkData + metadata: + self: 'https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/Fds7TcT9TTqEXsoRLEKMcQ/links/my-new-link-1' + resource_name: null + destination_cluster_id: dst-cluster-id + link_name: my-new-link-1 + link_id: 7840644d-f7d8-4844-a577-a10ef3df31df + cluster_link_id: eEBkTffYSESld6EO898x3w + topic_names: [] + ListLinkConfigsResponse: + description: Config name and value + content: + application/json: + schema: + $ref: '#/components/schemas/ListLinkConfigsResponseDataList' + example: + kind: KafkaLinkConfigDataList + metadata: + self: 'https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/v-0Ce-CkTyKQol9v46LaCQ/links/link-nb-1/configs' + next: null + data: + - kind: KafkaLinkConfigData + metadata: + self: 'https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/1Rh_4htxSuen7RYGvGmgNw/links/my-new-link-1' + resource_name: null + cluster_id: 1Rh_4htxSuen7RYGvGmgNw + name: consumer.offset.sync.ms + value: '3825940' + default: false + read_only: false + sensitive: false + source: DYNAMIC_CLUSTER_LINK_CONFIG + synonyms: + - cosm + link_name: link-db-1 + link_id: 7840644d-f7d8-4844-a577-a10ef3df31df + - kind: KafkaLinkConfigData + metadata: + self: 'https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/1Rh_4htxSuen7RYGvGmgNw/links/my-new-link-1' + resource_name: null + cluster_id: 1Rh_4htxSuen7RYGvGmgNw + name: acl.sync.ms + value: '5000' + default: false + read_only: false + sensitive: false + source: DYNAMIC_CLUSTER_LINK_CONFIG + synonyms: + - asm + link_name: link-db-1 + link_id: 7840644d-f7d8-4844-a577-a10ef3df31df + GetLinkConfigsResponse: + description: Config name and value + content: + application/json: + schema: + $ref: '#/components/schemas/ListLinkConfigsResponseData' + example: + kind: KafkaLinkConfigData + metadata: + self: 'https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/1Rh_4htxSuen7RYGvGmgNw/links/my-new-link-1' + resource_name: null + cluster_id: 1Rh_4htxSuen7RYGvGmgNw + name: consumer.offset.sync.ms + value: '3825940' + default: false + read_only: false + sensitive: false + source: DYNAMIC_CLUSTER_LINK_CONFIG + synonyms: + - cosm + link_name: link-db-1 + link_id: 7840644d-f7d8-4844-a577-a10ef3df31df + topics: + - topic-db-1 + - topic-db-2 + ListMirrorTopicsResponse: + description: Metadata of mirror topics + content: + application/json: + schema: + $ref: '#/components/schemas/ListMirrorTopicsResponseDataList' + example: + kind: KafkaMirrorDataList + metadata: + self: 'https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1/link/link-1/mirrors' + resource_name: 'crn:///kafka=cluster-1' + next: null + data: + - kind: KafkaMirrorData + metadata: + self: 'https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/Fds7TcT9TTqEXsoRLEKMcQ/links/link-1/mirrors/topic-1' + resource_name: 'crn:///kafka=cluster-1' + link_name: link-sb-1 + resource_name: 'crn:///kafka=cluster-1' + mirror_topic_name: topic-1 + source_topic_name: topic-1 + num_partitions: 3 + mirror_lags: + - partition: 0 + lag: 0 + last_source_fetch_offset: 0 + - partition: 1 + lag: 10000 + last_source_fetch_offset: 1000 + - partition: 2 + lag: 40000 + last_source_fetch_offset: 12030 + mirror_status: ACTIVE + state_time_ms: 1612550939300 + - kind: KafkaMirrorData + metadata: + self: 'https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/Fds7TcT9TTqEXsoRLEKMcQ/links/link-1/mirrors/topic-2' + resource_name: 'crn:///kafka=cluster-1' + link_name: link-sb-2 + resource_name: 'crn:///kafka=cluster-1' + mirror_topic_name: topic-2 + source_topic_name: topic-2 + num_partitions: 3 + mirror_lags: + - partition: 0 + lag: 0 + last_source_fetch_offset: 0 + - partition: 1 + lag: 10000 + last_source_fetch_offset: 1000 + - partition: 2 + lag: 40000 + last_source_fetch_offset: 12030 + mirror_status: STOPPED + state_time_ms: 1612551353640 + DescribeMirrorTopicResponse: + description: Metadata of the mirror topic + content: + application/json: + schema: + $ref: '#/components/schemas/ListMirrorTopicsResponseData' + example: + kind: KafkaMirrorData + metadata: + self: 'https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1/link/link-1/mirrors/topic-1' + resource_name: 'crn:///kafka=cluster-1' + link_name: link-sb-1 + mirror_topic_name: topic-1 + source_topic_name: topic-1 + num_partitions: 3 + mirror_lags: + - partition: 0 + lag: 0 + last_source_fetch_offset: 0 + - partition: 1 + lag: 10000 + last_source_fetch_offset: 1000 + - partition: 2 + lag: 40000 + last_source_fetch_offset: 12030 + mirror_status: ACTIVE + state_time_ms: 1612550939300 + AlterMirrorStatusResponse: + description: Mirror status alternation result + content: + application/json: + schema: + $ref: '#/components/schemas/AlterMirrorStatusResponseDataList' + example: + kind: KafkaPromoteMirror + metadata: + self: 'https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1/links/link-1/mirrors' + resource_name: 'crn:///kafka=cluster-1' + data: + - kind: AlterMirrorsData + metadata: + self: 'https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1/links/my-new-link-1/mirrors/topic-1' + resource: 'crn:///kafka=cluster-1' + mirror_topic_name: topic-sb + error_code: null + error_message: null + mirror_lags: + - partition: 0 + lag: 0 + last_source_fetch_offset: 0 + - partition: 1 + lag: 10000 + last_source_fetch_offset: 1000 + - partition: 2 + lag: 40000 + last_source_fetch_offset: 12030 + messages_truncated: null + partition_level_truncation_data: + - partition_id: 0 + offset_truncated_to: 10000 + messages_truncated: 10000 + - partition_id: 1 + offset_truncated_to: 40000 + messages_truncated: 12030 + - partition_id: 2 + offset_truncated_to: 20000 + messages_truncated: 20000 + - kind: AlterMirrorsData + metadata: + self: 'https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1/links/my-new-link-1/mirrors/topic-2' + resource: 'crn:///kafka=cluster-1' + mirror_topic_name: topic-2 + error_code: 400 + error_message: Topic 'topic-2' has already stopped its mirror from 'my-new-link-1' + mirror_lags: + - partition: 0 + lag: 0 + last_source_fetch_offset: 0 + - partition: 1 + lag: 10000 + last_source_fetch_offset: 1000 + - partition: 2 + lag: 40000 + last_source_fetch_offset: 12030 + messages_truncated: null + partition_level_truncation_data: + - partition_id: 0 + offset_truncated_to: 10000 + messages_truncated: 10000 + - partition_id: 1 + offset_truncated_to: 40000 + messages_truncated: 12030 + - partition_id: 2 + offset_truncated_to: 20000 + messages_truncated: 20000 + securitySchemes: + cloud-api-key: + type: http + scheme: basic + description: Authenticate with Cloud API Keys using HTTP Basic Auth. Treat the Cloud API Key ID as the username and Cloud API Key Secret as the password. + confluent-sts-access-token: + type: oauth2 + description: Authenticate with Confluent API using this credentials (JSON Web Tokens) following OAuth 2.0. + flows: + clientCredentials: + tokenUrl: 'https://api.confluent.cloud/sts/v1/oauth2/token' + scopes: {} + api-key: + type: http + scheme: basic + description: Authenticate with API Keys using HTTP Basic Auth. Treat the API Key ID as the username and API Key Secret as the password. + resource-api-key: + type: http + scheme: basic + description: | + Authenticate with resource-specific API Keys using HTTP Basic Auth. Treat the resource-specific API Key ID + as the username and resource-specific API Key Secret as the password. + external-access-token: + type: oauth2 + description: Authenticate with OAuth 2.0. + flows: + clientCredentials: + tokenUrl: 'https:///token' + scopes: {} + oauth: + type: oauth2 + description: Authenticate with OAuth 2.0. Currently this is only supported for partner APIs. + flows: + clientCredentials: + tokenUrl: /oauth2/token + scopes: + 'partner:alter': enables partners to alter entitlements + 'partner:create': enables partners to create entitlements and signup on behalf of customers + 'partner:delete': enables partners to delete entitlements and organizations + 'partner:describe': enables partners to read and list entitlements and organizations + requestBodies: + AlterBrokerConfigBatchRequest: + description: The alter broker configuration parameter batch request. + content: + application/json: + schema: + $ref: '#/components/schemas/AlterConfigBatchRequestData' + example: + data: + - name: max.connections + operation: DELETE + - name: compression.type + value: gzip + AlterClusterConfigBatchRequest: + description: The alter cluster configuration parameter batch request. + content: + application/json: + schema: + $ref: '#/components/schemas/AlterConfigBatchRequestData' + example: + data: + - name: max.connections + operation: DELETE + - name: compression.type + value: gzip + AlterTopicConfigBatchRequest: + description: The alter topic configuration parameter batch request. + content: + application/json: + schema: + $ref: '#/components/schemas/AlterConfigBatchRequestData' + examples: + batch_alter_topic_configs: + value: + data: + - name: cleanup.policy + operation: DELETE + - name: compression.type + value: gzip + validate_only_batch_alter_topic_configs: + value: + data: + - name: cleanup.policy + operation: DELETE + - name: compression.type + value: gzip + validate_only: true + CreateAclRequest: + description: The ACL creation request. + content: + application/json: + schema: + $ref: '#/components/schemas/CreateAclRequestData' + example: + resource_type: CLUSTER + resource_name: kafka-cluster + pattern_type: LITERAL + principal: 'principalType:principalName' + host: '*' + operation: DESCRIBE + permission: DENY + BatchCreateAclRequest: + description: The batch ACL creation request. + content: + application/json: + schema: + $ref: '#/components/schemas/CreateAclRequestDataList' + example: + data: + - resource_type: CLUSTER + resource_name: kafka-cluster + pattern_type: LITERAL + principal: 'principalType:principalName' + host: '*' + operation: DESCRIBE + permission: DENY + - resource_type: TOPIC + resource_name: kafka-cluster + pattern_type: LITERAL + principal: 'principalType:principalName' + host: '*' + operation: READ + permission: ALLOW + CreateTopicRequest: + description: 'The topic creation request. Note that Confluent Cloud allows only specific replication factor values. Because of that the replication factor field should either be omitted or it should use one of the allowed values (see https://docs.confluent.io/cloud/current/client-apps/optimizing/durability.html).' + content: + application/json: + schema: + $ref: '#/components/schemas/CreateTopicRequestData' + examples: + uniform_replication: + value: + topic_name: topic-X + partitions_count: 64 + replication_factor: 3 + configs: + - name: cleanup.policy + value: compact + - name: compression.type + value: gzip + dry_run_create_topic: + value: + topic_name: topic-X + partitions_count: 64 + replication_factor: 3 + validate_only: true + ProduceRequest: + description: 'A single record to be produced to Kafka. To produce multiple records in the same request, simply concatenate the records. The delivery reports are concatenated in the same order as the records are sent.' + content: + application/json: + schema: + $ref: '#/components/schemas/ProduceRequest' + examples: + binary_and_json: + description: 'If using type, one of "BINARY", "JSON" or "STRING" is required.' + value: + partition_id: 1 + headers: + - name: Header-1 + value: SGVhZGVyLTE= + - name: Header-2 + value: SGVhZGVyLTI= + key: + type: BINARY + data: Zm9vYmFy + value: + type: JSON + data: + foo: bar + timestamp: '2021-02-05T19:14:42Z' + string: + description: 'If using type, one of "BINARY", "JSON" or "STRING" is required.' + value: + value: + type: STRING + data: My message + empty_value: + description: key or value can be omitted entirely. + value: + key: + data: 1000 + UpdateBrokerConfigRequest: + description: The broker configuration parameter update request. + content: + application/json: + schema: + $ref: '#/components/schemas/UpdateConfigRequestData' + example: + value: gzip + UpdateClusterConfigRequest: + description: The cluster configuration parameter update request. + content: + application/json: + schema: + $ref: '#/components/schemas/UpdateConfigRequestData' + example: + value: gzip + UpdateTopicConfigRequest: + description: The topic configuration parameter update request. + content: + application/json: + schema: + $ref: '#/components/schemas/UpdateConfigRequestData' + example: + value: gzip + CreateLinkRequest: + description: Create a cluster link + content: + application/json: + schema: + $ref: '#/components/schemas/CreateLinkRequestData' + examples: + destination_initiated_link: + description: Create a destination initiated cluster link + value: + source_cluster_id: cluster-1 + configs: + - name: bootstrap.servers + value: cluster-1-bootstrap-server + - name: acl.sync.enable + value: 'false' + - name: consumer.offset.sync.ms + value: '30000' + - name: sasl.mechanism + value: PLAIN + - name: sasl.protocol + value: SASL_SSL + - name: sasl.jaas.config + value: sasl.jaas.config=org.apache.kafka.common.security.plain.PlainLoginModule required username='' password=''; + source_initiated_link_at_source_cluster: + description: Create a source initiated cluster link at source cluster + value: + destination_cluster_id: cluster-2 + configs: + - name: bootstrap.servers + value: cluster-2-bootstrap-server + - name: link.mode + value: SOURCE + - name: sasl.mechanism + value: PLAIN + - name: sasl.protocol + value: SASL_SSL + - name: sasl.jaas.config + value: sasl.jaas.config=org.apache.kafka.common.security.plain.PlainLoginModule required username='' password=''; + source_initiated_link_at_destination_cluster: + description: Create a source initiated cluster link at destination cluster + value: + destination_cluster_id: cluster-1 + configs: + - name: bootstrap.servers + value: cluster-1-bootstrap-server + - name: link.mode + value: DESTINATION + - name: connection.mode + value: INBOUND + - name: acl.sync.enable + value: 'false' + - name: sasl.mechanism + value: PLAIN + - name: sasl.protocol + value: SASL_SSL + - name: sasl.jaas.config + value: sasl.jaas.config=org.apache.kafka.common.security.plain.PlainLoginModule required username='' password=''; + bidirectional_link_east: + description: Create a bidirectional cluster link in east + value: + remote_cluster_id: cluster-west + configs: + - name: bootstrap.servers + value: cluster-west-bootstrap-server + - name: link.mode + value: BIDIRECTIONAL + - name: cluster.link.prefix + value: west. + - name: sasl.mechanism + value: PLAIN + - name: sasl.protocol + value: SASL_SSL + - name: sasl.jaas.config + value: sasl.jaas.config=org.apache.kafka.common.security.plain.PlainLoginModule required username='' password=''; + bidirectional_link_west: + description: Create a bidirectional cluster link in west + value: + remote_cluster_id: cluster-east + cluster_link_id: eEBkTffYSESld6EO898x3w + configs: + - name: bootstrap.servers + value: cluster-east-bootstrap-server + - name: link.mode + value: BIDIRECTIONAL + - name: cluster.link.prefix + value: east. + - name: sasl.mechanism + value: PLAIN + - name: sasl.protocol + value: SASL_SSL + - name: sasl.jaas.config + value: sasl.jaas.config=org.apache.kafka.common.security.plain.PlainLoginModule required username='' password=''; + UpdateLinkConfigRequest: + content: + application/json: + example: + value: '300000' + schema: + $ref: '#/components/schemas/UpdateLinkConfigRequestData' + description: Link config value to update + AlterLinkConfigBatchRequest: + content: + application/json: + example: + data: + - name: cleanup.policy + operation: DELETE + - name: compression.type + value: gzip + schema: + $ref: '#/components/schemas/AlterConfigBatchRequestData' + CreateMirrorTopicRequest: + description: 'Name and configs of the topics mirroring from and mirroring to. Note that Confluent Cloud allows only specific replication factor values. Because of that the replication factor field should either be omitted or it should use one of the allowed values (see https://docs.confluent.io/cloud/current/client-apps/optimizing/durability.html).' + content: + application/json: + schema: + $ref: '#/components/schemas/CreateMirrorTopicRequestData' + examples: + generic_example: + description: Generic example of creating a mirror topic + value: + source_topic_name: topic-1 + configs: + - name: unclean.leader.election.enable + value: 'true' + replication_factor: 1 + example_with_mirror_topic_name: + description: Example using optional mirror_topic_name flag + value: + source_topic_name: topic-1 + mirror_topic_name: link1_topic-1 + configs: + - name: unclean.leader.election.enable + value: 'true' + replication_factor: 3 + AlterMirrorsRequest: + description: Mirror topics to be altered. + content: + application/json: + schema: + $ref: '#/components/schemas/AlterMirrorsRequestData' + examples: + mirror_topic_names: + description: Example using mirror topic names + value: + mirror_topic_names: + - topic-1 + - topic-2 + mirror_topic_name_pattern: + description: Example using mirror topic name pattern + value: + mirror_topic_name_pattern: .* + RemoveBrokersRequest: + content: + application/json: + example: + broker_ids: + - 1 + - 2 + - 3 + schema: + $ref: '#/components/schemas/RemoveBrokersRequestData' + description: Broker ids to remove + BrokerReplicaExclusionBatchRequest: + description: Alter Broker Replica Exclusions. + content: + application/json: + schema: + $ref: '#/components/schemas/BrokerReplicaExclusionBatchRequestData' + example: + data: + - broker_id: 1 + reason: The broker is to be removed. + - broker_id: 2 + reason: The broker is to be removed. + x-stackQL-resources: + clusters: + id: confluent.kafka.clusters + name: clusters + title: Clusters + methods: + get_kafka_cluster: + operation: + $ref: '#/paths/~1kafka~1v3~1clusters~1{cluster_id}/get' + response: + mediaType: application/json + openAPIDocKey: '200' + sqlVerbs: + select: [] + insert: [] + update: [] + replace: [] + delete: [] + acls: + id: confluent.kafka.acls + name: acls + title: Acls + methods: + batch_create_kafka_acls: + operation: + $ref: '#/paths/~1kafka~1v3~1clusters~1{cluster_id}~1acls:batch/post' + response: + mediaType: application/json + openAPIDocKey: '201' + get_kafka_acls: + operation: + $ref: '#/paths/~1kafka~1v3~1clusters~1{cluster_id}~1acls/get' + response: + mediaType: application/json + openAPIDocKey: '200' + create_kafka_acls: + operation: + $ref: '#/paths/~1kafka~1v3~1clusters~1{cluster_id}~1acls/post' + response: + mediaType: application/json + openAPIDocKey: '201' + delete_kafka_acls: + operation: + $ref: '#/paths/~1kafka~1v3~1clusters~1{cluster_id}~1acls/delete' + response: + mediaType: application/json + openAPIDocKey: '200' + sqlVerbs: + select: [] + insert: + - $ref: '#/components/x-stackQL-resources/acls/methods/create_kafka_acls' + update: [] + replace: [] + delete: + - $ref: '#/components/x-stackQL-resources/acls/methods/delete_kafka_acls' + cluster_configs: + id: confluent.kafka.cluster_configs + name: cluster_configs + title: Cluster Configs + methods: + list_kafka_cluster_configs: + operation: + $ref: '#/paths/~1kafka~1v3~1clusters~1{cluster_id}~1broker-configs/get' + response: + mediaType: application/json + openAPIDocKey: '200' + update_kafka_cluster_configs: + operation: + $ref: '#/paths/~1kafka~1v3~1clusters~1{cluster_id}~1broker-configs:alter/post' + response: + mediaType: application/json + openAPIDocKey: '204' + get_kafka_cluster_config: + operation: + $ref: '#/paths/~1kafka~1v3~1clusters~1{cluster_id}~1broker-configs~1{name}/get' + response: + mediaType: application/json + openAPIDocKey: '200' + update_kafka_cluster_config: + operation: + $ref: '#/paths/~1kafka~1v3~1clusters~1{cluster_id}~1broker-configs~1{name}/put' + response: + mediaType: application/json + openAPIDocKey: '204' + delete_kafka_cluster_config: + operation: + $ref: '#/paths/~1kafka~1v3~1clusters~1{cluster_id}~1broker-configs~1{name}/delete' + response: + mediaType: application/json + openAPIDocKey: '204' + sqlVerbs: + select: [] + insert: [] + update: + - $ref: '#/components/x-stackQL-resources/cluster_configs/methods/update_kafka_cluster_configs' + replace: [] + delete: + - $ref: '#/components/x-stackQL-resources/cluster_configs/methods/delete_kafka_cluster_config' + consumer_groups: + id: confluent.kafka.consumer_groups + name: consumer_groups + title: Consumer Groups + methods: + list_kafka_consumer_groups: + operation: + $ref: '#/paths/~1kafka~1v3~1clusters~1{cluster_id}~1consumer-groups/get' + response: + mediaType: application/json + openAPIDocKey: '200' + get_kafka_consumer_group: + operation: + $ref: '#/paths/~1kafka~1v3~1clusters~1{cluster_id}~1consumer-groups~1{consumer_group_id}/get' + response: + mediaType: application/json + openAPIDocKey: '200' + sqlVerbs: + select: [] + insert: [] + update: [] + replace: [] + delete: [] + consumers: + id: confluent.kafka.consumers + name: consumers + title: Consumers + methods: + list_kafka_consumers: + operation: + $ref: '#/paths/~1kafka~1v3~1clusters~1{cluster_id}~1consumer-groups~1{consumer_group_id}~1consumers/get' + response: + mediaType: application/json + openAPIDocKey: '200' + get_kafka_consumer: + operation: + $ref: '#/paths/~1kafka~1v3~1clusters~1{cluster_id}~1consumer-groups~1{consumer_group_id}~1consumers~1{consumer_id}/get' + response: + mediaType: application/json + openAPIDocKey: '200' + sqlVerbs: + select: [] + insert: [] + update: [] + replace: [] + delete: [] + consumers_lag_summary: + id: confluent.kafka.consumers_lag_summary + name: consumers_lag_summary + title: Consumers Lag Summary + methods: + get_kafka_consumer_group_lag_summary: + operation: + $ref: '#/paths/~1kafka~1v3~1clusters~1{cluster_id}~1consumer-groups~1{consumer_group_id}~1lag-summary/get' + response: + mediaType: application/json + openAPIDocKey: '200' + sqlVerbs: + select: [] + insert: [] + update: [] + replace: [] + delete: [] + consumers_lags: + id: confluent.kafka.consumers_lags + name: consumers_lags + title: Consumers Lags + methods: + list_kafka_consumer_lags: + operation: + $ref: '#/paths/~1kafka~1v3~1clusters~1{cluster_id}~1consumer-groups~1{consumer_group_id}~1lags/get' + response: + mediaType: application/json + openAPIDocKey: '200' + get_kafka_consumer_lag: + operation: + $ref: '#/paths/~1kafka~1v3~1clusters~1{cluster_id}~1consumer-groups~1{consumer_group_id}~1lags~1{topic_name}~1partitions~1{partition_id}/get' + response: + mediaType: application/json + openAPIDocKey: '200' + sqlVerbs: + select: [] + insert: [] + update: [] + replace: [] + delete: [] + topics: + id: confluent.kafka.topics + name: topics + title: Topics + methods: + list_kafka_topics: + operation: + $ref: '#/paths/~1kafka~1v3~1clusters~1{cluster_id}~1topics/get' + response: + mediaType: application/json + openAPIDocKey: '200' + create_kafka_topic: + operation: + $ref: '#/paths/~1kafka~1v3~1clusters~1{cluster_id}~1topics/post' + response: + mediaType: application/json + openAPIDocKey: '200' + get_kafka_topic: + operation: + $ref: '#/paths/~1kafka~1v3~1clusters~1{cluster_id}~1topics~1{topic_name}/get' + response: + mediaType: application/json + openAPIDocKey: '200' + update_partition_count_kafka_topic: + operation: + $ref: '#/paths/~1kafka~1v3~1clusters~1{cluster_id}~1topics~1{topic_name}/patch' + response: + mediaType: application/json + openAPIDocKey: '200' + delete_kafka_topic: + operation: + $ref: '#/paths/~1kafka~1v3~1clusters~1{cluster_id}~1topics~1{topic_name}/delete' + response: + mediaType: application/json + openAPIDocKey: '204' + sqlVerbs: + select: [] + insert: + - $ref: '#/components/x-stackQL-resources/topics/methods/create_kafka_topic' + update: + - $ref: '#/components/x-stackQL-resources/topics/methods/update_partition_count_kafka_topic' + replace: [] + delete: + - $ref: '#/components/x-stackQL-resources/topics/methods/delete_kafka_topic' + topic_configs: + id: confluent.kafka.topic_configs + name: topic_configs + title: Topic Configs + methods: + list_kafka_topic_configs: + operation: + $ref: '#/paths/~1kafka~1v3~1clusters~1{cluster_id}~1topics~1{topic_name}~1configs/get' + response: + mediaType: application/json + openAPIDocKey: '200' + update_kafka_topic_config_batch: + operation: + $ref: '#/paths/~1kafka~1v3~1clusters~1{cluster_id}~1topics~1{topic_name}~1configs:alter/post' + response: + mediaType: application/json + openAPIDocKey: '204' + get_kafka_topic_config: + operation: + $ref: '#/paths/~1kafka~1v3~1clusters~1{cluster_id}~1topics~1{topic_name}~1configs~1{name}/get' + response: + mediaType: application/json + openAPIDocKey: '200' + update_kafka_topic_config: + operation: + $ref: '#/paths/~1kafka~1v3~1clusters~1{cluster_id}~1topics~1{topic_name}~1configs~1{name}/put' + response: + mediaType: application/json + openAPIDocKey: '204' + delete_kafka_topic_config: + operation: + $ref: '#/paths/~1kafka~1v3~1clusters~1{cluster_id}~1topics~1{topic_name}~1configs~1{name}/delete' + response: + mediaType: application/json + openAPIDocKey: '204' + list_kafka_all_topic_configs: + operation: + $ref: '#/paths/~1kafka~1v3~1clusters~1{cluster_id}~1topics~1-~1configs/get' + response: + mediaType: application/json + openAPIDocKey: '200' + sqlVerbs: + select: [] + insert: [] + update: + - $ref: '#/components/x-stackQL-resources/topic_configs/methods/update_kafka_topic_config_batch' + replace: [] + delete: + - $ref: '#/components/x-stackQL-resources/topic_configs/methods/delete_kafka_topic_config' + topic_partitions: + id: confluent.kafka.topic_partitions + name: topic_partitions + title: Topic Partitions + methods: + list_kafka_partitions: + operation: + $ref: '#/paths/~1kafka~1v3~1clusters~1{cluster_id}~1topics~1{topic_name}~1partitions/get' + response: + mediaType: application/json + openAPIDocKey: '200' + get_kafka_partition: + operation: + $ref: '#/paths/~1kafka~1v3~1clusters~1{cluster_id}~1topics~1{topic_name}~1partitions~1{partition_id}/get' + response: + mediaType: application/json + openAPIDocKey: '200' + sqlVerbs: + select: [] + insert: [] + update: [] + replace: [] + delete: [] + records: + id: confluent.kafka.records + name: records + title: Records + methods: + produce_record: + operation: + $ref: '#/paths/~1kafka~1v3~1clusters~1{cluster_id}~1topics~1{topic_name}~1records/post' + response: + mediaType: application/json + openAPIDocKey: '200' + sqlVerbs: + select: [] + insert: [] + update: [] + replace: [] + delete: [] + cluster_links: + id: confluent.kafka.cluster_links + name: cluster_links + title: Cluster Links + methods: + list_kafka_links: + operation: + $ref: '#/paths/~1kafka~1v3~1clusters~1{cluster_id}~1links/get' + response: + mediaType: application/json + openAPIDocKey: '200' + create_kafka_link: + operation: + $ref: '#/paths/~1kafka~1v3~1clusters~1{cluster_id}~1links/post' + response: + mediaType: application/json + openAPIDocKey: '204' + get_kafka_link: + operation: + $ref: '#/paths/~1kafka~1v3~1clusters~1{cluster_id}~1links~1{link_name}/get' + response: + mediaType: application/json + openAPIDocKey: '200' + delete_kafka_link: + operation: + $ref: '#/paths/~1kafka~1v3~1clusters~1{cluster_id}~1links~1{link_name}/delete' + response: + mediaType: application/json + openAPIDocKey: '200' + sqlVerbs: + select: [] + insert: + - $ref: '#/components/x-stackQL-resources/cluster_links/methods/create_kafka_link' + update: [] + replace: [] + delete: + - $ref: '#/components/x-stackQL-resources/cluster_links/methods/delete_kafka_link' + default_topic_configs: + id: confluent.kafka.default_topic_configs + name: default_topic_configs + title: Default Topic Configs + methods: + list_kafka_default_topic_configs: + operation: + $ref: '#/paths/~1kafka~1v3~1clusters~1{cluster_id}~1topics~1{topic_name}~1default-configs/get' + response: + mediaType: application/json + openAPIDocKey: '200' + sqlVerbs: + select: [] + insert: [] + update: [] + replace: [] + delete: [] + cluster_link_configs: + id: confluent.kafka.cluster_link_configs + name: cluster_link_configs + title: Cluster Link Configs + methods: + list_kafka_link_configs: + operation: + $ref: '#/paths/~1kafka~1v3~1clusters~1{cluster_id}~1links~1{link_name}~1configs/get' + response: + mediaType: application/json + openAPIDocKey: '200' + get_kafka_link_configs: + operation: + $ref: '#/paths/~1kafka~1v3~1clusters~1{cluster_id}~1links~1{link_name}~1configs~1{config_name}/get' + response: + mediaType: application/json + openAPIDocKey: '200' + update_kafka_link_config: + operation: + $ref: '#/paths/~1kafka~1v3~1clusters~1{cluster_id}~1links~1{link_name}~1configs~1{config_name}/put' + response: + mediaType: application/json + openAPIDocKey: '204' + delete_kafka_link_config: + operation: + $ref: '#/paths/~1kafka~1v3~1clusters~1{cluster_id}~1links~1{link_name}~1configs~1{config_name}/delete' + response: + mediaType: application/json + openAPIDocKey: '204' + update_kafka_link_config_batch: + operation: + $ref: '#/paths/~1kafka~1v3~1clusters~1{cluster_id}~1links~1{link_name}~1configs:alter/put' + response: + mediaType: application/json + openAPIDocKey: '204' + sqlVerbs: + select: [] + insert: [] + update: [] + replace: [] + delete: + - $ref: '#/components/x-stackQL-resources/cluster_link_configs/methods/delete_kafka_link_config' + mirror_topics: + id: confluent.kafka.mirror_topics + name: mirror_topics + title: Mirror Topics + methods: + create_kafka_mirror_topic: + operation: + $ref: '#/paths/~1kafka~1v3~1clusters~1{cluster_id}~1links~1{link_name}~1mirrors/post' + response: + mediaType: application/json + openAPIDocKey: '204' + list_kafka_mirror_topics_under_link: + operation: + $ref: '#/paths/~1kafka~1v3~1clusters~1{cluster_id}~1links~1{link_name}~1mirrors/get' + response: + mediaType: application/json + openAPIDocKey: '200' + list_kafka_mirror_topics: + operation: + $ref: '#/paths/~1kafka~1v3~1clusters~1{cluster_id}~1links~1-~1mirrors/get' + response: + mediaType: application/json + openAPIDocKey: '200' + read_kafka_mirror_topic: + operation: + $ref: '#/paths/~1kafka~1v3~1clusters~1{cluster_id}~1links~1{link_name}~1mirrors~1{mirror_topic_name}/get' + response: + mediaType: application/json + openAPIDocKey: '200' + update_kafka_mirror_topics_promote: + operation: + $ref: '#/paths/~1kafka~1v3~1clusters~1{cluster_id}~1links~1{link_name}~1mirrors:promote/post' + response: + mediaType: application/json + openAPIDocKey: '200' + update_kafka_mirror_topics_failover: + operation: + $ref: '#/paths/~1kafka~1v3~1clusters~1{cluster_id}~1links~1{link_name}~1mirrors:failover/post' + response: + mediaType: application/json + openAPIDocKey: '200' + update_kafka_mirror_topics_pause: + operation: + $ref: '#/paths/~1kafka~1v3~1clusters~1{cluster_id}~1links~1{link_name}~1mirrors:pause/post' + response: + mediaType: application/json + openAPIDocKey: '200' + update_kafka_mirror_topics_resume: + operation: + $ref: '#/paths/~1kafka~1v3~1clusters~1{cluster_id}~1links~1{link_name}~1mirrors:resume/post' + response: + mediaType: application/json + openAPIDocKey: '200' + update_kafka_mirror_topics_reverse_and_start_mirror: + operation: + $ref: '#/paths/~1kafka~1v3~1clusters~1{cluster_id}~1links~1{link_name}~1mirrors:reverse-and-start-mirror/post' + response: + mediaType: application/json + openAPIDocKey: '200' + update_kafka_mirror_topics_reverse_and_pause_mirror: + operation: + $ref: '#/paths/~1kafka~1v3~1clusters~1{cluster_id}~1links~1{link_name}~1mirrors:reverse-and-pause-mirror/post' + response: + mediaType: application/json + openAPIDocKey: '200' + update_kafka_mirror_topics_truncate_and_restore_mirror: + operation: + $ref: '#/paths/~1kafka~1v3~1clusters~1{cluster_id}~1links~1{link_name}~1mirrors:truncate-and-restore/post' + response: + mediaType: application/json + openAPIDocKey: '200' + sqlVerbs: + select: [] + insert: + - $ref: '#/components/x-stackQL-resources/mirror_topics/methods/create_kafka_mirror_topic' + update: [] + replace: [] + delete: [] +paths: + '/kafka/v3/clusters/{cluster_id}': + get: + summary: Get Cluster + operationId: getKafkaCluster + description: |- + [![Generally Available](https://img.shields.io/badge/Lifecycle%20Stage-Generally%20Available-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + Return the Kafka cluster with the specified ``cluster_id``. + tags: + - Cluster (v3) + security: + - resource-api-key: [] + - external-access-token: [] + responses: + '200': + $ref: '#/components/responses/GetClusterResponse' + '400': + $ref: '#/components/responses/BadRequestErrorResponse' + '401': + $ref: '#/components/responses/UnauthorizedErrorResponse' + '403': + $ref: '#/components/responses/ForbiddenErrorResponse' + '429': + $ref: '#/components/responses/TooManyRequestsErrorResponse' + 5XX: + $ref: '#/components/responses/ServerErrorResponse' + x-codeSamples: + - lang: Shell + source: |- + curl --request GET \ + --url https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1 \ + --header 'Authorization: Basic REPLACE_BASIC_AUTH' + - lang: Java + source: |- + OkHttpClient client = new OkHttpClient(); + + Request request = new Request.Builder() + .url("https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1") + .get() + .addHeader("Authorization", "Basic REPLACE_BASIC_AUTH") + .build(); + + Response response = client.newCall(request).execute(); + - lang: Go + source: "package main\n\nimport (\n\t\"fmt\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1\"\n\n\treq, _ := http.NewRequest(\"GET\", url, nil)\n\n\treq.Header.Add(\"Authorization\", \"Basic REPLACE_BASIC_AUTH\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}" + - lang: Python + source: |- + import http.client + + conn = http.client.HTTPSConnection("pkc-00000.region.provider.confluent.cloud") + + headers = { 'Authorization': "Basic REPLACE_BASIC_AUTH" } + + conn.request("GET", "/kafka/v3/clusters/cluster-1", headers=headers) + + res = conn.getresponse() + data = res.read() + + print(data.decode("utf-8")) + - lang: Node + source: |- + const http = require("https"); + + const options = { + "method": "GET", + "hostname": "pkc-00000.region.provider.confluent.cloud", + "port": null, + "path": "/kafka/v3/clusters/cluster-1", + "headers": { + "Authorization": "Basic REPLACE_BASIC_AUTH" + } + }; + + const req = http.request(options, function (res) { + const chunks = []; + + res.on("data", function (chunk) { + chunks.push(chunk); + }); + + res.on("end", function () { + const body = Buffer.concat(chunks); + console.log(body.toString()); + }); + }); + + req.end(); + - lang: C + source: |- + CURL *hnd = curl_easy_init(); + + curl_easy_setopt(hnd, CURLOPT_CUSTOMREQUEST, "GET"); + curl_easy_setopt(hnd, CURLOPT_URL, "https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1"); + + struct curl_slist *headers = NULL; + headers = curl_slist_append(headers, "Authorization: Basic REPLACE_BASIC_AUTH"); + curl_easy_setopt(hnd, CURLOPT_HTTPHEADER, headers); + + CURLcode ret = curl_easy_perform(hnd); + - lang: C# + source: |- + var client = new RestClient("https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1"); + var request = new RestRequest(Method.GET); + request.AddHeader("Authorization", "Basic REPLACE_BASIC_AUTH"); + IRestResponse response = client.Execute(request); + parameters: + - $ref: '#/components/parameters/ClusterId' + '/kafka/v3/clusters/{cluster_id}/acls:batch': + post: + summary: Batch Create ACLs + operationId: batchCreateKafkaAcls + description: |- + [![Generally Available](https://img.shields.io/badge/Lifecycle%20Stage-Generally%20Available-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + Create ACLs. + tags: + - ACL (v3) + security: + - resource-api-key: [] + - external-access-token: [] + requestBody: + $ref: '#/components/requestBodies/BatchCreateAclRequest' + responses: + '201': + description: Created + '400': + $ref: '#/components/responses/BadRequestErrorResponse_CreateAcls' + '401': + $ref: '#/components/responses/UnauthorizedErrorResponse' + '403': + $ref: '#/components/responses/ForbiddenErrorResponse' + '429': + $ref: '#/components/responses/TooManyRequestsErrorResponse' + 5XX: + $ref: '#/components/responses/ServerErrorResponse' + x-codeSamples: + - lang: Shell + source: |- + curl --request POST \ + --url https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1/acls:batch \ + --header 'Authorization: Basic REPLACE_BASIC_AUTH' \ + --data '{"data":[{"resource_type":"UNKNOWN","resource_name":"string","pattern_type":"string","principal":"string","host":"string","operation":"string","permission":"string"}]}' + - lang: Java + source: |- + OkHttpClient client = new OkHttpClient(); + + MediaType mediaType = MediaType.parse("application/json"); + RequestBody body = RequestBody.create(mediaType, "{\"data\":[{\"resource_type\":\"UNKNOWN\",\"resource_name\":\"string\",\"pattern_type\":\"string\",\"principal\":\"string\",\"host\":\"string\",\"operation\":\"string\",\"permission\":\"string\"}]}"); + Request request = new Request.Builder() + .url("https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1/acls:batch") + .post(body) + .addHeader("Authorization", "Basic REPLACE_BASIC_AUTH") + .build(); + + Response response = client.newCall(request).execute(); + - lang: Go + source: "package main\n\nimport (\n\t\"fmt\"\n\t\"strings\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1/acls:batch\"\n\n\tpayload := strings.NewReader(\"{\\\"data\\\":[{\\\"resource_type\\\":\\\"UNKNOWN\\\",\\\"resource_name\\\":\\\"string\\\",\\\"pattern_type\\\":\\\"string\\\",\\\"principal\\\":\\\"string\\\",\\\"host\\\":\\\"string\\\",\\\"operation\\\":\\\"string\\\",\\\"permission\\\":\\\"string\\\"}]}\")\n\n\treq, _ := http.NewRequest(\"POST\", url, payload)\n\n\treq.Header.Add(\"Authorization\", \"Basic REPLACE_BASIC_AUTH\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}" + - lang: Python + source: |- + import http.client + + conn = http.client.HTTPSConnection("pkc-00000.region.provider.confluent.cloud") + + payload = "{\"data\":[{\"resource_type\":\"UNKNOWN\",\"resource_name\":\"string\",\"pattern_type\":\"string\",\"principal\":\"string\",\"host\":\"string\",\"operation\":\"string\",\"permission\":\"string\"}]}" + + headers = { 'Authorization': "Basic REPLACE_BASIC_AUTH" } + + conn.request("POST", "/kafka/v3/clusters/cluster-1/acls:batch", payload, headers) + + res = conn.getresponse() + data = res.read() + + print(data.decode("utf-8")) + - lang: Node + source: |- + const http = require("https"); + + const options = { + "method": "POST", + "hostname": "pkc-00000.region.provider.confluent.cloud", + "port": null, + "path": "/kafka/v3/clusters/cluster-1/acls:batch", + "headers": { + "Authorization": "Basic REPLACE_BASIC_AUTH" + } + }; + + const req = http.request(options, function (res) { + const chunks = []; + + res.on("data", function (chunk) { + chunks.push(chunk); + }); + + res.on("end", function () { + const body = Buffer.concat(chunks); + console.log(body.toString()); + }); + }); + + req.write(JSON.stringify({ + data: [ + { + resource_type: 'UNKNOWN', + resource_name: 'string', + pattern_type: 'string', + principal: 'string', + host: 'string', + operation: 'string', + permission: 'string' + } + ] + })); + req.end(); + - lang: C + source: |- + CURL *hnd = curl_easy_init(); + + curl_easy_setopt(hnd, CURLOPT_CUSTOMREQUEST, "POST"); + curl_easy_setopt(hnd, CURLOPT_URL, "https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1/acls:batch"); + + struct curl_slist *headers = NULL; + headers = curl_slist_append(headers, "Authorization: Basic REPLACE_BASIC_AUTH"); + curl_easy_setopt(hnd, CURLOPT_HTTPHEADER, headers); + + curl_easy_setopt(hnd, CURLOPT_POSTFIELDS, "{\"data\":[{\"resource_type\":\"UNKNOWN\",\"resource_name\":\"string\",\"pattern_type\":\"string\",\"principal\":\"string\",\"host\":\"string\",\"operation\":\"string\",\"permission\":\"string\"}]}"); + + CURLcode ret = curl_easy_perform(hnd); + - lang: C# + source: |- + var client = new RestClient("https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1/acls:batch"); + var request = new RestRequest(Method.POST); + request.AddHeader("Authorization", "Basic REPLACE_BASIC_AUTH"); + request.AddParameter("undefined", "{\"data\":[{\"resource_type\":\"UNKNOWN\",\"resource_name\":\"string\",\"pattern_type\":\"string\",\"principal\":\"string\",\"host\":\"string\",\"operation\":\"string\",\"permission\":\"string\"}]}", ParameterType.RequestBody); + IRestResponse response = client.Execute(request); + parameters: + - $ref: '#/components/parameters/ClusterId' + '/kafka/v3/clusters/{cluster_id}/acls': + get: + summary: List ACLs + operationId: getKafkaAcls + description: |- + [![Generally Available](https://img.shields.io/badge/Lifecycle%20Stage-Generally%20Available-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + Return a list of ACLs that match the search criteria. + tags: + - ACL (v3) + security: + - resource-api-key: [] + - external-access-token: [] + parameters: + - $ref: '#/components/parameters/ClusterId' + responses: + '200': + $ref: '#/components/responses/SearchAclsResponse' + '400': + $ref: '#/components/responses/BadRequestErrorResponse' + '401': + $ref: '#/components/responses/UnauthorizedErrorResponse' + '403': + $ref: '#/components/responses/ForbiddenErrorResponse' + '429': + $ref: '#/components/responses/TooManyRequestsErrorResponse' + 5XX: + $ref: '#/components/responses/ServerErrorResponse' + x-codeSamples: + - lang: Shell + source: |- + curl --request GET \ + --url 'https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1/acls?resource_type=SOME_STRING_VALUE&pattern_type=SOME_STRING_VALUE&operation=SOME_STRING_VALUE&permission=SOME_STRING_VALUE' \ + --header 'Authorization: Basic REPLACE_BASIC_AUTH' + - lang: Java + source: |- + OkHttpClient client = new OkHttpClient(); + + Request request = new Request.Builder() + .url("https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1/acls?resource_type=SOME_STRING_VALUE&pattern_type=SOME_STRING_VALUE&operation=SOME_STRING_VALUE&permission=SOME_STRING_VALUE") + .get() + .addHeader("Authorization", "Basic REPLACE_BASIC_AUTH") + .build(); + + Response response = client.newCall(request).execute(); + - lang: Go + source: "package main\n\nimport (\n\t\"fmt\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1/acls?resource_type=SOME_STRING_VALUE&pattern_type=SOME_STRING_VALUE&operation=SOME_STRING_VALUE&permission=SOME_STRING_VALUE\"\n\n\treq, _ := http.NewRequest(\"GET\", url, nil)\n\n\treq.Header.Add(\"Authorization\", \"Basic REPLACE_BASIC_AUTH\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}" + - lang: Python + source: |- + import http.client + + conn = http.client.HTTPSConnection("pkc-00000.region.provider.confluent.cloud") + + headers = { 'Authorization': "Basic REPLACE_BASIC_AUTH" } + + conn.request("GET", "/kafka/v3/clusters/cluster-1/acls?resource_type=SOME_STRING_VALUE&pattern_type=SOME_STRING_VALUE&operation=SOME_STRING_VALUE&permission=SOME_STRING_VALUE", headers=headers) + + res = conn.getresponse() + data = res.read() + + print(data.decode("utf-8")) + - lang: Node + source: |- + const http = require("https"); + + const options = { + "method": "GET", + "hostname": "pkc-00000.region.provider.confluent.cloud", + "port": null, + "path": "/kafka/v3/clusters/cluster-1/acls?resource_type=SOME_STRING_VALUE&pattern_type=SOME_STRING_VALUE&operation=SOME_STRING_VALUE&permission=SOME_STRING_VALUE", + "headers": { + "Authorization": "Basic REPLACE_BASIC_AUTH" + } + }; + + const req = http.request(options, function (res) { + const chunks = []; + + res.on("data", function (chunk) { + chunks.push(chunk); + }); + + res.on("end", function () { + const body = Buffer.concat(chunks); + console.log(body.toString()); + }); + }); + + req.end(); + - lang: C + source: |- + CURL *hnd = curl_easy_init(); + + curl_easy_setopt(hnd, CURLOPT_CUSTOMREQUEST, "GET"); + curl_easy_setopt(hnd, CURLOPT_URL, "https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1/acls?resource_type=SOME_STRING_VALUE&pattern_type=SOME_STRING_VALUE&operation=SOME_STRING_VALUE&permission=SOME_STRING_VALUE"); + + struct curl_slist *headers = NULL; + headers = curl_slist_append(headers, "Authorization: Basic REPLACE_BASIC_AUTH"); + curl_easy_setopt(hnd, CURLOPT_HTTPHEADER, headers); + + CURLcode ret = curl_easy_perform(hnd); + - lang: C# + source: |- + var client = new RestClient("https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1/acls?resource_type=SOME_STRING_VALUE&pattern_type=SOME_STRING_VALUE&operation=SOME_STRING_VALUE&permission=SOME_STRING_VALUE"); + var request = new RestRequest(Method.GET); + request.AddHeader("Authorization", "Basic REPLACE_BASIC_AUTH"); + IRestResponse response = client.Execute(request); + post: + summary: Create an ACL + operationId: createKafkaAcls + description: |- + [![Generally Available](https://img.shields.io/badge/Lifecycle%20Stage-Generally%20Available-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + Create an ACL. + tags: + - ACL (v3) + security: + - resource-api-key: [] + - external-access-token: [] + requestBody: + $ref: '#/components/requestBodies/CreateAclRequest' + responses: + '201': + description: Created + '400': + $ref: '#/components/responses/BadRequestErrorResponse_CreateAcls' + '401': + $ref: '#/components/responses/UnauthorizedErrorResponse' + '403': + $ref: '#/components/responses/ForbiddenErrorResponse' + '429': + $ref: '#/components/responses/TooManyRequestsErrorResponse' + 5XX: + $ref: '#/components/responses/ServerErrorResponse' + x-codeSamples: + - lang: Shell + source: |- + curl --request POST \ + --url https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1/acls \ + --header 'Authorization: Basic REPLACE_BASIC_AUTH' \ + --data '{"resource_type":"UNKNOWN","resource_name":"string","pattern_type":"string","principal":"string","host":"string","operation":"string","permission":"string"}' + - lang: Java + source: |- + OkHttpClient client = new OkHttpClient(); + + MediaType mediaType = MediaType.parse("application/json"); + RequestBody body = RequestBody.create(mediaType, "{\"resource_type\":\"UNKNOWN\",\"resource_name\":\"string\",\"pattern_type\":\"string\",\"principal\":\"string\",\"host\":\"string\",\"operation\":\"string\",\"permission\":\"string\"}"); + Request request = new Request.Builder() + .url("https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1/acls") + .post(body) + .addHeader("Authorization", "Basic REPLACE_BASIC_AUTH") + .build(); + + Response response = client.newCall(request).execute(); + - lang: Go + source: "package main\n\nimport (\n\t\"fmt\"\n\t\"strings\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1/acls\"\n\n\tpayload := strings.NewReader(\"{\\\"resource_type\\\":\\\"UNKNOWN\\\",\\\"resource_name\\\":\\\"string\\\",\\\"pattern_type\\\":\\\"string\\\",\\\"principal\\\":\\\"string\\\",\\\"host\\\":\\\"string\\\",\\\"operation\\\":\\\"string\\\",\\\"permission\\\":\\\"string\\\"}\")\n\n\treq, _ := http.NewRequest(\"POST\", url, payload)\n\n\treq.Header.Add(\"Authorization\", \"Basic REPLACE_BASIC_AUTH\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}" + - lang: Python + source: |- + import http.client + + conn = http.client.HTTPSConnection("pkc-00000.region.provider.confluent.cloud") + + payload = "{\"resource_type\":\"UNKNOWN\",\"resource_name\":\"string\",\"pattern_type\":\"string\",\"principal\":\"string\",\"host\":\"string\",\"operation\":\"string\",\"permission\":\"string\"}" + + headers = { 'Authorization': "Basic REPLACE_BASIC_AUTH" } + + conn.request("POST", "/kafka/v3/clusters/cluster-1/acls", payload, headers) + + res = conn.getresponse() + data = res.read() + + print(data.decode("utf-8")) + - lang: Node + source: |- + const http = require("https"); + + const options = { + "method": "POST", + "hostname": "pkc-00000.region.provider.confluent.cloud", + "port": null, + "path": "/kafka/v3/clusters/cluster-1/acls", + "headers": { + "Authorization": "Basic REPLACE_BASIC_AUTH" + } + }; + + const req = http.request(options, function (res) { + const chunks = []; + + res.on("data", function (chunk) { + chunks.push(chunk); + }); + + res.on("end", function () { + const body = Buffer.concat(chunks); + console.log(body.toString()); + }); + }); + + req.write(JSON.stringify({ + resource_type: 'UNKNOWN', + resource_name: 'string', + pattern_type: 'string', + principal: 'string', + host: 'string', + operation: 'string', + permission: 'string' + })); + req.end(); + - lang: C + source: |- + CURL *hnd = curl_easy_init(); + + curl_easy_setopt(hnd, CURLOPT_CUSTOMREQUEST, "POST"); + curl_easy_setopt(hnd, CURLOPT_URL, "https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1/acls"); + + struct curl_slist *headers = NULL; + headers = curl_slist_append(headers, "Authorization: Basic REPLACE_BASIC_AUTH"); + curl_easy_setopt(hnd, CURLOPT_HTTPHEADER, headers); + + curl_easy_setopt(hnd, CURLOPT_POSTFIELDS, "{\"resource_type\":\"UNKNOWN\",\"resource_name\":\"string\",\"pattern_type\":\"string\",\"principal\":\"string\",\"host\":\"string\",\"operation\":\"string\",\"permission\":\"string\"}"); + + CURLcode ret = curl_easy_perform(hnd); + - lang: C# + source: |- + var client = new RestClient("https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1/acls"); + var request = new RestRequest(Method.POST); + request.AddHeader("Authorization", "Basic REPLACE_BASIC_AUTH"); + request.AddParameter("undefined", "{\"resource_type\":\"UNKNOWN\",\"resource_name\":\"string\",\"pattern_type\":\"string\",\"principal\":\"string\",\"host\":\"string\",\"operation\":\"string\",\"permission\":\"string\"}", ParameterType.RequestBody); + IRestResponse response = client.Execute(request); + parameters: + - $ref: '#/components/parameters/ClusterId' + delete: + summary: Delete ACLs + operationId: deleteKafkaAcls + description: |- + [![Generally Available](https://img.shields.io/badge/Lifecycle%20Stage-Generally%20Available-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + Delete the ACLs that match the search criteria. + tags: + - ACL (v3) + security: + - resource-api-key: [] + - external-access-token: [] + parameters: + - $ref: '#/components/parameters/ClusterId' + responses: + '200': + $ref: '#/components/responses/DeleteAclsResponse' + '400': + $ref: '#/components/responses/BadRequestErrorResponse_DeleteAcls' + '401': + $ref: '#/components/responses/UnauthorizedErrorResponse' + '403': + $ref: '#/components/responses/ForbiddenErrorResponse' + '429': + $ref: '#/components/responses/TooManyRequestsErrorResponse' + 5XX: + $ref: '#/components/responses/ServerErrorResponse' + x-codeSamples: + - lang: Shell + source: |- + curl --request DELETE \ + --url 'https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1/acls?resource_type=SOME_STRING_VALUE&pattern_type=SOME_STRING_VALUE&operation=SOME_STRING_VALUE&permission=SOME_STRING_VALUE' \ + --header 'Authorization: Basic REPLACE_BASIC_AUTH' + - lang: Java + source: |- + OkHttpClient client = new OkHttpClient(); + + Request request = new Request.Builder() + .url("https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1/acls?resource_type=SOME_STRING_VALUE&pattern_type=SOME_STRING_VALUE&operation=SOME_STRING_VALUE&permission=SOME_STRING_VALUE") + .delete(null) + .addHeader("Authorization", "Basic REPLACE_BASIC_AUTH") + .build(); + + Response response = client.newCall(request).execute(); + - lang: Go + source: "package main\n\nimport (\n\t\"fmt\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1/acls?resource_type=SOME_STRING_VALUE&pattern_type=SOME_STRING_VALUE&operation=SOME_STRING_VALUE&permission=SOME_STRING_VALUE\"\n\n\treq, _ := http.NewRequest(\"DELETE\", url, nil)\n\n\treq.Header.Add(\"Authorization\", \"Basic REPLACE_BASIC_AUTH\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}" + - lang: Python + source: |- + import http.client + + conn = http.client.HTTPSConnection("pkc-00000.region.provider.confluent.cloud") + + headers = { 'Authorization': "Basic REPLACE_BASIC_AUTH" } + + conn.request("DELETE", "/kafka/v3/clusters/cluster-1/acls?resource_type=SOME_STRING_VALUE&pattern_type=SOME_STRING_VALUE&operation=SOME_STRING_VALUE&permission=SOME_STRING_VALUE", headers=headers) + + res = conn.getresponse() + data = res.read() + + print(data.decode("utf-8")) + - lang: Node + source: |- + const http = require("https"); + + const options = { + "method": "DELETE", + "hostname": "pkc-00000.region.provider.confluent.cloud", + "port": null, + "path": "/kafka/v3/clusters/cluster-1/acls?resource_type=SOME_STRING_VALUE&pattern_type=SOME_STRING_VALUE&operation=SOME_STRING_VALUE&permission=SOME_STRING_VALUE", + "headers": { + "Authorization": "Basic REPLACE_BASIC_AUTH" + } + }; + + const req = http.request(options, function (res) { + const chunks = []; + + res.on("data", function (chunk) { + chunks.push(chunk); + }); + + res.on("end", function () { + const body = Buffer.concat(chunks); + console.log(body.toString()); + }); + }); + + req.end(); + - lang: C + source: |- + CURL *hnd = curl_easy_init(); + + curl_easy_setopt(hnd, CURLOPT_CUSTOMREQUEST, "DELETE"); + curl_easy_setopt(hnd, CURLOPT_URL, "https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1/acls?resource_type=SOME_STRING_VALUE&pattern_type=SOME_STRING_VALUE&operation=SOME_STRING_VALUE&permission=SOME_STRING_VALUE"); + + struct curl_slist *headers = NULL; + headers = curl_slist_append(headers, "Authorization: Basic REPLACE_BASIC_AUTH"); + curl_easy_setopt(hnd, CURLOPT_HTTPHEADER, headers); + + CURLcode ret = curl_easy_perform(hnd); + - lang: C# + source: |- + var client = new RestClient("https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1/acls?resource_type=SOME_STRING_VALUE&pattern_type=SOME_STRING_VALUE&operation=SOME_STRING_VALUE&permission=SOME_STRING_VALUE"); + var request = new RestRequest(Method.DELETE); + request.AddHeader("Authorization", "Basic REPLACE_BASIC_AUTH"); + IRestResponse response = client.Execute(request); + '/kafka/v3/clusters/{cluster_id}/broker-configs': + get: + summary: List Dynamic Broker Configs + operationId: listKafkaClusterConfigs + description: |- + [![Generally Available](https://img.shields.io/badge/Lifecycle%20Stage-Generally%20Available-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + Return a list of dynamic cluster-wide broker configuration parameters for the specified Kafka + cluster. Returns an empty list if there are no dynamic cluster-wide broker configuration parameters. + tags: + - Configs (v3) + security: + - resource-api-key: [] + - external-access-token: [] + responses: + '200': + $ref: '#/components/responses/ListClusterConfigsResponse' + '400': + $ref: '#/components/responses/BadRequestErrorResponse' + '401': + $ref: '#/components/responses/UnauthorizedErrorResponse' + '403': + $ref: '#/components/responses/ForbiddenErrorResponse' + '429': + $ref: '#/components/responses/TooManyRequestsErrorResponse' + 5XX: + $ref: '#/components/responses/ServerErrorResponse' + x-codeSamples: + - lang: Shell + source: |- + curl --request GET \ + --url https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1/broker-configs \ + --header 'Authorization: Basic REPLACE_BASIC_AUTH' + - lang: Java + source: |- + OkHttpClient client = new OkHttpClient(); + + Request request = new Request.Builder() + .url("https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1/broker-configs") + .get() + .addHeader("Authorization", "Basic REPLACE_BASIC_AUTH") + .build(); + + Response response = client.newCall(request).execute(); + - lang: Go + source: "package main\n\nimport (\n\t\"fmt\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1/broker-configs\"\n\n\treq, _ := http.NewRequest(\"GET\", url, nil)\n\n\treq.Header.Add(\"Authorization\", \"Basic REPLACE_BASIC_AUTH\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}" + - lang: Python + source: |- + import http.client + + conn = http.client.HTTPSConnection("pkc-00000.region.provider.confluent.cloud") + + headers = { 'Authorization': "Basic REPLACE_BASIC_AUTH" } + + conn.request("GET", "/kafka/v3/clusters/cluster-1/broker-configs", headers=headers) + + res = conn.getresponse() + data = res.read() + + print(data.decode("utf-8")) + - lang: Node + source: |- + const http = require("https"); + + const options = { + "method": "GET", + "hostname": "pkc-00000.region.provider.confluent.cloud", + "port": null, + "path": "/kafka/v3/clusters/cluster-1/broker-configs", + "headers": { + "Authorization": "Basic REPLACE_BASIC_AUTH" + } + }; + + const req = http.request(options, function (res) { + const chunks = []; + + res.on("data", function (chunk) { + chunks.push(chunk); + }); + + res.on("end", function () { + const body = Buffer.concat(chunks); + console.log(body.toString()); + }); + }); + + req.end(); + - lang: C + source: |- + CURL *hnd = curl_easy_init(); + + curl_easy_setopt(hnd, CURLOPT_CUSTOMREQUEST, "GET"); + curl_easy_setopt(hnd, CURLOPT_URL, "https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1/broker-configs"); + + struct curl_slist *headers = NULL; + headers = curl_slist_append(headers, "Authorization: Basic REPLACE_BASIC_AUTH"); + curl_easy_setopt(hnd, CURLOPT_HTTPHEADER, headers); + + CURLcode ret = curl_easy_perform(hnd); + - lang: C# + source: |- + var client = new RestClient("https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1/broker-configs"); + var request = new RestRequest(Method.GET); + request.AddHeader("Authorization", "Basic REPLACE_BASIC_AUTH"); + IRestResponse response = client.Execute(request); + parameters: + - $ref: '#/components/parameters/ClusterId' + '/kafka/v3/clusters/{cluster_id}/broker-configs:alter': + post: + summary: Batch Alter Dynamic Broker Configs + operationId: updateKafkaClusterConfigs + description: |- + [![Generally Available](https://img.shields.io/badge/Lifecycle%20Stage-Generally%20Available-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + Update or delete a set of dynamic cluster-wide broker configuration parameters. + tags: + - Configs (v3) + security: + - resource-api-key: [] + - external-access-token: [] + requestBody: + $ref: '#/components/requestBodies/AlterClusterConfigBatchRequest' + responses: + '204': + description: No Content + '400': + $ref: '#/components/responses/BadRequestErrorResponse' + '401': + $ref: '#/components/responses/UnauthorizedErrorResponse' + '403': + $ref: '#/components/responses/ForbiddenErrorResponse' + '429': + $ref: '#/components/responses/TooManyRequestsErrorResponse' + 5XX: + $ref: '#/components/responses/ServerErrorResponse' + x-codeSamples: + - lang: Shell + source: |- + curl --request POST \ + --url https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1/broker-configs:alter \ + --header 'Authorization: Basic REPLACE_BASIC_AUTH' \ + --data '{"data":[{"name":"string","value":"string","operation":"string"}],"validate_only":true}' + - lang: Java + source: |- + OkHttpClient client = new OkHttpClient(); + + MediaType mediaType = MediaType.parse("application/json"); + RequestBody body = RequestBody.create(mediaType, "{\"data\":[{\"name\":\"string\",\"value\":\"string\",\"operation\":\"string\"}],\"validate_only\":true}"); + Request request = new Request.Builder() + .url("https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1/broker-configs:alter") + .post(body) + .addHeader("Authorization", "Basic REPLACE_BASIC_AUTH") + .build(); + + Response response = client.newCall(request).execute(); + - lang: Go + source: "package main\n\nimport (\n\t\"fmt\"\n\t\"strings\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1/broker-configs:alter\"\n\n\tpayload := strings.NewReader(\"{\\\"data\\\":[{\\\"name\\\":\\\"string\\\",\\\"value\\\":\\\"string\\\",\\\"operation\\\":\\\"string\\\"}],\\\"validate_only\\\":true}\")\n\n\treq, _ := http.NewRequest(\"POST\", url, payload)\n\n\treq.Header.Add(\"Authorization\", \"Basic REPLACE_BASIC_AUTH\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}" + - lang: Python + source: |- + import http.client + + conn = http.client.HTTPSConnection("pkc-00000.region.provider.confluent.cloud") + + payload = "{\"data\":[{\"name\":\"string\",\"value\":\"string\",\"operation\":\"string\"}],\"validate_only\":true}" + + headers = { 'Authorization': "Basic REPLACE_BASIC_AUTH" } + + conn.request("POST", "/kafka/v3/clusters/cluster-1/broker-configs:alter", payload, headers) + + res = conn.getresponse() + data = res.read() + + print(data.decode("utf-8")) + - lang: Node + source: |- + const http = require("https"); + + const options = { + "method": "POST", + "hostname": "pkc-00000.region.provider.confluent.cloud", + "port": null, + "path": "/kafka/v3/clusters/cluster-1/broker-configs:alter", + "headers": { + "Authorization": "Basic REPLACE_BASIC_AUTH" + } + }; + + const req = http.request(options, function (res) { + const chunks = []; + + res.on("data", function (chunk) { + chunks.push(chunk); + }); + + res.on("end", function () { + const body = Buffer.concat(chunks); + console.log(body.toString()); + }); + }); + + req.write(JSON.stringify({ + data: [{name: 'string', value: 'string', operation: 'string'}], + validate_only: true + })); + req.end(); + - lang: C + source: |- + CURL *hnd = curl_easy_init(); + + curl_easy_setopt(hnd, CURLOPT_CUSTOMREQUEST, "POST"); + curl_easy_setopt(hnd, CURLOPT_URL, "https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1/broker-configs:alter"); + + struct curl_slist *headers = NULL; + headers = curl_slist_append(headers, "Authorization: Basic REPLACE_BASIC_AUTH"); + curl_easy_setopt(hnd, CURLOPT_HTTPHEADER, headers); + + curl_easy_setopt(hnd, CURLOPT_POSTFIELDS, "{\"data\":[{\"name\":\"string\",\"value\":\"string\",\"operation\":\"string\"}],\"validate_only\":true}"); + + CURLcode ret = curl_easy_perform(hnd); + - lang: C# + source: |- + var client = new RestClient("https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1/broker-configs:alter"); + var request = new RestRequest(Method.POST); + request.AddHeader("Authorization", "Basic REPLACE_BASIC_AUTH"); + request.AddParameter("undefined", "{\"data\":[{\"name\":\"string\",\"value\":\"string\",\"operation\":\"string\"}],\"validate_only\":true}", ParameterType.RequestBody); + IRestResponse response = client.Execute(request); + parameters: + - $ref: '#/components/parameters/ClusterId' + '/kafka/v3/clusters/{cluster_id}/broker-configs/{name}': + get: + summary: Get Dynamic Broker Config + operationId: getKafkaClusterConfig + description: |- + [![Generally Available](https://img.shields.io/badge/Lifecycle%20Stage-Generally%20Available-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + Return the dynamic cluster-wide broker configuration parameter specified by ``name``. + tags: + - Configs (v3) + security: + - resource-api-key: [] + - external-access-token: [] + responses: + '200': + $ref: '#/components/responses/GetClusterConfigResponse' + '400': + $ref: '#/components/responses/BadRequestErrorResponse' + '401': + $ref: '#/components/responses/UnauthorizedErrorResponse' + '403': + $ref: '#/components/responses/ForbiddenErrorResponse' + '429': + $ref: '#/components/responses/TooManyRequestsErrorResponse' + 5XX: + $ref: '#/components/responses/ServerErrorResponse' + x-codeSamples: + - lang: Shell + source: |- + curl --request GET \ + --url https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1/broker-configs/compression.type \ + --header 'Authorization: Basic REPLACE_BASIC_AUTH' + - lang: Java + source: |- + OkHttpClient client = new OkHttpClient(); + + Request request = new Request.Builder() + .url("https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1/broker-configs/compression.type") + .get() + .addHeader("Authorization", "Basic REPLACE_BASIC_AUTH") + .build(); + + Response response = client.newCall(request).execute(); + - lang: Go + source: "package main\n\nimport (\n\t\"fmt\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1/broker-configs/compression.type\"\n\n\treq, _ := http.NewRequest(\"GET\", url, nil)\n\n\treq.Header.Add(\"Authorization\", \"Basic REPLACE_BASIC_AUTH\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}" + - lang: Python + source: |- + import http.client + + conn = http.client.HTTPSConnection("pkc-00000.region.provider.confluent.cloud") + + headers = { 'Authorization': "Basic REPLACE_BASIC_AUTH" } + + conn.request("GET", "/kafka/v3/clusters/cluster-1/broker-configs/compression.type", headers=headers) + + res = conn.getresponse() + data = res.read() + + print(data.decode("utf-8")) + - lang: Node + source: |- + const http = require("https"); + + const options = { + "method": "GET", + "hostname": "pkc-00000.region.provider.confluent.cloud", + "port": null, + "path": "/kafka/v3/clusters/cluster-1/broker-configs/compression.type", + "headers": { + "Authorization": "Basic REPLACE_BASIC_AUTH" + } + }; + + const req = http.request(options, function (res) { + const chunks = []; + + res.on("data", function (chunk) { + chunks.push(chunk); + }); + + res.on("end", function () { + const body = Buffer.concat(chunks); + console.log(body.toString()); + }); + }); + + req.end(); + - lang: C + source: |- + CURL *hnd = curl_easy_init(); + + curl_easy_setopt(hnd, CURLOPT_CUSTOMREQUEST, "GET"); + curl_easy_setopt(hnd, CURLOPT_URL, "https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1/broker-configs/compression.type"); + + struct curl_slist *headers = NULL; + headers = curl_slist_append(headers, "Authorization: Basic REPLACE_BASIC_AUTH"); + curl_easy_setopt(hnd, CURLOPT_HTTPHEADER, headers); + + CURLcode ret = curl_easy_perform(hnd); + - lang: C# + source: |- + var client = new RestClient("https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1/broker-configs/compression.type"); + var request = new RestRequest(Method.GET); + request.AddHeader("Authorization", "Basic REPLACE_BASIC_AUTH"); + IRestResponse response = client.Execute(request); + parameters: + - $ref: '#/components/parameters/ClusterId' + - $ref: '#/components/parameters/ConfigName' + put: + summary: Update Dynamic Broker Config + operationId: updateKafkaClusterConfig + description: |- + [![Generally Available](https://img.shields.io/badge/Lifecycle%20Stage-Generally%20Available-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + Update the dynamic cluster-wide broker configuration parameter specified by ``name``. + tags: + - Configs (v3) + security: + - resource-api-key: [] + - external-access-token: [] + requestBody: + $ref: '#/components/requestBodies/UpdateClusterConfigRequest' + responses: + '204': + description: No Content + '400': + $ref: '#/components/responses/BadRequestErrorResponse' + '401': + $ref: '#/components/responses/UnauthorizedErrorResponse' + '403': + $ref: '#/components/responses/ForbiddenErrorResponse' + '429': + $ref: '#/components/responses/TooManyRequestsErrorResponse' + 5XX: + $ref: '#/components/responses/ServerErrorResponse' + x-codeSamples: + - lang: Shell + source: |- + curl --request PUT \ + --url https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1/broker-configs/compression.type \ + --header 'Authorization: Basic REPLACE_BASIC_AUTH' \ + --data '{"value":"string"}' + - lang: Java + source: |- + OkHttpClient client = new OkHttpClient(); + + MediaType mediaType = MediaType.parse("application/json"); + RequestBody body = RequestBody.create(mediaType, "{\"value\":\"string\"}"); + Request request = new Request.Builder() + .url("https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1/broker-configs/compression.type") + .put(body) + .addHeader("Authorization", "Basic REPLACE_BASIC_AUTH") + .build(); + + Response response = client.newCall(request).execute(); + - lang: Go + source: "package main\n\nimport (\n\t\"fmt\"\n\t\"strings\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1/broker-configs/compression.type\"\n\n\tpayload := strings.NewReader(\"{\\\"value\\\":\\\"string\\\"}\")\n\n\treq, _ := http.NewRequest(\"PUT\", url, payload)\n\n\treq.Header.Add(\"Authorization\", \"Basic REPLACE_BASIC_AUTH\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}" + - lang: Python + source: |- + import http.client + + conn = http.client.HTTPSConnection("pkc-00000.region.provider.confluent.cloud") + + payload = "{\"value\":\"string\"}" + + headers = { 'Authorization': "Basic REPLACE_BASIC_AUTH" } + + conn.request("PUT", "/kafka/v3/clusters/cluster-1/broker-configs/compression.type", payload, headers) + + res = conn.getresponse() + data = res.read() + + print(data.decode("utf-8")) + - lang: Node + source: |- + const http = require("https"); + + const options = { + "method": "PUT", + "hostname": "pkc-00000.region.provider.confluent.cloud", + "port": null, + "path": "/kafka/v3/clusters/cluster-1/broker-configs/compression.type", + "headers": { + "Authorization": "Basic REPLACE_BASIC_AUTH" + } + }; + + const req = http.request(options, function (res) { + const chunks = []; + + res.on("data", function (chunk) { + chunks.push(chunk); + }); + + res.on("end", function () { + const body = Buffer.concat(chunks); + console.log(body.toString()); + }); + }); + + req.write(JSON.stringify({value: 'string'})); + req.end(); + - lang: C + source: |- + CURL *hnd = curl_easy_init(); + + curl_easy_setopt(hnd, CURLOPT_CUSTOMREQUEST, "PUT"); + curl_easy_setopt(hnd, CURLOPT_URL, "https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1/broker-configs/compression.type"); + + struct curl_slist *headers = NULL; + headers = curl_slist_append(headers, "Authorization: Basic REPLACE_BASIC_AUTH"); + curl_easy_setopt(hnd, CURLOPT_HTTPHEADER, headers); + + curl_easy_setopt(hnd, CURLOPT_POSTFIELDS, "{\"value\":\"string\"}"); + + CURLcode ret = curl_easy_perform(hnd); + - lang: C# + source: |- + var client = new RestClient("https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1/broker-configs/compression.type"); + var request = new RestRequest(Method.PUT); + request.AddHeader("Authorization", "Basic REPLACE_BASIC_AUTH"); + request.AddParameter("undefined", "{\"value\":\"string\"}", ParameterType.RequestBody); + IRestResponse response = client.Execute(request); + parameters: + - $ref: '#/components/parameters/ClusterId' + - $ref: '#/components/parameters/ConfigName' + delete: + summary: Reset Dynamic Broker Config + operationId: deleteKafkaClusterConfig + description: |- + [![Generally Available](https://img.shields.io/badge/Lifecycle%20Stage-Generally%20Available-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + Reset the configuration parameter specified by ``name`` to its + default value by deleting a dynamic cluster-wide configuration. + tags: + - Configs (v3) + security: + - resource-api-key: [] + - external-access-token: [] + responses: + '204': + description: No Content + '400': + $ref: '#/components/responses/BadRequestErrorResponse' + '401': + $ref: '#/components/responses/UnauthorizedErrorResponse' + '403': + $ref: '#/components/responses/ForbiddenErrorResponse' + '429': + $ref: '#/components/responses/TooManyRequestsErrorResponse' + 5XX: + $ref: '#/components/responses/ServerErrorResponse' + x-codeSamples: + - lang: Shell + source: |- + curl --request DELETE \ + --url https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1/broker-configs/compression.type \ + --header 'Authorization: Basic REPLACE_BASIC_AUTH' + - lang: Java + source: |- + OkHttpClient client = new OkHttpClient(); + + Request request = new Request.Builder() + .url("https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1/broker-configs/compression.type") + .delete(null) + .addHeader("Authorization", "Basic REPLACE_BASIC_AUTH") + .build(); + + Response response = client.newCall(request).execute(); + - lang: Go + source: "package main\n\nimport (\n\t\"fmt\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1/broker-configs/compression.type\"\n\n\treq, _ := http.NewRequest(\"DELETE\", url, nil)\n\n\treq.Header.Add(\"Authorization\", \"Basic REPLACE_BASIC_AUTH\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}" + - lang: Python + source: |- + import http.client + + conn = http.client.HTTPSConnection("pkc-00000.region.provider.confluent.cloud") + + headers = { 'Authorization': "Basic REPLACE_BASIC_AUTH" } + + conn.request("DELETE", "/kafka/v3/clusters/cluster-1/broker-configs/compression.type", headers=headers) + + res = conn.getresponse() + data = res.read() + + print(data.decode("utf-8")) + - lang: Node + source: |- + const http = require("https"); + + const options = { + "method": "DELETE", + "hostname": "pkc-00000.region.provider.confluent.cloud", + "port": null, + "path": "/kafka/v3/clusters/cluster-1/broker-configs/compression.type", + "headers": { + "Authorization": "Basic REPLACE_BASIC_AUTH" + } + }; + + const req = http.request(options, function (res) { + const chunks = []; + + res.on("data", function (chunk) { + chunks.push(chunk); + }); + + res.on("end", function () { + const body = Buffer.concat(chunks); + console.log(body.toString()); + }); + }); + + req.end(); + - lang: C + source: |- + CURL *hnd = curl_easy_init(); + + curl_easy_setopt(hnd, CURLOPT_CUSTOMREQUEST, "DELETE"); + curl_easy_setopt(hnd, CURLOPT_URL, "https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1/broker-configs/compression.type"); + + struct curl_slist *headers = NULL; + headers = curl_slist_append(headers, "Authorization: Basic REPLACE_BASIC_AUTH"); + curl_easy_setopt(hnd, CURLOPT_HTTPHEADER, headers); + + CURLcode ret = curl_easy_perform(hnd); + - lang: C# + source: |- + var client = new RestClient("https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1/broker-configs/compression.type"); + var request = new RestRequest(Method.DELETE); + request.AddHeader("Authorization", "Basic REPLACE_BASIC_AUTH"); + IRestResponse response = client.Execute(request); + parameters: + - $ref: '#/components/parameters/ClusterId' + - $ref: '#/components/parameters/ConfigName' + '/kafka/v3/clusters/{cluster_id}/consumer-groups': + get: + summary: List Consumer Groups + operationId: listKafkaConsumerGroups + description: |- + [![Generally Available](https://img.shields.io/badge/Lifecycle%20Stage-Generally%20Available-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + Return the list of consumer groups that belong to the specified + Kafka cluster. + tags: + - Consumer Group (v3) + security: + - resource-api-key: [] + - external-access-token: [] + responses: + '200': + $ref: '#/components/responses/ListConsumerGroupsResponse' + '400': + $ref: '#/components/responses/BadRequestErrorResponse' + '401': + $ref: '#/components/responses/UnauthorizedErrorResponse' + '403': + $ref: '#/components/responses/ForbiddenErrorResponse' + '429': + $ref: '#/components/responses/TooManyRequestsErrorResponse' + 5XX: + $ref: '#/components/responses/ServerErrorResponse' + x-codeSamples: + - lang: Shell + source: |- + curl --request GET \ + --url https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1/consumer-groups \ + --header 'Authorization: Basic REPLACE_BASIC_AUTH' + - lang: Java + source: |- + OkHttpClient client = new OkHttpClient(); + + Request request = new Request.Builder() + .url("https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1/consumer-groups") + .get() + .addHeader("Authorization", "Basic REPLACE_BASIC_AUTH") + .build(); + + Response response = client.newCall(request).execute(); + - lang: Go + source: "package main\n\nimport (\n\t\"fmt\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1/consumer-groups\"\n\n\treq, _ := http.NewRequest(\"GET\", url, nil)\n\n\treq.Header.Add(\"Authorization\", \"Basic REPLACE_BASIC_AUTH\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}" + - lang: Python + source: |- + import http.client + + conn = http.client.HTTPSConnection("pkc-00000.region.provider.confluent.cloud") + + headers = { 'Authorization': "Basic REPLACE_BASIC_AUTH" } + + conn.request("GET", "/kafka/v3/clusters/cluster-1/consumer-groups", headers=headers) + + res = conn.getresponse() + data = res.read() + + print(data.decode("utf-8")) + - lang: Node + source: |- + const http = require("https"); + + const options = { + "method": "GET", + "hostname": "pkc-00000.region.provider.confluent.cloud", + "port": null, + "path": "/kafka/v3/clusters/cluster-1/consumer-groups", + "headers": { + "Authorization": "Basic REPLACE_BASIC_AUTH" + } + }; + + const req = http.request(options, function (res) { + const chunks = []; + + res.on("data", function (chunk) { + chunks.push(chunk); + }); + + res.on("end", function () { + const body = Buffer.concat(chunks); + console.log(body.toString()); + }); + }); + + req.end(); + - lang: C + source: |- + CURL *hnd = curl_easy_init(); + + curl_easy_setopt(hnd, CURLOPT_CUSTOMREQUEST, "GET"); + curl_easy_setopt(hnd, CURLOPT_URL, "https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1/consumer-groups"); + + struct curl_slist *headers = NULL; + headers = curl_slist_append(headers, "Authorization: Basic REPLACE_BASIC_AUTH"); + curl_easy_setopt(hnd, CURLOPT_HTTPHEADER, headers); + + CURLcode ret = curl_easy_perform(hnd); + - lang: C# + source: |- + var client = new RestClient("https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1/consumer-groups"); + var request = new RestRequest(Method.GET); + request.AddHeader("Authorization", "Basic REPLACE_BASIC_AUTH"); + IRestResponse response = client.Execute(request); + parameters: + - $ref: '#/components/parameters/ClusterId' + '/kafka/v3/clusters/{cluster_id}/consumer-groups/{consumer_group_id}': + get: + summary: Get Consumer Group + operationId: getKafkaConsumerGroup + description: |- + [![Generally Available](https://img.shields.io/badge/Lifecycle%20Stage-Generally%20Available-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + Return the consumer group specified by the ``consumer_group_id``. + tags: + - Consumer Group (v3) + security: + - resource-api-key: [] + - external-access-token: [] + responses: + '200': + $ref: '#/components/responses/GetConsumerGroupResponse' + '400': + $ref: '#/components/responses/BadRequestErrorResponse' + '401': + $ref: '#/components/responses/UnauthorizedErrorResponse' + '403': + $ref: '#/components/responses/ForbiddenErrorResponse' + '429': + $ref: '#/components/responses/TooManyRequestsErrorResponse' + 5XX: + $ref: '#/components/responses/ServerErrorResponse' + x-codeSamples: + - lang: Shell + source: |- + curl --request GET \ + --url https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1/consumer-groups/consumer-group-1 \ + --header 'Authorization: Basic REPLACE_BASIC_AUTH' + - lang: Java + source: |- + OkHttpClient client = new OkHttpClient(); + + Request request = new Request.Builder() + .url("https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1/consumer-groups/consumer-group-1") + .get() + .addHeader("Authorization", "Basic REPLACE_BASIC_AUTH") + .build(); + + Response response = client.newCall(request).execute(); + - lang: Go + source: "package main\n\nimport (\n\t\"fmt\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1/consumer-groups/consumer-group-1\"\n\n\treq, _ := http.NewRequest(\"GET\", url, nil)\n\n\treq.Header.Add(\"Authorization\", \"Basic REPLACE_BASIC_AUTH\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}" + - lang: Python + source: |- + import http.client + + conn = http.client.HTTPSConnection("pkc-00000.region.provider.confluent.cloud") + + headers = { 'Authorization': "Basic REPLACE_BASIC_AUTH" } + + conn.request("GET", "/kafka/v3/clusters/cluster-1/consumer-groups/consumer-group-1", headers=headers) + + res = conn.getresponse() + data = res.read() + + print(data.decode("utf-8")) + - lang: Node + source: |- + const http = require("https"); + + const options = { + "method": "GET", + "hostname": "pkc-00000.region.provider.confluent.cloud", + "port": null, + "path": "/kafka/v3/clusters/cluster-1/consumer-groups/consumer-group-1", + "headers": { + "Authorization": "Basic REPLACE_BASIC_AUTH" + } + }; + + const req = http.request(options, function (res) { + const chunks = []; + + res.on("data", function (chunk) { + chunks.push(chunk); + }); + + res.on("end", function () { + const body = Buffer.concat(chunks); + console.log(body.toString()); + }); + }); + + req.end(); + - lang: C + source: |- + CURL *hnd = curl_easy_init(); + + curl_easy_setopt(hnd, CURLOPT_CUSTOMREQUEST, "GET"); + curl_easy_setopt(hnd, CURLOPT_URL, "https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1/consumer-groups/consumer-group-1"); + + struct curl_slist *headers = NULL; + headers = curl_slist_append(headers, "Authorization: Basic REPLACE_BASIC_AUTH"); + curl_easy_setopt(hnd, CURLOPT_HTTPHEADER, headers); + + CURLcode ret = curl_easy_perform(hnd); + - lang: C# + source: |- + var client = new RestClient("https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1/consumer-groups/consumer-group-1"); + var request = new RestRequest(Method.GET); + request.AddHeader("Authorization", "Basic REPLACE_BASIC_AUTH"); + IRestResponse response = client.Execute(request); + parameters: + - $ref: '#/components/parameters/ClusterId' + - $ref: '#/components/parameters/ConsumerGroupId' + '/kafka/v3/clusters/{cluster_id}/consumer-groups/{consumer_group_id}/consumers': + get: + summary: List Consumers + operationId: listKafkaConsumers + description: |- + [![Generally Available](https://img.shields.io/badge/Lifecycle%20Stage-Generally%20Available-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + Return a list of consumers that belong to the specified consumer + group. + tags: + - Consumer Group (v3) + security: + - resource-api-key: [] + - external-access-token: [] + responses: + '200': + $ref: '#/components/responses/ListConsumersResponse' + '400': + $ref: '#/components/responses/BadRequestErrorResponse' + '401': + $ref: '#/components/responses/UnauthorizedErrorResponse' + '403': + $ref: '#/components/responses/ForbiddenErrorResponse' + '429': + $ref: '#/components/responses/TooManyRequestsErrorResponse' + 5XX: + $ref: '#/components/responses/ServerErrorResponse' + x-codeSamples: + - lang: Shell + source: |- + curl --request GET \ + --url https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1/consumer-groups/consumer-group-1/consumers \ + --header 'Authorization: Basic REPLACE_BASIC_AUTH' + - lang: Java + source: |- + OkHttpClient client = new OkHttpClient(); + + Request request = new Request.Builder() + .url("https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1/consumer-groups/consumer-group-1/consumers") + .get() + .addHeader("Authorization", "Basic REPLACE_BASIC_AUTH") + .build(); + + Response response = client.newCall(request).execute(); + - lang: Go + source: "package main\n\nimport (\n\t\"fmt\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1/consumer-groups/consumer-group-1/consumers\"\n\n\treq, _ := http.NewRequest(\"GET\", url, nil)\n\n\treq.Header.Add(\"Authorization\", \"Basic REPLACE_BASIC_AUTH\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}" + - lang: Python + source: |- + import http.client + + conn = http.client.HTTPSConnection("pkc-00000.region.provider.confluent.cloud") + + headers = { 'Authorization': "Basic REPLACE_BASIC_AUTH" } + + conn.request("GET", "/kafka/v3/clusters/cluster-1/consumer-groups/consumer-group-1/consumers", headers=headers) + + res = conn.getresponse() + data = res.read() + + print(data.decode("utf-8")) + - lang: Node + source: |- + const http = require("https"); + + const options = { + "method": "GET", + "hostname": "pkc-00000.region.provider.confluent.cloud", + "port": null, + "path": "/kafka/v3/clusters/cluster-1/consumer-groups/consumer-group-1/consumers", + "headers": { + "Authorization": "Basic REPLACE_BASIC_AUTH" + } + }; + + const req = http.request(options, function (res) { + const chunks = []; + + res.on("data", function (chunk) { + chunks.push(chunk); + }); + + res.on("end", function () { + const body = Buffer.concat(chunks); + console.log(body.toString()); + }); + }); + + req.end(); + - lang: C + source: |- + CURL *hnd = curl_easy_init(); + + curl_easy_setopt(hnd, CURLOPT_CUSTOMREQUEST, "GET"); + curl_easy_setopt(hnd, CURLOPT_URL, "https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1/consumer-groups/consumer-group-1/consumers"); + + struct curl_slist *headers = NULL; + headers = curl_slist_append(headers, "Authorization: Basic REPLACE_BASIC_AUTH"); + curl_easy_setopt(hnd, CURLOPT_HTTPHEADER, headers); + + CURLcode ret = curl_easy_perform(hnd); + - lang: C# + source: |- + var client = new RestClient("https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1/consumer-groups/consumer-group-1/consumers"); + var request = new RestRequest(Method.GET); + request.AddHeader("Authorization", "Basic REPLACE_BASIC_AUTH"); + IRestResponse response = client.Execute(request); + parameters: + - $ref: '#/components/parameters/ClusterId' + - $ref: '#/components/parameters/ConsumerGroupId' + '/kafka/v3/clusters/{cluster_id}/consumer-groups/{consumer_group_id}/lag-summary': + get: + summary: Get Consumer Group Lag Summary + operationId: getKafkaConsumerGroupLagSummary + description: |- + [![Generally Available](https://img.shields.io/badge/Lifecycle%20Stage-Generally%20Available-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) [![Available in dedicated clusters only](https://img.shields.io/badge/-Available%20in%20dedicated%20clusters%20only-%23bc8540)](https://docs.confluent.io/cloud/current/clusters/cluster-types.html#dedicated-cluster) + + Return the maximum and total lag of the consumers belonging to the + specified consumer group. + tags: + - Consumer Group (v3) + security: + - resource-api-key: [] + - external-access-token: [] + responses: + '200': + $ref: '#/components/responses/GetConsumerGroupLagSummaryResponse' + '400': + $ref: '#/components/responses/BadRequestErrorResponse' + '401': + $ref: '#/components/responses/UnauthorizedErrorResponse' + '403': + $ref: '#/components/responses/ForbiddenErrorResponse' + '429': + $ref: '#/components/responses/TooManyRequestsErrorResponse' + 5XX: + $ref: '#/components/responses/ServerErrorResponse' + x-codeSamples: + - lang: Shell + source: |- + curl --request GET \ + --url https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1/consumer-groups/consumer-group-1/lag-summary \ + --header 'Authorization: Basic REPLACE_BASIC_AUTH' + - lang: Java + source: |- + OkHttpClient client = new OkHttpClient(); + + Request request = new Request.Builder() + .url("https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1/consumer-groups/consumer-group-1/lag-summary") + .get() + .addHeader("Authorization", "Basic REPLACE_BASIC_AUTH") + .build(); + + Response response = client.newCall(request).execute(); + - lang: Go + source: "package main\n\nimport (\n\t\"fmt\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1/consumer-groups/consumer-group-1/lag-summary\"\n\n\treq, _ := http.NewRequest(\"GET\", url, nil)\n\n\treq.Header.Add(\"Authorization\", \"Basic REPLACE_BASIC_AUTH\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}" + - lang: Python + source: |- + import http.client + + conn = http.client.HTTPSConnection("pkc-00000.region.provider.confluent.cloud") + + headers = { 'Authorization': "Basic REPLACE_BASIC_AUTH" } + + conn.request("GET", "/kafka/v3/clusters/cluster-1/consumer-groups/consumer-group-1/lag-summary", headers=headers) + + res = conn.getresponse() + data = res.read() + + print(data.decode("utf-8")) + - lang: Node + source: |- + const http = require("https"); + + const options = { + "method": "GET", + "hostname": "pkc-00000.region.provider.confluent.cloud", + "port": null, + "path": "/kafka/v3/clusters/cluster-1/consumer-groups/consumer-group-1/lag-summary", + "headers": { + "Authorization": "Basic REPLACE_BASIC_AUTH" + } + }; + + const req = http.request(options, function (res) { + const chunks = []; + + res.on("data", function (chunk) { + chunks.push(chunk); + }); + + res.on("end", function () { + const body = Buffer.concat(chunks); + console.log(body.toString()); + }); + }); + + req.end(); + - lang: C + source: |- + CURL *hnd = curl_easy_init(); + + curl_easy_setopt(hnd, CURLOPT_CUSTOMREQUEST, "GET"); + curl_easy_setopt(hnd, CURLOPT_URL, "https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1/consumer-groups/consumer-group-1/lag-summary"); + + struct curl_slist *headers = NULL; + headers = curl_slist_append(headers, "Authorization: Basic REPLACE_BASIC_AUTH"); + curl_easy_setopt(hnd, CURLOPT_HTTPHEADER, headers); + + CURLcode ret = curl_easy_perform(hnd); + - lang: C# + source: |- + var client = new RestClient("https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1/consumer-groups/consumer-group-1/lag-summary"); + var request = new RestRequest(Method.GET); + request.AddHeader("Authorization", "Basic REPLACE_BASIC_AUTH"); + IRestResponse response = client.Execute(request); + parameters: + - $ref: '#/components/parameters/ClusterId' + - $ref: '#/components/parameters/ConsumerGroupId' + '/kafka/v3/clusters/{cluster_id}/consumer-groups/{consumer_group_id}/lags': + get: + summary: List Consumer Lags + operationId: listKafkaConsumerLags + description: |- + [![Generally Available](https://img.shields.io/badge/Lifecycle%20Stage-Generally%20Available-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) [![Available in dedicated clusters only](https://img.shields.io/badge/-Available%20in%20dedicated%20clusters%20only-%23bc8540)](https://docs.confluent.io/cloud/current/clusters/cluster-types.html#dedicated-cluster) + + Return a list of consumer lags of the consumers belonging to the + specified consumer group. + tags: + - Consumer Group (v3) + security: + - resource-api-key: [] + - external-access-token: [] + responses: + '200': + $ref: '#/components/responses/ListConsumerLagsResponse' + '400': + $ref: '#/components/responses/BadRequestErrorResponse' + '401': + $ref: '#/components/responses/UnauthorizedErrorResponse' + '403': + $ref: '#/components/responses/ForbiddenErrorResponse' + '429': + $ref: '#/components/responses/TooManyRequestsErrorResponse' + 5XX: + $ref: '#/components/responses/ServerErrorResponse' + x-codeSamples: + - lang: Shell + source: |- + curl --request GET \ + --url https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1/consumer-groups/consumer-group-1/lags \ + --header 'Authorization: Basic REPLACE_BASIC_AUTH' + - lang: Java + source: |- + OkHttpClient client = new OkHttpClient(); + + Request request = new Request.Builder() + .url("https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1/consumer-groups/consumer-group-1/lags") + .get() + .addHeader("Authorization", "Basic REPLACE_BASIC_AUTH") + .build(); + + Response response = client.newCall(request).execute(); + - lang: Go + source: "package main\n\nimport (\n\t\"fmt\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1/consumer-groups/consumer-group-1/lags\"\n\n\treq, _ := http.NewRequest(\"GET\", url, nil)\n\n\treq.Header.Add(\"Authorization\", \"Basic REPLACE_BASIC_AUTH\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}" + - lang: Python + source: |- + import http.client + + conn = http.client.HTTPSConnection("pkc-00000.region.provider.confluent.cloud") + + headers = { 'Authorization': "Basic REPLACE_BASIC_AUTH" } + + conn.request("GET", "/kafka/v3/clusters/cluster-1/consumer-groups/consumer-group-1/lags", headers=headers) + + res = conn.getresponse() + data = res.read() + + print(data.decode("utf-8")) + - lang: Node + source: |- + const http = require("https"); + + const options = { + "method": "GET", + "hostname": "pkc-00000.region.provider.confluent.cloud", + "port": null, + "path": "/kafka/v3/clusters/cluster-1/consumer-groups/consumer-group-1/lags", + "headers": { + "Authorization": "Basic REPLACE_BASIC_AUTH" + } + }; + + const req = http.request(options, function (res) { + const chunks = []; + + res.on("data", function (chunk) { + chunks.push(chunk); + }); + + res.on("end", function () { + const body = Buffer.concat(chunks); + console.log(body.toString()); + }); + }); + + req.end(); + - lang: C + source: |- + CURL *hnd = curl_easy_init(); + + curl_easy_setopt(hnd, CURLOPT_CUSTOMREQUEST, "GET"); + curl_easy_setopt(hnd, CURLOPT_URL, "https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1/consumer-groups/consumer-group-1/lags"); + + struct curl_slist *headers = NULL; + headers = curl_slist_append(headers, "Authorization: Basic REPLACE_BASIC_AUTH"); + curl_easy_setopt(hnd, CURLOPT_HTTPHEADER, headers); + + CURLcode ret = curl_easy_perform(hnd); + - lang: C# + source: |- + var client = new RestClient("https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1/consumer-groups/consumer-group-1/lags"); + var request = new RestRequest(Method.GET); + request.AddHeader("Authorization", "Basic REPLACE_BASIC_AUTH"); + IRestResponse response = client.Execute(request); + parameters: + - $ref: '#/components/parameters/ClusterId' + - $ref: '#/components/parameters/ConsumerGroupId' + '/kafka/v3/clusters/{cluster_id}/consumer-groups/{consumer_group_id}/lags/{topic_name}/partitions/{partition_id}': + get: + summary: Get Consumer Lag + operationId: getKafkaConsumerLag + description: |- + [![Generally Available](https://img.shields.io/badge/Lifecycle%20Stage-Generally%20Available-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) [![Available in dedicated clusters only](https://img.shields.io/badge/-Available%20in%20dedicated%20clusters%20only-%23bc8540)](https://docs.confluent.io/cloud/current/clusters/cluster-types.html#dedicated-cluster) + + Return the consumer lag on a partition with the given `partition_id`. + tags: + - Consumer Group (v3) + security: + - resource-api-key: [] + - external-access-token: [] + responses: + '200': + $ref: '#/components/responses/GetConsumerLagResponse' + '400': + $ref: '#/components/responses/BadRequestErrorResponse' + '401': + $ref: '#/components/responses/UnauthorizedErrorResponse' + '403': + $ref: '#/components/responses/ForbiddenErrorResponse' + '429': + $ref: '#/components/responses/TooManyRequestsErrorResponse' + 5XX: + $ref: '#/components/responses/ServerErrorResponse' + x-codeSamples: + - lang: Shell + source: |- + curl --request GET \ + --url https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1/consumer-groups/consumer-group-1/lags/topic-1/partitions/0 \ + --header 'Authorization: Basic REPLACE_BASIC_AUTH' + - lang: Java + source: |- + OkHttpClient client = new OkHttpClient(); + + Request request = new Request.Builder() + .url("https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1/consumer-groups/consumer-group-1/lags/topic-1/partitions/0") + .get() + .addHeader("Authorization", "Basic REPLACE_BASIC_AUTH") + .build(); + + Response response = client.newCall(request).execute(); + - lang: Go + source: "package main\n\nimport (\n\t\"fmt\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1/consumer-groups/consumer-group-1/lags/topic-1/partitions/0\"\n\n\treq, _ := http.NewRequest(\"GET\", url, nil)\n\n\treq.Header.Add(\"Authorization\", \"Basic REPLACE_BASIC_AUTH\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}" + - lang: Python + source: |- + import http.client + + conn = http.client.HTTPSConnection("pkc-00000.region.provider.confluent.cloud") + + headers = { 'Authorization': "Basic REPLACE_BASIC_AUTH" } + + conn.request("GET", "/kafka/v3/clusters/cluster-1/consumer-groups/consumer-group-1/lags/topic-1/partitions/0", headers=headers) + + res = conn.getresponse() + data = res.read() + + print(data.decode("utf-8")) + - lang: Node + source: |- + const http = require("https"); + + const options = { + "method": "GET", + "hostname": "pkc-00000.region.provider.confluent.cloud", + "port": null, + "path": "/kafka/v3/clusters/cluster-1/consumer-groups/consumer-group-1/lags/topic-1/partitions/0", + "headers": { + "Authorization": "Basic REPLACE_BASIC_AUTH" + } + }; + + const req = http.request(options, function (res) { + const chunks = []; + + res.on("data", function (chunk) { + chunks.push(chunk); + }); + + res.on("end", function () { + const body = Buffer.concat(chunks); + console.log(body.toString()); + }); + }); + + req.end(); + - lang: C + source: |- + CURL *hnd = curl_easy_init(); + + curl_easy_setopt(hnd, CURLOPT_CUSTOMREQUEST, "GET"); + curl_easy_setopt(hnd, CURLOPT_URL, "https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1/consumer-groups/consumer-group-1/lags/topic-1/partitions/0"); + + struct curl_slist *headers = NULL; + headers = curl_slist_append(headers, "Authorization: Basic REPLACE_BASIC_AUTH"); + curl_easy_setopt(hnd, CURLOPT_HTTPHEADER, headers); + + CURLcode ret = curl_easy_perform(hnd); + - lang: C# + source: |- + var client = new RestClient("https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1/consumer-groups/consumer-group-1/lags/topic-1/partitions/0"); + var request = new RestRequest(Method.GET); + request.AddHeader("Authorization", "Basic REPLACE_BASIC_AUTH"); + IRestResponse response = client.Execute(request); + parameters: + - $ref: '#/components/parameters/ClusterId' + - $ref: '#/components/parameters/ConsumerGroupId' + - $ref: '#/components/parameters/TopicName' + - $ref: '#/components/parameters/PartitionId' + '/kafka/v3/clusters/{cluster_id}/consumer-groups/{consumer_group_id}/consumers/{consumer_id}': + get: + summary: Get Consumer + operationId: getKafkaConsumer + description: |- + [![Generally Available](https://img.shields.io/badge/Lifecycle%20Stage-Generally%20Available-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + Return the consumer specified by the ``consumer_id``. + tags: + - Consumer Group (v3) + security: + - resource-api-key: [] + - external-access-token: [] + responses: + '200': + $ref: '#/components/responses/GetConsumerResponse' + '400': + $ref: '#/components/responses/BadRequestErrorResponse' + '401': + $ref: '#/components/responses/UnauthorizedErrorResponse' + '403': + $ref: '#/components/responses/ForbiddenErrorResponse' + '429': + $ref: '#/components/responses/TooManyRequestsErrorResponse' + 5XX: + $ref: '#/components/responses/ServerErrorResponse' + x-codeSamples: + - lang: Shell + source: |- + curl --request GET \ + --url https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1/consumer-groups/consumer-group-1/consumers/consumer-1 \ + --header 'Authorization: Basic REPLACE_BASIC_AUTH' + - lang: Java + source: |- + OkHttpClient client = new OkHttpClient(); + + Request request = new Request.Builder() + .url("https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1/consumer-groups/consumer-group-1/consumers/consumer-1") + .get() + .addHeader("Authorization", "Basic REPLACE_BASIC_AUTH") + .build(); + + Response response = client.newCall(request).execute(); + - lang: Go + source: "package main\n\nimport (\n\t\"fmt\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1/consumer-groups/consumer-group-1/consumers/consumer-1\"\n\n\treq, _ := http.NewRequest(\"GET\", url, nil)\n\n\treq.Header.Add(\"Authorization\", \"Basic REPLACE_BASIC_AUTH\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}" + - lang: Python + source: |- + import http.client + + conn = http.client.HTTPSConnection("pkc-00000.region.provider.confluent.cloud") + + headers = { 'Authorization': "Basic REPLACE_BASIC_AUTH" } + + conn.request("GET", "/kafka/v3/clusters/cluster-1/consumer-groups/consumer-group-1/consumers/consumer-1", headers=headers) + + res = conn.getresponse() + data = res.read() + + print(data.decode("utf-8")) + - lang: Node + source: |- + const http = require("https"); + + const options = { + "method": "GET", + "hostname": "pkc-00000.region.provider.confluent.cloud", + "port": null, + "path": "/kafka/v3/clusters/cluster-1/consumer-groups/consumer-group-1/consumers/consumer-1", + "headers": { + "Authorization": "Basic REPLACE_BASIC_AUTH" + } + }; + + const req = http.request(options, function (res) { + const chunks = []; + + res.on("data", function (chunk) { + chunks.push(chunk); + }); + + res.on("end", function () { + const body = Buffer.concat(chunks); + console.log(body.toString()); + }); + }); + + req.end(); + - lang: C + source: |- + CURL *hnd = curl_easy_init(); + + curl_easy_setopt(hnd, CURLOPT_CUSTOMREQUEST, "GET"); + curl_easy_setopt(hnd, CURLOPT_URL, "https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1/consumer-groups/consumer-group-1/consumers/consumer-1"); + + struct curl_slist *headers = NULL; + headers = curl_slist_append(headers, "Authorization: Basic REPLACE_BASIC_AUTH"); + curl_easy_setopt(hnd, CURLOPT_HTTPHEADER, headers); + + CURLcode ret = curl_easy_perform(hnd); + - lang: C# + source: |- + var client = new RestClient("https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1/consumer-groups/consumer-group-1/consumers/consumer-1"); + var request = new RestRequest(Method.GET); + request.AddHeader("Authorization", "Basic REPLACE_BASIC_AUTH"); + IRestResponse response = client.Execute(request); + parameters: + - $ref: '#/components/parameters/ClusterId' + - $ref: '#/components/parameters/ConsumerGroupId' + - $ref: '#/components/parameters/ConsumerId' + '/kafka/v3/clusters/{cluster_id}/topics': + get: + summary: List Topics + operationId: listKafkaTopics + description: |- + [![Generally Available](https://img.shields.io/badge/Lifecycle%20Stage-Generally%20Available-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + Return the list of topics that belong to the specified Kafka cluster. + tags: + - Topic (v3) + security: + - resource-api-key: [] + - external-access-token: [] + responses: + '200': + $ref: '#/components/responses/ListTopicsResponse' + '400': + $ref: '#/components/responses/BadRequestErrorResponse' + '401': + $ref: '#/components/responses/UnauthorizedErrorResponse' + '403': + $ref: '#/components/responses/ForbiddenErrorResponse' + '429': + $ref: '#/components/responses/TooManyRequestsErrorResponse' + 5XX: + $ref: '#/components/responses/ServerErrorResponse' + x-codeSamples: + - lang: Shell + source: |- + curl --request GET \ + --url https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1/topics \ + --header 'Authorization: Basic REPLACE_BASIC_AUTH' + - lang: Java + source: |- + OkHttpClient client = new OkHttpClient(); + + Request request = new Request.Builder() + .url("https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1/topics") + .get() + .addHeader("Authorization", "Basic REPLACE_BASIC_AUTH") + .build(); + + Response response = client.newCall(request).execute(); + - lang: Go + source: "package main\n\nimport (\n\t\"fmt\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1/topics\"\n\n\treq, _ := http.NewRequest(\"GET\", url, nil)\n\n\treq.Header.Add(\"Authorization\", \"Basic REPLACE_BASIC_AUTH\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}" + - lang: Python + source: |- + import http.client + + conn = http.client.HTTPSConnection("pkc-00000.region.provider.confluent.cloud") + + headers = { 'Authorization': "Basic REPLACE_BASIC_AUTH" } + + conn.request("GET", "/kafka/v3/clusters/cluster-1/topics", headers=headers) + + res = conn.getresponse() + data = res.read() + + print(data.decode("utf-8")) + - lang: Node + source: |- + const http = require("https"); + + const options = { + "method": "GET", + "hostname": "pkc-00000.region.provider.confluent.cloud", + "port": null, + "path": "/kafka/v3/clusters/cluster-1/topics", + "headers": { + "Authorization": "Basic REPLACE_BASIC_AUTH" + } + }; + + const req = http.request(options, function (res) { + const chunks = []; + + res.on("data", function (chunk) { + chunks.push(chunk); + }); + + res.on("end", function () { + const body = Buffer.concat(chunks); + console.log(body.toString()); + }); + }); + + req.end(); + - lang: C + source: |- + CURL *hnd = curl_easy_init(); + + curl_easy_setopt(hnd, CURLOPT_CUSTOMREQUEST, "GET"); + curl_easy_setopt(hnd, CURLOPT_URL, "https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1/topics"); + + struct curl_slist *headers = NULL; + headers = curl_slist_append(headers, "Authorization: Basic REPLACE_BASIC_AUTH"); + curl_easy_setopt(hnd, CURLOPT_HTTPHEADER, headers); + + CURLcode ret = curl_easy_perform(hnd); + - lang: C# + source: |- + var client = new RestClient("https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1/topics"); + var request = new RestRequest(Method.GET); + request.AddHeader("Authorization", "Basic REPLACE_BASIC_AUTH"); + IRestResponse response = client.Execute(request); + parameters: + - $ref: '#/components/parameters/ClusterId' + post: + summary: Create Topic + operationId: createKafkaTopic + description: |- + [![Generally Available](https://img.shields.io/badge/Lifecycle%20Stage-Generally%20Available-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + Create a topic. + Also supports a dry-run mode that only validates whether the topic creation would succeed + if the ``validate_only`` request property is explicitly specified and set to true. Note that + when dry-run mode is being used the response status would be 200 OK instead of 201 Created. + tags: + - Topic (v3) + security: + - resource-api-key: [] + - external-access-token: [] + requestBody: + $ref: '#/components/requestBodies/CreateTopicRequest' + responses: + '200': + $ref: '#/components/responses/CreateTopicResponse' + '201': + $ref: '#/components/responses/CreateTopicResponse' + '400': + $ref: '#/components/responses/BadRequestErrorResponse_CreateTopic' + '401': + $ref: '#/components/responses/UnauthorizedErrorResponse' + '403': + $ref: '#/components/responses/ForbiddenErrorResponse' + '429': + $ref: '#/components/responses/TooManyRequestsErrorResponse' + 5XX: + $ref: '#/components/responses/ServerErrorResponse' + x-codeSamples: + - lang: Shell + source: |- + curl --request POST \ + --url https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1/topics \ + --header 'Authorization: Basic REPLACE_BASIC_AUTH' \ + --data '{"topic_name":"string","partitions_count":0,"replication_factor":0,"configs":[{"name":"string","value":"string"}],"validate_only":true}' + - lang: Java + source: |- + OkHttpClient client = new OkHttpClient(); + + MediaType mediaType = MediaType.parse("application/json"); + RequestBody body = RequestBody.create(mediaType, "{\"topic_name\":\"string\",\"partitions_count\":0,\"replication_factor\":0,\"configs\":[{\"name\":\"string\",\"value\":\"string\"}],\"validate_only\":true}"); + Request request = new Request.Builder() + .url("https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1/topics") + .post(body) + .addHeader("Authorization", "Basic REPLACE_BASIC_AUTH") + .build(); + + Response response = client.newCall(request).execute(); + - lang: Go + source: "package main\n\nimport (\n\t\"fmt\"\n\t\"strings\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1/topics\"\n\n\tpayload := strings.NewReader(\"{\\\"topic_name\\\":\\\"string\\\",\\\"partitions_count\\\":0,\\\"replication_factor\\\":0,\\\"configs\\\":[{\\\"name\\\":\\\"string\\\",\\\"value\\\":\\\"string\\\"}],\\\"validate_only\\\":true}\")\n\n\treq, _ := http.NewRequest(\"POST\", url, payload)\n\n\treq.Header.Add(\"Authorization\", \"Basic REPLACE_BASIC_AUTH\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}" + - lang: Python + source: |- + import http.client + + conn = http.client.HTTPSConnection("pkc-00000.region.provider.confluent.cloud") + + payload = "{\"topic_name\":\"string\",\"partitions_count\":0,\"replication_factor\":0,\"configs\":[{\"name\":\"string\",\"value\":\"string\"}],\"validate_only\":true}" + + headers = { 'Authorization': "Basic REPLACE_BASIC_AUTH" } + + conn.request("POST", "/kafka/v3/clusters/cluster-1/topics", payload, headers) + + res = conn.getresponse() + data = res.read() + + print(data.decode("utf-8")) + - lang: Node + source: |- + const http = require("https"); + + const options = { + "method": "POST", + "hostname": "pkc-00000.region.provider.confluent.cloud", + "port": null, + "path": "/kafka/v3/clusters/cluster-1/topics", + "headers": { + "Authorization": "Basic REPLACE_BASIC_AUTH" + } + }; + + const req = http.request(options, function (res) { + const chunks = []; + + res.on("data", function (chunk) { + chunks.push(chunk); + }); + + res.on("end", function () { + const body = Buffer.concat(chunks); + console.log(body.toString()); + }); + }); + + req.write(JSON.stringify({ + topic_name: 'string', + partitions_count: 0, + replication_factor: 0, + configs: [{name: 'string', value: 'string'}], + validate_only: true + })); + req.end(); + - lang: C + source: |- + CURL *hnd = curl_easy_init(); + + curl_easy_setopt(hnd, CURLOPT_CUSTOMREQUEST, "POST"); + curl_easy_setopt(hnd, CURLOPT_URL, "https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1/topics"); + + struct curl_slist *headers = NULL; + headers = curl_slist_append(headers, "Authorization: Basic REPLACE_BASIC_AUTH"); + curl_easy_setopt(hnd, CURLOPT_HTTPHEADER, headers); + + curl_easy_setopt(hnd, CURLOPT_POSTFIELDS, "{\"topic_name\":\"string\",\"partitions_count\":0,\"replication_factor\":0,\"configs\":[{\"name\":\"string\",\"value\":\"string\"}],\"validate_only\":true}"); + + CURLcode ret = curl_easy_perform(hnd); + - lang: C# + source: |- + var client = new RestClient("https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1/topics"); + var request = new RestRequest(Method.POST); + request.AddHeader("Authorization", "Basic REPLACE_BASIC_AUTH"); + request.AddParameter("undefined", "{\"topic_name\":\"string\",\"partitions_count\":0,\"replication_factor\":0,\"configs\":[{\"name\":\"string\",\"value\":\"string\"}],\"validate_only\":true}", ParameterType.RequestBody); + IRestResponse response = client.Execute(request); + parameters: + - $ref: '#/components/parameters/ClusterId' + '/kafka/v3/clusters/{cluster_id}/topics/{topic_name}': + get: + summary: Get Topic + operationId: getKafkaTopic + description: |- + [![Generally Available](https://img.shields.io/badge/Lifecycle%20Stage-Generally%20Available-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + Return the topic with the given `topic_name`. + tags: + - Topic (v3) + security: + - resource-api-key: [] + - external-access-token: [] + parameters: + - $ref: '#/components/parameters/ClusterId' + - $ref: '#/components/parameters/TopicName' + responses: + '200': + $ref: '#/components/responses/GetTopicResponse' + '400': + $ref: '#/components/responses/BadRequestErrorResponse' + '401': + $ref: '#/components/responses/UnauthorizedErrorResponse' + '403': + $ref: '#/components/responses/ForbiddenErrorResponse' + '404': + $ref: '#/components/responses/NotFoundErrorResponse' + '429': + $ref: '#/components/responses/TooManyRequestsErrorResponse' + 5XX: + $ref: '#/components/responses/ServerErrorResponse' + x-codeSamples: + - lang: Shell + source: |- + curl --request GET \ + --url https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1/topics/topic-1 \ + --header 'Authorization: Basic REPLACE_BASIC_AUTH' + - lang: Java + source: |- + OkHttpClient client = new OkHttpClient(); + + Request request = new Request.Builder() + .url("https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1/topics/topic-1") + .get() + .addHeader("Authorization", "Basic REPLACE_BASIC_AUTH") + .build(); + + Response response = client.newCall(request).execute(); + - lang: Go + source: "package main\n\nimport (\n\t\"fmt\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1/topics/topic-1\"\n\n\treq, _ := http.NewRequest(\"GET\", url, nil)\n\n\treq.Header.Add(\"Authorization\", \"Basic REPLACE_BASIC_AUTH\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}" + - lang: Python + source: |- + import http.client + + conn = http.client.HTTPSConnection("pkc-00000.region.provider.confluent.cloud") + + headers = { 'Authorization': "Basic REPLACE_BASIC_AUTH" } + + conn.request("GET", "/kafka/v3/clusters/cluster-1/topics/topic-1", headers=headers) + + res = conn.getresponse() + data = res.read() + + print(data.decode("utf-8")) + - lang: Node + source: |- + const http = require("https"); + + const options = { + "method": "GET", + "hostname": "pkc-00000.region.provider.confluent.cloud", + "port": null, + "path": "/kafka/v3/clusters/cluster-1/topics/topic-1", + "headers": { + "Authorization": "Basic REPLACE_BASIC_AUTH" + } + }; + + const req = http.request(options, function (res) { + const chunks = []; + + res.on("data", function (chunk) { + chunks.push(chunk); + }); + + res.on("end", function () { + const body = Buffer.concat(chunks); + console.log(body.toString()); + }); + }); + + req.end(); + - lang: C + source: |- + CURL *hnd = curl_easy_init(); + + curl_easy_setopt(hnd, CURLOPT_CUSTOMREQUEST, "GET"); + curl_easy_setopt(hnd, CURLOPT_URL, "https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1/topics/topic-1"); + + struct curl_slist *headers = NULL; + headers = curl_slist_append(headers, "Authorization: Basic REPLACE_BASIC_AUTH"); + curl_easy_setopt(hnd, CURLOPT_HTTPHEADER, headers); + + CURLcode ret = curl_easy_perform(hnd); + - lang: C# + source: |- + var client = new RestClient("https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1/topics/topic-1"); + var request = new RestRequest(Method.GET); + request.AddHeader("Authorization", "Basic REPLACE_BASIC_AUTH"); + IRestResponse response = client.Execute(request); + patch: + summary: Update Partition Count + operationId: updatePartitionCountKafkaTopic + description: |- + [![Generally Available](https://img.shields.io/badge/Lifecycle%20Stage-Generally%20Available-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + Increase the number of partitions for a topic. + tags: + - Topic (v3) + security: + - resource-api-key: [] + - external-access-token: [] + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/UpdatePartitionCountRequestData' + responses: + '200': + $ref: '#/components/responses/GetTopicResponse' + '400': + $ref: '#/components/responses/BadRequestErrorResponse_UpdatePartitionCountTopic' + '401': + $ref: '#/components/responses/UnauthorizedErrorResponse' + '403': + $ref: '#/components/responses/ForbiddenErrorResponse' + '429': + $ref: '#/components/responses/TooManyRequestsErrorResponse' + 5XX: + $ref: '#/components/responses/ServerErrorResponse' + x-codeSamples: + - lang: Shell + source: |- + curl --request PATCH \ + --url https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1/topics/topic-1 \ + --header 'Authorization: Basic REPLACE_BASIC_AUTH' \ + --header 'content-type: application/json' \ + --data '{"partitions_count":0}' + - lang: Java + source: |- + OkHttpClient client = new OkHttpClient(); + + MediaType mediaType = MediaType.parse("application/json"); + RequestBody body = RequestBody.create(mediaType, "{\"partitions_count\":0}"); + Request request = new Request.Builder() + .url("https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1/topics/topic-1") + .patch(body) + .addHeader("content-type", "application/json") + .addHeader("Authorization", "Basic REPLACE_BASIC_AUTH") + .build(); + + Response response = client.newCall(request).execute(); + - lang: Go + source: "package main\n\nimport (\n\t\"fmt\"\n\t\"strings\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1/topics/topic-1\"\n\n\tpayload := strings.NewReader(\"{\\\"partitions_count\\\":0}\")\n\n\treq, _ := http.NewRequest(\"PATCH\", url, payload)\n\n\treq.Header.Add(\"content-type\", \"application/json\")\n\treq.Header.Add(\"Authorization\", \"Basic REPLACE_BASIC_AUTH\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}" + - lang: Python + source: |- + import http.client + + conn = http.client.HTTPSConnection("pkc-00000.region.provider.confluent.cloud") + + payload = "{\"partitions_count\":0}" + + headers = { + 'content-type': "application/json", + 'Authorization': "Basic REPLACE_BASIC_AUTH" + } + + conn.request("PATCH", "/kafka/v3/clusters/cluster-1/topics/topic-1", payload, headers) + + res = conn.getresponse() + data = res.read() + + print(data.decode("utf-8")) + - lang: Node + source: |- + const http = require("https"); + + const options = { + "method": "PATCH", + "hostname": "pkc-00000.region.provider.confluent.cloud", + "port": null, + "path": "/kafka/v3/clusters/cluster-1/topics/topic-1", + "headers": { + "content-type": "application/json", + "Authorization": "Basic REPLACE_BASIC_AUTH" + } + }; + + const req = http.request(options, function (res) { + const chunks = []; + + res.on("data", function (chunk) { + chunks.push(chunk); + }); + + res.on("end", function () { + const body = Buffer.concat(chunks); + console.log(body.toString()); + }); + }); + + req.write(JSON.stringify({partitions_count: 0})); + req.end(); + - lang: C + source: |- + CURL *hnd = curl_easy_init(); + + curl_easy_setopt(hnd, CURLOPT_CUSTOMREQUEST, "PATCH"); + curl_easy_setopt(hnd, CURLOPT_URL, "https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1/topics/topic-1"); + + struct curl_slist *headers = NULL; + headers = curl_slist_append(headers, "content-type: application/json"); + headers = curl_slist_append(headers, "Authorization: Basic REPLACE_BASIC_AUTH"); + curl_easy_setopt(hnd, CURLOPT_HTTPHEADER, headers); + + curl_easy_setopt(hnd, CURLOPT_POSTFIELDS, "{\"partitions_count\":0}"); + + CURLcode ret = curl_easy_perform(hnd); + - lang: C# + source: |- + var client = new RestClient("https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1/topics/topic-1"); + var request = new RestRequest(Method.PATCH); + request.AddHeader("content-type", "application/json"); + request.AddHeader("Authorization", "Basic REPLACE_BASIC_AUTH"); + request.AddParameter("application/json", "{\"partitions_count\":0}", ParameterType.RequestBody); + IRestResponse response = client.Execute(request); + parameters: + - $ref: '#/components/parameters/ClusterId' + - $ref: '#/components/parameters/TopicName' + delete: + summary: Delete Topic + operationId: deleteKafkaTopic + description: |- + [![Generally Available](https://img.shields.io/badge/Lifecycle%20Stage-Generally%20Available-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + Delete the topic with the given `topic_name`. + tags: + - Topic (v3) + security: + - resource-api-key: [] + - external-access-token: [] + responses: + '204': + description: No Content + '400': + $ref: '#/components/responses/BadRequestErrorResponse' + '401': + $ref: '#/components/responses/UnauthorizedErrorResponse' + '403': + $ref: '#/components/responses/ForbiddenErrorResponse' + '404': + $ref: '#/components/responses/NotFoundErrorResponse' + '429': + $ref: '#/components/responses/TooManyRequestsErrorResponse' + 5XX: + $ref: '#/components/responses/ServerErrorResponse' + x-codeSamples: + - lang: Shell + source: |- + curl --request DELETE \ + --url https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1/topics/topic-1 \ + --header 'Authorization: Basic REPLACE_BASIC_AUTH' + - lang: Java + source: |- + OkHttpClient client = new OkHttpClient(); + + Request request = new Request.Builder() + .url("https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1/topics/topic-1") + .delete(null) + .addHeader("Authorization", "Basic REPLACE_BASIC_AUTH") + .build(); + + Response response = client.newCall(request).execute(); + - lang: Go + source: "package main\n\nimport (\n\t\"fmt\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1/topics/topic-1\"\n\n\treq, _ := http.NewRequest(\"DELETE\", url, nil)\n\n\treq.Header.Add(\"Authorization\", \"Basic REPLACE_BASIC_AUTH\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}" + - lang: Python + source: |- + import http.client + + conn = http.client.HTTPSConnection("pkc-00000.region.provider.confluent.cloud") + + headers = { 'Authorization': "Basic REPLACE_BASIC_AUTH" } + + conn.request("DELETE", "/kafka/v3/clusters/cluster-1/topics/topic-1", headers=headers) + + res = conn.getresponse() + data = res.read() + + print(data.decode("utf-8")) + - lang: Node + source: |- + const http = require("https"); + + const options = { + "method": "DELETE", + "hostname": "pkc-00000.region.provider.confluent.cloud", + "port": null, + "path": "/kafka/v3/clusters/cluster-1/topics/topic-1", + "headers": { + "Authorization": "Basic REPLACE_BASIC_AUTH" + } + }; + + const req = http.request(options, function (res) { + const chunks = []; + + res.on("data", function (chunk) { + chunks.push(chunk); + }); + + res.on("end", function () { + const body = Buffer.concat(chunks); + console.log(body.toString()); + }); + }); + + req.end(); + - lang: C + source: |- + CURL *hnd = curl_easy_init(); + + curl_easy_setopt(hnd, CURLOPT_CUSTOMREQUEST, "DELETE"); + curl_easy_setopt(hnd, CURLOPT_URL, "https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1/topics/topic-1"); + + struct curl_slist *headers = NULL; + headers = curl_slist_append(headers, "Authorization: Basic REPLACE_BASIC_AUTH"); + curl_easy_setopt(hnd, CURLOPT_HTTPHEADER, headers); + + CURLcode ret = curl_easy_perform(hnd); + - lang: C# + source: |- + var client = new RestClient("https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1/topics/topic-1"); + var request = new RestRequest(Method.DELETE); + request.AddHeader("Authorization", "Basic REPLACE_BASIC_AUTH"); + IRestResponse response = client.Execute(request); + parameters: + - $ref: '#/components/parameters/ClusterId' + - $ref: '#/components/parameters/TopicName' + '/kafka/v3/clusters/{cluster_id}/topics/{topic_name}/configs': + get: + summary: List Topic Configs + operationId: listKafkaTopicConfigs + description: |- + [![Generally Available](https://img.shields.io/badge/Lifecycle%20Stage-Generally%20Available-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + Return the list of configuration parameters that belong to the specified topic. + tags: + - Configs (v3) + security: + - resource-api-key: [] + - external-access-token: [] + responses: + '200': + $ref: '#/components/responses/ListTopicConfigsResponse' + '400': + $ref: '#/components/responses/BadRequestErrorResponse' + '401': + $ref: '#/components/responses/UnauthorizedErrorResponse' + '403': + $ref: '#/components/responses/ForbiddenErrorResponse' + '404': + $ref: '#/components/responses/NotFoundErrorResponse' + '429': + $ref: '#/components/responses/TooManyRequestsErrorResponse' + 5XX: + $ref: '#/components/responses/ServerErrorResponse' + x-codeSamples: + - lang: Shell + source: |- + curl --request GET \ + --url https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1/topics/topic-1/configs \ + --header 'Authorization: Basic REPLACE_BASIC_AUTH' + - lang: Java + source: |- + OkHttpClient client = new OkHttpClient(); + + Request request = new Request.Builder() + .url("https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1/topics/topic-1/configs") + .get() + .addHeader("Authorization", "Basic REPLACE_BASIC_AUTH") + .build(); + + Response response = client.newCall(request).execute(); + - lang: Go + source: "package main\n\nimport (\n\t\"fmt\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1/topics/topic-1/configs\"\n\n\treq, _ := http.NewRequest(\"GET\", url, nil)\n\n\treq.Header.Add(\"Authorization\", \"Basic REPLACE_BASIC_AUTH\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}" + - lang: Python + source: |- + import http.client + + conn = http.client.HTTPSConnection("pkc-00000.region.provider.confluent.cloud") + + headers = { 'Authorization': "Basic REPLACE_BASIC_AUTH" } + + conn.request("GET", "/kafka/v3/clusters/cluster-1/topics/topic-1/configs", headers=headers) + + res = conn.getresponse() + data = res.read() + + print(data.decode("utf-8")) + - lang: Node + source: |- + const http = require("https"); + + const options = { + "method": "GET", + "hostname": "pkc-00000.region.provider.confluent.cloud", + "port": null, + "path": "/kafka/v3/clusters/cluster-1/topics/topic-1/configs", + "headers": { + "Authorization": "Basic REPLACE_BASIC_AUTH" + } + }; + + const req = http.request(options, function (res) { + const chunks = []; + + res.on("data", function (chunk) { + chunks.push(chunk); + }); + + res.on("end", function () { + const body = Buffer.concat(chunks); + console.log(body.toString()); + }); + }); + + req.end(); + - lang: C + source: |- + CURL *hnd = curl_easy_init(); + + curl_easy_setopt(hnd, CURLOPT_CUSTOMREQUEST, "GET"); + curl_easy_setopt(hnd, CURLOPT_URL, "https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1/topics/topic-1/configs"); + + struct curl_slist *headers = NULL; + headers = curl_slist_append(headers, "Authorization: Basic REPLACE_BASIC_AUTH"); + curl_easy_setopt(hnd, CURLOPT_HTTPHEADER, headers); + + CURLcode ret = curl_easy_perform(hnd); + - lang: C# + source: |- + var client = new RestClient("https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1/topics/topic-1/configs"); + var request = new RestRequest(Method.GET); + request.AddHeader("Authorization", "Basic REPLACE_BASIC_AUTH"); + IRestResponse response = client.Execute(request); + parameters: + - $ref: '#/components/parameters/ClusterId' + - $ref: '#/components/parameters/TopicName' + '/kafka/v3/clusters/{cluster_id}/topics/{topic_name}/configs:alter': + post: + summary: Batch Alter Topic Configs + operationId: updateKafkaTopicConfigBatch + description: |- + [![Generally Available](https://img.shields.io/badge/Lifecycle%20Stage-Generally%20Available-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + Update or delete a set of topic configuration parameters. + Also supports a dry-run mode that only validates whether the operation would succeed if the + ``validate_only`` request property is explicitly specified and set to true. + tags: + - Configs (v3) + security: + - resource-api-key: [] + - external-access-token: [] + requestBody: + $ref: '#/components/requestBodies/AlterTopicConfigBatchRequest' + responses: + '204': + description: No Content + '400': + $ref: '#/components/responses/BadRequestErrorResponse' + '401': + $ref: '#/components/responses/UnauthorizedErrorResponse' + '403': + $ref: '#/components/responses/ForbiddenErrorResponse' + '404': + $ref: '#/components/responses/NotFoundErrorResponse' + '429': + $ref: '#/components/responses/TooManyRequestsErrorResponse' + 5XX: + $ref: '#/components/responses/ServerErrorResponse' + x-codeSamples: + - lang: Shell + source: |- + curl --request POST \ + --url https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1/topics/topic-1/configs:alter \ + --header 'Authorization: Basic REPLACE_BASIC_AUTH' \ + --data '{"data":[{"name":"string","value":"string","operation":"string"}],"validate_only":true}' + - lang: Java + source: |- + OkHttpClient client = new OkHttpClient(); + + MediaType mediaType = MediaType.parse("application/json"); + RequestBody body = RequestBody.create(mediaType, "{\"data\":[{\"name\":\"string\",\"value\":\"string\",\"operation\":\"string\"}],\"validate_only\":true}"); + Request request = new Request.Builder() + .url("https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1/topics/topic-1/configs:alter") + .post(body) + .addHeader("Authorization", "Basic REPLACE_BASIC_AUTH") + .build(); + + Response response = client.newCall(request).execute(); + - lang: Go + source: "package main\n\nimport (\n\t\"fmt\"\n\t\"strings\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1/topics/topic-1/configs:alter\"\n\n\tpayload := strings.NewReader(\"{\\\"data\\\":[{\\\"name\\\":\\\"string\\\",\\\"value\\\":\\\"string\\\",\\\"operation\\\":\\\"string\\\"}],\\\"validate_only\\\":true}\")\n\n\treq, _ := http.NewRequest(\"POST\", url, payload)\n\n\treq.Header.Add(\"Authorization\", \"Basic REPLACE_BASIC_AUTH\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}" + - lang: Python + source: |- + import http.client + + conn = http.client.HTTPSConnection("pkc-00000.region.provider.confluent.cloud") + + payload = "{\"data\":[{\"name\":\"string\",\"value\":\"string\",\"operation\":\"string\"}],\"validate_only\":true}" + + headers = { 'Authorization': "Basic REPLACE_BASIC_AUTH" } + + conn.request("POST", "/kafka/v3/clusters/cluster-1/topics/topic-1/configs:alter", payload, headers) + + res = conn.getresponse() + data = res.read() + + print(data.decode("utf-8")) + - lang: Node + source: |- + const http = require("https"); + + const options = { + "method": "POST", + "hostname": "pkc-00000.region.provider.confluent.cloud", + "port": null, + "path": "/kafka/v3/clusters/cluster-1/topics/topic-1/configs:alter", + "headers": { + "Authorization": "Basic REPLACE_BASIC_AUTH" + } + }; + + const req = http.request(options, function (res) { + const chunks = []; + + res.on("data", function (chunk) { + chunks.push(chunk); + }); + + res.on("end", function () { + const body = Buffer.concat(chunks); + console.log(body.toString()); + }); + }); + + req.write(JSON.stringify({ + data: [{name: 'string', value: 'string', operation: 'string'}], + validate_only: true + })); + req.end(); + - lang: C + source: |- + CURL *hnd = curl_easy_init(); + + curl_easy_setopt(hnd, CURLOPT_CUSTOMREQUEST, "POST"); + curl_easy_setopt(hnd, CURLOPT_URL, "https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1/topics/topic-1/configs:alter"); + + struct curl_slist *headers = NULL; + headers = curl_slist_append(headers, "Authorization: Basic REPLACE_BASIC_AUTH"); + curl_easy_setopt(hnd, CURLOPT_HTTPHEADER, headers); + + curl_easy_setopt(hnd, CURLOPT_POSTFIELDS, "{\"data\":[{\"name\":\"string\",\"value\":\"string\",\"operation\":\"string\"}],\"validate_only\":true}"); + + CURLcode ret = curl_easy_perform(hnd); + - lang: C# + source: |- + var client = new RestClient("https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1/topics/topic-1/configs:alter"); + var request = new RestRequest(Method.POST); + request.AddHeader("Authorization", "Basic REPLACE_BASIC_AUTH"); + request.AddParameter("undefined", "{\"data\":[{\"name\":\"string\",\"value\":\"string\",\"operation\":\"string\"}],\"validate_only\":true}", ParameterType.RequestBody); + IRestResponse response = client.Execute(request); + parameters: + - $ref: '#/components/parameters/ClusterId' + - $ref: '#/components/parameters/TopicName' + '/kafka/v3/clusters/{cluster_id}/topics/{topic_name}/configs/{name}': + get: + summary: Get Topic Config + operationId: getKafkaTopicConfig + description: |- + [![Generally Available](https://img.shields.io/badge/Lifecycle%20Stage-Generally%20Available-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + Return the configuration parameter with the given `name`. + tags: + - Configs (v3) + security: + - resource-api-key: [] + - external-access-token: [] + responses: + '200': + $ref: '#/components/responses/GetTopicConfigResponse' + '400': + $ref: '#/components/responses/BadRequestErrorResponse' + '401': + $ref: '#/components/responses/UnauthorizedErrorResponse' + '403': + $ref: '#/components/responses/ForbiddenErrorResponse' + '404': + $ref: '#/components/responses/NotFoundErrorResponse' + '429': + $ref: '#/components/responses/TooManyRequestsErrorResponse' + 5XX: + $ref: '#/components/responses/ServerErrorResponse' + x-codeSamples: + - lang: Shell + source: |- + curl --request GET \ + --url https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1/topics/topic-1/configs/compression.type \ + --header 'Authorization: Basic REPLACE_BASIC_AUTH' + - lang: Java + source: |- + OkHttpClient client = new OkHttpClient(); + + Request request = new Request.Builder() + .url("https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1/topics/topic-1/configs/compression.type") + .get() + .addHeader("Authorization", "Basic REPLACE_BASIC_AUTH") + .build(); + + Response response = client.newCall(request).execute(); + - lang: Go + source: "package main\n\nimport (\n\t\"fmt\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1/topics/topic-1/configs/compression.type\"\n\n\treq, _ := http.NewRequest(\"GET\", url, nil)\n\n\treq.Header.Add(\"Authorization\", \"Basic REPLACE_BASIC_AUTH\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}" + - lang: Python + source: |- + import http.client + + conn = http.client.HTTPSConnection("pkc-00000.region.provider.confluent.cloud") + + headers = { 'Authorization': "Basic REPLACE_BASIC_AUTH" } + + conn.request("GET", "/kafka/v3/clusters/cluster-1/topics/topic-1/configs/compression.type", headers=headers) + + res = conn.getresponse() + data = res.read() + + print(data.decode("utf-8")) + - lang: Node + source: |- + const http = require("https"); + + const options = { + "method": "GET", + "hostname": "pkc-00000.region.provider.confluent.cloud", + "port": null, + "path": "/kafka/v3/clusters/cluster-1/topics/topic-1/configs/compression.type", + "headers": { + "Authorization": "Basic REPLACE_BASIC_AUTH" + } + }; + + const req = http.request(options, function (res) { + const chunks = []; + + res.on("data", function (chunk) { + chunks.push(chunk); + }); + + res.on("end", function () { + const body = Buffer.concat(chunks); + console.log(body.toString()); + }); + }); + + req.end(); + - lang: C + source: |- + CURL *hnd = curl_easy_init(); + + curl_easy_setopt(hnd, CURLOPT_CUSTOMREQUEST, "GET"); + curl_easy_setopt(hnd, CURLOPT_URL, "https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1/topics/topic-1/configs/compression.type"); + + struct curl_slist *headers = NULL; + headers = curl_slist_append(headers, "Authorization: Basic REPLACE_BASIC_AUTH"); + curl_easy_setopt(hnd, CURLOPT_HTTPHEADER, headers); + + CURLcode ret = curl_easy_perform(hnd); + - lang: C# + source: |- + var client = new RestClient("https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1/topics/topic-1/configs/compression.type"); + var request = new RestRequest(Method.GET); + request.AddHeader("Authorization", "Basic REPLACE_BASIC_AUTH"); + IRestResponse response = client.Execute(request); + parameters: + - $ref: '#/components/parameters/ClusterId' + - $ref: '#/components/parameters/TopicName' + - $ref: '#/components/parameters/ConfigName' + put: + summary: Update Topic Config + operationId: updateKafkaTopicConfig + description: |- + [![Generally Available](https://img.shields.io/badge/Lifecycle%20Stage-Generally%20Available-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + Update the configuration parameter with given `name`. + tags: + - Configs (v3) + security: + - resource-api-key: [] + - external-access-token: [] + requestBody: + $ref: '#/components/requestBodies/UpdateTopicConfigRequest' + responses: + '204': + description: No Content + '400': + $ref: '#/components/responses/BadRequestErrorResponse' + '401': + $ref: '#/components/responses/UnauthorizedErrorResponse' + '403': + $ref: '#/components/responses/ForbiddenErrorResponse' + '404': + $ref: '#/components/responses/NotFoundErrorResponse' + '429': + $ref: '#/components/responses/TooManyRequestsErrorResponse' + 5XX: + $ref: '#/components/responses/ServerErrorResponse' + x-codeSamples: + - lang: Shell + source: |- + curl --request PUT \ + --url https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1/topics/topic-1/configs/compression.type \ + --header 'Authorization: Basic REPLACE_BASIC_AUTH' \ + --data '{"value":"string"}' + - lang: Java + source: |- + OkHttpClient client = new OkHttpClient(); + + MediaType mediaType = MediaType.parse("application/json"); + RequestBody body = RequestBody.create(mediaType, "{\"value\":\"string\"}"); + Request request = new Request.Builder() + .url("https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1/topics/topic-1/configs/compression.type") + .put(body) + .addHeader("Authorization", "Basic REPLACE_BASIC_AUTH") + .build(); + + Response response = client.newCall(request).execute(); + - lang: Go + source: "package main\n\nimport (\n\t\"fmt\"\n\t\"strings\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1/topics/topic-1/configs/compression.type\"\n\n\tpayload := strings.NewReader(\"{\\\"value\\\":\\\"string\\\"}\")\n\n\treq, _ := http.NewRequest(\"PUT\", url, payload)\n\n\treq.Header.Add(\"Authorization\", \"Basic REPLACE_BASIC_AUTH\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}" + - lang: Python + source: |- + import http.client + + conn = http.client.HTTPSConnection("pkc-00000.region.provider.confluent.cloud") + + payload = "{\"value\":\"string\"}" + + headers = { 'Authorization': "Basic REPLACE_BASIC_AUTH" } + + conn.request("PUT", "/kafka/v3/clusters/cluster-1/topics/topic-1/configs/compression.type", payload, headers) + + res = conn.getresponse() + data = res.read() + + print(data.decode("utf-8")) + - lang: Node + source: |- + const http = require("https"); + + const options = { + "method": "PUT", + "hostname": "pkc-00000.region.provider.confluent.cloud", + "port": null, + "path": "/kafka/v3/clusters/cluster-1/topics/topic-1/configs/compression.type", + "headers": { + "Authorization": "Basic REPLACE_BASIC_AUTH" + } + }; + + const req = http.request(options, function (res) { + const chunks = []; + + res.on("data", function (chunk) { + chunks.push(chunk); + }); + + res.on("end", function () { + const body = Buffer.concat(chunks); + console.log(body.toString()); + }); + }); + + req.write(JSON.stringify({value: 'string'})); + req.end(); + - lang: C + source: |- + CURL *hnd = curl_easy_init(); + + curl_easy_setopt(hnd, CURLOPT_CUSTOMREQUEST, "PUT"); + curl_easy_setopt(hnd, CURLOPT_URL, "https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1/topics/topic-1/configs/compression.type"); + + struct curl_slist *headers = NULL; + headers = curl_slist_append(headers, "Authorization: Basic REPLACE_BASIC_AUTH"); + curl_easy_setopt(hnd, CURLOPT_HTTPHEADER, headers); + + curl_easy_setopt(hnd, CURLOPT_POSTFIELDS, "{\"value\":\"string\"}"); + + CURLcode ret = curl_easy_perform(hnd); + - lang: C# + source: |- + var client = new RestClient("https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1/topics/topic-1/configs/compression.type"); + var request = new RestRequest(Method.PUT); + request.AddHeader("Authorization", "Basic REPLACE_BASIC_AUTH"); + request.AddParameter("undefined", "{\"value\":\"string\"}", ParameterType.RequestBody); + IRestResponse response = client.Execute(request); + parameters: + - $ref: '#/components/parameters/ClusterId' + - $ref: '#/components/parameters/TopicName' + - $ref: '#/components/parameters/ConfigName' + delete: + summary: Reset Topic Config + operationId: deleteKafkaTopicConfig + description: |- + [![Generally Available](https://img.shields.io/badge/Lifecycle%20Stage-Generally%20Available-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + Reset the configuration parameter with given `name` to its default value. + tags: + - Configs (v3) + security: + - resource-api-key: [] + - external-access-token: [] + responses: + '204': + description: No Content + '400': + $ref: '#/components/responses/BadRequestErrorResponse' + '401': + $ref: '#/components/responses/UnauthorizedErrorResponse' + '403': + $ref: '#/components/responses/ForbiddenErrorResponse' + '404': + $ref: '#/components/responses/NotFoundErrorResponse' + '429': + $ref: '#/components/responses/TooManyRequestsErrorResponse' + 5XX: + $ref: '#/components/responses/ServerErrorResponse' + x-codeSamples: + - lang: Shell + source: |- + curl --request DELETE \ + --url https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1/topics/topic-1/configs/compression.type \ + --header 'Authorization: Basic REPLACE_BASIC_AUTH' + - lang: Java + source: |- + OkHttpClient client = new OkHttpClient(); + + Request request = new Request.Builder() + .url("https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1/topics/topic-1/configs/compression.type") + .delete(null) + .addHeader("Authorization", "Basic REPLACE_BASIC_AUTH") + .build(); + + Response response = client.newCall(request).execute(); + - lang: Go + source: "package main\n\nimport (\n\t\"fmt\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1/topics/topic-1/configs/compression.type\"\n\n\treq, _ := http.NewRequest(\"DELETE\", url, nil)\n\n\treq.Header.Add(\"Authorization\", \"Basic REPLACE_BASIC_AUTH\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}" + - lang: Python + source: |- + import http.client + + conn = http.client.HTTPSConnection("pkc-00000.region.provider.confluent.cloud") + + headers = { 'Authorization': "Basic REPLACE_BASIC_AUTH" } + + conn.request("DELETE", "/kafka/v3/clusters/cluster-1/topics/topic-1/configs/compression.type", headers=headers) + + res = conn.getresponse() + data = res.read() + + print(data.decode("utf-8")) + - lang: Node + source: |- + const http = require("https"); + + const options = { + "method": "DELETE", + "hostname": "pkc-00000.region.provider.confluent.cloud", + "port": null, + "path": "/kafka/v3/clusters/cluster-1/topics/topic-1/configs/compression.type", + "headers": { + "Authorization": "Basic REPLACE_BASIC_AUTH" + } + }; + + const req = http.request(options, function (res) { + const chunks = []; + + res.on("data", function (chunk) { + chunks.push(chunk); + }); + + res.on("end", function () { + const body = Buffer.concat(chunks); + console.log(body.toString()); + }); + }); + + req.end(); + - lang: C + source: |- + CURL *hnd = curl_easy_init(); + + curl_easy_setopt(hnd, CURLOPT_CUSTOMREQUEST, "DELETE"); + curl_easy_setopt(hnd, CURLOPT_URL, "https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1/topics/topic-1/configs/compression.type"); + + struct curl_slist *headers = NULL; + headers = curl_slist_append(headers, "Authorization: Basic REPLACE_BASIC_AUTH"); + curl_easy_setopt(hnd, CURLOPT_HTTPHEADER, headers); + + CURLcode ret = curl_easy_perform(hnd); + - lang: C# + source: |- + var client = new RestClient("https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1/topics/topic-1/configs/compression.type"); + var request = new RestRequest(Method.DELETE); + request.AddHeader("Authorization", "Basic REPLACE_BASIC_AUTH"); + IRestResponse response = client.Execute(request); + parameters: + - $ref: '#/components/parameters/ClusterId' + - $ref: '#/components/parameters/TopicName' + - $ref: '#/components/parameters/ConfigName' + '/kafka/v3/clusters/{cluster_id}/topics/{topic_name}/partitions': + get: + summary: List Partitions + operationId: listKafkaPartitions + description: |- + [![Generally Available](https://img.shields.io/badge/Lifecycle%20Stage-Generally%20Available-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + Return the list of partitions that belong to the specified topic. + tags: + - Partition (v3) + security: + - resource-api-key: [] + - external-access-token: [] + responses: + '200': + $ref: '#/components/responses/ListPartitionsResponse' + '400': + $ref: '#/components/responses/BadRequestErrorResponse' + '401': + $ref: '#/components/responses/UnauthorizedErrorResponse' + '403': + $ref: '#/components/responses/ForbiddenErrorResponse' + '404': + $ref: '#/components/responses/NotFoundErrorResponse' + '429': + $ref: '#/components/responses/TooManyRequestsErrorResponse' + 5XX: + $ref: '#/components/responses/ServerErrorResponse' + x-codeSamples: + - lang: Shell + source: |- + curl --request GET \ + --url https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1/topics/topic-1/partitions \ + --header 'Authorization: Basic REPLACE_BASIC_AUTH' + - lang: Java + source: |- + OkHttpClient client = new OkHttpClient(); + + Request request = new Request.Builder() + .url("https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1/topics/topic-1/partitions") + .get() + .addHeader("Authorization", "Basic REPLACE_BASIC_AUTH") + .build(); + + Response response = client.newCall(request).execute(); + - lang: Go + source: "package main\n\nimport (\n\t\"fmt\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1/topics/topic-1/partitions\"\n\n\treq, _ := http.NewRequest(\"GET\", url, nil)\n\n\treq.Header.Add(\"Authorization\", \"Basic REPLACE_BASIC_AUTH\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}" + - lang: Python + source: |- + import http.client + + conn = http.client.HTTPSConnection("pkc-00000.region.provider.confluent.cloud") + + headers = { 'Authorization': "Basic REPLACE_BASIC_AUTH" } + + conn.request("GET", "/kafka/v3/clusters/cluster-1/topics/topic-1/partitions", headers=headers) + + res = conn.getresponse() + data = res.read() + + print(data.decode("utf-8")) + - lang: Node + source: |- + const http = require("https"); + + const options = { + "method": "GET", + "hostname": "pkc-00000.region.provider.confluent.cloud", + "port": null, + "path": "/kafka/v3/clusters/cluster-1/topics/topic-1/partitions", + "headers": { + "Authorization": "Basic REPLACE_BASIC_AUTH" + } + }; + + const req = http.request(options, function (res) { + const chunks = []; + + res.on("data", function (chunk) { + chunks.push(chunk); + }); + + res.on("end", function () { + const body = Buffer.concat(chunks); + console.log(body.toString()); + }); + }); + + req.end(); + - lang: C + source: |- + CURL *hnd = curl_easy_init(); + + curl_easy_setopt(hnd, CURLOPT_CUSTOMREQUEST, "GET"); + curl_easy_setopt(hnd, CURLOPT_URL, "https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1/topics/topic-1/partitions"); + + struct curl_slist *headers = NULL; + headers = curl_slist_append(headers, "Authorization: Basic REPLACE_BASIC_AUTH"); + curl_easy_setopt(hnd, CURLOPT_HTTPHEADER, headers); + + CURLcode ret = curl_easy_perform(hnd); + - lang: C# + source: |- + var client = new RestClient("https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1/topics/topic-1/partitions"); + var request = new RestRequest(Method.GET); + request.AddHeader("Authorization", "Basic REPLACE_BASIC_AUTH"); + IRestResponse response = client.Execute(request); + parameters: + - $ref: '#/components/parameters/ClusterId' + - $ref: '#/components/parameters/TopicName' + '/kafka/v3/clusters/{cluster_id}/topics/{topic_name}/partitions/{partition_id}': + get: + summary: Get Partition + operationId: getKafkaPartition + description: |- + [![Generally Available](https://img.shields.io/badge/Lifecycle%20Stage-Generally%20Available-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + Return the partition with the given `partition_id`. + tags: + - Partition (v3) + security: + - resource-api-key: [] + - external-access-token: [] + responses: + '200': + $ref: '#/components/responses/GetPartitionResponse' + '400': + $ref: '#/components/responses/BadRequestErrorResponse' + '401': + $ref: '#/components/responses/UnauthorizedErrorResponse' + '403': + $ref: '#/components/responses/ForbiddenErrorResponse' + '404': + $ref: '#/components/responses/NotFoundErrorResponse' + '429': + $ref: '#/components/responses/TooManyRequestsErrorResponse' + 5XX: + $ref: '#/components/responses/ServerErrorResponse' + x-codeSamples: + - lang: Shell + source: |- + curl --request GET \ + --url https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1/topics/topic-1/partitions/0 \ + --header 'Authorization: Basic REPLACE_BASIC_AUTH' + - lang: Java + source: |- + OkHttpClient client = new OkHttpClient(); + + Request request = new Request.Builder() + .url("https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1/topics/topic-1/partitions/0") + .get() + .addHeader("Authorization", "Basic REPLACE_BASIC_AUTH") + .build(); + + Response response = client.newCall(request).execute(); + - lang: Go + source: "package main\n\nimport (\n\t\"fmt\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1/topics/topic-1/partitions/0\"\n\n\treq, _ := http.NewRequest(\"GET\", url, nil)\n\n\treq.Header.Add(\"Authorization\", \"Basic REPLACE_BASIC_AUTH\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}" + - lang: Python + source: |- + import http.client + + conn = http.client.HTTPSConnection("pkc-00000.region.provider.confluent.cloud") + + headers = { 'Authorization': "Basic REPLACE_BASIC_AUTH" } + + conn.request("GET", "/kafka/v3/clusters/cluster-1/topics/topic-1/partitions/0", headers=headers) + + res = conn.getresponse() + data = res.read() + + print(data.decode("utf-8")) + - lang: Node + source: |- + const http = require("https"); + + const options = { + "method": "GET", + "hostname": "pkc-00000.region.provider.confluent.cloud", + "port": null, + "path": "/kafka/v3/clusters/cluster-1/topics/topic-1/partitions/0", + "headers": { + "Authorization": "Basic REPLACE_BASIC_AUTH" + } + }; + + const req = http.request(options, function (res) { + const chunks = []; + + res.on("data", function (chunk) { + chunks.push(chunk); + }); + + res.on("end", function () { + const body = Buffer.concat(chunks); + console.log(body.toString()); + }); + }); + + req.end(); + - lang: C + source: |- + CURL *hnd = curl_easy_init(); + + curl_easy_setopt(hnd, CURLOPT_CUSTOMREQUEST, "GET"); + curl_easy_setopt(hnd, CURLOPT_URL, "https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1/topics/topic-1/partitions/0"); + + struct curl_slist *headers = NULL; + headers = curl_slist_append(headers, "Authorization: Basic REPLACE_BASIC_AUTH"); + curl_easy_setopt(hnd, CURLOPT_HTTPHEADER, headers); + + CURLcode ret = curl_easy_perform(hnd); + - lang: C# + source: |- + var client = new RestClient("https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1/topics/topic-1/partitions/0"); + var request = new RestRequest(Method.GET); + request.AddHeader("Authorization", "Basic REPLACE_BASIC_AUTH"); + IRestResponse response = client.Execute(request); + parameters: + - $ref: '#/components/parameters/ClusterId' + - $ref: '#/components/parameters/TopicName' + - $ref: '#/components/parameters/PartitionId' + '/kafka/v3/clusters/{cluster_id}/topics/-/configs': + get: + summary: List All Topic Configs + operationId: listKafkaAllTopicConfigs + description: |- + [![Generally Available](https://img.shields.io/badge/Lifecycle%20Stage-Generally%20Available-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + Return the list of configuration parameters for all topics hosted by the specified + cluster. + tags: + - Configs (v3) + security: + - resource-api-key: [] + - external-access-token: [] + responses: + '200': + $ref: '#/components/responses/ListTopicConfigsResponse' + '400': + $ref: '#/components/responses/BadRequestErrorResponse' + '401': + $ref: '#/components/responses/UnauthorizedErrorResponse' + '403': + $ref: '#/components/responses/ForbiddenErrorResponse' + '429': + $ref: '#/components/responses/TooManyRequestsErrorResponse' + 5XX: + $ref: '#/components/responses/ServerErrorResponse' + x-codeSamples: + - lang: Shell + source: |- + curl --request GET \ + --url https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1/topics/-/configs \ + --header 'Authorization: Basic REPLACE_BASIC_AUTH' + - lang: Java + source: |- + OkHttpClient client = new OkHttpClient(); + + Request request = new Request.Builder() + .url("https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1/topics/-/configs") + .get() + .addHeader("Authorization", "Basic REPLACE_BASIC_AUTH") + .build(); + + Response response = client.newCall(request).execute(); + - lang: Go + source: "package main\n\nimport (\n\t\"fmt\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1/topics/-/configs\"\n\n\treq, _ := http.NewRequest(\"GET\", url, nil)\n\n\treq.Header.Add(\"Authorization\", \"Basic REPLACE_BASIC_AUTH\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}" + - lang: Python + source: |- + import http.client + + conn = http.client.HTTPSConnection("pkc-00000.region.provider.confluent.cloud") + + headers = { 'Authorization': "Basic REPLACE_BASIC_AUTH" } + + conn.request("GET", "/kafka/v3/clusters/cluster-1/topics/-/configs", headers=headers) + + res = conn.getresponse() + data = res.read() + + print(data.decode("utf-8")) + - lang: Node + source: |- + const http = require("https"); + + const options = { + "method": "GET", + "hostname": "pkc-00000.region.provider.confluent.cloud", + "port": null, + "path": "/kafka/v3/clusters/cluster-1/topics/-/configs", + "headers": { + "Authorization": "Basic REPLACE_BASIC_AUTH" + } + }; + + const req = http.request(options, function (res) { + const chunks = []; + + res.on("data", function (chunk) { + chunks.push(chunk); + }); + + res.on("end", function () { + const body = Buffer.concat(chunks); + console.log(body.toString()); + }); + }); + + req.end(); + - lang: C + source: |- + CURL *hnd = curl_easy_init(); + + curl_easy_setopt(hnd, CURLOPT_CUSTOMREQUEST, "GET"); + curl_easy_setopt(hnd, CURLOPT_URL, "https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1/topics/-/configs"); + + struct curl_slist *headers = NULL; + headers = curl_slist_append(headers, "Authorization: Basic REPLACE_BASIC_AUTH"); + curl_easy_setopt(hnd, CURLOPT_HTTPHEADER, headers); + + CURLcode ret = curl_easy_perform(hnd); + - lang: C# + source: |- + var client = new RestClient("https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1/topics/-/configs"); + var request = new RestRequest(Method.GET); + request.AddHeader("Authorization", "Basic REPLACE_BASIC_AUTH"); + IRestResponse response = client.Execute(request); + parameters: + - $ref: '#/components/parameters/ClusterId' + '/kafka/v3/clusters/{cluster_id}/topics/{topic_name}/records': + post: + summary: Produce Records + operationId: produceRecord + description: |- + [![Generally Available](https://img.shields.io/badge/Lifecycle%20Stage-Generally%20Available-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + Produce records to the given topic, returning delivery reports for each + record produced. This API can be used in streaming mode by setting + "Transfer-Encoding: chunked" header. For as long as the connection is + kept open, the server will keep accepting records. Records are streamed + to and from the server as Concatenated JSON. For each record sent to the + server, the server will asynchronously send back a delivery report, in + the same order, each with its own error_code. An error_code of 200 + indicates success. The HTTP status code will be HTTP 200 OK as long as + the connection is successfully established. To identify records that + have encountered an error, check the error_code of each delivery report. + + Note that the cluster_id is validated only when running in Confluent Cloud. + + This API currently does not support Schema Registry integration. Sending + schemas is not supported. Only BINARY, JSON, and STRING formats are + supported. + tags: + - Records (v3) + security: + - resource-api-key: [] + - external-access-token: [] + requestBody: + $ref: '#/components/requestBodies/ProduceRequest' + responses: + '200': + $ref: '#/components/responses/ProduceResponse' + '400': + $ref: '#/components/responses/BadRequestErrorResponse_ProduceRecords' + '401': + $ref: '#/components/responses/UnauthorizedErrorResponse' + '403': + $ref: '#/components/responses/ForbiddenErrorResponse' + '404': + $ref: '#/components/responses/NotFoundErrorResponse' + '413': + $ref: '#/components/responses/RequestEntityTooLargeErrorResponse' + '415': + $ref: '#/components/responses/UnsupportedMediaTypeErrorResponse' + '422': + $ref: '#/components/responses/UnprocessableEntity_ProduceRecord' + '429': + $ref: '#/components/responses/TooManyRequestsErrorResponse' + 5XX: + $ref: '#/components/responses/ServerErrorResponse' + x-codeSamples: + - lang: Shell + source: |- + curl --request POST \ + --url https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1/topics/topic-1/records \ + --header 'Authorization: Basic REPLACE_BASIC_AUTH' \ + --data '{"partition_id":0,"headers":[{"name":"string","value":"string"}],"key":{"type":"string","data":null},"value":{"type":"string","data":null},"timestamp":"2019-08-24T14:15:22Z"}' + - lang: Java + source: |- + OkHttpClient client = new OkHttpClient(); + + MediaType mediaType = MediaType.parse("application/json"); + RequestBody body = RequestBody.create(mediaType, "{\"partition_id\":0,\"headers\":[{\"name\":\"string\",\"value\":\"string\"}],\"key\":{\"type\":\"string\",\"data\":null},\"value\":{\"type\":\"string\",\"data\":null},\"timestamp\":\"2019-08-24T14:15:22Z\"}"); + Request request = new Request.Builder() + .url("https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1/topics/topic-1/records") + .post(body) + .addHeader("Authorization", "Basic REPLACE_BASIC_AUTH") + .build(); + + Response response = client.newCall(request).execute(); + - lang: Go + source: "package main\n\nimport (\n\t\"fmt\"\n\t\"strings\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1/topics/topic-1/records\"\n\n\tpayload := strings.NewReader(\"{\\\"partition_id\\\":0,\\\"headers\\\":[{\\\"name\\\":\\\"string\\\",\\\"value\\\":\\\"string\\\"}],\\\"key\\\":{\\\"type\\\":\\\"string\\\",\\\"data\\\":null},\\\"value\\\":{\\\"type\\\":\\\"string\\\",\\\"data\\\":null},\\\"timestamp\\\":\\\"2019-08-24T14:15:22Z\\\"}\")\n\n\treq, _ := http.NewRequest(\"POST\", url, payload)\n\n\treq.Header.Add(\"Authorization\", \"Basic REPLACE_BASIC_AUTH\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}" + - lang: Python + source: |- + import http.client + + conn = http.client.HTTPSConnection("pkc-00000.region.provider.confluent.cloud") + + payload = "{\"partition_id\":0,\"headers\":[{\"name\":\"string\",\"value\":\"string\"}],\"key\":{\"type\":\"string\",\"data\":null},\"value\":{\"type\":\"string\",\"data\":null},\"timestamp\":\"2019-08-24T14:15:22Z\"}" + + headers = { 'Authorization': "Basic REPLACE_BASIC_AUTH" } + + conn.request("POST", "/kafka/v3/clusters/cluster-1/topics/topic-1/records", payload, headers) + + res = conn.getresponse() + data = res.read() + + print(data.decode("utf-8")) + - lang: Node + source: |- + const http = require("https"); + + const options = { + "method": "POST", + "hostname": "pkc-00000.region.provider.confluent.cloud", + "port": null, + "path": "/kafka/v3/clusters/cluster-1/topics/topic-1/records", + "headers": { + "Authorization": "Basic REPLACE_BASIC_AUTH" + } + }; + + const req = http.request(options, function (res) { + const chunks = []; + + res.on("data", function (chunk) { + chunks.push(chunk); + }); + + res.on("end", function () { + const body = Buffer.concat(chunks); + console.log(body.toString()); + }); + }); + + req.write(JSON.stringify({ + partition_id: 0, + headers: [{name: 'string', value: 'string'}], + key: {type: 'string', data: null}, + value: {type: 'string', data: null}, + timestamp: '2019-08-24T14:15:22Z' + })); + req.end(); + - lang: C + source: |- + CURL *hnd = curl_easy_init(); + + curl_easy_setopt(hnd, CURLOPT_CUSTOMREQUEST, "POST"); + curl_easy_setopt(hnd, CURLOPT_URL, "https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1/topics/topic-1/records"); + + struct curl_slist *headers = NULL; + headers = curl_slist_append(headers, "Authorization: Basic REPLACE_BASIC_AUTH"); + curl_easy_setopt(hnd, CURLOPT_HTTPHEADER, headers); + + curl_easy_setopt(hnd, CURLOPT_POSTFIELDS, "{\"partition_id\":0,\"headers\":[{\"name\":\"string\",\"value\":\"string\"}],\"key\":{\"type\":\"string\",\"data\":null},\"value\":{\"type\":\"string\",\"data\":null},\"timestamp\":\"2019-08-24T14:15:22Z\"}"); + + CURLcode ret = curl_easy_perform(hnd); + - lang: C# + source: |- + var client = new RestClient("https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1/topics/topic-1/records"); + var request = new RestRequest(Method.POST); + request.AddHeader("Authorization", "Basic REPLACE_BASIC_AUTH"); + request.AddParameter("undefined", "{\"partition_id\":0,\"headers\":[{\"name\":\"string\",\"value\":\"string\"}],\"key\":{\"type\":\"string\",\"data\":null},\"value\":{\"type\":\"string\",\"data\":null},\"timestamp\":\"2019-08-24T14:15:22Z\"}", ParameterType.RequestBody); + IRestResponse response = client.Execute(request); + parameters: + - $ref: '#/components/parameters/ClusterId' + - $ref: '#/components/parameters/TopicName' + '/kafka/v3/clusters/{cluster_id}/links': + get: + summary: List all cluster links in the dest cluster + operationId: listKafkaLinks + description: |- + [![Generally Available](https://img.shields.io/badge/Lifecycle%20Stage-Generally%20Available-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + ``link_id`` in ``ListLinksResponseData`` is deprecated and may be removed in a future release. Use the new ``cluster_link_id`` instead. + tags: + - Cluster Linking (v3) + security: + - resource-api-key: [] + - external-access-token: [] + responses: + '200': + $ref: '#/components/responses/ListLinksResponse' + '400': + $ref: '#/components/responses/BadRequestErrorResponse' + '401': + $ref: '#/components/responses/UnauthorizedErrorResponse' + '429': + $ref: '#/components/responses/TooManyRequestsErrorResponse' + 5XX: + $ref: '#/components/responses/ServerErrorResponse' + x-codeSamples: + - lang: Shell + source: |- + curl --request GET \ + --url https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1/links \ + --header 'Authorization: Basic REPLACE_BASIC_AUTH' + - lang: Java + source: |- + OkHttpClient client = new OkHttpClient(); + + Request request = new Request.Builder() + .url("https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1/links") + .get() + .addHeader("Authorization", "Basic REPLACE_BASIC_AUTH") + .build(); + + Response response = client.newCall(request).execute(); + - lang: Go + source: "package main\n\nimport (\n\t\"fmt\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1/links\"\n\n\treq, _ := http.NewRequest(\"GET\", url, nil)\n\n\treq.Header.Add(\"Authorization\", \"Basic REPLACE_BASIC_AUTH\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}" + - lang: Python + source: |- + import http.client + + conn = http.client.HTTPSConnection("pkc-00000.region.provider.confluent.cloud") + + headers = { 'Authorization': "Basic REPLACE_BASIC_AUTH" } + + conn.request("GET", "/kafka/v3/clusters/cluster-1/links", headers=headers) + + res = conn.getresponse() + data = res.read() + + print(data.decode("utf-8")) + - lang: Node + source: |- + const http = require("https"); + + const options = { + "method": "GET", + "hostname": "pkc-00000.region.provider.confluent.cloud", + "port": null, + "path": "/kafka/v3/clusters/cluster-1/links", + "headers": { + "Authorization": "Basic REPLACE_BASIC_AUTH" + } + }; + + const req = http.request(options, function (res) { + const chunks = []; + + res.on("data", function (chunk) { + chunks.push(chunk); + }); + + res.on("end", function () { + const body = Buffer.concat(chunks); + console.log(body.toString()); + }); + }); + + req.end(); + - lang: C + source: |- + CURL *hnd = curl_easy_init(); + + curl_easy_setopt(hnd, CURLOPT_CUSTOMREQUEST, "GET"); + curl_easy_setopt(hnd, CURLOPT_URL, "https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1/links"); + + struct curl_slist *headers = NULL; + headers = curl_slist_append(headers, "Authorization: Basic REPLACE_BASIC_AUTH"); + curl_easy_setopt(hnd, CURLOPT_HTTPHEADER, headers); + + CURLcode ret = curl_easy_perform(hnd); + - lang: C# + source: |- + var client = new RestClient("https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1/links"); + var request = new RestRequest(Method.GET); + request.AddHeader("Authorization", "Basic REPLACE_BASIC_AUTH"); + IRestResponse response = client.Execute(request); + parameters: + - $ref: '#/components/parameters/ClusterId' + post: + summary: Create a cluster link + operationId: createKafkaLink + description: |- + [![Generally Available](https://img.shields.io/badge/Lifecycle%20Stage-Generally%20Available-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + Cluster link creation requires source cluster security configurations in + the configs JSON section of the data request payload. + tags: + - Cluster Linking (v3) + security: + - resource-api-key: [] + - external-access-token: [] + parameters: + - $ref: '#/components/parameters/ClusterId' + requestBody: + $ref: '#/components/requestBodies/CreateLinkRequest' + responses: + '204': + $ref: '#/components/responses/NoContentResponse' + '400': + $ref: '#/components/responses/BadRequestErrorResponse' + '401': + $ref: '#/components/responses/UnauthorizedErrorResponse' + '429': + $ref: '#/components/responses/TooManyRequestsErrorResponse' + 5XX: + $ref: '#/components/responses/ServerErrorResponse' + x-codeSamples: + - lang: Shell + source: |- + curl --request POST \ + --url https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1/links \ + --header 'Authorization: Basic REPLACE_BASIC_AUTH' \ + --data '{"source_cluster_id":"string","destination_cluster_id":"string","remote_cluster_id":"string","cluster_link_id":"string","configs":[{"name":"name","value":"value"}]}' + - lang: Java + source: |- + OkHttpClient client = new OkHttpClient(); + + MediaType mediaType = MediaType.parse("application/json"); + RequestBody body = RequestBody.create(mediaType, "{\"source_cluster_id\":\"string\",\"destination_cluster_id\":\"string\",\"remote_cluster_id\":\"string\",\"cluster_link_id\":\"string\",\"configs\":[{\"name\":\"name\",\"value\":\"value\"}]}"); + Request request = new Request.Builder() + .url("https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1/links") + .post(body) + .addHeader("Authorization", "Basic REPLACE_BASIC_AUTH") + .build(); + + Response response = client.newCall(request).execute(); + - lang: Go + source: "package main\n\nimport (\n\t\"fmt\"\n\t\"strings\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1/links\"\n\n\tpayload := strings.NewReader(\"{\\\"source_cluster_id\\\":\\\"string\\\",\\\"destination_cluster_id\\\":\\\"string\\\",\\\"remote_cluster_id\\\":\\\"string\\\",\\\"cluster_link_id\\\":\\\"string\\\",\\\"configs\\\":[{\\\"name\\\":\\\"name\\\",\\\"value\\\":\\\"value\\\"}]}\")\n\n\treq, _ := http.NewRequest(\"POST\", url, payload)\n\n\treq.Header.Add(\"Authorization\", \"Basic REPLACE_BASIC_AUTH\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}" + - lang: Python + source: |- + import http.client + + conn = http.client.HTTPSConnection("pkc-00000.region.provider.confluent.cloud") + + payload = "{\"source_cluster_id\":\"string\",\"destination_cluster_id\":\"string\",\"remote_cluster_id\":\"string\",\"cluster_link_id\":\"string\",\"configs\":[{\"name\":\"name\",\"value\":\"value\"}]}" + + headers = { 'Authorization': "Basic REPLACE_BASIC_AUTH" } + + conn.request("POST", "/kafka/v3/clusters/cluster-1/links", payload, headers) + + res = conn.getresponse() + data = res.read() + + print(data.decode("utf-8")) + - lang: Node + source: |- + const http = require("https"); + + const options = { + "method": "POST", + "hostname": "pkc-00000.region.provider.confluent.cloud", + "port": null, + "path": "/kafka/v3/clusters/cluster-1/links", + "headers": { + "Authorization": "Basic REPLACE_BASIC_AUTH" + } + }; + + const req = http.request(options, function (res) { + const chunks = []; + + res.on("data", function (chunk) { + chunks.push(chunk); + }); + + res.on("end", function () { + const body = Buffer.concat(chunks); + console.log(body.toString()); + }); + }); + + req.write(JSON.stringify({ + source_cluster_id: 'string', + destination_cluster_id: 'string', + remote_cluster_id: 'string', + cluster_link_id: 'string', + configs: [{name: 'name', value: 'value'}] + })); + req.end(); + - lang: C + source: |- + CURL *hnd = curl_easy_init(); + + curl_easy_setopt(hnd, CURLOPT_CUSTOMREQUEST, "POST"); + curl_easy_setopt(hnd, CURLOPT_URL, "https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1/links"); + + struct curl_slist *headers = NULL; + headers = curl_slist_append(headers, "Authorization: Basic REPLACE_BASIC_AUTH"); + curl_easy_setopt(hnd, CURLOPT_HTTPHEADER, headers); + + curl_easy_setopt(hnd, CURLOPT_POSTFIELDS, "{\"source_cluster_id\":\"string\",\"destination_cluster_id\":\"string\",\"remote_cluster_id\":\"string\",\"cluster_link_id\":\"string\",\"configs\":[{\"name\":\"name\",\"value\":\"value\"}]}"); + + CURLcode ret = curl_easy_perform(hnd); + - lang: C# + source: |- + var client = new RestClient("https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1/links"); + var request = new RestRequest(Method.POST); + request.AddHeader("Authorization", "Basic REPLACE_BASIC_AUTH"); + request.AddParameter("undefined", "{\"source_cluster_id\":\"string\",\"destination_cluster_id\":\"string\",\"remote_cluster_id\":\"string\",\"cluster_link_id\":\"string\",\"configs\":[{\"name\":\"name\",\"value\":\"value\"}]}", ParameterType.RequestBody); + IRestResponse response = client.Execute(request); + '/kafka/v3/clusters/{cluster_id}/links/{link_name}': + get: + summary: Describe the cluster link + operationId: getKafkaLink + description: |- + [![Generally Available](https://img.shields.io/badge/Lifecycle%20Stage-Generally%20Available-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + ``link_id`` in ``ListLinksResponseData`` is deprecated and may be removed in a future release. Use the new ``cluster_link_id`` instead. + tags: + - Cluster Linking (v3) + parameters: + - $ref: '#/components/parameters/ClusterId' + - $ref: '#/components/parameters/LinkName' + security: + - resource-api-key: [] + - external-access-token: [] + responses: + '200': + $ref: '#/components/responses/GetLinkResponse' + '400': + $ref: '#/components/responses/BadRequestErrorResponse' + '401': + $ref: '#/components/responses/UnauthorizedErrorResponse' + '429': + $ref: '#/components/responses/TooManyRequestsErrorResponse' + 5XX: + $ref: '#/components/responses/ServerErrorResponse' + x-codeSamples: + - lang: Shell + source: |- + curl --request GET \ + --url https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1/links/link-sb1 \ + --header 'Authorization: Basic REPLACE_BASIC_AUTH' + - lang: Java + source: |- + OkHttpClient client = new OkHttpClient(); + + Request request = new Request.Builder() + .url("https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1/links/link-sb1") + .get() + .addHeader("Authorization", "Basic REPLACE_BASIC_AUTH") + .build(); + + Response response = client.newCall(request).execute(); + - lang: Go + source: "package main\n\nimport (\n\t\"fmt\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1/links/link-sb1\"\n\n\treq, _ := http.NewRequest(\"GET\", url, nil)\n\n\treq.Header.Add(\"Authorization\", \"Basic REPLACE_BASIC_AUTH\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}" + - lang: Python + source: |- + import http.client + + conn = http.client.HTTPSConnection("pkc-00000.region.provider.confluent.cloud") + + headers = { 'Authorization': "Basic REPLACE_BASIC_AUTH" } + + conn.request("GET", "/kafka/v3/clusters/cluster-1/links/link-sb1", headers=headers) + + res = conn.getresponse() + data = res.read() + + print(data.decode("utf-8")) + - lang: Node + source: |- + const http = require("https"); + + const options = { + "method": "GET", + "hostname": "pkc-00000.region.provider.confluent.cloud", + "port": null, + "path": "/kafka/v3/clusters/cluster-1/links/link-sb1", + "headers": { + "Authorization": "Basic REPLACE_BASIC_AUTH" + } + }; + + const req = http.request(options, function (res) { + const chunks = []; + + res.on("data", function (chunk) { + chunks.push(chunk); + }); + + res.on("end", function () { + const body = Buffer.concat(chunks); + console.log(body.toString()); + }); + }); + + req.end(); + - lang: C + source: |- + CURL *hnd = curl_easy_init(); + + curl_easy_setopt(hnd, CURLOPT_CUSTOMREQUEST, "GET"); + curl_easy_setopt(hnd, CURLOPT_URL, "https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1/links/link-sb1"); + + struct curl_slist *headers = NULL; + headers = curl_slist_append(headers, "Authorization: Basic REPLACE_BASIC_AUTH"); + curl_easy_setopt(hnd, CURLOPT_HTTPHEADER, headers); + + CURLcode ret = curl_easy_perform(hnd); + - lang: C# + source: |- + var client = new RestClient("https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1/links/link-sb1"); + var request = new RestRequest(Method.GET); + request.AddHeader("Authorization", "Basic REPLACE_BASIC_AUTH"); + IRestResponse response = client.Execute(request); + delete: + summary: Delete the cluster link + operationId: deleteKafkaLink + description: '[![Generally Available](https://img.shields.io/badge/Lifecycle%20Stage-Generally%20Available-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy)' + tags: + - Cluster Linking (v3) + security: + - resource-api-key: [] + - external-access-token: [] + parameters: + - $ref: '#/components/parameters/ClusterId' + - $ref: '#/components/parameters/LinkName' + responses: + '200': + $ref: '#/components/responses/NoContentResponse' + '400': + $ref: '#/components/responses/BadRequestErrorResponse' + '401': + $ref: '#/components/responses/UnauthorizedErrorResponse' + '429': + $ref: '#/components/responses/TooManyRequestsErrorResponse' + 5XX: + $ref: '#/components/responses/ServerErrorResponse' + x-codeSamples: + - lang: Shell + source: |- + curl --request DELETE \ + --url https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1/links/link-sb1 \ + --header 'Authorization: Basic REPLACE_BASIC_AUTH' + - lang: Java + source: |- + OkHttpClient client = new OkHttpClient(); + + Request request = new Request.Builder() + .url("https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1/links/link-sb1") + .delete(null) + .addHeader("Authorization", "Basic REPLACE_BASIC_AUTH") + .build(); + + Response response = client.newCall(request).execute(); + - lang: Go + source: "package main\n\nimport (\n\t\"fmt\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1/links/link-sb1\"\n\n\treq, _ := http.NewRequest(\"DELETE\", url, nil)\n\n\treq.Header.Add(\"Authorization\", \"Basic REPLACE_BASIC_AUTH\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}" + - lang: Python + source: |- + import http.client + + conn = http.client.HTTPSConnection("pkc-00000.region.provider.confluent.cloud") + + headers = { 'Authorization': "Basic REPLACE_BASIC_AUTH" } + + conn.request("DELETE", "/kafka/v3/clusters/cluster-1/links/link-sb1", headers=headers) + + res = conn.getresponse() + data = res.read() + + print(data.decode("utf-8")) + - lang: Node + source: |- + const http = require("https"); + + const options = { + "method": "DELETE", + "hostname": "pkc-00000.region.provider.confluent.cloud", + "port": null, + "path": "/kafka/v3/clusters/cluster-1/links/link-sb1", + "headers": { + "Authorization": "Basic REPLACE_BASIC_AUTH" + } + }; + + const req = http.request(options, function (res) { + const chunks = []; + + res.on("data", function (chunk) { + chunks.push(chunk); + }); + + res.on("end", function () { + const body = Buffer.concat(chunks); + console.log(body.toString()); + }); + }); + + req.end(); + - lang: C + source: |- + CURL *hnd = curl_easy_init(); + + curl_easy_setopt(hnd, CURLOPT_CUSTOMREQUEST, "DELETE"); + curl_easy_setopt(hnd, CURLOPT_URL, "https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1/links/link-sb1"); + + struct curl_slist *headers = NULL; + headers = curl_slist_append(headers, "Authorization: Basic REPLACE_BASIC_AUTH"); + curl_easy_setopt(hnd, CURLOPT_HTTPHEADER, headers); + + CURLcode ret = curl_easy_perform(hnd); + - lang: C# + source: |- + var client = new RestClient("https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1/links/link-sb1"); + var request = new RestRequest(Method.DELETE); + request.AddHeader("Authorization", "Basic REPLACE_BASIC_AUTH"); + IRestResponse response = client.Execute(request); + '/kafka/v3/clusters/{cluster_id}/topics/{topic_name}/default-configs': + get: + summary: List New Topic Default Configs + operationId: listKafkaDefaultTopicConfigs + description: |- + [![Generally Available](https://img.shields.io/badge/Lifecycle%20Stage-Generally%20Available-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + List the default configuration parameters used if the topic were to be newly created. + tags: + - Configs (v3) + security: + - resource-api-key: [] + - external-access-token: [] + responses: + '200': + $ref: '#/components/responses/ListTopicConfigsResponse' + '400': + $ref: '#/components/responses/BadRequestErrorResponse' + '401': + $ref: '#/components/responses/UnauthorizedErrorResponse' + '404': + $ref: '#/components/responses/NotFoundErrorResponse' + '429': + $ref: '#/components/responses/TooManyRequestsErrorResponse' + 5XX: + $ref: '#/components/responses/ServerErrorResponse' + x-codeSamples: + - lang: Shell + source: |- + curl --request GET \ + --url https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1/topics/topic-1/default-configs \ + --header 'Authorization: Basic REPLACE_BASIC_AUTH' + - lang: Java + source: |- + OkHttpClient client = new OkHttpClient(); + + Request request = new Request.Builder() + .url("https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1/topics/topic-1/default-configs") + .get() + .addHeader("Authorization", "Basic REPLACE_BASIC_AUTH") + .build(); + + Response response = client.newCall(request).execute(); + - lang: Go + source: "package main\n\nimport (\n\t\"fmt\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1/topics/topic-1/default-configs\"\n\n\treq, _ := http.NewRequest(\"GET\", url, nil)\n\n\treq.Header.Add(\"Authorization\", \"Basic REPLACE_BASIC_AUTH\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}" + - lang: Python + source: |- + import http.client + + conn = http.client.HTTPSConnection("pkc-00000.region.provider.confluent.cloud") + + headers = { 'Authorization': "Basic REPLACE_BASIC_AUTH" } + + conn.request("GET", "/kafka/v3/clusters/cluster-1/topics/topic-1/default-configs", headers=headers) + + res = conn.getresponse() + data = res.read() + + print(data.decode("utf-8")) + - lang: Node + source: |- + const http = require("https"); + + const options = { + "method": "GET", + "hostname": "pkc-00000.region.provider.confluent.cloud", + "port": null, + "path": "/kafka/v3/clusters/cluster-1/topics/topic-1/default-configs", + "headers": { + "Authorization": "Basic REPLACE_BASIC_AUTH" + } + }; + + const req = http.request(options, function (res) { + const chunks = []; + + res.on("data", function (chunk) { + chunks.push(chunk); + }); + + res.on("end", function () { + const body = Buffer.concat(chunks); + console.log(body.toString()); + }); + }); + + req.end(); + - lang: C + source: |- + CURL *hnd = curl_easy_init(); + + curl_easy_setopt(hnd, CURLOPT_CUSTOMREQUEST, "GET"); + curl_easy_setopt(hnd, CURLOPT_URL, "https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1/topics/topic-1/default-configs"); + + struct curl_slist *headers = NULL; + headers = curl_slist_append(headers, "Authorization: Basic REPLACE_BASIC_AUTH"); + curl_easy_setopt(hnd, CURLOPT_HTTPHEADER, headers); + + CURLcode ret = curl_easy_perform(hnd); + - lang: C# + source: |- + var client = new RestClient("https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1/topics/topic-1/default-configs"); + var request = new RestRequest(Method.GET); + request.AddHeader("Authorization", "Basic REPLACE_BASIC_AUTH"); + IRestResponse response = client.Execute(request); + parameters: + - $ref: '#/components/parameters/ClusterId' + - $ref: '#/components/parameters/TopicName' + '/kafka/v3/clusters/{cluster_id}/links/{link_name}/configs': + get: + summary: List all configs of the cluster link + operationId: listKafkaLinkConfigs + description: '[![Generally Available](https://img.shields.io/badge/Lifecycle%20Stage-Generally%20Available-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy)' + tags: + - Cluster Linking (v3) + security: + - resource-api-key: [] + - external-access-token: [] + responses: + '200': + $ref: '#/components/responses/ListLinkConfigsResponse' + '400': + $ref: '#/components/responses/BadRequestErrorResponse' + '401': + $ref: '#/components/responses/UnauthorizedErrorResponse' + '429': + $ref: '#/components/responses/TooManyRequestsErrorResponse' + 5XX: + $ref: '#/components/responses/ServerErrorResponse' + x-codeSamples: + - lang: Shell + source: |- + curl --request GET \ + --url https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1/links/link-sb1/configs \ + --header 'Authorization: Basic REPLACE_BASIC_AUTH' + - lang: Java + source: |- + OkHttpClient client = new OkHttpClient(); + + Request request = new Request.Builder() + .url("https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1/links/link-sb1/configs") + .get() + .addHeader("Authorization", "Basic REPLACE_BASIC_AUTH") + .build(); + + Response response = client.newCall(request).execute(); + - lang: Go + source: "package main\n\nimport (\n\t\"fmt\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1/links/link-sb1/configs\"\n\n\treq, _ := http.NewRequest(\"GET\", url, nil)\n\n\treq.Header.Add(\"Authorization\", \"Basic REPLACE_BASIC_AUTH\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}" + - lang: Python + source: |- + import http.client + + conn = http.client.HTTPSConnection("pkc-00000.region.provider.confluent.cloud") + + headers = { 'Authorization': "Basic REPLACE_BASIC_AUTH" } + + conn.request("GET", "/kafka/v3/clusters/cluster-1/links/link-sb1/configs", headers=headers) + + res = conn.getresponse() + data = res.read() + + print(data.decode("utf-8")) + - lang: Node + source: |- + const http = require("https"); + + const options = { + "method": "GET", + "hostname": "pkc-00000.region.provider.confluent.cloud", + "port": null, + "path": "/kafka/v3/clusters/cluster-1/links/link-sb1/configs", + "headers": { + "Authorization": "Basic REPLACE_BASIC_AUTH" + } + }; + + const req = http.request(options, function (res) { + const chunks = []; + + res.on("data", function (chunk) { + chunks.push(chunk); + }); + + res.on("end", function () { + const body = Buffer.concat(chunks); + console.log(body.toString()); + }); + }); + + req.end(); + - lang: C + source: |- + CURL *hnd = curl_easy_init(); + + curl_easy_setopt(hnd, CURLOPT_CUSTOMREQUEST, "GET"); + curl_easy_setopt(hnd, CURLOPT_URL, "https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1/links/link-sb1/configs"); + + struct curl_slist *headers = NULL; + headers = curl_slist_append(headers, "Authorization: Basic REPLACE_BASIC_AUTH"); + curl_easy_setopt(hnd, CURLOPT_HTTPHEADER, headers); + + CURLcode ret = curl_easy_perform(hnd); + - lang: C# + source: |- + var client = new RestClient("https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1/links/link-sb1/configs"); + var request = new RestRequest(Method.GET); + request.AddHeader("Authorization", "Basic REPLACE_BASIC_AUTH"); + IRestResponse response = client.Execute(request); + parameters: + - $ref: '#/components/parameters/ClusterId' + - $ref: '#/components/parameters/LinkName' + '/kafka/v3/clusters/{cluster_id}/links/{link_name}/configs/{config_name}': + get: + summary: Describe the config under the cluster link + operationId: getKafkaLinkConfigs + description: '[![Generally Available](https://img.shields.io/badge/Lifecycle%20Stage-Generally%20Available-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy)' + tags: + - Cluster Linking (v3) + security: + - resource-api-key: [] + - external-access-token: [] + responses: + '200': + $ref: '#/components/responses/GetLinkConfigsResponse' + '400': + $ref: '#/components/responses/BadRequestErrorResponse' + '401': + $ref: '#/components/responses/UnauthorizedErrorResponse' + '429': + $ref: '#/components/responses/TooManyRequestsErrorResponse' + 5XX: + $ref: '#/components/responses/ServerErrorResponse' + x-codeSamples: + - lang: Shell + source: |- + curl --request GET \ + --url https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1/links/link-sb1/configs/consumer.offset.sync.enable \ + --header 'Authorization: Basic REPLACE_BASIC_AUTH' + - lang: Java + source: |- + OkHttpClient client = new OkHttpClient(); + + Request request = new Request.Builder() + .url("https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1/links/link-sb1/configs/consumer.offset.sync.enable") + .get() + .addHeader("Authorization", "Basic REPLACE_BASIC_AUTH") + .build(); + + Response response = client.newCall(request).execute(); + - lang: Go + source: "package main\n\nimport (\n\t\"fmt\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1/links/link-sb1/configs/consumer.offset.sync.enable\"\n\n\treq, _ := http.NewRequest(\"GET\", url, nil)\n\n\treq.Header.Add(\"Authorization\", \"Basic REPLACE_BASIC_AUTH\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}" + - lang: Python + source: |- + import http.client + + conn = http.client.HTTPSConnection("pkc-00000.region.provider.confluent.cloud") + + headers = { 'Authorization': "Basic REPLACE_BASIC_AUTH" } + + conn.request("GET", "/kafka/v3/clusters/cluster-1/links/link-sb1/configs/consumer.offset.sync.enable", headers=headers) + + res = conn.getresponse() + data = res.read() + + print(data.decode("utf-8")) + - lang: Node + source: |- + const http = require("https"); + + const options = { + "method": "GET", + "hostname": "pkc-00000.region.provider.confluent.cloud", + "port": null, + "path": "/kafka/v3/clusters/cluster-1/links/link-sb1/configs/consumer.offset.sync.enable", + "headers": { + "Authorization": "Basic REPLACE_BASIC_AUTH" + } + }; + + const req = http.request(options, function (res) { + const chunks = []; + + res.on("data", function (chunk) { + chunks.push(chunk); + }); + + res.on("end", function () { + const body = Buffer.concat(chunks); + console.log(body.toString()); + }); + }); + + req.end(); + - lang: C + source: |- + CURL *hnd = curl_easy_init(); + + curl_easy_setopt(hnd, CURLOPT_CUSTOMREQUEST, "GET"); + curl_easy_setopt(hnd, CURLOPT_URL, "https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1/links/link-sb1/configs/consumer.offset.sync.enable"); + + struct curl_slist *headers = NULL; + headers = curl_slist_append(headers, "Authorization: Basic REPLACE_BASIC_AUTH"); + curl_easy_setopt(hnd, CURLOPT_HTTPHEADER, headers); + + CURLcode ret = curl_easy_perform(hnd); + - lang: C# + source: |- + var client = new RestClient("https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1/links/link-sb1/configs/consumer.offset.sync.enable"); + var request = new RestRequest(Method.GET); + request.AddHeader("Authorization", "Basic REPLACE_BASIC_AUTH"); + IRestResponse response = client.Execute(request); + parameters: + - $ref: '#/components/parameters/ClusterId' + - $ref: '#/components/parameters/LinkName' + - $ref: '#/components/parameters/LinkConfigName' + put: + summary: Alter the config under the cluster link + operationId: updateKafkaLinkConfig + description: '[![Generally Available](https://img.shields.io/badge/Lifecycle%20Stage-Generally%20Available-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy)' + tags: + - Cluster Linking (v3) + security: + - resource-api-key: [] + - external-access-token: [] + requestBody: + $ref: '#/components/requestBodies/UpdateLinkConfigRequest' + responses: + '204': + $ref: '#/components/responses/NoContentResponse' + '400': + $ref: '#/components/responses/BadRequestErrorResponse' + '401': + $ref: '#/components/responses/UnauthorizedErrorResponse' + '429': + $ref: '#/components/responses/TooManyRequestsErrorResponse' + 5XX: + $ref: '#/components/responses/ServerErrorResponse' + x-codeSamples: + - lang: Shell + source: |- + curl --request PUT \ + --url https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1/links/link-sb1/configs/consumer.offset.sync.enable \ + --header 'Authorization: Basic REPLACE_BASIC_AUTH' \ + --data '{"value":"string"}' + - lang: Java + source: |- + OkHttpClient client = new OkHttpClient(); + + MediaType mediaType = MediaType.parse("application/json"); + RequestBody body = RequestBody.create(mediaType, "{\"value\":\"string\"}"); + Request request = new Request.Builder() + .url("https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1/links/link-sb1/configs/consumer.offset.sync.enable") + .put(body) + .addHeader("Authorization", "Basic REPLACE_BASIC_AUTH") + .build(); + + Response response = client.newCall(request).execute(); + - lang: Go + source: "package main\n\nimport (\n\t\"fmt\"\n\t\"strings\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1/links/link-sb1/configs/consumer.offset.sync.enable\"\n\n\tpayload := strings.NewReader(\"{\\\"value\\\":\\\"string\\\"}\")\n\n\treq, _ := http.NewRequest(\"PUT\", url, payload)\n\n\treq.Header.Add(\"Authorization\", \"Basic REPLACE_BASIC_AUTH\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}" + - lang: Python + source: |- + import http.client + + conn = http.client.HTTPSConnection("pkc-00000.region.provider.confluent.cloud") + + payload = "{\"value\":\"string\"}" + + headers = { 'Authorization': "Basic REPLACE_BASIC_AUTH" } + + conn.request("PUT", "/kafka/v3/clusters/cluster-1/links/link-sb1/configs/consumer.offset.sync.enable", payload, headers) + + res = conn.getresponse() + data = res.read() + + print(data.decode("utf-8")) + - lang: Node + source: |- + const http = require("https"); + + const options = { + "method": "PUT", + "hostname": "pkc-00000.region.provider.confluent.cloud", + "port": null, + "path": "/kafka/v3/clusters/cluster-1/links/link-sb1/configs/consumer.offset.sync.enable", + "headers": { + "Authorization": "Basic REPLACE_BASIC_AUTH" + } + }; + + const req = http.request(options, function (res) { + const chunks = []; + + res.on("data", function (chunk) { + chunks.push(chunk); + }); + + res.on("end", function () { + const body = Buffer.concat(chunks); + console.log(body.toString()); + }); + }); + + req.write(JSON.stringify({value: 'string'})); + req.end(); + - lang: C + source: |- + CURL *hnd = curl_easy_init(); + + curl_easy_setopt(hnd, CURLOPT_CUSTOMREQUEST, "PUT"); + curl_easy_setopt(hnd, CURLOPT_URL, "https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1/links/link-sb1/configs/consumer.offset.sync.enable"); + + struct curl_slist *headers = NULL; + headers = curl_slist_append(headers, "Authorization: Basic REPLACE_BASIC_AUTH"); + curl_easy_setopt(hnd, CURLOPT_HTTPHEADER, headers); + + curl_easy_setopt(hnd, CURLOPT_POSTFIELDS, "{\"value\":\"string\"}"); + + CURLcode ret = curl_easy_perform(hnd); + - lang: C# + source: |- + var client = new RestClient("https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1/links/link-sb1/configs/consumer.offset.sync.enable"); + var request = new RestRequest(Method.PUT); + request.AddHeader("Authorization", "Basic REPLACE_BASIC_AUTH"); + request.AddParameter("undefined", "{\"value\":\"string\"}", ParameterType.RequestBody); + IRestResponse response = client.Execute(request); + parameters: + - $ref: '#/components/parameters/ClusterId' + - $ref: '#/components/parameters/LinkName' + - $ref: '#/components/parameters/LinkConfigName' + delete: + summary: Reset the given config to default value + operationId: deleteKafkaLinkConfig + description: '[![Generally Available](https://img.shields.io/badge/Lifecycle%20Stage-Generally%20Available-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy)' + tags: + - Cluster Linking (v3) + security: + - resource-api-key: [] + - external-access-token: [] + responses: + '204': + $ref: '#/components/responses/NoContentResponse' + '400': + $ref: '#/components/responses/BadRequestErrorResponse' + '401': + $ref: '#/components/responses/UnauthorizedErrorResponse' + '429': + $ref: '#/components/responses/TooManyRequestsErrorResponse' + 5XX: + $ref: '#/components/responses/ServerErrorResponse' + x-codeSamples: + - lang: Shell + source: |- + curl --request DELETE \ + --url https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1/links/link-sb1/configs/consumer.offset.sync.enable \ + --header 'Authorization: Basic REPLACE_BASIC_AUTH' + - lang: Java + source: |- + OkHttpClient client = new OkHttpClient(); + + Request request = new Request.Builder() + .url("https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1/links/link-sb1/configs/consumer.offset.sync.enable") + .delete(null) + .addHeader("Authorization", "Basic REPLACE_BASIC_AUTH") + .build(); + + Response response = client.newCall(request).execute(); + - lang: Go + source: "package main\n\nimport (\n\t\"fmt\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1/links/link-sb1/configs/consumer.offset.sync.enable\"\n\n\treq, _ := http.NewRequest(\"DELETE\", url, nil)\n\n\treq.Header.Add(\"Authorization\", \"Basic REPLACE_BASIC_AUTH\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}" + - lang: Python + source: |- + import http.client + + conn = http.client.HTTPSConnection("pkc-00000.region.provider.confluent.cloud") + + headers = { 'Authorization': "Basic REPLACE_BASIC_AUTH" } + + conn.request("DELETE", "/kafka/v3/clusters/cluster-1/links/link-sb1/configs/consumer.offset.sync.enable", headers=headers) + + res = conn.getresponse() + data = res.read() + + print(data.decode("utf-8")) + - lang: Node + source: |- + const http = require("https"); + + const options = { + "method": "DELETE", + "hostname": "pkc-00000.region.provider.confluent.cloud", + "port": null, + "path": "/kafka/v3/clusters/cluster-1/links/link-sb1/configs/consumer.offset.sync.enable", + "headers": { + "Authorization": "Basic REPLACE_BASIC_AUTH" + } + }; + + const req = http.request(options, function (res) { + const chunks = []; + + res.on("data", function (chunk) { + chunks.push(chunk); + }); + + res.on("end", function () { + const body = Buffer.concat(chunks); + console.log(body.toString()); + }); + }); + + req.end(); + - lang: C + source: |- + CURL *hnd = curl_easy_init(); + + curl_easy_setopt(hnd, CURLOPT_CUSTOMREQUEST, "DELETE"); + curl_easy_setopt(hnd, CURLOPT_URL, "https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1/links/link-sb1/configs/consumer.offset.sync.enable"); + + struct curl_slist *headers = NULL; + headers = curl_slist_append(headers, "Authorization: Basic REPLACE_BASIC_AUTH"); + curl_easy_setopt(hnd, CURLOPT_HTTPHEADER, headers); + + CURLcode ret = curl_easy_perform(hnd); + - lang: C# + source: |- + var client = new RestClient("https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1/links/link-sb1/configs/consumer.offset.sync.enable"); + var request = new RestRequest(Method.DELETE); + request.AddHeader("Authorization", "Basic REPLACE_BASIC_AUTH"); + IRestResponse response = client.Execute(request); + parameters: + - $ref: '#/components/parameters/ClusterId' + - $ref: '#/components/parameters/LinkName' + - $ref: '#/components/parameters/LinkConfigName' + '/kafka/v3/clusters/{cluster_id}/links/{link_name}/configs:alter': + put: + description: |- + [![Generally Available](https://img.shields.io/badge/Lifecycle%20Stage-Generally%20Available-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + Batch Alter Cluster Link Configs + operationId: updateKafkaLinkConfigBatch + tags: + - Cluster Linking (v3) + security: + - resource-api-key: [] + - external-access-token: [] + parameters: + - $ref: '#/components/parameters/ClusterId' + - $ref: '#/components/parameters/LinkName' + requestBody: + $ref: '#/components/requestBodies/AlterLinkConfigBatchRequest' + responses: + '204': + description: No Content + '400': + $ref: '#/components/responses/BadRequestErrorResponse' + '401': + $ref: '#/components/responses/UnauthorizedErrorResponse' + '429': + $ref: '#/components/responses/TooManyRequestsErrorResponse' + 5XX: + $ref: '#/components/responses/ServerErrorResponse' + summary: Batch Alter Cluster Link Configs + x-codeSamples: + - lang: Shell + source: |- + curl --request PUT \ + --url https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1/links/link-sb1/configs:alter \ + --header 'Authorization: Basic REPLACE_BASIC_AUTH' \ + --data '{"data":[{"name":"string","value":"string","operation":"string"}],"validate_only":true}' + - lang: Java + source: |- + OkHttpClient client = new OkHttpClient(); + + MediaType mediaType = MediaType.parse("application/json"); + RequestBody body = RequestBody.create(mediaType, "{\"data\":[{\"name\":\"string\",\"value\":\"string\",\"operation\":\"string\"}],\"validate_only\":true}"); + Request request = new Request.Builder() + .url("https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1/links/link-sb1/configs:alter") + .put(body) + .addHeader("Authorization", "Basic REPLACE_BASIC_AUTH") + .build(); + + Response response = client.newCall(request).execute(); + - lang: Go + source: "package main\n\nimport (\n\t\"fmt\"\n\t\"strings\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1/links/link-sb1/configs:alter\"\n\n\tpayload := strings.NewReader(\"{\\\"data\\\":[{\\\"name\\\":\\\"string\\\",\\\"value\\\":\\\"string\\\",\\\"operation\\\":\\\"string\\\"}],\\\"validate_only\\\":true}\")\n\n\treq, _ := http.NewRequest(\"PUT\", url, payload)\n\n\treq.Header.Add(\"Authorization\", \"Basic REPLACE_BASIC_AUTH\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}" + - lang: Python + source: |- + import http.client + + conn = http.client.HTTPSConnection("pkc-00000.region.provider.confluent.cloud") + + payload = "{\"data\":[{\"name\":\"string\",\"value\":\"string\",\"operation\":\"string\"}],\"validate_only\":true}" + + headers = { 'Authorization': "Basic REPLACE_BASIC_AUTH" } + + conn.request("PUT", "/kafka/v3/clusters/cluster-1/links/link-sb1/configs:alter", payload, headers) + + res = conn.getresponse() + data = res.read() + + print(data.decode("utf-8")) + - lang: Node + source: |- + const http = require("https"); + + const options = { + "method": "PUT", + "hostname": "pkc-00000.region.provider.confluent.cloud", + "port": null, + "path": "/kafka/v3/clusters/cluster-1/links/link-sb1/configs:alter", + "headers": { + "Authorization": "Basic REPLACE_BASIC_AUTH" + } + }; + + const req = http.request(options, function (res) { + const chunks = []; + + res.on("data", function (chunk) { + chunks.push(chunk); + }); + + res.on("end", function () { + const body = Buffer.concat(chunks); + console.log(body.toString()); + }); + }); + + req.write(JSON.stringify({ + data: [{name: 'string', value: 'string', operation: 'string'}], + validate_only: true + })); + req.end(); + - lang: C + source: |- + CURL *hnd = curl_easy_init(); + + curl_easy_setopt(hnd, CURLOPT_CUSTOMREQUEST, "PUT"); + curl_easy_setopt(hnd, CURLOPT_URL, "https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1/links/link-sb1/configs:alter"); + + struct curl_slist *headers = NULL; + headers = curl_slist_append(headers, "Authorization: Basic REPLACE_BASIC_AUTH"); + curl_easy_setopt(hnd, CURLOPT_HTTPHEADER, headers); + + curl_easy_setopt(hnd, CURLOPT_POSTFIELDS, "{\"data\":[{\"name\":\"string\",\"value\":\"string\",\"operation\":\"string\"}],\"validate_only\":true}"); + + CURLcode ret = curl_easy_perform(hnd); + - lang: C# + source: |- + var client = new RestClient("https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1/links/link-sb1/configs:alter"); + var request = new RestRequest(Method.PUT); + request.AddHeader("Authorization", "Basic REPLACE_BASIC_AUTH"); + request.AddParameter("undefined", "{\"data\":[{\"name\":\"string\",\"value\":\"string\",\"operation\":\"string\"}],\"validate_only\":true}", ParameterType.RequestBody); + IRestResponse response = client.Execute(request); + '/kafka/v3/clusters/{cluster_id}/links/{link_name}/mirrors': + post: + summary: Create a mirror topic + operationId: createKafkaMirrorTopic + description: |- + [![Generally Available](https://img.shields.io/badge/Lifecycle%20Stage-Generally%20Available-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + Create a topic in the destination cluster mirroring a topic in + the source cluster + tags: + - Cluster Linking (v3) + security: + - resource-api-key: [] + - external-access-token: [] + requestBody: + $ref: '#/components/requestBodies/CreateMirrorTopicRequest' + responses: + '204': + $ref: '#/components/responses/NoContentResponse' + '400': + $ref: '#/components/responses/BadRequestErrorResponse' + '401': + $ref: '#/components/responses/UnauthorizedErrorResponse' + '429': + $ref: '#/components/responses/TooManyRequestsErrorResponse' + 5XX: + $ref: '#/components/responses/ServerErrorResponse' + x-codeSamples: + - lang: Shell + source: |- + curl --request POST \ + --url https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1/links/link-sb1/mirrors \ + --header 'Authorization: Basic REPLACE_BASIC_AUTH' \ + --data '{"source_topic_name":"string","mirror_topic_name":"string","replication_factor":0,"configs":[{"name":"name","value":"value"}]}' + - lang: Java + source: |- + OkHttpClient client = new OkHttpClient(); + + MediaType mediaType = MediaType.parse("application/json"); + RequestBody body = RequestBody.create(mediaType, "{\"source_topic_name\":\"string\",\"mirror_topic_name\":\"string\",\"replication_factor\":0,\"configs\":[{\"name\":\"name\",\"value\":\"value\"}]}"); + Request request = new Request.Builder() + .url("https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1/links/link-sb1/mirrors") + .post(body) + .addHeader("Authorization", "Basic REPLACE_BASIC_AUTH") + .build(); + + Response response = client.newCall(request).execute(); + - lang: Go + source: "package main\n\nimport (\n\t\"fmt\"\n\t\"strings\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1/links/link-sb1/mirrors\"\n\n\tpayload := strings.NewReader(\"{\\\"source_topic_name\\\":\\\"string\\\",\\\"mirror_topic_name\\\":\\\"string\\\",\\\"replication_factor\\\":0,\\\"configs\\\":[{\\\"name\\\":\\\"name\\\",\\\"value\\\":\\\"value\\\"}]}\")\n\n\treq, _ := http.NewRequest(\"POST\", url, payload)\n\n\treq.Header.Add(\"Authorization\", \"Basic REPLACE_BASIC_AUTH\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}" + - lang: Python + source: |- + import http.client + + conn = http.client.HTTPSConnection("pkc-00000.region.provider.confluent.cloud") + + payload = "{\"source_topic_name\":\"string\",\"mirror_topic_name\":\"string\",\"replication_factor\":0,\"configs\":[{\"name\":\"name\",\"value\":\"value\"}]}" + + headers = { 'Authorization': "Basic REPLACE_BASIC_AUTH" } + + conn.request("POST", "/kafka/v3/clusters/cluster-1/links/link-sb1/mirrors", payload, headers) + + res = conn.getresponse() + data = res.read() + + print(data.decode("utf-8")) + - lang: Node + source: |- + const http = require("https"); + + const options = { + "method": "POST", + "hostname": "pkc-00000.region.provider.confluent.cloud", + "port": null, + "path": "/kafka/v3/clusters/cluster-1/links/link-sb1/mirrors", + "headers": { + "Authorization": "Basic REPLACE_BASIC_AUTH" + } + }; + + const req = http.request(options, function (res) { + const chunks = []; + + res.on("data", function (chunk) { + chunks.push(chunk); + }); + + res.on("end", function () { + const body = Buffer.concat(chunks); + console.log(body.toString()); + }); + }); + + req.write(JSON.stringify({ + source_topic_name: 'string', + mirror_topic_name: 'string', + replication_factor: 0, + configs: [{name: 'name', value: 'value'}] + })); + req.end(); + - lang: C + source: |- + CURL *hnd = curl_easy_init(); + + curl_easy_setopt(hnd, CURLOPT_CUSTOMREQUEST, "POST"); + curl_easy_setopt(hnd, CURLOPT_URL, "https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1/links/link-sb1/mirrors"); + + struct curl_slist *headers = NULL; + headers = curl_slist_append(headers, "Authorization: Basic REPLACE_BASIC_AUTH"); + curl_easy_setopt(hnd, CURLOPT_HTTPHEADER, headers); + + curl_easy_setopt(hnd, CURLOPT_POSTFIELDS, "{\"source_topic_name\":\"string\",\"mirror_topic_name\":\"string\",\"replication_factor\":0,\"configs\":[{\"name\":\"name\",\"value\":\"value\"}]}"); + + CURLcode ret = curl_easy_perform(hnd); + - lang: C# + source: |- + var client = new RestClient("https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1/links/link-sb1/mirrors"); + var request = new RestRequest(Method.POST); + request.AddHeader("Authorization", "Basic REPLACE_BASIC_AUTH"); + request.AddParameter("undefined", "{\"source_topic_name\":\"string\",\"mirror_topic_name\":\"string\",\"replication_factor\":0,\"configs\":[{\"name\":\"name\",\"value\":\"value\"}]}", ParameterType.RequestBody); + IRestResponse response = client.Execute(request); + parameters: + - $ref: '#/components/parameters/ClusterId' + - $ref: '#/components/parameters/LinkName' + get: + summary: List mirror topics + operationId: listKafkaMirrorTopicsUnderLink + description: |- + [![Generally Available](https://img.shields.io/badge/Lifecycle%20Stage-Generally%20Available-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + List all mirror topics under the link + tags: + - Cluster Linking (v3) + security: + - resource-api-key: [] + - external-access-token: [] + parameters: + - $ref: '#/components/parameters/ClusterId' + - $ref: '#/components/parameters/LinkName' + responses: + '200': + $ref: '#/components/responses/ListMirrorTopicsResponse' + '400': + $ref: '#/components/responses/BadRequestErrorResponse' + '401': + $ref: '#/components/responses/UnauthorizedErrorResponse' + '429': + $ref: '#/components/responses/TooManyRequestsErrorResponse' + 5XX: + $ref: '#/components/responses/ServerErrorResponse' + x-codeSamples: + - lang: Shell + source: |- + curl --request GET \ + --url 'https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1/links/link-sb1/mirrors?mirror_status=ACTIVE' \ + --header 'Authorization: Basic REPLACE_BASIC_AUTH' + - lang: Java + source: |- + OkHttpClient client = new OkHttpClient(); + + Request request = new Request.Builder() + .url("https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1/links/link-sb1/mirrors?mirror_status=ACTIVE") + .get() + .addHeader("Authorization", "Basic REPLACE_BASIC_AUTH") + .build(); + + Response response = client.newCall(request).execute(); + - lang: Go + source: "package main\n\nimport (\n\t\"fmt\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1/links/link-sb1/mirrors?mirror_status=ACTIVE\"\n\n\treq, _ := http.NewRequest(\"GET\", url, nil)\n\n\treq.Header.Add(\"Authorization\", \"Basic REPLACE_BASIC_AUTH\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}" + - lang: Python + source: |- + import http.client + + conn = http.client.HTTPSConnection("pkc-00000.region.provider.confluent.cloud") + + headers = { 'Authorization': "Basic REPLACE_BASIC_AUTH" } + + conn.request("GET", "/kafka/v3/clusters/cluster-1/links/link-sb1/mirrors?mirror_status=ACTIVE", headers=headers) + + res = conn.getresponse() + data = res.read() + + print(data.decode("utf-8")) + - lang: Node + source: |- + const http = require("https"); + + const options = { + "method": "GET", + "hostname": "pkc-00000.region.provider.confluent.cloud", + "port": null, + "path": "/kafka/v3/clusters/cluster-1/links/link-sb1/mirrors?mirror_status=ACTIVE", + "headers": { + "Authorization": "Basic REPLACE_BASIC_AUTH" + } + }; + + const req = http.request(options, function (res) { + const chunks = []; + + res.on("data", function (chunk) { + chunks.push(chunk); + }); + + res.on("end", function () { + const body = Buffer.concat(chunks); + console.log(body.toString()); + }); + }); + + req.end(); + - lang: C + source: |- + CURL *hnd = curl_easy_init(); + + curl_easy_setopt(hnd, CURLOPT_CUSTOMREQUEST, "GET"); + curl_easy_setopt(hnd, CURLOPT_URL, "https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1/links/link-sb1/mirrors?mirror_status=ACTIVE"); + + struct curl_slist *headers = NULL; + headers = curl_slist_append(headers, "Authorization: Basic REPLACE_BASIC_AUTH"); + curl_easy_setopt(hnd, CURLOPT_HTTPHEADER, headers); + + CURLcode ret = curl_easy_perform(hnd); + - lang: C# + source: |- + var client = new RestClient("https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1/links/link-sb1/mirrors?mirror_status=ACTIVE"); + var request = new RestRequest(Method.GET); + request.AddHeader("Authorization", "Basic REPLACE_BASIC_AUTH"); + IRestResponse response = client.Execute(request); + '/kafka/v3/clusters/{cluster_id}/links/-/mirrors': + get: + summary: List mirror topics + operationId: listKafkaMirrorTopics + description: |- + [![Generally Available](https://img.shields.io/badge/Lifecycle%20Stage-Generally%20Available-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + List all mirror topics in the cluster + tags: + - Cluster Linking (v3) + security: + - resource-api-key: [] + - external-access-token: [] + parameters: + - $ref: '#/components/parameters/ClusterId' + responses: + '200': + $ref: '#/components/responses/ListMirrorTopicsResponse' + '400': + $ref: '#/components/responses/BadRequestErrorResponse' + '401': + $ref: '#/components/responses/UnauthorizedErrorResponse' + '429': + $ref: '#/components/responses/TooManyRequestsErrorResponse' + 5XX: + $ref: '#/components/responses/ServerErrorResponse' + x-codeSamples: + - lang: Shell + source: |- + curl --request GET \ + --url https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1/links/-/mirrors \ + --header 'Authorization: Basic REPLACE_BASIC_AUTH' + - lang: Java + source: |- + OkHttpClient client = new OkHttpClient(); + + Request request = new Request.Builder() + .url("https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1/links/-/mirrors") + .get() + .addHeader("Authorization", "Basic REPLACE_BASIC_AUTH") + .build(); + + Response response = client.newCall(request).execute(); + - lang: Go + source: "package main\n\nimport (\n\t\"fmt\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1/links/-/mirrors\"\n\n\treq, _ := http.NewRequest(\"GET\", url, nil)\n\n\treq.Header.Add(\"Authorization\", \"Basic REPLACE_BASIC_AUTH\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}" + - lang: Python + source: |- + import http.client + + conn = http.client.HTTPSConnection("pkc-00000.region.provider.confluent.cloud") + + headers = { 'Authorization': "Basic REPLACE_BASIC_AUTH" } + + conn.request("GET", "/kafka/v3/clusters/cluster-1/links/-/mirrors", headers=headers) + + res = conn.getresponse() + data = res.read() + + print(data.decode("utf-8")) + - lang: Node + source: |- + const http = require("https"); + + const options = { + "method": "GET", + "hostname": "pkc-00000.region.provider.confluent.cloud", + "port": null, + "path": "/kafka/v3/clusters/cluster-1/links/-/mirrors", + "headers": { + "Authorization": "Basic REPLACE_BASIC_AUTH" + } + }; + + const req = http.request(options, function (res) { + const chunks = []; + + res.on("data", function (chunk) { + chunks.push(chunk); + }); + + res.on("end", function () { + const body = Buffer.concat(chunks); + console.log(body.toString()); + }); + }); + + req.end(); + - lang: C + source: |- + CURL *hnd = curl_easy_init(); + + curl_easy_setopt(hnd, CURLOPT_CUSTOMREQUEST, "GET"); + curl_easy_setopt(hnd, CURLOPT_URL, "https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1/links/-/mirrors"); + + struct curl_slist *headers = NULL; + headers = curl_slist_append(headers, "Authorization: Basic REPLACE_BASIC_AUTH"); + curl_easy_setopt(hnd, CURLOPT_HTTPHEADER, headers); + + CURLcode ret = curl_easy_perform(hnd); + - lang: C# + source: |- + var client = new RestClient("https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1/links/-/mirrors"); + var request = new RestRequest(Method.GET); + request.AddHeader("Authorization", "Basic REPLACE_BASIC_AUTH"); + IRestResponse response = client.Execute(request); + '/kafka/v3/clusters/{cluster_id}/links/{link_name}/mirrors/{mirror_topic_name}': + get: + summary: Describe the mirror topic + operationId: readKafkaMirrorTopic + description: '[![Generally Available](https://img.shields.io/badge/Lifecycle%20Stage-Generally%20Available-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy)' + tags: + - Cluster Linking (v3) + parameters: + - $ref: '#/components/parameters/ClusterId' + - $ref: '#/components/parameters/LinkName' + - $ref: '#/components/parameters/MirrorTopicName' + security: + - resource-api-key: [] + - external-access-token: [] + responses: + '200': + $ref: '#/components/responses/DescribeMirrorTopicResponse' + '400': + $ref: '#/components/responses/BadRequestErrorResponse' + '401': + $ref: '#/components/responses/UnauthorizedErrorResponse' + '429': + $ref: '#/components/responses/TooManyRequestsErrorResponse' + 5XX: + $ref: '#/components/responses/ServerErrorResponse' + x-codeSamples: + - lang: Shell + source: |- + curl --request GET \ + --url https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1/links/link-sb1/mirrors/topic-1 \ + --header 'Authorization: Basic REPLACE_BASIC_AUTH' + - lang: Java + source: |- + OkHttpClient client = new OkHttpClient(); + + Request request = new Request.Builder() + .url("https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1/links/link-sb1/mirrors/topic-1") + .get() + .addHeader("Authorization", "Basic REPLACE_BASIC_AUTH") + .build(); + + Response response = client.newCall(request).execute(); + - lang: Go + source: "package main\n\nimport (\n\t\"fmt\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1/links/link-sb1/mirrors/topic-1\"\n\n\treq, _ := http.NewRequest(\"GET\", url, nil)\n\n\treq.Header.Add(\"Authorization\", \"Basic REPLACE_BASIC_AUTH\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}" + - lang: Python + source: |- + import http.client + + conn = http.client.HTTPSConnection("pkc-00000.region.provider.confluent.cloud") + + headers = { 'Authorization': "Basic REPLACE_BASIC_AUTH" } + + conn.request("GET", "/kafka/v3/clusters/cluster-1/links/link-sb1/mirrors/topic-1", headers=headers) + + res = conn.getresponse() + data = res.read() + + print(data.decode("utf-8")) + - lang: Node + source: |- + const http = require("https"); + + const options = { + "method": "GET", + "hostname": "pkc-00000.region.provider.confluent.cloud", + "port": null, + "path": "/kafka/v3/clusters/cluster-1/links/link-sb1/mirrors/topic-1", + "headers": { + "Authorization": "Basic REPLACE_BASIC_AUTH" + } + }; + + const req = http.request(options, function (res) { + const chunks = []; + + res.on("data", function (chunk) { + chunks.push(chunk); + }); + + res.on("end", function () { + const body = Buffer.concat(chunks); + console.log(body.toString()); + }); + }); + + req.end(); + - lang: C + source: |- + CURL *hnd = curl_easy_init(); + + curl_easy_setopt(hnd, CURLOPT_CUSTOMREQUEST, "GET"); + curl_easy_setopt(hnd, CURLOPT_URL, "https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1/links/link-sb1/mirrors/topic-1"); + + struct curl_slist *headers = NULL; + headers = curl_slist_append(headers, "Authorization: Basic REPLACE_BASIC_AUTH"); + curl_easy_setopt(hnd, CURLOPT_HTTPHEADER, headers); + + CURLcode ret = curl_easy_perform(hnd); + - lang: C# + source: |- + var client = new RestClient("https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1/links/link-sb1/mirrors/topic-1"); + var request = new RestRequest(Method.GET); + request.AddHeader("Authorization", "Basic REPLACE_BASIC_AUTH"); + IRestResponse response = client.Execute(request); + '/kafka/v3/clusters/{cluster_id}/links/{link_name}/mirrors:promote': + post: + summary: Promote the mirror topics + operationId: updateKafkaMirrorTopicsPromote + description: '[![Generally Available](https://img.shields.io/badge/Lifecycle%20Stage-Generally%20Available-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy)' + tags: + - Cluster Linking (v3) + security: + - resource-api-key: [] + - external-access-token: [] + requestBody: + $ref: '#/components/requestBodies/AlterMirrorsRequest' + responses: + '200': + $ref: '#/components/responses/AlterMirrorStatusResponse' + '400': + $ref: '#/components/responses/BadRequestErrorResponse' + '401': + $ref: '#/components/responses/UnauthorizedErrorResponse' + '429': + $ref: '#/components/responses/TooManyRequestsErrorResponse' + 5XX: + $ref: '#/components/responses/ServerErrorResponse' + x-codeSamples: + - lang: Shell + source: |- + curl --request POST \ + --url https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1/links/link-sb1/mirrors:promote \ + --header 'Authorization: Basic REPLACE_BASIC_AUTH' \ + --data '{"mirror_topic_names":["string"],"mirror_topic_name_pattern":"string"}' + - lang: Java + source: |- + OkHttpClient client = new OkHttpClient(); + + MediaType mediaType = MediaType.parse("application/json"); + RequestBody body = RequestBody.create(mediaType, "{\"mirror_topic_names\":[\"string\"],\"mirror_topic_name_pattern\":\"string\"}"); + Request request = new Request.Builder() + .url("https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1/links/link-sb1/mirrors:promote") + .post(body) + .addHeader("Authorization", "Basic REPLACE_BASIC_AUTH") + .build(); + + Response response = client.newCall(request).execute(); + - lang: Go + source: "package main\n\nimport (\n\t\"fmt\"\n\t\"strings\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1/links/link-sb1/mirrors:promote\"\n\n\tpayload := strings.NewReader(\"{\\\"mirror_topic_names\\\":[\\\"string\\\"],\\\"mirror_topic_name_pattern\\\":\\\"string\\\"}\")\n\n\treq, _ := http.NewRequest(\"POST\", url, payload)\n\n\treq.Header.Add(\"Authorization\", \"Basic REPLACE_BASIC_AUTH\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}" + - lang: Python + source: |- + import http.client + + conn = http.client.HTTPSConnection("pkc-00000.region.provider.confluent.cloud") + + payload = "{\"mirror_topic_names\":[\"string\"],\"mirror_topic_name_pattern\":\"string\"}" + + headers = { 'Authorization': "Basic REPLACE_BASIC_AUTH" } + + conn.request("POST", "/kafka/v3/clusters/cluster-1/links/link-sb1/mirrors:promote", payload, headers) + + res = conn.getresponse() + data = res.read() + + print(data.decode("utf-8")) + - lang: Node + source: |- + const http = require("https"); + + const options = { + "method": "POST", + "hostname": "pkc-00000.region.provider.confluent.cloud", + "port": null, + "path": "/kafka/v3/clusters/cluster-1/links/link-sb1/mirrors:promote", + "headers": { + "Authorization": "Basic REPLACE_BASIC_AUTH" + } + }; + + const req = http.request(options, function (res) { + const chunks = []; + + res.on("data", function (chunk) { + chunks.push(chunk); + }); + + res.on("end", function () { + const body = Buffer.concat(chunks); + console.log(body.toString()); + }); + }); + + req.write(JSON.stringify({mirror_topic_names: ['string'], mirror_topic_name_pattern: 'string'})); + req.end(); + - lang: C + source: |- + CURL *hnd = curl_easy_init(); + + curl_easy_setopt(hnd, CURLOPT_CUSTOMREQUEST, "POST"); + curl_easy_setopt(hnd, CURLOPT_URL, "https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1/links/link-sb1/mirrors:promote"); + + struct curl_slist *headers = NULL; + headers = curl_slist_append(headers, "Authorization: Basic REPLACE_BASIC_AUTH"); + curl_easy_setopt(hnd, CURLOPT_HTTPHEADER, headers); + + curl_easy_setopt(hnd, CURLOPT_POSTFIELDS, "{\"mirror_topic_names\":[\"string\"],\"mirror_topic_name_pattern\":\"string\"}"); + + CURLcode ret = curl_easy_perform(hnd); + - lang: C# + source: |- + var client = new RestClient("https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1/links/link-sb1/mirrors:promote"); + var request = new RestRequest(Method.POST); + request.AddHeader("Authorization", "Basic REPLACE_BASIC_AUTH"); + request.AddParameter("undefined", "{\"mirror_topic_names\":[\"string\"],\"mirror_topic_name_pattern\":\"string\"}", ParameterType.RequestBody); + IRestResponse response = client.Execute(request); + parameters: + - $ref: '#/components/parameters/ClusterId' + - $ref: '#/components/parameters/LinkName' + - $ref: '#/components/parameters/ValidateOnly' + '/kafka/v3/clusters/{cluster_id}/links/{link_name}/mirrors:failover': + post: + summary: Failover the mirror topics + operationId: updateKafkaMirrorTopicsFailover + description: '[![Generally Available](https://img.shields.io/badge/Lifecycle%20Stage-Generally%20Available-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy)' + tags: + - Cluster Linking (v3) + security: + - resource-api-key: [] + - external-access-token: [] + requestBody: + $ref: '#/components/requestBodies/AlterMirrorsRequest' + responses: + '200': + $ref: '#/components/responses/AlterMirrorStatusResponse' + '400': + $ref: '#/components/responses/BadRequestErrorResponse' + '401': + $ref: '#/components/responses/UnauthorizedErrorResponse' + '429': + $ref: '#/components/responses/TooManyRequestsErrorResponse' + 5XX: + $ref: '#/components/responses/ServerErrorResponse' + x-codeSamples: + - lang: Shell + source: |- + curl --request POST \ + --url https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1/links/link-sb1/mirrors:failover \ + --header 'Authorization: Basic REPLACE_BASIC_AUTH' \ + --data '{"mirror_topic_names":["string"],"mirror_topic_name_pattern":"string"}' + - lang: Java + source: |- + OkHttpClient client = new OkHttpClient(); + + MediaType mediaType = MediaType.parse("application/json"); + RequestBody body = RequestBody.create(mediaType, "{\"mirror_topic_names\":[\"string\"],\"mirror_topic_name_pattern\":\"string\"}"); + Request request = new Request.Builder() + .url("https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1/links/link-sb1/mirrors:failover") + .post(body) + .addHeader("Authorization", "Basic REPLACE_BASIC_AUTH") + .build(); + + Response response = client.newCall(request).execute(); + - lang: Go + source: "package main\n\nimport (\n\t\"fmt\"\n\t\"strings\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1/links/link-sb1/mirrors:failover\"\n\n\tpayload := strings.NewReader(\"{\\\"mirror_topic_names\\\":[\\\"string\\\"],\\\"mirror_topic_name_pattern\\\":\\\"string\\\"}\")\n\n\treq, _ := http.NewRequest(\"POST\", url, payload)\n\n\treq.Header.Add(\"Authorization\", \"Basic REPLACE_BASIC_AUTH\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}" + - lang: Python + source: |- + import http.client + + conn = http.client.HTTPSConnection("pkc-00000.region.provider.confluent.cloud") + + payload = "{\"mirror_topic_names\":[\"string\"],\"mirror_topic_name_pattern\":\"string\"}" + + headers = { 'Authorization': "Basic REPLACE_BASIC_AUTH" } + + conn.request("POST", "/kafka/v3/clusters/cluster-1/links/link-sb1/mirrors:failover", payload, headers) + + res = conn.getresponse() + data = res.read() + + print(data.decode("utf-8")) + - lang: Node + source: |- + const http = require("https"); + + const options = { + "method": "POST", + "hostname": "pkc-00000.region.provider.confluent.cloud", + "port": null, + "path": "/kafka/v3/clusters/cluster-1/links/link-sb1/mirrors:failover", + "headers": { + "Authorization": "Basic REPLACE_BASIC_AUTH" + } + }; + + const req = http.request(options, function (res) { + const chunks = []; + + res.on("data", function (chunk) { + chunks.push(chunk); + }); + + res.on("end", function () { + const body = Buffer.concat(chunks); + console.log(body.toString()); + }); + }); + + req.write(JSON.stringify({mirror_topic_names: ['string'], mirror_topic_name_pattern: 'string'})); + req.end(); + - lang: C + source: |- + CURL *hnd = curl_easy_init(); + + curl_easy_setopt(hnd, CURLOPT_CUSTOMREQUEST, "POST"); + curl_easy_setopt(hnd, CURLOPT_URL, "https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1/links/link-sb1/mirrors:failover"); + + struct curl_slist *headers = NULL; + headers = curl_slist_append(headers, "Authorization: Basic REPLACE_BASIC_AUTH"); + curl_easy_setopt(hnd, CURLOPT_HTTPHEADER, headers); + + curl_easy_setopt(hnd, CURLOPT_POSTFIELDS, "{\"mirror_topic_names\":[\"string\"],\"mirror_topic_name_pattern\":\"string\"}"); + + CURLcode ret = curl_easy_perform(hnd); + - lang: C# + source: |- + var client = new RestClient("https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1/links/link-sb1/mirrors:failover"); + var request = new RestRequest(Method.POST); + request.AddHeader("Authorization", "Basic REPLACE_BASIC_AUTH"); + request.AddParameter("undefined", "{\"mirror_topic_names\":[\"string\"],\"mirror_topic_name_pattern\":\"string\"}", ParameterType.RequestBody); + IRestResponse response = client.Execute(request); + parameters: + - $ref: '#/components/parameters/ClusterId' + - $ref: '#/components/parameters/LinkName' + - $ref: '#/components/parameters/ValidateOnly' + '/kafka/v3/clusters/{cluster_id}/links/{link_name}/mirrors:pause': + post: + summary: Pause the mirror topics + operationId: updateKafkaMirrorTopicsPause + description: '[![Generally Available](https://img.shields.io/badge/Lifecycle%20Stage-Generally%20Available-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy)' + tags: + - Cluster Linking (v3) + security: + - resource-api-key: [] + - external-access-token: [] + requestBody: + $ref: '#/components/requestBodies/AlterMirrorsRequest' + responses: + '200': + $ref: '#/components/responses/AlterMirrorStatusResponse' + '400': + $ref: '#/components/responses/BadRequestErrorResponse' + '401': + $ref: '#/components/responses/UnauthorizedErrorResponse' + '429': + $ref: '#/components/responses/TooManyRequestsErrorResponse' + 5XX: + $ref: '#/components/responses/ServerErrorResponse' + x-codeSamples: + - lang: Shell + source: |- + curl --request POST \ + --url https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1/links/link-sb1/mirrors:pause \ + --header 'Authorization: Basic REPLACE_BASIC_AUTH' \ + --data '{"mirror_topic_names":["string"],"mirror_topic_name_pattern":"string"}' + - lang: Java + source: |- + OkHttpClient client = new OkHttpClient(); + + MediaType mediaType = MediaType.parse("application/json"); + RequestBody body = RequestBody.create(mediaType, "{\"mirror_topic_names\":[\"string\"],\"mirror_topic_name_pattern\":\"string\"}"); + Request request = new Request.Builder() + .url("https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1/links/link-sb1/mirrors:pause") + .post(body) + .addHeader("Authorization", "Basic REPLACE_BASIC_AUTH") + .build(); + + Response response = client.newCall(request).execute(); + - lang: Go + source: "package main\n\nimport (\n\t\"fmt\"\n\t\"strings\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1/links/link-sb1/mirrors:pause\"\n\n\tpayload := strings.NewReader(\"{\\\"mirror_topic_names\\\":[\\\"string\\\"],\\\"mirror_topic_name_pattern\\\":\\\"string\\\"}\")\n\n\treq, _ := http.NewRequest(\"POST\", url, payload)\n\n\treq.Header.Add(\"Authorization\", \"Basic REPLACE_BASIC_AUTH\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}" + - lang: Python + source: |- + import http.client + + conn = http.client.HTTPSConnection("pkc-00000.region.provider.confluent.cloud") + + payload = "{\"mirror_topic_names\":[\"string\"],\"mirror_topic_name_pattern\":\"string\"}" + + headers = { 'Authorization': "Basic REPLACE_BASIC_AUTH" } + + conn.request("POST", "/kafka/v3/clusters/cluster-1/links/link-sb1/mirrors:pause", payload, headers) + + res = conn.getresponse() + data = res.read() + + print(data.decode("utf-8")) + - lang: Node + source: |- + const http = require("https"); + + const options = { + "method": "POST", + "hostname": "pkc-00000.region.provider.confluent.cloud", + "port": null, + "path": "/kafka/v3/clusters/cluster-1/links/link-sb1/mirrors:pause", + "headers": { + "Authorization": "Basic REPLACE_BASIC_AUTH" + } + }; + + const req = http.request(options, function (res) { + const chunks = []; + + res.on("data", function (chunk) { + chunks.push(chunk); + }); + + res.on("end", function () { + const body = Buffer.concat(chunks); + console.log(body.toString()); + }); + }); + + req.write(JSON.stringify({mirror_topic_names: ['string'], mirror_topic_name_pattern: 'string'})); + req.end(); + - lang: C + source: |- + CURL *hnd = curl_easy_init(); + + curl_easy_setopt(hnd, CURLOPT_CUSTOMREQUEST, "POST"); + curl_easy_setopt(hnd, CURLOPT_URL, "https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1/links/link-sb1/mirrors:pause"); + + struct curl_slist *headers = NULL; + headers = curl_slist_append(headers, "Authorization: Basic REPLACE_BASIC_AUTH"); + curl_easy_setopt(hnd, CURLOPT_HTTPHEADER, headers); + + curl_easy_setopt(hnd, CURLOPT_POSTFIELDS, "{\"mirror_topic_names\":[\"string\"],\"mirror_topic_name_pattern\":\"string\"}"); + + CURLcode ret = curl_easy_perform(hnd); + - lang: C# + source: |- + var client = new RestClient("https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1/links/link-sb1/mirrors:pause"); + var request = new RestRequest(Method.POST); + request.AddHeader("Authorization", "Basic REPLACE_BASIC_AUTH"); + request.AddParameter("undefined", "{\"mirror_topic_names\":[\"string\"],\"mirror_topic_name_pattern\":\"string\"}", ParameterType.RequestBody); + IRestResponse response = client.Execute(request); + parameters: + - $ref: '#/components/parameters/ClusterId' + - $ref: '#/components/parameters/LinkName' + - $ref: '#/components/parameters/ValidateOnly' + '/kafka/v3/clusters/{cluster_id}/links/{link_name}/mirrors:resume': + post: + summary: Resume the mirror topics + operationId: updateKafkaMirrorTopicsResume + description: '[![Generally Available](https://img.shields.io/badge/Lifecycle%20Stage-Generally%20Available-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy)' + tags: + - Cluster Linking (v3) + security: + - resource-api-key: [] + - external-access-token: [] + requestBody: + $ref: '#/components/requestBodies/AlterMirrorsRequest' + responses: + '200': + $ref: '#/components/responses/AlterMirrorStatusResponse' + '400': + $ref: '#/components/responses/BadRequestErrorResponse' + '401': + $ref: '#/components/responses/UnauthorizedErrorResponse' + '429': + $ref: '#/components/responses/TooManyRequestsErrorResponse' + 5XX: + $ref: '#/components/responses/ServerErrorResponse' + x-codeSamples: + - lang: Shell + source: |- + curl --request POST \ + --url https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1/links/link-sb1/mirrors:resume \ + --header 'Authorization: Basic REPLACE_BASIC_AUTH' \ + --data '{"mirror_topic_names":["string"],"mirror_topic_name_pattern":"string"}' + - lang: Java + source: |- + OkHttpClient client = new OkHttpClient(); + + MediaType mediaType = MediaType.parse("application/json"); + RequestBody body = RequestBody.create(mediaType, "{\"mirror_topic_names\":[\"string\"],\"mirror_topic_name_pattern\":\"string\"}"); + Request request = new Request.Builder() + .url("https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1/links/link-sb1/mirrors:resume") + .post(body) + .addHeader("Authorization", "Basic REPLACE_BASIC_AUTH") + .build(); + + Response response = client.newCall(request).execute(); + - lang: Go + source: "package main\n\nimport (\n\t\"fmt\"\n\t\"strings\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1/links/link-sb1/mirrors:resume\"\n\n\tpayload := strings.NewReader(\"{\\\"mirror_topic_names\\\":[\\\"string\\\"],\\\"mirror_topic_name_pattern\\\":\\\"string\\\"}\")\n\n\treq, _ := http.NewRequest(\"POST\", url, payload)\n\n\treq.Header.Add(\"Authorization\", \"Basic REPLACE_BASIC_AUTH\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}" + - lang: Python + source: |- + import http.client + + conn = http.client.HTTPSConnection("pkc-00000.region.provider.confluent.cloud") + + payload = "{\"mirror_topic_names\":[\"string\"],\"mirror_topic_name_pattern\":\"string\"}" + + headers = { 'Authorization': "Basic REPLACE_BASIC_AUTH" } + + conn.request("POST", "/kafka/v3/clusters/cluster-1/links/link-sb1/mirrors:resume", payload, headers) + + res = conn.getresponse() + data = res.read() + + print(data.decode("utf-8")) + - lang: Node + source: |- + const http = require("https"); + + const options = { + "method": "POST", + "hostname": "pkc-00000.region.provider.confluent.cloud", + "port": null, + "path": "/kafka/v3/clusters/cluster-1/links/link-sb1/mirrors:resume", + "headers": { + "Authorization": "Basic REPLACE_BASIC_AUTH" + } + }; + + const req = http.request(options, function (res) { + const chunks = []; + + res.on("data", function (chunk) { + chunks.push(chunk); + }); + + res.on("end", function () { + const body = Buffer.concat(chunks); + console.log(body.toString()); + }); + }); + + req.write(JSON.stringify({mirror_topic_names: ['string'], mirror_topic_name_pattern: 'string'})); + req.end(); + - lang: C + source: |- + CURL *hnd = curl_easy_init(); + + curl_easy_setopt(hnd, CURLOPT_CUSTOMREQUEST, "POST"); + curl_easy_setopt(hnd, CURLOPT_URL, "https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1/links/link-sb1/mirrors:resume"); + + struct curl_slist *headers = NULL; + headers = curl_slist_append(headers, "Authorization: Basic REPLACE_BASIC_AUTH"); + curl_easy_setopt(hnd, CURLOPT_HTTPHEADER, headers); + + curl_easy_setopt(hnd, CURLOPT_POSTFIELDS, "{\"mirror_topic_names\":[\"string\"],\"mirror_topic_name_pattern\":\"string\"}"); + + CURLcode ret = curl_easy_perform(hnd); + - lang: C# + source: |- + var client = new RestClient("https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1/links/link-sb1/mirrors:resume"); + var request = new RestRequest(Method.POST); + request.AddHeader("Authorization", "Basic REPLACE_BASIC_AUTH"); + request.AddParameter("undefined", "{\"mirror_topic_names\":[\"string\"],\"mirror_topic_name_pattern\":\"string\"}", ParameterType.RequestBody); + IRestResponse response = client.Execute(request); + parameters: + - $ref: '#/components/parameters/ClusterId' + - $ref: '#/components/parameters/LinkName' + - $ref: '#/components/parameters/ValidateOnly' + '/kafka/v3/clusters/{cluster_id}/links/{link_name}/mirrors:reverse-and-start-mirror': + post: + summary: Reverse the local mirror topic and start the remote mirror topic + operationId: updateKafkaMirrorTopicsReverseAndStartMirror + description: '[![Generally Available](https://img.shields.io/badge/Lifecycle%20Stage-Generally%20Available-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy)' + tags: + - Cluster Linking (v3) + security: + - resource-api-key: [] + - external-access-token: [] + requestBody: + $ref: '#/components/requestBodies/AlterMirrorsRequest' + responses: + '200': + $ref: '#/components/responses/AlterMirrorStatusResponse' + '400': + $ref: '#/components/responses/BadRequestErrorResponse' + '401': + $ref: '#/components/responses/UnauthorizedErrorResponse' + '429': + $ref: '#/components/responses/TooManyRequestsErrorResponse' + 5XX: + $ref: '#/components/responses/ServerErrorResponse' + x-codeSamples: + - lang: Shell + source: |- + curl --request POST \ + --url https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1/links/link-sb1/mirrors:reverse-and-start-mirror \ + --header 'Authorization: Basic REPLACE_BASIC_AUTH' \ + --data '{"mirror_topic_names":["string"],"mirror_topic_name_pattern":"string"}' + - lang: Java + source: |- + OkHttpClient client = new OkHttpClient(); + + MediaType mediaType = MediaType.parse("application/json"); + RequestBody body = RequestBody.create(mediaType, "{\"mirror_topic_names\":[\"string\"],\"mirror_topic_name_pattern\":\"string\"}"); + Request request = new Request.Builder() + .url("https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1/links/link-sb1/mirrors:reverse-and-start-mirror") + .post(body) + .addHeader("Authorization", "Basic REPLACE_BASIC_AUTH") + .build(); + + Response response = client.newCall(request).execute(); + - lang: Go + source: "package main\n\nimport (\n\t\"fmt\"\n\t\"strings\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1/links/link-sb1/mirrors:reverse-and-start-mirror\"\n\n\tpayload := strings.NewReader(\"{\\\"mirror_topic_names\\\":[\\\"string\\\"],\\\"mirror_topic_name_pattern\\\":\\\"string\\\"}\")\n\n\treq, _ := http.NewRequest(\"POST\", url, payload)\n\n\treq.Header.Add(\"Authorization\", \"Basic REPLACE_BASIC_AUTH\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}" + - lang: Python + source: |- + import http.client + + conn = http.client.HTTPSConnection("pkc-00000.region.provider.confluent.cloud") + + payload = "{\"mirror_topic_names\":[\"string\"],\"mirror_topic_name_pattern\":\"string\"}" + + headers = { 'Authorization': "Basic REPLACE_BASIC_AUTH" } + + conn.request("POST", "/kafka/v3/clusters/cluster-1/links/link-sb1/mirrors:reverse-and-start-mirror", payload, headers) + + res = conn.getresponse() + data = res.read() + + print(data.decode("utf-8")) + - lang: Node + source: |- + const http = require("https"); + + const options = { + "method": "POST", + "hostname": "pkc-00000.region.provider.confluent.cloud", + "port": null, + "path": "/kafka/v3/clusters/cluster-1/links/link-sb1/mirrors:reverse-and-start-mirror", + "headers": { + "Authorization": "Basic REPLACE_BASIC_AUTH" + } + }; + + const req = http.request(options, function (res) { + const chunks = []; + + res.on("data", function (chunk) { + chunks.push(chunk); + }); + + res.on("end", function () { + const body = Buffer.concat(chunks); + console.log(body.toString()); + }); + }); + + req.write(JSON.stringify({mirror_topic_names: ['string'], mirror_topic_name_pattern: 'string'})); + req.end(); + - lang: C + source: |- + CURL *hnd = curl_easy_init(); + + curl_easy_setopt(hnd, CURLOPT_CUSTOMREQUEST, "POST"); + curl_easy_setopt(hnd, CURLOPT_URL, "https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1/links/link-sb1/mirrors:reverse-and-start-mirror"); + + struct curl_slist *headers = NULL; + headers = curl_slist_append(headers, "Authorization: Basic REPLACE_BASIC_AUTH"); + curl_easy_setopt(hnd, CURLOPT_HTTPHEADER, headers); + + curl_easy_setopt(hnd, CURLOPT_POSTFIELDS, "{\"mirror_topic_names\":[\"string\"],\"mirror_topic_name_pattern\":\"string\"}"); + + CURLcode ret = curl_easy_perform(hnd); + - lang: C# + source: |- + var client = new RestClient("https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1/links/link-sb1/mirrors:reverse-and-start-mirror"); + var request = new RestRequest(Method.POST); + request.AddHeader("Authorization", "Basic REPLACE_BASIC_AUTH"); + request.AddParameter("undefined", "{\"mirror_topic_names\":[\"string\"],\"mirror_topic_name_pattern\":\"string\"}", ParameterType.RequestBody); + IRestResponse response = client.Execute(request); + parameters: + - $ref: '#/components/parameters/ClusterId' + - $ref: '#/components/parameters/LinkName' + - $ref: '#/components/parameters/ValidateOnly' + '/kafka/v3/clusters/{cluster_id}/links/{link_name}/mirrors:reverse-and-pause-mirror': + post: + summary: Reverse the local mirror topic and Pause the remote mirror topic + operationId: updateKafkaMirrorTopicsReverseAndPauseMirror + description: '[![Generally Available](https://img.shields.io/badge/Lifecycle%20Stage-Generally%20Available-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy)' + tags: + - Cluster Linking (v3) + security: + - resource-api-key: [] + - external-access-token: [] + requestBody: + $ref: '#/components/requestBodies/AlterMirrorsRequest' + responses: + '200': + $ref: '#/components/responses/AlterMirrorStatusResponse' + '400': + $ref: '#/components/responses/BadRequestErrorResponse' + '401': + $ref: '#/components/responses/UnauthorizedErrorResponse' + '429': + $ref: '#/components/responses/TooManyRequestsErrorResponse' + 5XX: + $ref: '#/components/responses/ServerErrorResponse' + x-codeSamples: + - lang: Shell + source: |- + curl --request POST \ + --url https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1/links/link-sb1/mirrors:reverse-and-pause-mirror \ + --header 'Authorization: Basic REPLACE_BASIC_AUTH' \ + --data '{"mirror_topic_names":["string"],"mirror_topic_name_pattern":"string"}' + - lang: Java + source: |- + OkHttpClient client = new OkHttpClient(); + + MediaType mediaType = MediaType.parse("application/json"); + RequestBody body = RequestBody.create(mediaType, "{\"mirror_topic_names\":[\"string\"],\"mirror_topic_name_pattern\":\"string\"}"); + Request request = new Request.Builder() + .url("https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1/links/link-sb1/mirrors:reverse-and-pause-mirror") + .post(body) + .addHeader("Authorization", "Basic REPLACE_BASIC_AUTH") + .build(); + + Response response = client.newCall(request).execute(); + - lang: Go + source: "package main\n\nimport (\n\t\"fmt\"\n\t\"strings\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1/links/link-sb1/mirrors:reverse-and-pause-mirror\"\n\n\tpayload := strings.NewReader(\"{\\\"mirror_topic_names\\\":[\\\"string\\\"],\\\"mirror_topic_name_pattern\\\":\\\"string\\\"}\")\n\n\treq, _ := http.NewRequest(\"POST\", url, payload)\n\n\treq.Header.Add(\"Authorization\", \"Basic REPLACE_BASIC_AUTH\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}" + - lang: Python + source: |- + import http.client + + conn = http.client.HTTPSConnection("pkc-00000.region.provider.confluent.cloud") + + payload = "{\"mirror_topic_names\":[\"string\"],\"mirror_topic_name_pattern\":\"string\"}" + + headers = { 'Authorization': "Basic REPLACE_BASIC_AUTH" } + + conn.request("POST", "/kafka/v3/clusters/cluster-1/links/link-sb1/mirrors:reverse-and-pause-mirror", payload, headers) + + res = conn.getresponse() + data = res.read() + + print(data.decode("utf-8")) + - lang: Node + source: |- + const http = require("https"); + + const options = { + "method": "POST", + "hostname": "pkc-00000.region.provider.confluent.cloud", + "port": null, + "path": "/kafka/v3/clusters/cluster-1/links/link-sb1/mirrors:reverse-and-pause-mirror", + "headers": { + "Authorization": "Basic REPLACE_BASIC_AUTH" + } + }; + + const req = http.request(options, function (res) { + const chunks = []; + + res.on("data", function (chunk) { + chunks.push(chunk); + }); + + res.on("end", function () { + const body = Buffer.concat(chunks); + console.log(body.toString()); + }); + }); + + req.write(JSON.stringify({mirror_topic_names: ['string'], mirror_topic_name_pattern: 'string'})); + req.end(); + - lang: C + source: |- + CURL *hnd = curl_easy_init(); + + curl_easy_setopt(hnd, CURLOPT_CUSTOMREQUEST, "POST"); + curl_easy_setopt(hnd, CURLOPT_URL, "https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1/links/link-sb1/mirrors:reverse-and-pause-mirror"); + + struct curl_slist *headers = NULL; + headers = curl_slist_append(headers, "Authorization: Basic REPLACE_BASIC_AUTH"); + curl_easy_setopt(hnd, CURLOPT_HTTPHEADER, headers); + + curl_easy_setopt(hnd, CURLOPT_POSTFIELDS, "{\"mirror_topic_names\":[\"string\"],\"mirror_topic_name_pattern\":\"string\"}"); + + CURLcode ret = curl_easy_perform(hnd); + - lang: C# + source: |- + var client = new RestClient("https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1/links/link-sb1/mirrors:reverse-and-pause-mirror"); + var request = new RestRequest(Method.POST); + request.AddHeader("Authorization", "Basic REPLACE_BASIC_AUTH"); + request.AddParameter("undefined", "{\"mirror_topic_names\":[\"string\"],\"mirror_topic_name_pattern\":\"string\"}", ParameterType.RequestBody); + IRestResponse response = client.Execute(request); + parameters: + - $ref: '#/components/parameters/ClusterId' + - $ref: '#/components/parameters/LinkName' + - $ref: '#/components/parameters/ValidateOnly' + '/kafka/v3/clusters/{cluster_id}/links/{link_name}/mirrors:truncate-and-restore': + post: + summary: Truncates the local topic to the remote stopped mirror log end offsets and restores mirroring to the local topic to mirror from the remote topic + operationId: updateKafkaMirrorTopicsTruncateAndRestoreMirror + description: '[![Generally Available](https://img.shields.io/badge/Lifecycle%20Stage-Generally%20Available-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy)' + tags: + - Cluster Linking (v3) + security: + - resource-api-key: [] + - external-access-token: [] + requestBody: + $ref: '#/components/requestBodies/AlterMirrorsRequest' + responses: + '200': + $ref: '#/components/responses/AlterMirrorStatusResponse' + '400': + $ref: '#/components/responses/BadRequestErrorResponse' + '401': + $ref: '#/components/responses/UnauthorizedErrorResponse' + '429': + $ref: '#/components/responses/TooManyRequestsErrorResponse' + 5XX: + $ref: '#/components/responses/ServerErrorResponse' + x-codeSamples: + - lang: Shell + source: |- + curl --request POST \ + --url https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1/links/link-sb1/mirrors:truncate-and-restore \ + --header 'Authorization: Basic REPLACE_BASIC_AUTH' \ + --data '{"mirror_topic_names":["string"],"mirror_topic_name_pattern":"string"}' + - lang: Java + source: |- + OkHttpClient client = new OkHttpClient(); + + MediaType mediaType = MediaType.parse("application/json"); + RequestBody body = RequestBody.create(mediaType, "{\"mirror_topic_names\":[\"string\"],\"mirror_topic_name_pattern\":\"string\"}"); + Request request = new Request.Builder() + .url("https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1/links/link-sb1/mirrors:truncate-and-restore") + .post(body) + .addHeader("Authorization", "Basic REPLACE_BASIC_AUTH") + .build(); + + Response response = client.newCall(request).execute(); + - lang: Go + source: "package main\n\nimport (\n\t\"fmt\"\n\t\"strings\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1/links/link-sb1/mirrors:truncate-and-restore\"\n\n\tpayload := strings.NewReader(\"{\\\"mirror_topic_names\\\":[\\\"string\\\"],\\\"mirror_topic_name_pattern\\\":\\\"string\\\"}\")\n\n\treq, _ := http.NewRequest(\"POST\", url, payload)\n\n\treq.Header.Add(\"Authorization\", \"Basic REPLACE_BASIC_AUTH\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}" + - lang: Python + source: |- + import http.client + + conn = http.client.HTTPSConnection("pkc-00000.region.provider.confluent.cloud") + + payload = "{\"mirror_topic_names\":[\"string\"],\"mirror_topic_name_pattern\":\"string\"}" + + headers = { 'Authorization': "Basic REPLACE_BASIC_AUTH" } + + conn.request("POST", "/kafka/v3/clusters/cluster-1/links/link-sb1/mirrors:truncate-and-restore", payload, headers) + + res = conn.getresponse() + data = res.read() + + print(data.decode("utf-8")) + - lang: Node + source: |- + const http = require("https"); + + const options = { + "method": "POST", + "hostname": "pkc-00000.region.provider.confluent.cloud", + "port": null, + "path": "/kafka/v3/clusters/cluster-1/links/link-sb1/mirrors:truncate-and-restore", + "headers": { + "Authorization": "Basic REPLACE_BASIC_AUTH" + } + }; + + const req = http.request(options, function (res) { + const chunks = []; + + res.on("data", function (chunk) { + chunks.push(chunk); + }); + + res.on("end", function () { + const body = Buffer.concat(chunks); + console.log(body.toString()); + }); + }); + + req.write(JSON.stringify({mirror_topic_names: ['string'], mirror_topic_name_pattern: 'string'})); + req.end(); + - lang: C + source: |- + CURL *hnd = curl_easy_init(); + + curl_easy_setopt(hnd, CURLOPT_CUSTOMREQUEST, "POST"); + curl_easy_setopt(hnd, CURLOPT_URL, "https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1/links/link-sb1/mirrors:truncate-and-restore"); + + struct curl_slist *headers = NULL; + headers = curl_slist_append(headers, "Authorization: Basic REPLACE_BASIC_AUTH"); + curl_easy_setopt(hnd, CURLOPT_HTTPHEADER, headers); + + curl_easy_setopt(hnd, CURLOPT_POSTFIELDS, "{\"mirror_topic_names\":[\"string\"],\"mirror_topic_name_pattern\":\"string\"}"); + + CURLcode ret = curl_easy_perform(hnd); + - lang: C# + source: |- + var client = new RestClient("https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1/links/link-sb1/mirrors:truncate-and-restore"); + var request = new RestRequest(Method.POST); + request.AddHeader("Authorization", "Basic REPLACE_BASIC_AUTH"); + request.AddParameter("undefined", "{\"mirror_topic_names\":[\"string\"],\"mirror_topic_name_pattern\":\"string\"}", ParameterType.RequestBody); + IRestResponse response = client.Execute(request); + parameters: + - $ref: '#/components/parameters/ClusterId' + - $ref: '#/components/parameters/LinkName' + - $ref: '#/components/parameters/IncludePartitionLevelTruncationData' + - $ref: '#/components/parameters/ValidateOnly' diff --git a/providers/src/confluent/v00.00.00000/services/ksqldb_clusters.yaml b/providers/src/confluent/v00.00.00000/services/ksqldb_clusters.yaml new file mode 100644 index 00000000..12da4331 --- /dev/null +++ b/providers/src/confluent/v00.00.00000/services/ksqldb_clusters.yaml @@ -0,0 +1,3590 @@ +openapi: 3.0.0 +servers: + - url: 'https://api.confluent.cloud' + description: Confluent Cloud API +info: + version: '' + contact: + name: Confluent Cloud + url: 'https://www.confluent.io/cloud-contact-us/' + email: support@confluent.io + x-api-id: 46234552-5833-42eb-ba0f-883ad3f70d2b + x-audience: external-public + x-logo: + url: 'https://assets.confluent.io/m/5ec23aa91903c00b/' + title: Confluent Cloud APIs - ksqldb_clusters + description: ksqldb_clusters +tags: + - name: API Keys (iam/v2) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + `ApiKey` objects represent access to different parts of Confluent Cloud. Some types + of API keys represent access to a single cluster/resource such as a Kafka cluster, + Schema Registry cluster or a ksqlDB cluster. Cloud API Keys represent access to resources within an organization + that are not tied to a specific cluster, such as the Org API, IAM API, Metrics API or Connect API. + + The API allows you to list, create, update and delete your API Keys. + + + Related guide: [API Keys in Confluent Cloud](https://docs.confluent.io/cloud/current/client-apps/api-keys.html). + + ## The API Keys Model + + + ## Quotas and Limits + This resource is subject to the [following quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): + + | Quota | Description | + | --- | --- | + | `apikeys_per_org` | API Keys in one Confluent Cloud organization | + - name: Environments (org/v2) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + `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](https://docs.confluent.io/cloud/current/access-management/environments.html). + + ## The Environments Model + + + ## Quotas and Limits + This resource is subject to the [following quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): + + | Quota | Description | + | --- | --- | + | `environments_per_org` | Environments in one Confluent Cloud organization | + - name: Organizations (org/v2) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + `Organization` objects represent a customer organization. An organization contains all customer + resources (e.g., Environments, Kafka Clusters, Service Accounts, API Keys) and is tied to a billing + agreement (including any annual commitment or support plan). + + The API allows you to list, view, and update your organizations. + + + Related guide: [Organizations for Confluent Cloud](https://docs.confluent.io/cloud/current/access-management/hierarchy/organizations/cloud-organization.html). + + ## The Organizations Model + + + ## Quotas and Limits + This resource is subject to the [following quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): + + | Quota | Description | + | --- | --- | + | `organizations_per_user` | Confluent Cloud organizations a user belongs to | + - name: Users (iam/v2) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + `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](https://docs.confluent.io/cloud/current/access-management/user-account.html). + + ## The Users Model + + + ## Quotas and Limits + This resource is subject to the [following quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): + + | Quota | Description | + | --- | --- | + | `users_per_org` | Users in one Confluent Cloud organization | + - name: Service Accounts (iam/v2) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + `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](https://docs.confluent.io/cloud/current/access-management/service-account.html). + + ## The Service Accounts Model + + + ## Quotas and Limits + This resource is subject to the [following quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): + + | Quota | Description | + | --- | --- | + | `service_accounts_per_org` | Service Accounts in one Confluent Cloud organization | + - name: Invitations (iam/v2) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + `Invitation` objects represent invitations to invite users to join your organizations in Confluent Cloud. + + The API allows you to list all your invitations, as well as create, read, and delete a specified invitation. + + + Related guide: [User invitations in Confluent Cloud](https://docs.confluent.io/cloud/current/access-management/identity/user-accounts.html). + + ## The Invitations Model + + + ## Quotas and Limits + This resource is subject to the [following quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): + + | Quota | Description | + | --- | --- | + | `invitations_per_org` | Invitations in a Confluent Cloud organization | + - name: IP Groups (iam/v2) + description: |- + [![Limited Availability](https://img.shields.io/badge/Lifecycle%20Stage-Limited%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) [![Request Access To IP Groups API](https://img.shields.io/badge/-Request%20Access%20To%20IP%20Groups%20API-%23bc8540)](mailto:cloud-support@confluent.io?subject=Request%20to%20join%20IP%20Filtering%20API%20Limited%20Access&body=I%E2%80%99d%20like%20to%20join%20the%20Confluent%20Cloud%20API%20Limited%20Access%20for%20IP%20Filtering.%0AMy%20Cloud%20Organization%20ID%20is%20%3Cretrieve%20from%20https%3A//confluent.cloud/settings/billing/payment%3E.%0A) + + Definitions of networks which can be named and referred by IP blocks, commonly used to attach to IP Filter rules. + + + ## The IP Groups Model + + - name: IP Filters (iam/v2) + description: |- + [![Limited Availability](https://img.shields.io/badge/Lifecycle%20Stage-Limited%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) [![Request Access To IP Filters API](https://img.shields.io/badge/-Request%20Access%20To%20IP%20Filters%20API-%23bc8540)](mailto:ccloud-api-access+iam-v2-limited-availability@confluent.io?subject=Request%20to%20join%20iam/v2%20API%20Limited%20Availability&body=I%E2%80%99d%20like%20to%20join%20the%20Confluent%20Cloud%20API%20Limited%20Availability%20for%20iam/v2%20to%20provide%20early%20feedback%21%20My%20Cloud%20Organization%20ID%20is%20%3Cretrieve%20from%20https%3A//confluent.cloud/settings/billing/payment%3E.) + + `IP Filter` objects are bindings between IP Groups and Confluent resource(s). + For example, a binding between "CorpNet" and "Management APIs" will enforce that + access must come from one of the CIDR blocks associated with CorpNet. + If there are multiple IP filters bound to a resource, a request matching any of the CIDR blocks + for any of the IP Group will allow the request. + If there are no IP Filters for a resource, then access will be granted to requests originating + from any IP Address. + + + ## The IP Filters Model + + - name: Role Bindings (iam/v2) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + A role binding grants a Principal a role on resources that match a pattern. + + The API allows you to perform create, delete, and list operations on role bindings. + + + Related guide: [Role-Based Access Control (RBAC)](https://docs.confluent.io/cloud/current/access-management/access-control/cloud-rbac.html). + + ## The Role Bindings Model + + - name: Subscriptions (notifications/v1) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + `Subscription` objects represent the intent of the customers to get notifications of particular types. + A subscription is created for a particular `NotificationType` and the user will get notifications on the + `Integrations` that are provided while creating the subscription. + + This API allows you to create, retrieve, and update subscriptions, + as well as to view the list of all your subscriptions. You can also delete subscriptions + with RECOMMENDED or OPTIONAL notification types. Subscriptions with REQUIRED notification types cannot be deleted. + + + Related guide: [Cloud Notifications](https://docs.confluent.io/cloud/current/monitoring/configure-notifications.html#notifications-for-ccloud). + + ## The Subscriptions Model + + - name: Integrations (notifications/v1) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + You can create an `Integration` to specify how we can notify you when we receive an alert/notification for + a subscription. Please note that you can only perform create, update and delete operations for integrations + of type `Webhook`, `Slack` and `MsTeams`. You cannot create, update or delete integrations of type `RoleEmail` + and `UserEmail`. + + + Related guide: [Cloud Notifications](https://docs.confluent.io/cloud/current/monitoring/configure-notifications.html#notifications-for-ccloud). + + ## The Integrations Model + + + ## Quotas and Limits + This resource is subject to the [following quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): + + | Quota | Description | + | --- | --- | + | `integrations_per_org` | Maximum number of integrations in one Confluent Cloud organization | + - name: Notification Types (notifications/v1) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + The type of notifications (and their corresponding metadata) supported by Confluent. + + + Related guide: [Cloud Notifications](https://docs.confluent.io/cloud/current/monitoring/configure-notifications.html#notifications-for-ccloud). + + ## The Notification Types Model + + - name: Clusters (cmk/v2) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + `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](https://docs.confluent.io/cloud/current/clusters/cluster-api.html). + + ## The Clusters Model + + + ## Quotas and Limits + This resource is subject to the [following quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): + + | Quota | Description | + | --- | --- | + | `kafka_clusters_per_environment` | Number of clusters in one Confluent Cloud environment | + - name: Clusters (ksqldbcm/v2) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + `Cluster` represents a ksqlDB runtime that you can issue queries to using its API endpoint. + It executes SQL statements and queries which under the hood get built into corresponding + Kafka Streams topologies. The API allows you to list, create, read, and delete your ksqlDB clusters. + + + Related guide: [ksqlDB in Confluent Cloud](https://docs.confluent.io/cloud/current/ksqldb/ksqldb-cluster-api.html). + + ## The Clusters Model + + + ## Quotas and Limits + This resource is subject to the following quotas: + + | Quota | Description | + | --- | --- | + | `ksql.limits.max_apps_per_cluster` | Clusters in one Confluent Cloud Kafka Cluster. | + - name: Connectors (connect/v1) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + API for Managed Connectors or Custom Connectors in Confluent Cloud. + + The API allows you to list, create, get, update and delete a Managed Connector or Custom Connector in Confluent Cloud. + + Connect metrics are available through the [Metrics v2 API](https://api.telemetry.confluent.cloud/docs#tag/Version-2). + + Related guide: [Confluent Cloud API and Managed Connectors](https://docs.confluent.io/cloud/current/connectors/connect-api-section.html). + - name: Lifecycle (connect/v1) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + API for managing the lifecycle for a Managed Connector or Custom Connector in Confluent Cloud. Operations currently supported are Pause and Resume. + - name: Status (connect/v1) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + API for requesting the status or the tasks for a Managed Connector or Custom Connector in Confluent Cloud. + - name: Managed Connector Plugins (connect/v1) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + API for Managed connectors in Confluent Cloud. + - name: Offsets (connect/v1) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + API for managing the offsets for a Managed Connector. + + Related guide: [Manage Connector Offsets](https://docs.confluent.io/cloud/current/connectors/offsets.html#manage-offsets-for-fully-managed-connectors-in-ccloud) + - name: Custom Connector Plugins (connect/v1) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + CustomConnectorPlugins objects represent Custom Connector Plugins on Confluent Cloud. + The API allows you to list, create, read, update, and delete your Custom Connector Plugins. + Related guide: + [Custom Connector Plugin API](https://docs.confluent.io/cloud/current/connectors/connect-api-section.html). + + + ## The Custom Connector Plugins Model + + - name: Presigned Urls (connect/v1) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + Request a presigned upload URL for new Custom Connector Plugin. Note that + the URL policy expires in one hour. If the policy expires, you can request + a new presigned upload URL. + + Related guide: + [Custom Connector Plugin API](https://docs.confluent.io/cloud/current/connectors/connect-api-section.html). + + + ## The Presigned Urls Model + + - name: Cluster (v3) + description: '[![Generally Available](https://img.shields.io/badge/Lifecycle%20Stage-Generally%20Available-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy)' + - name: Configs (v3) + description: '[![Generally Available](https://img.shields.io/badge/Lifecycle%20Stage-Generally%20Available-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy)' + - name: ACL (v3) + description: '[![Generally Available](https://img.shields.io/badge/Lifecycle%20Stage-Generally%20Available-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy)' + - name: Consumer Group (v3) + description: '[![Generally Available](https://img.shields.io/badge/Lifecycle%20Stage-Generally%20Available-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy)' + - name: Partition (v3) + description: '[![Generally Available](https://img.shields.io/badge/Lifecycle%20Stage-Generally%20Available-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy)' + - name: Topic (v3) + description: '[![Generally Available](https://img.shields.io/badge/Lifecycle%20Stage-Generally%20Available-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy)' + - name: Records (v3) + description: '[![Generally Available](https://img.shields.io/badge/Lifecycle%20Stage-Generally%20Available-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy)' + - name: Cluster Linking (v3) + description: '[![Generally Available](https://img.shields.io/badge/Lifecycle%20Stage-Generally%20Available-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy)' + - name: Applied Quotas (service-quota/v1) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + A `quota` object represents a quota configuration for a specific Confluent Cloud resource. + Use this API to retrieve an individual quota or list of quotas for a given scope. + + + Related guide: [Service Quotas for Confluent Cloud](https://docs.confluent.io/cloud/current/quotas/index.html). + + ## The Applied Quotas Model + + - name: Scopes (service-quota/v1) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + Gets a list of all available scopes for applied quotas. + + + Related guide: [Quota Scopes](https://docs.confluent.io/cloud/current/quotas/quotas.html#query-for-scopes). + + ## The Scopes Model + + - name: Entitlements (partner/v2) + description: | + [![Early Access](https://img.shields.io/badge/Lifecycle%20Stage-Early%20Access-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) [![Request Access To Partner v2](https://img.shields.io/badge/-Request%20Access%20To%20Partner%20v2-%23bc8540)](mailto:ccloud-api-access+partner-v2-early-access@confluent.io?subject=Request%20to%20join%20partner/v2%20API%20Early%20Access&body=I%E2%80%99d%20like%20to%20join%20the%20Confluent%20Cloud%20API%20Early%20Access%20for%20partner/v2%20to%20provide%20early%20feedback%21%20My%20Cloud%20Organization%20ID%20is%20%3Cretrieve%20from%20https%3A//confluent.cloud/settings/billing/payment%3E.) + + `Entitlement` objects represent metadata about a marketplace entitlement. + + An entitlement includes metadata about a marketplace purchase + (start date, end date, billing information, partner IDs, etc). + The API allows partners to create, read, and list entitlements. (Unless you + need entitlement creation and customer registration to be separate, + we recommend using the Signup API to create an organization and entitlement + at the same time) + + The API only allows authorized partners to interact with the Entitlements API. + - name: Regions (srcm/v2) + description: |- + [![Deprecated](https://img.shields.io/badge/Lifecycle%20Stage-Deprecated-%23ff005c)](#section/Versioning/API-Lifecycle-Policy) + + `Region` objects represent cloud provider regions available when placing Schema Registry clusters. + The API allows you to list Schema Registry regions. + + + Related guides: + * [Confluent Cloud providers and region support](https://docs.confluent.io/cloud/current/stream-governance/packages.html#cloud-providers-and-region-support). + * [srcm/v3 Migration Guide](https://docs.confluent.io/cloud/current/stream-governance/packages.html#deprecation-of-srcm-v2-clusters-and-regions-apis-and-upgrade-guide). + + + ## The Regions Model + + - name: Clusters (srcm/v2) + description: |- + [![Deprecated](https://img.shields.io/badge/Lifecycle%20Stage-Deprecated-%23ff005c)](#section/Versioning/API-Lifecycle-Policy) + + `Clusters` objects represent Schema Registry Clusters on Confluent Cloud. + + The API allows you to list, create, read, and delete your Schema Registry clusters. + + + Related guides: + * [Confluent Cloud Schema Registry Cluster APIs](https://docs.confluent.io/cloud/current/stream-governance/clusters-regions-api.html#schema-registry-cluster-management). + * [srcm/v3 Migration Guide](https://docs.confluent.io/cloud/current/stream-governance/packages.html#deprecation-of-srcm-v2-clusters-and-regions-apis-and-upgrade-guide). + + + ## The Clusters Model + + - name: Clusters (srcm/v3) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + `Clusters` objects represent Schema Registry Clusters on Confluent Cloud. + + The API allows you to list and read your Schema Registry clusters. + + + Related guide: [Confluent Cloud Schema Registry Cluster APIs](https://docs.confluent.io/cloud/current/stream-governance/clusters-regions-api.html#schema-registry-cluster-management). + + ## The Clusters Model + + - name: Compatibility (v1) + description: |- + [![Generally Available](https://img.shields.io/badge/Lifecycle%20Stage-Generally%20Available-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + The API allows you to test schema compatibility. + + Related guide: [Manage Schemas in Confluent Cloud](https://docs.confluent.io/cloud/current/sr/schemas-manage.html#manage-schemas-in-ccloud). + - name: Config (v1) + description: |- + [![Generally Available](https://img.shields.io/badge/Lifecycle%20Stage-Generally%20Available-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + The API allows you to manage and query schema compatibility settings and cluster configurations. + + Related guide: [Manage Schemas in Confluent Cloud](https://docs.confluent.io/cloud/current/sr/schemas-manage.html#manage-schemas-in-ccloud). + - name: Contexts (v1) + description: |- + [![Generally Available](https://img.shields.io/badge/Lifecycle%20Stage-Generally%20Available-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + The API allows you to retrieve information about schema contexts. + + Related guide: [Manage Schemas in Confluent Cloud](https://docs.confluent.io/cloud/current/sr/schemas-manage.html#manage-schemas-in-ccloud). + - name: Exporters (v1) + description: |- + [![Generally Available](https://img.shields.io/badge/Lifecycle%20Stage-Generally%20Available-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + The API allows you to create, retrieve, update, and delete exporters. + + Related guide: [Manage Schemas in Confluent Cloud](https://docs.confluent.io/cloud/current/sr/schemas-manage.html#manage-schemas-in-ccloud). + - name: Modes (v1) + description: |- + [![Generally Available](https://img.shields.io/badge/Lifecycle%20Stage-Generally%20Available-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + The API allows you to create, retrieve, update, and delete schema subjects modes of operation. + + Related guide: [Manage Schemas in Confluent Cloud](https://docs.confluent.io/cloud/current/sr/schemas-manage.html#manage-schemas-in-ccloud). + - name: Schemas (v1) + description: |- + [![Generally Available](https://img.shields.io/badge/Lifecycle%20Stage-Generally%20Available-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + The API allows you to create, retrieve, update, and delete schemas. + + Related guide: [Manage Schemas in Confluent Cloud](https://docs.confluent.io/cloud/current/sr/schemas-manage.html#manage-schemas-in-ccloud). + - name: Subjects (v1) + description: |- + [![Generally Available](https://img.shields.io/badge/Lifecycle%20Stage-Generally%20Available-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + The API allows you to create, retrieve, update, and delete schema subjects and versions. + + Related guide: [Manage Schemas in Confluent Cloud](https://docs.confluent.io/cloud/current/sr/schemas-manage.html#manage-schemas-in-ccloud). + - name: Key Encryption Keys (v1) + description: |- + [![Generally Available](https://img.shields.io/badge/Lifecycle%20Stage-Generally%20Available-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + The API allows you to create, retrieve, update, and delete key encryption keys. + + Related guide: [Manage Schemas in Confluent Cloud](https://docs.confluent.io/cloud/current/sr/schemas-manage.html#manage-schemas-in-ccloud). + - name: Data Encryption Keys (v1) + description: |- + [![Generally Available](https://img.shields.io/badge/Lifecycle%20Stage-Generally%20Available-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + The API allows you to create, retrieve, update, and delete data encryption keys. + + Related guide: [Manage Schemas in Confluent Cloud](https://docs.confluent.io/cloud/current/sr/schemas-manage.html#manage-schemas-in-ccloud). + - name: Entity (v1) + description: |- + [![Generally Available](https://img.shields.io/badge/Lifecycle%20Stage-Generally%20Available-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + The API allows you to create, retrieve, update, and delete catalog entities. + + Related guide: [Catalog API Documentation](https://docs.confluent.io/cloud/current/stream-governance/stream-catalog.html#catalog-api-documentation). + - name: Search (v1) + description: |- + [![Generally Available](https://img.shields.io/badge/Lifecycle%20Stage-Generally%20Available-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + The API allows you to search for entities. + + Related guide: [Catalog API Documentation](https://docs.confluent.io/cloud/current/stream-governance/stream-catalog.html#catalog-api-documentation). + - name: Types (v1) + description: |- + [![Generally Available](https://img.shields.io/badge/Lifecycle%20Stage-Generally%20Available-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + The API allows you to create, retrieve, update, and delete catalog types such as tag definitions. + + Related guide: [Catalog API Documentation](https://docs.confluent.io/cloud/current/stream-governance/stream-catalog.html#catalog-api-documentation). + - name: Provider Shared Resources (cdx/v1) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + `ProviderSharedResource` object contains details of the data stream + (topic, schema registry subjects, sharing metadata) that you have shared through Stream Sharing. + + + ## The Provider Shared Resources Model + + - name: Provider Shares (cdx/v1) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + `ProviderShare` object respresents the share that you have created through Stream Sharing. + + + Related guide: [Provider Stream Shares in Confluent Cloud](https://docs.confluent.io/cloud/current/stream-sharing/produce-shared-data.html#stream-shares). + + ## The Provider Shares Model + + - name: Consumer Shared Resources (cdx/v1) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + `ConsumerSharedResource` object contains details of the data stream + (topic, schema registry subjects, sharing metadata) that you received through Stream Sharing. + + + ## The Consumer Shared Resources Model + + - name: Consumer Shares (cdx/v1) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + `ConsumerShare` object respresents the share that you received through Stream Sharing. + + + Related guide: [Consumer Stream Shares in Confluent Cloud](https://docs.confluent.io/cloud/current/stream-sharing/consume-shared-data.html). + + ## The Consumer Shares Model + + - name: Shared Tokens (cdx/v1) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + Encrypted Token shared with consumer + + + ## The Shared Tokens Model + + - name: Opt Ins (cdx/v1) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + Stream sharing opt in options + + ## The Opt Ins Model + + - name: Organizations (partner/v2) + description: | + [![Early Access](https://img.shields.io/badge/Lifecycle%20Stage-Early%20Access-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) [![Request Access To Partner v2](https://img.shields.io/badge/-Request%20Access%20To%20Partner%20v2-%23bc8540)](mailto:ccloud-api-access+partner-v2-early-access@confluent.io?subject=Request%20to%20join%20partner/v2%20API%20Early%20Access&body=I%E2%80%99d%20like%20to%20join%20the%20Confluent%20Cloud%20API%20Early%20Access%20for%20partner/v2%20to%20provide%20early%20feedback%21%20My%20Cloud%20Organization%20ID%20is%20%3Cretrieve%20from%20https%3A//confluent.cloud/settings/billing/payment%3E.) + + `Organizations` objects represent an entire Confluent Cloud organization. + Partners are allowed to get an organization they have signed up or + list all organizations they have signed up. + - name: Signup (partner/v2) + description: | + [![Early Access](https://img.shields.io/badge/Lifecycle%20Stage-Early%20Access-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) [![Request Access To Partner v2](https://img.shields.io/badge/-Request%20Access%20To%20Partner%20v2-%23bc8540)](mailto:ccloud-api-access+partner-v2-early-access@confluent.io?subject=Request%20to%20join%20partner/v2%20API%20Early%20Access&body=I%E2%80%99d%20like%20to%20join%20the%20Confluent%20Cloud%20API%20Early%20Access%20for%20partner/v2%20to%20provide%20early%20feedback%21%20My%20Cloud%20Organization%20ID%20is%20%3Cretrieve%20from%20https%3A//confluent.cloud/settings/billing/payment%3E.) + + `Signup` APIs can only be performed by partners. + - name: Networks (networking/v1) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + `Network` represents a network (VPC) in Confluent Cloud. All Networks exist within Confluent-managed cloud + provider accounts. Dedicated networks support more networking options but can only contain Dedicated clusters. + Shared networks can contain any cluster type. + + The API allows you to list, create, read, update, and delete your networks. + + + Related guide: [APIs to manage networks in Confluent Cloud](https://docs.confluent.io/cloud/current/networking/overview.html). + + ## The Networks Model + + + ## Quotas and Limits + This resource is subject to the [following quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): + + | Quota | Description | + | --- | --- | + | `dedicated_networks_per_environment` | Number of dedicated networks per Confluent Cloud environment | + - name: Peerings (networking/v1) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + Add or remove VPC/VNet peering connections between your VPC/VNet and Confluent Cloud. + + Related guides: + * [Use VPC peering connections with Confluent Cloud on AWS](https://docs.confluent.io/cloud/current/networking/peering/aws-peering.html). + * [Use VNet peering connections with Confluent Cloud on Azure](https://docs.confluent.io/cloud/current/networking/peering/azure-peering.html). + * [Use VPC peering connections with Confluent Cloud on Google Cloud](https://docs.confluent.io/cloud/current/networking/peering/gcp-peering.html). + + + ## The Peerings Model + + + ## Quotas and Limits + This resource is subject to the [following quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): + + | Quota | Description | + | --- | --- | + | `peerings_per_network` | Number of peerings per network | + - name: Transit Gateway Attachments (networking/v1) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + AWS Transit Gateway Attachments + + Related guide: [APIs to manage AWS Transit Gateway Attachments](https://docs.confluent.io/cloud/current/networking/aws-transit-gateway.html). + + ## The Transit Gateway Attachments Model + + + ## Quotas and Limits + This resource is subject to the [following quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): + + | Quota | Description | + | --- | --- | + | `tgw_attachments_per_network` | Number of TGW attachments per network | + - name: Private Link Accesses (networking/v1) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + Add or remove access to PrivateLink endpoints by AWS account, Azure subscription and GCP project ID. + + Related guides: + * [Use Google Cloud Private Service Connect with Confluent Cloud](https://docs.confluent.io/cloud/current/networking/private-links/gcp-private-service-connect.html). + * [Use Azure Private Link with Confluent Cloud](https://docs.confluent.io/cloud/current/networking/private-links/azure-privatelink.html). + * [Use AWS PrivateLink with Confluent Cloud](https://docs.confluent.io/cloud/current/networking/private-links/aws-privatelink.html). + + + ## The Private Link Accesses Model + + + ## Quotas and Limits + This resource is subject to the [following quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): + + | Quota | Description | + | --- | --- | + | `private_link_accounts_per_network` | Number of AWS accounts per network | + | `private_link_subscriptions_per_network` | Number of Azure subscriptions per network | + | `private_service_connect_projects_per_network` | Number of GCP projects per network | + - name: Network Link Services (networking/v1) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + Network Link Service is associated with a Private Link Confluent Cloud Network. + It enables connectivity from other Private Link Confluent Cloud Networks based on + the configured accept policies. + + + Related guide: [Network Linking Overview](https://docs.confluent.io/cloud/current/networking/network-linking.html). + + ## The Network Link Services Model + + + ## Quotas and Limits + This resource is subject to the [following quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): + + | Quota | Description | + | --- | --- | + | `network_link_service_per_network` | Number of network link services per network | + - name: Network Link Endpoints (networking/v1) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + A Network Link Enpoint is associated with a Private Link Confluent Cloud Network at the origin and a + Network Link Service (associated with another Private Link Confluent Cloud Network) at the target. + It enables connectivity between the origin network and the target network. + It can only be associated with a Private Link network. + + + Related guide: [Network Linking Overview](https://docs.confluent.io/cloud/current/networking/network-linking.html). + + ## The Network Link Endpoints Model + + + ## Quotas and Limits + This resource is subject to the [following quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): + + | Quota | Description | + | --- | --- | + | `network_link_endpoints_per_network` | Number of network link endpoints per network | + - name: Network Link Service Associations (networking/v1) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + List of incoming Network Link Enpoints associated with the Network Link Service. + + + Related guide: [Network Linking Overview](https://docs.confluent.io/cloud/current/networking/network-linking.html). + + ## The Network Link Service Associations Model + + - name: Gateways (networking/v1) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + A gateway is a resource that defines network access to Confluent cloud resources. + + + ## The Gateways Model + + - name: IP Addresses (networking/v1) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + IP Addresses + + Related guide: [Use Public Egress IP addresses on Confluent Cloud](https://docs.confluent.io/cloud/current/networking/static-egress-ip-addresses.html) + + ## The IP Addresses Model + + - name: Private Link Attachments (networking/v1) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + PrivateLink attachment objects represent reservations to establish PrivateLink connections + to a cloud region in order to access resources that belong to a Confluent Cloud Environment. + The API allows you to list, create, read update and delete your PrivateLink attachments. + + + ## The Private Link Attachments Model + + + ## Quotas and Limits + This resource is subject to the [following quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): + + | Quota | Description | + | --- | --- | + | `private_link_attachments_per_environment` | Number of PrivateLink Attachments per environment | + - name: Private Link Attachment Connections (networking/v1) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + PrivateLink attachment connection objects represent connections established to a cloud region + in order to access resources that belong to a Confluent Cloud Environment. + The API allows you to list, create, read update and delete your PrivateLink attachment connections. + + + ## The Private Link Attachment Connections Model + + - name: Identity Providers (iam/v2) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + `IdentityProvider` objects represent external OAuth-OIDC providers in Confluent Cloud. + + The API allows you to list, create, read, update, and delete your Identity Provider. + + + Related guide: [OAuth for Confluent Cloud](https://docs.confluent.io/cloud/current/access-management/authenticate/oauth/overview.html). + + ## The Identity Providers Model + + + ## Quotas and Limits + This resource is subject to the [following quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): + + | Quota | Description | + | --- | --- | + | `identity_providers_per_org` | Number of OAuth identity providers per organization | + | `public_keys_per_provider` | Number of public keys saved per identity provider | + - name: Jwks (iam/v2) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + `JWKS` objects represent public key sets for a specific OAuth/OpenID Connect provider within + Confluent Cloud. + + The API allows you to refresh JWKS public key data. + + + Related guide: [OAuth for Confluent Cloud](https://docs.confluent.io/cloud/current/access-management/authenticate/oauth/overview.html). + + ## The Jwks Model + + - name: Identity Pools (iam/v2) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + `IdentityPool` objects represent groups of identities tied to a given a `IdentityProvider` + that authorizes them to Confluent Cloud resources. + + It provides a mapping functionality of your `Identity Provider` user to a Confluent identity pool that + is then used to provide access to Confluent Resources. + + + Related guide: [Use identity pools with your OAuth provider](https://docs.confluent.io/cloud/current/access-management/authenticate/oauth/identity-pools.html). + + ## The Identity Pools Model + + + ## Quotas and Limits + This resource is subject to the [following quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): + + | Quota | Description | + | --- | --- | + | `identity_pools_per_provider` | Number of Identity Pools per Identity Provider | + - name: OAuth Tokens (sts/v1) + description: | + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + OAuth Token is a [JSON Web Token (JWT)](https://www.rfc-editor.org/rfc/rfc7519) that enables the use of + external identities to access Confluent Cloud APIs + - name: Client Quotas (kafka-quotas/v1) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + `ClientQuota` objects represent Client Quotas you can set at the service account level. + + The API allows you to list, create, read, update, and delete your client quotas. + + + Related guide: [Client Quotas in Confluent Cloud](https://docs.confluent.io/cloud/current/clusters/client-quotas.html). + + ## The Client Quotas Model + + - name: Pipelines (sd/v1) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + `Pipeline` objects represent information about a user-defined pipeline of Confluent Cloud components. + The pipeline's content is available separately. + + The API allows you to create, retrieve, update, and delete your pipelines, + as well as list all of your pipelines for the particular environment and Kafka cluster. + + + Related guide: [Pipelines in Confluent Cloud](https://docs.confluent.io/cloud/current/stream-designer/). + + ## The Pipelines Model + + + ## Quotas and Limits + This resource is subject to the [following quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): + + | Quota | Description | + | --- | --- | + | `pipelines_per_org` | Pipelines in one Confluent Cloud organization | + | `pipelines_per_cluster` | Pipelines in one Confluent Cloud Kafka cluster | + - name: Keys (byok/v1) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + `Key` objects represent customer managed keys on dedicated Confluent Cloud clusters. + + Keys are used to protect data at rest stored in your dedicated Confluent Cloud clusters on AWS, Azure, and GCP. + This API allows you to upload and retrieve self-managed keys on Confluent Cloud. + + + Related guide: [Confluent Cloud Bring Your Own Key (BYOK) Management API](https://docs.confluent.io/cloud/current/clusters/byok/index.html). + + ## The Keys Model + + + ## Quotas and Limits + This resource is subject to the [following quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): + + | Quota | Description | + | --- | --- | + | `byok.max_keys.per_org` | BYOK keys in one Confluent Cloud organisation. | + - name: Costs (billing/v1) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + `Cost` objects represent the aggregated billing costs for an organization + + + Related guide: [Retrieve costs for a range of dates](https://docs.confluent.io/cloud/current/billing/overview.html#retrieve-costs-for-a-range-of-dates). + + ## The Costs Model + + - name: Group Mappings (iam/v2/sso) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + `GroupMapping` objects establish relationships between user groups in your SSO + identity provider and specific RBAC roles in Confluent Cloud. + + Group mappings enable automated and secure access control to Confluent Cloud resources, + reducing administrative workload by streamlining user provisioning and authorization. + + + Related guide: [Use group mappings with your SSO identity provider](https://docs.confluent.io/cloud/current/access-management/authenticate/sso/group-mapping/overview.html). + + ## The Group Mappings Model + + + ## Quotas and Limits + This resource is subject to the [following quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): + + | Quota | Description | + | --- | --- | + | `group_mappings_per_org` | Number of group mappings per organization | + - name: Compute Pools (fcpm/v2) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + A Compute Pool represents a set of compute resources that is used to run your Queries. + The resources (CPUs, memory,…) provided by a Compute Pool are shared between all Queries that use it. + + + ## The Compute Pools Model + + - name: Regions (fcpm/v2) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + `Region` objects represent cloud provider regions available when placing Flink compute pools. + The API allows you to list Flink regions. + + + ## The Regions Model + + - name: Statements (sql/v1) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + `Statement` represents a core resource used to model SQL statements for execution. + A statement generalizes DDL, DML, DQL, etc., but doesn’t attempt to handle session + management or any higher-level functionality. + The API allows you to list, create, read, and delete your statements. + ## The Statements Model + + - name: Statement Results (sql/v1) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + `StatementResult` represents a result of a `Statement` resource. + The API allows you to read your statement's results. + ## The Statement Results Model + + - name: Statement Exceptions (sql/v1) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + `StatementException` represents an exception of a `Statement` resource. + The API allows you to read your statement's exceptions. + ## The Statement Exceptions Model + + - name: Connections (sql/v1) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + `Connection` represents a core resource used to model SQL connections for execution. + A connection generalizes DDL, DML, DQL, etc., but doesn’t attempt to handle session + management or any higher-level functionality. + The API allows you to list, create, read, and delete your connections. + ## The Connections Model + + - name: DNS Forwarders (networking/v1) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + Add, remove, and update DNS forwarder for your gateway. + + Related guides: + * [Use VPC peering connections with Confluent Cloud on AWS](https://docs.confluent.io/cloud/current/networking/peering/aws-peering.html). + * [Use VNet peering connections with Confluent Cloud on Azure](https://docs.confluent.io/cloud/current/networking/peering/azure-peering.html). + + + ## The DNS Forwarders Model + + - name: Access Points (networking/v1) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + AccessPoint objects represent network connections in and out of Gateways. + This API allows you to list, create, read, update, and delete your access points. + + + ## The Access Points Model + + - name: DNS Records (networking/v1) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + DNS record objects are associated with Confluent Cloud networking resources. This API allows you to list, create, read, update, and delete your DNS records. + + ## The DNS Records Model + + - name: Certificate Authorities (iam/v2) + description: |- + [![Limited Availability](https://img.shields.io/badge/Lifecycle%20Stage-Limited%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + `CertificateAuthority` objects represent signing certificate authorities in Confluent Cloud. + + The API allows you to list, create, read, update, and delete your Certificate Authority. + + + Related guide: [Manage certificate authorities used for client authentication with X.509 certificates.](https://docs.confluent.io/cloud/current/access-management/authenticate/mtls/overview.html). + + ## The Certificate Authorities Model + + + ## Quotas and Limits + This resource is subject to the [following quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): + + | Quota | Description | + | --- | --- | + | `certificate_authorities_per_org` | Number of certificate authorities per organization | + - name: Certificate Identity Pools (iam/v2) + description: |- + [![Limited Availability](https://img.shields.io/badge/Lifecycle%20Stage-Limited%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + `Identitypool` objects represent workload identities in Confluent Cloud. + + The API allows you to list, create, read, update, and delete your identity pools associated + with Certificate Authorities + + + Related guide: [Manage Certificate Identity Pools for Granular Client Access Management](https://docs.confluent.io/cloud/current/access-management/authenticate/mtls/configure.html#step-2-create-certificate-identity-pools-for-granular-access-control). + + ## The Certificate Identity Pools Model + + + ## Quotas and Limits + This resource is subject to the [following quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): + + | Quota | Description | + | --- | --- | + | `identity_pools_per_certificate_authority` | Number of Identity Pools per Certificate Authority | + - name: Integrations (pim/v1) + description: |- + [![Early Access](https://img.shields.io/badge/Lifecycle%20Stage-Early%20Access-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) [![Request Access To Provider Integration](https://img.shields.io/badge/-Request%20Access%20To%20Provider%20Integration-%23bc8540)](mailto:ccloud-api-access+pim-v1-early-access@confluent.io?subject=Request%20to%20join%20pim/v1%20API%20Early%20Access&body=I%E2%80%99d%20like%20to%20join%20the%20Confluent%20Cloud%20API%20Early%20Access%20for%20pim/v1%20to%20provide%20early%20feedback%21%20My%20Cloud%20Organization%20ID%20is%20%3Cretrieve%20from%20https%3A//confluent.cloud/settings/billing/payment%3E.) + + `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, and delete individual integrations, and also obtain a + list of all your provider integrations. + + + Related guide: [Provider Integration in Confluent Cloud](https://docs.confluent.io/home/overview.html). + + ## The Integrations Model + + - name: Flink Artifacts (artifact/v1) + description: |- + [![Early Access](https://img.shields.io/badge/Lifecycle%20Stage-Early%20Access-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) [![Request Access To Flink Artifact API EA](https://img.shields.io/badge/-Request%20Access%20To%20Flink%20Artifact%20API%20EA-%23bc8540)](mailto:ccloud-api-access+artifact-v1-early-access@confluent.io?subject=Request%20to%20join%20artifact/v1%20API%20Early%20Access&body=I%E2%80%99d%20like%20to%20join%20the%20Confluent%20Cloud%20API%20Early%20Access%20for%20artifact/v1%20to%20provide%20early%20feedback%21%20My%20Cloud%20Organization%20ID%20is%20%3Cretrieve%20from%20https%3A//confluent.cloud/settings/billing/payment%3E.) + + FlinkArtifact objects represent Flink Artifacts on Confluent Cloud. + + + ## The Flink Artifacts Model + + - name: Presigned Urls (artifact/v1) + description: |- + [![Early Access](https://img.shields.io/badge/Lifecycle%20Stage-Early%20Access-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) [![Request Access To Flink Artifact API EA](https://img.shields.io/badge/-Request%20Access%20To%20Flink%20Artifact%20API%20EA-%23bc8540)](mailto:ccloud-api-access+artifact-v1-early-access@confluent.io?subject=Request%20to%20join%20artifact/v1%20API%20Early%20Access&body=I%E2%80%99d%20like%20to%20join%20the%20Confluent%20Cloud%20API%20Early%20Access%20for%20artifact/v1%20to%20provide%20early%20feedback%21%20My%20Cloud%20Organization%20ID%20is%20%3Cretrieve%20from%20https%3A//confluent.cloud/settings/billing/payment%3E.) + + Request a presigned upload URL for new Flink Artifact. Note that + the URL policy expires in one hour. If the policy expires, you can request + a new presigned upload URL. + + + ## The Presigned Urls Model + + - name: Flink Artifact Versions (artifact/v1) + description: |- + [![Early Access](https://img.shields.io/badge/Lifecycle%20Stage-Early%20Access-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) [![Request Access To Flink Artifact API EA](https://img.shields.io/badge/-Request%20Access%20To%20Flink%20Artifact%20API%20EA-%23bc8540)](mailto:ccloud-api-access+artifact-v1-early-access@confluent.io?subject=Request%20to%20join%20artifact/v1%20API%20Early%20Access&body=I%E2%80%99d%20like%20to%20join%20the%20Confluent%20Cloud%20API%20Early%20Access%20for%20artifact/v1%20to%20provide%20early%20feedback%21%20My%20Cloud%20Organization%20ID%20is%20%3Cretrieve%20from%20https%3A//confluent.cloud/settings/billing/payment%3E.) + + FlinkArtifactVersion objects represent Flink Artifact Versions on Confluent Cloud. + + + ## The Flink Artifact Versions Model + +components: + schemas: + SearchFilter: + description: Filter a collection by a string search + type: string + ksqldbcm.v2.ClusterList: + type: object + description: |- + `Cluster` represents a ksqlDB runtime that you can issue queries to using its API endpoint. + It executes SQL statements and queries which under the hood get built into corresponding + Kafka Streams topologies. The API allows you to list, create, read, and delete your ksqlDB clusters. + + + Related guide: [ksqlDB in Confluent Cloud](https://docs.confluent.io/cloud/current/ksqldb/ksqldb-cluster-api.html). + + ## The Clusters Model + + + ## Quotas and Limits + This resource is subject to the following quotas: + + | Quota | Description | + | --- | --- | + | `ksql.limits.max_apps_per_cluster` | Clusters in one Confluent Cloud Kafka Cluster. | + required: + - api_version + - kind + - metadata + - data + properties: + api_version: + type: string + enum: + - ksqldbcm/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: + - ClusterList + metadata: + allOf: + - $ref: '#/components/schemas/ListMeta' + - properties: + first: + example: 'https://api.confluent.cloud/ksqldbcm/v2/clusters' + last: + example: 'https://api.confluent.cloud/ksqldbcm/v2/clusters?page_token=bcAOehAY8F16YD84Z1wT' + prev: + example: 'https://api.confluent.cloud/ksqldbcm/v2/clusters?page_token=YIXRY97wWYmwzrax4dld' + next: + example: 'https://api.confluent.cloud/ksqldbcm/v2/clusters?page_token=UvmDWOB1iwfAIBPj6EYb' + data: + type: array + description: A data property that contains an array of resource items. Each entry in the array is a separate resource. + items: + allOf: + - $ref: '#/components/schemas/ksqldbcm.v2.Cluster' + - type: object + required: + - id + - metadata + - spec + - status + properties: + spec: + type: object + required: + - display_name + - csu + - kafka_cluster + - credential_identity + - environment + uniqueItems: true + ListMeta: + type: object + description: ListMeta describes metadata that resource collections may have + properties: + first: + description: 'A link to the first page of results. If a response does not contain a first link, then direct navigation to the first page is not supported.' + type: string + 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 + ksqldbcm.v2.Cluster: + type: object + description: |- + `Cluster` represents a ksqlDB runtime that you can issue queries to using its API endpoint. + It executes SQL statements and queries which under the hood get built into corresponding + Kafka Streams topologies. The API allows you to list, create, read, and delete your ksqlDB clusters. + + + Related guide: [ksqlDB in Confluent Cloud](https://docs.confluent.io/cloud/current/ksqldb/ksqldb-cluster-api.html). + + ## The Clusters Model + + + ## Quotas and Limits + This resource is subject to the following quotas: + + | Quota | Description | + | --- | --- | + | `ksql.limits.max_apps_per_cluster` | Clusters in one Confluent Cloud Kafka Cluster. | + properties: + api_version: + type: string + enum: + - ksqldbcm/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: + - Cluster + 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 + metadata: + allOf: + - $ref: '#/components/schemas/ObjectMeta' + - properties: + self: + example: 'https://api.confluent.cloud/ksqldbcm/v2/clusters/lksqlc-12345' + resource_name: + example: 'crn://confluent.cloud/organization=9bb441c4-edef-46ac-8a41-c49e44a3fd9a/environment=env-abc123/cloud-cluster=lksqlc-12345' + spec: + $ref: '#/components/schemas/ksqldbcm.v2.ClusterSpec' + status: + $ref: '#/components/schemas/ksqldbcm.v2.ClusterStatus' + AclOperation: + type: string + x-extensible-enum: + - UNKNOWN + - ANY + - ALL + - READ + - WRITE + - CREATE + - DELETE + - ALTER + - DESCRIBE + - CLUSTER_ACTION + - DESCRIBE_CONFIGS + - ALTER_CONFIGS + - IDEMPOTENT_WRITE + AclPatternType: + type: string + x-extensible-enum: + - UNKNOWN + - ANY + - MATCH + - LITERAL + - PREFIXED + AclPermission: + type: string + x-extensible-enum: + - UNKNOWN + - ANY + - DENY + - ALLOW + AclResourceType: + type: string + enum: + - UNKNOWN + - ANY + - TOPIC + - GROUP + - CLUSTER + - TRANSACTIONAL_ID + - DELEGATION_TOKEN + BrokerTaskType: + type: string + enum: + - add-broker + - remove-broker + MirrorTopicStatus: + enum: + - ACTIVE + - FAILED + - LINK_FAILED + - LINK_PAUSED + - PAUSED + - PENDING_STOPPED + - SOURCE_UNAVAILABLE + - STOPPED + - PENDING_MIRROR + - PENDING_SYNCHRONIZE + - PENDING_SETUP_FOR_RESTORE + - PENDING_RESTORE + type: string + Failure: + type: object + description: Provides information about problems encountered while performing an operation. + required: + - errors + properties: + errors: + description: List of errors which caused this operation to fail + type: array + items: + $ref: '#/components/schemas/Error' + uniqueItems: true + AlterConfigBatchRequestData: + type: object + required: + - data + properties: + data: + type: array + items: + type: object + required: + - name + properties: + name: + type: string + value: + type: string + nullable: true + operation: + type: string + x-extensible-enum: + - SET + - DELETE + nullable: true + validate_only: + type: boolean + CreateAclRequestData: + type: object + required: + - resource_type + - resource_name + - pattern_type + - principal + - host + - operation + - permission + properties: + resource_type: + $ref: '#/components/schemas/AclResourceType' + resource_name: + type: string + pattern_type: + $ref: '#/components/schemas/AclPatternType' + principal: + type: string + host: + type: string + operation: + $ref: '#/components/schemas/AclOperation' + permission: + $ref: '#/components/schemas/AclPermission' + CreateAclRequestDataList: + allOf: + - type: object + required: + - data + properties: + data: + type: array + items: + $ref: '#/components/schemas/CreateAclRequestData' + CreateTopicRequestData: + type: object + required: + - topic_name + properties: + topic_name: + type: string + partitions_count: + type: integer + replication_factor: + type: integer + configs: + type: array + items: + type: object + required: + - name + properties: + name: + type: string + value: + type: string + nullable: true + validate_only: + type: boolean + ProduceRequest: + type: object + properties: + partition_id: + type: integer + nullable: true + format: int32 + headers: + type: array + items: + $ref: '#/components/schemas/ProduceRequestHeader' + key: + $ref: '#/components/schemas/ProduceRequestData' + value: + $ref: '#/components/schemas/ProduceRequestData' + timestamp: + type: string + format: date-time + nullable: true + UpdateConfigRequestData: + type: object + properties: + value: + type: string + nullable: true + CreateLinkRequestData: + properties: + source_cluster_id: + type: string + destination_cluster_id: + type: string + remote_cluster_id: + description: The expected remote cluster ID. + type: string + cluster_link_id: + description: 'The expected cluster link ID. Can be provided when creating the second side of a bidirectional link for validating the link ID is as expected. If it''s not provided, it''s inferred from the remote cluster.' + type: string + configs: + items: + $ref: '#/components/schemas/ConfigData' + type: array + type: object + UpdateLinkConfigRequestData: + properties: + value: + type: string + required: + - value + type: object + CreateMirrorTopicRequestData: + properties: + source_topic_name: + type: string + mirror_topic_name: + type: string + replication_factor: + type: integer + configs: + type: array + items: + $ref: '#/components/schemas/ConfigData' + required: + - source_topic_name + type: object + AlterMirrorsRequestData: + properties: + mirror_topic_names: + description: The mirror topics specified as a list of topic names. + type: array + items: + type: string + mirror_topic_name_pattern: + description: The mirror topics specified as a pattern. + type: string + type: object + RemoveBrokersRequestData: + properties: + broker_ids: + type: array + items: + type: integer + required: + - broker_ids + type: object + BrokerReplicaExclusionBatchRequestData: + type: object + required: + - data + properties: + data: + type: array + items: + $ref: '#/components/schemas/BrokerReplicaExclusionRequestData' + ObjectMeta: + description: 'ObjectMeta is metadata that all persisted resources must have, which includes all objects users must create.' + required: + - self + properties: + self: + description: 'Self is a Uniform Resource Locator (URL) at which an object can be addressed. This URL encodes the service location, API version, and other particulars necessary to locate the resource at a point in time' + type: string + format: uri + readOnly: true + example: 'https://api.confluent.cloud/v2/kafka-clusters/lkc-f3a90de' + resource_name: + description: Resource Name is a Uniform Resource Identifier (URI) that is globally unique across space and time. It is represented as a Confluent Resource Name + type: string + format: uri + readOnly: true + example: 'crn://confluent.cloud/kafka=lkc-f3a90de' + created_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: The date and time at which this object was created. It is represented in RFC3339 format and is in UTC. + updated_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: The date and time at which this object was last updated. It is represented in RFC3339 format and is in UTC. + deleted_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: The date and time at which this object was (or will be) deleted. It is represented in RFC3339 format and is in UTC. + readOnly: true + ksqldbcm.v2.ClusterSpec: + type: object + description: The desired state of the Cluster + properties: + display_name: + type: string + example: ksqlDB_cluster_0 + description: The name of the ksqlDB cluster. + pattern: '^(?:[0-9A-Za-z\-])[\w-]{0,31}$' + x-immutable: true + use_detailed_processing_log: + type: boolean + default: true + description: | + This flag controls whether you want to include the row data in the processing log topic. Turn it off if you + don't want to emit sensitive information to the processing log + x-immutable: true + csu: + type: integer + format: int32 + example: 4 + x-extensible-enum: + - 1 + - 2 + - 4 + - 8 + - 12 + description: The number of CSUs (Confluent Streaming Units) in a ksqlDB cluster. + x-immutable: false + kafka_cluster: + allOf: + - $ref: '#/components/schemas/EnvScopedObjectReference' + description: The kafka_cluster to which this belongs. + x-immutable: true + credential_identity: + allOf: + - $ref: '#/components/schemas/TypedGlobalObjectReference' + description: 'The credential_identity to which this belongs. The credential_identity can be one of iam.v2.User, iam.v2.ServiceAccount.' + x-immutable: true + environment: + allOf: + - $ref: '#/components/schemas/GlobalObjectReference' + description: The environment to which this belongs. + x-immutable: true + x-enable-id: true + x-enable-listmeta: true + x-enable-objectmeta: true + ksqldbcm.v2.ClusterStatus: + type: object + required: + - phase + - is_paused + - storage + description: The status of the Cluster + properties: + http_endpoint: + type: string + description: The dataplane endpoint of the ksqlDB cluster. + example: 'https://pksqlc-00000.us-central1.gcp.glb.confluent.cloud' + readOnly: true + phase: + type: string + x-extensible-enum: + - PROVISIONING + - PROVISIONED + - FAILED + description: Status of the ksqlDB cluster. + example: PROVISIONING + readOnly: true + is_paused: + type: boolean + description: Tells you if the cluster has been paused + readOnly: true + storage: + type: integer + format: int32 + example: 125 + description: Amount of storage (in GB) provisioned to this cluster + readOnly: true + topic_prefix: + type: string + description: Topic name prefix used by this ksqlDB cluster. Used to assign ACLs for this ksqlDB cluster to use. + example: pksqlc-00000 + readOnly: true + readOnly: true + Error: + type: object + description: Describes a particular error encountered while performing an operation. + properties: + id: + description: A unique identifier for this particular occurrence of the problem. + type: string + maxLength: 255 + status: + description: 'The HTTP status code applicable to this problem, expressed as a string value.' + type: string + code: + description: 'An application-specific error code, expressed as a string value.' + type: string + title: + description: 'A short, human-readable summary of the problem. It **SHOULD NOT** change from occurrence to occurrence of the problem, except for purposes of localization.' + type: string + detail: + description: A human-readable explanation specific to this occurrence of the problem. + type: string + source: + type: object + description: 'If this error was caused by a particular part of the API request, the source will point to the query string parameter or request body property that caused it.' + properties: + pointer: + description: 'A JSON Pointer [RFC6901] to the associated entity in the request document [e.g. "/spec" for a spec object, or "/spec/title" for a specific field].' + type: string + parameter: + description: A string indicating which query parameter caused the error. + type: string + error_code: + type: integer + format: int32 + message: + type: string + nullable: true + additionalProperties: false + ProduceRequestHeader: + type: object + required: + - name + properties: + name: + type: string + value: + type: string + format: byte + nullable: true + ProduceRequestData: + type: object + properties: + type: + type: string + x-extensible-enum: + - BINARY + - JSON + - STRING + data: + $ref: '#/components/schemas/AnyValue' + nullable: true + ConfigData: + example: + name: name + value: value + properties: + name: + type: string + value: + nullable: true + type: string + required: + - name + - value + BrokerReplicaExclusionRequestData: + type: object + required: + - broker_id + - reason + properties: + broker_id: + type: integer + reason: + type: string + EnvScopedObjectReference: + 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 + TypedGlobalObjectReference: + type: object + description: ObjectReference provides information for you to locate the referred object + required: + - id + - related + - resource_name + properties: + id: + type: string + description: ID of the referred resource + minLength: 1 + maxLength: 255 + related: + type: string + format: uri + description: API URL for accessing or modifying the referred object + minLength: 1 + readOnly: true + resource_name: + type: string + format: uri + description: CRN reference to the referred resource + minLength: 1 + readOnly: true + 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 + GlobalObjectReference: + type: object + description: ObjectReference provides information for you to locate the referred object + required: + - id + - related + - resource_name + properties: + id: + type: string + description: ID of the referred resource + minLength: 1 + maxLength: 255 + related: + type: string + format: uri + description: API URL for accessing or modifying the referred object + minLength: 1 + readOnly: true + resource_name: + type: string + format: uri + description: CRN reference to the referred resource + minLength: 1 + readOnly: true + AnyValue: + nullable: true + parameters: + AclHost: + name: host + description: The ACL host. + in: query + required: false + schema: + type: string + AclOperation: + name: operation + description: The ACL operation. + in: query + required: false + schema: + $ref: '#/components/schemas/AclOperation' + AclOperationRequired: + name: operation + description: The ACL operation. + in: query + required: true + schema: + $ref: '#/components/schemas/AclOperation' + AclPatternType: + name: pattern_type + description: The ACL pattern type. + in: query + required: false + schema: + $ref: '#/components/schemas/AclPatternType' + AclPatternTypeRequired: + name: pattern_type + description: The ACL pattern type. + in: query + required: true + schema: + $ref: '#/components/schemas/AclPatternType' + AclPermission: + name: permission + description: The ACL permission. + in: query + required: false + schema: + $ref: '#/components/schemas/AclPermission' + AclPermissionRequired: + name: permission + description: The ACL permission. + in: query + required: true + schema: + $ref: '#/components/schemas/AclPermission' + AclPrincipal: + name: principal + description: The ACL principal. This is the Service Account name or user name. + in: query + required: false + schema: + type: string + AclResourceName: + name: resource_name + description: The ACL resource name. + in: query + required: false + schema: + type: string + AclResourceType: + name: resource_type + description: The ACL resource type. + in: query + required: false + schema: + $ref: '#/components/schemas/AclResourceType' + AclResourceTypeRequired: + name: resource_type + description: The ACL resource type. + in: query + required: true + schema: + $ref: '#/components/schemas/AclResourceType' + BrokerId: + name: broker_id + description: The Kafka broker ID. + in: path + required: true + schema: + type: integer + example: 1 + ClusterId: + name: cluster_id + description: The Kafka cluster ID. + in: path + required: true + schema: + type: string + example: cluster-1 + ConfigName: + name: name + description: The configuration parameter name. + in: path + required: true + schema: + type: string + example: compression.type + ConsumerGroupId: + name: consumer_group_id + description: The consumer group ID. + in: path + required: true + schema: + type: string + example: consumer-group-1 + ConsumerId: + name: consumer_id + description: The consumer ID. + in: path + required: true + schema: + type: string + example: consumer-1 + IncludeAuthorizedOperations: + name: include_authorized_operations + description: Specify if authorized operations should be included in the response. + in: query + required: false + schema: + type: boolean + PartitionId: + name: partition_id + description: The partition ID. + in: path + required: true + schema: + type: integer + example: 0 + TopicName: + name: topic_name + description: The topic name. + in: path + required: true + schema: + type: string + example: topic-1 + BrokerTaskType: + name: task_type + description: The Kafka broker task type. + in: path + required: true + schema: + $ref: '#/components/schemas/BrokerTaskType' + example: remove-broker + ShouldShutdown: + name: should_shutdown + description: 'To shutdown the broker or not, Default: true' + in: query + required: false + schema: + type: boolean + example: true + ValidateOnly: + name: validate_only + description: 'To validate the action can be performed successfully or not. Default: false' + in: query + required: false + schema: + type: boolean + example: false + ValidateLink: + name: validate_link + description: 'To synchronously validate that the source cluster ID is expected and the dest cluster has the permission to read topics in the source cluster. Default: true' + in: query + required: false + schema: + type: boolean + example: false + IncludeTasks: + name: include_tasks + description: 'Whether to include cluster linking tasks in the response. Default: false' + in: query + required: false + schema: + type: boolean + example: false + IncludeStateTransitionErrors: + name: include_state_transition_errors + description: 'Whether to include mirror state transition errors in the response. Default: false' + in: query + required: false + schema: + type: boolean + example: false + Force: + name: force + description: 'Force the action. Default: false' + in: query + required: false + schema: + type: boolean + example: false + IncludePartitionLevelTruncationData: + name: include_partition_level_truncation_data + description: 'Whether to include partition level truncation information when truncating and restoring a topic in the response. Default: false' + in: query + required: false + schema: + type: boolean + example: false + LinkName: + name: link_name + description: The link name + in: path + required: true + schema: + type: string + example: link-sb1 + LinkConfigName: + name: config_name + description: The link config name + in: path + required: true + schema: + type: string + example: consumer.offset.sync.enable + MirrorTopicStatus: + name: mirror_status + description: 'The status of the mirror topic. If not specified, all mirror topics will be returned.' + in: query + required: false + schema: + $ref: '#/components/schemas/MirrorTopicStatus' + example: ACTIVE + MirrorTopicName: + name: mirror_topic_name + description: Cluster Linking mirror topic name + in: path + required: true + schema: + type: string + example: topic-1 + QueryParamLinkName: + name: link_name + description: The link name + in: query + required: true + schema: + type: string + example: link-sb1 + responses: + BadRequestError: + description: Bad Request + headers: + X-Request-Id: + schema: + type: string + description: The unique identifier for the API request. + content: + application/json: + schema: + $ref: '#/components/schemas/Failure' + example: + errors: + - id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d + status: '400' + code: invalid_filter + title: Invalid Filter + detail: The 'delorean' resource can't be filtered by 'num_doors' + source: + parameter: num_doors + UnauthenticatedError: + x-summary: Unauthorized + description: The request lacks valid authentication credentials for this resource. + headers: + X-Request-Id: + schema: + type: string + description: The unique identifier for the API request. + WWW-Authenticate: + schema: + type: string + description: The unique identifier for the API request. + example: 'Basic error="invalid_key", error_description="The API Key is invalid"' + content: + application/json: + schema: + $ref: '#/components/schemas/Failure' + example: + errors: + - id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d + status: '401' + code: user_unauthenticated + title: Authentication Required + detail: Valid authentication credentials must be provided + UnauthorizedError: + x-summary: Forbidden + description: The access credentials were considered insufficient to grant access + headers: + X-Request-Id: + schema: + type: string + description: The unique identifier for the API request. + content: + application/json: + schema: + $ref: '#/components/schemas/Failure' + example: + errors: + - id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d + status: '403' + code: user_unauthorized + title: User Access Unauthorized + detail: The user 'mcfly' is not allowed to access the 'delorean' resource without the 'plutonium' role. + RateLimitError: + description: Rate Limit Exceeded + headers: + X-Request-Id: + schema: + type: string + description: The unique identifier for the API request. + X-RateLimit-Limit: + schema: + type: integer + description: The maximum number of requests you're permitted to make per time period. + X-RateLimit-Remaining: + schema: + type: integer + description: The number of requests remaining in the current rate limit window. + X-RateLimit-Reset: + schema: + type: integer + description: |- + The relative time in seconds until the current rate-limit window resets. + + **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. + DefaultSystemError: + description: 'Oops, something went wrong!' + headers: + X-Request-Id: + schema: + type: string + description: The unique identifier for the API request. + content: + application/json: + schema: + $ref: '#/components/schemas/Failure' + example: + errors: + - id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d + status: '500' + code: out_of_gas + title: DeLorean Out Of Gas + detail: 'The DeLorean has run out of gas, but Doc Brown will fill ''er up for you asap' + OverQuotaError: + x-summary: Over Quota + description: The request would exceed one or more quotas. + headers: + X-Request-Id: + schema: + type: string + description: The unique identifier for the API request. + content: + application/json: + schema: + $ref: '#/components/schemas/Failure' + example: + errors: + - id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d + status: '402' + code: quota_exceeded + title: Kafka Clusters Per Org Quota Exceeded + detail: 'The request would exceed the quota: kafka_clusters_per_environment' + ConflictError: + x-summary: Conflict + description: The request is in conflict with the current server state + headers: + X-Request-Id: + schema: + type: string + description: The unique identifier for the API request. + Location: + schema: + type: string + format: uri + example: 'https://api.confluent.cloud/{object}/{id}' + description: Resource URI of conflicting resource + content: + application/json: + schema: + $ref: '#/components/schemas/Failure' + example: + errors: + - id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d + status: '409' + code: resource_already_exists + title: Resource Already exists + detail: The entitlement '91e3e86f-fca6-4f14-98f5-a48e64113ce2' already exists. + ValidationError: + description: Validation Failed + headers: + X-Request-Id: + schema: + type: string + description: The unique identifier for the API request. + content: + application/json: + schema: + $ref: '#/components/schemas/Failure' + example: + errors: + - status: '422' + code: invalid_configuration + id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d + title: Validation Failed + detail: 'The property ''/cluster/storage_size'' of type string did not match the following type: integer' + source: + pointer: /cluster/storage_size + - status: '422' + code: invalid_configuration + id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d + title: Validation Failed + detail: 'The property ''/cluster/storage_size'' of type string did not match the following type: integer' + source: + pointer: /cluster/storage_size + - status: '422' + code: invalid_configuration + id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d + title: Validation Failed + detail: 'The property ''/cluster/storage_size'' of type string did not match the following type: integer' + source: + pointer: /cluster/storage_size + - status: '422' + code: invalid_configuration + id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d + title: Validation Failed + detail: 'The property ''/cluster/storage_size'' of type string did not match the following type: integer' + source: + pointer: /cluster/storage_size + - status: '422' + code: invalid_configuration + id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d + title: Validation Failed + detail: 'The property ''/cluster/storage_size'' of type string did not match the following type: integer' + source: + pointer: /cluster/storage_size + - status: '422' + code: invalid_configuration + id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d + title: Validation Failed + detail: 'The property ''/cluster/storage_size'' of type string did not match the following type: integer' + source: + pointer: /cluster/storage_size + - status: '422' + code: invalid_configuration + id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d + title: Validation Failed + detail: 'The property ''/cluster/storage_size'' of type string did not match the following type: integer' + source: + pointer: /cluster/storage_size + - status: '422' + code: invalid_configuration + id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d + title: Validation Failed + detail: 'The property ''/cluster/storage_size'' of type string did not match the following type: integer' + source: + pointer: /cluster/storage_size + - status: '422' + code: invalid_configuration + id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d + title: Validation Failed + detail: 'The property ''/cluster/storage_size'' of type string did not match the following type: integer' + source: + pointer: /cluster/storage_size + - status: '422' + code: invalid_configuration + id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d + title: Validation Failed + detail: 'The property ''/cluster/storage_size'' of type string did not match the following type: integer' + source: + pointer: /cluster/storage_size + - status: '422' + code: invalid_configuration + id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d + title: Validation Failed + detail: 'The property ''/cluster/storage_size'' of type string did not match the following type: integer' + source: + pointer: /cluster/storage_size + - status: '422' + code: invalid_configuration + id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d + title: Validation Failed + detail: 'The property ''/cluster/storage_size'' of type string did not match the following type: integer' + source: + pointer: /cluster/storage_size + - status: '422' + code: invalid_configuration + id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d + title: Validation Failed + detail: 'The property ''/cluster/storage_size'' of type string did not match the following type: integer' + source: + pointer: /cluster/storage_size + - status: '422' + code: invalid_configuration + id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d + title: Validation Failed + detail: 'The property ''/cluster/storage_size'' of type string did not match the following type: integer' + source: + pointer: /cluster/storage_size + - status: '422' + code: invalid_configuration + id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d + title: Validation Failed + detail: 'The property ''/cluster/storage_size'' of type string did not match the following type: integer' + source: + pointer: /cluster/storage_size + - status: '422' + code: invalid_configuration + id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d + title: Validation Failed + detail: 'The property ''/cluster/storage_size'' of type string did not match the following type: integer' + source: + pointer: /cluster/storage_size + - status: '422' + code: invalid_configuration + id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d + title: Validation Failed + detail: 'The property ''/cluster/storage_size'' of type string did not match the following type: integer' + source: + pointer: /cluster/storage_size + - status: '422' + code: invalid_configuration + id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d + title: Validation Failed + detail: 'The property ''/cluster/storage_size'' of type string did not match the following type: integer' + source: + pointer: /cluster/storage_size + - status: '422' + code: invalid_configuration + id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d + title: Validation Failed + detail: 'The property ''/cluster/storage_size'' of type string did not match the following type: integer' + source: + pointer: /cluster/storage_size + - status: '422' + code: invalid_configuration + id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d + title: Validation Failed + detail: 'The property ''/cluster/storage_size'' of type string did not match the following type: integer' + source: + pointer: /cluster/storage_size + - status: '422' + code: invalid_configuration + id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d + title: Validation Failed + detail: 'The property ''/cluster/storage_size'' of type string did not match the following type: integer' + source: + pointer: /cluster/storage_size + - status: '422' + code: invalid_configuration + id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d + title: Validation Failed + detail: 'The property ''/cluster/storage_size'' of type string did not match the following type: integer' + source: + pointer: /cluster/storage_size + - status: '422' + code: invalid_configuration + id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d + title: Validation Failed + detail: 'The property ''/cluster/storage_size'' of type string did not match the following type: integer' + source: + pointer: /cluster/storage_size + - status: '422' + code: invalid_configuration + id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d + title: Validation Failed + detail: 'The property ''/cluster/storage_size'' of type string did not match the following type: integer' + source: + pointer: /cluster/storage_size + - status: '422' + code: invalid_configuration + id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d + title: Validation Failed + detail: 'The property ''/cluster/storage_size'' of type string did not match the following type: integer' + source: + pointer: /cluster/storage_size + - status: '422' + code: invalid_configuration + id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d + title: Validation Failed + detail: 'The property ''/cluster/storage_size'' of type string did not match the following type: integer' + source: + pointer: /cluster/storage_size + - status: '422' + code: invalid_configuration + id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d + title: Validation Failed + detail: 'The property ''/cluster/storage_size'' of type string did not match the following type: integer' + source: + pointer: /cluster/storage_size + - status: '422' + code: invalid_configuration + id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d + title: Validation Failed + detail: 'The property ''/cluster/storage_size'' of type string did not match the following type: integer' + source: + pointer: /cluster/storage_size + - status: '422' + code: invalid_configuration + id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d + title: Validation Failed + detail: 'The property ''/cluster/storage_size'' of type string did not match the following type: integer' + source: + pointer: /cluster/storage_size + - status: '422' + code: invalid_configuration + id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d + title: Validation Failed + detail: 'The property ''/cluster/storage_size'' of type string did not match the following type: integer' + source: + pointer: /cluster/storage_size + NotFoundError: + description: Not Found + headers: + X-Request-Id: + schema: + type: string + description: The unique identifier for the API request. + content: + application/json: + schema: + $ref: '#/components/schemas/Failure' + example: + errors: + - id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d + status: '404' + title: Not Found + securitySchemes: + cloud-api-key: + type: http + scheme: basic + description: Authenticate with Cloud API Keys using HTTP Basic Auth. Treat the Cloud API Key ID as the username and Cloud API Key Secret as the password. + confluent-sts-access-token: + type: oauth2 + description: Authenticate with Confluent API using this credentials (JSON Web Tokens) following OAuth 2.0. + flows: + clientCredentials: + tokenUrl: 'https://api.confluent.cloud/sts/v1/oauth2/token' + scopes: {} + api-key: + type: http + scheme: basic + description: Authenticate with API Keys using HTTP Basic Auth. Treat the API Key ID as the username and API Key Secret as the password. + resource-api-key: + type: http + scheme: basic + description: | + Authenticate with resource-specific API Keys using HTTP Basic Auth. Treat the resource-specific API Key ID + as the username and resource-specific API Key Secret as the password. + external-access-token: + type: oauth2 + description: Authenticate with OAuth 2.0. + flows: + clientCredentials: + tokenUrl: 'https:///token' + scopes: {} + oauth: + type: oauth2 + description: Authenticate with OAuth 2.0. Currently this is only supported for partner APIs. + flows: + clientCredentials: + tokenUrl: /oauth2/token + scopes: + 'partner:alter': enables partners to alter entitlements + 'partner:create': enables partners to create entitlements and signup on behalf of customers + 'partner:delete': enables partners to delete entitlements and organizations + 'partner:describe': enables partners to read and list entitlements and organizations + requestBodies: + AlterBrokerConfigBatchRequest: + description: The alter broker configuration parameter batch request. + content: + application/json: + schema: + $ref: '#/components/schemas/AlterConfigBatchRequestData' + example: + data: + - name: max.connections + operation: DELETE + - name: compression.type + value: gzip + AlterClusterConfigBatchRequest: + description: The alter cluster configuration parameter batch request. + content: + application/json: + schema: + $ref: '#/components/schemas/AlterConfigBatchRequestData' + example: + data: + - name: max.connections + operation: DELETE + - name: compression.type + value: gzip + AlterTopicConfigBatchRequest: + description: The alter topic configuration parameter batch request. + content: + application/json: + schema: + $ref: '#/components/schemas/AlterConfigBatchRequestData' + examples: + batch_alter_topic_configs: + value: + data: + - name: cleanup.policy + operation: DELETE + - name: compression.type + value: gzip + validate_only_batch_alter_topic_configs: + value: + data: + - name: cleanup.policy + operation: DELETE + - name: compression.type + value: gzip + validate_only: true + CreateAclRequest: + description: The ACL creation request. + content: + application/json: + schema: + $ref: '#/components/schemas/CreateAclRequestData' + example: + resource_type: CLUSTER + resource_name: kafka-cluster + pattern_type: LITERAL + principal: 'principalType:principalName' + host: '*' + operation: DESCRIBE + permission: DENY + BatchCreateAclRequest: + description: The batch ACL creation request. + content: + application/json: + schema: + $ref: '#/components/schemas/CreateAclRequestDataList' + example: + data: + - resource_type: CLUSTER + resource_name: kafka-cluster + pattern_type: LITERAL + principal: 'principalType:principalName' + host: '*' + operation: DESCRIBE + permission: DENY + - resource_type: TOPIC + resource_name: kafka-cluster + pattern_type: LITERAL + principal: 'principalType:principalName' + host: '*' + operation: READ + permission: ALLOW + CreateTopicRequest: + description: 'The topic creation request. Note that Confluent Cloud allows only specific replication factor values. Because of that the replication factor field should either be omitted or it should use one of the allowed values (see https://docs.confluent.io/cloud/current/client-apps/optimizing/durability.html).' + content: + application/json: + schema: + $ref: '#/components/schemas/CreateTopicRequestData' + examples: + uniform_replication: + value: + topic_name: topic-X + partitions_count: 64 + replication_factor: 3 + configs: + - name: cleanup.policy + value: compact + - name: compression.type + value: gzip + dry_run_create_topic: + value: + topic_name: topic-X + partitions_count: 64 + replication_factor: 3 + validate_only: true + ProduceRequest: + description: 'A single record to be produced to Kafka. To produce multiple records in the same request, simply concatenate the records. The delivery reports are concatenated in the same order as the records are sent.' + content: + application/json: + schema: + $ref: '#/components/schemas/ProduceRequest' + examples: + binary_and_json: + description: 'If using type, one of "BINARY", "JSON" or "STRING" is required.' + value: + partition_id: 1 + headers: + - name: Header-1 + value: SGVhZGVyLTE= + - name: Header-2 + value: SGVhZGVyLTI= + key: + type: BINARY + data: Zm9vYmFy + value: + type: JSON + data: + foo: bar + timestamp: '2021-02-05T19:14:42Z' + string: + description: 'If using type, one of "BINARY", "JSON" or "STRING" is required.' + value: + value: + type: STRING + data: My message + empty_value: + description: key or value can be omitted entirely. + value: + key: + data: 1000 + UpdateBrokerConfigRequest: + description: The broker configuration parameter update request. + content: + application/json: + schema: + $ref: '#/components/schemas/UpdateConfigRequestData' + example: + value: gzip + UpdateClusterConfigRequest: + description: The cluster configuration parameter update request. + content: + application/json: + schema: + $ref: '#/components/schemas/UpdateConfigRequestData' + example: + value: gzip + UpdateTopicConfigRequest: + description: The topic configuration parameter update request. + content: + application/json: + schema: + $ref: '#/components/schemas/UpdateConfigRequestData' + example: + value: gzip + CreateLinkRequest: + description: Create a cluster link + content: + application/json: + schema: + $ref: '#/components/schemas/CreateLinkRequestData' + examples: + destination_initiated_link: + description: Create a destination initiated cluster link + value: + source_cluster_id: cluster-1 + configs: + - name: bootstrap.servers + value: cluster-1-bootstrap-server + - name: acl.sync.enable + value: 'false' + - name: consumer.offset.sync.ms + value: '30000' + - name: sasl.mechanism + value: PLAIN + - name: sasl.protocol + value: SASL_SSL + - name: sasl.jaas.config + value: sasl.jaas.config=org.apache.kafka.common.security.plain.PlainLoginModule required username='' password=''; + source_initiated_link_at_source_cluster: + description: Create a source initiated cluster link at source cluster + value: + destination_cluster_id: cluster-2 + configs: + - name: bootstrap.servers + value: cluster-2-bootstrap-server + - name: link.mode + value: SOURCE + - name: sasl.mechanism + value: PLAIN + - name: sasl.protocol + value: SASL_SSL + - name: sasl.jaas.config + value: sasl.jaas.config=org.apache.kafka.common.security.plain.PlainLoginModule required username='' password=''; + source_initiated_link_at_destination_cluster: + description: Create a source initiated cluster link at destination cluster + value: + destination_cluster_id: cluster-1 + configs: + - name: bootstrap.servers + value: cluster-1-bootstrap-server + - name: link.mode + value: DESTINATION + - name: connection.mode + value: INBOUND + - name: acl.sync.enable + value: 'false' + - name: sasl.mechanism + value: PLAIN + - name: sasl.protocol + value: SASL_SSL + - name: sasl.jaas.config + value: sasl.jaas.config=org.apache.kafka.common.security.plain.PlainLoginModule required username='' password=''; + bidirectional_link_east: + description: Create a bidirectional cluster link in east + value: + remote_cluster_id: cluster-west + configs: + - name: bootstrap.servers + value: cluster-west-bootstrap-server + - name: link.mode + value: BIDIRECTIONAL + - name: cluster.link.prefix + value: west. + - name: sasl.mechanism + value: PLAIN + - name: sasl.protocol + value: SASL_SSL + - name: sasl.jaas.config + value: sasl.jaas.config=org.apache.kafka.common.security.plain.PlainLoginModule required username='' password=''; + bidirectional_link_west: + description: Create a bidirectional cluster link in west + value: + remote_cluster_id: cluster-east + cluster_link_id: eEBkTffYSESld6EO898x3w + configs: + - name: bootstrap.servers + value: cluster-east-bootstrap-server + - name: link.mode + value: BIDIRECTIONAL + - name: cluster.link.prefix + value: east. + - name: sasl.mechanism + value: PLAIN + - name: sasl.protocol + value: SASL_SSL + - name: sasl.jaas.config + value: sasl.jaas.config=org.apache.kafka.common.security.plain.PlainLoginModule required username='' password=''; + UpdateLinkConfigRequest: + content: + application/json: + example: + value: '300000' + schema: + $ref: '#/components/schemas/UpdateLinkConfigRequestData' + description: Link config value to update + AlterLinkConfigBatchRequest: + content: + application/json: + example: + data: + - name: cleanup.policy + operation: DELETE + - name: compression.type + value: gzip + schema: + $ref: '#/components/schemas/AlterConfigBatchRequestData' + CreateMirrorTopicRequest: + description: 'Name and configs of the topics mirroring from and mirroring to. Note that Confluent Cloud allows only specific replication factor values. Because of that the replication factor field should either be omitted or it should use one of the allowed values (see https://docs.confluent.io/cloud/current/client-apps/optimizing/durability.html).' + content: + application/json: + schema: + $ref: '#/components/schemas/CreateMirrorTopicRequestData' + examples: + generic_example: + description: Generic example of creating a mirror topic + value: + source_topic_name: topic-1 + configs: + - name: unclean.leader.election.enable + value: 'true' + replication_factor: 1 + example_with_mirror_topic_name: + description: Example using optional mirror_topic_name flag + value: + source_topic_name: topic-1 + mirror_topic_name: link1_topic-1 + configs: + - name: unclean.leader.election.enable + value: 'true' + replication_factor: 3 + AlterMirrorsRequest: + description: Mirror topics to be altered. + content: + application/json: + schema: + $ref: '#/components/schemas/AlterMirrorsRequestData' + examples: + mirror_topic_names: + description: Example using mirror topic names + value: + mirror_topic_names: + - topic-1 + - topic-2 + mirror_topic_name_pattern: + description: Example using mirror topic name pattern + value: + mirror_topic_name_pattern: .* + RemoveBrokersRequest: + content: + application/json: + example: + broker_ids: + - 1 + - 2 + - 3 + schema: + $ref: '#/components/schemas/RemoveBrokersRequestData' + description: Broker ids to remove + BrokerReplicaExclusionBatchRequest: + description: Alter Broker Replica Exclusions. + content: + application/json: + schema: + $ref: '#/components/schemas/BrokerReplicaExclusionBatchRequestData' + example: + data: + - broker_id: 1 + reason: The broker is to be removed. + - broker_id: 2 + reason: The broker is to be removed. + x-stackQL-resources: + clusters: + id: confluent.ksqldb_clusters.clusters + name: clusters + title: Clusters + methods: + list_ksqldbcm_v2clusters: + operation: + $ref: '#/paths/~1ksqldbcm~1v2~1clusters/get' + response: + mediaType: application/json + openAPIDocKey: '200' + objectKey: $.data + create_ksqldbcm_v2cluster: + operation: + $ref: '#/paths/~1ksqldbcm~1v2~1clusters/post' + response: + mediaType: application/json + openAPIDocKey: '202' + get_ksqldbcm_v2cluster: + operation: + $ref: '#/paths/~1ksqldbcm~1v2~1clusters~1{id}/get' + response: + mediaType: application/json + openAPIDocKey: '200' + delete_ksqldbcm_v2cluster: + operation: + $ref: '#/paths/~1ksqldbcm~1v2~1clusters~1{id}/delete' + response: + mediaType: application/json + openAPIDocKey: '204' + sqlVerbs: + select: + - $ref: '#/components/x-stackQL-resources/clusters/methods/get_ksqldbcm_v2cluster' + - $ref: '#/components/x-stackQL-resources/clusters/methods/list_ksqldbcm_v2clusters' + insert: + - $ref: '#/components/x-stackQL-resources/clusters/methods/create_ksqldbcm_v2cluster' + update: [] + replace: [] + delete: + - $ref: '#/components/x-stackQL-resources/clusters/methods/delete_ksqldbcm_v2cluster' +paths: + /ksqldbcm/v2/clusters: + get: + operationId: listKsqldbcmV2Clusters + summary: List of Clusters + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + Retrieve a sorted, filtered, paginated list of all clusters. + parameters: + - name: environment + in: query + required: true + schema: + $ref: '#/components/schemas/SearchFilter' + example: env-00000 + description: Filter the results by exact match for environment. + - name: page_size + in: query + required: false + schema: + type: integer + default: 10 + maximum: 100 + x-max-page-items: 500 + description: A pagination size for collection requests. + - name: page_token + in: query + required: false + schema: + type: string + maxLength: 255 + description: An opaque pagination token for collection requests. + tags: + - Clusters (ksqldbcm/v2) + security: + - api-key: [] + - confluent-sts-access-token: [] + responses: + '200': + description: Cluster. + content: + application/json: + schema: + allOf: + - $ref: '#/components/schemas/ksqldbcm.v2.ClusterList' + - type: object + properties: + data: + type: array + items: + properties: + spec: + type: object + properties: + kafka_cluster: + example: + id: lkc-00000 + related: 'https://api.confluent.cloud/cmk/v2/clusters/lkc-00000' + resource_name: 'https://api.confluent.cloud/organization=9bb441c4-edef-46ac-8a41-c49e44a3fd9a/environment=env-abc123/cloud-cluster=lkc-00000' + credential_identity: + example: + id: u-a83k9b + related: 'https://api.confluent.cloud/iam/v2/users/u-a83k9b' + resource_name: 'https://api.confluent.cloud/user=u-a83k9b' + environment: + example: + id: env-00000 + related: 'https://api.confluent.cloud/org/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. + + **Important:** This differs from Github and Twitter's same-named header which uses UTC epoch seconds. We use relative time to avoid client/server time synchronization issues. + '400': + $ref: '#/components/responses/BadRequestError' + '401': + $ref: '#/components/responses/UnauthenticatedError' + '403': + $ref: '#/components/responses/UnauthorizedError' + '429': + $ref: '#/components/responses/RateLimitError' + '500': + $ref: '#/components/responses/DefaultSystemError' + x-codeSamples: + - lang: Shell + source: |- + curl --request GET \ + --url 'https://api.confluent.cloud/ksqldbcm/v2/clusters?environment=env-00000' \ + --header 'Authorization: Basic REPLACE_BASIC_AUTH' + - lang: Java + source: |- + OkHttpClient client = new OkHttpClient(); + + Request request = new Request.Builder() + .url("https://api.confluent.cloud/ksqldbcm/v2/clusters?environment=env-00000") + .get() + .addHeader("Authorization", "Basic REPLACE_BASIC_AUTH") + .build(); + + Response response = client.newCall(request).execute(); + - lang: Go + source: "package main\n\nimport (\n\t\"fmt\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.confluent.cloud/ksqldbcm/v2/clusters?environment=env-00000\"\n\n\treq, _ := http.NewRequest(\"GET\", url, nil)\n\n\treq.Header.Add(\"Authorization\", \"Basic REPLACE_BASIC_AUTH\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}" + - lang: Python + source: |- + import http.client + + conn = http.client.HTTPSConnection("api.confluent.cloud") + + headers = { 'Authorization': "Basic REPLACE_BASIC_AUTH" } + + conn.request("GET", "/ksqldbcm/v2/clusters?environment=env-00000", headers=headers) + + res = conn.getresponse() + data = res.read() + + print(data.decode("utf-8")) + - lang: Node + source: |- + const http = require("https"); + + const options = { + "method": "GET", + "hostname": "api.confluent.cloud", + "port": null, + "path": "/ksqldbcm/v2/clusters?environment=env-00000", + "headers": { + "Authorization": "Basic REPLACE_BASIC_AUTH" + } + }; + + const req = http.request(options, function (res) { + const chunks = []; + + res.on("data", function (chunk) { + chunks.push(chunk); + }); + + res.on("end", function () { + const body = Buffer.concat(chunks); + console.log(body.toString()); + }); + }); + + req.end(); + - lang: C + source: |- + CURL *hnd = curl_easy_init(); + + curl_easy_setopt(hnd, CURLOPT_CUSTOMREQUEST, "GET"); + curl_easy_setopt(hnd, CURLOPT_URL, "https://api.confluent.cloud/ksqldbcm/v2/clusters?environment=env-00000"); + + struct curl_slist *headers = NULL; + headers = curl_slist_append(headers, "Authorization: Basic REPLACE_BASIC_AUTH"); + curl_easy_setopt(hnd, CURLOPT_HTTPHEADER, headers); + + CURLcode ret = curl_easy_perform(hnd); + - lang: C# + source: |- + var client = new RestClient("https://api.confluent.cloud/ksqldbcm/v2/clusters?environment=env-00000"); + var request = new RestRequest(Method.GET); + request.AddHeader("Authorization", "Basic REPLACE_BASIC_AUTH"); + IRestResponse response = client.Execute(request); + post: + operationId: createKsqldbcmV2Cluster + summary: Create a Cluster + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + Make a request to create a cluster. + tags: + - Clusters (ksqldbcm/v2) + security: + - api-key: [] + - confluent-sts-access-token: [] + requestBody: + content: + application/json: + schema: + allOf: + - $ref: '#/components/schemas/ksqldbcm.v2.Cluster' + - type: object + required: + - spec + properties: + spec: + type: object + required: + - display_name + - csu + - kafka_cluster + - credential_identity + - environment + - type: object + properties: + spec: + type: object + properties: + kafka_cluster: + example: + id: lkc-00000 + credential_identity: + example: + id: u-a83k9b + environment: + example: + id: env-00000 + responses: + '202': + description: A Cluster is being created. + headers: + X-Request-Id: + schema: + type: string + description: The unique identifier for the API request. + X-RateLimit-Limit: + schema: + type: integer + description: The maximum number of requests you're permitted to make per time period. + X-RateLimit-Remaining: + schema: + type: integer + description: The number of requests remaining in the current rate limit window. + X-RateLimit-Reset: + schema: + type: integer + description: |- + The relative time in seconds until the current rate-limit window resets. + + **Important:** This differs from Github and Twitter's same-named header which uses UTC epoch seconds. We use relative time to avoid client/server time synchronization issues. + Location: + schema: + type: string + format: uri + example: 'https://api.confluent.cloud/ksqldbcm/v2/clusters/{id}' + description: Cluster resource uri + content: + application/json: + schema: + allOf: + - $ref: '#/components/schemas/ksqldbcm.v2.Cluster' + - type: object + required: + - spec + - status + properties: + spec: + type: object + required: + - display_name + - csu + - kafka_cluster + - credential_identity + - environment + - type: object + properties: + spec: + type: object + properties: + kafka_cluster: + example: + id: lkc-00000 + related: 'https://api.confluent.cloud/cmk/v2/clusters/lkc-00000' + resource_name: 'https://api.confluent.cloud/organization=9bb441c4-edef-46ac-8a41-c49e44a3fd9a/environment=env-abc123/cloud-cluster=lkc-00000' + credential_identity: + example: + id: u-a83k9b + related: 'https://api.confluent.cloud/iam/v2/users/u-a83k9b' + resource_name: 'https://api.confluent.cloud/user=u-a83k9b' + environment: + example: + id: env-00000 + related: 'https://api.confluent.cloud/org/v2/environments/env-00000' + resource_name: 'https://api.confluent.cloud/organization=9bb441c4-edef-46ac-8a41-c49e44a3fd9a/environment=env-00000' + '400': + $ref: '#/components/responses/BadRequestError' + '401': + $ref: '#/components/responses/UnauthenticatedError' + '402': + $ref: '#/components/responses/OverQuotaError' + '403': + $ref: '#/components/responses/UnauthorizedError' + '409': + $ref: '#/components/responses/ConflictError' + '422': + $ref: '#/components/responses/ValidationError' + '429': + $ref: '#/components/responses/RateLimitError' + '500': + $ref: '#/components/responses/DefaultSystemError' + x-codeSamples: + - lang: Shell + source: |- + curl --request POST \ + --url https://api.confluent.cloud/ksqldbcm/v2/clusters \ + --header 'Authorization: Basic REPLACE_BASIC_AUTH' \ + --header 'content-type: application/json' \ + --data '{"spec":{"display_name":"ksqlDB_cluster_0","use_detailed_processing_log":true,"csu":4,"kafka_cluster":{"id":"lkc-00000","environment":"string"},"credential_identity":{"id":"u-a83k9b"},"environment":{"id":"env-00000"}}}' + - lang: Java + source: |- + OkHttpClient client = new OkHttpClient(); + + MediaType mediaType = MediaType.parse("application/json"); + RequestBody body = RequestBody.create(mediaType, "{\"spec\":{\"display_name\":\"ksqlDB_cluster_0\",\"use_detailed_processing_log\":true,\"csu\":4,\"kafka_cluster\":{\"id\":\"lkc-00000\",\"environment\":\"string\"},\"credential_identity\":{\"id\":\"u-a83k9b\"},\"environment\":{\"id\":\"env-00000\"}}}"); + Request request = new Request.Builder() + .url("https://api.confluent.cloud/ksqldbcm/v2/clusters") + .post(body) + .addHeader("content-type", "application/json") + .addHeader("Authorization", "Basic REPLACE_BASIC_AUTH") + .build(); + + Response response = client.newCall(request).execute(); + - lang: Go + source: "package main\n\nimport (\n\t\"fmt\"\n\t\"strings\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.confluent.cloud/ksqldbcm/v2/clusters\"\n\n\tpayload := strings.NewReader(\"{\\\"spec\\\":{\\\"display_name\\\":\\\"ksqlDB_cluster_0\\\",\\\"use_detailed_processing_log\\\":true,\\\"csu\\\":4,\\\"kafka_cluster\\\":{\\\"id\\\":\\\"lkc-00000\\\",\\\"environment\\\":\\\"string\\\"},\\\"credential_identity\\\":{\\\"id\\\":\\\"u-a83k9b\\\"},\\\"environment\\\":{\\\"id\\\":\\\"env-00000\\\"}}}\")\n\n\treq, _ := http.NewRequest(\"POST\", url, payload)\n\n\treq.Header.Add(\"content-type\", \"application/json\")\n\treq.Header.Add(\"Authorization\", \"Basic REPLACE_BASIC_AUTH\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}" + - lang: Python + source: |- + import http.client + + conn = http.client.HTTPSConnection("api.confluent.cloud") + + payload = "{\"spec\":{\"display_name\":\"ksqlDB_cluster_0\",\"use_detailed_processing_log\":true,\"csu\":4,\"kafka_cluster\":{\"id\":\"lkc-00000\",\"environment\":\"string\"},\"credential_identity\":{\"id\":\"u-a83k9b\"},\"environment\":{\"id\":\"env-00000\"}}}" + + headers = { + 'content-type': "application/json", + 'Authorization': "Basic REPLACE_BASIC_AUTH" + } + + conn.request("POST", "/ksqldbcm/v2/clusters", payload, headers) + + res = conn.getresponse() + data = res.read() + + print(data.decode("utf-8")) + - lang: Node + source: |- + const http = require("https"); + + const options = { + "method": "POST", + "hostname": "api.confluent.cloud", + "port": null, + "path": "/ksqldbcm/v2/clusters", + "headers": { + "content-type": "application/json", + "Authorization": "Basic REPLACE_BASIC_AUTH" + } + }; + + const req = http.request(options, function (res) { + const chunks = []; + + res.on("data", function (chunk) { + chunks.push(chunk); + }); + + res.on("end", function () { + const body = Buffer.concat(chunks); + console.log(body.toString()); + }); + }); + + req.write(JSON.stringify({ + spec: { + display_name: 'ksqlDB_cluster_0', + use_detailed_processing_log: true, + csu: 4, + kafka_cluster: {id: 'lkc-00000', environment: 'string'}, + credential_identity: {id: 'u-a83k9b'}, + environment: {id: 'env-00000'} + } + })); + req.end(); + - lang: C + source: |- + CURL *hnd = curl_easy_init(); + + curl_easy_setopt(hnd, CURLOPT_CUSTOMREQUEST, "POST"); + curl_easy_setopt(hnd, CURLOPT_URL, "https://api.confluent.cloud/ksqldbcm/v2/clusters"); + + struct curl_slist *headers = NULL; + headers = curl_slist_append(headers, "content-type: application/json"); + headers = curl_slist_append(headers, "Authorization: Basic REPLACE_BASIC_AUTH"); + curl_easy_setopt(hnd, CURLOPT_HTTPHEADER, headers); + + curl_easy_setopt(hnd, CURLOPT_POSTFIELDS, "{\"spec\":{\"display_name\":\"ksqlDB_cluster_0\",\"use_detailed_processing_log\":true,\"csu\":4,\"kafka_cluster\":{\"id\":\"lkc-00000\",\"environment\":\"string\"},\"credential_identity\":{\"id\":\"u-a83k9b\"},\"environment\":{\"id\":\"env-00000\"}}}"); + + CURLcode ret = curl_easy_perform(hnd); + - lang: C# + source: |- + var client = new RestClient("https://api.confluent.cloud/ksqldbcm/v2/clusters"); + var request = new RestRequest(Method.POST); + request.AddHeader("content-type", "application/json"); + request.AddHeader("Authorization", "Basic REPLACE_BASIC_AUTH"); + request.AddParameter("application/json", "{\"spec\":{\"display_name\":\"ksqlDB_cluster_0\",\"use_detailed_processing_log\":true,\"csu\":4,\"kafka_cluster\":{\"id\":\"lkc-00000\",\"environment\":\"string\"},\"credential_identity\":{\"id\":\"u-a83k9b\"},\"environment\":{\"id\":\"env-00000\"}}}", ParameterType.RequestBody); + IRestResponse response = client.Execute(request); + '/ksqldbcm/v2/clusters/{id}': + get: + operationId: getKsqldbcmV2Cluster + summary: Read a Cluster + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + Make a request to read a cluster. + parameters: + - name: environment + in: query + required: true + schema: + $ref: '#/components/schemas/SearchFilter' + example: env-00000 + description: Scope the operation to the given environment. + - name: id + in: path + required: true + schema: + type: string + description: The unique identifier for the cluster. + tags: + - Clusters (ksqldbcm/v2) + security: + - api-key: [] + - confluent-sts-access-token: [] + responses: + '200': + description: Cluster. + content: + application/json: + schema: + allOf: + - $ref: '#/components/schemas/ksqldbcm.v2.Cluster' + - type: object + required: + - api_version + - kind + - id + - spec + - status + properties: + spec: + type: object + required: + - display_name + - csu + - kafka_cluster + - credential_identity + - environment + - type: object + properties: + spec: + type: object + properties: + kafka_cluster: + example: + id: lkc-00000 + related: 'https://api.confluent.cloud/cmk/v2/clusters/lkc-00000' + resource_name: 'https://api.confluent.cloud/organization=9bb441c4-edef-46ac-8a41-c49e44a3fd9a/environment=env-abc123/cloud-cluster=lkc-00000' + credential_identity: + example: + id: u-a83k9b + related: 'https://api.confluent.cloud/iam/v2/users/u-a83k9b' + resource_name: 'https://api.confluent.cloud/user=u-a83k9b' + environment: + example: + id: env-00000 + related: 'https://api.confluent.cloud/org/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. + + **Important:** This differs from Github and Twitter's same-named header which uses UTC epoch seconds. We use relative time to avoid client/server time synchronization issues. + '400': + $ref: '#/components/responses/BadRequestError' + '401': + $ref: '#/components/responses/UnauthenticatedError' + '403': + $ref: '#/components/responses/UnauthorizedError' + '404': + $ref: '#/components/responses/NotFoundError' + '429': + $ref: '#/components/responses/RateLimitError' + '500': + $ref: '#/components/responses/DefaultSystemError' + x-codeSamples: + - lang: Shell + source: |- + curl --request GET \ + --url 'https://api.confluent.cloud/ksqldbcm/v2/clusters/{id}?environment=env-00000' \ + --header 'Authorization: Basic REPLACE_BASIC_AUTH' + - lang: Java + source: |- + OkHttpClient client = new OkHttpClient(); + + Request request = new Request.Builder() + .url("https://api.confluent.cloud/ksqldbcm/v2/clusters/{id}?environment=env-00000") + .get() + .addHeader("Authorization", "Basic REPLACE_BASIC_AUTH") + .build(); + + Response response = client.newCall(request).execute(); + - lang: Go + source: "package main\n\nimport (\n\t\"fmt\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.confluent.cloud/ksqldbcm/v2/clusters/{id}?environment=env-00000\"\n\n\treq, _ := http.NewRequest(\"GET\", url, nil)\n\n\treq.Header.Add(\"Authorization\", \"Basic REPLACE_BASIC_AUTH\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}" + - lang: Python + source: |- + import http.client + + conn = http.client.HTTPSConnection("api.confluent.cloud") + + headers = { 'Authorization': "Basic REPLACE_BASIC_AUTH" } + + conn.request("GET", "/ksqldbcm/v2/clusters/{id}?environment=env-00000", headers=headers) + + res = conn.getresponse() + data = res.read() + + print(data.decode("utf-8")) + - lang: Node + source: |- + const http = require("https"); + + const options = { + "method": "GET", + "hostname": "api.confluent.cloud", + "port": null, + "path": "/ksqldbcm/v2/clusters/{id}?environment=env-00000", + "headers": { + "Authorization": "Basic REPLACE_BASIC_AUTH" + } + }; + + const req = http.request(options, function (res) { + const chunks = []; + + res.on("data", function (chunk) { + chunks.push(chunk); + }); + + res.on("end", function () { + const body = Buffer.concat(chunks); + console.log(body.toString()); + }); + }); + + req.end(); + - lang: C + source: |- + CURL *hnd = curl_easy_init(); + + curl_easy_setopt(hnd, CURLOPT_CUSTOMREQUEST, "GET"); + curl_easy_setopt(hnd, CURLOPT_URL, "https://api.confluent.cloud/ksqldbcm/v2/clusters/{id}?environment=env-00000"); + + struct curl_slist *headers = NULL; + headers = curl_slist_append(headers, "Authorization: Basic REPLACE_BASIC_AUTH"); + curl_easy_setopt(hnd, CURLOPT_HTTPHEADER, headers); + + CURLcode ret = curl_easy_perform(hnd); + - lang: C# + source: |- + var client = new RestClient("https://api.confluent.cloud/ksqldbcm/v2/clusters/{id}?environment=env-00000"); + var request = new RestRequest(Method.GET); + request.AddHeader("Authorization", "Basic REPLACE_BASIC_AUTH"); + IRestResponse response = client.Execute(request); + delete: + operationId: deleteKsqldbcmV2Cluster + summary: Delete a Cluster + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + Make a request to delete a cluster. + parameters: + - name: environment + in: query + required: true + schema: + $ref: '#/components/schemas/SearchFilter' + example: env-00000 + description: Scope the operation to the given environment. + - name: id + in: path + required: true + schema: + type: string + description: The unique identifier for the cluster. + tags: + - Clusters (ksqldbcm/v2) + security: + - api-key: [] + - confluent-sts-access-token: [] + responses: + '204': + description: A Cluster is being deleted. + headers: + X-Request-Id: + schema: + type: string + description: The unique identifier for the API request. + X-RateLimit-Limit: + schema: + type: integer + description: The maximum number of requests you're permitted to make per time period. + X-RateLimit-Remaining: + schema: + type: integer + description: The number of requests remaining in the current rate limit window. + X-RateLimit-Reset: + schema: + type: integer + description: |- + The relative time in seconds until the current rate-limit window resets. + + **Important:** This differs from Github and Twitter's same-named header which uses UTC epoch seconds. We use relative time to avoid client/server time synchronization issues. + '400': + $ref: '#/components/responses/BadRequestError' + '401': + $ref: '#/components/responses/UnauthenticatedError' + '403': + $ref: '#/components/responses/UnauthorizedError' + '404': + $ref: '#/components/responses/NotFoundError' + '429': + $ref: '#/components/responses/RateLimitError' + '500': + $ref: '#/components/responses/DefaultSystemError' + x-codeSamples: + - lang: Shell + source: |- + curl --request DELETE \ + --url 'https://api.confluent.cloud/ksqldbcm/v2/clusters/{id}?environment=env-00000' \ + --header 'Authorization: Basic REPLACE_BASIC_AUTH' + - lang: Java + source: |- + OkHttpClient client = new OkHttpClient(); + + Request request = new Request.Builder() + .url("https://api.confluent.cloud/ksqldbcm/v2/clusters/{id}?environment=env-00000") + .delete(null) + .addHeader("Authorization", "Basic REPLACE_BASIC_AUTH") + .build(); + + Response response = client.newCall(request).execute(); + - lang: Go + source: "package main\n\nimport (\n\t\"fmt\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.confluent.cloud/ksqldbcm/v2/clusters/{id}?environment=env-00000\"\n\n\treq, _ := http.NewRequest(\"DELETE\", url, nil)\n\n\treq.Header.Add(\"Authorization\", \"Basic REPLACE_BASIC_AUTH\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}" + - lang: Python + source: |- + import http.client + + conn = http.client.HTTPSConnection("api.confluent.cloud") + + headers = { 'Authorization': "Basic REPLACE_BASIC_AUTH" } + + conn.request("DELETE", "/ksqldbcm/v2/clusters/{id}?environment=env-00000", headers=headers) + + res = conn.getresponse() + data = res.read() + + print(data.decode("utf-8")) + - lang: Node + source: |- + const http = require("https"); + + const options = { + "method": "DELETE", + "hostname": "api.confluent.cloud", + "port": null, + "path": "/ksqldbcm/v2/clusters/{id}?environment=env-00000", + "headers": { + "Authorization": "Basic REPLACE_BASIC_AUTH" + } + }; + + const req = http.request(options, function (res) { + const chunks = []; + + res.on("data", function (chunk) { + chunks.push(chunk); + }); + + res.on("end", function () { + const body = Buffer.concat(chunks); + console.log(body.toString()); + }); + }); + + req.end(); + - lang: C + source: |- + CURL *hnd = curl_easy_init(); + + curl_easy_setopt(hnd, CURLOPT_CUSTOMREQUEST, "DELETE"); + curl_easy_setopt(hnd, CURLOPT_URL, "https://api.confluent.cloud/ksqldbcm/v2/clusters/{id}?environment=env-00000"); + + struct curl_slist *headers = NULL; + headers = curl_slist_append(headers, "Authorization: Basic REPLACE_BASIC_AUTH"); + curl_easy_setopt(hnd, CURLOPT_HTTPHEADER, headers); + + CURLcode ret = curl_easy_perform(hnd); + - lang: C# + source: |- + var client = new RestClient("https://api.confluent.cloud/ksqldbcm/v2/clusters/{id}?environment=env-00000"); + var request = new RestRequest(Method.DELETE); + request.AddHeader("Authorization", "Basic REPLACE_BASIC_AUTH"); + IRestResponse response = client.Execute(request); diff --git a/providers/src/confluent/v00.00.00000/services/managed_kafka_clusters.yaml b/providers/src/confluent/v00.00.00000/services/managed_kafka_clusters.yaml new file mode 100644 index 00000000..c8216043 --- /dev/null +++ b/providers/src/confluent/v00.00.00000/services/managed_kafka_clusters.yaml @@ -0,0 +1,4127 @@ +openapi: 3.0.0 +servers: + - url: 'https://api.confluent.cloud' + description: Confluent Cloud API +info: + version: '' + contact: + name: Confluent Cloud + url: 'https://www.confluent.io/cloud-contact-us/' + email: support@confluent.io + x-api-id: 46234552-5833-42eb-ba0f-883ad3f70d2b + x-audience: external-public + x-logo: + url: 'https://assets.confluent.io/m/5ec23aa91903c00b/' + title: Confluent Cloud APIs - managed_kafka_clusters + description: managed_kafka_clusters +tags: + - name: API Keys (iam/v2) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + `ApiKey` objects represent access to different parts of Confluent Cloud. Some types + of API keys represent access to a single cluster/resource such as a Kafka cluster, + Schema Registry cluster or a ksqlDB cluster. Cloud API Keys represent access to resources within an organization + that are not tied to a specific cluster, such as the Org API, IAM API, Metrics API or Connect API. + + The API allows you to list, create, update and delete your API Keys. + + + Related guide: [API Keys in Confluent Cloud](https://docs.confluent.io/cloud/current/client-apps/api-keys.html). + + ## The API Keys Model + + + ## Quotas and Limits + This resource is subject to the [following quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): + + | Quota | Description | + | --- | --- | + | `apikeys_per_org` | API Keys in one Confluent Cloud organization | + - name: Environments (org/v2) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + `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](https://docs.confluent.io/cloud/current/access-management/environments.html). + + ## The Environments Model + + + ## Quotas and Limits + This resource is subject to the [following quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): + + | Quota | Description | + | --- | --- | + | `environments_per_org` | Environments in one Confluent Cloud organization | + - name: Organizations (org/v2) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + `Organization` objects represent a customer organization. An organization contains all customer + resources (e.g., Environments, Kafka Clusters, Service Accounts, API Keys) and is tied to a billing + agreement (including any annual commitment or support plan). + + The API allows you to list, view, and update your organizations. + + + Related guide: [Organizations for Confluent Cloud](https://docs.confluent.io/cloud/current/access-management/hierarchy/organizations/cloud-organization.html). + + ## The Organizations Model + + + ## Quotas and Limits + This resource is subject to the [following quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): + + | Quota | Description | + | --- | --- | + | `organizations_per_user` | Confluent Cloud organizations a user belongs to | + - name: Users (iam/v2) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + `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](https://docs.confluent.io/cloud/current/access-management/user-account.html). + + ## The Users Model + + + ## Quotas and Limits + This resource is subject to the [following quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): + + | Quota | Description | + | --- | --- | + | `users_per_org` | Users in one Confluent Cloud organization | + - name: Service Accounts (iam/v2) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + `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](https://docs.confluent.io/cloud/current/access-management/service-account.html). + + ## The Service Accounts Model + + + ## Quotas and Limits + This resource is subject to the [following quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): + + | Quota | Description | + | --- | --- | + | `service_accounts_per_org` | Service Accounts in one Confluent Cloud organization | + - name: Invitations (iam/v2) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + `Invitation` objects represent invitations to invite users to join your organizations in Confluent Cloud. + + The API allows you to list all your invitations, as well as create, read, and delete a specified invitation. + + + Related guide: [User invitations in Confluent Cloud](https://docs.confluent.io/cloud/current/access-management/identity/user-accounts.html). + + ## The Invitations Model + + + ## Quotas and Limits + This resource is subject to the [following quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): + + | Quota | Description | + | --- | --- | + | `invitations_per_org` | Invitations in a Confluent Cloud organization | + - name: IP Groups (iam/v2) + description: |- + [![Limited Availability](https://img.shields.io/badge/Lifecycle%20Stage-Limited%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) [![Request Access To IP Groups API](https://img.shields.io/badge/-Request%20Access%20To%20IP%20Groups%20API-%23bc8540)](mailto:cloud-support@confluent.io?subject=Request%20to%20join%20IP%20Filtering%20API%20Limited%20Access&body=I%E2%80%99d%20like%20to%20join%20the%20Confluent%20Cloud%20API%20Limited%20Access%20for%20IP%20Filtering.%0AMy%20Cloud%20Organization%20ID%20is%20%3Cretrieve%20from%20https%3A//confluent.cloud/settings/billing/payment%3E.%0A) + + Definitions of networks which can be named and referred by IP blocks, commonly used to attach to IP Filter rules. + + + ## The IP Groups Model + + - name: IP Filters (iam/v2) + description: |- + [![Limited Availability](https://img.shields.io/badge/Lifecycle%20Stage-Limited%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) [![Request Access To IP Filters API](https://img.shields.io/badge/-Request%20Access%20To%20IP%20Filters%20API-%23bc8540)](mailto:ccloud-api-access+iam-v2-limited-availability@confluent.io?subject=Request%20to%20join%20iam/v2%20API%20Limited%20Availability&body=I%E2%80%99d%20like%20to%20join%20the%20Confluent%20Cloud%20API%20Limited%20Availability%20for%20iam/v2%20to%20provide%20early%20feedback%21%20My%20Cloud%20Organization%20ID%20is%20%3Cretrieve%20from%20https%3A//confluent.cloud/settings/billing/payment%3E.) + + `IP Filter` objects are bindings between IP Groups and Confluent resource(s). + For example, a binding between "CorpNet" and "Management APIs" will enforce that + access must come from one of the CIDR blocks associated with CorpNet. + If there are multiple IP filters bound to a resource, a request matching any of the CIDR blocks + for any of the IP Group will allow the request. + If there are no IP Filters for a resource, then access will be granted to requests originating + from any IP Address. + + + ## The IP Filters Model + + - name: Role Bindings (iam/v2) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + A role binding grants a Principal a role on resources that match a pattern. + + The API allows you to perform create, delete, and list operations on role bindings. + + + Related guide: [Role-Based Access Control (RBAC)](https://docs.confluent.io/cloud/current/access-management/access-control/cloud-rbac.html). + + ## The Role Bindings Model + + - name: Subscriptions (notifications/v1) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + `Subscription` objects represent the intent of the customers to get notifications of particular types. + A subscription is created for a particular `NotificationType` and the user will get notifications on the + `Integrations` that are provided while creating the subscription. + + This API allows you to create, retrieve, and update subscriptions, + as well as to view the list of all your subscriptions. You can also delete subscriptions + with RECOMMENDED or OPTIONAL notification types. Subscriptions with REQUIRED notification types cannot be deleted. + + + Related guide: [Cloud Notifications](https://docs.confluent.io/cloud/current/monitoring/configure-notifications.html#notifications-for-ccloud). + + ## The Subscriptions Model + + - name: Integrations (notifications/v1) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + You can create an `Integration` to specify how we can notify you when we receive an alert/notification for + a subscription. Please note that you can only perform create, update and delete operations for integrations + of type `Webhook`, `Slack` and `MsTeams`. You cannot create, update or delete integrations of type `RoleEmail` + and `UserEmail`. + + + Related guide: [Cloud Notifications](https://docs.confluent.io/cloud/current/monitoring/configure-notifications.html#notifications-for-ccloud). + + ## The Integrations Model + + + ## Quotas and Limits + This resource is subject to the [following quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): + + | Quota | Description | + | --- | --- | + | `integrations_per_org` | Maximum number of integrations in one Confluent Cloud organization | + - name: Notification Types (notifications/v1) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + The type of notifications (and their corresponding metadata) supported by Confluent. + + + Related guide: [Cloud Notifications](https://docs.confluent.io/cloud/current/monitoring/configure-notifications.html#notifications-for-ccloud). + + ## The Notification Types Model + + - name: Clusters (cmk/v2) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + `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](https://docs.confluent.io/cloud/current/clusters/cluster-api.html). + + ## The Clusters Model + + + ## Quotas and Limits + This resource is subject to the [following quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): + + | Quota | Description | + | --- | --- | + | `kafka_clusters_per_environment` | Number of clusters in one Confluent Cloud environment | + - name: Clusters (ksqldbcm/v2) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + `Cluster` represents a ksqlDB runtime that you can issue queries to using its API endpoint. + It executes SQL statements and queries which under the hood get built into corresponding + Kafka Streams topologies. The API allows you to list, create, read, and delete your ksqlDB clusters. + + + Related guide: [ksqlDB in Confluent Cloud](https://docs.confluent.io/cloud/current/ksqldb/ksqldb-cluster-api.html). + + ## The Clusters Model + + + ## Quotas and Limits + This resource is subject to the following quotas: + + | Quota | Description | + | --- | --- | + | `ksql.limits.max_apps_per_cluster` | Clusters in one Confluent Cloud Kafka Cluster. | + - name: Connectors (connect/v1) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + API for Managed Connectors or Custom Connectors in Confluent Cloud. + + The API allows you to list, create, get, update and delete a Managed Connector or Custom Connector in Confluent Cloud. + + Connect metrics are available through the [Metrics v2 API](https://api.telemetry.confluent.cloud/docs#tag/Version-2). + + Related guide: [Confluent Cloud API and Managed Connectors](https://docs.confluent.io/cloud/current/connectors/connect-api-section.html). + - name: Lifecycle (connect/v1) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + API for managing the lifecycle for a Managed Connector or Custom Connector in Confluent Cloud. Operations currently supported are Pause and Resume. + - name: Status (connect/v1) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + API for requesting the status or the tasks for a Managed Connector or Custom Connector in Confluent Cloud. + - name: Managed Connector Plugins (connect/v1) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + API for Managed connectors in Confluent Cloud. + - name: Offsets (connect/v1) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + API for managing the offsets for a Managed Connector. + + Related guide: [Manage Connector Offsets](https://docs.confluent.io/cloud/current/connectors/offsets.html#manage-offsets-for-fully-managed-connectors-in-ccloud) + - name: Custom Connector Plugins (connect/v1) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + CustomConnectorPlugins objects represent Custom Connector Plugins on Confluent Cloud. + The API allows you to list, create, read, update, and delete your Custom Connector Plugins. + Related guide: + [Custom Connector Plugin API](https://docs.confluent.io/cloud/current/connectors/connect-api-section.html). + + + ## The Custom Connector Plugins Model + + - name: Presigned Urls (connect/v1) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + Request a presigned upload URL for new Custom Connector Plugin. Note that + the URL policy expires in one hour. If the policy expires, you can request + a new presigned upload URL. + + Related guide: + [Custom Connector Plugin API](https://docs.confluent.io/cloud/current/connectors/connect-api-section.html). + + + ## The Presigned Urls Model + + - name: Cluster (v3) + description: '[![Generally Available](https://img.shields.io/badge/Lifecycle%20Stage-Generally%20Available-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy)' + - name: Configs (v3) + description: '[![Generally Available](https://img.shields.io/badge/Lifecycle%20Stage-Generally%20Available-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy)' + - name: ACL (v3) + description: '[![Generally Available](https://img.shields.io/badge/Lifecycle%20Stage-Generally%20Available-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy)' + - name: Consumer Group (v3) + description: '[![Generally Available](https://img.shields.io/badge/Lifecycle%20Stage-Generally%20Available-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy)' + - name: Partition (v3) + description: '[![Generally Available](https://img.shields.io/badge/Lifecycle%20Stage-Generally%20Available-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy)' + - name: Topic (v3) + description: '[![Generally Available](https://img.shields.io/badge/Lifecycle%20Stage-Generally%20Available-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy)' + - name: Records (v3) + description: '[![Generally Available](https://img.shields.io/badge/Lifecycle%20Stage-Generally%20Available-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy)' + - name: Cluster Linking (v3) + description: '[![Generally Available](https://img.shields.io/badge/Lifecycle%20Stage-Generally%20Available-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy)' + - name: Applied Quotas (service-quota/v1) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + A `quota` object represents a quota configuration for a specific Confluent Cloud resource. + Use this API to retrieve an individual quota or list of quotas for a given scope. + + + Related guide: [Service Quotas for Confluent Cloud](https://docs.confluent.io/cloud/current/quotas/index.html). + + ## The Applied Quotas Model + + - name: Scopes (service-quota/v1) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + Gets a list of all available scopes for applied quotas. + + + Related guide: [Quota Scopes](https://docs.confluent.io/cloud/current/quotas/quotas.html#query-for-scopes). + + ## The Scopes Model + + - name: Entitlements (partner/v2) + description: | + [![Early Access](https://img.shields.io/badge/Lifecycle%20Stage-Early%20Access-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) [![Request Access To Partner v2](https://img.shields.io/badge/-Request%20Access%20To%20Partner%20v2-%23bc8540)](mailto:ccloud-api-access+partner-v2-early-access@confluent.io?subject=Request%20to%20join%20partner/v2%20API%20Early%20Access&body=I%E2%80%99d%20like%20to%20join%20the%20Confluent%20Cloud%20API%20Early%20Access%20for%20partner/v2%20to%20provide%20early%20feedback%21%20My%20Cloud%20Organization%20ID%20is%20%3Cretrieve%20from%20https%3A//confluent.cloud/settings/billing/payment%3E.) + + `Entitlement` objects represent metadata about a marketplace entitlement. + + An entitlement includes metadata about a marketplace purchase + (start date, end date, billing information, partner IDs, etc). + The API allows partners to create, read, and list entitlements. (Unless you + need entitlement creation and customer registration to be separate, + we recommend using the Signup API to create an organization and entitlement + at the same time) + + The API only allows authorized partners to interact with the Entitlements API. + - name: Regions (srcm/v2) + description: |- + [![Deprecated](https://img.shields.io/badge/Lifecycle%20Stage-Deprecated-%23ff005c)](#section/Versioning/API-Lifecycle-Policy) + + `Region` objects represent cloud provider regions available when placing Schema Registry clusters. + The API allows you to list Schema Registry regions. + + + Related guides: + * [Confluent Cloud providers and region support](https://docs.confluent.io/cloud/current/stream-governance/packages.html#cloud-providers-and-region-support). + * [srcm/v3 Migration Guide](https://docs.confluent.io/cloud/current/stream-governance/packages.html#deprecation-of-srcm-v2-clusters-and-regions-apis-and-upgrade-guide). + + + ## The Regions Model + + - name: Clusters (srcm/v2) + description: |- + [![Deprecated](https://img.shields.io/badge/Lifecycle%20Stage-Deprecated-%23ff005c)](#section/Versioning/API-Lifecycle-Policy) + + `Clusters` objects represent Schema Registry Clusters on Confluent Cloud. + + The API allows you to list, create, read, and delete your Schema Registry clusters. + + + Related guides: + * [Confluent Cloud Schema Registry Cluster APIs](https://docs.confluent.io/cloud/current/stream-governance/clusters-regions-api.html#schema-registry-cluster-management). + * [srcm/v3 Migration Guide](https://docs.confluent.io/cloud/current/stream-governance/packages.html#deprecation-of-srcm-v2-clusters-and-regions-apis-and-upgrade-guide). + + + ## The Clusters Model + + - name: Clusters (srcm/v3) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + `Clusters` objects represent Schema Registry Clusters on Confluent Cloud. + + The API allows you to list and read your Schema Registry clusters. + + + Related guide: [Confluent Cloud Schema Registry Cluster APIs](https://docs.confluent.io/cloud/current/stream-governance/clusters-regions-api.html#schema-registry-cluster-management). + + ## The Clusters Model + + - name: Compatibility (v1) + description: |- + [![Generally Available](https://img.shields.io/badge/Lifecycle%20Stage-Generally%20Available-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + The API allows you to test schema compatibility. + + Related guide: [Manage Schemas in Confluent Cloud](https://docs.confluent.io/cloud/current/sr/schemas-manage.html#manage-schemas-in-ccloud). + - name: Config (v1) + description: |- + [![Generally Available](https://img.shields.io/badge/Lifecycle%20Stage-Generally%20Available-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + The API allows you to manage and query schema compatibility settings and cluster configurations. + + Related guide: [Manage Schemas in Confluent Cloud](https://docs.confluent.io/cloud/current/sr/schemas-manage.html#manage-schemas-in-ccloud). + - name: Contexts (v1) + description: |- + [![Generally Available](https://img.shields.io/badge/Lifecycle%20Stage-Generally%20Available-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + The API allows you to retrieve information about schema contexts. + + Related guide: [Manage Schemas in Confluent Cloud](https://docs.confluent.io/cloud/current/sr/schemas-manage.html#manage-schemas-in-ccloud). + - name: Exporters (v1) + description: |- + [![Generally Available](https://img.shields.io/badge/Lifecycle%20Stage-Generally%20Available-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + The API allows you to create, retrieve, update, and delete exporters. + + Related guide: [Manage Schemas in Confluent Cloud](https://docs.confluent.io/cloud/current/sr/schemas-manage.html#manage-schemas-in-ccloud). + - name: Modes (v1) + description: |- + [![Generally Available](https://img.shields.io/badge/Lifecycle%20Stage-Generally%20Available-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + The API allows you to create, retrieve, update, and delete schema subjects modes of operation. + + Related guide: [Manage Schemas in Confluent Cloud](https://docs.confluent.io/cloud/current/sr/schemas-manage.html#manage-schemas-in-ccloud). + - name: Schemas (v1) + description: |- + [![Generally Available](https://img.shields.io/badge/Lifecycle%20Stage-Generally%20Available-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + The API allows you to create, retrieve, update, and delete schemas. + + Related guide: [Manage Schemas in Confluent Cloud](https://docs.confluent.io/cloud/current/sr/schemas-manage.html#manage-schemas-in-ccloud). + - name: Subjects (v1) + description: |- + [![Generally Available](https://img.shields.io/badge/Lifecycle%20Stage-Generally%20Available-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + The API allows you to create, retrieve, update, and delete schema subjects and versions. + + Related guide: [Manage Schemas in Confluent Cloud](https://docs.confluent.io/cloud/current/sr/schemas-manage.html#manage-schemas-in-ccloud). + - name: Key Encryption Keys (v1) + description: |- + [![Generally Available](https://img.shields.io/badge/Lifecycle%20Stage-Generally%20Available-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + The API allows you to create, retrieve, update, and delete key encryption keys. + + Related guide: [Manage Schemas in Confluent Cloud](https://docs.confluent.io/cloud/current/sr/schemas-manage.html#manage-schemas-in-ccloud). + - name: Data Encryption Keys (v1) + description: |- + [![Generally Available](https://img.shields.io/badge/Lifecycle%20Stage-Generally%20Available-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + The API allows you to create, retrieve, update, and delete data encryption keys. + + Related guide: [Manage Schemas in Confluent Cloud](https://docs.confluent.io/cloud/current/sr/schemas-manage.html#manage-schemas-in-ccloud). + - name: Entity (v1) + description: |- + [![Generally Available](https://img.shields.io/badge/Lifecycle%20Stage-Generally%20Available-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + The API allows you to create, retrieve, update, and delete catalog entities. + + Related guide: [Catalog API Documentation](https://docs.confluent.io/cloud/current/stream-governance/stream-catalog.html#catalog-api-documentation). + - name: Search (v1) + description: |- + [![Generally Available](https://img.shields.io/badge/Lifecycle%20Stage-Generally%20Available-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + The API allows you to search for entities. + + Related guide: [Catalog API Documentation](https://docs.confluent.io/cloud/current/stream-governance/stream-catalog.html#catalog-api-documentation). + - name: Types (v1) + description: |- + [![Generally Available](https://img.shields.io/badge/Lifecycle%20Stage-Generally%20Available-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + The API allows you to create, retrieve, update, and delete catalog types such as tag definitions. + + Related guide: [Catalog API Documentation](https://docs.confluent.io/cloud/current/stream-governance/stream-catalog.html#catalog-api-documentation). + - name: Provider Shared Resources (cdx/v1) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + `ProviderSharedResource` object contains details of the data stream + (topic, schema registry subjects, sharing metadata) that you have shared through Stream Sharing. + + + ## The Provider Shared Resources Model + + - name: Provider Shares (cdx/v1) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + `ProviderShare` object respresents the share that you have created through Stream Sharing. + + + Related guide: [Provider Stream Shares in Confluent Cloud](https://docs.confluent.io/cloud/current/stream-sharing/produce-shared-data.html#stream-shares). + + ## The Provider Shares Model + + - name: Consumer Shared Resources (cdx/v1) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + `ConsumerSharedResource` object contains details of the data stream + (topic, schema registry subjects, sharing metadata) that you received through Stream Sharing. + + + ## The Consumer Shared Resources Model + + - name: Consumer Shares (cdx/v1) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + `ConsumerShare` object respresents the share that you received through Stream Sharing. + + + Related guide: [Consumer Stream Shares in Confluent Cloud](https://docs.confluent.io/cloud/current/stream-sharing/consume-shared-data.html). + + ## The Consumer Shares Model + + - name: Shared Tokens (cdx/v1) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + Encrypted Token shared with consumer + + + ## The Shared Tokens Model + + - name: Opt Ins (cdx/v1) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + Stream sharing opt in options + + ## The Opt Ins Model + + - name: Organizations (partner/v2) + description: | + [![Early Access](https://img.shields.io/badge/Lifecycle%20Stage-Early%20Access-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) [![Request Access To Partner v2](https://img.shields.io/badge/-Request%20Access%20To%20Partner%20v2-%23bc8540)](mailto:ccloud-api-access+partner-v2-early-access@confluent.io?subject=Request%20to%20join%20partner/v2%20API%20Early%20Access&body=I%E2%80%99d%20like%20to%20join%20the%20Confluent%20Cloud%20API%20Early%20Access%20for%20partner/v2%20to%20provide%20early%20feedback%21%20My%20Cloud%20Organization%20ID%20is%20%3Cretrieve%20from%20https%3A//confluent.cloud/settings/billing/payment%3E.) + + `Organizations` objects represent an entire Confluent Cloud organization. + Partners are allowed to get an organization they have signed up or + list all organizations they have signed up. + - name: Signup (partner/v2) + description: | + [![Early Access](https://img.shields.io/badge/Lifecycle%20Stage-Early%20Access-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) [![Request Access To Partner v2](https://img.shields.io/badge/-Request%20Access%20To%20Partner%20v2-%23bc8540)](mailto:ccloud-api-access+partner-v2-early-access@confluent.io?subject=Request%20to%20join%20partner/v2%20API%20Early%20Access&body=I%E2%80%99d%20like%20to%20join%20the%20Confluent%20Cloud%20API%20Early%20Access%20for%20partner/v2%20to%20provide%20early%20feedback%21%20My%20Cloud%20Organization%20ID%20is%20%3Cretrieve%20from%20https%3A//confluent.cloud/settings/billing/payment%3E.) + + `Signup` APIs can only be performed by partners. + - name: Networks (networking/v1) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + `Network` represents a network (VPC) in Confluent Cloud. All Networks exist within Confluent-managed cloud + provider accounts. Dedicated networks support more networking options but can only contain Dedicated clusters. + Shared networks can contain any cluster type. + + The API allows you to list, create, read, update, and delete your networks. + + + Related guide: [APIs to manage networks in Confluent Cloud](https://docs.confluent.io/cloud/current/networking/overview.html). + + ## The Networks Model + + + ## Quotas and Limits + This resource is subject to the [following quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): + + | Quota | Description | + | --- | --- | + | `dedicated_networks_per_environment` | Number of dedicated networks per Confluent Cloud environment | + - name: Peerings (networking/v1) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + Add or remove VPC/VNet peering connections between your VPC/VNet and Confluent Cloud. + + Related guides: + * [Use VPC peering connections with Confluent Cloud on AWS](https://docs.confluent.io/cloud/current/networking/peering/aws-peering.html). + * [Use VNet peering connections with Confluent Cloud on Azure](https://docs.confluent.io/cloud/current/networking/peering/azure-peering.html). + * [Use VPC peering connections with Confluent Cloud on Google Cloud](https://docs.confluent.io/cloud/current/networking/peering/gcp-peering.html). + + + ## The Peerings Model + + + ## Quotas and Limits + This resource is subject to the [following quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): + + | Quota | Description | + | --- | --- | + | `peerings_per_network` | Number of peerings per network | + - name: Transit Gateway Attachments (networking/v1) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + AWS Transit Gateway Attachments + + Related guide: [APIs to manage AWS Transit Gateway Attachments](https://docs.confluent.io/cloud/current/networking/aws-transit-gateway.html). + + ## The Transit Gateway Attachments Model + + + ## Quotas and Limits + This resource is subject to the [following quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): + + | Quota | Description | + | --- | --- | + | `tgw_attachments_per_network` | Number of TGW attachments per network | + - name: Private Link Accesses (networking/v1) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + Add or remove access to PrivateLink endpoints by AWS account, Azure subscription and GCP project ID. + + Related guides: + * [Use Google Cloud Private Service Connect with Confluent Cloud](https://docs.confluent.io/cloud/current/networking/private-links/gcp-private-service-connect.html). + * [Use Azure Private Link with Confluent Cloud](https://docs.confluent.io/cloud/current/networking/private-links/azure-privatelink.html). + * [Use AWS PrivateLink with Confluent Cloud](https://docs.confluent.io/cloud/current/networking/private-links/aws-privatelink.html). + + + ## The Private Link Accesses Model + + + ## Quotas and Limits + This resource is subject to the [following quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): + + | Quota | Description | + | --- | --- | + | `private_link_accounts_per_network` | Number of AWS accounts per network | + | `private_link_subscriptions_per_network` | Number of Azure subscriptions per network | + | `private_service_connect_projects_per_network` | Number of GCP projects per network | + - name: Network Link Services (networking/v1) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + Network Link Service is associated with a Private Link Confluent Cloud Network. + It enables connectivity from other Private Link Confluent Cloud Networks based on + the configured accept policies. + + + Related guide: [Network Linking Overview](https://docs.confluent.io/cloud/current/networking/network-linking.html). + + ## The Network Link Services Model + + + ## Quotas and Limits + This resource is subject to the [following quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): + + | Quota | Description | + | --- | --- | + | `network_link_service_per_network` | Number of network link services per network | + - name: Network Link Endpoints (networking/v1) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + A Network Link Enpoint is associated with a Private Link Confluent Cloud Network at the origin and a + Network Link Service (associated with another Private Link Confluent Cloud Network) at the target. + It enables connectivity between the origin network and the target network. + It can only be associated with a Private Link network. + + + Related guide: [Network Linking Overview](https://docs.confluent.io/cloud/current/networking/network-linking.html). + + ## The Network Link Endpoints Model + + + ## Quotas and Limits + This resource is subject to the [following quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): + + | Quota | Description | + | --- | --- | + | `network_link_endpoints_per_network` | Number of network link endpoints per network | + - name: Network Link Service Associations (networking/v1) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + List of incoming Network Link Enpoints associated with the Network Link Service. + + + Related guide: [Network Linking Overview](https://docs.confluent.io/cloud/current/networking/network-linking.html). + + ## The Network Link Service Associations Model + + - name: Gateways (networking/v1) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + A gateway is a resource that defines network access to Confluent cloud resources. + + + ## The Gateways Model + + - name: IP Addresses (networking/v1) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + IP Addresses + + Related guide: [Use Public Egress IP addresses on Confluent Cloud](https://docs.confluent.io/cloud/current/networking/static-egress-ip-addresses.html) + + ## The IP Addresses Model + + - name: Private Link Attachments (networking/v1) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + PrivateLink attachment objects represent reservations to establish PrivateLink connections + to a cloud region in order to access resources that belong to a Confluent Cloud Environment. + The API allows you to list, create, read update and delete your PrivateLink attachments. + + + ## The Private Link Attachments Model + + + ## Quotas and Limits + This resource is subject to the [following quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): + + | Quota | Description | + | --- | --- | + | `private_link_attachments_per_environment` | Number of PrivateLink Attachments per environment | + - name: Private Link Attachment Connections (networking/v1) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + PrivateLink attachment connection objects represent connections established to a cloud region + in order to access resources that belong to a Confluent Cloud Environment. + The API allows you to list, create, read update and delete your PrivateLink attachment connections. + + + ## The Private Link Attachment Connections Model + + - name: Identity Providers (iam/v2) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + `IdentityProvider` objects represent external OAuth-OIDC providers in Confluent Cloud. + + The API allows you to list, create, read, update, and delete your Identity Provider. + + + Related guide: [OAuth for Confluent Cloud](https://docs.confluent.io/cloud/current/access-management/authenticate/oauth/overview.html). + + ## The Identity Providers Model + + + ## Quotas and Limits + This resource is subject to the [following quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): + + | Quota | Description | + | --- | --- | + | `identity_providers_per_org` | Number of OAuth identity providers per organization | + | `public_keys_per_provider` | Number of public keys saved per identity provider | + - name: Jwks (iam/v2) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + `JWKS` objects represent public key sets for a specific OAuth/OpenID Connect provider within + Confluent Cloud. + + The API allows you to refresh JWKS public key data. + + + Related guide: [OAuth for Confluent Cloud](https://docs.confluent.io/cloud/current/access-management/authenticate/oauth/overview.html). + + ## The Jwks Model + + - name: Identity Pools (iam/v2) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + `IdentityPool` objects represent groups of identities tied to a given a `IdentityProvider` + that authorizes them to Confluent Cloud resources. + + It provides a mapping functionality of your `Identity Provider` user to a Confluent identity pool that + is then used to provide access to Confluent Resources. + + + Related guide: [Use identity pools with your OAuth provider](https://docs.confluent.io/cloud/current/access-management/authenticate/oauth/identity-pools.html). + + ## The Identity Pools Model + + + ## Quotas and Limits + This resource is subject to the [following quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): + + | Quota | Description | + | --- | --- | + | `identity_pools_per_provider` | Number of Identity Pools per Identity Provider | + - name: OAuth Tokens (sts/v1) + description: | + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + OAuth Token is a [JSON Web Token (JWT)](https://www.rfc-editor.org/rfc/rfc7519) that enables the use of + external identities to access Confluent Cloud APIs + - name: Client Quotas (kafka-quotas/v1) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + `ClientQuota` objects represent Client Quotas you can set at the service account level. + + The API allows you to list, create, read, update, and delete your client quotas. + + + Related guide: [Client Quotas in Confluent Cloud](https://docs.confluent.io/cloud/current/clusters/client-quotas.html). + + ## The Client Quotas Model + + - name: Pipelines (sd/v1) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + `Pipeline` objects represent information about a user-defined pipeline of Confluent Cloud components. + The pipeline's content is available separately. + + The API allows you to create, retrieve, update, and delete your pipelines, + as well as list all of your pipelines for the particular environment and Kafka cluster. + + + Related guide: [Pipelines in Confluent Cloud](https://docs.confluent.io/cloud/current/stream-designer/). + + ## The Pipelines Model + + + ## Quotas and Limits + This resource is subject to the [following quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): + + | Quota | Description | + | --- | --- | + | `pipelines_per_org` | Pipelines in one Confluent Cloud organization | + | `pipelines_per_cluster` | Pipelines in one Confluent Cloud Kafka cluster | + - name: Keys (byok/v1) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + `Key` objects represent customer managed keys on dedicated Confluent Cloud clusters. + + Keys are used to protect data at rest stored in your dedicated Confluent Cloud clusters on AWS, Azure, and GCP. + This API allows you to upload and retrieve self-managed keys on Confluent Cloud. + + + Related guide: [Confluent Cloud Bring Your Own Key (BYOK) Management API](https://docs.confluent.io/cloud/current/clusters/byok/index.html). + + ## The Keys Model + + + ## Quotas and Limits + This resource is subject to the [following quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): + + | Quota | Description | + | --- | --- | + | `byok.max_keys.per_org` | BYOK keys in one Confluent Cloud organisation. | + - name: Costs (billing/v1) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + `Cost` objects represent the aggregated billing costs for an organization + + + Related guide: [Retrieve costs for a range of dates](https://docs.confluent.io/cloud/current/billing/overview.html#retrieve-costs-for-a-range-of-dates). + + ## The Costs Model + + - name: Group Mappings (iam/v2/sso) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + `GroupMapping` objects establish relationships between user groups in your SSO + identity provider and specific RBAC roles in Confluent Cloud. + + Group mappings enable automated and secure access control to Confluent Cloud resources, + reducing administrative workload by streamlining user provisioning and authorization. + + + Related guide: [Use group mappings with your SSO identity provider](https://docs.confluent.io/cloud/current/access-management/authenticate/sso/group-mapping/overview.html). + + ## The Group Mappings Model + + + ## Quotas and Limits + This resource is subject to the [following quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): + + | Quota | Description | + | --- | --- | + | `group_mappings_per_org` | Number of group mappings per organization | + - name: Compute Pools (fcpm/v2) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + A Compute Pool represents a set of compute resources that is used to run your Queries. + The resources (CPUs, memory,…) provided by a Compute Pool are shared between all Queries that use it. + + + ## The Compute Pools Model + + - name: Regions (fcpm/v2) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + `Region` objects represent cloud provider regions available when placing Flink compute pools. + The API allows you to list Flink regions. + + + ## The Regions Model + + - name: Statements (sql/v1) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + `Statement` represents a core resource used to model SQL statements for execution. + A statement generalizes DDL, DML, DQL, etc., but doesn’t attempt to handle session + management or any higher-level functionality. + The API allows you to list, create, read, and delete your statements. + ## The Statements Model + + - name: Statement Results (sql/v1) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + `StatementResult` represents a result of a `Statement` resource. + The API allows you to read your statement's results. + ## The Statement Results Model + + - name: Statement Exceptions (sql/v1) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + `StatementException` represents an exception of a `Statement` resource. + The API allows you to read your statement's exceptions. + ## The Statement Exceptions Model + + - name: Connections (sql/v1) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + `Connection` represents a core resource used to model SQL connections for execution. + A connection generalizes DDL, DML, DQL, etc., but doesn’t attempt to handle session + management or any higher-level functionality. + The API allows you to list, create, read, and delete your connections. + ## The Connections Model + + - name: DNS Forwarders (networking/v1) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + Add, remove, and update DNS forwarder for your gateway. + + Related guides: + * [Use VPC peering connections with Confluent Cloud on AWS](https://docs.confluent.io/cloud/current/networking/peering/aws-peering.html). + * [Use VNet peering connections with Confluent Cloud on Azure](https://docs.confluent.io/cloud/current/networking/peering/azure-peering.html). + + + ## The DNS Forwarders Model + + - name: Access Points (networking/v1) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + AccessPoint objects represent network connections in and out of Gateways. + This API allows you to list, create, read, update, and delete your access points. + + + ## The Access Points Model + + - name: DNS Records (networking/v1) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + DNS record objects are associated with Confluent Cloud networking resources. This API allows you to list, create, read, update, and delete your DNS records. + + ## The DNS Records Model + + - name: Certificate Authorities (iam/v2) + description: |- + [![Limited Availability](https://img.shields.io/badge/Lifecycle%20Stage-Limited%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + `CertificateAuthority` objects represent signing certificate authorities in Confluent Cloud. + + The API allows you to list, create, read, update, and delete your Certificate Authority. + + + Related guide: [Manage certificate authorities used for client authentication with X.509 certificates.](https://docs.confluent.io/cloud/current/access-management/authenticate/mtls/overview.html). + + ## The Certificate Authorities Model + + + ## Quotas and Limits + This resource is subject to the [following quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): + + | Quota | Description | + | --- | --- | + | `certificate_authorities_per_org` | Number of certificate authorities per organization | + - name: Certificate Identity Pools (iam/v2) + description: |- + [![Limited Availability](https://img.shields.io/badge/Lifecycle%20Stage-Limited%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + `Identitypool` objects represent workload identities in Confluent Cloud. + + The API allows you to list, create, read, update, and delete your identity pools associated + with Certificate Authorities + + + Related guide: [Manage Certificate Identity Pools for Granular Client Access Management](https://docs.confluent.io/cloud/current/access-management/authenticate/mtls/configure.html#step-2-create-certificate-identity-pools-for-granular-access-control). + + ## The Certificate Identity Pools Model + + + ## Quotas and Limits + This resource is subject to the [following quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): + + | Quota | Description | + | --- | --- | + | `identity_pools_per_certificate_authority` | Number of Identity Pools per Certificate Authority | + - name: Integrations (pim/v1) + description: |- + [![Early Access](https://img.shields.io/badge/Lifecycle%20Stage-Early%20Access-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) [![Request Access To Provider Integration](https://img.shields.io/badge/-Request%20Access%20To%20Provider%20Integration-%23bc8540)](mailto:ccloud-api-access+pim-v1-early-access@confluent.io?subject=Request%20to%20join%20pim/v1%20API%20Early%20Access&body=I%E2%80%99d%20like%20to%20join%20the%20Confluent%20Cloud%20API%20Early%20Access%20for%20pim/v1%20to%20provide%20early%20feedback%21%20My%20Cloud%20Organization%20ID%20is%20%3Cretrieve%20from%20https%3A//confluent.cloud/settings/billing/payment%3E.) + + `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, and delete individual integrations, and also obtain a + list of all your provider integrations. + + + Related guide: [Provider Integration in Confluent Cloud](https://docs.confluent.io/home/overview.html). + + ## The Integrations Model + + - name: Flink Artifacts (artifact/v1) + description: |- + [![Early Access](https://img.shields.io/badge/Lifecycle%20Stage-Early%20Access-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) [![Request Access To Flink Artifact API EA](https://img.shields.io/badge/-Request%20Access%20To%20Flink%20Artifact%20API%20EA-%23bc8540)](mailto:ccloud-api-access+artifact-v1-early-access@confluent.io?subject=Request%20to%20join%20artifact/v1%20API%20Early%20Access&body=I%E2%80%99d%20like%20to%20join%20the%20Confluent%20Cloud%20API%20Early%20Access%20for%20artifact/v1%20to%20provide%20early%20feedback%21%20My%20Cloud%20Organization%20ID%20is%20%3Cretrieve%20from%20https%3A//confluent.cloud/settings/billing/payment%3E.) + + FlinkArtifact objects represent Flink Artifacts on Confluent Cloud. + + + ## The Flink Artifacts Model + + - name: Presigned Urls (artifact/v1) + description: |- + [![Early Access](https://img.shields.io/badge/Lifecycle%20Stage-Early%20Access-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) [![Request Access To Flink Artifact API EA](https://img.shields.io/badge/-Request%20Access%20To%20Flink%20Artifact%20API%20EA-%23bc8540)](mailto:ccloud-api-access+artifact-v1-early-access@confluent.io?subject=Request%20to%20join%20artifact/v1%20API%20Early%20Access&body=I%E2%80%99d%20like%20to%20join%20the%20Confluent%20Cloud%20API%20Early%20Access%20for%20artifact/v1%20to%20provide%20early%20feedback%21%20My%20Cloud%20Organization%20ID%20is%20%3Cretrieve%20from%20https%3A//confluent.cloud/settings/billing/payment%3E.) + + Request a presigned upload URL for new Flink Artifact. Note that + the URL policy expires in one hour. If the policy expires, you can request + a new presigned upload URL. + + + ## The Presigned Urls Model + + - name: Flink Artifact Versions (artifact/v1) + description: |- + [![Early Access](https://img.shields.io/badge/Lifecycle%20Stage-Early%20Access-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) [![Request Access To Flink Artifact API EA](https://img.shields.io/badge/-Request%20Access%20To%20Flink%20Artifact%20API%20EA-%23bc8540)](mailto:ccloud-api-access+artifact-v1-early-access@confluent.io?subject=Request%20to%20join%20artifact/v1%20API%20Early%20Access&body=I%E2%80%99d%20like%20to%20join%20the%20Confluent%20Cloud%20API%20Early%20Access%20for%20artifact/v1%20to%20provide%20early%20feedback%21%20My%20Cloud%20Organization%20ID%20is%20%3Cretrieve%20from%20https%3A//confluent.cloud/settings/billing/payment%3E.) + + FlinkArtifactVersion objects represent Flink Artifact Versions on Confluent Cloud. + + + ## The Flink Artifact Versions Model + +components: + schemas: + SearchFilter: + description: Filter a collection by a string search + type: string + MultipleSearchFilter: + description: Filter a collection by a string search for one or more values + type: array + items: + type: string + cmk.v2.ClusterList: + type: object + description: |- + `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](https://docs.confluent.io/cloud/current/clusters/cluster-api.html). + + ## The Clusters Model + + + ## Quotas and Limits + This resource is subject to the [following quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): + + | Quota | Description | + | --- | --- | + | `kafka_clusters_per_environment` | Number of clusters in one Confluent Cloud environment | + required: + - api_version + - kind + - metadata + - data + properties: + api_version: + type: string + enum: + - cmk/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: + - ClusterList + metadata: + allOf: + - $ref: '#/components/schemas/ListMeta' + - properties: + first: + example: 'https://api.confluent.cloud/cmk/v2/clusters' + last: + example: 'https://api.confluent.cloud/cmk/v2/clusters?page_token=bcAOehAY8F16YD84Z1wT' + prev: + example: 'https://api.confluent.cloud/cmk/v2/clusters?page_token=YIXRY97wWYmwzrax4dld' + next: + example: 'https://api.confluent.cloud/cmk/v2/clusters?page_token=UvmDWOB1iwfAIBPj6EYb' + data: + type: array + description: A data property that contains an array of resource items. Each entry in the array is a separate resource. + items: + allOf: + - $ref: '#/components/schemas/cmk.v2.Cluster' + - type: object + required: + - id + - metadata + - spec + - status + properties: + spec: + type: object + required: + - display_name + - availability + - cloud + - region + - config + - environment + uniqueItems: true + ListMeta: + type: object + description: ListMeta describes metadata that resource collections may have + properties: + first: + description: 'A link to the first page of results. If a response does not contain a first link, then direct navigation to the first page is not supported.' + type: string + 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 + cmk.v2.Cluster: + type: object + description: |- + `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](https://docs.confluent.io/cloud/current/clusters/cluster-api.html). + + ## The Clusters Model + + + ## Quotas and Limits + This resource is subject to the [following quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): + + | Quota | Description | + | --- | --- | + | `kafka_clusters_per_environment` | Number of clusters in one Confluent Cloud environment | + properties: + api_version: + type: string + enum: + - cmk/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: + - Cluster + 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 + metadata: + allOf: + - $ref: '#/components/schemas/ObjectMeta' + - properties: + self: + example: 'https://api.confluent.cloud/cmk/v2/clusters/lkc-12345' + resource_name: + example: 'crn://confluent.cloud/organization=9bb441c4-edef-46ac-8a41-c49e44a3fd9a/environment=env-abc123/cloud-cluster=lkc-12345' + spec: + $ref: '#/components/schemas/cmk.v2.ClusterSpec' + status: + $ref: '#/components/schemas/cmk.v2.ClusterStatus' + AclOperation: + type: string + x-extensible-enum: + - UNKNOWN + - ANY + - ALL + - READ + - WRITE + - CREATE + - DELETE + - ALTER + - DESCRIBE + - CLUSTER_ACTION + - DESCRIBE_CONFIGS + - ALTER_CONFIGS + - IDEMPOTENT_WRITE + AclPatternType: + type: string + x-extensible-enum: + - UNKNOWN + - ANY + - MATCH + - LITERAL + - PREFIXED + AclPermission: + type: string + x-extensible-enum: + - UNKNOWN + - ANY + - DENY + - ALLOW + AclResourceType: + type: string + enum: + - UNKNOWN + - ANY + - TOPIC + - GROUP + - CLUSTER + - TRANSACTIONAL_ID + - DELEGATION_TOKEN + BrokerTaskType: + type: string + enum: + - add-broker + - remove-broker + MirrorTopicStatus: + enum: + - ACTIVE + - FAILED + - LINK_FAILED + - LINK_PAUSED + - PAUSED + - PENDING_STOPPED + - SOURCE_UNAVAILABLE + - STOPPED + - PENDING_MIRROR + - PENDING_SYNCHRONIZE + - PENDING_SETUP_FOR_RESTORE + - PENDING_RESTORE + type: string + Failure: + type: object + description: Provides information about problems encountered while performing an operation. + required: + - errors + properties: + errors: + description: List of errors which caused this operation to fail + type: array + items: + $ref: '#/components/schemas/Error' + uniqueItems: true + AlterConfigBatchRequestData: + type: object + required: + - data + properties: + data: + type: array + items: + type: object + required: + - name + properties: + name: + type: string + value: + type: string + nullable: true + operation: + type: string + x-extensible-enum: + - SET + - DELETE + nullable: true + validate_only: + type: boolean + CreateAclRequestData: + type: object + required: + - resource_type + - resource_name + - pattern_type + - principal + - host + - operation + - permission + properties: + resource_type: + $ref: '#/components/schemas/AclResourceType' + resource_name: + type: string + pattern_type: + $ref: '#/components/schemas/AclPatternType' + principal: + type: string + host: + type: string + operation: + $ref: '#/components/schemas/AclOperation' + permission: + $ref: '#/components/schemas/AclPermission' + CreateAclRequestDataList: + allOf: + - type: object + required: + - data + properties: + data: + type: array + items: + $ref: '#/components/schemas/CreateAclRequestData' + CreateTopicRequestData: + type: object + required: + - topic_name + properties: + topic_name: + type: string + partitions_count: + type: integer + replication_factor: + type: integer + configs: + type: array + items: + type: object + required: + - name + properties: + name: + type: string + value: + type: string + nullable: true + validate_only: + type: boolean + ProduceRequest: + type: object + properties: + partition_id: + type: integer + nullable: true + format: int32 + headers: + type: array + items: + $ref: '#/components/schemas/ProduceRequestHeader' + key: + $ref: '#/components/schemas/ProduceRequestData' + value: + $ref: '#/components/schemas/ProduceRequestData' + timestamp: + type: string + format: date-time + nullable: true + UpdateConfigRequestData: + type: object + properties: + value: + type: string + nullable: true + CreateLinkRequestData: + properties: + source_cluster_id: + type: string + destination_cluster_id: + type: string + remote_cluster_id: + description: The expected remote cluster ID. + type: string + cluster_link_id: + description: 'The expected cluster link ID. Can be provided when creating the second side of a bidirectional link for validating the link ID is as expected. If it''s not provided, it''s inferred from the remote cluster.' + type: string + configs: + items: + $ref: '#/components/schemas/ConfigData' + type: array + type: object + UpdateLinkConfigRequestData: + properties: + value: + type: string + required: + - value + type: object + CreateMirrorTopicRequestData: + properties: + source_topic_name: + type: string + mirror_topic_name: + type: string + replication_factor: + type: integer + configs: + type: array + items: + $ref: '#/components/schemas/ConfigData' + required: + - source_topic_name + type: object + AlterMirrorsRequestData: + properties: + mirror_topic_names: + description: The mirror topics specified as a list of topic names. + type: array + items: + type: string + mirror_topic_name_pattern: + description: The mirror topics specified as a pattern. + type: string + type: object + RemoveBrokersRequestData: + properties: + broker_ids: + type: array + items: + type: integer + required: + - broker_ids + type: object + BrokerReplicaExclusionBatchRequestData: + type: object + required: + - data + properties: + data: + type: array + items: + $ref: '#/components/schemas/BrokerReplicaExclusionRequestData' + ObjectMeta: + description: 'ObjectMeta is metadata that all persisted resources must have, which includes all objects users must create.' + required: + - self + properties: + self: + description: 'Self is a Uniform Resource Locator (URL) at which an object can be addressed. This URL encodes the service location, API version, and other particulars necessary to locate the resource at a point in time' + type: string + format: uri + readOnly: true + example: 'https://api.confluent.cloud/v2/kafka-clusters/lkc-f3a90de' + resource_name: + description: Resource Name is a Uniform Resource Identifier (URI) that is globally unique across space and time. It is represented as a Confluent Resource Name + type: string + format: uri + readOnly: true + example: 'crn://confluent.cloud/kafka=lkc-f3a90de' + created_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: The date and time at which this object was created. It is represented in RFC3339 format and is in UTC. + updated_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: The date and time at which this object was last updated. It is represented in RFC3339 format and is in UTC. + deleted_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: The date and time at which this object was (or will be) deleted. It is represented in RFC3339 format and is in UTC. + readOnly: true + cmk.v2.ClusterSpec: + type: object + description: The desired state of the Cluster + properties: + display_name: + type: string + description: The name of the cluster. + example: ProdKafkaCluster + availability: + type: string + description: | + The availability zone configuration of the cluster + x-extensible-enum: + - MULTI_ZONE + - SINGLE_ZONE + - HIGH + - LOW + example: SINGLE_ZONE + cloud: + type: string + description: The cloud service provider in which the cluster is running. + x-extensible-enum: + - AWS + - GCP + - AZURE + example: GCP + x-immutable: true + region: + type: string + description: The cloud service provider region where the cluster is running. + example: us-east4 + x-immutable: true + config: + description: | + The configuration of the Kafka cluster. + + Note: Clusters can be upgraded from Basic to Standard, but cannot be downgraded from Standard to Basic. + default: + kind: Basic + example: + kind: Basic + discriminator: + propertyName: kind + mapping: + Basic: '#/components/schemas/cmk.v2.Basic' + Standard: '#/components/schemas/cmk.v2.Standard' + Dedicated: '#/components/schemas/cmk.v2.Dedicated' + Enterprise: '#/components/schemas/cmk.v2.Enterprise' + Freight: '#/components/schemas/cmk.v2.Freight' + oneOf: + - $ref: '#/components/schemas/cmk.v2.Basic' + - $ref: '#/components/schemas/cmk.v2.Standard' + - $ref: '#/components/schemas/cmk.v2.Dedicated' + - $ref: '#/components/schemas/cmk.v2.Enterprise' + - $ref: '#/components/schemas/cmk.v2.Freight' + kafka_bootstrap_endpoint: + type: string + description: The bootstrap endpoint used by Kafka clients to connect to the cluster. + example: 'lkc-00000-00000.us-central1.gcp.glb.confluent.cloud:9092' + x-immutable: true + readOnly: true + http_endpoint: + type: string + description: The cluster HTTP request URL. + format: uri + example: 'https://lkc-00000-00000.us-central1.gcp.glb.confluent.cloud' + x-immutable: true + readOnly: true + api_endpoint: + type: string + description: The Kafka API cluster endpoint used by Kafka clients to connect to the cluster. + example: 'https://pkac-00000.us-west-2.aws.confluent.cloud' + x-immutable: true + readOnly: true + environment: + allOf: + - $ref: '#/components/schemas/EnvScopedObjectReference' + description: The environment to which this belongs. + network: + allOf: + - $ref: '#/components/schemas/EnvScopedObjectReference' + description: The network associated with this object. + x-immutable: true + byok: + allOf: + - $ref: '#/components/schemas/GlobalObjectReference' + description: The byok associated with this object. + x-immutable: true + x-enable-id: true + x-enable-listmeta: true + x-enable-objectmeta: true + cmk.v2.ClusterStatus: + type: object + required: + - phase + description: The status of the Cluster + properties: + phase: + type: string + x-extensible-enum: + - PROVISIONING + - PROVISIONED + - FAILED + description: | + The lifecyle phase of the cluster: + PROVISIONED: cluster is provisioned; + PROVISIONING: cluster provisioning is in progress; + FAILED: provisioning failed + readOnly: true + example: PROVISIONED + cku: + description: | + The number of Confluent Kafka Units (CKUs) the Dedicated cluster currently has. + readOnly: true + type: integer + format: int32 + minimum: 1 + example: 2 + readOnly: true + Error: + type: object + description: Describes a particular error encountered while performing an operation. + properties: + id: + description: A unique identifier for this particular occurrence of the problem. + type: string + maxLength: 255 + status: + description: 'The HTTP status code applicable to this problem, expressed as a string value.' + type: string + code: + description: 'An application-specific error code, expressed as a string value.' + type: string + title: + description: 'A short, human-readable summary of the problem. It **SHOULD NOT** change from occurrence to occurrence of the problem, except for purposes of localization.' + type: string + detail: + description: A human-readable explanation specific to this occurrence of the problem. + type: string + source: + type: object + description: 'If this error was caused by a particular part of the API request, the source will point to the query string parameter or request body property that caused it.' + properties: + pointer: + description: 'A JSON Pointer [RFC6901] to the associated entity in the request document [e.g. "/spec" for a spec object, or "/spec/title" for a specific field].' + type: string + parameter: + description: A string indicating which query parameter caused the error. + type: string + error_code: + type: integer + format: int32 + message: + type: string + nullable: true + additionalProperties: false + ProduceRequestHeader: + type: object + required: + - name + properties: + name: + type: string + value: + type: string + format: byte + nullable: true + ProduceRequestData: + type: object + properties: + type: + type: string + x-extensible-enum: + - BINARY + - JSON + - STRING + data: + $ref: '#/components/schemas/AnyValue' + nullable: true + ConfigData: + example: + name: name + value: value + properties: + name: + type: string + value: + nullable: true + type: string + required: + - name + - value + BrokerReplicaExclusionRequestData: + type: object + required: + - broker_id + - reason + properties: + broker_id: + type: integer + reason: + type: string + cmk.v2.Basic: + type: object + description: | + The basic cluster type. + properties: + kind: + description: | + Basic cluster type. + type: string + enum: + - Basic + required: + - kind + cmk.v2.Standard: + type: object + description: | + The standard cluster type. + properties: + kind: + description: | + Standard cluster type. + type: string + enum: + - Standard + required: + - kind + cmk.v2.Dedicated: + type: object + description: | + A dedicated cluster with its parameters. + properties: + kind: + type: string + enum: + - Dedicated + description: | + Dedicated cluster type. + cku: + description: | + The number of Confluent Kafka Units (CKUs) for Dedicated cluster types. + MULTI_ZONE dedicated clusters must have at least two CKUs. + type: integer + format: int32 + minimum: 1 + example: 2 + encryption_key: + type: string + description: | + The id of the encryption key that is used to encrypt the data in the Kafka cluster. + (e.g. for Amazon Web Services, the Amazon Resource Name of the key). + example: 'arn:aws:kms:us-west-2:000000000000:key/0000xxxx-00xx-00xx-00xx-0000000000xx' + deprecated: true + x-immutable: true + zones: + type: array + items: + type: string + uniqueItems: true + minItems: 1 + maxItems: 3 + description: | + The list of zones the cluster is in. + + On AWS, zones are AWS [AZ IDs](https://docs.aws.amazon.com/ram/latest/userguide/working-with-az-ids.html) + (e.g. use1-az3) + + On GCP, zones are GCP [zones](https://cloud.google.com/compute/docs/regions-zones) + (e.g. us-central1-c). + readOnly: true + example: + - us-central1-a + - us-central1-b + - us-central1-c + x-immutable: true + required: + - kind + - cku + cmk.v2.Enterprise: + type: object + description: | + The enterprise cluster type. + properties: + kind: + description: | + Enterprise cluster type. + type: string + enum: + - Enterprise + required: + - kind + cmk.v2.Freight: + type: object + description: | + A freight cluster with its parameters. + properties: + kind: + type: string + enum: + - Freight + description: | + Freight cluster type. + + Note - Freight clusters are in an [Early Access lifecycle stage](https://docs.confluent.io/cloud/current/api.html#section/Versioning/API-Lifecycle-Policy). + zones: + type: array + items: + type: string + uniqueItems: true + minItems: 1 + maxItems: 3 + description: | + The list of zones the cluster is in. + + On AWS, zones are AWS [AZ IDs](https://docs.aws.amazon.com/ram/latest/userguide/working-with-az-ids.html) + (e.g. use1-az3) + + On GCP, zones are GCP [zones](https://cloud.google.com/compute/docs/regions-zones) + (e.g. us-central1-c). + readOnly: true + example: + - us-central1-a + - us-central1-b + - us-central1-c + x-immutable: true + required: + - kind + EnvScopedObjectReference: + 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 + GlobalObjectReference: + type: object + description: ObjectReference provides information for you to locate the referred object + required: + - id + - related + - resource_name + properties: + id: + type: string + description: ID of the referred resource + minLength: 1 + maxLength: 255 + related: + type: string + format: uri + description: API URL for accessing or modifying the referred object + minLength: 1 + readOnly: true + resource_name: + type: string + format: uri + description: CRN reference to the referred resource + minLength: 1 + readOnly: true + AnyValue: + nullable: true + cmk.v2.ClusterUpdate: + type: object + description: |- + `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](https://docs.confluent.io/cloud/current/clusters/cluster-api.html). + + ## The Clusters Model + + + ## Quotas and Limits + This resource is subject to the [following quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): + + | Quota | Description | + | --- | --- | + | `kafka_clusters_per_environment` | Number of clusters in one Confluent Cloud environment | + properties: + api_version: + type: string + enum: + - cmk/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: + - Cluster + 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 + metadata: + allOf: + - $ref: '#/components/schemas/ObjectMeta' + - properties: + self: + example: 'https://api.confluent.cloud/cmk/v2/clusters/lkc-12345' + resource_name: + example: 'crn://confluent.cloud/organization=9bb441c4-edef-46ac-8a41-c49e44a3fd9a/environment=env-abc123/cloud-cluster=lkc-12345' + spec: + $ref: '#/components/schemas/cmk.v2.ClusterSpecUpdate' + status: + $ref: '#/components/schemas/cmk.v2.ClusterStatus' + cmk.v2.ClusterSpecUpdate: + type: object + description: The desired state of the Cluster + properties: + display_name: + type: string + description: The name of the cluster. + example: ProdKafkaCluster + availability: + type: string + description: | + The availability zone configuration of the cluster + x-extensible-enum: + - MULTI_ZONE + - SINGLE_ZONE + - HIGH + - LOW + example: SINGLE_ZONE + config: + description: | + The configuration of the Kafka cluster. + + Note: Clusters can be upgraded from Basic to Standard, but cannot be downgraded from Standard to Basic. + default: + kind: Basic + example: + kind: Basic + discriminator: + propertyName: kind + mapping: + Basic: '#/components/schemas/cmk.v2.Basic' + Standard: '#/components/schemas/cmk.v2.Standard' + Dedicated: '#/components/schemas/cmk.v2.Dedicated' + Enterprise: '#/components/schemas/cmk.v2.Enterprise' + Freight: '#/components/schemas/cmk.v2.Freight' + oneOf: + - $ref: '#/components/schemas/cmk.v2.Basic' + - $ref: '#/components/schemas/cmk.v2.Standard' + - $ref: '#/components/schemas/cmk.v2.Dedicated' + - $ref: '#/components/schemas/cmk.v2.Enterprise' + - $ref: '#/components/schemas/cmk.v2.Freight' + environment: + allOf: + - $ref: '#/components/schemas/EnvScopedObjectReference' + description: The environment to which this belongs. + x-enable-id: true + x-enable-listmeta: true + x-enable-objectmeta: true + parameters: + AclHost: + name: host + description: The ACL host. + in: query + required: false + schema: + type: string + AclOperation: + name: operation + description: The ACL operation. + in: query + required: false + schema: + $ref: '#/components/schemas/AclOperation' + AclOperationRequired: + name: operation + description: The ACL operation. + in: query + required: true + schema: + $ref: '#/components/schemas/AclOperation' + AclPatternType: + name: pattern_type + description: The ACL pattern type. + in: query + required: false + schema: + $ref: '#/components/schemas/AclPatternType' + AclPatternTypeRequired: + name: pattern_type + description: The ACL pattern type. + in: query + required: true + schema: + $ref: '#/components/schemas/AclPatternType' + AclPermission: + name: permission + description: The ACL permission. + in: query + required: false + schema: + $ref: '#/components/schemas/AclPermission' + AclPermissionRequired: + name: permission + description: The ACL permission. + in: query + required: true + schema: + $ref: '#/components/schemas/AclPermission' + AclPrincipal: + name: principal + description: The ACL principal. This is the Service Account name or user name. + in: query + required: false + schema: + type: string + AclResourceName: + name: resource_name + description: The ACL resource name. + in: query + required: false + schema: + type: string + AclResourceType: + name: resource_type + description: The ACL resource type. + in: query + required: false + schema: + $ref: '#/components/schemas/AclResourceType' + AclResourceTypeRequired: + name: resource_type + description: The ACL resource type. + in: query + required: true + schema: + $ref: '#/components/schemas/AclResourceType' + BrokerId: + name: broker_id + description: The Kafka broker ID. + in: path + required: true + schema: + type: integer + example: 1 + ClusterId: + name: cluster_id + description: The Kafka cluster ID. + in: path + required: true + schema: + type: string + example: cluster-1 + ConfigName: + name: name + description: The configuration parameter name. + in: path + required: true + schema: + type: string + example: compression.type + ConsumerGroupId: + name: consumer_group_id + description: The consumer group ID. + in: path + required: true + schema: + type: string + example: consumer-group-1 + ConsumerId: + name: consumer_id + description: The consumer ID. + in: path + required: true + schema: + type: string + example: consumer-1 + IncludeAuthorizedOperations: + name: include_authorized_operations + description: Specify if authorized operations should be included in the response. + in: query + required: false + schema: + type: boolean + PartitionId: + name: partition_id + description: The partition ID. + in: path + required: true + schema: + type: integer + example: 0 + TopicName: + name: topic_name + description: The topic name. + in: path + required: true + schema: + type: string + example: topic-1 + BrokerTaskType: + name: task_type + description: The Kafka broker task type. + in: path + required: true + schema: + $ref: '#/components/schemas/BrokerTaskType' + example: remove-broker + ShouldShutdown: + name: should_shutdown + description: 'To shutdown the broker or not, Default: true' + in: query + required: false + schema: + type: boolean + example: true + ValidateOnly: + name: validate_only + description: 'To validate the action can be performed successfully or not. Default: false' + in: query + required: false + schema: + type: boolean + example: false + ValidateLink: + name: validate_link + description: 'To synchronously validate that the source cluster ID is expected and the dest cluster has the permission to read topics in the source cluster. Default: true' + in: query + required: false + schema: + type: boolean + example: false + IncludeTasks: + name: include_tasks + description: 'Whether to include cluster linking tasks in the response. Default: false' + in: query + required: false + schema: + type: boolean + example: false + IncludeStateTransitionErrors: + name: include_state_transition_errors + description: 'Whether to include mirror state transition errors in the response. Default: false' + in: query + required: false + schema: + type: boolean + example: false + Force: + name: force + description: 'Force the action. Default: false' + in: query + required: false + schema: + type: boolean + example: false + IncludePartitionLevelTruncationData: + name: include_partition_level_truncation_data + description: 'Whether to include partition level truncation information when truncating and restoring a topic in the response. Default: false' + in: query + required: false + schema: + type: boolean + example: false + LinkName: + name: link_name + description: The link name + in: path + required: true + schema: + type: string + example: link-sb1 + LinkConfigName: + name: config_name + description: The link config name + in: path + required: true + schema: + type: string + example: consumer.offset.sync.enable + MirrorTopicStatus: + name: mirror_status + description: 'The status of the mirror topic. If not specified, all mirror topics will be returned.' + in: query + required: false + schema: + $ref: '#/components/schemas/MirrorTopicStatus' + example: ACTIVE + MirrorTopicName: + name: mirror_topic_name + description: Cluster Linking mirror topic name + in: path + required: true + schema: + type: string + example: topic-1 + QueryParamLinkName: + name: link_name + description: The link name + in: query + required: true + schema: + type: string + example: link-sb1 + responses: + BadRequestError: + description: Bad Request + headers: + X-Request-Id: + schema: + type: string + description: The unique identifier for the API request. + content: + application/json: + schema: + $ref: '#/components/schemas/Failure' + example: + errors: + - id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d + status: '400' + code: invalid_filter + title: Invalid Filter + detail: The 'delorean' resource can't be filtered by 'num_doors' + source: + parameter: num_doors + UnauthenticatedError: + x-summary: Unauthorized + description: The request lacks valid authentication credentials for this resource. + headers: + X-Request-Id: + schema: + type: string + description: The unique identifier for the API request. + WWW-Authenticate: + schema: + type: string + description: The unique identifier for the API request. + example: 'Basic error="invalid_key", error_description="The API Key is invalid"' + content: + application/json: + schema: + $ref: '#/components/schemas/Failure' + example: + errors: + - id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d + status: '401' + code: user_unauthenticated + title: Authentication Required + detail: Valid authentication credentials must be provided + UnauthorizedError: + x-summary: Forbidden + description: The access credentials were considered insufficient to grant access + headers: + X-Request-Id: + schema: + type: string + description: The unique identifier for the API request. + content: + application/json: + schema: + $ref: '#/components/schemas/Failure' + example: + errors: + - id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d + status: '403' + code: user_unauthorized + title: User Access Unauthorized + detail: The user 'mcfly' is not allowed to access the 'delorean' resource without the 'plutonium' role. + RateLimitError: + description: Rate Limit Exceeded + headers: + X-Request-Id: + schema: + type: string + description: The unique identifier for the API request. + X-RateLimit-Limit: + schema: + type: integer + description: The maximum number of requests you're permitted to make per time period. + X-RateLimit-Remaining: + schema: + type: integer + description: The number of requests remaining in the current rate limit window. + X-RateLimit-Reset: + schema: + type: integer + description: |- + The relative time in seconds until the current rate-limit window resets. + + **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. + DefaultSystemError: + description: 'Oops, something went wrong!' + headers: + X-Request-Id: + schema: + type: string + description: The unique identifier for the API request. + content: + application/json: + schema: + $ref: '#/components/schemas/Failure' + example: + errors: + - id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d + status: '500' + code: out_of_gas + title: DeLorean Out Of Gas + detail: 'The DeLorean has run out of gas, but Doc Brown will fill ''er up for you asap' + OverQuotaError: + x-summary: Over Quota + description: The request would exceed one or more quotas. + headers: + X-Request-Id: + schema: + type: string + description: The unique identifier for the API request. + content: + application/json: + schema: + $ref: '#/components/schemas/Failure' + example: + errors: + - id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d + status: '402' + code: quota_exceeded + title: Kafka Clusters Per Org Quota Exceeded + detail: 'The request would exceed the quota: kafka_clusters_per_environment' + ConflictError: + x-summary: Conflict + description: The request is in conflict with the current server state + headers: + X-Request-Id: + schema: + type: string + description: The unique identifier for the API request. + Location: + schema: + type: string + format: uri + example: 'https://api.confluent.cloud/{object}/{id}' + description: Resource URI of conflicting resource + content: + application/json: + schema: + $ref: '#/components/schemas/Failure' + example: + errors: + - id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d + status: '409' + code: resource_already_exists + title: Resource Already exists + detail: The entitlement '91e3e86f-fca6-4f14-98f5-a48e64113ce2' already exists. + ValidationError: + description: Validation Failed + headers: + X-Request-Id: + schema: + type: string + description: The unique identifier for the API request. + content: + application/json: + schema: + $ref: '#/components/schemas/Failure' + example: + errors: + - status: '422' + code: invalid_configuration + id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d + title: Validation Failed + detail: 'The property ''/cluster/storage_size'' of type string did not match the following type: integer' + source: + pointer: /cluster/storage_size + - status: '422' + code: invalid_configuration + id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d + title: Validation Failed + detail: 'The property ''/cluster/storage_size'' of type string did not match the following type: integer' + source: + pointer: /cluster/storage_size + - status: '422' + code: invalid_configuration + id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d + title: Validation Failed + detail: 'The property ''/cluster/storage_size'' of type string did not match the following type: integer' + source: + pointer: /cluster/storage_size + - status: '422' + code: invalid_configuration + id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d + title: Validation Failed + detail: 'The property ''/cluster/storage_size'' of type string did not match the following type: integer' + source: + pointer: /cluster/storage_size + - status: '422' + code: invalid_configuration + id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d + title: Validation Failed + detail: 'The property ''/cluster/storage_size'' of type string did not match the following type: integer' + source: + pointer: /cluster/storage_size + - status: '422' + code: invalid_configuration + id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d + title: Validation Failed + detail: 'The property ''/cluster/storage_size'' of type string did not match the following type: integer' + source: + pointer: /cluster/storage_size + - status: '422' + code: invalid_configuration + id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d + title: Validation Failed + detail: 'The property ''/cluster/storage_size'' of type string did not match the following type: integer' + source: + pointer: /cluster/storage_size + - status: '422' + code: invalid_configuration + id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d + title: Validation Failed + detail: 'The property ''/cluster/storage_size'' of type string did not match the following type: integer' + source: + pointer: /cluster/storage_size + - status: '422' + code: invalid_configuration + id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d + title: Validation Failed + detail: 'The property ''/cluster/storage_size'' of type string did not match the following type: integer' + source: + pointer: /cluster/storage_size + - status: '422' + code: invalid_configuration + id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d + title: Validation Failed + detail: 'The property ''/cluster/storage_size'' of type string did not match the following type: integer' + source: + pointer: /cluster/storage_size + - status: '422' + code: invalid_configuration + id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d + title: Validation Failed + detail: 'The property ''/cluster/storage_size'' of type string did not match the following type: integer' + source: + pointer: /cluster/storage_size + - status: '422' + code: invalid_configuration + id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d + title: Validation Failed + detail: 'The property ''/cluster/storage_size'' of type string did not match the following type: integer' + source: + pointer: /cluster/storage_size + - status: '422' + code: invalid_configuration + id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d + title: Validation Failed + detail: 'The property ''/cluster/storage_size'' of type string did not match the following type: integer' + source: + pointer: /cluster/storage_size + - status: '422' + code: invalid_configuration + id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d + title: Validation Failed + detail: 'The property ''/cluster/storage_size'' of type string did not match the following type: integer' + source: + pointer: /cluster/storage_size + - status: '422' + code: invalid_configuration + id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d + title: Validation Failed + detail: 'The property ''/cluster/storage_size'' of type string did not match the following type: integer' + source: + pointer: /cluster/storage_size + - status: '422' + code: invalid_configuration + id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d + title: Validation Failed + detail: 'The property ''/cluster/storage_size'' of type string did not match the following type: integer' + source: + pointer: /cluster/storage_size + - status: '422' + code: invalid_configuration + id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d + title: Validation Failed + detail: 'The property ''/cluster/storage_size'' of type string did not match the following type: integer' + source: + pointer: /cluster/storage_size + - status: '422' + code: invalid_configuration + id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d + title: Validation Failed + detail: 'The property ''/cluster/storage_size'' of type string did not match the following type: integer' + source: + pointer: /cluster/storage_size + - status: '422' + code: invalid_configuration + id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d + title: Validation Failed + detail: 'The property ''/cluster/storage_size'' of type string did not match the following type: integer' + source: + pointer: /cluster/storage_size + - status: '422' + code: invalid_configuration + id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d + title: Validation Failed + detail: 'The property ''/cluster/storage_size'' of type string did not match the following type: integer' + source: + pointer: /cluster/storage_size + - status: '422' + code: invalid_configuration + id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d + title: Validation Failed + detail: 'The property ''/cluster/storage_size'' of type string did not match the following type: integer' + source: + pointer: /cluster/storage_size + - status: '422' + code: invalid_configuration + id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d + title: Validation Failed + detail: 'The property ''/cluster/storage_size'' of type string did not match the following type: integer' + source: + pointer: /cluster/storage_size + - status: '422' + code: invalid_configuration + id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d + title: Validation Failed + detail: 'The property ''/cluster/storage_size'' of type string did not match the following type: integer' + source: + pointer: /cluster/storage_size + - status: '422' + code: invalid_configuration + id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d + title: Validation Failed + detail: 'The property ''/cluster/storage_size'' of type string did not match the following type: integer' + source: + pointer: /cluster/storage_size + - status: '422' + code: invalid_configuration + id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d + title: Validation Failed + detail: 'The property ''/cluster/storage_size'' of type string did not match the following type: integer' + source: + pointer: /cluster/storage_size + - status: '422' + code: invalid_configuration + id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d + title: Validation Failed + detail: 'The property ''/cluster/storage_size'' of type string did not match the following type: integer' + source: + pointer: /cluster/storage_size + - status: '422' + code: invalid_configuration + id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d + title: Validation Failed + detail: 'The property ''/cluster/storage_size'' of type string did not match the following type: integer' + source: + pointer: /cluster/storage_size + - status: '422' + code: invalid_configuration + id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d + title: Validation Failed + detail: 'The property ''/cluster/storage_size'' of type string did not match the following type: integer' + source: + pointer: /cluster/storage_size + - status: '422' + code: invalid_configuration + id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d + title: Validation Failed + detail: 'The property ''/cluster/storage_size'' of type string did not match the following type: integer' + source: + pointer: /cluster/storage_size + - status: '422' + code: invalid_configuration + id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d + title: Validation Failed + detail: 'The property ''/cluster/storage_size'' of type string did not match the following type: integer' + source: + pointer: /cluster/storage_size + NotFoundError: + description: Not Found + headers: + X-Request-Id: + schema: + type: string + description: The unique identifier for the API request. + content: + application/json: + schema: + $ref: '#/components/schemas/Failure' + example: + errors: + - id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d + status: '404' + title: Not Found + securitySchemes: + cloud-api-key: + type: http + scheme: basic + description: Authenticate with Cloud API Keys using HTTP Basic Auth. Treat the Cloud API Key ID as the username and Cloud API Key Secret as the password. + confluent-sts-access-token: + type: oauth2 + description: Authenticate with Confluent API using this credentials (JSON Web Tokens) following OAuth 2.0. + flows: + clientCredentials: + tokenUrl: 'https://api.confluent.cloud/sts/v1/oauth2/token' + scopes: {} + api-key: + type: http + scheme: basic + description: Authenticate with API Keys using HTTP Basic Auth. Treat the API Key ID as the username and API Key Secret as the password. + resource-api-key: + type: http + scheme: basic + description: | + Authenticate with resource-specific API Keys using HTTP Basic Auth. Treat the resource-specific API Key ID + as the username and resource-specific API Key Secret as the password. + external-access-token: + type: oauth2 + description: Authenticate with OAuth 2.0. + flows: + clientCredentials: + tokenUrl: 'https:///token' + scopes: {} + oauth: + type: oauth2 + description: Authenticate with OAuth 2.0. Currently this is only supported for partner APIs. + flows: + clientCredentials: + tokenUrl: /oauth2/token + scopes: + 'partner:alter': enables partners to alter entitlements + 'partner:create': enables partners to create entitlements and signup on behalf of customers + 'partner:delete': enables partners to delete entitlements and organizations + 'partner:describe': enables partners to read and list entitlements and organizations + requestBodies: + AlterBrokerConfigBatchRequest: + description: The alter broker configuration parameter batch request. + content: + application/json: + schema: + $ref: '#/components/schemas/AlterConfigBatchRequestData' + example: + data: + - name: max.connections + operation: DELETE + - name: compression.type + value: gzip + AlterClusterConfigBatchRequest: + description: The alter cluster configuration parameter batch request. + content: + application/json: + schema: + $ref: '#/components/schemas/AlterConfigBatchRequestData' + example: + data: + - name: max.connections + operation: DELETE + - name: compression.type + value: gzip + AlterTopicConfigBatchRequest: + description: The alter topic configuration parameter batch request. + content: + application/json: + schema: + $ref: '#/components/schemas/AlterConfigBatchRequestData' + examples: + batch_alter_topic_configs: + value: + data: + - name: cleanup.policy + operation: DELETE + - name: compression.type + value: gzip + validate_only_batch_alter_topic_configs: + value: + data: + - name: cleanup.policy + operation: DELETE + - name: compression.type + value: gzip + validate_only: true + CreateAclRequest: + description: The ACL creation request. + content: + application/json: + schema: + $ref: '#/components/schemas/CreateAclRequestData' + example: + resource_type: CLUSTER + resource_name: kafka-cluster + pattern_type: LITERAL + principal: 'principalType:principalName' + host: '*' + operation: DESCRIBE + permission: DENY + BatchCreateAclRequest: + description: The batch ACL creation request. + content: + application/json: + schema: + $ref: '#/components/schemas/CreateAclRequestDataList' + example: + data: + - resource_type: CLUSTER + resource_name: kafka-cluster + pattern_type: LITERAL + principal: 'principalType:principalName' + host: '*' + operation: DESCRIBE + permission: DENY + - resource_type: TOPIC + resource_name: kafka-cluster + pattern_type: LITERAL + principal: 'principalType:principalName' + host: '*' + operation: READ + permission: ALLOW + CreateTopicRequest: + description: 'The topic creation request. Note that Confluent Cloud allows only specific replication factor values. Because of that the replication factor field should either be omitted or it should use one of the allowed values (see https://docs.confluent.io/cloud/current/client-apps/optimizing/durability.html).' + content: + application/json: + schema: + $ref: '#/components/schemas/CreateTopicRequestData' + examples: + uniform_replication: + value: + topic_name: topic-X + partitions_count: 64 + replication_factor: 3 + configs: + - name: cleanup.policy + value: compact + - name: compression.type + value: gzip + dry_run_create_topic: + value: + topic_name: topic-X + partitions_count: 64 + replication_factor: 3 + validate_only: true + ProduceRequest: + description: 'A single record to be produced to Kafka. To produce multiple records in the same request, simply concatenate the records. The delivery reports are concatenated in the same order as the records are sent.' + content: + application/json: + schema: + $ref: '#/components/schemas/ProduceRequest' + examples: + binary_and_json: + description: 'If using type, one of "BINARY", "JSON" or "STRING" is required.' + value: + partition_id: 1 + headers: + - name: Header-1 + value: SGVhZGVyLTE= + - name: Header-2 + value: SGVhZGVyLTI= + key: + type: BINARY + data: Zm9vYmFy + value: + type: JSON + data: + foo: bar + timestamp: '2021-02-05T19:14:42Z' + string: + description: 'If using type, one of "BINARY", "JSON" or "STRING" is required.' + value: + value: + type: STRING + data: My message + empty_value: + description: key or value can be omitted entirely. + value: + key: + data: 1000 + UpdateBrokerConfigRequest: + description: The broker configuration parameter update request. + content: + application/json: + schema: + $ref: '#/components/schemas/UpdateConfigRequestData' + example: + value: gzip + UpdateClusterConfigRequest: + description: The cluster configuration parameter update request. + content: + application/json: + schema: + $ref: '#/components/schemas/UpdateConfigRequestData' + example: + value: gzip + UpdateTopicConfigRequest: + description: The topic configuration parameter update request. + content: + application/json: + schema: + $ref: '#/components/schemas/UpdateConfigRequestData' + example: + value: gzip + CreateLinkRequest: + description: Create a cluster link + content: + application/json: + schema: + $ref: '#/components/schemas/CreateLinkRequestData' + examples: + destination_initiated_link: + description: Create a destination initiated cluster link + value: + source_cluster_id: cluster-1 + configs: + - name: bootstrap.servers + value: cluster-1-bootstrap-server + - name: acl.sync.enable + value: 'false' + - name: consumer.offset.sync.ms + value: '30000' + - name: sasl.mechanism + value: PLAIN + - name: sasl.protocol + value: SASL_SSL + - name: sasl.jaas.config + value: sasl.jaas.config=org.apache.kafka.common.security.plain.PlainLoginModule required username='' password=''; + source_initiated_link_at_source_cluster: + description: Create a source initiated cluster link at source cluster + value: + destination_cluster_id: cluster-2 + configs: + - name: bootstrap.servers + value: cluster-2-bootstrap-server + - name: link.mode + value: SOURCE + - name: sasl.mechanism + value: PLAIN + - name: sasl.protocol + value: SASL_SSL + - name: sasl.jaas.config + value: sasl.jaas.config=org.apache.kafka.common.security.plain.PlainLoginModule required username='' password=''; + source_initiated_link_at_destination_cluster: + description: Create a source initiated cluster link at destination cluster + value: + destination_cluster_id: cluster-1 + configs: + - name: bootstrap.servers + value: cluster-1-bootstrap-server + - name: link.mode + value: DESTINATION + - name: connection.mode + value: INBOUND + - name: acl.sync.enable + value: 'false' + - name: sasl.mechanism + value: PLAIN + - name: sasl.protocol + value: SASL_SSL + - name: sasl.jaas.config + value: sasl.jaas.config=org.apache.kafka.common.security.plain.PlainLoginModule required username='' password=''; + bidirectional_link_east: + description: Create a bidirectional cluster link in east + value: + remote_cluster_id: cluster-west + configs: + - name: bootstrap.servers + value: cluster-west-bootstrap-server + - name: link.mode + value: BIDIRECTIONAL + - name: cluster.link.prefix + value: west. + - name: sasl.mechanism + value: PLAIN + - name: sasl.protocol + value: SASL_SSL + - name: sasl.jaas.config + value: sasl.jaas.config=org.apache.kafka.common.security.plain.PlainLoginModule required username='' password=''; + bidirectional_link_west: + description: Create a bidirectional cluster link in west + value: + remote_cluster_id: cluster-east + cluster_link_id: eEBkTffYSESld6EO898x3w + configs: + - name: bootstrap.servers + value: cluster-east-bootstrap-server + - name: link.mode + value: BIDIRECTIONAL + - name: cluster.link.prefix + value: east. + - name: sasl.mechanism + value: PLAIN + - name: sasl.protocol + value: SASL_SSL + - name: sasl.jaas.config + value: sasl.jaas.config=org.apache.kafka.common.security.plain.PlainLoginModule required username='' password=''; + UpdateLinkConfigRequest: + content: + application/json: + example: + value: '300000' + schema: + $ref: '#/components/schemas/UpdateLinkConfigRequestData' + description: Link config value to update + AlterLinkConfigBatchRequest: + content: + application/json: + example: + data: + - name: cleanup.policy + operation: DELETE + - name: compression.type + value: gzip + schema: + $ref: '#/components/schemas/AlterConfigBatchRequestData' + CreateMirrorTopicRequest: + description: 'Name and configs of the topics mirroring from and mirroring to. Note that Confluent Cloud allows only specific replication factor values. Because of that the replication factor field should either be omitted or it should use one of the allowed values (see https://docs.confluent.io/cloud/current/client-apps/optimizing/durability.html).' + content: + application/json: + schema: + $ref: '#/components/schemas/CreateMirrorTopicRequestData' + examples: + generic_example: + description: Generic example of creating a mirror topic + value: + source_topic_name: topic-1 + configs: + - name: unclean.leader.election.enable + value: 'true' + replication_factor: 1 + example_with_mirror_topic_name: + description: Example using optional mirror_topic_name flag + value: + source_topic_name: topic-1 + mirror_topic_name: link1_topic-1 + configs: + - name: unclean.leader.election.enable + value: 'true' + replication_factor: 3 + AlterMirrorsRequest: + description: Mirror topics to be altered. + content: + application/json: + schema: + $ref: '#/components/schemas/AlterMirrorsRequestData' + examples: + mirror_topic_names: + description: Example using mirror topic names + value: + mirror_topic_names: + - topic-1 + - topic-2 + mirror_topic_name_pattern: + description: Example using mirror topic name pattern + value: + mirror_topic_name_pattern: .* + RemoveBrokersRequest: + content: + application/json: + example: + broker_ids: + - 1 + - 2 + - 3 + schema: + $ref: '#/components/schemas/RemoveBrokersRequestData' + description: Broker ids to remove + BrokerReplicaExclusionBatchRequest: + description: Alter Broker Replica Exclusions. + content: + application/json: + schema: + $ref: '#/components/schemas/BrokerReplicaExclusionBatchRequestData' + example: + data: + - broker_id: 1 + reason: The broker is to be removed. + - broker_id: 2 + reason: The broker is to be removed. + x-stackQL-resources: + clusters: + id: confluent.managed_kafka_clusters.clusters + name: clusters + title: Clusters + methods: + list_cmk_v2clusters: + operation: + $ref: '#/paths/~1cmk~1v2~1clusters/get' + response: + mediaType: application/json + openAPIDocKey: '200' + objectKey: $.data + create_cmk_v2cluster: + operation: + $ref: '#/paths/~1cmk~1v2~1clusters/post' + response: + mediaType: application/json + openAPIDocKey: '202' + get_cmk_v2cluster: + operation: + $ref: '#/paths/~1cmk~1v2~1clusters~1{id}/get' + response: + mediaType: application/json + openAPIDocKey: '200' + update_cmk_v2cluster: + operation: + $ref: '#/paths/~1cmk~1v2~1clusters~1{id}/patch' + response: + mediaType: application/json + openAPIDocKey: '200' + delete_cmk_v2cluster: + operation: + $ref: '#/paths/~1cmk~1v2~1clusters~1{id}/delete' + response: + mediaType: application/json + openAPIDocKey: '204' + sqlVerbs: + select: + - $ref: '#/components/x-stackQL-resources/clusters/methods/get_cmk_v2cluster' + - $ref: '#/components/x-stackQL-resources/clusters/methods/list_cmk_v2clusters' + insert: + - $ref: '#/components/x-stackQL-resources/clusters/methods/create_cmk_v2cluster' + update: + - $ref: '#/components/x-stackQL-resources/clusters/methods/update_cmk_v2cluster' + replace: [] + delete: + - $ref: '#/components/x-stackQL-resources/clusters/methods/delete_cmk_v2cluster' + vw_clusters: + name: vw_clusters + id: confluent.managed_kafka_clusters.vw_clusters + config: + views: + select: + predicate: sqlDialect == "sqlite3" + ddl: |- + select + id, + environment, + json_extract(spec, '$.display_name') as display_name, + json_extract(status, '$.phase') as status_phase, + json_extract(metadata, '$.resource_name') as resource_name, + json_extract(spec, '$.api_endpoint') as api_endpoint, + json_extract(spec, '$.availability') as availability, + json_extract(spec, '$.cloud') as cloud, + json_extract(spec, '$.config.kind') as config_kind, + json_extract(spec, '$.environment.id') as environment_id, + json_extract(spec, '$.environment.related') as environment_related, + json_extract(spec, '$.environment.resource_name') as environment_resource_name, + json_extract(spec, '$.http_endpoint') as http_endpoint, + json_extract(spec, '$.kafka_bootstrap_endpoint') as kafka_bootstrap_endpoint, + json_extract(spec, '$.region') as region, + json_extract(metadata, '$.created_at') as created_at, + json_extract(metadata, '$.updated_at') as updated_at, + json_extract(metadata, '$.self') as self, + api_version, + kind + from confluent.managed_kafka_clusters.clusters + where environment = 'env-000000' + fallback: + predicate: sqlDialect == "postgres" + ddl: |- + select + id, + environment, + json_extract_path_text(spec, 'display_name') as display_name, + json_extract_path_text(status, 'phase') as status_phase, + json_extract_path_text(metadata, 'resource_name') as resource_name, + json_extract_path_text(spec, 'api_endpoint') as api_endpoint, + json_extract_path_text(spec, 'availability') as availability, + json_extract_path_text(spec, 'cloud') as cloud, + json_extract_path_text(spec, 'config' , 'kind') as config_kind, + json_extract_path_text(spec, 'environment', 'id') as environment_id, + json_extract_path_text(spec, 'environment', 'related') as environment_related, + json_extract_path_text(spec, 'environment', 'resource_name') as environment_resource_name, + json_extract_path_text(spec, 'http_endpoint') as http_endpoint, + json_extract_path_text(spec, 'kafka_bootstrap_endpoint') as kafka_bootstrap_endpoint, + json_extract_path_text(spec, 'region') as region, + json_extract_path_text(metadata, 'created_at') as created_at, + json_extract_path_text(metadata, 'updated_at') as updated_at, + json_extract_path_text(metadata, 'self') as self, + api_version, + kind + from confluent.managed_kafka_clusters.clusters + where environment = 'env-000000' +paths: + /cmk/v2/clusters: + get: + operationId: listCmkV2Clusters + summary: List of Clusters + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + Retrieve a sorted, filtered, paginated list of all clusters. + parameters: + - name: environment + in: query + required: true + schema: + $ref: '#/components/schemas/SearchFilter' + example: env-00000 + description: Filter the results by exact match for environment. + - name: spec.network + in: query + required: false + schema: + $ref: '#/components/schemas/MultipleSearchFilter' + example: + - n-00000 + - n-00001 + description: Filter the results by exact match for spec.network. Pass multiple times to see results matching any of the values. + style: form + explode: true + - 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: + - Clusters (cmk/v2) + security: + - cloud-api-key: [] + - confluent-sts-access-token: [] + responses: + '200': + description: Cluster. + content: + application/json: + schema: + allOf: + - $ref: '#/components/schemas/cmk.v2.ClusterList' + - type: object + properties: + data: + type: array + items: + properties: + spec: + type: object + properties: + environment: + example: + id: env-00000 + related: 'https://api.confluent.cloud/v2/environments/env-00000' + resource_name: 'https://api.confluent.cloud/organization=9bb441c4-edef-46ac-8a41-c49e44a3fd9a/environment=env-00000' + network: + example: + id: n-00000 + related: 'https://api.confluent.cloud/networking/v1/networks/n-00000' + resource_name: 'https://api.confluent.cloud/organization=9bb441c4-edef-46ac-8a41-c49e44a3fd9a/environment=env-abc123/network=n-00000' + byok: + example: + id: cck-00000 + related: 'https://api.confluent.cloud/byok/v1/keys/cck-00000' + resource_name: 'https://api.confluent.cloud/organization=9bb441c4-edef-46ac-8a41-c49e44a3fd9a/key=cck-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. + + **Important:** This differs from Github and Twitter's same-named header which uses UTC epoch seconds. We use relative time to avoid client/server time synchronization issues. + '400': + $ref: '#/components/responses/BadRequestError' + '401': + $ref: '#/components/responses/UnauthenticatedError' + '403': + $ref: '#/components/responses/UnauthorizedError' + '429': + $ref: '#/components/responses/RateLimitError' + '500': + $ref: '#/components/responses/DefaultSystemError' + x-codeSamples: + - lang: Shell + source: |- + curl --request GET \ + --url 'https://api.confluent.cloud/cmk/v2/clusters?environment=env-00000&spec.network=n-00000,n-00001' \ + --header 'Authorization: Basic REPLACE_BASIC_AUTH' + - lang: Java + source: |- + OkHttpClient client = new OkHttpClient(); + + Request request = new Request.Builder() + .url("https://api.confluent.cloud/cmk/v2/clusters?environment=env-00000&spec.network=n-00000,n-00001") + .get() + .addHeader("Authorization", "Basic REPLACE_BASIC_AUTH") + .build(); + + Response response = client.newCall(request).execute(); + - lang: Go + source: "package main\n\nimport (\n\t\"fmt\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.confluent.cloud/cmk/v2/clusters?environment=env-00000&spec.network=n-00000,n-00001\"\n\n\treq, _ := http.NewRequest(\"GET\", url, nil)\n\n\treq.Header.Add(\"Authorization\", \"Basic REPLACE_BASIC_AUTH\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}" + - lang: Python + source: |- + import http.client + + conn = http.client.HTTPSConnection("api.confluent.cloud") + + headers = { 'Authorization': "Basic REPLACE_BASIC_AUTH" } + + conn.request("GET", "/cmk/v2/clusters?environment=env-00000&spec.network=n-00000,n-00001", headers=headers) + + res = conn.getresponse() + data = res.read() + + print(data.decode("utf-8")) + - lang: Node + source: |- + const http = require("https"); + + const options = { + "method": "GET", + "hostname": "api.confluent.cloud", + "port": null, + "path": "/cmk/v2/clusters?environment=env-00000&spec.network=n-00000,n-00001", + "headers": { + "Authorization": "Basic REPLACE_BASIC_AUTH" + } + }; + + const req = http.request(options, function (res) { + const chunks = []; + + res.on("data", function (chunk) { + chunks.push(chunk); + }); + + res.on("end", function () { + const body = Buffer.concat(chunks); + console.log(body.toString()); + }); + }); + + req.end(); + - lang: C + source: |- + CURL *hnd = curl_easy_init(); + + curl_easy_setopt(hnd, CURLOPT_CUSTOMREQUEST, "GET"); + curl_easy_setopt(hnd, CURLOPT_URL, "https://api.confluent.cloud/cmk/v2/clusters?environment=env-00000&spec.network=n-00000,n-00001"); + + struct curl_slist *headers = NULL; + headers = curl_slist_append(headers, "Authorization: Basic REPLACE_BASIC_AUTH"); + curl_easy_setopt(hnd, CURLOPT_HTTPHEADER, headers); + + CURLcode ret = curl_easy_perform(hnd); + - lang: C# + source: |- + var client = new RestClient("https://api.confluent.cloud/cmk/v2/clusters?environment=env-00000&spec.network=n-00000,n-00001"); + var request = new RestRequest(Method.GET); + request.AddHeader("Authorization", "Basic REPLACE_BASIC_AUTH"); + IRestResponse response = client.Execute(request); + post: + operationId: createCmkV2Cluster + summary: Create a Cluster + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + Make a request to create a cluster. + tags: + - Clusters (cmk/v2) + security: + - cloud-api-key: [] + - confluent-sts-access-token: [] + requestBody: + content: + application/json: + schema: + allOf: + - $ref: '#/components/schemas/cmk.v2.Cluster' + - type: object + required: + - spec + properties: + spec: + type: object + required: + - display_name + - availability + - cloud + - region + - config + - environment + - type: object + properties: + spec: + type: object + properties: + environment: + example: + id: env-00000 + network: + example: + id: n-00000 + byok: + example: + id: cck-00000 + responses: + '202': + description: A Cluster is being created. + headers: + X-Request-Id: + schema: + type: string + description: The unique identifier for the API request. + X-RateLimit-Limit: + schema: + type: integer + description: The maximum number of requests you're permitted to make per time period. + X-RateLimit-Remaining: + schema: + type: integer + description: The number of requests remaining in the current rate limit window. + X-RateLimit-Reset: + schema: + type: integer + description: |- + The relative time in seconds until the current rate-limit window resets. + + **Important:** This differs from Github and Twitter's same-named header which uses UTC epoch seconds. We use relative time to avoid client/server time synchronization issues. + Location: + schema: + type: string + format: uri + example: 'https://api.confluent.cloud/cmk/v2/clusters/{id}' + description: Cluster resource uri + content: + application/json: + schema: + allOf: + - $ref: '#/components/schemas/cmk.v2.Cluster' + - type: object + required: + - spec + - status + properties: + spec: + type: object + required: + - display_name + - availability + - cloud + - region + - config + - environment + - type: object + properties: + spec: + type: object + properties: + environment: + example: + id: env-00000 + related: 'https://api.confluent.cloud/v2/environments/env-00000' + resource_name: 'https://api.confluent.cloud/organization=9bb441c4-edef-46ac-8a41-c49e44a3fd9a/environment=env-00000' + network: + example: + id: n-00000 + related: 'https://api.confluent.cloud/networking/v1/networks/n-00000' + resource_name: 'https://api.confluent.cloud/organization=9bb441c4-edef-46ac-8a41-c49e44a3fd9a/environment=env-abc123/network=n-00000' + byok: + example: + id: cck-00000 + related: 'https://api.confluent.cloud/byok/v1/keys/cck-00000' + resource_name: 'https://api.confluent.cloud/organization=9bb441c4-edef-46ac-8a41-c49e44a3fd9a/key=cck-00000' + '400': + $ref: '#/components/responses/BadRequestError' + '401': + $ref: '#/components/responses/UnauthenticatedError' + '402': + $ref: '#/components/responses/OverQuotaError' + '403': + $ref: '#/components/responses/UnauthorizedError' + '409': + $ref: '#/components/responses/ConflictError' + '422': + $ref: '#/components/responses/ValidationError' + '429': + $ref: '#/components/responses/RateLimitError' + '500': + $ref: '#/components/responses/DefaultSystemError' + x-codeSamples: + - lang: Shell + source: |- + curl --request POST \ + --url https://api.confluent.cloud/cmk/v2/clusters \ + --header 'Authorization: Basic REPLACE_BASIC_AUTH' \ + --header 'content-type: application/json' \ + --data '{"spec":{"display_name":"ProdKafkaCluster","availability":"SINGLE_ZONE","cloud":"GCP","region":"us-east4","config":{"kind":"Basic"},"environment":{"id":"env-00000","environment":"string"},"network":{"id":"n-00000","environment":"string"},"byok":{"id":"cck-00000"}}}' + - lang: Java + source: |- + OkHttpClient client = new OkHttpClient(); + + MediaType mediaType = MediaType.parse("application/json"); + RequestBody body = RequestBody.create(mediaType, "{\"spec\":{\"display_name\":\"ProdKafkaCluster\",\"availability\":\"SINGLE_ZONE\",\"cloud\":\"GCP\",\"region\":\"us-east4\",\"config\":{\"kind\":\"Basic\"},\"environment\":{\"id\":\"env-00000\",\"environment\":\"string\"},\"network\":{\"id\":\"n-00000\",\"environment\":\"string\"},\"byok\":{\"id\":\"cck-00000\"}}}"); + Request request = new Request.Builder() + .url("https://api.confluent.cloud/cmk/v2/clusters") + .post(body) + .addHeader("content-type", "application/json") + .addHeader("Authorization", "Basic REPLACE_BASIC_AUTH") + .build(); + + Response response = client.newCall(request).execute(); + - lang: Go + source: "package main\n\nimport (\n\t\"fmt\"\n\t\"strings\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.confluent.cloud/cmk/v2/clusters\"\n\n\tpayload := strings.NewReader(\"{\\\"spec\\\":{\\\"display_name\\\":\\\"ProdKafkaCluster\\\",\\\"availability\\\":\\\"SINGLE_ZONE\\\",\\\"cloud\\\":\\\"GCP\\\",\\\"region\\\":\\\"us-east4\\\",\\\"config\\\":{\\\"kind\\\":\\\"Basic\\\"},\\\"environment\\\":{\\\"id\\\":\\\"env-00000\\\",\\\"environment\\\":\\\"string\\\"},\\\"network\\\":{\\\"id\\\":\\\"n-00000\\\",\\\"environment\\\":\\\"string\\\"},\\\"byok\\\":{\\\"id\\\":\\\"cck-00000\\\"}}}\")\n\n\treq, _ := http.NewRequest(\"POST\", url, payload)\n\n\treq.Header.Add(\"content-type\", \"application/json\")\n\treq.Header.Add(\"Authorization\", \"Basic REPLACE_BASIC_AUTH\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}" + - lang: Python + source: |- + import http.client + + conn = http.client.HTTPSConnection("api.confluent.cloud") + + payload = "{\"spec\":{\"display_name\":\"ProdKafkaCluster\",\"availability\":\"SINGLE_ZONE\",\"cloud\":\"GCP\",\"region\":\"us-east4\",\"config\":{\"kind\":\"Basic\"},\"environment\":{\"id\":\"env-00000\",\"environment\":\"string\"},\"network\":{\"id\":\"n-00000\",\"environment\":\"string\"},\"byok\":{\"id\":\"cck-00000\"}}}" + + headers = { + 'content-type': "application/json", + 'Authorization': "Basic REPLACE_BASIC_AUTH" + } + + conn.request("POST", "/cmk/v2/clusters", payload, headers) + + res = conn.getresponse() + data = res.read() + + print(data.decode("utf-8")) + - lang: Node + source: |- + const http = require("https"); + + const options = { + "method": "POST", + "hostname": "api.confluent.cloud", + "port": null, + "path": "/cmk/v2/clusters", + "headers": { + "content-type": "application/json", + "Authorization": "Basic REPLACE_BASIC_AUTH" + } + }; + + const req = http.request(options, function (res) { + const chunks = []; + + res.on("data", function (chunk) { + chunks.push(chunk); + }); + + res.on("end", function () { + const body = Buffer.concat(chunks); + console.log(body.toString()); + }); + }); + + req.write(JSON.stringify({ + spec: { + display_name: 'ProdKafkaCluster', + availability: 'SINGLE_ZONE', + cloud: 'GCP', + region: 'us-east4', + config: {kind: 'Basic'}, + environment: {id: 'env-00000', environment: 'string'}, + network: {id: 'n-00000', environment: 'string'}, + byok: {id: 'cck-00000'} + } + })); + req.end(); + - lang: C + source: |- + CURL *hnd = curl_easy_init(); + + curl_easy_setopt(hnd, CURLOPT_CUSTOMREQUEST, "POST"); + curl_easy_setopt(hnd, CURLOPT_URL, "https://api.confluent.cloud/cmk/v2/clusters"); + + struct curl_slist *headers = NULL; + headers = curl_slist_append(headers, "content-type: application/json"); + headers = curl_slist_append(headers, "Authorization: Basic REPLACE_BASIC_AUTH"); + curl_easy_setopt(hnd, CURLOPT_HTTPHEADER, headers); + + curl_easy_setopt(hnd, CURLOPT_POSTFIELDS, "{\"spec\":{\"display_name\":\"ProdKafkaCluster\",\"availability\":\"SINGLE_ZONE\",\"cloud\":\"GCP\",\"region\":\"us-east4\",\"config\":{\"kind\":\"Basic\"},\"environment\":{\"id\":\"env-00000\",\"environment\":\"string\"},\"network\":{\"id\":\"n-00000\",\"environment\":\"string\"},\"byok\":{\"id\":\"cck-00000\"}}}"); + + CURLcode ret = curl_easy_perform(hnd); + - lang: C# + source: |- + var client = new RestClient("https://api.confluent.cloud/cmk/v2/clusters"); + var request = new RestRequest(Method.POST); + request.AddHeader("content-type", "application/json"); + request.AddHeader("Authorization", "Basic REPLACE_BASIC_AUTH"); + request.AddParameter("application/json", "{\"spec\":{\"display_name\":\"ProdKafkaCluster\",\"availability\":\"SINGLE_ZONE\",\"cloud\":\"GCP\",\"region\":\"us-east4\",\"config\":{\"kind\":\"Basic\"},\"environment\":{\"id\":\"env-00000\",\"environment\":\"string\"},\"network\":{\"id\":\"n-00000\",\"environment\":\"string\"},\"byok\":{\"id\":\"cck-00000\"}}}", ParameterType.RequestBody); + IRestResponse response = client.Execute(request); + '/cmk/v2/clusters/{id}': + get: + operationId: getCmkV2Cluster + summary: Read a Cluster + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + Make a request to read a cluster. + parameters: + - name: environment + in: query + required: true + schema: + $ref: '#/components/schemas/SearchFilter' + example: env-00000 + description: Scope the operation to the given environment. + - name: id + in: path + required: true + schema: + type: string + description: The unique identifier for the cluster. + tags: + - Clusters (cmk/v2) + security: + - cloud-api-key: [] + - confluent-sts-access-token: [] + responses: + '200': + description: Cluster. + content: + application/json: + schema: + allOf: + - $ref: '#/components/schemas/cmk.v2.Cluster' + - type: object + required: + - api_version + - kind + - id + - spec + - status + properties: + spec: + type: object + required: + - display_name + - availability + - cloud + - region + - config + - environment + - type: object + properties: + spec: + type: object + properties: + environment: + example: + id: env-00000 + related: 'https://api.confluent.cloud/v2/environments/env-00000' + resource_name: 'https://api.confluent.cloud/organization=9bb441c4-edef-46ac-8a41-c49e44a3fd9a/environment=env-00000' + network: + example: + id: n-00000 + related: 'https://api.confluent.cloud/networking/v1/networks/n-00000' + resource_name: 'https://api.confluent.cloud/organization=9bb441c4-edef-46ac-8a41-c49e44a3fd9a/environment=env-abc123/network=n-00000' + byok: + example: + id: cck-00000 + related: 'https://api.confluent.cloud/byok/v1/keys/cck-00000' + resource_name: 'https://api.confluent.cloud/organization=9bb441c4-edef-46ac-8a41-c49e44a3fd9a/key=cck-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. + + **Important:** This differs from Github and Twitter's same-named header which uses UTC epoch seconds. We use relative time to avoid client/server time synchronization issues. + '400': + $ref: '#/components/responses/BadRequestError' + '401': + $ref: '#/components/responses/UnauthenticatedError' + '403': + $ref: '#/components/responses/UnauthorizedError' + '404': + $ref: '#/components/responses/NotFoundError' + '429': + $ref: '#/components/responses/RateLimitError' + '500': + $ref: '#/components/responses/DefaultSystemError' + x-codeSamples: + - lang: Shell + source: |- + curl --request GET \ + --url 'https://api.confluent.cloud/cmk/v2/clusters/{id}?environment=env-00000' \ + --header 'Authorization: Basic REPLACE_BASIC_AUTH' + - lang: Java + source: |- + OkHttpClient client = new OkHttpClient(); + + Request request = new Request.Builder() + .url("https://api.confluent.cloud/cmk/v2/clusters/{id}?environment=env-00000") + .get() + .addHeader("Authorization", "Basic REPLACE_BASIC_AUTH") + .build(); + + Response response = client.newCall(request).execute(); + - lang: Go + source: "package main\n\nimport (\n\t\"fmt\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.confluent.cloud/cmk/v2/clusters/{id}?environment=env-00000\"\n\n\treq, _ := http.NewRequest(\"GET\", url, nil)\n\n\treq.Header.Add(\"Authorization\", \"Basic REPLACE_BASIC_AUTH\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}" + - lang: Python + source: |- + import http.client + + conn = http.client.HTTPSConnection("api.confluent.cloud") + + headers = { 'Authorization': "Basic REPLACE_BASIC_AUTH" } + + conn.request("GET", "/cmk/v2/clusters/{id}?environment=env-00000", headers=headers) + + res = conn.getresponse() + data = res.read() + + print(data.decode("utf-8")) + - lang: Node + source: |- + const http = require("https"); + + const options = { + "method": "GET", + "hostname": "api.confluent.cloud", + "port": null, + "path": "/cmk/v2/clusters/{id}?environment=env-00000", + "headers": { + "Authorization": "Basic REPLACE_BASIC_AUTH" + } + }; + + const req = http.request(options, function (res) { + const chunks = []; + + res.on("data", function (chunk) { + chunks.push(chunk); + }); + + res.on("end", function () { + const body = Buffer.concat(chunks); + console.log(body.toString()); + }); + }); + + req.end(); + - lang: C + source: |- + CURL *hnd = curl_easy_init(); + + curl_easy_setopt(hnd, CURLOPT_CUSTOMREQUEST, "GET"); + curl_easy_setopt(hnd, CURLOPT_URL, "https://api.confluent.cloud/cmk/v2/clusters/{id}?environment=env-00000"); + + struct curl_slist *headers = NULL; + headers = curl_slist_append(headers, "Authorization: Basic REPLACE_BASIC_AUTH"); + curl_easy_setopt(hnd, CURLOPT_HTTPHEADER, headers); + + CURLcode ret = curl_easy_perform(hnd); + - lang: C# + source: |- + var client = new RestClient("https://api.confluent.cloud/cmk/v2/clusters/{id}?environment=env-00000"); + var request = new RestRequest(Method.GET); + request.AddHeader("Authorization", "Basic REPLACE_BASIC_AUTH"); + IRestResponse response = client.Execute(request); + patch: + operationId: updateCmkV2Cluster + summary: Update a Cluster + description: |+ + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + Make a request to update a cluster. + + parameters: + - name: id + in: path + required: true + schema: + type: string + description: The unique identifier for the cluster. + tags: + - Clusters (cmk/v2) + security: + - cloud-api-key: [] + - confluent-sts-access-token: [] + requestBody: + content: + application/json: + schema: + allOf: + - $ref: '#/components/schemas/cmk.v2.ClusterUpdate' + - type: object + required: + - spec + properties: + spec: + type: object + required: + - environment + properties: + environment: + example: + id: env-00000 + responses: + '200': + description: Cluster. + content: + application/json: + schema: + allOf: + - $ref: '#/components/schemas/cmk.v2.Cluster' + - type: object + required: + - api_version + - kind + - id + - spec + - status + properties: + spec: + type: object + required: + - display_name + - availability + - cloud + - region + - config + - environment + - type: object + properties: + spec: + type: object + properties: + environment: + example: + id: env-00000 + related: 'https://api.confluent.cloud/v2/environments/env-00000' + resource_name: 'https://api.confluent.cloud/organization=9bb441c4-edef-46ac-8a41-c49e44a3fd9a/environment=env-00000' + network: + example: + id: n-00000 + related: 'https://api.confluent.cloud/networking/v1/networks/n-00000' + resource_name: 'https://api.confluent.cloud/organization=9bb441c4-edef-46ac-8a41-c49e44a3fd9a/environment=env-abc123/network=n-00000' + byok: + example: + id: cck-00000 + related: 'https://api.confluent.cloud/byok/v1/keys/cck-00000' + resource_name: 'https://api.confluent.cloud/organization=9bb441c4-edef-46ac-8a41-c49e44a3fd9a/key=cck-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. + + **Important:** This differs from Github and Twitter's same-named header which uses UTC epoch seconds. We use relative time to avoid client/server time synchronization issues. + '400': + $ref: '#/components/responses/BadRequestError' + '401': + $ref: '#/components/responses/UnauthenticatedError' + '402': + $ref: '#/components/responses/OverQuotaError' + '403': + $ref: '#/components/responses/UnauthorizedError' + '404': + $ref: '#/components/responses/NotFoundError' + '409': + $ref: '#/components/responses/ConflictError' + '422': + $ref: '#/components/responses/ValidationError' + '429': + $ref: '#/components/responses/RateLimitError' + '500': + $ref: '#/components/responses/DefaultSystemError' + x-codeSamples: + - lang: Shell + source: |- + curl --request PATCH \ + --url 'https://api.confluent.cloud/cmk/v2/clusters/{id}' \ + --header 'Authorization: Basic REPLACE_BASIC_AUTH' \ + --header 'content-type: application/json' \ + --data '{"spec":{"display_name":"ProdKafkaCluster","availability":"SINGLE_ZONE","cloud":"GCP","region":"us-east4","config":{"kind":"Basic"},"environment":{"id":"env-00000","environment":"string"},"network":{"id":"string","environment":"string"},"byok":{"id":"string"}}}' + - lang: Java + source: |- + OkHttpClient client = new OkHttpClient(); + + MediaType mediaType = MediaType.parse("application/json"); + RequestBody body = RequestBody.create(mediaType, "{\"spec\":{\"display_name\":\"ProdKafkaCluster\",\"availability\":\"SINGLE_ZONE\",\"cloud\":\"GCP\",\"region\":\"us-east4\",\"config\":{\"kind\":\"Basic\"},\"environment\":{\"id\":\"env-00000\",\"environment\":\"string\"},\"network\":{\"id\":\"string\",\"environment\":\"string\"},\"byok\":{\"id\":\"string\"}}}"); + Request request = new Request.Builder() + .url("https://api.confluent.cloud/cmk/v2/clusters/{id}") + .patch(body) + .addHeader("content-type", "application/json") + .addHeader("Authorization", "Basic REPLACE_BASIC_AUTH") + .build(); + + Response response = client.newCall(request).execute(); + - lang: Go + source: "package main\n\nimport (\n\t\"fmt\"\n\t\"strings\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.confluent.cloud/cmk/v2/clusters/{id}\"\n\n\tpayload := strings.NewReader(\"{\\\"spec\\\":{\\\"display_name\\\":\\\"ProdKafkaCluster\\\",\\\"availability\\\":\\\"SINGLE_ZONE\\\",\\\"cloud\\\":\\\"GCP\\\",\\\"region\\\":\\\"us-east4\\\",\\\"config\\\":{\\\"kind\\\":\\\"Basic\\\"},\\\"environment\\\":{\\\"id\\\":\\\"env-00000\\\",\\\"environment\\\":\\\"string\\\"},\\\"network\\\":{\\\"id\\\":\\\"string\\\",\\\"environment\\\":\\\"string\\\"},\\\"byok\\\":{\\\"id\\\":\\\"string\\\"}}}\")\n\n\treq, _ := http.NewRequest(\"PATCH\", url, payload)\n\n\treq.Header.Add(\"content-type\", \"application/json\")\n\treq.Header.Add(\"Authorization\", \"Basic REPLACE_BASIC_AUTH\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}" + - lang: Python + source: |- + import http.client + + conn = http.client.HTTPSConnection("api.confluent.cloud") + + payload = "{\"spec\":{\"display_name\":\"ProdKafkaCluster\",\"availability\":\"SINGLE_ZONE\",\"cloud\":\"GCP\",\"region\":\"us-east4\",\"config\":{\"kind\":\"Basic\"},\"environment\":{\"id\":\"env-00000\",\"environment\":\"string\"},\"network\":{\"id\":\"string\",\"environment\":\"string\"},\"byok\":{\"id\":\"string\"}}}" + + headers = { + 'content-type': "application/json", + 'Authorization': "Basic REPLACE_BASIC_AUTH" + } + + conn.request("PATCH", "/cmk/v2/clusters/{id}", payload, headers) + + res = conn.getresponse() + data = res.read() + + print(data.decode("utf-8")) + - lang: Node + source: |- + const http = require("https"); + + const options = { + "method": "PATCH", + "hostname": "api.confluent.cloud", + "port": null, + "path": "/cmk/v2/clusters/{id}", + "headers": { + "content-type": "application/json", + "Authorization": "Basic REPLACE_BASIC_AUTH" + } + }; + + const req = http.request(options, function (res) { + const chunks = []; + + res.on("data", function (chunk) { + chunks.push(chunk); + }); + + res.on("end", function () { + const body = Buffer.concat(chunks); + console.log(body.toString()); + }); + }); + + req.write(JSON.stringify({ + spec: { + display_name: 'ProdKafkaCluster', + availability: 'SINGLE_ZONE', + cloud: 'GCP', + region: 'us-east4', + config: {kind: 'Basic'}, + environment: {id: 'env-00000', environment: 'string'}, + network: {id: 'string', environment: 'string'}, + byok: {id: 'string'} + } + })); + req.end(); + - lang: C + source: |- + CURL *hnd = curl_easy_init(); + + curl_easy_setopt(hnd, CURLOPT_CUSTOMREQUEST, "PATCH"); + curl_easy_setopt(hnd, CURLOPT_URL, "https://api.confluent.cloud/cmk/v2/clusters/{id}"); + + struct curl_slist *headers = NULL; + headers = curl_slist_append(headers, "content-type: application/json"); + headers = curl_slist_append(headers, "Authorization: Basic REPLACE_BASIC_AUTH"); + curl_easy_setopt(hnd, CURLOPT_HTTPHEADER, headers); + + curl_easy_setopt(hnd, CURLOPT_POSTFIELDS, "{\"spec\":{\"display_name\":\"ProdKafkaCluster\",\"availability\":\"SINGLE_ZONE\",\"cloud\":\"GCP\",\"region\":\"us-east4\",\"config\":{\"kind\":\"Basic\"},\"environment\":{\"id\":\"env-00000\",\"environment\":\"string\"},\"network\":{\"id\":\"string\",\"environment\":\"string\"},\"byok\":{\"id\":\"string\"}}}"); + + CURLcode ret = curl_easy_perform(hnd); + - lang: C# + source: |- + var client = new RestClient("https://api.confluent.cloud/cmk/v2/clusters/{id}"); + var request = new RestRequest(Method.PATCH); + request.AddHeader("content-type", "application/json"); + request.AddHeader("Authorization", "Basic REPLACE_BASIC_AUTH"); + request.AddParameter("application/json", "{\"spec\":{\"display_name\":\"ProdKafkaCluster\",\"availability\":\"SINGLE_ZONE\",\"cloud\":\"GCP\",\"region\":\"us-east4\",\"config\":{\"kind\":\"Basic\"},\"environment\":{\"id\":\"env-00000\",\"environment\":\"string\"},\"network\":{\"id\":\"string\",\"environment\":\"string\"},\"byok\":{\"id\":\"string\"}}}", ParameterType.RequestBody); + IRestResponse response = client.Execute(request); + delete: + operationId: deleteCmkV2Cluster + summary: Delete a Cluster + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + Make a request to delete a cluster. + parameters: + - name: environment + in: query + required: true + schema: + $ref: '#/components/schemas/SearchFilter' + example: env-00000 + description: Scope the operation to the given environment. + - name: id + in: path + required: true + schema: + type: string + description: The unique identifier for the cluster. + tags: + - Clusters (cmk/v2) + security: + - cloud-api-key: [] + - confluent-sts-access-token: [] + responses: + '204': + description: A Cluster is being deleted. + headers: + X-Request-Id: + schema: + type: string + description: The unique identifier for the API request. + X-RateLimit-Limit: + schema: + type: integer + description: The maximum number of requests you're permitted to make per time period. + X-RateLimit-Remaining: + schema: + type: integer + description: The number of requests remaining in the current rate limit window. + X-RateLimit-Reset: + schema: + type: integer + description: |- + The relative time in seconds until the current rate-limit window resets. + + **Important:** This differs from Github and Twitter's same-named header which uses UTC epoch seconds. We use relative time to avoid client/server time synchronization issues. + '400': + $ref: '#/components/responses/BadRequestError' + '401': + $ref: '#/components/responses/UnauthenticatedError' + '403': + $ref: '#/components/responses/UnauthorizedError' + '404': + $ref: '#/components/responses/NotFoundError' + '429': + $ref: '#/components/responses/RateLimitError' + '500': + $ref: '#/components/responses/DefaultSystemError' + x-codeSamples: + - lang: Shell + source: |- + curl --request DELETE \ + --url 'https://api.confluent.cloud/cmk/v2/clusters/{id}?environment=env-00000' \ + --header 'Authorization: Basic REPLACE_BASIC_AUTH' + - lang: Java + source: |- + OkHttpClient client = new OkHttpClient(); + + Request request = new Request.Builder() + .url("https://api.confluent.cloud/cmk/v2/clusters/{id}?environment=env-00000") + .delete(null) + .addHeader("Authorization", "Basic REPLACE_BASIC_AUTH") + .build(); + + Response response = client.newCall(request).execute(); + - lang: Go + source: "package main\n\nimport (\n\t\"fmt\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.confluent.cloud/cmk/v2/clusters/{id}?environment=env-00000\"\n\n\treq, _ := http.NewRequest(\"DELETE\", url, nil)\n\n\treq.Header.Add(\"Authorization\", \"Basic REPLACE_BASIC_AUTH\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}" + - lang: Python + source: |- + import http.client + + conn = http.client.HTTPSConnection("api.confluent.cloud") + + headers = { 'Authorization': "Basic REPLACE_BASIC_AUTH" } + + conn.request("DELETE", "/cmk/v2/clusters/{id}?environment=env-00000", headers=headers) + + res = conn.getresponse() + data = res.read() + + print(data.decode("utf-8")) + - lang: Node + source: |- + const http = require("https"); + + const options = { + "method": "DELETE", + "hostname": "api.confluent.cloud", + "port": null, + "path": "/cmk/v2/clusters/{id}?environment=env-00000", + "headers": { + "Authorization": "Basic REPLACE_BASIC_AUTH" + } + }; + + const req = http.request(options, function (res) { + const chunks = []; + + res.on("data", function (chunk) { + chunks.push(chunk); + }); + + res.on("end", function () { + const body = Buffer.concat(chunks); + console.log(body.toString()); + }); + }); + + req.end(); + - lang: C + source: |- + CURL *hnd = curl_easy_init(); + + curl_easy_setopt(hnd, CURLOPT_CUSTOMREQUEST, "DELETE"); + curl_easy_setopt(hnd, CURLOPT_URL, "https://api.confluent.cloud/cmk/v2/clusters/{id}?environment=env-00000"); + + struct curl_slist *headers = NULL; + headers = curl_slist_append(headers, "Authorization: Basic REPLACE_BASIC_AUTH"); + curl_easy_setopt(hnd, CURLOPT_HTTPHEADER, headers); + + CURLcode ret = curl_easy_perform(hnd); + - lang: C# + source: |- + var client = new RestClient("https://api.confluent.cloud/cmk/v2/clusters/{id}?environment=env-00000"); + var request = new RestRequest(Method.DELETE); + request.AddHeader("Authorization", "Basic REPLACE_BASIC_AUTH"); + IRestResponse response = client.Execute(request); diff --git a/providers/src/confluent/v00.00.00000/services/networking.yaml b/providers/src/confluent/v00.00.00000/services/networking.yaml new file mode 100644 index 00000000..e6a76136 --- /dev/null +++ b/providers/src/confluent/v00.00.00000/services/networking.yaml @@ -0,0 +1,18978 @@ +openapi: 3.0.0 +servers: + - url: 'https://api.confluent.cloud' + description: Confluent Cloud API +info: + version: '' + contact: + name: Confluent Cloud + url: 'https://www.confluent.io/cloud-contact-us/' + email: support@confluent.io + x-api-id: 46234552-5833-42eb-ba0f-883ad3f70d2b + x-audience: external-public + x-logo: + url: 'https://assets.confluent.io/m/5ec23aa91903c00b/' + title: Confluent Cloud APIs - networking + description: networking +tags: + - name: API Keys (iam/v2) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + `ApiKey` objects represent access to different parts of Confluent Cloud. Some types + of API keys represent access to a single cluster/resource such as a Kafka cluster, + Schema Registry cluster or a ksqlDB cluster. Cloud API Keys represent access to resources within an organization + that are not tied to a specific cluster, such as the Org API, IAM API, Metrics API or Connect API. + + The API allows you to list, create, update and delete your API Keys. + + + Related guide: [API Keys in Confluent Cloud](https://docs.confluent.io/cloud/current/client-apps/api-keys.html). + + ## The API Keys Model + + + ## Quotas and Limits + This resource is subject to the [following quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): + + | Quota | Description | + | --- | --- | + | `apikeys_per_org` | API Keys in one Confluent Cloud organization | + - name: Environments (org/v2) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + `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](https://docs.confluent.io/cloud/current/access-management/environments.html). + + ## The Environments Model + + + ## Quotas and Limits + This resource is subject to the [following quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): + + | Quota | Description | + | --- | --- | + | `environments_per_org` | Environments in one Confluent Cloud organization | + - name: Organizations (org/v2) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + `Organization` objects represent a customer organization. An organization contains all customer + resources (e.g., Environments, Kafka Clusters, Service Accounts, API Keys) and is tied to a billing + agreement (including any annual commitment or support plan). + + The API allows you to list, view, and update your organizations. + + + Related guide: [Organizations for Confluent Cloud](https://docs.confluent.io/cloud/current/access-management/hierarchy/organizations/cloud-organization.html). + + ## The Organizations Model + + + ## Quotas and Limits + This resource is subject to the [following quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): + + | Quota | Description | + | --- | --- | + | `organizations_per_user` | Confluent Cloud organizations a user belongs to | + - name: Users (iam/v2) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + `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](https://docs.confluent.io/cloud/current/access-management/user-account.html). + + ## The Users Model + + + ## Quotas and Limits + This resource is subject to the [following quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): + + | Quota | Description | + | --- | --- | + | `users_per_org` | Users in one Confluent Cloud organization | + - name: Service Accounts (iam/v2) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + `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](https://docs.confluent.io/cloud/current/access-management/service-account.html). + + ## The Service Accounts Model + + + ## Quotas and Limits + This resource is subject to the [following quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): + + | Quota | Description | + | --- | --- | + | `service_accounts_per_org` | Service Accounts in one Confluent Cloud organization | + - name: Invitations (iam/v2) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + `Invitation` objects represent invitations to invite users to join your organizations in Confluent Cloud. + + The API allows you to list all your invitations, as well as create, read, and delete a specified invitation. + + + Related guide: [User invitations in Confluent Cloud](https://docs.confluent.io/cloud/current/access-management/identity/user-accounts.html). + + ## The Invitations Model + + + ## Quotas and Limits + This resource is subject to the [following quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): + + | Quota | Description | + | --- | --- | + | `invitations_per_org` | Invitations in a Confluent Cloud organization | + - name: IP Groups (iam/v2) + description: |- + [![Limited Availability](https://img.shields.io/badge/Lifecycle%20Stage-Limited%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) [![Request Access To IP Groups API](https://img.shields.io/badge/-Request%20Access%20To%20IP%20Groups%20API-%23bc8540)](mailto:cloud-support@confluent.io?subject=Request%20to%20join%20IP%20Filtering%20API%20Limited%20Access&body=I%E2%80%99d%20like%20to%20join%20the%20Confluent%20Cloud%20API%20Limited%20Access%20for%20IP%20Filtering.%0AMy%20Cloud%20Organization%20ID%20is%20%3Cretrieve%20from%20https%3A//confluent.cloud/settings/billing/payment%3E.%0A) + + Definitions of networks which can be named and referred by IP blocks, commonly used to attach to IP Filter rules. + + + ## The IP Groups Model + + - name: IP Filters (iam/v2) + description: |- + [![Limited Availability](https://img.shields.io/badge/Lifecycle%20Stage-Limited%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) [![Request Access To IP Filters API](https://img.shields.io/badge/-Request%20Access%20To%20IP%20Filters%20API-%23bc8540)](mailto:ccloud-api-access+iam-v2-limited-availability@confluent.io?subject=Request%20to%20join%20iam/v2%20API%20Limited%20Availability&body=I%E2%80%99d%20like%20to%20join%20the%20Confluent%20Cloud%20API%20Limited%20Availability%20for%20iam/v2%20to%20provide%20early%20feedback%21%20My%20Cloud%20Organization%20ID%20is%20%3Cretrieve%20from%20https%3A//confluent.cloud/settings/billing/payment%3E.) + + `IP Filter` objects are bindings between IP Groups and Confluent resource(s). + For example, a binding between "CorpNet" and "Management APIs" will enforce that + access must come from one of the CIDR blocks associated with CorpNet. + If there are multiple IP filters bound to a resource, a request matching any of the CIDR blocks + for any of the IP Group will allow the request. + If there are no IP Filters for a resource, then access will be granted to requests originating + from any IP Address. + + + ## The IP Filters Model + + - name: Role Bindings (iam/v2) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + A role binding grants a Principal a role on resources that match a pattern. + + The API allows you to perform create, delete, and list operations on role bindings. + + + Related guide: [Role-Based Access Control (RBAC)](https://docs.confluent.io/cloud/current/access-management/access-control/cloud-rbac.html). + + ## The Role Bindings Model + + - name: Subscriptions (notifications/v1) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + `Subscription` objects represent the intent of the customers to get notifications of particular types. + A subscription is created for a particular `NotificationType` and the user will get notifications on the + `Integrations` that are provided while creating the subscription. + + This API allows you to create, retrieve, and update subscriptions, + as well as to view the list of all your subscriptions. You can also delete subscriptions + with RECOMMENDED or OPTIONAL notification types. Subscriptions with REQUIRED notification types cannot be deleted. + + + Related guide: [Cloud Notifications](https://docs.confluent.io/cloud/current/monitoring/configure-notifications.html#notifications-for-ccloud). + + ## The Subscriptions Model + + - name: Integrations (notifications/v1) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + You can create an `Integration` to specify how we can notify you when we receive an alert/notification for + a subscription. Please note that you can only perform create, update and delete operations for integrations + of type `Webhook`, `Slack` and `MsTeams`. You cannot create, update or delete integrations of type `RoleEmail` + and `UserEmail`. + + + Related guide: [Cloud Notifications](https://docs.confluent.io/cloud/current/monitoring/configure-notifications.html#notifications-for-ccloud). + + ## The Integrations Model + + + ## Quotas and Limits + This resource is subject to the [following quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): + + | Quota | Description | + | --- | --- | + | `integrations_per_org` | Maximum number of integrations in one Confluent Cloud organization | + - name: Notification Types (notifications/v1) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + The type of notifications (and their corresponding metadata) supported by Confluent. + + + Related guide: [Cloud Notifications](https://docs.confluent.io/cloud/current/monitoring/configure-notifications.html#notifications-for-ccloud). + + ## The Notification Types Model + + - name: Clusters (cmk/v2) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + `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](https://docs.confluent.io/cloud/current/clusters/cluster-api.html). + + ## The Clusters Model + + + ## Quotas and Limits + This resource is subject to the [following quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): + + | Quota | Description | + | --- | --- | + | `kafka_clusters_per_environment` | Number of clusters in one Confluent Cloud environment | + - name: Clusters (ksqldbcm/v2) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + `Cluster` represents a ksqlDB runtime that you can issue queries to using its API endpoint. + It executes SQL statements and queries which under the hood get built into corresponding + Kafka Streams topologies. The API allows you to list, create, read, and delete your ksqlDB clusters. + + + Related guide: [ksqlDB in Confluent Cloud](https://docs.confluent.io/cloud/current/ksqldb/ksqldb-cluster-api.html). + + ## The Clusters Model + + + ## Quotas and Limits + This resource is subject to the following quotas: + + | Quota | Description | + | --- | --- | + | `ksql.limits.max_apps_per_cluster` | Clusters in one Confluent Cloud Kafka Cluster. | + - name: Connectors (connect/v1) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + API for Managed Connectors or Custom Connectors in Confluent Cloud. + + The API allows you to list, create, get, update and delete a Managed Connector or Custom Connector in Confluent Cloud. + + Connect metrics are available through the [Metrics v2 API](https://api.telemetry.confluent.cloud/docs#tag/Version-2). + + Related guide: [Confluent Cloud API and Managed Connectors](https://docs.confluent.io/cloud/current/connectors/connect-api-section.html). + - name: Lifecycle (connect/v1) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + API for managing the lifecycle for a Managed Connector or Custom Connector in Confluent Cloud. Operations currently supported are Pause and Resume. + - name: Status (connect/v1) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + API for requesting the status or the tasks for a Managed Connector or Custom Connector in Confluent Cloud. + - name: Managed Connector Plugins (connect/v1) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + API for Managed connectors in Confluent Cloud. + - name: Offsets (connect/v1) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + API for managing the offsets for a Managed Connector. + + Related guide: [Manage Connector Offsets](https://docs.confluent.io/cloud/current/connectors/offsets.html#manage-offsets-for-fully-managed-connectors-in-ccloud) + - name: Custom Connector Plugins (connect/v1) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + CustomConnectorPlugins objects represent Custom Connector Plugins on Confluent Cloud. + The API allows you to list, create, read, update, and delete your Custom Connector Plugins. + Related guide: + [Custom Connector Plugin API](https://docs.confluent.io/cloud/current/connectors/connect-api-section.html). + + + ## The Custom Connector Plugins Model + + - name: Presigned Urls (connect/v1) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + Request a presigned upload URL for new Custom Connector Plugin. Note that + the URL policy expires in one hour. If the policy expires, you can request + a new presigned upload URL. + + Related guide: + [Custom Connector Plugin API](https://docs.confluent.io/cloud/current/connectors/connect-api-section.html). + + + ## The Presigned Urls Model + + - name: Cluster (v3) + description: '[![Generally Available](https://img.shields.io/badge/Lifecycle%20Stage-Generally%20Available-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy)' + - name: Configs (v3) + description: '[![Generally Available](https://img.shields.io/badge/Lifecycle%20Stage-Generally%20Available-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy)' + - name: ACL (v3) + description: '[![Generally Available](https://img.shields.io/badge/Lifecycle%20Stage-Generally%20Available-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy)' + - name: Consumer Group (v3) + description: '[![Generally Available](https://img.shields.io/badge/Lifecycle%20Stage-Generally%20Available-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy)' + - name: Partition (v3) + description: '[![Generally Available](https://img.shields.io/badge/Lifecycle%20Stage-Generally%20Available-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy)' + - name: Topic (v3) + description: '[![Generally Available](https://img.shields.io/badge/Lifecycle%20Stage-Generally%20Available-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy)' + - name: Records (v3) + description: '[![Generally Available](https://img.shields.io/badge/Lifecycle%20Stage-Generally%20Available-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy)' + - name: Cluster Linking (v3) + description: '[![Generally Available](https://img.shields.io/badge/Lifecycle%20Stage-Generally%20Available-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy)' + - name: Applied Quotas (service-quota/v1) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + A `quota` object represents a quota configuration for a specific Confluent Cloud resource. + Use this API to retrieve an individual quota or list of quotas for a given scope. + + + Related guide: [Service Quotas for Confluent Cloud](https://docs.confluent.io/cloud/current/quotas/index.html). + + ## The Applied Quotas Model + + - name: Scopes (service-quota/v1) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + Gets a list of all available scopes for applied quotas. + + + Related guide: [Quota Scopes](https://docs.confluent.io/cloud/current/quotas/quotas.html#query-for-scopes). + + ## The Scopes Model + + - name: Entitlements (partner/v2) + description: | + [![Early Access](https://img.shields.io/badge/Lifecycle%20Stage-Early%20Access-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) [![Request Access To Partner v2](https://img.shields.io/badge/-Request%20Access%20To%20Partner%20v2-%23bc8540)](mailto:ccloud-api-access+partner-v2-early-access@confluent.io?subject=Request%20to%20join%20partner/v2%20API%20Early%20Access&body=I%E2%80%99d%20like%20to%20join%20the%20Confluent%20Cloud%20API%20Early%20Access%20for%20partner/v2%20to%20provide%20early%20feedback%21%20My%20Cloud%20Organization%20ID%20is%20%3Cretrieve%20from%20https%3A//confluent.cloud/settings/billing/payment%3E.) + + `Entitlement` objects represent metadata about a marketplace entitlement. + + An entitlement includes metadata about a marketplace purchase + (start date, end date, billing information, partner IDs, etc). + The API allows partners to create, read, and list entitlements. (Unless you + need entitlement creation and customer registration to be separate, + we recommend using the Signup API to create an organization and entitlement + at the same time) + + The API only allows authorized partners to interact with the Entitlements API. + - name: Regions (srcm/v2) + description: |- + [![Deprecated](https://img.shields.io/badge/Lifecycle%20Stage-Deprecated-%23ff005c)](#section/Versioning/API-Lifecycle-Policy) + + `Region` objects represent cloud provider regions available when placing Schema Registry clusters. + The API allows you to list Schema Registry regions. + + + Related guides: + * [Confluent Cloud providers and region support](https://docs.confluent.io/cloud/current/stream-governance/packages.html#cloud-providers-and-region-support). + * [srcm/v3 Migration Guide](https://docs.confluent.io/cloud/current/stream-governance/packages.html#deprecation-of-srcm-v2-clusters-and-regions-apis-and-upgrade-guide). + + + ## The Regions Model + + - name: Clusters (srcm/v2) + description: |- + [![Deprecated](https://img.shields.io/badge/Lifecycle%20Stage-Deprecated-%23ff005c)](#section/Versioning/API-Lifecycle-Policy) + + `Clusters` objects represent Schema Registry Clusters on Confluent Cloud. + + The API allows you to list, create, read, and delete your Schema Registry clusters. + + + Related guides: + * [Confluent Cloud Schema Registry Cluster APIs](https://docs.confluent.io/cloud/current/stream-governance/clusters-regions-api.html#schema-registry-cluster-management). + * [srcm/v3 Migration Guide](https://docs.confluent.io/cloud/current/stream-governance/packages.html#deprecation-of-srcm-v2-clusters-and-regions-apis-and-upgrade-guide). + + + ## The Clusters Model + + - name: Clusters (srcm/v3) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + `Clusters` objects represent Schema Registry Clusters on Confluent Cloud. + + The API allows you to list and read your Schema Registry clusters. + + + Related guide: [Confluent Cloud Schema Registry Cluster APIs](https://docs.confluent.io/cloud/current/stream-governance/clusters-regions-api.html#schema-registry-cluster-management). + + ## The Clusters Model + + - name: Compatibility (v1) + description: |- + [![Generally Available](https://img.shields.io/badge/Lifecycle%20Stage-Generally%20Available-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + The API allows you to test schema compatibility. + + Related guide: [Manage Schemas in Confluent Cloud](https://docs.confluent.io/cloud/current/sr/schemas-manage.html#manage-schemas-in-ccloud). + - name: Config (v1) + description: |- + [![Generally Available](https://img.shields.io/badge/Lifecycle%20Stage-Generally%20Available-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + The API allows you to manage and query schema compatibility settings and cluster configurations. + + Related guide: [Manage Schemas in Confluent Cloud](https://docs.confluent.io/cloud/current/sr/schemas-manage.html#manage-schemas-in-ccloud). + - name: Contexts (v1) + description: |- + [![Generally Available](https://img.shields.io/badge/Lifecycle%20Stage-Generally%20Available-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + The API allows you to retrieve information about schema contexts. + + Related guide: [Manage Schemas in Confluent Cloud](https://docs.confluent.io/cloud/current/sr/schemas-manage.html#manage-schemas-in-ccloud). + - name: Exporters (v1) + description: |- + [![Generally Available](https://img.shields.io/badge/Lifecycle%20Stage-Generally%20Available-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + The API allows you to create, retrieve, update, and delete exporters. + + Related guide: [Manage Schemas in Confluent Cloud](https://docs.confluent.io/cloud/current/sr/schemas-manage.html#manage-schemas-in-ccloud). + - name: Modes (v1) + description: |- + [![Generally Available](https://img.shields.io/badge/Lifecycle%20Stage-Generally%20Available-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + The API allows you to create, retrieve, update, and delete schema subjects modes of operation. + + Related guide: [Manage Schemas in Confluent Cloud](https://docs.confluent.io/cloud/current/sr/schemas-manage.html#manage-schemas-in-ccloud). + - name: Schemas (v1) + description: |- + [![Generally Available](https://img.shields.io/badge/Lifecycle%20Stage-Generally%20Available-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + The API allows you to create, retrieve, update, and delete schemas. + + Related guide: [Manage Schemas in Confluent Cloud](https://docs.confluent.io/cloud/current/sr/schemas-manage.html#manage-schemas-in-ccloud). + - name: Subjects (v1) + description: |- + [![Generally Available](https://img.shields.io/badge/Lifecycle%20Stage-Generally%20Available-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + The API allows you to create, retrieve, update, and delete schema subjects and versions. + + Related guide: [Manage Schemas in Confluent Cloud](https://docs.confluent.io/cloud/current/sr/schemas-manage.html#manage-schemas-in-ccloud). + - name: Key Encryption Keys (v1) + description: |- + [![Generally Available](https://img.shields.io/badge/Lifecycle%20Stage-Generally%20Available-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + The API allows you to create, retrieve, update, and delete key encryption keys. + + Related guide: [Manage Schemas in Confluent Cloud](https://docs.confluent.io/cloud/current/sr/schemas-manage.html#manage-schemas-in-ccloud). + - name: Data Encryption Keys (v1) + description: |- + [![Generally Available](https://img.shields.io/badge/Lifecycle%20Stage-Generally%20Available-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + The API allows you to create, retrieve, update, and delete data encryption keys. + + Related guide: [Manage Schemas in Confluent Cloud](https://docs.confluent.io/cloud/current/sr/schemas-manage.html#manage-schemas-in-ccloud). + - name: Entity (v1) + description: |- + [![Generally Available](https://img.shields.io/badge/Lifecycle%20Stage-Generally%20Available-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + The API allows you to create, retrieve, update, and delete catalog entities. + + Related guide: [Catalog API Documentation](https://docs.confluent.io/cloud/current/stream-governance/stream-catalog.html#catalog-api-documentation). + - name: Search (v1) + description: |- + [![Generally Available](https://img.shields.io/badge/Lifecycle%20Stage-Generally%20Available-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + The API allows you to search for entities. + + Related guide: [Catalog API Documentation](https://docs.confluent.io/cloud/current/stream-governance/stream-catalog.html#catalog-api-documentation). + - name: Types (v1) + description: |- + [![Generally Available](https://img.shields.io/badge/Lifecycle%20Stage-Generally%20Available-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + The API allows you to create, retrieve, update, and delete catalog types such as tag definitions. + + Related guide: [Catalog API Documentation](https://docs.confluent.io/cloud/current/stream-governance/stream-catalog.html#catalog-api-documentation). + - name: Provider Shared Resources (cdx/v1) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + `ProviderSharedResource` object contains details of the data stream + (topic, schema registry subjects, sharing metadata) that you have shared through Stream Sharing. + + + ## The Provider Shared Resources Model + + - name: Provider Shares (cdx/v1) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + `ProviderShare` object respresents the share that you have created through Stream Sharing. + + + Related guide: [Provider Stream Shares in Confluent Cloud](https://docs.confluent.io/cloud/current/stream-sharing/produce-shared-data.html#stream-shares). + + ## The Provider Shares Model + + - name: Consumer Shared Resources (cdx/v1) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + `ConsumerSharedResource` object contains details of the data stream + (topic, schema registry subjects, sharing metadata) that you received through Stream Sharing. + + + ## The Consumer Shared Resources Model + + - name: Consumer Shares (cdx/v1) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + `ConsumerShare` object respresents the share that you received through Stream Sharing. + + + Related guide: [Consumer Stream Shares in Confluent Cloud](https://docs.confluent.io/cloud/current/stream-sharing/consume-shared-data.html). + + ## The Consumer Shares Model + + - name: Shared Tokens (cdx/v1) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + Encrypted Token shared with consumer + + + ## The Shared Tokens Model + + - name: Opt Ins (cdx/v1) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + Stream sharing opt in options + + ## The Opt Ins Model + + - name: Organizations (partner/v2) + description: | + [![Early Access](https://img.shields.io/badge/Lifecycle%20Stage-Early%20Access-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) [![Request Access To Partner v2](https://img.shields.io/badge/-Request%20Access%20To%20Partner%20v2-%23bc8540)](mailto:ccloud-api-access+partner-v2-early-access@confluent.io?subject=Request%20to%20join%20partner/v2%20API%20Early%20Access&body=I%E2%80%99d%20like%20to%20join%20the%20Confluent%20Cloud%20API%20Early%20Access%20for%20partner/v2%20to%20provide%20early%20feedback%21%20My%20Cloud%20Organization%20ID%20is%20%3Cretrieve%20from%20https%3A//confluent.cloud/settings/billing/payment%3E.) + + `Organizations` objects represent an entire Confluent Cloud organization. + Partners are allowed to get an organization they have signed up or + list all organizations they have signed up. + - name: Signup (partner/v2) + description: | + [![Early Access](https://img.shields.io/badge/Lifecycle%20Stage-Early%20Access-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) [![Request Access To Partner v2](https://img.shields.io/badge/-Request%20Access%20To%20Partner%20v2-%23bc8540)](mailto:ccloud-api-access+partner-v2-early-access@confluent.io?subject=Request%20to%20join%20partner/v2%20API%20Early%20Access&body=I%E2%80%99d%20like%20to%20join%20the%20Confluent%20Cloud%20API%20Early%20Access%20for%20partner/v2%20to%20provide%20early%20feedback%21%20My%20Cloud%20Organization%20ID%20is%20%3Cretrieve%20from%20https%3A//confluent.cloud/settings/billing/payment%3E.) + + `Signup` APIs can only be performed by partners. + - name: Networks (networking/v1) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + `Network` represents a network (VPC) in Confluent Cloud. All Networks exist within Confluent-managed cloud + provider accounts. Dedicated networks support more networking options but can only contain Dedicated clusters. + Shared networks can contain any cluster type. + + The API allows you to list, create, read, update, and delete your networks. + + + Related guide: [APIs to manage networks in Confluent Cloud](https://docs.confluent.io/cloud/current/networking/overview.html). + + ## The Networks Model + + + ## Quotas and Limits + This resource is subject to the [following quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): + + | Quota | Description | + | --- | --- | + | `dedicated_networks_per_environment` | Number of dedicated networks per Confluent Cloud environment | + - name: Peerings (networking/v1) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + Add or remove VPC/VNet peering connections between your VPC/VNet and Confluent Cloud. + + Related guides: + * [Use VPC peering connections with Confluent Cloud on AWS](https://docs.confluent.io/cloud/current/networking/peering/aws-peering.html). + * [Use VNet peering connections with Confluent Cloud on Azure](https://docs.confluent.io/cloud/current/networking/peering/azure-peering.html). + * [Use VPC peering connections with Confluent Cloud on Google Cloud](https://docs.confluent.io/cloud/current/networking/peering/gcp-peering.html). + + + ## The Peerings Model + + + ## Quotas and Limits + This resource is subject to the [following quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): + + | Quota | Description | + | --- | --- | + | `peerings_per_network` | Number of peerings per network | + - name: Transit Gateway Attachments (networking/v1) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + AWS Transit Gateway Attachments + + Related guide: [APIs to manage AWS Transit Gateway Attachments](https://docs.confluent.io/cloud/current/networking/aws-transit-gateway.html). + + ## The Transit Gateway Attachments Model + + + ## Quotas and Limits + This resource is subject to the [following quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): + + | Quota | Description | + | --- | --- | + | `tgw_attachments_per_network` | Number of TGW attachments per network | + - name: Private Link Accesses (networking/v1) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + Add or remove access to PrivateLink endpoints by AWS account, Azure subscription and GCP project ID. + + Related guides: + * [Use Google Cloud Private Service Connect with Confluent Cloud](https://docs.confluent.io/cloud/current/networking/private-links/gcp-private-service-connect.html). + * [Use Azure Private Link with Confluent Cloud](https://docs.confluent.io/cloud/current/networking/private-links/azure-privatelink.html). + * [Use AWS PrivateLink with Confluent Cloud](https://docs.confluent.io/cloud/current/networking/private-links/aws-privatelink.html). + + + ## The Private Link Accesses Model + + + ## Quotas and Limits + This resource is subject to the [following quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): + + | Quota | Description | + | --- | --- | + | `private_link_accounts_per_network` | Number of AWS accounts per network | + | `private_link_subscriptions_per_network` | Number of Azure subscriptions per network | + | `private_service_connect_projects_per_network` | Number of GCP projects per network | + - name: Network Link Services (networking/v1) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + Network Link Service is associated with a Private Link Confluent Cloud Network. + It enables connectivity from other Private Link Confluent Cloud Networks based on + the configured accept policies. + + + Related guide: [Network Linking Overview](https://docs.confluent.io/cloud/current/networking/network-linking.html). + + ## The Network Link Services Model + + + ## Quotas and Limits + This resource is subject to the [following quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): + + | Quota | Description | + | --- | --- | + | `network_link_service_per_network` | Number of network link services per network | + - name: Network Link Endpoints (networking/v1) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + A Network Link Enpoint is associated with a Private Link Confluent Cloud Network at the origin and a + Network Link Service (associated with another Private Link Confluent Cloud Network) at the target. + It enables connectivity between the origin network and the target network. + It can only be associated with a Private Link network. + + + Related guide: [Network Linking Overview](https://docs.confluent.io/cloud/current/networking/network-linking.html). + + ## The Network Link Endpoints Model + + + ## Quotas and Limits + This resource is subject to the [following quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): + + | Quota | Description | + | --- | --- | + | `network_link_endpoints_per_network` | Number of network link endpoints per network | + - name: Network Link Service Associations (networking/v1) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + List of incoming Network Link Enpoints associated with the Network Link Service. + + + Related guide: [Network Linking Overview](https://docs.confluent.io/cloud/current/networking/network-linking.html). + + ## The Network Link Service Associations Model + + - name: Gateways (networking/v1) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + A gateway is a resource that defines network access to Confluent cloud resources. + + + ## The Gateways Model + + - name: IP Addresses (networking/v1) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + IP Addresses + + Related guide: [Use Public Egress IP addresses on Confluent Cloud](https://docs.confluent.io/cloud/current/networking/static-egress-ip-addresses.html) + + ## The IP Addresses Model + + - name: Private Link Attachments (networking/v1) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + PrivateLink attachment objects represent reservations to establish PrivateLink connections + to a cloud region in order to access resources that belong to a Confluent Cloud Environment. + The API allows you to list, create, read update and delete your PrivateLink attachments. + + + ## The Private Link Attachments Model + + + ## Quotas and Limits + This resource is subject to the [following quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): + + | Quota | Description | + | --- | --- | + | `private_link_attachments_per_environment` | Number of PrivateLink Attachments per environment | + - name: Private Link Attachment Connections (networking/v1) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + PrivateLink attachment connection objects represent connections established to a cloud region + in order to access resources that belong to a Confluent Cloud Environment. + The API allows you to list, create, read update and delete your PrivateLink attachment connections. + + + ## The Private Link Attachment Connections Model + + - name: Identity Providers (iam/v2) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + `IdentityProvider` objects represent external OAuth-OIDC providers in Confluent Cloud. + + The API allows you to list, create, read, update, and delete your Identity Provider. + + + Related guide: [OAuth for Confluent Cloud](https://docs.confluent.io/cloud/current/access-management/authenticate/oauth/overview.html). + + ## The Identity Providers Model + + + ## Quotas and Limits + This resource is subject to the [following quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): + + | Quota | Description | + | --- | --- | + | `identity_providers_per_org` | Number of OAuth identity providers per organization | + | `public_keys_per_provider` | Number of public keys saved per identity provider | + - name: Jwks (iam/v2) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + `JWKS` objects represent public key sets for a specific OAuth/OpenID Connect provider within + Confluent Cloud. + + The API allows you to refresh JWKS public key data. + + + Related guide: [OAuth for Confluent Cloud](https://docs.confluent.io/cloud/current/access-management/authenticate/oauth/overview.html). + + ## The Jwks Model + + - name: Identity Pools (iam/v2) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + `IdentityPool` objects represent groups of identities tied to a given a `IdentityProvider` + that authorizes them to Confluent Cloud resources. + + It provides a mapping functionality of your `Identity Provider` user to a Confluent identity pool that + is then used to provide access to Confluent Resources. + + + Related guide: [Use identity pools with your OAuth provider](https://docs.confluent.io/cloud/current/access-management/authenticate/oauth/identity-pools.html). + + ## The Identity Pools Model + + + ## Quotas and Limits + This resource is subject to the [following quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): + + | Quota | Description | + | --- | --- | + | `identity_pools_per_provider` | Number of Identity Pools per Identity Provider | + - name: OAuth Tokens (sts/v1) + description: | + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + OAuth Token is a [JSON Web Token (JWT)](https://www.rfc-editor.org/rfc/rfc7519) that enables the use of + external identities to access Confluent Cloud APIs + - name: Client Quotas (kafka-quotas/v1) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + `ClientQuota` objects represent Client Quotas you can set at the service account level. + + The API allows you to list, create, read, update, and delete your client quotas. + + + Related guide: [Client Quotas in Confluent Cloud](https://docs.confluent.io/cloud/current/clusters/client-quotas.html). + + ## The Client Quotas Model + + - name: Pipelines (sd/v1) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + `Pipeline` objects represent information about a user-defined pipeline of Confluent Cloud components. + The pipeline's content is available separately. + + The API allows you to create, retrieve, update, and delete your pipelines, + as well as list all of your pipelines for the particular environment and Kafka cluster. + + + Related guide: [Pipelines in Confluent Cloud](https://docs.confluent.io/cloud/current/stream-designer/). + + ## The Pipelines Model + + + ## Quotas and Limits + This resource is subject to the [following quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): + + | Quota | Description | + | --- | --- | + | `pipelines_per_org` | Pipelines in one Confluent Cloud organization | + | `pipelines_per_cluster` | Pipelines in one Confluent Cloud Kafka cluster | + - name: Keys (byok/v1) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + `Key` objects represent customer managed keys on dedicated Confluent Cloud clusters. + + Keys are used to protect data at rest stored in your dedicated Confluent Cloud clusters on AWS, Azure, and GCP. + This API allows you to upload and retrieve self-managed keys on Confluent Cloud. + + + Related guide: [Confluent Cloud Bring Your Own Key (BYOK) Management API](https://docs.confluent.io/cloud/current/clusters/byok/index.html). + + ## The Keys Model + + + ## Quotas and Limits + This resource is subject to the [following quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): + + | Quota | Description | + | --- | --- | + | `byok.max_keys.per_org` | BYOK keys in one Confluent Cloud organisation. | + - name: Costs (billing/v1) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + `Cost` objects represent the aggregated billing costs for an organization + + + Related guide: [Retrieve costs for a range of dates](https://docs.confluent.io/cloud/current/billing/overview.html#retrieve-costs-for-a-range-of-dates). + + ## The Costs Model + + - name: Group Mappings (iam/v2/sso) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + `GroupMapping` objects establish relationships between user groups in your SSO + identity provider and specific RBAC roles in Confluent Cloud. + + Group mappings enable automated and secure access control to Confluent Cloud resources, + reducing administrative workload by streamlining user provisioning and authorization. + + + Related guide: [Use group mappings with your SSO identity provider](https://docs.confluent.io/cloud/current/access-management/authenticate/sso/group-mapping/overview.html). + + ## The Group Mappings Model + + + ## Quotas and Limits + This resource is subject to the [following quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): + + | Quota | Description | + | --- | --- | + | `group_mappings_per_org` | Number of group mappings per organization | + - name: Compute Pools (fcpm/v2) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + A Compute Pool represents a set of compute resources that is used to run your Queries. + The resources (CPUs, memory,…) provided by a Compute Pool are shared between all Queries that use it. + + + ## The Compute Pools Model + + - name: Regions (fcpm/v2) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + `Region` objects represent cloud provider regions available when placing Flink compute pools. + The API allows you to list Flink regions. + + + ## The Regions Model + + - name: Statements (sql/v1) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + `Statement` represents a core resource used to model SQL statements for execution. + A statement generalizes DDL, DML, DQL, etc., but doesn’t attempt to handle session + management or any higher-level functionality. + The API allows you to list, create, read, and delete your statements. + ## The Statements Model + + - name: Statement Results (sql/v1) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + `StatementResult` represents a result of a `Statement` resource. + The API allows you to read your statement's results. + ## The Statement Results Model + + - name: Statement Exceptions (sql/v1) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + `StatementException` represents an exception of a `Statement` resource. + The API allows you to read your statement's exceptions. + ## The Statement Exceptions Model + + - name: Connections (sql/v1) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + `Connection` represents a core resource used to model SQL connections for execution. + A connection generalizes DDL, DML, DQL, etc., but doesn’t attempt to handle session + management or any higher-level functionality. + The API allows you to list, create, read, and delete your connections. + ## The Connections Model + + - name: DNS Forwarders (networking/v1) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + Add, remove, and update DNS forwarder for your gateway. + + Related guides: + * [Use VPC peering connections with Confluent Cloud on AWS](https://docs.confluent.io/cloud/current/networking/peering/aws-peering.html). + * [Use VNet peering connections with Confluent Cloud on Azure](https://docs.confluent.io/cloud/current/networking/peering/azure-peering.html). + + + ## The DNS Forwarders Model + + - name: Access Points (networking/v1) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + AccessPoint objects represent network connections in and out of Gateways. + This API allows you to list, create, read, update, and delete your access points. + + + ## The Access Points Model + + - name: DNS Records (networking/v1) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + DNS record objects are associated with Confluent Cloud networking resources. This API allows you to list, create, read, update, and delete your DNS records. + + ## The DNS Records Model + + - name: Certificate Authorities (iam/v2) + description: |- + [![Limited Availability](https://img.shields.io/badge/Lifecycle%20Stage-Limited%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + `CertificateAuthority` objects represent signing certificate authorities in Confluent Cloud. + + The API allows you to list, create, read, update, and delete your Certificate Authority. + + + Related guide: [Manage certificate authorities used for client authentication with X.509 certificates.](https://docs.confluent.io/cloud/current/access-management/authenticate/mtls/overview.html). + + ## The Certificate Authorities Model + + + ## Quotas and Limits + This resource is subject to the [following quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): + + | Quota | Description | + | --- | --- | + | `certificate_authorities_per_org` | Number of certificate authorities per organization | + - name: Certificate Identity Pools (iam/v2) + description: |- + [![Limited Availability](https://img.shields.io/badge/Lifecycle%20Stage-Limited%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + `Identitypool` objects represent workload identities in Confluent Cloud. + + The API allows you to list, create, read, update, and delete your identity pools associated + with Certificate Authorities + + + Related guide: [Manage Certificate Identity Pools for Granular Client Access Management](https://docs.confluent.io/cloud/current/access-management/authenticate/mtls/configure.html#step-2-create-certificate-identity-pools-for-granular-access-control). + + ## The Certificate Identity Pools Model + + + ## Quotas and Limits + This resource is subject to the [following quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): + + | Quota | Description | + | --- | --- | + | `identity_pools_per_certificate_authority` | Number of Identity Pools per Certificate Authority | + - name: Integrations (pim/v1) + description: |- + [![Early Access](https://img.shields.io/badge/Lifecycle%20Stage-Early%20Access-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) [![Request Access To Provider Integration](https://img.shields.io/badge/-Request%20Access%20To%20Provider%20Integration-%23bc8540)](mailto:ccloud-api-access+pim-v1-early-access@confluent.io?subject=Request%20to%20join%20pim/v1%20API%20Early%20Access&body=I%E2%80%99d%20like%20to%20join%20the%20Confluent%20Cloud%20API%20Early%20Access%20for%20pim/v1%20to%20provide%20early%20feedback%21%20My%20Cloud%20Organization%20ID%20is%20%3Cretrieve%20from%20https%3A//confluent.cloud/settings/billing/payment%3E.) + + `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, and delete individual integrations, and also obtain a + list of all your provider integrations. + + + Related guide: [Provider Integration in Confluent Cloud](https://docs.confluent.io/home/overview.html). + + ## The Integrations Model + + - name: Flink Artifacts (artifact/v1) + description: |- + [![Early Access](https://img.shields.io/badge/Lifecycle%20Stage-Early%20Access-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) [![Request Access To Flink Artifact API EA](https://img.shields.io/badge/-Request%20Access%20To%20Flink%20Artifact%20API%20EA-%23bc8540)](mailto:ccloud-api-access+artifact-v1-early-access@confluent.io?subject=Request%20to%20join%20artifact/v1%20API%20Early%20Access&body=I%E2%80%99d%20like%20to%20join%20the%20Confluent%20Cloud%20API%20Early%20Access%20for%20artifact/v1%20to%20provide%20early%20feedback%21%20My%20Cloud%20Organization%20ID%20is%20%3Cretrieve%20from%20https%3A//confluent.cloud/settings/billing/payment%3E.) + + FlinkArtifact objects represent Flink Artifacts on Confluent Cloud. + + + ## The Flink Artifacts Model + + - name: Presigned Urls (artifact/v1) + description: |- + [![Early Access](https://img.shields.io/badge/Lifecycle%20Stage-Early%20Access-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) [![Request Access To Flink Artifact API EA](https://img.shields.io/badge/-Request%20Access%20To%20Flink%20Artifact%20API%20EA-%23bc8540)](mailto:ccloud-api-access+artifact-v1-early-access@confluent.io?subject=Request%20to%20join%20artifact/v1%20API%20Early%20Access&body=I%E2%80%99d%20like%20to%20join%20the%20Confluent%20Cloud%20API%20Early%20Access%20for%20artifact/v1%20to%20provide%20early%20feedback%21%20My%20Cloud%20Organization%20ID%20is%20%3Cretrieve%20from%20https%3A//confluent.cloud/settings/billing/payment%3E.) + + Request a presigned upload URL for new Flink Artifact. Note that + the URL policy expires in one hour. If the policy expires, you can request + a new presigned upload URL. + + + ## The Presigned Urls Model + + - name: Flink Artifact Versions (artifact/v1) + description: |- + [![Early Access](https://img.shields.io/badge/Lifecycle%20Stage-Early%20Access-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) [![Request Access To Flink Artifact API EA](https://img.shields.io/badge/-Request%20Access%20To%20Flink%20Artifact%20API%20EA-%23bc8540)](mailto:ccloud-api-access+artifact-v1-early-access@confluent.io?subject=Request%20to%20join%20artifact/v1%20API%20Early%20Access&body=I%E2%80%99d%20like%20to%20join%20the%20Confluent%20Cloud%20API%20Early%20Access%20for%20artifact/v1%20to%20provide%20early%20feedback%21%20My%20Cloud%20Organization%20ID%20is%20%3Cretrieve%20from%20https%3A//confluent.cloud/settings/billing/payment%3E.) + + FlinkArtifactVersion objects represent Flink Artifact Versions on Confluent Cloud. + + + ## The Flink Artifact Versions Model + +components: + schemas: + MultipleSearchFilter: + description: Filter a collection by a string search for one or more values + type: array + items: + type: string + SearchFilter: + description: Filter a collection by a string search + type: string + networking.v1.NetworkList: + type: object + description: |- + `Network` represents a network (VPC) in Confluent Cloud. All Networks exist within Confluent-managed cloud + provider accounts. Dedicated networks support more networking options but can only contain Dedicated clusters. + Shared networks can contain any cluster type. + + The API allows you to list, create, read, update, and delete your networks. + + + Related guide: [APIs to manage networks in Confluent Cloud](https://docs.confluent.io/cloud/current/networking/overview.html). + + ## The Networks Model + + + ## Quotas and Limits + This resource is subject to the [following quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): + + | Quota | Description | + | --- | --- | + | `dedicated_networks_per_environment` | Number of dedicated networks per Confluent Cloud environment | + required: + - api_version + - kind + - metadata + - data + properties: + api_version: + type: string + enum: + - networking/v1 + 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: + - NetworkList + metadata: + allOf: + - $ref: '#/components/schemas/ListMeta' + - properties: + first: + example: 'https://api.confluent.cloud/networking/v1/networks' + last: + example: 'https://api.confluent.cloud/networking/v1/networks?page_token=bcAOehAY8F16YD84Z1wT' + prev: + example: 'https://api.confluent.cloud/networking/v1/networks?page_token=YIXRY97wWYmwzrax4dld' + next: + example: 'https://api.confluent.cloud/networking/v1/networks?page_token=UvmDWOB1iwfAIBPj6EYb' + data: + type: array + description: A data property that contains an array of resource items. Each entry in the array is a separate resource. + items: + allOf: + - $ref: '#/components/schemas/networking.v1.Network' + - type: object + required: + - id + - metadata + - spec + - status + properties: + spec: + type: object + required: + - cloud + - region + - connection_types + - environment + uniqueItems: true + ListMeta: + type: object + description: ListMeta describes metadata that resource collections may have + properties: + first: + description: 'A link to the first page of results. If a response does not contain a first link, then direct navigation to the first page is not supported.' + type: string + 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 + networking.v1.Network: + type: object + description: |- + `Network` represents a network (VPC) in Confluent Cloud. All Networks exist within Confluent-managed cloud + provider accounts. Dedicated networks support more networking options but can only contain Dedicated clusters. + Shared networks can contain any cluster type. + + The API allows you to list, create, read, update, and delete your networks. + + + Related guide: [APIs to manage networks in Confluent Cloud](https://docs.confluent.io/cloud/current/networking/overview.html). + + ## The Networks Model + + + ## Quotas and Limits + This resource is subject to the [following quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): + + | Quota | Description | + | --- | --- | + | `dedicated_networks_per_environment` | Number of dedicated networks per Confluent Cloud environment | + properties: + api_version: + type: string + enum: + - networking/v1 + 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: + - Network + 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 + metadata: + allOf: + - $ref: '#/components/schemas/ObjectMeta' + - properties: + self: + example: 'https://api.confluent.cloud/networking/v1/networks/n-12345' + resource_name: + example: 'crn://confluent.cloud/organization=9bb441c4-edef-46ac-8a41-c49e44a3fd9a/environment=env-abc123/network=n-12345' + spec: + $ref: '#/components/schemas/networking.v1.NetworkSpec' + status: + $ref: '#/components/schemas/networking.v1.NetworkStatus' + AclOperation: + type: string + x-extensible-enum: + - UNKNOWN + - ANY + - ALL + - READ + - WRITE + - CREATE + - DELETE + - ALTER + - DESCRIBE + - CLUSTER_ACTION + - DESCRIBE_CONFIGS + - ALTER_CONFIGS + - IDEMPOTENT_WRITE + AclPatternType: + type: string + x-extensible-enum: + - UNKNOWN + - ANY + - MATCH + - LITERAL + - PREFIXED + AclPermission: + type: string + x-extensible-enum: + - UNKNOWN + - ANY + - DENY + - ALLOW + AclResourceType: + type: string + enum: + - UNKNOWN + - ANY + - TOPIC + - GROUP + - CLUSTER + - TRANSACTIONAL_ID + - DELEGATION_TOKEN + BrokerTaskType: + type: string + enum: + - add-broker + - remove-broker + MirrorTopicStatus: + enum: + - ACTIVE + - FAILED + - LINK_FAILED + - LINK_PAUSED + - PAUSED + - PENDING_STOPPED + - SOURCE_UNAVAILABLE + - STOPPED + - PENDING_MIRROR + - PENDING_SYNCHRONIZE + - PENDING_SETUP_FOR_RESTORE + - PENDING_RESTORE + type: string + Failure: + type: object + description: Provides information about problems encountered while performing an operation. + required: + - errors + properties: + errors: + description: List of errors which caused this operation to fail + type: array + items: + $ref: '#/components/schemas/Error' + uniqueItems: true + AlterConfigBatchRequestData: + type: object + required: + - data + properties: + data: + type: array + items: + type: object + required: + - name + properties: + name: + type: string + value: + type: string + nullable: true + operation: + type: string + x-extensible-enum: + - SET + - DELETE + nullable: true + validate_only: + type: boolean + CreateAclRequestData: + type: object + required: + - resource_type + - resource_name + - pattern_type + - principal + - host + - operation + - permission + properties: + resource_type: + $ref: '#/components/schemas/AclResourceType' + resource_name: + type: string + pattern_type: + $ref: '#/components/schemas/AclPatternType' + principal: + type: string + host: + type: string + operation: + $ref: '#/components/schemas/AclOperation' + permission: + $ref: '#/components/schemas/AclPermission' + CreateAclRequestDataList: + allOf: + - type: object + required: + - data + properties: + data: + type: array + items: + $ref: '#/components/schemas/CreateAclRequestData' + CreateTopicRequestData: + type: object + required: + - topic_name + properties: + topic_name: + type: string + partitions_count: + type: integer + replication_factor: + type: integer + configs: + type: array + items: + type: object + required: + - name + properties: + name: + type: string + value: + type: string + nullable: true + validate_only: + type: boolean + ProduceRequest: + type: object + properties: + partition_id: + type: integer + nullable: true + format: int32 + headers: + type: array + items: + $ref: '#/components/schemas/ProduceRequestHeader' + key: + $ref: '#/components/schemas/ProduceRequestData' + value: + $ref: '#/components/schemas/ProduceRequestData' + timestamp: + type: string + format: date-time + nullable: true + UpdateConfigRequestData: + type: object + properties: + value: + type: string + nullable: true + CreateLinkRequestData: + properties: + source_cluster_id: + type: string + destination_cluster_id: + type: string + remote_cluster_id: + description: The expected remote cluster ID. + type: string + cluster_link_id: + description: 'The expected cluster link ID. Can be provided when creating the second side of a bidirectional link for validating the link ID is as expected. If it''s not provided, it''s inferred from the remote cluster.' + type: string + configs: + items: + $ref: '#/components/schemas/ConfigData' + type: array + type: object + UpdateLinkConfigRequestData: + properties: + value: + type: string + required: + - value + type: object + CreateMirrorTopicRequestData: + properties: + source_topic_name: + type: string + mirror_topic_name: + type: string + replication_factor: + type: integer + configs: + type: array + items: + $ref: '#/components/schemas/ConfigData' + required: + - source_topic_name + type: object + AlterMirrorsRequestData: + properties: + mirror_topic_names: + description: The mirror topics specified as a list of topic names. + type: array + items: + type: string + mirror_topic_name_pattern: + description: The mirror topics specified as a pattern. + type: string + type: object + RemoveBrokersRequestData: + properties: + broker_ids: + type: array + items: + type: integer + required: + - broker_ids + type: object + BrokerReplicaExclusionBatchRequestData: + type: object + required: + - data + properties: + data: + type: array + items: + $ref: '#/components/schemas/BrokerReplicaExclusionRequestData' + ObjectMeta: + description: 'ObjectMeta is metadata that all persisted resources must have, which includes all objects users must create.' + required: + - self + properties: + self: + description: 'Self is a Uniform Resource Locator (URL) at which an object can be addressed. This URL encodes the service location, API version, and other particulars necessary to locate the resource at a point in time' + type: string + format: uri + readOnly: true + example: 'https://api.confluent.cloud/v2/kafka-clusters/lkc-f3a90de' + resource_name: + description: Resource Name is a Uniform Resource Identifier (URI) that is globally unique across space and time. It is represented as a Confluent Resource Name + type: string + format: uri + readOnly: true + example: 'crn://confluent.cloud/kafka=lkc-f3a90de' + created_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: The date and time at which this object was created. It is represented in RFC3339 format and is in UTC. + updated_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: The date and time at which this object was last updated. It is represented in RFC3339 format and is in UTC. + deleted_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: The date and time at which this object was (or will be) deleted. It is represented in RFC3339 format and is in UTC. + readOnly: true + networking.v1.NetworkSpec: + type: object + description: The desired state of the Network + properties: + display_name: + type: string + description: The name of the network + example: prod-aws-us-east1 + cloud: + type: string + description: The cloud service provider in which the network exists. + x-extensible-enum: + - AWS + - GCP + - AZURE + example: AWS + x-immutable: true + region: + type: string + description: The cloud service provider region in which the network exists. + example: us-east-1 + x-immutable: true + connection_types: + type: array + description: The connection types requested for use with the network. + items: + $ref: '#/components/schemas/networking.v1.ConnectionType' + uniqueItems: true + minItems: 1 + x-immutable: true + cidr: + type: string + pattern: ^\d+\.\d+\.\d+\.\d+/\d+$ + description: | + The IPv4 [CIDR block](https://en.wikipedia.org/wiki/Classless_Inter-Domain_Routing) to used for this network. + Must be `/16`. Required for VPC peering and AWS TransitGateway. + example: 10.200.0.0/16 + x-immutable: true + zones: + type: array + items: + type: string + uniqueItems: true + minItems: 3 + maxItems: 3 + description: | + The 3 availability zones for this network. They can optionally be specified for AWS networks + used with PrivateLink, for GCP networks used with Private Service Connect, and for AWS and GCP + networks used with Peering. + Otherwise, they are automatically chosen by Confluent Cloud. + + On AWS, zones are AWS [AZ IDs](https://docs.aws.amazon.com/ram/latest/userguide/working-with-az-ids.html) + (e.g. use1-az3) + + On GCP, zones are GCP [zones](https://cloud.google.com/compute/docs/regions-zones) + (e.g. us-central1-c). + + On Azure, zones are Confluent-chosen names (e.g. 1, 2, 3) since Azure does not + have universal zone identifiers. + example: + - use1-az1 + - use1-az2 + - use1-az3 + x-immutable: true + zones_info: + type: array + minItems: 3 + maxItems: 3 + uniqueItems: true + items: + $ref: '#/components/schemas/networking.v1.ZoneInfo' + description: | + Each item represents information related to a single zone. + + Note - The attribute is in a [Limited Availability lifecycle stage](https://docs.confluent.io/cloud/current/api.html#section/Versioning/API-Lifecycle-Policy) + x-immutable: true + dns_config: + description: | + DNS config only applies to PrivateLink network connection type. + + When resolution is CHASED_PRIVATE, clusters in this network require both public and private DNS + to resolve cluster endpoints. + + When resolution is PRIVATE, clusters in this network only require private DNS + to resolve cluster endpoints. + allOf: + - $ref: '#/components/schemas/networking.v1.DnsConfig' + x-immutable: true + reserved_cidr: + type: string + description: | + The reserved CIDR config is used only by AWS networks with connection_types = Vpc_Peering or Transit_Gateway + + An IPv4 [CIDR](https://en.wikipedia.org/wiki/Classless_Inter-Domain_Routing) + reserved for Confluent Cloud Network. Must be \24. + If not specified, Confluent Cloud Network uses 172.20.255.0/24 + + Note - The attribute is in a [Limited Availability lifecycle stage](https://docs.confluent.io/cloud/current/api.html#section/Versioning/API-Lifecycle-Policy) + example: 172.20.255.0/24 + x-immutable: true + environment: + allOf: + - $ref: '#/components/schemas/ObjectReference' + description: The environment to which this belongs. + gateway: + allOf: + - $ref: '#/components/schemas/TypedEnvScopedObjectReference' + nullable: true + description: The gateway associated with this object. The gateway can be one of networking.v1.Gateway. May be `null` or omitted if not associated with a gateway. + readOnly: true + x-enable-id: true + x-enable-listmeta: true + x-enable-objectmeta: true + networking.v1.NetworkStatus: + type: object + required: + - phase + - supported_connection_types + - active_connection_types + description: The status of the Network + properties: + phase: + type: string + x-extensible-enum: + - PROVISIONING + - READY + - FAILED + - DEPROVISIONING + description: | + The lifecyle phase of the network: + + PROVISIONING: network provisioning is in progress; + + READY: network is ready; + + FAILED: provisioning failed; + + DEPROVISIONING: network deprovisioning is in progress; + readOnly: true + example: READY + supported_connection_types: + type: array + description: The connection types this network supports. + items: + $ref: '#/components/schemas/networking.v1.ConnectionType' + uniqueItems: true + minItems: 1 + readOnly: true + active_connection_types: + type: array + description: The connection types requested for use with the network. + items: + $ref: '#/components/schemas/networking.v1.ConnectionType' + uniqueItems: true + minItems: 1 + readOnly: true + error_code: + type: string + description: Error code if network is in a failed state. May be used for programmatic error checking. + readOnly: true + example: insufficient_capacity + error_message: + type: string + description: Displayable error message if network is in a failed state + readOnly: true + example: Could not provision cloud resources + dns_domain: + type: string + description: The root DNS domain for the network if applicable. Present on networks that support PrivateLink. + example: 00000.us-east-1.aws.glb.confluent.cloud + readOnly: true + zonal_subdomains: + type: object + additionalProperties: + type: string + description: | + The DNS subdomain for each zone. Present on networks that support PrivateLink. Keys are zones and + values are DNS domains. + example: + use1-az1: use1-az1.00000.us-east-1.aws.confluent.cloud + use1-az4: use1-az4.00000.us-east-1.aws.confluent.cloud + use1-az5: use1-az5.00000.us-east-1.aws.confluent.cloud + readOnly: true + cloud: + type: object + oneOf: + - $ref: '#/components/schemas/networking.v1.AwsNetwork' + - $ref: '#/components/schemas/networking.v1.GcpNetwork' + - $ref: '#/components/schemas/networking.v1.AzureNetwork' + description: The cloud-specific network details. These will be populated when the network reaches the READY state. + discriminator: + propertyName: kind + mapping: + AwsNetwork: '#/components/schemas/networking.v1.AwsNetwork' + GcpNetwork: '#/components/schemas/networking.v1.GcpNetwork' + AzureNetwork: '#/components/schemas/networking.v1.AzureNetwork' + readOnly: true + idle_since: + type: string + format: date-time + example: '2024-01-01T00:00:00Z' + description: The date and time when the network becomes idle + readOnly: true + readOnly: true + Error: + type: object + description: Describes a particular error encountered while performing an operation. + properties: + id: + description: A unique identifier for this particular occurrence of the problem. + type: string + maxLength: 255 + status: + description: 'The HTTP status code applicable to this problem, expressed as a string value.' + type: string + code: + description: 'An application-specific error code, expressed as a string value.' + type: string + title: + description: 'A short, human-readable summary of the problem. It **SHOULD NOT** change from occurrence to occurrence of the problem, except for purposes of localization.' + type: string + detail: + description: A human-readable explanation specific to this occurrence of the problem. + type: string + source: + type: object + description: 'If this error was caused by a particular part of the API request, the source will point to the query string parameter or request body property that caused it.' + properties: + pointer: + description: 'A JSON Pointer [RFC6901] to the associated entity in the request document [e.g. "/spec" for a spec object, or "/spec/title" for a specific field].' + type: string + parameter: + description: A string indicating which query parameter caused the error. + type: string + error_code: + type: integer + format: int32 + message: + type: string + nullable: true + additionalProperties: false + ProduceRequestHeader: + type: object + required: + - name + properties: + name: + type: string + value: + type: string + format: byte + nullable: true + ProduceRequestData: + type: object + properties: + type: + type: string + x-extensible-enum: + - BINARY + - JSON + - STRING + data: + $ref: '#/components/schemas/AnyValue' + nullable: true + ConfigData: + example: + name: name + value: value + properties: + name: + type: string + value: + nullable: true + type: string + required: + - name + - value + BrokerReplicaExclusionRequestData: + type: object + required: + - broker_id + - reason + properties: + broker_id: + type: integer + reason: + type: string + networking.v1.ConnectionType: + type: string + description: Network connection type. + x-extensible-enum: + - PEERING + - TRANSITGATEWAY + - PRIVATELINK + example: PRIVATELINK + networking.v1.ZoneInfo: + type: object + description: Cloud provider zone metadata. + properties: + zone_id: + description: Cloud provider zone id + type: string + example: use1-az3 + cidr: + description: | + The IPv4 [CIDR block](https://en.wikipedia.org/wiki/Classless_Inter-Domain_Routing) to used for this network. + Must be a `/27`. Required for VPC peering and AWS TransitGateway. + type: string + example: 10.20.0.0/27 + networking.v1.DnsConfig: + type: object + description: The network DNS config + required: + - resolution + properties: + resolution: + type: string + description: Network DNS resolution type. + x-extensible-enum: + - CHASED_PRIVATE + - PRIVATE + ObjectReference: + type: object + description: ObjectReference provides information for you to locate the referred object + required: + - id + - related + - resource_name + properties: + id: + type: string + description: ID of the referred resource + minLength: 1 + maxLength: 255 + environment: + type: string + description: 'Environment of the referred resource, if env-scoped' + minLength: 1 + maxLength: 255 + related: + type: string + format: uri + description: API URL for accessing or modifying the referred object + minLength: 1 + readOnly: true + resource_name: + type: string + format: uri + description: CRN reference to the referred resource + minLength: 1 + readOnly: true + api_version: + type: string + description: API group and version of the referred resource + minLength: 1 + readOnly: true + kind: + type: string + description: Kind of the referred resource + minLength: 1 + readOnly: true + TypedEnvScopedObjectReference: + 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 + networking.v1.AwsNetwork: + type: object + description: The AWS network details. + required: + - kind + - vpc + - account + properties: + kind: + description: Network kind type. + type: string + enum: + - AwsNetwork + vpc: + type: string + description: The Confluent Cloud VPC ID. + example: vpc-00000000000000000 + readOnly: true + account: + type: string + description: The AWS account ID associated with the Confluent Cloud VPC. + example: '000000000000' + readOnly: true + private_link_endpoint_service: + type: string + description: The endpoint service of the Confluent Cloud VPC. (used for PrivateLink) if available. + example: com.amazonaws.vpce.eu-west-3.vpce-00000000000000000 + readOnly: true + networking.v1.GcpNetwork: + type: object + description: The GCP network details. + required: + - kind + - project + - vpc_network + properties: + kind: + description: Network kind type. + type: string + enum: + - GcpNetwork + project: + type: string + description: The GCP Project ID associated with the Confluent Cloud VPC. + example: cc-prod-3 + readOnly: true + vpc_network: + type: string + description: The network name of the Confluent Cloud VPC. + example: prod-network + readOnly: true + private_service_connect_service_attachments: + type: object + description: | + The mapping of zones to Private Service Connect Service + Attachments if available. Keys are zones and values are + [GCP Private Service Connect Service + Attachment](https://cloud.google.com/vpc/docs/configure-private-service-connect-producer#api_7) + additionalProperties: + type: string + example: + us-central1-a: projects/cc-prod/regions/us-central1/serviceAttachments/s-7jjm9-service-attachment-us-central1-a + us-central1-b: projects/cc-prod/regions/us-central1/serviceAttachments/s-7jjm9-service-attachment-us-central1-b + us-central1-c: projects/cc-prod/regions/us-central1/serviceAttachments/s-7jjm9-service-attachment-us-central1-c + readOnly: true + networking.v1.AzureNetwork: + type: object + description: The Azure network details. + required: + - kind + - vnet + - subscription + properties: + kind: + description: Network kind type. + type: string + enum: + - AzureNetwork + vnet: + type: string + description: The resource ID of the Confluent Cloud VNet. + example: /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/prod-group/providers/Microsoft.Network/virtualNetworks/prod-network + readOnly: true + subscription: + type: string + description: The Azure Subscription ID associated with the Confluent Cloud VPC. + example: 00000000-0000-0000-0000-000000000000 + readOnly: true + private_link_service_aliases: + type: object + description: | + The mapping of zones to Private Link Service Aliases if available. Keys are zones + and values are [Azure Private Link Service + Aliases](https://docs.microsoft.com/en-us/azure/private-link/private-link-service-overview#share-your-service). + additionalProperties: + type: string + example: + '1': 0-00000-privatelink-1.00000000-0000-0000-0000-000000000000.westeurope.azure.privatelinkservice + '2': 0-00000-privatelink-2.00000000-0000-0000-0000-000000000000.westeurope.azure.privatelinkservice + '3': 0-00000-privatelink-3.00000000-0000-0000-0000-000000000000.westeurope.azure.privatelinkservice + readOnly: true + private_link_service_resource_ids: + type: object + description: | + The mapping of zones to Private Link Service Resource IDs if available. Keys are zones + and values are [Azure Private Link Service Resource + IDs](https://docs.microsoft.com/en-us/azure/private-link/private-link-service-overview#share-your-service). + additionalProperties: + type: string + example: + '1': /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/0-00000/providers/Microsoft.Network/privateLinkServices/0-00000-privatelink-1 + '2': /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/0-00000/providers/Microsoft.Network/privateLinkServices/0-00000-privatelink-2 + '3': /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/0-00000/providers/Microsoft.Network/privateLinkServices/0-00000-privatelink-3 + readOnly: true + AnyValue: + nullable: true + networking.v1.NetworkUpdate: + type: object + description: |- + `Network` represents a network (VPC) in Confluent Cloud. All Networks exist within Confluent-managed cloud + provider accounts. Dedicated networks support more networking options but can only contain Dedicated clusters. + Shared networks can contain any cluster type. + + The API allows you to list, create, read, update, and delete your networks. + + + Related guide: [APIs to manage networks in Confluent Cloud](https://docs.confluent.io/cloud/current/networking/overview.html). + + ## The Networks Model + + + ## Quotas and Limits + This resource is subject to the [following quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): + + | Quota | Description | + | --- | --- | + | `dedicated_networks_per_environment` | Number of dedicated networks per Confluent Cloud environment | + properties: + api_version: + type: string + enum: + - networking/v1 + 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: + - Network + 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 + metadata: + allOf: + - $ref: '#/components/schemas/ObjectMeta' + - properties: + self: + example: 'https://api.confluent.cloud/networking/v1/networks/n-12345' + resource_name: + example: 'crn://confluent.cloud/organization=9bb441c4-edef-46ac-8a41-c49e44a3fd9a/environment=env-abc123/network=n-12345' + spec: + $ref: '#/components/schemas/networking.v1.NetworkSpecUpdate' + status: + $ref: '#/components/schemas/networking.v1.NetworkStatus' + networking.v1.NetworkSpecUpdate: + type: object + description: The desired state of the Network + properties: + display_name: + type: string + description: The name of the network + example: prod-aws-us-east1 + environment: + allOf: + - $ref: '#/components/schemas/ObjectReference' + description: The environment to which this belongs. + gateway: + allOf: + - $ref: '#/components/schemas/TypedEnvScopedObjectReference' + nullable: true + description: The gateway associated with this object. The gateway can be one of networking.v1.Gateway. May be `null` or omitted if not associated with a gateway. + readOnly: true + x-enable-id: true + x-enable-listmeta: true + x-enable-objectmeta: true + networking.v1.PeeringList: + type: object + description: |- + Add or remove VPC/VNet peering connections between your VPC/VNet and Confluent Cloud. + + Related guides: + * [Use VPC peering connections with Confluent Cloud on AWS](https://docs.confluent.io/cloud/current/networking/peering/aws-peering.html). + * [Use VNet peering connections with Confluent Cloud on Azure](https://docs.confluent.io/cloud/current/networking/peering/azure-peering.html). + * [Use VPC peering connections with Confluent Cloud on Google Cloud](https://docs.confluent.io/cloud/current/networking/peering/gcp-peering.html). + + + ## The Peerings Model + + + ## Quotas and Limits + This resource is subject to the [following quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): + + | Quota | Description | + | --- | --- | + | `peerings_per_network` | Number of peerings per network | + required: + - api_version + - kind + - metadata + - data + properties: + api_version: + type: string + enum: + - networking/v1 + 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: + - PeeringList + metadata: + allOf: + - $ref: '#/components/schemas/ListMeta' + - properties: + first: + example: 'https://api.confluent.cloud/networking/v1/peerings' + last: + example: 'https://api.confluent.cloud/networking/v1/peerings?page_token=bcAOehAY8F16YD84Z1wT' + prev: + example: 'https://api.confluent.cloud/networking/v1/peerings?page_token=YIXRY97wWYmwzrax4dld' + next: + example: 'https://api.confluent.cloud/networking/v1/peerings?page_token=UvmDWOB1iwfAIBPj6EYb' + data: + type: array + description: A data property that contains an array of resource items. Each entry in the array is a separate resource. + items: + allOf: + - $ref: '#/components/schemas/networking.v1.Peering' + - type: object + required: + - id + - metadata + - spec + - status + properties: + spec: + type: object + required: + - cloud + - environment + - network + uniqueItems: true + networking.v1.Peering: + type: object + description: |- + Add or remove VPC/VNet peering connections between your VPC/VNet and Confluent Cloud. + + Related guides: + * [Use VPC peering connections with Confluent Cloud on AWS](https://docs.confluent.io/cloud/current/networking/peering/aws-peering.html). + * [Use VNet peering connections with Confluent Cloud on Azure](https://docs.confluent.io/cloud/current/networking/peering/azure-peering.html). + * [Use VPC peering connections with Confluent Cloud on Google Cloud](https://docs.confluent.io/cloud/current/networking/peering/gcp-peering.html). + + + ## The Peerings Model + + + ## Quotas and Limits + This resource is subject to the [following quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): + + | Quota | Description | + | --- | --- | + | `peerings_per_network` | Number of peerings per network | + properties: + api_version: + type: string + enum: + - networking/v1 + 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: + - Peering + 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 + metadata: + allOf: + - $ref: '#/components/schemas/ObjectMeta' + - properties: + self: + example: 'https://api.confluent.cloud/networking/v1/peerings/p-12345' + resource_name: + example: 'crn://confluent.cloud/organization=9bb441c4-edef-46ac-8a41-c49e44a3fd9a/environment=env-abc123/network=n-456xyz/peering=p-12345' + spec: + $ref: '#/components/schemas/networking.v1.PeeringSpec' + status: + $ref: '#/components/schemas/networking.v1.PeeringStatus' + networking.v1.PeeringSpec: + type: object + description: The desired state of the Peering + properties: + display_name: + type: string + description: The name of the peering + example: prod-peering-use1 + cloud: + type: object + oneOf: + - $ref: '#/components/schemas/networking.v1.AwsPeering' + - $ref: '#/components/schemas/networking.v1.GcpPeering' + - $ref: '#/components/schemas/networking.v1.AzurePeering' + discriminator: + propertyName: kind + mapping: + AwsPeering: '#/components/schemas/networking.v1.AwsPeering' + GcpPeering: '#/components/schemas/networking.v1.GcpPeering' + AzurePeering: '#/components/schemas/networking.v1.AzurePeering' + description: The cloud-specific peering details. + x-immutable: true + environment: + allOf: + - $ref: '#/components/schemas/ObjectReference' + description: The environment to which this belongs. + network: + allOf: + - $ref: '#/components/schemas/ObjectReference' + description: The network to which this belongs. + x-immutable: true + x-enable-id: true + x-enable-listmeta: true + x-enable-objectmeta: true + networking.v1.PeeringStatus: + type: object + required: + - phase + description: The status of the Peering + properties: + phase: + type: string + x-extensible-enum: + - PROVISIONING + - PENDING_ACCEPT + - READY + - FAILED + - DEPROVISIONING + - DISCONNECTED + description: | + The lifecycle phase of the peering: + + PROVISIONING: peering provisioning is in progress; + + PENDING_ACCEPT: peering connection request is pending acceptance by the customer; + + READY: peering is ready; + + FAILED: peering is in a failed state; + + DEPROVISIONING: peering deprovisioning is in progress; + + DISCONNECTED: peering has been disconnected in the cloud provider by the customer; + readOnly: true + example: READY + error_code: + type: string + description: Error code if peering is in a failed state. May be used for programmatic error checking. + readOnly: true + error_message: + type: string + description: Displayable error message if peering is in a failed state + readOnly: true + readOnly: true + networking.v1.AwsPeering: + type: object + title: AWS + description: AWS VPC Peering. + required: + - kind + - account + - vpc + - routes + - customer_region + properties: + kind: + description: Peering kind type. + type: string + enum: + - AwsPeering + account: + type: string + pattern: '^\d{12}$' + example: '000000000000' + description: The AWS account ID associated with the VPC you are peering with Confluent Cloud network. + vpc: + type: string + minLength: 1 + description: The VPC ID you are peering with Confluent Cloud network. + example: vpc-00000000000000000 + routes: + type: array + items: + $ref: '#/components/schemas/networking.v1.Cidr' + description: | + The [CIDR blocks](https://en.wikipedia.org/wiki/Classless_Inter-Domain_Routing) of the VPC you are peering + with Confluent Cloud network. This is used by Confluent Cloud network to route traffic back to your network. + The CIDR block must be a private range and cannot overlap with the Confluent Cloud CIDR block. + example: + - 10.108.16.0/21 + customer_region: + type: string + description: The region of the VPC you are peering with Confluent Cloud network. + example: us-east-1 + networking.v1.GcpPeering: + type: object + title: GCP + description: GCP VPC Peering. + required: + - kind + - project + - vpc_network + properties: + kind: + description: Peering kind type. + type: string + enum: + - GcpPeering + example: GcpPeering + project: + type: string + minLength: 1 + description: | + The Google Cloud project ID associated with the VPC that you are peering with Confluent Cloud network. + example: my-gcp-project + vpc_network: + type: string + minLength: 1 + description: The name of the VPC that you are peering with Confluent Cloud network. + example: my-gcp-network + import_custom_routes: + type: boolean + description: | + Enable customer route import. For more information, see + [Importing custom routes](https://cloud.google.com/vpc/docs/vpc-peering#importing-exporting-routes). + example: true + default: false + networking.v1.AzurePeering: + type: object + title: AZURE + description: Azure VNet Peering. + required: + - kind + - tenant + - vnet + - customer_region + properties: + kind: + description: Peering kind type. + type: string + enum: + - AzurePeering + tenant: + type: string + minLength: 1 + description: | + The Azure Tenant ID in which your Azure Subscription exists. + Represents an organization in Azure Active Directory. You can find your Azure Tenant ID in the Azure Portal + under + [Azure Active Directory](https://portal.azure.com/#blade/Microsoft_AAD_IAM/ActiveDirectoryMenuBlade/Overview). + Must be a valid **32 character UUID string**. + vnet: + type: string + minLength: 1 + description: 'The resource ID of the VNet that you are peering with Confluent Cloud. You can find the name of your Azure VNet in the [Azure Portal on the Overview tab of your Azure Virtual Network](https://portal.azure.com/#blade/HubsExtension/BrowseResource/resourceType/Microsoft.Network%2FvirtualNetworks).' + example: /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/my-rg/providers/Microsoft.Network/virtualNetworks/my-vnet + customer_region: + type: string + description: The region of the VNet you are peering with Confluent Cloud network. + example: eastus2 + networking.v1.Cidr: + type: string + pattern: ^\d+\.\d+\.\d+\.\d+/\d+$ + description: IPv4 CIDR block + example: 10.200.0.0/16 + networking.v1.PeeringUpdate: + type: object + description: |- + Add or remove VPC/VNet peering connections between your VPC/VNet and Confluent Cloud. + + Related guides: + * [Use VPC peering connections with Confluent Cloud on AWS](https://docs.confluent.io/cloud/current/networking/peering/aws-peering.html). + * [Use VNet peering connections with Confluent Cloud on Azure](https://docs.confluent.io/cloud/current/networking/peering/azure-peering.html). + * [Use VPC peering connections with Confluent Cloud on Google Cloud](https://docs.confluent.io/cloud/current/networking/peering/gcp-peering.html). + + + ## The Peerings Model + + + ## Quotas and Limits + This resource is subject to the [following quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): + + | Quota | Description | + | --- | --- | + | `peerings_per_network` | Number of peerings per network | + properties: + api_version: + type: string + enum: + - networking/v1 + 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: + - Peering + 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 + metadata: + allOf: + - $ref: '#/components/schemas/ObjectMeta' + - properties: + self: + example: 'https://api.confluent.cloud/networking/v1/peerings/p-12345' + resource_name: + example: 'crn://confluent.cloud/organization=9bb441c4-edef-46ac-8a41-c49e44a3fd9a/environment=env-abc123/network=n-456xyz/peering=p-12345' + spec: + $ref: '#/components/schemas/networking.v1.PeeringSpecUpdate' + status: + $ref: '#/components/schemas/networking.v1.PeeringStatus' + networking.v1.PeeringSpecUpdate: + type: object + description: The desired state of the Peering + properties: + display_name: + type: string + description: The name of the peering + example: prod-peering-use1 + environment: + allOf: + - $ref: '#/components/schemas/ObjectReference' + description: The environment to which this belongs. + x-enable-id: true + x-enable-listmeta: true + x-enable-objectmeta: true + networking.v1.TransitGatewayAttachmentList: + type: object + description: |- + AWS Transit Gateway Attachments + + Related guide: [APIs to manage AWS Transit Gateway Attachments](https://docs.confluent.io/cloud/current/networking/aws-transit-gateway.html). + + ## The Transit Gateway Attachments Model + + + ## Quotas and Limits + This resource is subject to the [following quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): + + | Quota | Description | + | --- | --- | + | `tgw_attachments_per_network` | Number of TGW attachments per network | + required: + - api_version + - kind + - metadata + - data + properties: + api_version: + type: string + enum: + - networking/v1 + 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: + - TransitGatewayAttachmentList + metadata: + allOf: + - $ref: '#/components/schemas/ListMeta' + - properties: + first: + example: 'https://api.confluent.cloud/networking/v1/transit-gateway-attachments' + last: + example: 'https://api.confluent.cloud/networking/v1/transit-gateway-attachments?page_token=bcAOehAY8F16YD84Z1wT' + prev: + example: 'https://api.confluent.cloud/networking/v1/transit-gateway-attachments?page_token=YIXRY97wWYmwzrax4dld' + next: + example: 'https://api.confluent.cloud/networking/v1/transit-gateway-attachments?page_token=UvmDWOB1iwfAIBPj6EYb' + data: + type: array + description: A data property that contains an array of resource items. Each entry in the array is a separate resource. + items: + allOf: + - $ref: '#/components/schemas/networking.v1.TransitGatewayAttachment' + - type: object + required: + - id + - metadata + - spec + - status + properties: + spec: + type: object + required: + - cloud + - environment + - network + uniqueItems: true + networking.v1.TransitGatewayAttachment: + type: object + description: |- + AWS Transit Gateway Attachments + + Related guide: [APIs to manage AWS Transit Gateway Attachments](https://docs.confluent.io/cloud/current/networking/aws-transit-gateway.html). + + ## The Transit Gateway Attachments Model + + + ## Quotas and Limits + This resource is subject to the [following quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): + + | Quota | Description | + | --- | --- | + | `tgw_attachments_per_network` | Number of TGW attachments per network | + properties: + api_version: + type: string + enum: + - networking/v1 + 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: + - TransitGatewayAttachment + 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 + metadata: + allOf: + - $ref: '#/components/schemas/ObjectMeta' + - properties: + self: + example: 'https://api.confluent.cloud/networking/v1/transit-gateway-attachments/tga-12345' + resource_name: + example: 'crn://confluent.cloud/organization=9bb441c4-edef-46ac-8a41-c49e44a3fd9a/environment=env-abc123/network=n-456xyz/transit-gateway-attachment=tga-12345' + spec: + $ref: '#/components/schemas/networking.v1.TransitGatewayAttachmentSpec' + status: + $ref: '#/components/schemas/networking.v1.TransitGatewayAttachmentStatus' + networking.v1.TransitGatewayAttachmentSpec: + type: object + description: The desired state of the Transit Gateway Attachment + properties: + display_name: + type: string + description: The name of the TGW attachment + example: prod-tgw-use1 + cloud: + type: object + oneOf: + - $ref: '#/components/schemas/networking.v1.AwsTransitGatewayAttachment' + discriminator: + propertyName: kind + mapping: + AwsTransitGatewayAttachment: '#/components/schemas/networking.v1.AwsTransitGatewayAttachment' + description: The cloud-specific Transit Gateway details. + x-immutable: true + environment: + allOf: + - $ref: '#/components/schemas/ObjectReference' + description: The environment to which this belongs. + network: + allOf: + - $ref: '#/components/schemas/ObjectReference' + description: The network to which this belongs. + x-immutable: true + x-enable-id: true + x-enable-listmeta: true + x-enable-objectmeta: true + networking.v1.TransitGatewayAttachmentStatus: + type: object + required: + - phase + description: The status of the Transit Gateway Attachment + properties: + phase: + type: string + x-extensible-enum: + - PROVISIONING + - READY + - PENDING_ACCEPT + - FAILED + - DEPROVISIONING + - DISCONNECTED + - ERROR + description: | + The lifecycle phase of the TGW attachment: + + PROVISIONING: attachment provisioning is in progress; + + PENDING_ACCEPT: attachment request is pending acceptance by the customer; + + READY: attachment is ready; + + FAILED: attachment is in a failed state; + + DEPROVISIONING: attachment deprovisioning is in progress; + + DISCONNECTED: attachment was manually deleted directly in the cloud provider by the customer; + + ERROR: invalid customer input during attachment creation. + readOnly: true + example: READY + error_code: + type: string + description: Error code if TGW attachment is in a failed state. May be used for programmatic error checking. + readOnly: true + error_message: + type: string + description: Displayable error message if TGW attachment is in a failed state + readOnly: true + cloud: + type: object + oneOf: + - $ref: '#/components/schemas/networking.v1.AwsTransitGatewayAttachmentStatus' + description: The cloud-specific TGW attachment details. + discriminator: + propertyName: kind + mapping: + AwsTransitGatewayAttachmentStatus: '#/components/schemas/networking.v1.AwsTransitGatewayAttachmentStatus' + readOnly: true + readOnly: true + networking.v1.AwsTransitGatewayAttachment: + type: object + title: AWS + description: AWS Transit Gateway Attachment. + required: + - kind + - ram_share_arn + - transit_gateway_id + - routes + properties: + kind: + description: AWS Transit Gateway Attachment kind type. + type: string + enum: + - AwsTransitGatewayAttachment + ram_share_arn: + description: The full AWS Resource Name (ARN) for the AWS Resource Access Manager (RAM) Share of the Transit Gateways that you want Confluent Cloud to be attached to. + type: string + example: 'arn:aws:ram:us-west-3:000000000000:resource-share/xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxx' + transit_gateway_id: + description: The ID of the AWS Transit Gateway that you want Confluent CLoud to be attached to. + type: string + example: tgw-xxxxxxxxxxxxxxxxx + routes: + type: array + items: + $ref: '#/components/schemas/networking.v1.Cidr' + description: List of destination routes. + example: + - 100.64.0.0/10 + - 10.0.0.0/8 + - 192.168.0.0/16 + - 172.16.0.0/12 + networking.v1.AwsTransitGatewayAttachmentStatus: + type: object + title: AWS + description: AWS Transit Gateway Attachment details generated by AWS. + required: + - transit_gateway_attachment_id + properties: + kind: + description: AWS Transit Gateway Attachment Status kind type. + type: string + enum: + - AwsTransitGatewayAttachmentStatus + transit_gateway_attachment_id: + description: The ID of the AWS Transit Gateway VPC Attachment that attaches Confluent VPC to Transit Gateway. + type: string + example: tgw-attach-xxxxx + readOnly: true + networking.v1.TransitGatewayAttachmentUpdate: + type: object + description: |- + AWS Transit Gateway Attachments + + Related guide: [APIs to manage AWS Transit Gateway Attachments](https://docs.confluent.io/cloud/current/networking/aws-transit-gateway.html). + + ## The Transit Gateway Attachments Model + + + ## Quotas and Limits + This resource is subject to the [following quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): + + | Quota | Description | + | --- | --- | + | `tgw_attachments_per_network` | Number of TGW attachments per network | + properties: + api_version: + type: string + enum: + - networking/v1 + 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: + - TransitGatewayAttachment + 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 + metadata: + allOf: + - $ref: '#/components/schemas/ObjectMeta' + - properties: + self: + example: 'https://api.confluent.cloud/networking/v1/transit-gateway-attachments/tga-12345' + resource_name: + example: 'crn://confluent.cloud/organization=9bb441c4-edef-46ac-8a41-c49e44a3fd9a/environment=env-abc123/network=n-456xyz/transit-gateway-attachment=tga-12345' + spec: + $ref: '#/components/schemas/networking.v1.TransitGatewayAttachmentSpecUpdate' + status: + $ref: '#/components/schemas/networking.v1.TransitGatewayAttachmentStatus' + networking.v1.TransitGatewayAttachmentSpecUpdate: + type: object + description: The desired state of the Transit Gateway Attachment + properties: + display_name: + type: string + description: The name of the TGW attachment + example: prod-tgw-use1 + environment: + allOf: + - $ref: '#/components/schemas/ObjectReference' + description: The environment to which this belongs. + x-enable-id: true + x-enable-listmeta: true + x-enable-objectmeta: true + networking.v1.PrivateLinkAccessList: + type: object + description: |- + Add or remove access to PrivateLink endpoints by AWS account, Azure subscription and GCP project ID. + + Related guides: + * [Use Google Cloud Private Service Connect with Confluent Cloud](https://docs.confluent.io/cloud/current/networking/private-links/gcp-private-service-connect.html). + * [Use Azure Private Link with Confluent Cloud](https://docs.confluent.io/cloud/current/networking/private-links/azure-privatelink.html). + * [Use AWS PrivateLink with Confluent Cloud](https://docs.confluent.io/cloud/current/networking/private-links/aws-privatelink.html). + + + ## The Private Link Accesses Model + + + ## Quotas and Limits + This resource is subject to the [following quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): + + | Quota | Description | + | --- | --- | + | `private_link_accounts_per_network` | Number of AWS accounts per network | + | `private_link_subscriptions_per_network` | Number of Azure subscriptions per network | + | `private_service_connect_projects_per_network` | Number of GCP projects per network | + required: + - api_version + - kind + - metadata + - data + properties: + api_version: + type: string + enum: + - networking/v1 + 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: + - PrivateLinkAccessList + metadata: + allOf: + - $ref: '#/components/schemas/ListMeta' + - properties: + first: + example: 'https://api.confluent.cloud/networking/v1/private-link-accesses' + last: + example: 'https://api.confluent.cloud/networking/v1/private-link-accesses?page_token=bcAOehAY8F16YD84Z1wT' + prev: + example: 'https://api.confluent.cloud/networking/v1/private-link-accesses?page_token=YIXRY97wWYmwzrax4dld' + next: + example: 'https://api.confluent.cloud/networking/v1/private-link-accesses?page_token=UvmDWOB1iwfAIBPj6EYb' + data: + type: array + description: A data property that contains an array of resource items. Each entry in the array is a separate resource. + items: + allOf: + - $ref: '#/components/schemas/networking.v1.PrivateLinkAccess' + - type: object + required: + - id + - metadata + - spec + - status + properties: + spec: + type: object + required: + - cloud + - environment + - network + uniqueItems: true + networking.v1.PrivateLinkAccess: + type: object + description: |- + Add or remove access to PrivateLink endpoints by AWS account, Azure subscription and GCP project ID. + + Related guides: + * [Use Google Cloud Private Service Connect with Confluent Cloud](https://docs.confluent.io/cloud/current/networking/private-links/gcp-private-service-connect.html). + * [Use Azure Private Link with Confluent Cloud](https://docs.confluent.io/cloud/current/networking/private-links/azure-privatelink.html). + * [Use AWS PrivateLink with Confluent Cloud](https://docs.confluent.io/cloud/current/networking/private-links/aws-privatelink.html). + + + ## The Private Link Accesses Model + + + ## Quotas and Limits + This resource is subject to the [following quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): + + | Quota | Description | + | --- | --- | + | `private_link_accounts_per_network` | Number of AWS accounts per network | + | `private_link_subscriptions_per_network` | Number of Azure subscriptions per network | + | `private_service_connect_projects_per_network` | Number of GCP projects per network | + properties: + api_version: + type: string + enum: + - networking/v1 + 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: + - PrivateLinkAccess + 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 + metadata: + allOf: + - $ref: '#/components/schemas/ObjectMeta' + - properties: + self: + example: 'https://api.confluent.cloud/networking/v1/private-link-accesses/pla-12345' + resource_name: + example: 'crn://confluent.cloud/organization=9bb441c4-edef-46ac-8a41-c49e44a3fd9a/environment=env-abc123/network=n-456xyz/private-link-access=pla-12345' + spec: + $ref: '#/components/schemas/networking.v1.PrivateLinkAccessSpec' + status: + $ref: '#/components/schemas/networking.v1.PrivateLinkAccessStatus' + networking.v1.PrivateLinkAccessSpec: + type: object + description: The desired state of the Private Link Access + properties: + display_name: + type: string + description: The name of the PrivateLink access + example: prod-pl-use1 + cloud: + type: object + oneOf: + - $ref: '#/components/schemas/networking.v1.AwsPrivateLinkAccess' + - $ref: '#/components/schemas/networking.v1.AzurePrivateLinkAccess' + - $ref: '#/components/schemas/networking.v1.GcpPrivateServiceConnectAccess' + discriminator: + propertyName: kind + mapping: + AwsPrivateLinkAccess: '#/components/schemas/networking.v1.AwsPrivateLinkAccess' + AzurePrivateLinkAccess: '#/components/schemas/networking.v1.AzurePrivateLinkAccess' + GcpPrivateServiceConnectAccess: '#/components/schemas/networking.v1.GcpPrivateServiceConnectAccess' + description: The cloud-specific PrivateLink details. + x-immutable: true + environment: + allOf: + - $ref: '#/components/schemas/ObjectReference' + description: The environment to which this belongs. + network: + allOf: + - $ref: '#/components/schemas/ObjectReference' + description: The network to which this belongs. + x-immutable: true + x-enable-id: true + x-enable-listmeta: true + x-enable-objectmeta: true + networking.v1.PrivateLinkAccessStatus: + type: object + required: + - phase + description: The status of the Private Link Access + properties: + phase: + type: string + x-extensible-enum: + - PROVISIONING + - READY + - FAILED + - DEPROVISIONING + description: | + The lifecycle phase of the PrivateLink access configuration: + + PROVISIONING: PrivateLink access provisioning is in progress; + + READY: PrivateLink access is ready; + + FAILED: PrivateLink access is in a failed state; + + DEPROVISIONING: PrivateLink access deprovisioning is in progress; + readOnly: true + example: READY + error_code: + type: string + description: Error code if PrivateLink access is in a failed state. May be used for programmatic error checking. + readOnly: true + error_message: + type: string + description: Displayable error message if PrivateLink access is in a failed state + readOnly: true + readOnly: true + networking.v1.AwsPrivateLinkAccess: + type: object + title: AWS + description: AWS PrivateLink access configuration. + required: + - kind + - account + properties: + kind: + description: PrivateLink kind type. + type: string + enum: + - AwsPrivateLinkAccess + account: + type: string + pattern: '^\d{12}$' + example: '000000000000' + description: | + The AWS account ID for the account containing the VPCs you want to connect from using AWS PrivateLink. + You can find your AWS account ID [here](https://console.aws.amazon.com/billing/home?#/account) + under **My Account** in your AWS Management Console. Must be a **12 character string**. + networking.v1.AzurePrivateLinkAccess: + type: object + title: AZURE + description: Azure PrivateLink access configuration. + required: + - kind + - subscription + properties: + kind: + description: PrivateLink kind type. + type: string + enum: + - AzurePrivateLinkAccess + subscription: + type: string + minLength: 1 + description: | + The Azure subscription ID for the account containing the VNets you want to connect from using + Azure Private Link. You can find your Azure subscription ID in the subscription section of your + [Microsoft Azure Portal](https://portal.azure.com/#blade/Microsoft_Azure_Billing/SubscriptionsBlade). + Must be a valid **32 character UUID string**. + networking.v1.GcpPrivateServiceConnectAccess: + type: object + title: GCP + description: GCP Private Service Connect access configuration. + required: + - kind + - project + properties: + kind: + description: PrivateLink kind type. + type: string + enum: + - GcpPrivateServiceConnectAccess + project: + type: string + minLength: 1 + description: | + The GCP project ID for the account containing the VPCs that you want to connect from + using Private Service Connect. You can find your Google Cloud Project ID under **Project ID** section of + your [Google Cloud Console dashboard](https://console.cloud.google.com/home/dashboard). + networking.v1.PrivateLinkAccessUpdate: + type: object + description: |- + Add or remove access to PrivateLink endpoints by AWS account, Azure subscription and GCP project ID. + + Related guides: + * [Use Google Cloud Private Service Connect with Confluent Cloud](https://docs.confluent.io/cloud/current/networking/private-links/gcp-private-service-connect.html). + * [Use Azure Private Link with Confluent Cloud](https://docs.confluent.io/cloud/current/networking/private-links/azure-privatelink.html). + * [Use AWS PrivateLink with Confluent Cloud](https://docs.confluent.io/cloud/current/networking/private-links/aws-privatelink.html). + + + ## The Private Link Accesses Model + + + ## Quotas and Limits + This resource is subject to the [following quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): + + | Quota | Description | + | --- | --- | + | `private_link_accounts_per_network` | Number of AWS accounts per network | + | `private_link_subscriptions_per_network` | Number of Azure subscriptions per network | + | `private_service_connect_projects_per_network` | Number of GCP projects per network | + properties: + api_version: + type: string + enum: + - networking/v1 + 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: + - PrivateLinkAccess + 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 + metadata: + allOf: + - $ref: '#/components/schemas/ObjectMeta' + - properties: + self: + example: 'https://api.confluent.cloud/networking/v1/private-link-accesses/pla-12345' + resource_name: + example: 'crn://confluent.cloud/organization=9bb441c4-edef-46ac-8a41-c49e44a3fd9a/environment=env-abc123/network=n-456xyz/private-link-access=pla-12345' + spec: + $ref: '#/components/schemas/networking.v1.PrivateLinkAccessSpecUpdate' + status: + $ref: '#/components/schemas/networking.v1.PrivateLinkAccessStatus' + networking.v1.PrivateLinkAccessSpecUpdate: + type: object + description: The desired state of the Private Link Access + properties: + display_name: + type: string + description: The name of the PrivateLink access + example: prod-pl-use1 + environment: + allOf: + - $ref: '#/components/schemas/ObjectReference' + description: The environment to which this belongs. + x-enable-id: true + x-enable-listmeta: true + x-enable-objectmeta: true + networking.v1.NetworkLinkServiceList: + type: object + description: |- + Network Link Service is associated with a Private Link Confluent Cloud Network. + It enables connectivity from other Private Link Confluent Cloud Networks based on + the configured accept policies. + + + Related guide: [Network Linking Overview](https://docs.confluent.io/cloud/current/networking/network-linking.html). + + ## The Network Link Services Model + + + ## Quotas and Limits + This resource is subject to the [following quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): + + | Quota | Description | + | --- | --- | + | `network_link_service_per_network` | Number of network link services per network | + required: + - api_version + - kind + - metadata + - data + properties: + api_version: + type: string + enum: + - networking/v1 + 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: + - NetworkLinkServiceList + metadata: + allOf: + - $ref: '#/components/schemas/ListMeta' + - properties: + first: + example: 'https://api.confluent.cloud/networking/v1/network-link-services' + last: + example: 'https://api.confluent.cloud/networking/v1/network-link-services?page_token=bcAOehAY8F16YD84Z1wT' + prev: + example: 'https://api.confluent.cloud/networking/v1/network-link-services?page_token=YIXRY97wWYmwzrax4dld' + next: + example: 'https://api.confluent.cloud/networking/v1/network-link-services?page_token=UvmDWOB1iwfAIBPj6EYb' + data: + type: array + description: A data property that contains an array of resource items. Each entry in the array is a separate resource. + items: + allOf: + - $ref: '#/components/schemas/networking.v1.NetworkLinkService' + - type: object + required: + - id + - metadata + - spec + - status + properties: + spec: + type: object + required: + - environment + - network + uniqueItems: true + networking.v1.NetworkLinkService: + type: object + description: |- + Network Link Service is associated with a Private Link Confluent Cloud Network. + It enables connectivity from other Private Link Confluent Cloud Networks based on + the configured accept policies. + + + Related guide: [Network Linking Overview](https://docs.confluent.io/cloud/current/networking/network-linking.html). + + ## The Network Link Services Model + + + ## Quotas and Limits + This resource is subject to the [following quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): + + | Quota | Description | + | --- | --- | + | `network_link_service_per_network` | Number of network link services per network | + properties: + api_version: + type: string + enum: + - networking/v1 + 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: + - NetworkLinkService + 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 + metadata: + allOf: + - $ref: '#/components/schemas/ObjectMeta' + - properties: + self: + example: 'https://api.confluent.cloud/networking/v1/network-link-services/nls-12345' + resource_name: + example: 'crn://confluent.cloud/organization=9bb441c4-edef-46ac-8a41-c49e44a3fd9a/environment=env-abc123/network=n-456xyz/network-link-service=nls-12345' + spec: + $ref: '#/components/schemas/networking.v1.NetworkLinkServiceSpec' + status: + $ref: '#/components/schemas/networking.v1.NetworkLinkServiceStatus' + networking.v1.NetworkLinkServiceSpec: + type: object + description: The desired state of the Network Link Service + properties: + display_name: + type: string + description: The name of the network link service + example: prod-net-1-nls + description: + type: string + description: The description of the network link service + example: Allow connections from analytics hub + accept: + description: Network Link Service Accept policy + allOf: + - $ref: '#/components/schemas/networking.v1.NetworkLinkServiceAcceptPolicy' + environment: + allOf: + - $ref: '#/components/schemas/GlobalObjectReference' + description: The environment to which this belongs. + network: + allOf: + - $ref: '#/components/schemas/EnvScopedObjectReference' + description: The network to which this belongs. + x-immutable: true + x-enable-id: true + x-enable-listmeta: true + x-enable-objectmeta: true + networking.v1.NetworkLinkServiceStatus: + type: object + required: + - phase + description: The status of the Network Link Service + properties: + phase: + type: string + x-extensible-enum: + - READY + description: | + The lifecycle phase of the network link service: + + READY: network link service is ready; + readOnly: true + example: READY + error_code: + type: string + description: | + Error code if network link service is in a failed state. + May be used for programmatic error checking. + readOnly: true + error_message: + type: string + description: Displayable error message if network link service is in a failed state + readOnly: true + readOnly: true + networking.v1.NetworkLinkServiceAcceptPolicy: + type: object + title: Network Link Service + description: | + List of environments/networks from which connections can be accepted on this network link service. + properties: + environments: + description: | + List of environments from which connections can be accepted. + All networks win the list of environment will be allowed. + type: array + items: + type: string + uniqueItems: true + networks: + description: | + List of networks from which connections can be accepted. + type: array + items: + type: string + uniqueItems: true + GlobalObjectReference: + type: object + description: ObjectReference provides information for you to locate the referred object + required: + - id + - related + - resource_name + properties: + id: + type: string + description: ID of the referred resource + minLength: 1 + maxLength: 255 + related: + type: string + format: uri + description: API URL for accessing or modifying the referred object + minLength: 1 + readOnly: true + resource_name: + type: string + format: uri + description: CRN reference to the referred resource + minLength: 1 + readOnly: true + EnvScopedObjectReference: + 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 + networking.v1.NetworkLinkServiceUpdate: + type: object + description: |- + Network Link Service is associated with a Private Link Confluent Cloud Network. + It enables connectivity from other Private Link Confluent Cloud Networks based on + the configured accept policies. + + + Related guide: [Network Linking Overview](https://docs.confluent.io/cloud/current/networking/network-linking.html). + + ## The Network Link Services Model + + + ## Quotas and Limits + This resource is subject to the [following quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): + + | Quota | Description | + | --- | --- | + | `network_link_service_per_network` | Number of network link services per network | + properties: + api_version: + type: string + enum: + - networking/v1 + 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: + - NetworkLinkService + 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 + metadata: + allOf: + - $ref: '#/components/schemas/ObjectMeta' + - properties: + self: + example: 'https://api.confluent.cloud/networking/v1/network-link-services/nls-12345' + resource_name: + example: 'crn://confluent.cloud/organization=9bb441c4-edef-46ac-8a41-c49e44a3fd9a/environment=env-abc123/network=n-456xyz/network-link-service=nls-12345' + spec: + $ref: '#/components/schemas/networking.v1.NetworkLinkServiceSpecUpdate' + status: + $ref: '#/components/schemas/networking.v1.NetworkLinkServiceStatus' + networking.v1.NetworkLinkServiceSpecUpdate: + type: object + description: The desired state of the Network Link Service + properties: + display_name: + type: string + description: The name of the network link service + example: prod-net-1-nls + description: + type: string + description: The description of the network link service + example: Allow connections from analytics hub + accept: + description: Network Link Service Accept policy + allOf: + - $ref: '#/components/schemas/networking.v1.NetworkLinkServiceAcceptPolicy' + environment: + allOf: + - $ref: '#/components/schemas/GlobalObjectReference' + description: The environment to which this belongs. + x-enable-id: true + x-enable-listmeta: true + x-enable-objectmeta: true + networking.v1.NetworkLinkEndpointList: + type: object + description: |- + A Network Link Enpoint is associated with a Private Link Confluent Cloud Network at the origin and a + Network Link Service (associated with another Private Link Confluent Cloud Network) at the target. + It enables connectivity between the origin network and the target network. + It can only be associated with a Private Link network. + + + Related guide: [Network Linking Overview](https://docs.confluent.io/cloud/current/networking/network-linking.html). + + ## The Network Link Endpoints Model + + + ## Quotas and Limits + This resource is subject to the [following quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): + + | Quota | Description | + | --- | --- | + | `network_link_endpoints_per_network` | Number of network link endpoints per network | + required: + - api_version + - kind + - metadata + - data + properties: + api_version: + type: string + enum: + - networking/v1 + 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: + - NetworkLinkEndpointList + metadata: + allOf: + - $ref: '#/components/schemas/ListMeta' + - properties: + first: + example: 'https://api.confluent.cloud/networking/v1/network-link-endpoints' + last: + example: 'https://api.confluent.cloud/networking/v1/network-link-endpoints?page_token=bcAOehAY8F16YD84Z1wT' + prev: + example: 'https://api.confluent.cloud/networking/v1/network-link-endpoints?page_token=YIXRY97wWYmwzrax4dld' + next: + example: 'https://api.confluent.cloud/networking/v1/network-link-endpoints?page_token=UvmDWOB1iwfAIBPj6EYb' + data: + type: array + description: A data property that contains an array of resource items. Each entry in the array is a separate resource. + items: + allOf: + - $ref: '#/components/schemas/networking.v1.NetworkLinkEndpoint' + - type: object + required: + - id + - metadata + - spec + - status + properties: + spec: + type: object + required: + - environment + - network + - network_link_service + uniqueItems: true + networking.v1.NetworkLinkEndpoint: + type: object + description: |- + A Network Link Enpoint is associated with a Private Link Confluent Cloud Network at the origin and a + Network Link Service (associated with another Private Link Confluent Cloud Network) at the target. + It enables connectivity between the origin network and the target network. + It can only be associated with a Private Link network. + + + Related guide: [Network Linking Overview](https://docs.confluent.io/cloud/current/networking/network-linking.html). + + ## The Network Link Endpoints Model + + + ## Quotas and Limits + This resource is subject to the [following quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): + + | Quota | Description | + | --- | --- | + | `network_link_endpoints_per_network` | Number of network link endpoints per network | + properties: + api_version: + type: string + enum: + - networking/v1 + 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: + - NetworkLinkEndpoint + 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 + metadata: + allOf: + - $ref: '#/components/schemas/ObjectMeta' + - properties: + self: + example: 'https://api.confluent.cloud/networking/v1/network-link-endpoints/nle-12345' + resource_name: + example: 'crn://confluent.cloud/organization=9bb441c4-edef-46ac-8a41-c49e44a3fd9a/environment=env-abc123/network=n-456xyz/network-link-endpoint=nle-12345' + spec: + $ref: '#/components/schemas/networking.v1.NetworkLinkEndpointSpec' + status: + $ref: '#/components/schemas/networking.v1.NetworkLinkEndpointStatus' + networking.v1.NetworkLinkEndpointSpec: + type: object + description: The desired state of the Network Link Endpoint + properties: + display_name: + type: string + description: The name of the network link endpoint + example: prod-net-1-nle + description: + type: string + description: The description of the network link endpoint + example: Connect to Network - analytics hub + environment: + allOf: + - $ref: '#/components/schemas/GlobalObjectReference' + description: The environment to which this belongs. + network: + allOf: + - $ref: '#/components/schemas/EnvScopedObjectReference' + description: The network to which this belongs. + x-immutable: true + network_link_service: + allOf: + - $ref: '#/components/schemas/EnvScopedObjectReference' + description: The network_link_service to which this belongs. + x-immutable: true + x-enable-id: true + x-enable-listmeta: true + x-enable-objectmeta: true + networking.v1.NetworkLinkEndpointStatus: + type: object + required: + - phase + description: The status of the Network Link Endpoint + properties: + phase: + type: string + x-extensible-enum: + - PROVISIONING + - PENDING_ACCEPT + - READY + - FAILED + - DEPROVISIONING + - EXPIRED + - DISCONNECTED + - DISCONNECTING + - INACTIVE + description: | + The lifecycle phase of the network link endpoint: + + PROVISIONING: network link endpoint provisioning is in progress; + + PENDING_ACCEPT: network link endpoint request is pending acceptance by the the owner of the target; + + READY: network link endpoint is ready; + + FAILED: network link endpoint is in a failed state; + + DEPROVISIONING: network link endpoint deprovisioning is in progress; + + EXPIRED: network link endpoint request is expired, can only be deleted; + + DISCONNECTED: network link endpoint is in a disconnected state, target owner has removed the permissions; + + DISCONNECTING: network link endpoint disconnection is in progress; + + INACTIVE: network link endpoint is created, but not active since there are no clusters in the network; + readOnly: true + example: READY + error_code: + type: string + description: Error code if network link is in a failed state. May be used for programmatic error checking. + readOnly: true + error_message: + type: string + description: Displayable error message if network link is in a failed state + readOnly: true + expires_at: + type: string + format: date-time + example: '2024-01-01T00:00:00Z' + description: The date and time when the request expires if it is not accepted by the target network admin. + readOnly: true + readOnly: true + networking.v1.NetworkLinkEndpointUpdate: + type: object + description: |- + A Network Link Enpoint is associated with a Private Link Confluent Cloud Network at the origin and a + Network Link Service (associated with another Private Link Confluent Cloud Network) at the target. + It enables connectivity between the origin network and the target network. + It can only be associated with a Private Link network. + + + Related guide: [Network Linking Overview](https://docs.confluent.io/cloud/current/networking/network-linking.html). + + ## The Network Link Endpoints Model + + + ## Quotas and Limits + This resource is subject to the [following quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): + + | Quota | Description | + | --- | --- | + | `network_link_endpoints_per_network` | Number of network link endpoints per network | + properties: + api_version: + type: string + enum: + - networking/v1 + 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: + - NetworkLinkEndpoint + 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 + metadata: + allOf: + - $ref: '#/components/schemas/ObjectMeta' + - properties: + self: + example: 'https://api.confluent.cloud/networking/v1/network-link-endpoints/nle-12345' + resource_name: + example: 'crn://confluent.cloud/organization=9bb441c4-edef-46ac-8a41-c49e44a3fd9a/environment=env-abc123/network=n-456xyz/network-link-endpoint=nle-12345' + spec: + $ref: '#/components/schemas/networking.v1.NetworkLinkEndpointSpecUpdate' + status: + $ref: '#/components/schemas/networking.v1.NetworkLinkEndpointStatus' + networking.v1.NetworkLinkEndpointSpecUpdate: + type: object + description: The desired state of the Network Link Endpoint + properties: + display_name: + type: string + description: The name of the network link endpoint + example: prod-net-1-nle + description: + type: string + description: The description of the network link endpoint + example: Connect to Network - analytics hub + environment: + allOf: + - $ref: '#/components/schemas/GlobalObjectReference' + description: The environment to which this belongs. + x-enable-id: true + x-enable-listmeta: true + x-enable-objectmeta: true + networking.v1.NetworkLinkServiceAssociationList: + type: object + description: |- + List of incoming Network Link Enpoints associated with the Network Link Service. + + + Related guide: [Network Linking Overview](https://docs.confluent.io/cloud/current/networking/network-linking.html). + + ## The Network Link Service Associations Model + + required: + - api_version + - kind + - metadata + - data + properties: + api_version: + type: string + enum: + - networking/v1 + 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: + - NetworkLinkServiceAssociationList + metadata: + allOf: + - $ref: '#/components/schemas/ListMeta' + - properties: + first: + example: 'https://api.confluent.cloud/networking/v1/network-link-service-associations' + last: + example: 'https://api.confluent.cloud/networking/v1/network-link-service-associations?page_token=bcAOehAY8F16YD84Z1wT' + prev: + example: 'https://api.confluent.cloud/networking/v1/network-link-service-associations?page_token=YIXRY97wWYmwzrax4dld' + next: + example: 'https://api.confluent.cloud/networking/v1/network-link-service-associations?page_token=UvmDWOB1iwfAIBPj6EYb' + data: + type: array + description: A data property that contains an array of resource items. Each entry in the array is a separate resource. + items: + allOf: + - $ref: '#/components/schemas/networking.v1.NetworkLinkServiceAssociation' + - type: object + required: + - id + - metadata + - spec + - status + properties: + spec: + type: object + required: + - display_name + - network_link_endpoint + - network_link_service + - environment + uniqueItems: true + networking.v1.NetworkLinkServiceAssociation: + type: object + description: |- + List of incoming Network Link Enpoints associated with the Network Link Service. + + + Related guide: [Network Linking Overview](https://docs.confluent.io/cloud/current/networking/network-linking.html). + + ## The Network Link Service Associations Model + + properties: + api_version: + type: string + enum: + - networking/v1 + 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: + - NetworkLinkServiceAssociation + 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 + metadata: + allOf: + - $ref: '#/components/schemas/ObjectMeta' + - properties: + self: + example: 'https://api.confluent.cloud/networking/v1/network-link-service-associations/nlsa-12345' + resource_name: + example: 'crn://confluent.cloud/organization=9bb441c4-edef-46ac-8a41-c49e44a3fd9a/environment=env-abc123/network=n-456xyz/network-link-service=nls-12345/network-link-endpoint=nle-12345' + spec: + $ref: '#/components/schemas/networking.v1.NetworkLinkServiceAssociationSpec' + status: + $ref: '#/components/schemas/networking.v1.NetworkLinkServiceAssociationStatus' + networking.v1.NetworkLinkServiceAssociationSpec: + type: object + description: The desired state of the Network Link Service Association + properties: + display_name: + type: string + description: The name of the network link endpoint + readOnly: true + example: prod-net-1-nle + description: + type: string + description: The description of the network link endpoint + readOnly: true + example: Connect to Network - analytics hub + network_link_endpoint: + type: string + description: ID of the Network link endpoint. + readOnly: true + example: prod-net-1-nle + network_link_service: + allOf: + - $ref: '#/components/schemas/EnvScopedObjectReference' + description: The network_link_service to which this belongs. + x-immutable: true + environment: + allOf: + - $ref: '#/components/schemas/GlobalObjectReference' + description: The environment to which this belongs. + x-immutable: true + x-enable-id: true + x-enable-listmeta: true + x-enable-objectmeta: true + networking.v1.NetworkLinkServiceAssociationStatus: + type: object + required: + - phase + description: The status of the Network Link Service Association + properties: + phase: + type: string + x-extensible-enum: + - PROVISIONING + - PENDING_ACCEPT + - READY + - FAILED + - DEPROVISIONING + - EXPIRED + - DISCONNECTED + - DISCONNECTING + - INACTIVE + description: | + The lifecycle phase of the network link endpoint: + + PROVISIONING: network link endpoint provisioning is in progress; + + PENDING_ACCEPT: network link endpoint request is pending acceptance by the the owner of the target; + + READY: network link endpoint is ready; + + FAILED: network link endpoint is in a failed state; + + DEPROVISIONING: network link endpoint deprovisioning is in progress; + + EXPIRED: network link endpoint request is expired, can only be deleted; + + DISCONNECTED: network link endpoint is in a disconnected state, target owner has removed the permissions; + + DISCONNECTING: network link endpoint disconnection is in progress; + + INACTIVE: network link endpoint is created, but not active since there are no clusters in the network; + example: READY + readOnly: true + error_code: + type: string + description: Error code if network link is in a failed state. May be used for programmatic error checking. + readOnly: true + error_message: + type: string + description: Displayable error message if network link is in a failed state + readOnly: true + expires_at: + type: string + format: date-time + example: '2024-01-01T00:00:00Z' + description: The date and time when the request expires if it is not accepted by the target network admin. + readOnly: true + readOnly: true + networking.v1.GatewayList: + type: object + description: |- + A gateway is a resource that defines network access to Confluent cloud resources. + + + ## The Gateways Model + + required: + - api_version + - kind + - metadata + - data + properties: + api_version: + type: string + enum: + - networking/v1 + 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: + - GatewayList + metadata: + allOf: + - $ref: '#/components/schemas/ListMeta' + - properties: + first: + example: 'https://api.confluent.cloud/networking/v1/gateways' + last: + example: 'https://api.confluent.cloud/networking/v1/gateways?page_token=bcAOehAY8F16YD84Z1wT' + prev: + example: 'https://api.confluent.cloud/networking/v1/gateways?page_token=YIXRY97wWYmwzrax4dld' + next: + example: 'https://api.confluent.cloud/networking/v1/gateways?page_token=UvmDWOB1iwfAIBPj6EYb' + data: + type: array + description: A data property that contains an array of resource items. Each entry in the array is a separate resource. + items: + allOf: + - $ref: '#/components/schemas/networking.v1.Gateway' + - type: object + required: + - id + - metadata + - spec + - status + properties: + spec: + type: object + required: + - config + - environment + uniqueItems: true + networking.v1.Gateway: + type: object + description: |- + A gateway is a resource that defines network access to Confluent cloud resources. + + + ## The Gateways Model + + properties: + api_version: + type: string + enum: + - networking/v1 + 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: + - Gateway + 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 + metadata: + allOf: + - $ref: '#/components/schemas/ObjectMeta' + - properties: + self: + example: 'https://api.confluent.cloud/networking/v1/gateways/g-12345' + resource_name: + example: 'crn://confluent.cloud/organization=9bb441c4-edef-46ac-8a41-c49e44a3fd9a/environment=env-abc123/gateway=g-12345' + spec: + $ref: '#/components/schemas/networking.v1.GatewaySpec' + status: + $ref: '#/components/schemas/networking.v1.GatewayStatus' + networking.v1.GatewaySpec: + type: object + description: The desired state of the Gateway + properties: + display_name: + type: string + description: The name of the gateway + example: prod-gateway + config: + type: object + description: Gateway type specific configuration + oneOf: + - $ref: '#/components/schemas/networking.v1.AwsPeeringGatewaySpec' + - $ref: '#/components/schemas/networking.v1.AwsEgressPrivateLinkGatewaySpec' + - $ref: '#/components/schemas/networking.v1.AzurePeeringGatewaySpec' + - $ref: '#/components/schemas/networking.v1.AzureEgressPrivateLinkGatewaySpec' + discriminator: + propertyName: kind + mapping: + AwsPeeringGatewaySpec: '#/components/schemas/networking.v1.AwsPeeringGatewaySpec' + AwsEgressPrivateLinkGatewaySpec: '#/components/schemas/networking.v1.AwsEgressPrivateLinkGatewaySpec' + AzurePeeringGatewaySpec: '#/components/schemas/networking.v1.AzurePeeringGatewaySpec' + AzureEgressPrivateLinkGatewaySpec: '#/components/schemas/networking.v1.AzureEgressPrivateLinkGatewaySpec' + environment: + allOf: + - $ref: '#/components/schemas/ObjectReference' + description: The environment to which this belongs. + x-enable-id: true + x-enable-listmeta: true + x-enable-objectmeta: true + networking.v1.GatewayStatus: + type: object + required: + - phase + description: The status of the Gateway + properties: + phase: + type: string + x-extensible-enum: + - PROVISIONING + - READY + - FAILED + - DEPROVISIONING + description: | + The lifecycle phase of the gateway: + + PROVISIONING: gateway provisioning is in progress; + + READY: gateway is ready; + + FAILED: gateway is in a failed state; + + DEPROVISIONING: gateway deprovisioning is in progress; + readOnly: true + example: READY + error_code: + type: string + description: Error code if gateway is in a failed state. May be used for programmatic error checking. + readOnly: true + error_message: + type: string + description: Displayable error message if gateway is in a failed state + readOnly: true + cloud_gateway: + type: object + description: Gateway type specific status + oneOf: + - $ref: '#/components/schemas/networking.v1.AwsEgressPrivateLinkGatewayStatus' + - $ref: '#/components/schemas/networking.v1.AzureEgressPrivateLinkGatewayStatus' + readOnly: true + discriminator: + propertyName: kind + mapping: + AwsEgressPrivateLinkGatewayStatus: '#/components/schemas/networking.v1.AwsEgressPrivateLinkGatewayStatus' + AzureEgressPrivateLinkGatewayStatus: '#/components/schemas/networking.v1.AzureEgressPrivateLinkGatewayStatus' + readOnly: true + networking.v1.AwsPeeringGatewaySpec: + type: object + description: AWS Peering Gateway details from AWS. + required: + - kind + - region + properties: + kind: + description: AWS Peering Gateway Spec kind type. + type: string + enum: + - AwsPeeringGatewaySpec + region: + type: string + description: AWS region of the Peering Gateway. + networking.v1.AwsEgressPrivateLinkGatewaySpec: + type: object + description: AWS Egress Private Link Gateway details from AWS. + required: + - kind + - region + properties: + kind: + description: AWS Egress Private Link Gateway Spec kind type. + type: string + enum: + - AwsEgressPrivateLinkGatewaySpec + region: + type: string + description: AWS region of the Egress Private Link Gateway. + networking.v1.AzurePeeringGatewaySpec: + type: object + description: Azure Peering Gateway details from Azure. + required: + - kind + - region + properties: + kind: + description: Azure Peering Gateway Spec kind type. + type: string + enum: + - AzurePeeringGatewaySpec + region: + type: string + description: Azure region of the Peering Gateway. + networking.v1.AzureEgressPrivateLinkGatewaySpec: + type: object + description: Azure Egress Private Link Gateway details from Azure. + required: + - kind + - region + properties: + kind: + description: Azure Egress Private Link Gateway Spec kind type. + type: string + enum: + - AzureEgressPrivateLinkGatewaySpec + region: + type: string + description: Azure region of the Egress Private Link Gateway. + networking.v1.AwsEgressPrivateLinkGatewayStatus: + type: object + required: + - kind + description: AWS Egress Private Link Gateway details from AWS. + properties: + kind: + description: AWS Egress Private Link Gateway Status kind type. + type: string + enum: + - AwsEgressPrivateLinkGatewayStatus + principal_arn: + description: The principal ARN used by the AWS Egress Private Link Gateway. + type: string + example: 'arn:aws:iam::123456789012:cc-tenant-1-role' + readOnly: true + networking.v1.AzureEgressPrivateLinkGatewayStatus: + type: object + required: + - kind + description: Azure Egress Private Link Gateway details from Azure. + properties: + kind: + description: Azure Egress Private Link Gateway Status kind type. + type: string + enum: + - AzureEgressPrivateLinkGatewayStatus + subscription: + type: string + description: The Azure Subscription ID associated with the Confluent Cloud VPC. + example: 00000000-0000-0000-0000-000000000000 + readOnly: true + networking.v1.IpAddressList: + type: object + description: |- + IP Addresses + + Related guide: [Use Public Egress IP Addresses on Confluent Cloud](https://docs.confluent.io/cloud/current/networking/static-egress-ip-addresses.html) + + ## The IP Addresses Model + + required: + - api_version + - kind + - metadata + - data + properties: + api_version: + type: string + enum: + - networking/v1 + 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: + - IpAddressList + metadata: + allOf: + - $ref: '#/components/schemas/ListMeta' + - properties: + first: + example: 'https://api.confluent.cloud/networking/v1/ip-addresses' + last: + example: 'https://api.confluent.cloud/networking/v1/ip-addresses?page_token=bcAOehAY8F16YD84Z1wT' + prev: + example: 'https://api.confluent.cloud/networking/v1/ip-addresses?page_token=YIXRY97wWYmwzrax4dld' + next: + example: 'https://api.confluent.cloud/networking/v1/ip-addresses?page_token=UvmDWOB1iwfAIBPj6EYb' + data: + type: array + description: A data property that contains an array of resource items. Each entry in the array is a separate resource. + items: + allOf: + - $ref: '#/components/schemas/networking.v1.IpAddress' + - type: object + uniqueItems: true + networking.v1.IpAddress: + type: object + description: |- + IP Addresses + + Related guide: [Use Public Egress IP addresses on Confluent Cloud](https://docs.confluent.io/cloud/current/networking/static-egress-ip-addresses.html) + + ## The IP Addresses Model + + properties: + api_version: + type: string + enum: + - networking/v1 + 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: + - IpAddress + ip_prefix: + type: string + pattern: ^\d+\.\d+\.\d+\.\d+/\d+$ + description: The IP Address range. + example: 10.200.0.0/28 + cloud: + type: string + description: The cloud service provider in which the address exists. + x-extensible-enum: + - AWS + - GCP + - AZURE + - ANY + example: AWS + region: + type: string + description: The region/location where the IP Address is in use. + example: us-east-1 + services: + type: array + description: The service types that will use the address. + items: + type: string + description: Address service type. + x-extensible-enum: + - KAFKA + - CONNECT + - EXTERNAL_OAUTH + example: CONNECT + uniqueItems: true + minItems: 1 + address_type: + type: string + description: Whether the address is used for egress or ingress. + x-extensible-enum: + - INGRESS + - EGRESS + example: EGRESS + networking.v1.PrivateLinkAttachmentList: + type: object + description: |- + PrivateLink attachment objects represent reservations to establish PrivateLink connections + to a cloud region in order to access resources that belong to a Confluent Cloud Environment. + The API allows you to list, create, read update and delete your PrivateLink attachments. + + + ## The Private Link Attachments Model + + + ## Quotas and Limits + This resource is subject to the [following quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): + + | Quota | Description | + | --- | --- | + | `private_link_attachments_per_environment` | Number of PrivateLink Attachments per environment | + required: + - api_version + - kind + - metadata + - data + properties: + api_version: + type: string + enum: + - networking/v1 + 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: + - PrivateLinkAttachmentList + metadata: + allOf: + - $ref: '#/components/schemas/ListMeta' + - properties: + first: + example: 'https://api.confluent.cloud/networking/v1/private-link-attachments' + last: + example: 'https://api.confluent.cloud/networking/v1/private-link-attachments?page_token=bcAOehAY8F16YD84Z1wT' + prev: + example: 'https://api.confluent.cloud/networking/v1/private-link-attachments?page_token=YIXRY97wWYmwzrax4dld' + next: + example: 'https://api.confluent.cloud/networking/v1/private-link-attachments?page_token=UvmDWOB1iwfAIBPj6EYb' + data: + type: array + description: A data property that contains an array of resource items. Each entry in the array is a separate resource. + items: + allOf: + - $ref: '#/components/schemas/networking.v1.PrivateLinkAttachment' + - type: object + required: + - id + - metadata + - spec + - status + properties: + spec: + type: object + required: + - cloud + - region + - environment + uniqueItems: true + networking.v1.PrivateLinkAttachment: + type: object + description: |- + PrivateLink attachment objects represent reservations to establish PrivateLink connections + to a cloud region in order to access resources that belong to a Confluent Cloud Environment. + The API allows you to list, create, read update and delete your PrivateLink attachments. + + + ## The Private Link Attachments Model + + + ## Quotas and Limits + This resource is subject to the [following quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): + + | Quota | Description | + | --- | --- | + | `private_link_attachments_per_environment` | Number of PrivateLink Attachments per environment | + properties: + api_version: + type: string + enum: + - networking/v1 + 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: + - PrivateLinkAttachment + 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 + metadata: + allOf: + - $ref: '#/components/schemas/ObjectMeta' + - properties: + self: + example: 'https://api.confluent.cloud/networking/v1/private-link-attachments/platt-12345' + resource_name: + example: 'crn://confluent.cloud/organization=9bb441c4-edef-46ac-8a41-c49e44a3fd9a/private-link-attachment=platt-12345' + spec: + $ref: '#/components/schemas/networking.v1.PrivateLinkAttachmentSpec' + status: + $ref: '#/components/schemas/networking.v1.PrivateLinkAttachmentStatus' + networking.v1.PrivateLinkAttachmentSpec: + type: object + description: The desired state of the Private Link Attachment + properties: + display_name: + type: string + description: The name of the PrivateLink attachment. + example: prod-aws-us-east1 + cloud: + type: string + description: | + The cloud service provider that hosts the resources to access with the PrivateLink attachment. + x-extensible-enum: + - AWS + - GCP + - AZURE + example: AWS + x-immutable: true + region: + type: string + description: | + The cloud service provider region where the resources to be accessed + using the PrivateLink attachment are located. + example: us-east-1 + x-immutable: true + environment: + allOf: + - $ref: '#/components/schemas/ObjectReference' + description: The environment to which this belongs. + x-enable-id: true + x-enable-listmeta: true + x-enable-objectmeta: true + networking.v1.PrivateLinkAttachmentStatus: + type: object + required: + - phase + description: The status of the Private Link Attachment + properties: + phase: + type: string + x-extensible-enum: + - PROVISIONING + - WAITING_FOR_CONNECTIONS + - READY + - FAILED + - EXPIRED + - DEPROVISIONING + description: | + The lifecycle phase of the PrivateLink attachment: + + PROVISIONING: PrivateLink attachment provisioning is in progress; + + WAITING_FOR_CONNECTIONS: PrivateLink attachment is waiting for connections; + + READY: PrivateLink attachment is ready; + + FAILED: PrivateLink attachment is in a failed state; + + EXPIRED: PrivateLink attachment has timed out waiting for connections, can only be deleted; + + DEPROVISIONING: PrivateLink attachment deprovisioning is in progress; + readOnly: true + example: READY + error_code: + type: string + description: Error code if PrivateLink attachment is in a failed state. May be used for programmatic error checking. + readOnly: true + error_message: + type: string + description: Displayable error message if PrivateLink attachment is in a failed state. + readOnly: true + dns_domain: + type: string + description: The root DNS domain for the PrivateLink attachment. + example: us-east-1.aws.private.confluent.cloud + readOnly: true + cloud: + type: object + description: The cloud specific status of the PrivateLink attachment. These will be populated when the PrivateLink attachment reaches the WAITING_FOR_CONNECTIONS state. + oneOf: + - $ref: '#/components/schemas/networking.v1.AwsPrivateLinkAttachmentStatus' + - $ref: '#/components/schemas/networking.v1.AzurePrivateLinkAttachmentStatus' + - $ref: '#/components/schemas/networking.v1.GcpPrivateLinkAttachmentStatus' + discriminator: + propertyName: kind + mapping: + AwsPrivateLinkAttachmentStatus: '#/components/schemas/networking.v1.AwsPrivateLinkAttachmentStatus' + AzurePrivateLinkAttachmentStatus: '#/components/schemas/networking.v1.AzurePrivateLinkAttachmentStatus' + GcpPrivateLinkAttachmentStatus: '#/components/schemas/networking.v1.GcpPrivateLinkAttachmentStatus' + readOnly: true + readOnly: true + networking.v1.AwsPrivateLinkAttachmentStatus: + description: | + AWS PrivateLink attachment represents reserved capacity in an + AWS VPC Endpoint Service that can be used to establish PrivateLink + connections. + type: object + required: + - kind + - vpc_endpoint_service + properties: + kind: + type: string + description: PrivateLinkAttachmentStatus kind. + enum: + - AwsPrivateLinkAttachmentStatus + readOnly: true + vpc_endpoint_service: + description: | + AWS VPC Endpoint Service that can be used to establish connections for all zones. + type: object + readOnly: true + allOf: + - $ref: '#/components/schemas/networking.v1.AwsVpcEndpointService' + networking.v1.AzurePrivateLinkAttachmentStatus: + type: object + description: | + Azure PrivateLink attachment represents reserved capacity in a + PrivateLink service that can be used to establish PrivateLink + required: + - kind + - private_link_service + properties: + kind: + type: string + description: PrivateLinkAttachmentStatus kind. + enum: + - AzurePrivateLinkAttachmentStatus + readOnly: true + private_link_service: + description: | + Azure PrivateLink service that can be used to connect to a PrivateEndpoint. + type: object + readOnly: true + allOf: + - $ref: '#/components/schemas/networking.v1.AzurePrivateLinkService' + networking.v1.GcpPrivateLinkAttachmentStatus: + type: object + description: | + GCP PrivateLink attachment represents reserved capacity in zonal + GCP PSC Service attachments. A PSC Endpoint can be connected to + the Service attachment corresponding to each zone. + required: + - kind + - service_attachments + properties: + kind: + type: string + description: PrivateLinkAttachmentStatus kind. + enum: + - GcpPrivateLinkAttachmentStatus + readOnly: true + service_attachments: + description: | + Array of GCP PSC Service attachments that can be used to connect + PSC Endpoints for each zone. + type: array + readOnly: true + items: + $ref: '#/components/schemas/networking.v1.GcpPscServiceAttachment' + networking.v1.AwsVpcEndpointService: + description: | + AWS VPC Endpoint service that can be used to create VPC Endpoints. + type: object + required: + - vpc_endpoint_service_name + properties: + vpc_endpoint_service_name: + type: string + description: Id of the VPC Endpoint service. + readOnly: true + networking.v1.AzurePrivateLinkService: + type: object + description: | + Azure Private Link Service with reserved capacity to connect a Private Endpoint. + required: + - private_link_service_alias + - private_link_service_resource_id + properties: + private_link_service_alias: + description: Azure PrivateLink service alias. + type: string + minLength: 1 + readOnly: true + example: pls-plt-abcdef-az3.38748da8-3322-42f7-b97a-6448c21af653.centralus.azure.privatelinkservice + private_link_service_resource_id: + description: Azure PrivateLink service resource id. + type: string + minLength: 1 + readOnly: true + example: /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/s-abcde/providers/Microsoft.Network/privateLinkServices/pls-plt-abcdef + networking.v1.GcpPscServiceAttachment: + type: object + description: | + GCP PSC Service attachment for a zone with reserved capacity to + connect a PSC Endpoint. + required: + - zone + - private_service_connect_service_attachment + properties: + zone: + description: Zone associated with the PSC Service attachment. + type: string + minLength: 1 + readOnly: true + example: us-central1-a + private_service_connect_service_attachment: + description: Id of a Private Service Connect Service Attachment in Confluent Cloud. + type: string + minLength: 1 + readOnly: true + example: projects/example-project/regions/us-central1/serviceAttachments/plt-abcdef-service-attachment-us-central1-a + networking.v1.PrivateLinkAttachmentUpdate: + type: object + description: |- + PrivateLink attachment objects represent reservations to establish PrivateLink connections + to a cloud region in order to access resources that belong to a Confluent Cloud Environment. + The API allows you to list, create, read update and delete your PrivateLink attachments. + + + ## The Private Link Attachments Model + + + ## Quotas and Limits + This resource is subject to the [following quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): + + | Quota | Description | + | --- | --- | + | `private_link_attachments_per_environment` | Number of PrivateLink Attachments per environment | + properties: + api_version: + type: string + enum: + - networking/v1 + 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: + - PrivateLinkAttachment + 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 + metadata: + allOf: + - $ref: '#/components/schemas/ObjectMeta' + - properties: + self: + example: 'https://api.confluent.cloud/networking/v1/private-link-attachments/platt-12345' + resource_name: + example: 'crn://confluent.cloud/organization=9bb441c4-edef-46ac-8a41-c49e44a3fd9a/private-link-attachment=platt-12345' + spec: + $ref: '#/components/schemas/networking.v1.PrivateLinkAttachmentSpecUpdate' + status: + $ref: '#/components/schemas/networking.v1.PrivateLinkAttachmentStatus' + networking.v1.PrivateLinkAttachmentSpecUpdate: + type: object + description: The desired state of the Private Link Attachment + properties: + display_name: + type: string + description: The name of the PrivateLink attachment. + example: prod-aws-us-east1 + environment: + allOf: + - $ref: '#/components/schemas/ObjectReference' + description: The environment to which this belongs. + x-enable-id: true + x-enable-listmeta: true + x-enable-objectmeta: true + networking.v1.PrivateLinkAttachmentConnectionList: + type: object + description: |- + PrivateLink attachment connection objects represent connections established to a cloud region + in order to access resources that belong to a Confluent Cloud Environment. + The API allows you to list, create, read update and delete your PrivateLink attachment connections. + + + ## The Private Link Attachment Connections Model + + required: + - api_version + - kind + - metadata + - data + properties: + api_version: + type: string + enum: + - networking/v1 + 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: + - PrivateLinkAttachmentConnectionList + metadata: + allOf: + - $ref: '#/components/schemas/ListMeta' + - properties: + first: + example: 'https://api.confluent.cloud/networking/v1/private-link-attachment-connections' + last: + example: 'https://api.confluent.cloud/networking/v1/private-link-attachment-connections?page_token=bcAOehAY8F16YD84Z1wT' + prev: + example: 'https://api.confluent.cloud/networking/v1/private-link-attachment-connections?page_token=YIXRY97wWYmwzrax4dld' + next: + example: 'https://api.confluent.cloud/networking/v1/private-link-attachment-connections?page_token=UvmDWOB1iwfAIBPj6EYb' + data: + type: array + description: A data property that contains an array of resource items. Each entry in the array is a separate resource. + items: + allOf: + - $ref: '#/components/schemas/networking.v1.PrivateLinkAttachmentConnection' + - type: object + required: + - id + - metadata + - spec + - status + properties: + spec: + type: object + required: + - cloud + - environment + - private_link_attachment + uniqueItems: true + networking.v1.PrivateLinkAttachmentConnection: + type: object + description: |- + PrivateLink attachment connection objects represent connections established to a cloud region + in order to access resources that belong to a Confluent Cloud Environment. + The API allows you to list, create, read update and delete your PrivateLink attachment connections. + + + ## The Private Link Attachment Connections Model + + properties: + api_version: + type: string + enum: + - networking/v1 + 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: + - PrivateLinkAttachmentConnection + 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 + metadata: + allOf: + - $ref: '#/components/schemas/ObjectMeta' + - properties: + self: + example: 'https://api.confluent.cloud/networking/v1/private-link-attachment-connections/plattc-12345' + resource_name: + example: 'crn://confluent.cloud/organization=9bb441c4-edef-46ac-8a41-c49e44a3fd9a/private-link-attachment-connection=plattc-12345' + spec: + $ref: '#/components/schemas/networking.v1.PrivateLinkAttachmentConnectionSpec' + status: + $ref: '#/components/schemas/networking.v1.PrivateLinkAttachmentConnectionStatus' + networking.v1.PrivateLinkAttachmentConnectionSpec: + type: object + description: The desired state of the Private Link Attachment Connection + properties: + display_name: + type: string + description: The name of the PrivateLink attachment connection. + example: prod-gcp-us-central1-a + cloud: + type: object + description: The cloud-specific PrivateLink attachment connection details. + oneOf: + - $ref: '#/components/schemas/networking.v1.AwsPrivateLinkAttachmentConnection' + - $ref: '#/components/schemas/networking.v1.AzurePrivateLinkAttachmentConnection' + - $ref: '#/components/schemas/networking.v1.GcpPrivateLinkAttachmentConnection' + discriminator: + propertyName: kind + mapping: + AwsPrivateLinkAttachmentConnection: '#/components/schemas/networking.v1.AwsPrivateLinkAttachmentConnection' + AzurePrivateLinkAttachmentConnection: '#/components/schemas/networking.v1.AzurePrivateLinkAttachmentConnection' + GcpPrivateLinkAttachmentConnection: '#/components/schemas/networking.v1.GcpPrivateLinkAttachmentConnection' + x-immutable: true + environment: + allOf: + - $ref: '#/components/schemas/ObjectReference' + description: The environment to which this belongs. + private_link_attachment: + allOf: + - $ref: '#/components/schemas/ObjectReference' + description: The private_link_attachment to which this belongs. + x-immutable: true + x-enable-id: true + x-enable-listmeta: true + x-enable-objectmeta: true + networking.v1.PrivateLinkAttachmentConnectionStatus: + type: object + required: + - phase + description: The status of the Private Link Attachment Connection + properties: + phase: + type: string + x-extensible-enum: + - PROVISIONING + - READY + - FAILED + - DEPROVISIONING + - DISCONNECTED + description: | + The lifecycle phase of the PrivateLink attachment: + + PROVISIONING: PrivateLink attachment connection provisioning is in progress; + + READY: PrivateLink attachment connection is ready; + + FAILED: PrivateLink attachment connection is in a failed state; + + DEPROVISIONING: PrivateLink attachment connection deprovisioning is in progress; + + DISCONNECTED:| + PrivateLink attachment connection is in a disconnected state. This means the + private endpoint associated with this PrivateLink attachment connection has been deleted; + readOnly: true + example: READY + error_code: + type: string + description: Error code if PrivateLink attachment connection is in a failed state. May be used for programmatic error checking. + readOnly: true + error_message: + type: string + description: Displayable error message if PrivateLink attachment connection is in a failed state. + readOnly: true + cloud: + type: object + description: The cloud specific status of the PrivateLink attachment connection. + oneOf: + - $ref: '#/components/schemas/networking.v1.AwsPrivateLinkAttachmentConnectionStatus' + - $ref: '#/components/schemas/networking.v1.AzurePrivateLinkAttachmentConnectionStatus' + - $ref: '#/components/schemas/networking.v1.GcpPrivateLinkAttachmentConnectionStatus' + discriminator: + propertyName: kind + mapping: + AwsPrivateLinkAttachmentConnectionStatus: '#/components/schemas/networking.v1.AwsPrivateLinkAttachmentConnectionStatus' + AzurePrivateLinkAttachmentConnectionStatus: '#/components/schemas/networking.v1.AzurePrivateLinkAttachmentConnectionStatus' + GcpPrivateLinkAttachmentConnectionStatus: '#/components/schemas/networking.v1.GcpPrivateLinkAttachmentConnectionStatus' + readOnly: true + readOnly: true + networking.v1.AwsPrivateLinkAttachmentConnection: + description: Represents a connection between an AWS VPC Endpoint and an Endpoint service. + type: object + required: + - kind + - vpc_endpoint_id + properties: + kind: + type: string + description: PrivateLinkAttachmentConnection kind. + enum: + - AwsPrivateLinkAttachmentConnection + vpc_endpoint_id: + description: Id of a VPC Endpoint that is connected to the VPC Endpoint service. + type: string + minLength: 1 + example: vpce-00000000000000000 + networking.v1.AzurePrivateLinkAttachmentConnection: + description: Represents a connection between an Azure PrivateLink service and a PrivateEndpoint. + type: object + required: + - kind + - private_endpoint_resource_id + properties: + kind: + type: string + description: PrivateLinkAttachmentConnection kind. + enum: + - AzurePrivateLinkAttachmentConnection + private_endpoint_resource_id: + description: | + Resource Id of the PrivateEndpoint that is connected to the PrivateLink service. + type: string + minLength: 1 + example: /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/testvpc/providers/Microsoft.Network/privateEndpoints/pe-plt-abcdef-az3 + networking.v1.GcpPrivateLinkAttachmentConnection: + type: object + description: Represents a connection between a GCP PSC Service Attachment and a PSC Endpoint. + required: + - kind + - private_service_connect_connection_id + properties: + kind: + type: string + description: PrivateLinkAttachmentConnection kind. + enum: + - GcpPrivateLinkAttachmentConnection + private_service_connect_connection_id: + description: Id of the Private Service connection. + type: string + minLength: 1 + readOnly: true + example: '00000000000000000' + networking.v1.AwsPrivateLinkAttachmentConnectionStatus: + description: Status of a connection to an AWS PrivateLink attachment. + type: object + required: + - kind + - vpc_endpoint_service_name + - vpc_endpoint_id + properties: + kind: + type: string + description: PrivateLinkAttachmentConnectionStatus kind. + enum: + - AwsPrivateLinkAttachmentConnectionStatus + vpc_endpoint_service_name: + description: Id of the VPC Endpoint service used for PrivateLink. + type: string + minLength: 1 + example: com.amazonaws.vpce.us-west-2.vpce-svc-00000000000000000 + readOnly: true + vpc_endpoint_id: + description: Id of the VPC Endpoint (if any) that is connected to the VPC Endpoint service. + type: string + minLength: 1 + readOnly: true + example: vpce-00000000000000000 + networking.v1.AzurePrivateLinkAttachmentConnectionStatus: + description: Status of an Azure PrivateLink attachment connection for an availability zone. + type: object + required: + - kind + - zone + - private_link_service_alias + - private_link_service_resource_id + - private_endpoint_resource_id + properties: + kind: + type: string + description: PrivateLinkAttachmentConnectionStatus kind. + enum: + - AzurePrivateLinkAttachmentConnectionStatus + zone: + description: Availability zone associated with the Azure PrivateLink service. + type: string + minLength: 1 + readOnly: true + example: '1' + private_link_service_alias: + description: Azure PrivateLink service alias for the availability zone. + type: string + minLength: 1 + readOnly: true + example: pls-plt-abcdef-az3.38748da8-3322-42f7-b97a-6448c21af653.centralus.azure.privatelinkservice + private_link_service_resource_id: + description: Azure PrivateLink service resource id for the availability zone. + type: string + minLength: 1 + readOnly: true + example: /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/s-abcde/providers/Microsoft.Network/privateLinkServices/pls-plt-abcdef-az3 + private_endpoint_resource_id: + description: | + Resource Id of the PrivateEndpoint (if any) that is connected to + the PrivateLink service for this availability zone. + type: string + minLength: 1 + readOnly: true + example: /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/testvpc/providers/Microsoft.Network/privateEndpoints/pe-plt-abcdef-az3 + networking.v1.GcpPrivateLinkAttachmentConnectionStatus: + description: Status of a GCP PrivateLink attachment connection for a zone. + type: object + required: + - kind + - zone + - private_service_connect_service_attachment + - private_service_connect_connection_id + properties: + kind: + type: string + description: PrivateLinkAttachmentConnectionStatus kind. + enum: + - GcpPrivateLinkAttachmentConnectionStatus + zone: + description: Zone associated with the GCP PrivateLink attachment connection. + type: string + minLength: 1 + readOnly: true + example: us-central1-a + private_service_connect_service_attachment: + description: GCP Private Service Connect ServiceAttachment for the zone. + type: string + minLength: 1 + readOnly: true + example: projects/example-project/regions/us-central1/serviceAttachments/plt-abcdef-service-attachment-us-central1-a + private_service_connect_connection_id: + description: Id of the Private Service connection. + type: string + minLength: 1 + readOnly: true + example: '00000000000000000' + networking.v1.PrivateLinkAttachmentConnectionUpdate: + type: object + description: |- + PrivateLink attachment connection objects represent connections established to a cloud region + in order to access resources that belong to a Confluent Cloud Environment. + The API allows you to list, create, read update and delete your PrivateLink attachment connections. + + + ## The Private Link Attachment Connections Model + + properties: + api_version: + type: string + enum: + - networking/v1 + 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: + - PrivateLinkAttachmentConnection + 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 + metadata: + allOf: + - $ref: '#/components/schemas/ObjectMeta' + - properties: + self: + example: 'https://api.confluent.cloud/networking/v1/private-link-attachment-connections/plattc-12345' + resource_name: + example: 'crn://confluent.cloud/organization=9bb441c4-edef-46ac-8a41-c49e44a3fd9a/private-link-attachment-connection=plattc-12345' + spec: + $ref: '#/components/schemas/networking.v1.PrivateLinkAttachmentConnectionSpecUpdate' + status: + $ref: '#/components/schemas/networking.v1.PrivateLinkAttachmentConnectionStatus' + networking.v1.PrivateLinkAttachmentConnectionSpecUpdate: + type: object + description: The desired state of the Private Link Attachment Connection + properties: + display_name: + type: string + description: The name of the PrivateLink attachment connection. + example: prod-gcp-us-central1-a + environment: + allOf: + - $ref: '#/components/schemas/ObjectReference' + description: The environment to which this belongs. + x-enable-id: true + x-enable-listmeta: true + x-enable-objectmeta: true + networking.v1.DnsForwarderList: + type: object + description: |- + Add, remove, and update DNS forwarder for your gateway. + + Related guides: + * [Use VPC peering connections with Confluent Cloud on AWS](https://docs.confluent.io/cloud/current/networking/peering/aws-peering.html). + * [Use VNet peering connections with Confluent Cloud on Azure](https://docs.confluent.io/cloud/current/networking/peering/azure-peering.html). + + + ## The DNS Forwarders Model + + required: + - api_version + - kind + - metadata + - data + properties: + api_version: + type: string + enum: + - networking/v1 + 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: + - DnsForwarderList + metadata: + allOf: + - $ref: '#/components/schemas/ListMeta' + - properties: + first: + example: 'https://api.confluent.cloud/networking/v1/dns-forwarders' + last: + example: 'https://api.confluent.cloud/networking/v1/dns-forwarders?page_token=bcAOehAY8F16YD84Z1wT' + prev: + example: 'https://api.confluent.cloud/networking/v1/dns-forwarders?page_token=YIXRY97wWYmwzrax4dld' + next: + example: 'https://api.confluent.cloud/networking/v1/dns-forwarders?page_token=UvmDWOB1iwfAIBPj6EYb' + data: + type: array + description: A data property that contains an array of resource items. Each entry in the array is a separate resource. + items: + allOf: + - $ref: '#/components/schemas/networking.v1.DnsForwarder' + - type: object + required: + - id + - metadata + - spec + - status + properties: + spec: + type: object + required: + - domains + - config + - environment + - gateway + uniqueItems: true + networking.v1.DnsForwarder: + type: object + description: |- + Add, remove, and update DNS forwarder for your gateway. + + Related guides: + * [Use VPC peering connections with Confluent Cloud on AWS](https://docs.confluent.io/cloud/current/networking/peering/aws-peering.html). + * [Use VNet peering connections with Confluent Cloud on Azure](https://docs.confluent.io/cloud/current/networking/peering/azure-peering.html). + + + ## The DNS Forwarders Model + + properties: + api_version: + type: string + enum: + - networking/v1 + 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: + - DnsForwarder + 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 + metadata: + allOf: + - $ref: '#/components/schemas/ObjectMeta' + - properties: + self: + example: 'https://api.confluent.cloud/networking/v1/dns-forwarders/df-12345' + resource_name: + example: 'crn://confluent.cloud/organization=9bb441c4-edef-46ac-8a41-c49e44a3fd9a/environment=env-abc123/gateway=gw-456xyz/dns-forwarder=df-12345' + spec: + $ref: '#/components/schemas/networking.v1.DnsForwarderSpec' + status: + $ref: '#/components/schemas/networking.v1.DnsForwarderStatus' + networking.v1.DnsForwarderSpec: + type: object + description: The desired state of the Dns Forwarder + properties: + display_name: + type: string + description: The name of the DNS forwarder + example: prod-dnsf-1 + domains: + type: array + items: + type: string + uniqueItems: true + minItems: 0 + maxItems: 10 + description: List of domains for the DNS forwarder to use + example: + - example.com + - domainname.com + config: + type: object + oneOf: + - $ref: '#/components/schemas/networking.v1.ForwardViaIp' + discriminator: + propertyName: kind + mapping: + ForwardViaIp: '#/components/schemas/networking.v1.ForwardViaIp' + description: The specific details of different kinds of configuration for DNS Forwarder. + environment: + allOf: + - $ref: '#/components/schemas/ObjectReference' + description: The environment to which this belongs. + gateway: + allOf: + - $ref: '#/components/schemas/ObjectReference' + description: The gateway to which this belongs. + x-immutable: true + x-enable-id: true + x-enable-listmeta: true + x-enable-objectmeta: true + networking.v1.DnsForwarderStatus: + type: object + required: + - phase + description: The status of the Dns Forwarder + properties: + phase: + type: string + x-extensible-enum: + - PROVISIONING + - CREATED + - READY + - DEGRADED + - FAILED + - DEPROVISIONING + description: | + The lifecycle phase of the DNS forwarder: + + PROVISIONING: DNS forwarder provisioning is in progress; + + CREATED: DNS forwarder is created. It will automatically become ready once a Kafka cluster is provisioned; + + READY: DNS forwarder is ready; + + FAILED: DNS forwarder is in a failed state; + + DEGRADED: DNS forwarder is in a degraded state, transitioning from 'READY' due to unreachable DNS resolvers; + + DEPROVISIONING: DNS forwarder deprovisioning is in progress; + readOnly: true + example: READY + error_code: + type: string + description: Error code if dns forwarder is in a failed state. May be used for programmatic error checking. + readOnly: true + error_message: + type: string + description: Displayable error message if dns forwarder is in a failed state + readOnly: true + readOnly: true + networking.v1.ForwardViaIp: + type: object + title: ForwardViaIp + description: DNS Forwarder Configured via DNS Server IPs. + required: + - kind + - dns_server_ips + properties: + kind: + description: DNS Forwarder Configured via DNS Server IPs kind type. + type: string + enum: + - ForwardViaIp + dns_server_ips: + type: array + items: + $ref: '#/components/schemas/networking.v1.Ip' + uniqueItems: true + minItems: 1 + maxItems: 3 + description: List of IP addresses of the DNS server + example: + - 10.200.0.0 + - 10.200.0.1 + networking.v1.Ip: + type: string + pattern: ^\d+\.\d+\.\d+\.\d+$ + description: IPv4 Address + example: 10.200.0.0 + networking.v1.DnsForwarderUpdate: + type: object + description: |- + Add, remove, and update DNS forwarder for your gateway. + + Related guides: + * [Use VPC peering connections with Confluent Cloud on AWS](https://docs.confluent.io/cloud/current/networking/peering/aws-peering.html). + * [Use VNet peering connections with Confluent Cloud on Azure](https://docs.confluent.io/cloud/current/networking/peering/azure-peering.html). + + + ## The DNS Forwarders Model + + properties: + api_version: + type: string + enum: + - networking/v1 + 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: + - DnsForwarder + 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 + metadata: + allOf: + - $ref: '#/components/schemas/ObjectMeta' + - properties: + self: + example: 'https://api.confluent.cloud/networking/v1/dns-forwarders/df-12345' + resource_name: + example: 'crn://confluent.cloud/organization=9bb441c4-edef-46ac-8a41-c49e44a3fd9a/environment=env-abc123/gateway=gw-456xyz/dns-forwarder=df-12345' + spec: + $ref: '#/components/schemas/networking.v1.DnsForwarderSpecUpdate' + status: + $ref: '#/components/schemas/networking.v1.DnsForwarderStatus' + networking.v1.DnsForwarderSpecUpdate: + type: object + description: The desired state of the Dns Forwarder + properties: + display_name: + type: string + description: The name of the DNS forwarder + example: prod-dnsf-1 + domains: + type: array + items: + type: string + uniqueItems: true + minItems: 0 + maxItems: 10 + description: List of domains for the DNS forwarder to use + example: + - example.com + - domainname.com + config: + type: object + oneOf: + - $ref: '#/components/schemas/networking.v1.ForwardViaIp' + discriminator: + propertyName: kind + mapping: + ForwardViaIp: '#/components/schemas/networking.v1.ForwardViaIp' + description: The specific details of different kinds of configuration for DNS Forwarder. + environment: + allOf: + - $ref: '#/components/schemas/ObjectReference' + description: The environment to which this belongs. + x-enable-id: true + x-enable-listmeta: true + x-enable-objectmeta: true + networking.v1.AccessPointList: + type: object + description: |- + AccessPoint objects represent network connections in and out of Gateways. + This API allows you to list, create, read, update, and delete your access points. + + + ## The Access Points Model + + required: + - api_version + - kind + - metadata + - data + properties: + api_version: + type: string + enum: + - networking/v1 + 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: + - AccessPointList + metadata: + allOf: + - $ref: '#/components/schemas/ListMeta' + - properties: + first: + example: 'https://api.confluent.cloud/networking/v1/access-points' + last: + example: 'https://api.confluent.cloud/networking/v1/access-points?page_token=bcAOehAY8F16YD84Z1wT' + prev: + example: 'https://api.confluent.cloud/networking/v1/access-points?page_token=YIXRY97wWYmwzrax4dld' + next: + example: 'https://api.confluent.cloud/networking/v1/access-points?page_token=UvmDWOB1iwfAIBPj6EYb' + data: + type: array + description: A data property that contains an array of resource items. Each entry in the array is a separate resource. + items: + allOf: + - $ref: '#/components/schemas/networking.v1.AccessPoint' + - type: object + required: + - id + - metadata + - spec + - status + properties: + spec: + type: object + required: + - config + - environment + - gateway + uniqueItems: true + networking.v1.AccessPoint: + type: object + description: |- + AccessPoint objects represent network connections in and out of Gateways. + This API allows you to list, create, read, update, and delete your access points. + + + ## The Access Points Model + + properties: + api_version: + type: string + enum: + - networking/v1 + 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: + - AccessPoint + 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 + metadata: + allOf: + - $ref: '#/components/schemas/ObjectMeta' + - properties: + self: + example: 'https://api.confluent.cloud/networking/v1/access-points/ap-12345' + resource_name: + example: 'crn://confluent.cloud/organization=9bb441c4-edef-46ac-8a41-c49e44a3fd9a/environment=env-abc123/gateway=gw-456xyz/access-point=ap-12345' + spec: + $ref: '#/components/schemas/networking.v1.AccessPointSpec' + status: + $ref: '#/components/schemas/networking.v1.AccessPointStatus' + networking.v1.AccessPointSpec: + type: object + description: The desired state of the Access Point + properties: + display_name: + type: string + description: The name of the access point. + example: prod-ap-egress-usw2 + config: + type: object + oneOf: + - $ref: '#/components/schemas/networking.v1.AwsEgressPrivateLinkEndpoint' + - $ref: '#/components/schemas/networking.v1.AzureEgressPrivateLinkEndpoint' + discriminator: + propertyName: kind + mapping: + AwsEgressPrivateLinkEndpoint: '#/components/schemas/networking.v1.AwsEgressPrivateLinkEndpoint' + AzureEgressPrivateLinkEndpoint: '#/components/schemas/networking.v1.AzureEgressPrivateLinkEndpoint' + description: The specific details of the different access point configurations. + x-immutable: true + environment: + allOf: + - $ref: '#/components/schemas/ObjectReference' + description: The environment to which this belongs. + gateway: + allOf: + - $ref: '#/components/schemas/ObjectReference' + description: The gateway to which this belongs. + x-immutable: true + x-enable-id: true + x-enable-listmeta: true + x-enable-objectmeta: true + networking.v1.AccessPointStatus: + type: object + required: + - phase + description: The status of the Access Point + properties: + phase: + type: string + x-extensible-enum: + - PROVISIONING + - PENDING_ACCEPT + - READY + - FAILED + - DEPROVISIONING + description: | + The lifecycle phase of the access point: + + PROVISIONING: Access point provisioning is in progress; + + PENDING_ACCEPT: Access point connection request is pending acceptance by the customer; + + READY: Access point is ready; + + FAILED: Access point is in a failed state; + + DEPROVISIONING: Access point deprovisioning is in progress; + readOnly: true + example: READY + error_code: + type: string + description: Error code if access point is in a failed state. May be used for programmatic error checking. + readOnly: true + error_message: + type: string + description: Displayable error message if access point is in a failed state. + readOnly: true + config: + type: object + oneOf: + - $ref: '#/components/schemas/networking.v1.AwsEgressPrivateLinkEndpointStatus' + - $ref: '#/components/schemas/networking.v1.AzureEgressPrivateLinkEndpointStatus' + description: Cloud specific status of the access point. + discriminator: + propertyName: kind + mapping: + AwsEgressPrivateLinkEndpointStatus: '#/components/schemas/networking.v1.AwsEgressPrivateLinkEndpointStatus' + AzureEgressPrivateLinkEndpointStatus: '#/components/schemas/networking.v1.AzureEgressPrivateLinkEndpointStatus' + readOnly: true + readOnly: true + networking.v1.AwsEgressPrivateLinkEndpoint: + type: object + description: AWS VPC Endpoint. + required: + - kind + - vpc_endpoint_service_name + properties: + kind: + type: string + description: AwsEgressPrivateLinkEndpoint kind. + enum: + - AwsEgressPrivateLinkEndpoint + vpc_endpoint_service_name: + description: ID of the VPC Endpoint service used for PrivateLink. + type: string + minLength: 1 + example: com.amazonaws.vpce.us-west-2.vpce-svc-00000000000000000 + enable_high_availability: + type: boolean + description: Whether a resource should be provisioned with high availability. Endpoints deployed with high availability have network interfaces deployed in multiple AZs. + example: false + x-immutable: true + networking.v1.AzureEgressPrivateLinkEndpoint: + type: object + description: Azure Private Endpoint. + required: + - kind + - private_link_service_resource_id + properties: + kind: + type: string + description: AzureEgressPrivateLinkEndpoint kind. + enum: + - AzureEgressPrivateLinkEndpoint + private_link_service_resource_id: + description: Resource ID of the Azure Private Link service. + type: string + minLength: 1 + example: /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/s-abcde/providers/Microsoft.Network/privateLinkServices/pls-plt-abcdef-az3 + private_link_subresource_name: + type: string + description: Name of the subresource for the Private Endpoint to connect to. + example: sqlServer + networking.v1.AwsEgressPrivateLinkEndpointStatus: + type: object + title: AWS + description: Status of an AWS PrivateLink Endpoint. + required: + - kind + - vpc_endpoint_id + - vpc_endpoint_dns_name + properties: + kind: + description: AwsEgressPrivateLinkEndpointStatus kind. + type: string + enum: + - AwsEgressPrivateLinkEndpointStatus + vpc_endpoint_id: + description: ID of a VPC Endpoint (if any) that is connected to the VPC Endpoint service. + type: string + example: vpce-00000000000000000 + readOnly: true + vpc_endpoint_dns_name: + description: DNS name of a VPC Endpoint (if any) that is connected to the VPC Endpoint service. + type: string + example: vpce-00000000000000000-00000000.vpce-svc-00000000000000000.us-west-2.vpce.amazonaws.com + readOnly: true + networking.v1.AzureEgressPrivateLinkEndpointStatus: + type: object + description: Status of an Azure Private Endpoint. + required: + - kind + - private_endpoint_resource_id + - private_endpoint_ip_address + properties: + kind: + description: AzureEgressPrivateLinkEndpointStatus kind. + type: string + enum: + - AzureEgressPrivateLinkEndpointStatus + private_endpoint_resource_id: + description: Resource ID of the Private Endpoint (if any) that is connected to the Private Link service. + type: string + readOnly: true + example: /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/testvpc/providers/Microsoft.Network/privateEndpoints/pe-plt-abcdef-az3 + private_endpoint_domain: + description: Domain of the Private Endpoint (if any) that is connected to the Private Link service. + type: string + readOnly: true + example: dbname.database.windows.net + private_endpoint_ip_address: + description: IP address of the Private Endpoint (if any) that is connected to the Private Link service. + type: string + readOnly: true + example: 10.2.0.68 + networking.v1.AccessPointUpdate: + type: object + description: |- + AccessPoint objects represent network connections in and out of Gateways. + This API allows you to list, create, read, update, and delete your access points. + + + ## The Access Points Model + + properties: + api_version: + type: string + enum: + - networking/v1 + 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: + - AccessPoint + 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 + metadata: + allOf: + - $ref: '#/components/schemas/ObjectMeta' + - properties: + self: + example: 'https://api.confluent.cloud/networking/v1/access-points/ap-12345' + resource_name: + example: 'crn://confluent.cloud/organization=9bb441c4-edef-46ac-8a41-c49e44a3fd9a/environment=env-abc123/gateway=gw-456xyz/access-point=ap-12345' + spec: + $ref: '#/components/schemas/networking.v1.AccessPointSpecUpdate' + status: + $ref: '#/components/schemas/networking.v1.AccessPointStatus' + networking.v1.AccessPointSpecUpdate: + type: object + description: The desired state of the Access Point + properties: + display_name: + type: string + description: The name of the access point. + example: prod-ap-egress-usw2 + environment: + allOf: + - $ref: '#/components/schemas/ObjectReference' + description: The environment to which this belongs. + x-enable-id: true + x-enable-listmeta: true + x-enable-objectmeta: true + networking.v1.DnsRecordList: + type: object + description: |- + DNS record objects are associated with Confluent Cloud networking resources. This API allows you to list, create, read, update, and delete your DNS records. + + ## The DNS Records Model + + required: + - api_version + - kind + - metadata + - data + properties: + api_version: + type: string + enum: + - networking/v1 + 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: + - DnsRecordList + metadata: + allOf: + - $ref: '#/components/schemas/ListMeta' + - properties: + first: + example: 'https://api.confluent.cloud/networking/v1/dns-records' + last: + example: 'https://api.confluent.cloud/networking/v1/dns-records?page_token=bcAOehAY8F16YD84Z1wT' + prev: + example: 'https://api.confluent.cloud/networking/v1/dns-records?page_token=YIXRY97wWYmwzrax4dld' + next: + example: 'https://api.confluent.cloud/networking/v1/dns-records?page_token=UvmDWOB1iwfAIBPj6EYb' + data: + type: array + description: A data property that contains an array of resource items. Each entry in the array is a separate resource. + items: + allOf: + - $ref: '#/components/schemas/networking.v1.DnsRecord' + - type: object + required: + - id + - metadata + - spec + - status + properties: + spec: + type: object + required: + - domain + - config + - environment + - gateway + uniqueItems: true + networking.v1.DnsRecord: + type: object + description: |- + DNS record objects are associated with Confluent Cloud networking resources. This API allows you to list, create, read, update, and delete your DNS records. + + ## The DNS Records Model + + properties: + api_version: + type: string + enum: + - networking/v1 + 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: + - DnsRecord + 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 + metadata: + allOf: + - $ref: '#/components/schemas/ObjectMeta' + - properties: + self: + example: 'https://api.confluent.cloud/networking/v1/dns-records/dnsrec-12345' + resource_name: + example: 'crn://confluent.cloud/organization=9bb441c4-edef-46ac-8a41-c49e44a3fd9a/environment=env-abc123/gateway=gw-456xyz/dns-record=dnsrec-12345' + spec: + $ref: '#/components/schemas/networking.v1.DnsRecordSpec' + status: + $ref: '#/components/schemas/networking.v1.DnsRecordStatus' + networking.v1.DnsRecordSpec: + type: object + description: The desired state of the Dns Record + properties: + display_name: + type: string + description: The name of the DNS record. + example: prod-dnsrec-1 + domain: + type: string + description: The fully qualified domain name of the DNS record. + example: example.com + x-immutable: true + config: + type: object + description: The config of the DNS record. + oneOf: + - $ref: '#/components/schemas/networking.v1.PrivateLinkAccessPoint' + discriminator: + propertyName: kind + mapping: + PrivateLinkAccessPoint: '#/components/schemas/networking.v1.PrivateLinkAccessPoint' + environment: + allOf: + - $ref: '#/components/schemas/ObjectReference' + description: The environment to which this belongs. + gateway: + allOf: + - $ref: '#/components/schemas/TypedEnvScopedObjectReference' + description: The gateway to which this belongs. + x-immutable: true + x-enable-id: true + x-enable-listmeta: true + x-enable-objectmeta: true + networking.v1.DnsRecordStatus: + type: object + required: + - phase + description: The status of the Dns Record + properties: + phase: + type: string + x-extensible-enum: + - PROVISIONING + - CREATED + - READY + - FAILED + - DEPROVISIONING + description: | + The lifecycle phase of the DNS record: + + PROVISIONING: DNS record provisioning is in progress; + + CREATED: DNS record is created. It will automatically become ready once a Kafka cluster is provisioned; + + READY: DNS record is ready; + + FAILED: DNS record is in a failed state; + + DEPROVISIONING: DNS record deprovisioning is in progress; + readOnly: true + example: READY + error_code: + type: string + description: Error code if the DNS record is in a failed state. May be used for programmatic error checking. + readOnly: true + error_message: + type: string + description: Displayable error message if the DNS record is in a failed state. + readOnly: true + readOnly: true + networking.v1.PrivateLinkAccessPoint: + type: object + description: DNS record that is associated with a PrivateLink access point. + required: + - kind + - resource_id + properties: + kind: + description: PrivateLinkAccessPoint kind. + type: string + enum: + - PrivateLinkAccessPoint + resource_id: + description: ID of the target resource. + type: string + minLength: 1 + example: ap-12345 + networking.v1.DnsRecordUpdate: + type: object + description: |- + DNS record objects are associated with Confluent Cloud networking resources. This API allows you to list, create, read, update, and delete your DNS records. + + ## The DNS Records Model + + properties: + api_version: + type: string + enum: + - networking/v1 + 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: + - DnsRecord + 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 + metadata: + allOf: + - $ref: '#/components/schemas/ObjectMeta' + - properties: + self: + example: 'https://api.confluent.cloud/networking/v1/dns-records/dnsrec-12345' + resource_name: + example: 'crn://confluent.cloud/organization=9bb441c4-edef-46ac-8a41-c49e44a3fd9a/environment=env-abc123/gateway=gw-456xyz/dns-record=dnsrec-12345' + spec: + $ref: '#/components/schemas/networking.v1.DnsRecordSpecUpdate' + status: + $ref: '#/components/schemas/networking.v1.DnsRecordStatus' + networking.v1.DnsRecordSpecUpdate: + type: object + description: The desired state of the Dns Record + properties: + display_name: + type: string + description: The name of the DNS record. + example: prod-dnsrec-1 + config: + type: object + description: The config of the DNS record. + oneOf: + - $ref: '#/components/schemas/networking.v1.PrivateLinkAccessPoint' + discriminator: + propertyName: kind + mapping: + PrivateLinkAccessPoint: '#/components/schemas/networking.v1.PrivateLinkAccessPoint' + environment: + allOf: + - $ref: '#/components/schemas/ObjectReference' + description: The environment to which this belongs. + x-enable-id: true + x-enable-listmeta: true + x-enable-objectmeta: true + parameters: + AclHost: + name: host + description: The ACL host. + in: query + required: false + schema: + type: string + AclOperation: + name: operation + description: The ACL operation. + in: query + required: false + schema: + $ref: '#/components/schemas/AclOperation' + AclOperationRequired: + name: operation + description: The ACL operation. + in: query + required: true + schema: + $ref: '#/components/schemas/AclOperation' + AclPatternType: + name: pattern_type + description: The ACL pattern type. + in: query + required: false + schema: + $ref: '#/components/schemas/AclPatternType' + AclPatternTypeRequired: + name: pattern_type + description: The ACL pattern type. + in: query + required: true + schema: + $ref: '#/components/schemas/AclPatternType' + AclPermission: + name: permission + description: The ACL permission. + in: query + required: false + schema: + $ref: '#/components/schemas/AclPermission' + AclPermissionRequired: + name: permission + description: The ACL permission. + in: query + required: true + schema: + $ref: '#/components/schemas/AclPermission' + AclPrincipal: + name: principal + description: The ACL principal. This is the Service Account name or user name. + in: query + required: false + schema: + type: string + AclResourceName: + name: resource_name + description: The ACL resource name. + in: query + required: false + schema: + type: string + AclResourceType: + name: resource_type + description: The ACL resource type. + in: query + required: false + schema: + $ref: '#/components/schemas/AclResourceType' + AclResourceTypeRequired: + name: resource_type + description: The ACL resource type. + in: query + required: true + schema: + $ref: '#/components/schemas/AclResourceType' + BrokerId: + name: broker_id + description: The Kafka broker ID. + in: path + required: true + schema: + type: integer + example: 1 + ClusterId: + name: cluster_id + description: The Kafka cluster ID. + in: path + required: true + schema: + type: string + example: cluster-1 + ConfigName: + name: name + description: The configuration parameter name. + in: path + required: true + schema: + type: string + example: compression.type + ConsumerGroupId: + name: consumer_group_id + description: The consumer group ID. + in: path + required: true + schema: + type: string + example: consumer-group-1 + ConsumerId: + name: consumer_id + description: The consumer ID. + in: path + required: true + schema: + type: string + example: consumer-1 + IncludeAuthorizedOperations: + name: include_authorized_operations + description: Specify if authorized operations should be included in the response. + in: query + required: false + schema: + type: boolean + PartitionId: + name: partition_id + description: The partition ID. + in: path + required: true + schema: + type: integer + example: 0 + TopicName: + name: topic_name + description: The topic name. + in: path + required: true + schema: + type: string + example: topic-1 + BrokerTaskType: + name: task_type + description: The Kafka broker task type. + in: path + required: true + schema: + $ref: '#/components/schemas/BrokerTaskType' + example: remove-broker + ShouldShutdown: + name: should_shutdown + description: 'To shutdown the broker or not, Default: true' + in: query + required: false + schema: + type: boolean + example: true + ValidateOnly: + name: validate_only + description: 'To validate the action can be performed successfully or not. Default: false' + in: query + required: false + schema: + type: boolean + example: false + ValidateLink: + name: validate_link + description: 'To synchronously validate that the source cluster ID is expected and the dest cluster has the permission to read topics in the source cluster. Default: true' + in: query + required: false + schema: + type: boolean + example: false + IncludeTasks: + name: include_tasks + description: 'Whether to include cluster linking tasks in the response. Default: false' + in: query + required: false + schema: + type: boolean + example: false + IncludeStateTransitionErrors: + name: include_state_transition_errors + description: 'Whether to include mirror state transition errors in the response. Default: false' + in: query + required: false + schema: + type: boolean + example: false + Force: + name: force + description: 'Force the action. Default: false' + in: query + required: false + schema: + type: boolean + example: false + IncludePartitionLevelTruncationData: + name: include_partition_level_truncation_data + description: 'Whether to include partition level truncation information when truncating and restoring a topic in the response. Default: false' + in: query + required: false + schema: + type: boolean + example: false + LinkName: + name: link_name + description: The link name + in: path + required: true + schema: + type: string + example: link-sb1 + LinkConfigName: + name: config_name + description: The link config name + in: path + required: true + schema: + type: string + example: consumer.offset.sync.enable + MirrorTopicStatus: + name: mirror_status + description: 'The status of the mirror topic. If not specified, all mirror topics will be returned.' + in: query + required: false + schema: + $ref: '#/components/schemas/MirrorTopicStatus' + example: ACTIVE + MirrorTopicName: + name: mirror_topic_name + description: Cluster Linking mirror topic name + in: path + required: true + schema: + type: string + example: topic-1 + QueryParamLinkName: + name: link_name + description: The link name + in: query + required: true + schema: + type: string + example: link-sb1 + responses: + BadRequestError: + description: Bad Request + headers: + X-Request-Id: + schema: + type: string + description: The unique identifier for the API request. + content: + application/json: + schema: + $ref: '#/components/schemas/Failure' + example: + errors: + - id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d + status: '400' + code: invalid_filter + title: Invalid Filter + detail: The 'delorean' resource can't be filtered by 'num_doors' + source: + parameter: num_doors + UnauthenticatedError: + x-summary: Unauthorized + description: The request lacks valid authentication credentials for this resource. + headers: + X-Request-Id: + schema: + type: string + description: The unique identifier for the API request. + WWW-Authenticate: + schema: + type: string + description: The unique identifier for the API request. + example: 'Basic error="invalid_key", error_description="The API Key is invalid"' + content: + application/json: + schema: + $ref: '#/components/schemas/Failure' + example: + errors: + - id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d + status: '401' + code: user_unauthenticated + title: Authentication Required + detail: Valid authentication credentials must be provided + UnauthorizedError: + x-summary: Forbidden + description: The access credentials were considered insufficient to grant access + headers: + X-Request-Id: + schema: + type: string + description: The unique identifier for the API request. + content: + application/json: + schema: + $ref: '#/components/schemas/Failure' + example: + errors: + - id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d + status: '403' + code: user_unauthorized + title: User Access Unauthorized + detail: The user 'mcfly' is not allowed to access the 'delorean' resource without the 'plutonium' role. + RateLimitError: + description: Rate Limit Exceeded + headers: + X-Request-Id: + schema: + type: string + description: The unique identifier for the API request. + X-RateLimit-Limit: + schema: + type: integer + description: The maximum number of requests you're permitted to make per time period. + X-RateLimit-Remaining: + schema: + type: integer + description: The number of requests remaining in the current rate limit window. + X-RateLimit-Reset: + schema: + type: integer + description: |- + The relative time in seconds until the current rate-limit window resets. + + **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. + DefaultSystemError: + description: 'Oops, something went wrong!' + headers: + X-Request-Id: + schema: + type: string + description: The unique identifier for the API request. + content: + application/json: + schema: + $ref: '#/components/schemas/Failure' + example: + errors: + - id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d + status: '500' + code: out_of_gas + title: DeLorean Out Of Gas + detail: 'The DeLorean has run out of gas, but Doc Brown will fill ''er up for you asap' + OverQuotaError: + x-summary: Over Quota + description: The request would exceed one or more quotas. + headers: + X-Request-Id: + schema: + type: string + description: The unique identifier for the API request. + content: + application/json: + schema: + $ref: '#/components/schemas/Failure' + example: + errors: + - id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d + status: '402' + code: quota_exceeded + title: Kafka Clusters Per Org Quota Exceeded + detail: 'The request would exceed the quota: kafka_clusters_per_environment' + ConflictError: + x-summary: Conflict + description: The request is in conflict with the current server state + headers: + X-Request-Id: + schema: + type: string + description: The unique identifier for the API request. + Location: + schema: + type: string + format: uri + example: 'https://api.confluent.cloud/{object}/{id}' + description: Resource URI of conflicting resource + content: + application/json: + schema: + $ref: '#/components/schemas/Failure' + example: + errors: + - id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d + status: '409' + code: resource_already_exists + title: Resource Already exists + detail: The entitlement '91e3e86f-fca6-4f14-98f5-a48e64113ce2' already exists. + ValidationError: + description: Validation Failed + headers: + X-Request-Id: + schema: + type: string + description: The unique identifier for the API request. + content: + application/json: + schema: + $ref: '#/components/schemas/Failure' + example: + errors: + - status: '422' + code: invalid_configuration + id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d + title: Validation Failed + detail: 'The property ''/cluster/storage_size'' of type string did not match the following type: integer' + source: + pointer: /cluster/storage_size + - status: '422' + code: invalid_configuration + id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d + title: Validation Failed + detail: 'The property ''/cluster/storage_size'' of type string did not match the following type: integer' + source: + pointer: /cluster/storage_size + - status: '422' + code: invalid_configuration + id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d + title: Validation Failed + detail: 'The property ''/cluster/storage_size'' of type string did not match the following type: integer' + source: + pointer: /cluster/storage_size + - status: '422' + code: invalid_configuration + id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d + title: Validation Failed + detail: 'The property ''/cluster/storage_size'' of type string did not match the following type: integer' + source: + pointer: /cluster/storage_size + - status: '422' + code: invalid_configuration + id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d + title: Validation Failed + detail: 'The property ''/cluster/storage_size'' of type string did not match the following type: integer' + source: + pointer: /cluster/storage_size + - status: '422' + code: invalid_configuration + id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d + title: Validation Failed + detail: 'The property ''/cluster/storage_size'' of type string did not match the following type: integer' + source: + pointer: /cluster/storage_size + - status: '422' + code: invalid_configuration + id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d + title: Validation Failed + detail: 'The property ''/cluster/storage_size'' of type string did not match the following type: integer' + source: + pointer: /cluster/storage_size + - status: '422' + code: invalid_configuration + id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d + title: Validation Failed + detail: 'The property ''/cluster/storage_size'' of type string did not match the following type: integer' + source: + pointer: /cluster/storage_size + - status: '422' + code: invalid_configuration + id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d + title: Validation Failed + detail: 'The property ''/cluster/storage_size'' of type string did not match the following type: integer' + source: + pointer: /cluster/storage_size + - status: '422' + code: invalid_configuration + id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d + title: Validation Failed + detail: 'The property ''/cluster/storage_size'' of type string did not match the following type: integer' + source: + pointer: /cluster/storage_size + - status: '422' + code: invalid_configuration + id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d + title: Validation Failed + detail: 'The property ''/cluster/storage_size'' of type string did not match the following type: integer' + source: + pointer: /cluster/storage_size + - status: '422' + code: invalid_configuration + id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d + title: Validation Failed + detail: 'The property ''/cluster/storage_size'' of type string did not match the following type: integer' + source: + pointer: /cluster/storage_size + - status: '422' + code: invalid_configuration + id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d + title: Validation Failed + detail: 'The property ''/cluster/storage_size'' of type string did not match the following type: integer' + source: + pointer: /cluster/storage_size + - status: '422' + code: invalid_configuration + id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d + title: Validation Failed + detail: 'The property ''/cluster/storage_size'' of type string did not match the following type: integer' + source: + pointer: /cluster/storage_size + - status: '422' + code: invalid_configuration + id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d + title: Validation Failed + detail: 'The property ''/cluster/storage_size'' of type string did not match the following type: integer' + source: + pointer: /cluster/storage_size + - status: '422' + code: invalid_configuration + id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d + title: Validation Failed + detail: 'The property ''/cluster/storage_size'' of type string did not match the following type: integer' + source: + pointer: /cluster/storage_size + - status: '422' + code: invalid_configuration + id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d + title: Validation Failed + detail: 'The property ''/cluster/storage_size'' of type string did not match the following type: integer' + source: + pointer: /cluster/storage_size + - status: '422' + code: invalid_configuration + id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d + title: Validation Failed + detail: 'The property ''/cluster/storage_size'' of type string did not match the following type: integer' + source: + pointer: /cluster/storage_size + - status: '422' + code: invalid_configuration + id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d + title: Validation Failed + detail: 'The property ''/cluster/storage_size'' of type string did not match the following type: integer' + source: + pointer: /cluster/storage_size + - status: '422' + code: invalid_configuration + id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d + title: Validation Failed + detail: 'The property ''/cluster/storage_size'' of type string did not match the following type: integer' + source: + pointer: /cluster/storage_size + - status: '422' + code: invalid_configuration + id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d + title: Validation Failed + detail: 'The property ''/cluster/storage_size'' of type string did not match the following type: integer' + source: + pointer: /cluster/storage_size + - status: '422' + code: invalid_configuration + id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d + title: Validation Failed + detail: 'The property ''/cluster/storage_size'' of type string did not match the following type: integer' + source: + pointer: /cluster/storage_size + - status: '422' + code: invalid_configuration + id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d + title: Validation Failed + detail: 'The property ''/cluster/storage_size'' of type string did not match the following type: integer' + source: + pointer: /cluster/storage_size + - status: '422' + code: invalid_configuration + id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d + title: Validation Failed + detail: 'The property ''/cluster/storage_size'' of type string did not match the following type: integer' + source: + pointer: /cluster/storage_size + - status: '422' + code: invalid_configuration + id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d + title: Validation Failed + detail: 'The property ''/cluster/storage_size'' of type string did not match the following type: integer' + source: + pointer: /cluster/storage_size + - status: '422' + code: invalid_configuration + id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d + title: Validation Failed + detail: 'The property ''/cluster/storage_size'' of type string did not match the following type: integer' + source: + pointer: /cluster/storage_size + - status: '422' + code: invalid_configuration + id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d + title: Validation Failed + detail: 'The property ''/cluster/storage_size'' of type string did not match the following type: integer' + source: + pointer: /cluster/storage_size + - status: '422' + code: invalid_configuration + id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d + title: Validation Failed + detail: 'The property ''/cluster/storage_size'' of type string did not match the following type: integer' + source: + pointer: /cluster/storage_size + - status: '422' + code: invalid_configuration + id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d + title: Validation Failed + detail: 'The property ''/cluster/storage_size'' of type string did not match the following type: integer' + source: + pointer: /cluster/storage_size + - status: '422' + code: invalid_configuration + id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d + title: Validation Failed + detail: 'The property ''/cluster/storage_size'' of type string did not match the following type: integer' + source: + pointer: /cluster/storage_size + NotFoundError: + description: Not Found + headers: + X-Request-Id: + schema: + type: string + description: The unique identifier for the API request. + content: + application/json: + schema: + $ref: '#/components/schemas/Failure' + example: + errors: + - id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d + status: '404' + title: Not Found + securitySchemes: + cloud-api-key: + type: http + scheme: basic + description: Authenticate with Cloud API Keys using HTTP Basic Auth. Treat the Cloud API Key ID as the username and Cloud API Key Secret as the password. + confluent-sts-access-token: + type: oauth2 + description: Authenticate with Confluent API using this credentials (JSON Web Tokens) following OAuth 2.0. + flows: + clientCredentials: + tokenUrl: 'https://api.confluent.cloud/sts/v1/oauth2/token' + scopes: {} + api-key: + type: http + scheme: basic + description: Authenticate with API Keys using HTTP Basic Auth. Treat the API Key ID as the username and API Key Secret as the password. + resource-api-key: + type: http + scheme: basic + description: | + Authenticate with resource-specific API Keys using HTTP Basic Auth. Treat the resource-specific API Key ID + as the username and resource-specific API Key Secret as the password. + external-access-token: + type: oauth2 + description: Authenticate with OAuth 2.0. + flows: + clientCredentials: + tokenUrl: 'https:///token' + scopes: {} + oauth: + type: oauth2 + description: Authenticate with OAuth 2.0. Currently this is only supported for partner APIs. + flows: + clientCredentials: + tokenUrl: /oauth2/token + scopes: + 'partner:alter': enables partners to alter entitlements + 'partner:create': enables partners to create entitlements and signup on behalf of customers + 'partner:delete': enables partners to delete entitlements and organizations + 'partner:describe': enables partners to read and list entitlements and organizations + requestBodies: + AlterBrokerConfigBatchRequest: + description: The alter broker configuration parameter batch request. + content: + application/json: + schema: + $ref: '#/components/schemas/AlterConfigBatchRequestData' + example: + data: + - name: max.connections + operation: DELETE + - name: compression.type + value: gzip + AlterClusterConfigBatchRequest: + description: The alter cluster configuration parameter batch request. + content: + application/json: + schema: + $ref: '#/components/schemas/AlterConfigBatchRequestData' + example: + data: + - name: max.connections + operation: DELETE + - name: compression.type + value: gzip + AlterTopicConfigBatchRequest: + description: The alter topic configuration parameter batch request. + content: + application/json: + schema: + $ref: '#/components/schemas/AlterConfigBatchRequestData' + examples: + batch_alter_topic_configs: + value: + data: + - name: cleanup.policy + operation: DELETE + - name: compression.type + value: gzip + validate_only_batch_alter_topic_configs: + value: + data: + - name: cleanup.policy + operation: DELETE + - name: compression.type + value: gzip + validate_only: true + CreateAclRequest: + description: The ACL creation request. + content: + application/json: + schema: + $ref: '#/components/schemas/CreateAclRequestData' + example: + resource_type: CLUSTER + resource_name: kafka-cluster + pattern_type: LITERAL + principal: 'principalType:principalName' + host: '*' + operation: DESCRIBE + permission: DENY + BatchCreateAclRequest: + description: The batch ACL creation request. + content: + application/json: + schema: + $ref: '#/components/schemas/CreateAclRequestDataList' + example: + data: + - resource_type: CLUSTER + resource_name: kafka-cluster + pattern_type: LITERAL + principal: 'principalType:principalName' + host: '*' + operation: DESCRIBE + permission: DENY + - resource_type: TOPIC + resource_name: kafka-cluster + pattern_type: LITERAL + principal: 'principalType:principalName' + host: '*' + operation: READ + permission: ALLOW + CreateTopicRequest: + description: 'The topic creation request. Note that Confluent Cloud allows only specific replication factor values. Because of that the replication factor field should either be omitted or it should use one of the allowed values (see https://docs.confluent.io/cloud/current/client-apps/optimizing/durability.html).' + content: + application/json: + schema: + $ref: '#/components/schemas/CreateTopicRequestData' + examples: + uniform_replication: + value: + topic_name: topic-X + partitions_count: 64 + replication_factor: 3 + configs: + - name: cleanup.policy + value: compact + - name: compression.type + value: gzip + dry_run_create_topic: + value: + topic_name: topic-X + partitions_count: 64 + replication_factor: 3 + validate_only: true + ProduceRequest: + description: 'A single record to be produced to Kafka. To produce multiple records in the same request, simply concatenate the records. The delivery reports are concatenated in the same order as the records are sent.' + content: + application/json: + schema: + $ref: '#/components/schemas/ProduceRequest' + examples: + binary_and_json: + description: 'If using type, one of "BINARY", "JSON" or "STRING" is required.' + value: + partition_id: 1 + headers: + - name: Header-1 + value: SGVhZGVyLTE= + - name: Header-2 + value: SGVhZGVyLTI= + key: + type: BINARY + data: Zm9vYmFy + value: + type: JSON + data: + foo: bar + timestamp: '2021-02-05T19:14:42Z' + string: + description: 'If using type, one of "BINARY", "JSON" or "STRING" is required.' + value: + value: + type: STRING + data: My message + empty_value: + description: key or value can be omitted entirely. + value: + key: + data: 1000 + UpdateBrokerConfigRequest: + description: The broker configuration parameter update request. + content: + application/json: + schema: + $ref: '#/components/schemas/UpdateConfigRequestData' + example: + value: gzip + UpdateClusterConfigRequest: + description: The cluster configuration parameter update request. + content: + application/json: + schema: + $ref: '#/components/schemas/UpdateConfigRequestData' + example: + value: gzip + UpdateTopicConfigRequest: + description: The topic configuration parameter update request. + content: + application/json: + schema: + $ref: '#/components/schemas/UpdateConfigRequestData' + example: + value: gzip + CreateLinkRequest: + description: Create a cluster link + content: + application/json: + schema: + $ref: '#/components/schemas/CreateLinkRequestData' + examples: + destination_initiated_link: + description: Create a destination initiated cluster link + value: + source_cluster_id: cluster-1 + configs: + - name: bootstrap.servers + value: cluster-1-bootstrap-server + - name: acl.sync.enable + value: 'false' + - name: consumer.offset.sync.ms + value: '30000' + - name: sasl.mechanism + value: PLAIN + - name: sasl.protocol + value: SASL_SSL + - name: sasl.jaas.config + value: sasl.jaas.config=org.apache.kafka.common.security.plain.PlainLoginModule required username='' password=''; + source_initiated_link_at_source_cluster: + description: Create a source initiated cluster link at source cluster + value: + destination_cluster_id: cluster-2 + configs: + - name: bootstrap.servers + value: cluster-2-bootstrap-server + - name: link.mode + value: SOURCE + - name: sasl.mechanism + value: PLAIN + - name: sasl.protocol + value: SASL_SSL + - name: sasl.jaas.config + value: sasl.jaas.config=org.apache.kafka.common.security.plain.PlainLoginModule required username='' password=''; + source_initiated_link_at_destination_cluster: + description: Create a source initiated cluster link at destination cluster + value: + destination_cluster_id: cluster-1 + configs: + - name: bootstrap.servers + value: cluster-1-bootstrap-server + - name: link.mode + value: DESTINATION + - name: connection.mode + value: INBOUND + - name: acl.sync.enable + value: 'false' + - name: sasl.mechanism + value: PLAIN + - name: sasl.protocol + value: SASL_SSL + - name: sasl.jaas.config + value: sasl.jaas.config=org.apache.kafka.common.security.plain.PlainLoginModule required username='' password=''; + bidirectional_link_east: + description: Create a bidirectional cluster link in east + value: + remote_cluster_id: cluster-west + configs: + - name: bootstrap.servers + value: cluster-west-bootstrap-server + - name: link.mode + value: BIDIRECTIONAL + - name: cluster.link.prefix + value: west. + - name: sasl.mechanism + value: PLAIN + - name: sasl.protocol + value: SASL_SSL + - name: sasl.jaas.config + value: sasl.jaas.config=org.apache.kafka.common.security.plain.PlainLoginModule required username='' password=''; + bidirectional_link_west: + description: Create a bidirectional cluster link in west + value: + remote_cluster_id: cluster-east + cluster_link_id: eEBkTffYSESld6EO898x3w + configs: + - name: bootstrap.servers + value: cluster-east-bootstrap-server + - name: link.mode + value: BIDIRECTIONAL + - name: cluster.link.prefix + value: east. + - name: sasl.mechanism + value: PLAIN + - name: sasl.protocol + value: SASL_SSL + - name: sasl.jaas.config + value: sasl.jaas.config=org.apache.kafka.common.security.plain.PlainLoginModule required username='' password=''; + UpdateLinkConfigRequest: + content: + application/json: + example: + value: '300000' + schema: + $ref: '#/components/schemas/UpdateLinkConfigRequestData' + description: Link config value to update + AlterLinkConfigBatchRequest: + content: + application/json: + example: + data: + - name: cleanup.policy + operation: DELETE + - name: compression.type + value: gzip + schema: + $ref: '#/components/schemas/AlterConfigBatchRequestData' + CreateMirrorTopicRequest: + description: 'Name and configs of the topics mirroring from and mirroring to. Note that Confluent Cloud allows only specific replication factor values. Because of that the replication factor field should either be omitted or it should use one of the allowed values (see https://docs.confluent.io/cloud/current/client-apps/optimizing/durability.html).' + content: + application/json: + schema: + $ref: '#/components/schemas/CreateMirrorTopicRequestData' + examples: + generic_example: + description: Generic example of creating a mirror topic + value: + source_topic_name: topic-1 + configs: + - name: unclean.leader.election.enable + value: 'true' + replication_factor: 1 + example_with_mirror_topic_name: + description: Example using optional mirror_topic_name flag + value: + source_topic_name: topic-1 + mirror_topic_name: link1_topic-1 + configs: + - name: unclean.leader.election.enable + value: 'true' + replication_factor: 3 + AlterMirrorsRequest: + description: Mirror topics to be altered. + content: + application/json: + schema: + $ref: '#/components/schemas/AlterMirrorsRequestData' + examples: + mirror_topic_names: + description: Example using mirror topic names + value: + mirror_topic_names: + - topic-1 + - topic-2 + mirror_topic_name_pattern: + description: Example using mirror topic name pattern + value: + mirror_topic_name_pattern: .* + RemoveBrokersRequest: + content: + application/json: + example: + broker_ids: + - 1 + - 2 + - 3 + schema: + $ref: '#/components/schemas/RemoveBrokersRequestData' + description: Broker ids to remove + BrokerReplicaExclusionBatchRequest: + description: Alter Broker Replica Exclusions. + content: + application/json: + schema: + $ref: '#/components/schemas/BrokerReplicaExclusionBatchRequestData' + example: + data: + - broker_id: 1 + reason: The broker is to be removed. + - broker_id: 2 + reason: The broker is to be removed. + x-stackQL-resources: + networks: + id: confluent.networking.networks + name: networks + title: Networks + methods: + list_networking_v1networks: + operation: + $ref: '#/paths/~1networking~1v1~1networks/get' + response: + mediaType: application/json + openAPIDocKey: '200' + objectKey: $.data + create_networking_v1network: + operation: + $ref: '#/paths/~1networking~1v1~1networks/post' + response: + mediaType: application/json + openAPIDocKey: '202' + get_networking_v1network: + operation: + $ref: '#/paths/~1networking~1v1~1networks~1{id}/get' + response: + mediaType: application/json + openAPIDocKey: '200' + update_networking_v1network: + operation: + $ref: '#/paths/~1networking~1v1~1networks~1{id}/patch' + response: + mediaType: application/json + openAPIDocKey: '200' + delete_networking_v1network: + operation: + $ref: '#/paths/~1networking~1v1~1networks~1{id}/delete' + response: + mediaType: application/json + openAPIDocKey: '204' + sqlVerbs: + select: + - $ref: '#/components/x-stackQL-resources/networks/methods/get_networking_v1network' + - $ref: '#/components/x-stackQL-resources/networks/methods/list_networking_v1networks' + insert: + - $ref: '#/components/x-stackQL-resources/networks/methods/create_networking_v1network' + update: + - $ref: '#/components/x-stackQL-resources/networks/methods/update_networking_v1network' + replace: [] + delete: + - $ref: '#/components/x-stackQL-resources/networks/methods/delete_networking_v1network' + peerings: + id: confluent.networking.peerings + name: peerings + title: Peerings + methods: + list_networking_v1peerings: + operation: + $ref: '#/paths/~1networking~1v1~1peerings/get' + response: + mediaType: application/json + openAPIDocKey: '200' + objectKey: $.data + create_networking_v1peering: + operation: + $ref: '#/paths/~1networking~1v1~1peerings/post' + response: + mediaType: application/json + openAPIDocKey: '202' + get_networking_v1peering: + operation: + $ref: '#/paths/~1networking~1v1~1peerings~1{id}/get' + response: + mediaType: application/json + openAPIDocKey: '200' + update_networking_v1peering: + operation: + $ref: '#/paths/~1networking~1v1~1peerings~1{id}/patch' + response: + mediaType: application/json + openAPIDocKey: '200' + delete_networking_v1peering: + operation: + $ref: '#/paths/~1networking~1v1~1peerings~1{id}/delete' + response: + mediaType: application/json + openAPIDocKey: '204' + sqlVerbs: + select: + - $ref: '#/components/x-stackQL-resources/peerings/methods/get_networking_v1peering' + - $ref: '#/components/x-stackQL-resources/peerings/methods/list_networking_v1peerings' + insert: + - $ref: '#/components/x-stackQL-resources/peerings/methods/create_networking_v1peering' + update: + - $ref: '#/components/x-stackQL-resources/peerings/methods/update_networking_v1peering' + replace: [] + delete: + - $ref: '#/components/x-stackQL-resources/peerings/methods/delete_networking_v1peering' + transit_gateway_attachments: + id: confluent.networking.transit_gateway_attachments + name: transit_gateway_attachments + title: Transit Gateway Attachments + methods: + list_networking_v1transit_gateway_attachments: + operation: + $ref: '#/paths/~1networking~1v1~1transit-gateway-attachments/get' + response: + mediaType: application/json + openAPIDocKey: '200' + objectKey: $.data + create_networking_v1transit_gateway_attachment: + operation: + $ref: '#/paths/~1networking~1v1~1transit-gateway-attachments/post' + response: + mediaType: application/json + openAPIDocKey: '202' + get_networking_v1transit_gateway_attachment: + operation: + $ref: '#/paths/~1networking~1v1~1transit-gateway-attachments~1{id}/get' + response: + mediaType: application/json + openAPIDocKey: '200' + update_networking_v1transit_gateway_attachment: + operation: + $ref: '#/paths/~1networking~1v1~1transit-gateway-attachments~1{id}/patch' + response: + mediaType: application/json + openAPIDocKey: '200' + delete_networking_v1transit_gateway_attachment: + operation: + $ref: '#/paths/~1networking~1v1~1transit-gateway-attachments~1{id}/delete' + response: + mediaType: application/json + openAPIDocKey: '204' + sqlVerbs: + select: + - $ref: '#/components/x-stackQL-resources/transit_gateway_attachments/methods/get_networking_v1transit_gateway_attachment' + - $ref: '#/components/x-stackQL-resources/transit_gateway_attachments/methods/list_networking_v1transit_gateway_attachments' + insert: + - $ref: '#/components/x-stackQL-resources/transit_gateway_attachments/methods/create_networking_v1transit_gateway_attachment' + update: + - $ref: '#/components/x-stackQL-resources/transit_gateway_attachments/methods/update_networking_v1transit_gateway_attachment' + replace: [] + delete: + - $ref: '#/components/x-stackQL-resources/transit_gateway_attachments/methods/delete_networking_v1transit_gateway_attachment' + private_link_accesses: + id: confluent.networking.private_link_accesses + name: private_link_accesses + title: Private Link Accesses + methods: + list_networking_v1private_link_accesses: + operation: + $ref: '#/paths/~1networking~1v1~1private-link-accesses/get' + response: + mediaType: application/json + openAPIDocKey: '200' + objectKey: $.data + create_networking_v1private_link_access: + operation: + $ref: '#/paths/~1networking~1v1~1private-link-accesses/post' + response: + mediaType: application/json + openAPIDocKey: '202' + get_networking_v1private_link_access: + operation: + $ref: '#/paths/~1networking~1v1~1private-link-accesses~1{id}/get' + response: + mediaType: application/json + openAPIDocKey: '200' + update_networking_v1private_link_access: + operation: + $ref: '#/paths/~1networking~1v1~1private-link-accesses~1{id}/patch' + response: + mediaType: application/json + openAPIDocKey: '200' + delete_networking_v1private_link_access: + operation: + $ref: '#/paths/~1networking~1v1~1private-link-accesses~1{id}/delete' + response: + mediaType: application/json + openAPIDocKey: '204' + sqlVerbs: + select: + - $ref: '#/components/x-stackQL-resources/private_link_accesses/methods/get_networking_v1private_link_access' + - $ref: '#/components/x-stackQL-resources/private_link_accesses/methods/list_networking_v1private_link_accesses' + insert: + - $ref: '#/components/x-stackQL-resources/private_link_accesses/methods/create_networking_v1private_link_access' + update: + - $ref: '#/components/x-stackQL-resources/private_link_accesses/methods/update_networking_v1private_link_access' + replace: [] + delete: + - $ref: '#/components/x-stackQL-resources/private_link_accesses/methods/delete_networking_v1private_link_access' + network_link_services: + id: confluent.networking.network_link_services + name: network_link_services + title: Network Link Services + methods: + list_networking_v1network_link_services: + operation: + $ref: '#/paths/~1networking~1v1~1network-link-services/get' + response: + mediaType: application/json + openAPIDocKey: '200' + objectKey: $.data + create_networking_v1network_link_service: + operation: + $ref: '#/paths/~1networking~1v1~1network-link-services/post' + response: + mediaType: application/json + openAPIDocKey: '202' + get_networking_v1network_link_service: + operation: + $ref: '#/paths/~1networking~1v1~1network-link-services~1{id}/get' + response: + mediaType: application/json + openAPIDocKey: '200' + update_networking_v1network_link_service: + operation: + $ref: '#/paths/~1networking~1v1~1network-link-services~1{id}/patch' + response: + mediaType: application/json + openAPIDocKey: '200' + delete_networking_v1network_link_service: + operation: + $ref: '#/paths/~1networking~1v1~1network-link-services~1{id}/delete' + response: + mediaType: application/json + openAPIDocKey: '204' + sqlVerbs: + select: + - $ref: '#/components/x-stackQL-resources/network_link_services/methods/get_networking_v1network_link_service' + - $ref: '#/components/x-stackQL-resources/network_link_services/methods/list_networking_v1network_link_services' + insert: + - $ref: '#/components/x-stackQL-resources/network_link_services/methods/create_networking_v1network_link_service' + update: + - $ref: '#/components/x-stackQL-resources/network_link_services/methods/update_networking_v1network_link_service' + replace: [] + delete: + - $ref: '#/components/x-stackQL-resources/network_link_services/methods/delete_networking_v1network_link_service' + network_link_endpoints: + id: confluent.networking.network_link_endpoints + name: network_link_endpoints + title: Network Link Endpoints + methods: + list_networking_v1network_link_endpoints: + operation: + $ref: '#/paths/~1networking~1v1~1network-link-endpoints/get' + response: + mediaType: application/json + openAPIDocKey: '200' + objectKey: $.data + create_networking_v1network_link_endpoint: + operation: + $ref: '#/paths/~1networking~1v1~1network-link-endpoints/post' + response: + mediaType: application/json + openAPIDocKey: '202' + get_networking_v1network_link_endpoint: + operation: + $ref: '#/paths/~1networking~1v1~1network-link-endpoints~1{id}/get' + response: + mediaType: application/json + openAPIDocKey: '200' + update_networking_v1network_link_endpoint: + operation: + $ref: '#/paths/~1networking~1v1~1network-link-endpoints~1{id}/patch' + response: + mediaType: application/json + openAPIDocKey: '200' + delete_networking_v1network_link_endpoint: + operation: + $ref: '#/paths/~1networking~1v1~1network-link-endpoints~1{id}/delete' + response: + mediaType: application/json + openAPIDocKey: '204' + sqlVerbs: + select: + - $ref: '#/components/x-stackQL-resources/network_link_endpoints/methods/get_networking_v1network_link_endpoint' + - $ref: '#/components/x-stackQL-resources/network_link_endpoints/methods/list_networking_v1network_link_endpoints' + insert: + - $ref: '#/components/x-stackQL-resources/network_link_endpoints/methods/create_networking_v1network_link_endpoint' + update: + - $ref: '#/components/x-stackQL-resources/network_link_endpoints/methods/update_networking_v1network_link_endpoint' + replace: [] + delete: + - $ref: '#/components/x-stackQL-resources/network_link_endpoints/methods/delete_networking_v1network_link_endpoint' + network_link_service_associations: + id: confluent.networking.network_link_service_associations + name: network_link_service_associations + title: Network Link Service Associations + methods: + list_networking_v1network_link_service_associations: + operation: + $ref: '#/paths/~1networking~1v1~1network-link-service-associations/get' + response: + mediaType: application/json + openAPIDocKey: '200' + objectKey: $.data + get_networking_v1network_link_service_association: + operation: + $ref: '#/paths/~1networking~1v1~1network-link-service-associations~1{id}/get' + response: + mediaType: application/json + openAPIDocKey: '200' + sqlVerbs: + select: + - $ref: '#/components/x-stackQL-resources/network_link_service_associations/methods/get_networking_v1network_link_service_association' + - $ref: '#/components/x-stackQL-resources/network_link_service_associations/methods/list_networking_v1network_link_service_associations' + insert: [] + update: [] + replace: [] + delete: [] + gateways: + id: confluent.networking.gateways + name: gateways + title: Gateways + methods: + list_networking_v1gateways: + operation: + $ref: '#/paths/~1networking~1v1~1gateways/get' + response: + mediaType: application/json + openAPIDocKey: '200' + objectKey: $.data + get_networking_v1gateway: + operation: + $ref: '#/paths/~1networking~1v1~1gateways~1{id}/get' + response: + mediaType: application/json + openAPIDocKey: '200' + sqlVerbs: + select: + - $ref: '#/components/x-stackQL-resources/gateways/methods/get_networking_v1gateway' + - $ref: '#/components/x-stackQL-resources/gateways/methods/list_networking_v1gateways' + insert: [] + update: [] + replace: [] + delete: [] + ip_addresses: + id: confluent.networking.ip_addresses + name: ip_addresses + title: Ip Addresses + methods: + list_networking_v1ip_addresses: + operation: + $ref: '#/paths/~1networking~1v1~1ip-addresses/get' + response: + mediaType: application/json + openAPIDocKey: '200' + objectKey: $.data + sqlVerbs: + select: + - $ref: '#/components/x-stackQL-resources/ip_addresses/methods/list_networking_v1ip_addresses' + insert: [] + update: [] + replace: [] + delete: [] + private_link_attachments: + id: confluent.networking.private_link_attachments + name: private_link_attachments + title: Private Link Attachments + methods: + list_networking_v1private_link_attachments: + operation: + $ref: '#/paths/~1networking~1v1~1private-link-attachments/get' + response: + mediaType: application/json + openAPIDocKey: '200' + objectKey: $.data + create_networking_v1private_link_attachment: + operation: + $ref: '#/paths/~1networking~1v1~1private-link-attachments/post' + response: + mediaType: application/json + openAPIDocKey: '202' + get_networking_v1private_link_attachment: + operation: + $ref: '#/paths/~1networking~1v1~1private-link-attachments~1{id}/get' + response: + mediaType: application/json + openAPIDocKey: '200' + update_networking_v1private_link_attachment: + operation: + $ref: '#/paths/~1networking~1v1~1private-link-attachments~1{id}/patch' + response: + mediaType: application/json + openAPIDocKey: '200' + delete_networking_v1private_link_attachment: + operation: + $ref: '#/paths/~1networking~1v1~1private-link-attachments~1{id}/delete' + response: + mediaType: application/json + openAPIDocKey: '204' + sqlVerbs: + select: + - $ref: '#/components/x-stackQL-resources/private_link_attachments/methods/get_networking_v1private_link_attachment' + - $ref: '#/components/x-stackQL-resources/private_link_attachments/methods/list_networking_v1private_link_attachments' + insert: + - $ref: '#/components/x-stackQL-resources/private_link_attachments/methods/create_networking_v1private_link_attachment' + update: + - $ref: '#/components/x-stackQL-resources/private_link_attachments/methods/update_networking_v1private_link_attachment' + replace: [] + delete: + - $ref: '#/components/x-stackQL-resources/private_link_attachments/methods/delete_networking_v1private_link_attachment' + private_link_attachment_connections: + id: confluent.networking.private_link_attachment_connections + name: private_link_attachment_connections + title: Private Link Attachment Connections + methods: + list_networking_v1private_link_attachment_connections: + operation: + $ref: '#/paths/~1networking~1v1~1private-link-attachment-connections/get' + response: + mediaType: application/json + openAPIDocKey: '200' + objectKey: $.data + create_networking_v1private_link_attachment_connection: + operation: + $ref: '#/paths/~1networking~1v1~1private-link-attachment-connections/post' + response: + mediaType: application/json + openAPIDocKey: '202' + get_networking_v1private_link_attachment_connection: + operation: + $ref: '#/paths/~1networking~1v1~1private-link-attachment-connections~1{id}/get' + response: + mediaType: application/json + openAPIDocKey: '200' + update_networking_v1private_link_attachment_connection: + operation: + $ref: '#/paths/~1networking~1v1~1private-link-attachment-connections~1{id}/patch' + response: + mediaType: application/json + openAPIDocKey: '200' + delete_networking_v1private_link_attachment_connection: + operation: + $ref: '#/paths/~1networking~1v1~1private-link-attachment-connections~1{id}/delete' + response: + mediaType: application/json + openAPIDocKey: '204' + sqlVerbs: + select: + - $ref: '#/components/x-stackQL-resources/private_link_attachment_connections/methods/get_networking_v1private_link_attachment_connection' + - $ref: '#/components/x-stackQL-resources/private_link_attachment_connections/methods/list_networking_v1private_link_attachment_connections' + insert: + - $ref: '#/components/x-stackQL-resources/private_link_attachment_connections/methods/create_networking_v1private_link_attachment_connection' + update: + - $ref: '#/components/x-stackQL-resources/private_link_attachment_connections/methods/update_networking_v1private_link_attachment_connection' + replace: [] + delete: + - $ref: '#/components/x-stackQL-resources/private_link_attachment_connections/methods/delete_networking_v1private_link_attachment_connection' + dns_forwarders: + id: confluent.networking.dns_forwarders + name: dns_forwarders + title: Dns Forwarders + methods: + list_networking_v1dns_forwarders: + operation: + $ref: '#/paths/~1networking~1v1~1dns-forwarders/get' + response: + mediaType: application/json + openAPIDocKey: '200' + objectKey: $.data + create_networking_v1dns_forwarder: + operation: + $ref: '#/paths/~1networking~1v1~1dns-forwarders/post' + response: + mediaType: application/json + openAPIDocKey: '202' + get_networking_v1dns_forwarder: + operation: + $ref: '#/paths/~1networking~1v1~1dns-forwarders~1{id}/get' + response: + mediaType: application/json + openAPIDocKey: '200' + update_networking_v1dns_forwarder: + operation: + $ref: '#/paths/~1networking~1v1~1dns-forwarders~1{id}/patch' + response: + mediaType: application/json + openAPIDocKey: '200' + delete_networking_v1dns_forwarder: + operation: + $ref: '#/paths/~1networking~1v1~1dns-forwarders~1{id}/delete' + response: + mediaType: application/json + openAPIDocKey: '204' + sqlVerbs: + select: + - $ref: '#/components/x-stackQL-resources/dns_forwarders/methods/get_networking_v1dns_forwarder' + - $ref: '#/components/x-stackQL-resources/dns_forwarders/methods/list_networking_v1dns_forwarders' + insert: + - $ref: '#/components/x-stackQL-resources/dns_forwarders/methods/create_networking_v1dns_forwarder' + update: + - $ref: '#/components/x-stackQL-resources/dns_forwarders/methods/update_networking_v1dns_forwarder' + replace: [] + delete: + - $ref: '#/components/x-stackQL-resources/dns_forwarders/methods/delete_networking_v1dns_forwarder' + access_points: + id: confluent.networking.access_points + name: access_points + title: Access Points + methods: + list_networking_v1access_points: + operation: + $ref: '#/paths/~1networking~1v1~1access-points/get' + response: + mediaType: application/json + openAPIDocKey: '200' + objectKey: $.data + create_networking_v1access_point: + operation: + $ref: '#/paths/~1networking~1v1~1access-points/post' + response: + mediaType: application/json + openAPIDocKey: '202' + get_networking_v1access_point: + operation: + $ref: '#/paths/~1networking~1v1~1access-points~1{id}/get' + response: + mediaType: application/json + openAPIDocKey: '200' + update_networking_v1access_point: + operation: + $ref: '#/paths/~1networking~1v1~1access-points~1{id}/patch' + response: + mediaType: application/json + openAPIDocKey: '200' + delete_networking_v1access_point: + operation: + $ref: '#/paths/~1networking~1v1~1access-points~1{id}/delete' + response: + mediaType: application/json + openAPIDocKey: '204' + sqlVerbs: + select: + - $ref: '#/components/x-stackQL-resources/access_points/methods/get_networking_v1access_point' + - $ref: '#/components/x-stackQL-resources/access_points/methods/list_networking_v1access_points' + insert: + - $ref: '#/components/x-stackQL-resources/access_points/methods/create_networking_v1access_point' + update: + - $ref: '#/components/x-stackQL-resources/access_points/methods/update_networking_v1access_point' + replace: [] + delete: + - $ref: '#/components/x-stackQL-resources/access_points/methods/delete_networking_v1access_point' + dns_records: + id: confluent.networking.dns_records + name: dns_records + title: Dns Records + methods: + list_networking_v1dns_records: + operation: + $ref: '#/paths/~1networking~1v1~1dns-records/get' + response: + mediaType: application/json + openAPIDocKey: '200' + objectKey: $.data + create_networking_v1dns_record: + operation: + $ref: '#/paths/~1networking~1v1~1dns-records/post' + response: + mediaType: application/json + openAPIDocKey: '202' + get_networking_v1dns_record: + operation: + $ref: '#/paths/~1networking~1v1~1dns-records~1{id}/get' + response: + mediaType: application/json + openAPIDocKey: '200' + update_networking_v1dns_record: + operation: + $ref: '#/paths/~1networking~1v1~1dns-records~1{id}/patch' + response: + mediaType: application/json + openAPIDocKey: '200' + delete_networking_v1dns_record: + operation: + $ref: '#/paths/~1networking~1v1~1dns-records~1{id}/delete' + response: + mediaType: application/json + openAPIDocKey: '204' + sqlVerbs: + select: + - $ref: '#/components/x-stackQL-resources/dns_records/methods/get_networking_v1dns_record' + - $ref: '#/components/x-stackQL-resources/dns_records/methods/list_networking_v1dns_records' + insert: + - $ref: '#/components/x-stackQL-resources/dns_records/methods/create_networking_v1dns_record' + update: + - $ref: '#/components/x-stackQL-resources/dns_records/methods/update_networking_v1dns_record' + replace: [] + delete: + - $ref: '#/components/x-stackQL-resources/dns_records/methods/delete_networking_v1dns_record' +paths: + /networking/v1/networks: + get: + operationId: listNetworkingV1Networks + summary: List of Networks + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + Retrieve a sorted, filtered, paginated list of all networks. + parameters: + - name: spec.display_name + in: query + required: false + schema: + $ref: '#/components/schemas/MultipleSearchFilter' + example: + - prod-gcp-us-central1 + - prod-aws-us-east1 + description: Filter the results by exact match for spec.display_name. Pass multiple times to see results matching any of the values. + style: form + explode: true + - name: spec.cloud + in: query + required: false + schema: + $ref: '#/components/schemas/MultipleSearchFilter' + example: + - GCP + - AWS + description: Filter the results by exact match for spec.cloud. Pass multiple times to see results matching any of the values. + style: form + explode: true + - name: spec.region + in: query + required: false + schema: + $ref: '#/components/schemas/MultipleSearchFilter' + example: + - us-central1 + - us-east-1 + description: Filter the results by exact match for spec.region. Pass multiple times to see results matching any of the values. + style: form + explode: true + - name: spec.connection_types + in: query + required: false + schema: + $ref: '#/components/schemas/MultipleSearchFilter' + example: + - peering + - privatelink + description: Filter the results by exact match for spec.connection_types. Pass multiple times to see results matching any of the values. + style: form + explode: true + - name: spec.cidr + in: query + required: false + schema: + $ref: '#/components/schemas/MultipleSearchFilter' + example: + - 10.200.0.0/16 + description: Filter the results by exact match for spec.cidr. Pass multiple times to see results matching any of the values. + style: form + explode: true + - name: status.phase + in: query + required: false + schema: + $ref: '#/components/schemas/MultipleSearchFilter' + example: + - PROVISIONING + - READY + description: Filter the results by exact match for status.phase. Pass multiple times to see results matching any of the values. + style: form + explode: true + - name: environment + in: query + required: true + schema: + $ref: '#/components/schemas/SearchFilter' + example: env-00000 + description: Filter the results by exact match for environment. + - name: page_size + in: query + required: false + schema: + type: integer + default: 10 + maximum: 1000 + x-max-page-items: 1000 + 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: + - Networks (networking/v1) + security: + - cloud-api-key: [] + - confluent-sts-access-token: [] + responses: + '200': + description: Network. + content: + application/json: + schema: + allOf: + - $ref: '#/components/schemas/networking.v1.NetworkList' + - type: object + properties: + data: + type: array + items: + properties: + spec: + type: object + properties: + environment: + example: + id: env-00000 + related: 'https://api.confluent.cloud/v2/environments/env-00000' + resource_name: 'https://api.confluent.cloud/organization=9bb441c4-edef-46ac-8a41-c49e44a3fd9a/environment=env-00000' + headers: + X-Request-Id: + schema: + type: string + description: The unique identifier for the API request. + X-RateLimit-Limit: + schema: + type: integer + description: The maximum number of requests you're permitted to make per time period. + X-RateLimit-Remaining: + schema: + type: integer + description: The number of requests remaining in the current rate limit window. + X-RateLimit-Reset: + schema: + type: integer + description: |- + The relative time in seconds until the current rate-limit window resets. + + **Important:** This differs from Github and Twitter's same-named header which uses UTC epoch seconds. We use relative time to avoid client/server time synchronization issues. + '400': + $ref: '#/components/responses/BadRequestError' + '401': + $ref: '#/components/responses/UnauthenticatedError' + '403': + $ref: '#/components/responses/UnauthorizedError' + '429': + $ref: '#/components/responses/RateLimitError' + '500': + $ref: '#/components/responses/DefaultSystemError' + x-codeSamples: + - lang: Shell + source: |- + curl --request GET \ + --url 'https://api.confluent.cloud/networking/v1/networks?spec.display_name=prod-gcp-us-central1,prod-aws-us-east1&spec.cloud=GCP,AWS&spec.region=us-central1,us-east-1&spec.connection_types=peering,privatelink&spec.cidr=10.200.0.0/16&status.phase=PROVISIONING,READY&environment=env-00000' \ + --header 'Authorization: Basic REPLACE_BASIC_AUTH' + - lang: Java + source: |- + OkHttpClient client = new OkHttpClient(); + + Request request = new Request.Builder() + .url("https://api.confluent.cloud/networking/v1/networks?spec.display_name=prod-gcp-us-central1,prod-aws-us-east1&spec.cloud=GCP,AWS&spec.region=us-central1,us-east-1&spec.connection_types=peering,privatelink&spec.cidr=10.200.0.0/16&status.phase=PROVISIONING,READY&environment=env-00000") + .get() + .addHeader("Authorization", "Basic REPLACE_BASIC_AUTH") + .build(); + + Response response = client.newCall(request).execute(); + - lang: Go + source: "package main\n\nimport (\n\t\"fmt\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.confluent.cloud/networking/v1/networks?spec.display_name=prod-gcp-us-central1,prod-aws-us-east1&spec.cloud=GCP,AWS&spec.region=us-central1,us-east-1&spec.connection_types=peering,privatelink&spec.cidr=10.200.0.0/16&status.phase=PROVISIONING,READY&environment=env-00000\"\n\n\treq, _ := http.NewRequest(\"GET\", url, nil)\n\n\treq.Header.Add(\"Authorization\", \"Basic REPLACE_BASIC_AUTH\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}" + - lang: Python + source: |- + import http.client + + conn = http.client.HTTPSConnection("api.confluent.cloud") + + headers = { 'Authorization': "Basic REPLACE_BASIC_AUTH" } + + conn.request("GET", "/networking/v1/networks?spec.display_name=prod-gcp-us-central1,prod-aws-us-east1&spec.cloud=GCP,AWS&spec.region=us-central1,us-east-1&spec.connection_types=peering,privatelink&spec.cidr=10.200.0.0/16&status.phase=PROVISIONING,READY&environment=env-00000", headers=headers) + + res = conn.getresponse() + data = res.read() + + print(data.decode("utf-8")) + - lang: Node + source: |- + const http = require("https"); + + const options = { + "method": "GET", + "hostname": "api.confluent.cloud", + "port": null, + "path": "/networking/v1/networks?spec.display_name=prod-gcp-us-central1,prod-aws-us-east1&spec.cloud=GCP,AWS&spec.region=us-central1,us-east-1&spec.connection_types=peering,privatelink&spec.cidr=10.200.0.0/16&status.phase=PROVISIONING,READY&environment=env-00000", + "headers": { + "Authorization": "Basic REPLACE_BASIC_AUTH" + } + }; + + const req = http.request(options, function (res) { + const chunks = []; + + res.on("data", function (chunk) { + chunks.push(chunk); + }); + + res.on("end", function () { + const body = Buffer.concat(chunks); + console.log(body.toString()); + }); + }); + + req.end(); + - lang: C + source: |- + CURL *hnd = curl_easy_init(); + + curl_easy_setopt(hnd, CURLOPT_CUSTOMREQUEST, "GET"); + curl_easy_setopt(hnd, CURLOPT_URL, "https://api.confluent.cloud/networking/v1/networks?spec.display_name=prod-gcp-us-central1,prod-aws-us-east1&spec.cloud=GCP,AWS&spec.region=us-central1,us-east-1&spec.connection_types=peering,privatelink&spec.cidr=10.200.0.0/16&status.phase=PROVISIONING,READY&environment=env-00000"); + + struct curl_slist *headers = NULL; + headers = curl_slist_append(headers, "Authorization: Basic REPLACE_BASIC_AUTH"); + curl_easy_setopt(hnd, CURLOPT_HTTPHEADER, headers); + + CURLcode ret = curl_easy_perform(hnd); + - lang: C# + source: |- + var client = new RestClient("https://api.confluent.cloud/networking/v1/networks?spec.display_name=prod-gcp-us-central1,prod-aws-us-east1&spec.cloud=GCP,AWS&spec.region=us-central1,us-east-1&spec.connection_types=peering,privatelink&spec.cidr=10.200.0.0/16&status.phase=PROVISIONING,READY&environment=env-00000"); + var request = new RestRequest(Method.GET); + request.AddHeader("Authorization", "Basic REPLACE_BASIC_AUTH"); + IRestResponse response = client.Execute(request); + post: + operationId: createNetworkingV1Network + summary: Create a Network + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + Make a request to create a network. + tags: + - Networks (networking/v1) + security: + - cloud-api-key: [] + - confluent-sts-access-token: [] + requestBody: + content: + application/json: + schema: + allOf: + - $ref: '#/components/schemas/networking.v1.Network' + - type: object + required: + - spec + properties: + spec: + type: object + required: + - cloud + - region + - connection_types + - environment + - type: object + properties: + spec: + type: object + properties: + environment: + example: + id: env-00000 + responses: + '202': + description: A Network is being created. + headers: + X-Request-Id: + schema: + type: string + description: The unique identifier for the API request. + X-RateLimit-Limit: + schema: + type: integer + description: The maximum number of requests you're permitted to make per time period. + X-RateLimit-Remaining: + schema: + type: integer + description: The number of requests remaining in the current rate limit window. + X-RateLimit-Reset: + schema: + type: integer + description: |- + The relative time in seconds until the current rate-limit window resets. + + **Important:** This differs from Github and Twitter's same-named header which uses UTC epoch seconds. We use relative time to avoid client/server time synchronization issues. + Location: + schema: + type: string + format: uri + example: 'https://api.confluent.cloud/networking/v1/networks/{id}' + description: Network resource uri + content: + application/json: + schema: + allOf: + - $ref: '#/components/schemas/networking.v1.Network' + - type: object + required: + - spec + - status + properties: + spec: + type: object + required: + - cloud + - region + - connection_types + - environment + - type: object + properties: + spec: + type: object + properties: + environment: + example: + id: env-00000 + related: 'https://api.confluent.cloud/v2/environments/env-00000' + resource_name: 'https://api.confluent.cloud/organization=9bb441c4-edef-46ac-8a41-c49e44a3fd9a/environment=env-00000' + '400': + $ref: '#/components/responses/BadRequestError' + '401': + $ref: '#/components/responses/UnauthenticatedError' + '402': + $ref: '#/components/responses/OverQuotaError' + '403': + $ref: '#/components/responses/UnauthorizedError' + '409': + $ref: '#/components/responses/ConflictError' + '422': + $ref: '#/components/responses/ValidationError' + '429': + $ref: '#/components/responses/RateLimitError' + '500': + $ref: '#/components/responses/DefaultSystemError' + x-codeSamples: + - lang: Shell + source: |- + curl --request POST \ + --url https://api.confluent.cloud/networking/v1/networks \ + --header 'Authorization: Basic REPLACE_BASIC_AUTH' \ + --header 'content-type: application/json' \ + --data '{"spec":{"display_name":"prod-aws-us-east1","cloud":"AWS","region":"us-east-1","connection_types":["PRIVATELINK"],"cidr":"10.200.0.0/16","zones":["use1-az1","use1-az2","use1-az3"],"zones_info":[{"zone_id":"use1-az3","cidr":"10.20.0.0/27"},{"zone_id":"use1-az3","cidr":"10.20.0.0/27"},{"zone_id":"use1-az3","cidr":"10.20.0.0/27"}],"dns_config":{"resolution":"string"},"reserved_cidr":"172.20.255.0/24","environment":{"id":"env-00000","environment":"string"}}}' + - lang: Java + source: |- + OkHttpClient client = new OkHttpClient(); + + MediaType mediaType = MediaType.parse("application/json"); + RequestBody body = RequestBody.create(mediaType, "{\"spec\":{\"display_name\":\"prod-aws-us-east1\",\"cloud\":\"AWS\",\"region\":\"us-east-1\",\"connection_types\":[\"PRIVATELINK\"],\"cidr\":\"10.200.0.0/16\",\"zones\":[\"use1-az1\",\"use1-az2\",\"use1-az3\"],\"zones_info\":[{\"zone_id\":\"use1-az3\",\"cidr\":\"10.20.0.0/27\"},{\"zone_id\":\"use1-az3\",\"cidr\":\"10.20.0.0/27\"},{\"zone_id\":\"use1-az3\",\"cidr\":\"10.20.0.0/27\"}],\"dns_config\":{\"resolution\":\"string\"},\"reserved_cidr\":\"172.20.255.0/24\",\"environment\":{\"id\":\"env-00000\",\"environment\":\"string\"}}}"); + Request request = new Request.Builder() + .url("https://api.confluent.cloud/networking/v1/networks") + .post(body) + .addHeader("content-type", "application/json") + .addHeader("Authorization", "Basic REPLACE_BASIC_AUTH") + .build(); + + Response response = client.newCall(request).execute(); + - lang: Go + source: "package main\n\nimport (\n\t\"fmt\"\n\t\"strings\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.confluent.cloud/networking/v1/networks\"\n\n\tpayload := strings.NewReader(\"{\\\"spec\\\":{\\\"display_name\\\":\\\"prod-aws-us-east1\\\",\\\"cloud\\\":\\\"AWS\\\",\\\"region\\\":\\\"us-east-1\\\",\\\"connection_types\\\":[\\\"PRIVATELINK\\\"],\\\"cidr\\\":\\\"10.200.0.0/16\\\",\\\"zones\\\":[\\\"use1-az1\\\",\\\"use1-az2\\\",\\\"use1-az3\\\"],\\\"zones_info\\\":[{\\\"zone_id\\\":\\\"use1-az3\\\",\\\"cidr\\\":\\\"10.20.0.0/27\\\"},{\\\"zone_id\\\":\\\"use1-az3\\\",\\\"cidr\\\":\\\"10.20.0.0/27\\\"},{\\\"zone_id\\\":\\\"use1-az3\\\",\\\"cidr\\\":\\\"10.20.0.0/27\\\"}],\\\"dns_config\\\":{\\\"resolution\\\":\\\"string\\\"},\\\"reserved_cidr\\\":\\\"172.20.255.0/24\\\",\\\"environment\\\":{\\\"id\\\":\\\"env-00000\\\",\\\"environment\\\":\\\"string\\\"}}}\")\n\n\treq, _ := http.NewRequest(\"POST\", url, payload)\n\n\treq.Header.Add(\"content-type\", \"application/json\")\n\treq.Header.Add(\"Authorization\", \"Basic REPLACE_BASIC_AUTH\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}" + - lang: Python + source: |- + import http.client + + conn = http.client.HTTPSConnection("api.confluent.cloud") + + payload = "{\"spec\":{\"display_name\":\"prod-aws-us-east1\",\"cloud\":\"AWS\",\"region\":\"us-east-1\",\"connection_types\":[\"PRIVATELINK\"],\"cidr\":\"10.200.0.0/16\",\"zones\":[\"use1-az1\",\"use1-az2\",\"use1-az3\"],\"zones_info\":[{\"zone_id\":\"use1-az3\",\"cidr\":\"10.20.0.0/27\"},{\"zone_id\":\"use1-az3\",\"cidr\":\"10.20.0.0/27\"},{\"zone_id\":\"use1-az3\",\"cidr\":\"10.20.0.0/27\"}],\"dns_config\":{\"resolution\":\"string\"},\"reserved_cidr\":\"172.20.255.0/24\",\"environment\":{\"id\":\"env-00000\",\"environment\":\"string\"}}}" + + headers = { + 'content-type': "application/json", + 'Authorization': "Basic REPLACE_BASIC_AUTH" + } + + conn.request("POST", "/networking/v1/networks", payload, headers) + + res = conn.getresponse() + data = res.read() + + print(data.decode("utf-8")) + - lang: Node + source: |- + const http = require("https"); + + const options = { + "method": "POST", + "hostname": "api.confluent.cloud", + "port": null, + "path": "/networking/v1/networks", + "headers": { + "content-type": "application/json", + "Authorization": "Basic REPLACE_BASIC_AUTH" + } + }; + + const req = http.request(options, function (res) { + const chunks = []; + + res.on("data", function (chunk) { + chunks.push(chunk); + }); + + res.on("end", function () { + const body = Buffer.concat(chunks); + console.log(body.toString()); + }); + }); + + req.write(JSON.stringify({ + spec: { + display_name: 'prod-aws-us-east1', + cloud: 'AWS', + region: 'us-east-1', + connection_types: ['PRIVATELINK'], + cidr: '10.200.0.0/16', + zones: ['use1-az1', 'use1-az2', 'use1-az3'], + zones_info: [ + {zone_id: 'use1-az3', cidr: '10.20.0.0/27'}, + {zone_id: 'use1-az3', cidr: '10.20.0.0/27'}, + {zone_id: 'use1-az3', cidr: '10.20.0.0/27'} + ], + dns_config: {resolution: 'string'}, + reserved_cidr: '172.20.255.0/24', + environment: {id: 'env-00000', environment: 'string'} + } + })); + req.end(); + - lang: C + source: |- + CURL *hnd = curl_easy_init(); + + curl_easy_setopt(hnd, CURLOPT_CUSTOMREQUEST, "POST"); + curl_easy_setopt(hnd, CURLOPT_URL, "https://api.confluent.cloud/networking/v1/networks"); + + struct curl_slist *headers = NULL; + headers = curl_slist_append(headers, "content-type: application/json"); + headers = curl_slist_append(headers, "Authorization: Basic REPLACE_BASIC_AUTH"); + curl_easy_setopt(hnd, CURLOPT_HTTPHEADER, headers); + + curl_easy_setopt(hnd, CURLOPT_POSTFIELDS, "{\"spec\":{\"display_name\":\"prod-aws-us-east1\",\"cloud\":\"AWS\",\"region\":\"us-east-1\",\"connection_types\":[\"PRIVATELINK\"],\"cidr\":\"10.200.0.0/16\",\"zones\":[\"use1-az1\",\"use1-az2\",\"use1-az3\"],\"zones_info\":[{\"zone_id\":\"use1-az3\",\"cidr\":\"10.20.0.0/27\"},{\"zone_id\":\"use1-az3\",\"cidr\":\"10.20.0.0/27\"},{\"zone_id\":\"use1-az3\",\"cidr\":\"10.20.0.0/27\"}],\"dns_config\":{\"resolution\":\"string\"},\"reserved_cidr\":\"172.20.255.0/24\",\"environment\":{\"id\":\"env-00000\",\"environment\":\"string\"}}}"); + + CURLcode ret = curl_easy_perform(hnd); + - lang: C# + source: |- + var client = new RestClient("https://api.confluent.cloud/networking/v1/networks"); + var request = new RestRequest(Method.POST); + request.AddHeader("content-type", "application/json"); + request.AddHeader("Authorization", "Basic REPLACE_BASIC_AUTH"); + request.AddParameter("application/json", "{\"spec\":{\"display_name\":\"prod-aws-us-east1\",\"cloud\":\"AWS\",\"region\":\"us-east-1\",\"connection_types\":[\"PRIVATELINK\"],\"cidr\":\"10.200.0.0/16\",\"zones\":[\"use1-az1\",\"use1-az2\",\"use1-az3\"],\"zones_info\":[{\"zone_id\":\"use1-az3\",\"cidr\":\"10.20.0.0/27\"},{\"zone_id\":\"use1-az3\",\"cidr\":\"10.20.0.0/27\"},{\"zone_id\":\"use1-az3\",\"cidr\":\"10.20.0.0/27\"}],\"dns_config\":{\"resolution\":\"string\"},\"reserved_cidr\":\"172.20.255.0/24\",\"environment\":{\"id\":\"env-00000\",\"environment\":\"string\"}}}", ParameterType.RequestBody); + IRestResponse response = client.Execute(request); + '/networking/v1/networks/{id}': + get: + operationId: getNetworkingV1Network + summary: Read a Network + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + Make a request to read a network. + parameters: + - name: environment + in: query + required: true + schema: + $ref: '#/components/schemas/SearchFilter' + example: env-00000 + description: Scope the operation to the given environment. + - name: id + in: path + required: true + schema: + type: string + description: The unique identifier for the network. + tags: + - Networks (networking/v1) + security: + - cloud-api-key: [] + - confluent-sts-access-token: [] + responses: + '200': + description: Network. + content: + application/json: + schema: + allOf: + - $ref: '#/components/schemas/networking.v1.Network' + - type: object + required: + - api_version + - kind + - id + - spec + - status + properties: + spec: + type: object + required: + - cloud + - region + - connection_types + - environment + - type: object + properties: + spec: + type: object + properties: + environment: + example: + id: env-00000 + related: 'https://api.confluent.cloud/v2/environments/env-00000' + resource_name: 'https://api.confluent.cloud/organization=9bb441c4-edef-46ac-8a41-c49e44a3fd9a/environment=env-00000' + headers: + X-Request-Id: + schema: + type: string + description: The unique identifier for the API request. + X-RateLimit-Limit: + schema: + type: integer + description: The maximum number of requests you're permitted to make per time period. + X-RateLimit-Remaining: + schema: + type: integer + description: The number of requests remaining in the current rate limit window. + X-RateLimit-Reset: + schema: + type: integer + description: |- + The relative time in seconds until the current rate-limit window resets. + + **Important:** This differs from Github and Twitter's same-named header which uses UTC epoch seconds. We use relative time to avoid client/server time synchronization issues. + '400': + $ref: '#/components/responses/BadRequestError' + '401': + $ref: '#/components/responses/UnauthenticatedError' + '403': + $ref: '#/components/responses/UnauthorizedError' + '404': + $ref: '#/components/responses/NotFoundError' + '429': + $ref: '#/components/responses/RateLimitError' + '500': + $ref: '#/components/responses/DefaultSystemError' + x-codeSamples: + - lang: Shell + source: |- + curl --request GET \ + --url 'https://api.confluent.cloud/networking/v1/networks/{id}?environment=env-00000' \ + --header 'Authorization: Basic REPLACE_BASIC_AUTH' + - lang: Java + source: |- + OkHttpClient client = new OkHttpClient(); + + Request request = new Request.Builder() + .url("https://api.confluent.cloud/networking/v1/networks/{id}?environment=env-00000") + .get() + .addHeader("Authorization", "Basic REPLACE_BASIC_AUTH") + .build(); + + Response response = client.newCall(request).execute(); + - lang: Go + source: "package main\n\nimport (\n\t\"fmt\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.confluent.cloud/networking/v1/networks/{id}?environment=env-00000\"\n\n\treq, _ := http.NewRequest(\"GET\", url, nil)\n\n\treq.Header.Add(\"Authorization\", \"Basic REPLACE_BASIC_AUTH\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}" + - lang: Python + source: |- + import http.client + + conn = http.client.HTTPSConnection("api.confluent.cloud") + + headers = { 'Authorization': "Basic REPLACE_BASIC_AUTH" } + + conn.request("GET", "/networking/v1/networks/{id}?environment=env-00000", headers=headers) + + res = conn.getresponse() + data = res.read() + + print(data.decode("utf-8")) + - lang: Node + source: |- + const http = require("https"); + + const options = { + "method": "GET", + "hostname": "api.confluent.cloud", + "port": null, + "path": "/networking/v1/networks/{id}?environment=env-00000", + "headers": { + "Authorization": "Basic REPLACE_BASIC_AUTH" + } + }; + + const req = http.request(options, function (res) { + const chunks = []; + + res.on("data", function (chunk) { + chunks.push(chunk); + }); + + res.on("end", function () { + const body = Buffer.concat(chunks); + console.log(body.toString()); + }); + }); + + req.end(); + - lang: C + source: |- + CURL *hnd = curl_easy_init(); + + curl_easy_setopt(hnd, CURLOPT_CUSTOMREQUEST, "GET"); + curl_easy_setopt(hnd, CURLOPT_URL, "https://api.confluent.cloud/networking/v1/networks/{id}?environment=env-00000"); + + struct curl_slist *headers = NULL; + headers = curl_slist_append(headers, "Authorization: Basic REPLACE_BASIC_AUTH"); + curl_easy_setopt(hnd, CURLOPT_HTTPHEADER, headers); + + CURLcode ret = curl_easy_perform(hnd); + - lang: C# + source: |- + var client = new RestClient("https://api.confluent.cloud/networking/v1/networks/{id}?environment=env-00000"); + var request = new RestRequest(Method.GET); + request.AddHeader("Authorization", "Basic REPLACE_BASIC_AUTH"); + IRestResponse response = client.Execute(request); + patch: + operationId: updateNetworkingV1Network + summary: Update a Network + description: |+ + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + Make a request to update a network. + + parameters: + - name: id + in: path + required: true + schema: + type: string + description: The unique identifier for the network. + tags: + - Networks (networking/v1) + security: + - cloud-api-key: [] + - confluent-sts-access-token: [] + requestBody: + content: + application/json: + schema: + allOf: + - $ref: '#/components/schemas/networking.v1.NetworkUpdate' + - type: object + required: + - spec + properties: + spec: + type: object + required: + - environment + properties: + environment: + example: + id: env-00000 + responses: + '200': + description: Network. + content: + application/json: + schema: + allOf: + - $ref: '#/components/schemas/networking.v1.Network' + - type: object + required: + - api_version + - kind + - id + - spec + - status + properties: + spec: + type: object + required: + - cloud + - region + - connection_types + - environment + - type: object + properties: + spec: + type: object + properties: + environment: + example: + id: env-00000 + related: 'https://api.confluent.cloud/v2/environments/env-00000' + resource_name: 'https://api.confluent.cloud/organization=9bb441c4-edef-46ac-8a41-c49e44a3fd9a/environment=env-00000' + headers: + X-Request-Id: + schema: + type: string + description: The unique identifier for the API request. + X-RateLimit-Limit: + schema: + type: integer + description: The maximum number of requests you're permitted to make per time period. + X-RateLimit-Remaining: + schema: + type: integer + description: The number of requests remaining in the current rate limit window. + X-RateLimit-Reset: + schema: + type: integer + description: |- + The relative time in seconds until the current rate-limit window resets. + + **Important:** This differs from Github and Twitter's same-named header which uses UTC epoch seconds. We use relative time to avoid client/server time synchronization issues. + '400': + $ref: '#/components/responses/BadRequestError' + '401': + $ref: '#/components/responses/UnauthenticatedError' + '402': + $ref: '#/components/responses/OverQuotaError' + '403': + $ref: '#/components/responses/UnauthorizedError' + '404': + $ref: '#/components/responses/NotFoundError' + '409': + $ref: '#/components/responses/ConflictError' + '422': + $ref: '#/components/responses/ValidationError' + '429': + $ref: '#/components/responses/RateLimitError' + '500': + $ref: '#/components/responses/DefaultSystemError' + x-codeSamples: + - lang: Shell + source: |- + curl --request PATCH \ + --url 'https://api.confluent.cloud/networking/v1/networks/{id}' \ + --header 'Authorization: Basic REPLACE_BASIC_AUTH' \ + --header 'content-type: application/json' \ + --data '{"spec":{"display_name":"prod-aws-us-east1","cloud":"AWS","region":"us-east-1","connection_types":["PRIVATELINK"],"cidr":"10.200.0.0/16","zones":["use1-az1","use1-az2","use1-az3"],"zones_info":[{"zone_id":"use1-az3","cidr":"10.20.0.0/27"},{"zone_id":"use1-az3","cidr":"10.20.0.0/27"},{"zone_id":"use1-az3","cidr":"10.20.0.0/27"}],"dns_config":{"resolution":"string"},"reserved_cidr":"172.20.255.0/24","environment":{"id":"env-00000","environment":"string"}}}' + - lang: Java + source: |- + OkHttpClient client = new OkHttpClient(); + + MediaType mediaType = MediaType.parse("application/json"); + RequestBody body = RequestBody.create(mediaType, "{\"spec\":{\"display_name\":\"prod-aws-us-east1\",\"cloud\":\"AWS\",\"region\":\"us-east-1\",\"connection_types\":[\"PRIVATELINK\"],\"cidr\":\"10.200.0.0/16\",\"zones\":[\"use1-az1\",\"use1-az2\",\"use1-az3\"],\"zones_info\":[{\"zone_id\":\"use1-az3\",\"cidr\":\"10.20.0.0/27\"},{\"zone_id\":\"use1-az3\",\"cidr\":\"10.20.0.0/27\"},{\"zone_id\":\"use1-az3\",\"cidr\":\"10.20.0.0/27\"}],\"dns_config\":{\"resolution\":\"string\"},\"reserved_cidr\":\"172.20.255.0/24\",\"environment\":{\"id\":\"env-00000\",\"environment\":\"string\"}}}"); + Request request = new Request.Builder() + .url("https://api.confluent.cloud/networking/v1/networks/{id}") + .patch(body) + .addHeader("content-type", "application/json") + .addHeader("Authorization", "Basic REPLACE_BASIC_AUTH") + .build(); + + Response response = client.newCall(request).execute(); + - lang: Go + source: "package main\n\nimport (\n\t\"fmt\"\n\t\"strings\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.confluent.cloud/networking/v1/networks/{id}\"\n\n\tpayload := strings.NewReader(\"{\\\"spec\\\":{\\\"display_name\\\":\\\"prod-aws-us-east1\\\",\\\"cloud\\\":\\\"AWS\\\",\\\"region\\\":\\\"us-east-1\\\",\\\"connection_types\\\":[\\\"PRIVATELINK\\\"],\\\"cidr\\\":\\\"10.200.0.0/16\\\",\\\"zones\\\":[\\\"use1-az1\\\",\\\"use1-az2\\\",\\\"use1-az3\\\"],\\\"zones_info\\\":[{\\\"zone_id\\\":\\\"use1-az3\\\",\\\"cidr\\\":\\\"10.20.0.0/27\\\"},{\\\"zone_id\\\":\\\"use1-az3\\\",\\\"cidr\\\":\\\"10.20.0.0/27\\\"},{\\\"zone_id\\\":\\\"use1-az3\\\",\\\"cidr\\\":\\\"10.20.0.0/27\\\"}],\\\"dns_config\\\":{\\\"resolution\\\":\\\"string\\\"},\\\"reserved_cidr\\\":\\\"172.20.255.0/24\\\",\\\"environment\\\":{\\\"id\\\":\\\"env-00000\\\",\\\"environment\\\":\\\"string\\\"}}}\")\n\n\treq, _ := http.NewRequest(\"PATCH\", url, payload)\n\n\treq.Header.Add(\"content-type\", \"application/json\")\n\treq.Header.Add(\"Authorization\", \"Basic REPLACE_BASIC_AUTH\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}" + - lang: Python + source: |- + import http.client + + conn = http.client.HTTPSConnection("api.confluent.cloud") + + payload = "{\"spec\":{\"display_name\":\"prod-aws-us-east1\",\"cloud\":\"AWS\",\"region\":\"us-east-1\",\"connection_types\":[\"PRIVATELINK\"],\"cidr\":\"10.200.0.0/16\",\"zones\":[\"use1-az1\",\"use1-az2\",\"use1-az3\"],\"zones_info\":[{\"zone_id\":\"use1-az3\",\"cidr\":\"10.20.0.0/27\"},{\"zone_id\":\"use1-az3\",\"cidr\":\"10.20.0.0/27\"},{\"zone_id\":\"use1-az3\",\"cidr\":\"10.20.0.0/27\"}],\"dns_config\":{\"resolution\":\"string\"},\"reserved_cidr\":\"172.20.255.0/24\",\"environment\":{\"id\":\"env-00000\",\"environment\":\"string\"}}}" + + headers = { + 'content-type': "application/json", + 'Authorization': "Basic REPLACE_BASIC_AUTH" + } + + conn.request("PATCH", "/networking/v1/networks/{id}", payload, headers) + + res = conn.getresponse() + data = res.read() + + print(data.decode("utf-8")) + - lang: Node + source: |- + const http = require("https"); + + const options = { + "method": "PATCH", + "hostname": "api.confluent.cloud", + "port": null, + "path": "/networking/v1/networks/{id}", + "headers": { + "content-type": "application/json", + "Authorization": "Basic REPLACE_BASIC_AUTH" + } + }; + + const req = http.request(options, function (res) { + const chunks = []; + + res.on("data", function (chunk) { + chunks.push(chunk); + }); + + res.on("end", function () { + const body = Buffer.concat(chunks); + console.log(body.toString()); + }); + }); + + req.write(JSON.stringify({ + spec: { + display_name: 'prod-aws-us-east1', + cloud: 'AWS', + region: 'us-east-1', + connection_types: ['PRIVATELINK'], + cidr: '10.200.0.0/16', + zones: ['use1-az1', 'use1-az2', 'use1-az3'], + zones_info: [ + {zone_id: 'use1-az3', cidr: '10.20.0.0/27'}, + {zone_id: 'use1-az3', cidr: '10.20.0.0/27'}, + {zone_id: 'use1-az3', cidr: '10.20.0.0/27'} + ], + dns_config: {resolution: 'string'}, + reserved_cidr: '172.20.255.0/24', + environment: {id: 'env-00000', environment: 'string'} + } + })); + req.end(); + - lang: C + source: |- + CURL *hnd = curl_easy_init(); + + curl_easy_setopt(hnd, CURLOPT_CUSTOMREQUEST, "PATCH"); + curl_easy_setopt(hnd, CURLOPT_URL, "https://api.confluent.cloud/networking/v1/networks/{id}"); + + struct curl_slist *headers = NULL; + headers = curl_slist_append(headers, "content-type: application/json"); + headers = curl_slist_append(headers, "Authorization: Basic REPLACE_BASIC_AUTH"); + curl_easy_setopt(hnd, CURLOPT_HTTPHEADER, headers); + + curl_easy_setopt(hnd, CURLOPT_POSTFIELDS, "{\"spec\":{\"display_name\":\"prod-aws-us-east1\",\"cloud\":\"AWS\",\"region\":\"us-east-1\",\"connection_types\":[\"PRIVATELINK\"],\"cidr\":\"10.200.0.0/16\",\"zones\":[\"use1-az1\",\"use1-az2\",\"use1-az3\"],\"zones_info\":[{\"zone_id\":\"use1-az3\",\"cidr\":\"10.20.0.0/27\"},{\"zone_id\":\"use1-az3\",\"cidr\":\"10.20.0.0/27\"},{\"zone_id\":\"use1-az3\",\"cidr\":\"10.20.0.0/27\"}],\"dns_config\":{\"resolution\":\"string\"},\"reserved_cidr\":\"172.20.255.0/24\",\"environment\":{\"id\":\"env-00000\",\"environment\":\"string\"}}}"); + + CURLcode ret = curl_easy_perform(hnd); + - lang: C# + source: |- + var client = new RestClient("https://api.confluent.cloud/networking/v1/networks/{id}"); + var request = new RestRequest(Method.PATCH); + request.AddHeader("content-type", "application/json"); + request.AddHeader("Authorization", "Basic REPLACE_BASIC_AUTH"); + request.AddParameter("application/json", "{\"spec\":{\"display_name\":\"prod-aws-us-east1\",\"cloud\":\"AWS\",\"region\":\"us-east-1\",\"connection_types\":[\"PRIVATELINK\"],\"cidr\":\"10.200.0.0/16\",\"zones\":[\"use1-az1\",\"use1-az2\",\"use1-az3\"],\"zones_info\":[{\"zone_id\":\"use1-az3\",\"cidr\":\"10.20.0.0/27\"},{\"zone_id\":\"use1-az3\",\"cidr\":\"10.20.0.0/27\"},{\"zone_id\":\"use1-az3\",\"cidr\":\"10.20.0.0/27\"}],\"dns_config\":{\"resolution\":\"string\"},\"reserved_cidr\":\"172.20.255.0/24\",\"environment\":{\"id\":\"env-00000\",\"environment\":\"string\"}}}", ParameterType.RequestBody); + IRestResponse response = client.Execute(request); + delete: + operationId: deleteNetworkingV1Network + summary: Delete a Network + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + Make a request to delete a network. + parameters: + - name: environment + in: query + required: true + schema: + $ref: '#/components/schemas/SearchFilter' + example: env-00000 + description: Scope the operation to the given environment. + - name: id + in: path + required: true + schema: + type: string + description: The unique identifier for the network. + tags: + - Networks (networking/v1) + security: + - cloud-api-key: [] + - confluent-sts-access-token: [] + responses: + '204': + description: A Network is being deleted. + headers: + X-Request-Id: + schema: + type: string + description: The unique identifier for the API request. + X-RateLimit-Limit: + schema: + type: integer + description: The maximum number of requests you're permitted to make per time period. + X-RateLimit-Remaining: + schema: + type: integer + description: The number of requests remaining in the current rate limit window. + X-RateLimit-Reset: + schema: + type: integer + description: |- + The relative time in seconds until the current rate-limit window resets. + + **Important:** This differs from Github and Twitter's same-named header which uses UTC epoch seconds. We use relative time to avoid client/server time synchronization issues. + '400': + $ref: '#/components/responses/BadRequestError' + '401': + $ref: '#/components/responses/UnauthenticatedError' + '403': + $ref: '#/components/responses/UnauthorizedError' + '404': + $ref: '#/components/responses/NotFoundError' + '429': + $ref: '#/components/responses/RateLimitError' + '500': + $ref: '#/components/responses/DefaultSystemError' + x-codeSamples: + - lang: Shell + source: |- + curl --request DELETE \ + --url 'https://api.confluent.cloud/networking/v1/networks/{id}?environment=env-00000' \ + --header 'Authorization: Basic REPLACE_BASIC_AUTH' + - lang: Java + source: |- + OkHttpClient client = new OkHttpClient(); + + Request request = new Request.Builder() + .url("https://api.confluent.cloud/networking/v1/networks/{id}?environment=env-00000") + .delete(null) + .addHeader("Authorization", "Basic REPLACE_BASIC_AUTH") + .build(); + + Response response = client.newCall(request).execute(); + - lang: Go + source: "package main\n\nimport (\n\t\"fmt\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.confluent.cloud/networking/v1/networks/{id}?environment=env-00000\"\n\n\treq, _ := http.NewRequest(\"DELETE\", url, nil)\n\n\treq.Header.Add(\"Authorization\", \"Basic REPLACE_BASIC_AUTH\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}" + - lang: Python + source: |- + import http.client + + conn = http.client.HTTPSConnection("api.confluent.cloud") + + headers = { 'Authorization': "Basic REPLACE_BASIC_AUTH" } + + conn.request("DELETE", "/networking/v1/networks/{id}?environment=env-00000", headers=headers) + + res = conn.getresponse() + data = res.read() + + print(data.decode("utf-8")) + - lang: Node + source: |- + const http = require("https"); + + const options = { + "method": "DELETE", + "hostname": "api.confluent.cloud", + "port": null, + "path": "/networking/v1/networks/{id}?environment=env-00000", + "headers": { + "Authorization": "Basic REPLACE_BASIC_AUTH" + } + }; + + const req = http.request(options, function (res) { + const chunks = []; + + res.on("data", function (chunk) { + chunks.push(chunk); + }); + + res.on("end", function () { + const body = Buffer.concat(chunks); + console.log(body.toString()); + }); + }); + + req.end(); + - lang: C + source: |- + CURL *hnd = curl_easy_init(); + + curl_easy_setopt(hnd, CURLOPT_CUSTOMREQUEST, "DELETE"); + curl_easy_setopt(hnd, CURLOPT_URL, "https://api.confluent.cloud/networking/v1/networks/{id}?environment=env-00000"); + + struct curl_slist *headers = NULL; + headers = curl_slist_append(headers, "Authorization: Basic REPLACE_BASIC_AUTH"); + curl_easy_setopt(hnd, CURLOPT_HTTPHEADER, headers); + + CURLcode ret = curl_easy_perform(hnd); + - lang: C# + source: |- + var client = new RestClient("https://api.confluent.cloud/networking/v1/networks/{id}?environment=env-00000"); + var request = new RestRequest(Method.DELETE); + request.AddHeader("Authorization", "Basic REPLACE_BASIC_AUTH"); + IRestResponse response = client.Execute(request); + /networking/v1/peerings: + get: + operationId: listNetworkingV1Peerings + summary: List of Peerings + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + Retrieve a sorted, filtered, paginated list of all peerings. + parameters: + - name: spec.display_name + in: query + required: false + schema: + $ref: '#/components/schemas/MultipleSearchFilter' + example: + - prod-peering-uscentral1 + - prod-peering-use1 + description: Filter the results by exact match for spec.display_name. Pass multiple times to see results matching any of the values. + style: form + explode: true + - name: status.phase + in: query + required: false + schema: + $ref: '#/components/schemas/MultipleSearchFilter' + example: + - PROVISIONING + - READY + description: Filter the results by exact match for status.phase. Pass multiple times to see results matching any of the values. + style: form + explode: true + - name: environment + in: query + required: true + schema: + $ref: '#/components/schemas/SearchFilter' + example: env-00000 + description: Filter the results by exact match for environment. + - name: spec.network + in: query + required: false + schema: + $ref: '#/components/schemas/MultipleSearchFilter' + example: + - n-00000 + - n-00001 + description: Filter the results by exact match for spec.network. Pass multiple times to see results matching any of the values. + style: form + explode: true + - name: page_size + in: query + required: false + schema: + type: integer + default: 10 + maximum: 1000 + x-max-page-items: 1000 + 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: + - Peerings (networking/v1) + security: + - cloud-api-key: [] + - confluent-sts-access-token: [] + responses: + '200': + description: Peering. + content: + application/json: + schema: + allOf: + - $ref: '#/components/schemas/networking.v1.PeeringList' + - type: object + properties: + data: + type: array + items: + properties: + spec: + type: object + properties: + environment: + example: + id: env-00000 + related: 'https://api.confluent.cloud/v2/environments/env-00000' + resource_name: 'https://api.confluent.cloud/organization=9bb441c4-edef-46ac-8a41-c49e44a3fd9a/environment=env-00000' + network: + example: + id: n-00000 + related: 'https://api.confluent.cloud/networking/v1/networks/n-00000' + resource_name: 'https://api.confluent.cloud/organization=9bb441c4-edef-46ac-8a41-c49e44a3fd9a/environment=env-abc123/network=n-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. + + **Important:** This differs from Github and Twitter's same-named header which uses UTC epoch seconds. We use relative time to avoid client/server time synchronization issues. + '400': + $ref: '#/components/responses/BadRequestError' + '401': + $ref: '#/components/responses/UnauthenticatedError' + '403': + $ref: '#/components/responses/UnauthorizedError' + '429': + $ref: '#/components/responses/RateLimitError' + '500': + $ref: '#/components/responses/DefaultSystemError' + x-codeSamples: + - lang: Shell + source: |- + curl --request GET \ + --url 'https://api.confluent.cloud/networking/v1/peerings?spec.display_name=prod-peering-uscentral1,prod-peering-use1&status.phase=PROVISIONING,READY&environment=env-00000&spec.network=n-00000,n-00001' \ + --header 'Authorization: Basic REPLACE_BASIC_AUTH' + - lang: Java + source: |- + OkHttpClient client = new OkHttpClient(); + + Request request = new Request.Builder() + .url("https://api.confluent.cloud/networking/v1/peerings?spec.display_name=prod-peering-uscentral1,prod-peering-use1&status.phase=PROVISIONING,READY&environment=env-00000&spec.network=n-00000,n-00001") + .get() + .addHeader("Authorization", "Basic REPLACE_BASIC_AUTH") + .build(); + + Response response = client.newCall(request).execute(); + - lang: Go + source: "package main\n\nimport (\n\t\"fmt\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.confluent.cloud/networking/v1/peerings?spec.display_name=prod-peering-uscentral1,prod-peering-use1&status.phase=PROVISIONING,READY&environment=env-00000&spec.network=n-00000,n-00001\"\n\n\treq, _ := http.NewRequest(\"GET\", url, nil)\n\n\treq.Header.Add(\"Authorization\", \"Basic REPLACE_BASIC_AUTH\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}" + - lang: Python + source: |- + import http.client + + conn = http.client.HTTPSConnection("api.confluent.cloud") + + headers = { 'Authorization': "Basic REPLACE_BASIC_AUTH" } + + conn.request("GET", "/networking/v1/peerings?spec.display_name=prod-peering-uscentral1,prod-peering-use1&status.phase=PROVISIONING,READY&environment=env-00000&spec.network=n-00000,n-00001", headers=headers) + + res = conn.getresponse() + data = res.read() + + print(data.decode("utf-8")) + - lang: Node + source: |- + const http = require("https"); + + const options = { + "method": "GET", + "hostname": "api.confluent.cloud", + "port": null, + "path": "/networking/v1/peerings?spec.display_name=prod-peering-uscentral1,prod-peering-use1&status.phase=PROVISIONING,READY&environment=env-00000&spec.network=n-00000,n-00001", + "headers": { + "Authorization": "Basic REPLACE_BASIC_AUTH" + } + }; + + const req = http.request(options, function (res) { + const chunks = []; + + res.on("data", function (chunk) { + chunks.push(chunk); + }); + + res.on("end", function () { + const body = Buffer.concat(chunks); + console.log(body.toString()); + }); + }); + + req.end(); + - lang: C + source: |- + CURL *hnd = curl_easy_init(); + + curl_easy_setopt(hnd, CURLOPT_CUSTOMREQUEST, "GET"); + curl_easy_setopt(hnd, CURLOPT_URL, "https://api.confluent.cloud/networking/v1/peerings?spec.display_name=prod-peering-uscentral1,prod-peering-use1&status.phase=PROVISIONING,READY&environment=env-00000&spec.network=n-00000,n-00001"); + + struct curl_slist *headers = NULL; + headers = curl_slist_append(headers, "Authorization: Basic REPLACE_BASIC_AUTH"); + curl_easy_setopt(hnd, CURLOPT_HTTPHEADER, headers); + + CURLcode ret = curl_easy_perform(hnd); + - lang: C# + source: |- + var client = new RestClient("https://api.confluent.cloud/networking/v1/peerings?spec.display_name=prod-peering-uscentral1,prod-peering-use1&status.phase=PROVISIONING,READY&environment=env-00000&spec.network=n-00000,n-00001"); + var request = new RestRequest(Method.GET); + request.AddHeader("Authorization", "Basic REPLACE_BASIC_AUTH"); + IRestResponse response = client.Execute(request); + post: + operationId: createNetworkingV1Peering + summary: Create a Peering + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + Make a request to create a peering. + tags: + - Peerings (networking/v1) + security: + - cloud-api-key: [] + - confluent-sts-access-token: [] + requestBody: + content: + application/json: + schema: + allOf: + - $ref: '#/components/schemas/networking.v1.Peering' + - type: object + required: + - spec + properties: + spec: + type: object + required: + - cloud + - environment + - network + - type: object + properties: + spec: + type: object + properties: + environment: + example: + id: env-00000 + network: + example: + id: n-00000 + responses: + '202': + description: A Peering is being created. + headers: + X-Request-Id: + schema: + type: string + description: The unique identifier for the API request. + X-RateLimit-Limit: + schema: + type: integer + description: The maximum number of requests you're permitted to make per time period. + X-RateLimit-Remaining: + schema: + type: integer + description: The number of requests remaining in the current rate limit window. + X-RateLimit-Reset: + schema: + type: integer + description: |- + The relative time in seconds until the current rate-limit window resets. + + **Important:** This differs from Github and Twitter's same-named header which uses UTC epoch seconds. We use relative time to avoid client/server time synchronization issues. + Location: + schema: + type: string + format: uri + example: 'https://api.confluent.cloud/networking/v1/peerings/{id}' + description: Peering resource uri + content: + application/json: + schema: + allOf: + - $ref: '#/components/schemas/networking.v1.Peering' + - type: object + required: + - spec + - status + properties: + spec: + type: object + required: + - cloud + - environment + - network + - type: object + properties: + spec: + type: object + properties: + environment: + example: + id: env-00000 + related: 'https://api.confluent.cloud/v2/environments/env-00000' + resource_name: 'https://api.confluent.cloud/organization=9bb441c4-edef-46ac-8a41-c49e44a3fd9a/environment=env-00000' + network: + example: + id: n-00000 + related: 'https://api.confluent.cloud/networking/v1/networks/n-00000' + resource_name: 'https://api.confluent.cloud/organization=9bb441c4-edef-46ac-8a41-c49e44a3fd9a/environment=env-abc123/network=n-00000' + '400': + $ref: '#/components/responses/BadRequestError' + '401': + $ref: '#/components/responses/UnauthenticatedError' + '402': + $ref: '#/components/responses/OverQuotaError' + '403': + $ref: '#/components/responses/UnauthorizedError' + '409': + $ref: '#/components/responses/ConflictError' + '422': + $ref: '#/components/responses/ValidationError' + '429': + $ref: '#/components/responses/RateLimitError' + '500': + $ref: '#/components/responses/DefaultSystemError' + x-codeSamples: + - lang: Shell + source: |- + curl --request POST \ + --url https://api.confluent.cloud/networking/v1/peerings \ + --header 'Authorization: Basic REPLACE_BASIC_AUTH' \ + --header 'content-type: application/json' \ + --data '{"spec":{"display_name":"prod-peering-use1","cloud":{"kind":"AwsPeering","account":"000000000000","vpc":"vpc-00000000000000000","routes":["10.108.16.0/21"],"customer_region":"us-east-1"},"environment":{"id":"env-00000","environment":"string"},"network":{"id":"n-00000","environment":"string"}}}' + - lang: Java + source: |- + OkHttpClient client = new OkHttpClient(); + + MediaType mediaType = MediaType.parse("application/json"); + RequestBody body = RequestBody.create(mediaType, "{\"spec\":{\"display_name\":\"prod-peering-use1\",\"cloud\":{\"kind\":\"AwsPeering\",\"account\":\"000000000000\",\"vpc\":\"vpc-00000000000000000\",\"routes\":[\"10.108.16.0/21\"],\"customer_region\":\"us-east-1\"},\"environment\":{\"id\":\"env-00000\",\"environment\":\"string\"},\"network\":{\"id\":\"n-00000\",\"environment\":\"string\"}}}"); + Request request = new Request.Builder() + .url("https://api.confluent.cloud/networking/v1/peerings") + .post(body) + .addHeader("content-type", "application/json") + .addHeader("Authorization", "Basic REPLACE_BASIC_AUTH") + .build(); + + Response response = client.newCall(request).execute(); + - lang: Go + source: "package main\n\nimport (\n\t\"fmt\"\n\t\"strings\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.confluent.cloud/networking/v1/peerings\"\n\n\tpayload := strings.NewReader(\"{\\\"spec\\\":{\\\"display_name\\\":\\\"prod-peering-use1\\\",\\\"cloud\\\":{\\\"kind\\\":\\\"AwsPeering\\\",\\\"account\\\":\\\"000000000000\\\",\\\"vpc\\\":\\\"vpc-00000000000000000\\\",\\\"routes\\\":[\\\"10.108.16.0/21\\\"],\\\"customer_region\\\":\\\"us-east-1\\\"},\\\"environment\\\":{\\\"id\\\":\\\"env-00000\\\",\\\"environment\\\":\\\"string\\\"},\\\"network\\\":{\\\"id\\\":\\\"n-00000\\\",\\\"environment\\\":\\\"string\\\"}}}\")\n\n\treq, _ := http.NewRequest(\"POST\", url, payload)\n\n\treq.Header.Add(\"content-type\", \"application/json\")\n\treq.Header.Add(\"Authorization\", \"Basic REPLACE_BASIC_AUTH\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}" + - lang: Python + source: |- + import http.client + + conn = http.client.HTTPSConnection("api.confluent.cloud") + + payload = "{\"spec\":{\"display_name\":\"prod-peering-use1\",\"cloud\":{\"kind\":\"AwsPeering\",\"account\":\"000000000000\",\"vpc\":\"vpc-00000000000000000\",\"routes\":[\"10.108.16.0/21\"],\"customer_region\":\"us-east-1\"},\"environment\":{\"id\":\"env-00000\",\"environment\":\"string\"},\"network\":{\"id\":\"n-00000\",\"environment\":\"string\"}}}" + + headers = { + 'content-type': "application/json", + 'Authorization': "Basic REPLACE_BASIC_AUTH" + } + + conn.request("POST", "/networking/v1/peerings", payload, headers) + + res = conn.getresponse() + data = res.read() + + print(data.decode("utf-8")) + - lang: Node + source: |- + const http = require("https"); + + const options = { + "method": "POST", + "hostname": "api.confluent.cloud", + "port": null, + "path": "/networking/v1/peerings", + "headers": { + "content-type": "application/json", + "Authorization": "Basic REPLACE_BASIC_AUTH" + } + }; + + const req = http.request(options, function (res) { + const chunks = []; + + res.on("data", function (chunk) { + chunks.push(chunk); + }); + + res.on("end", function () { + const body = Buffer.concat(chunks); + console.log(body.toString()); + }); + }); + + req.write(JSON.stringify({ + spec: { + display_name: 'prod-peering-use1', + cloud: { + kind: 'AwsPeering', + account: '000000000000', + vpc: 'vpc-00000000000000000', + routes: ['10.108.16.0/21'], + customer_region: 'us-east-1' + }, + environment: {id: 'env-00000', environment: 'string'}, + network: {id: 'n-00000', environment: 'string'} + } + })); + req.end(); + - lang: C + source: |- + CURL *hnd = curl_easy_init(); + + curl_easy_setopt(hnd, CURLOPT_CUSTOMREQUEST, "POST"); + curl_easy_setopt(hnd, CURLOPT_URL, "https://api.confluent.cloud/networking/v1/peerings"); + + struct curl_slist *headers = NULL; + headers = curl_slist_append(headers, "content-type: application/json"); + headers = curl_slist_append(headers, "Authorization: Basic REPLACE_BASIC_AUTH"); + curl_easy_setopt(hnd, CURLOPT_HTTPHEADER, headers); + + curl_easy_setopt(hnd, CURLOPT_POSTFIELDS, "{\"spec\":{\"display_name\":\"prod-peering-use1\",\"cloud\":{\"kind\":\"AwsPeering\",\"account\":\"000000000000\",\"vpc\":\"vpc-00000000000000000\",\"routes\":[\"10.108.16.0/21\"],\"customer_region\":\"us-east-1\"},\"environment\":{\"id\":\"env-00000\",\"environment\":\"string\"},\"network\":{\"id\":\"n-00000\",\"environment\":\"string\"}}}"); + + CURLcode ret = curl_easy_perform(hnd); + - lang: C# + source: |- + var client = new RestClient("https://api.confluent.cloud/networking/v1/peerings"); + var request = new RestRequest(Method.POST); + request.AddHeader("content-type", "application/json"); + request.AddHeader("Authorization", "Basic REPLACE_BASIC_AUTH"); + request.AddParameter("application/json", "{\"spec\":{\"display_name\":\"prod-peering-use1\",\"cloud\":{\"kind\":\"AwsPeering\",\"account\":\"000000000000\",\"vpc\":\"vpc-00000000000000000\",\"routes\":[\"10.108.16.0/21\"],\"customer_region\":\"us-east-1\"},\"environment\":{\"id\":\"env-00000\",\"environment\":\"string\"},\"network\":{\"id\":\"n-00000\",\"environment\":\"string\"}}}", ParameterType.RequestBody); + IRestResponse response = client.Execute(request); + '/networking/v1/peerings/{id}': + get: + operationId: getNetworkingV1Peering + summary: Read a Peering + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + Make a request to read a peering. + parameters: + - name: environment + in: query + required: true + schema: + $ref: '#/components/schemas/SearchFilter' + example: env-00000 + description: Scope the operation to the given environment. + - name: id + in: path + required: true + schema: + type: string + description: The unique identifier for the peering. + tags: + - Peerings (networking/v1) + security: + - cloud-api-key: [] + - confluent-sts-access-token: [] + responses: + '200': + description: Peering. + content: + application/json: + schema: + allOf: + - $ref: '#/components/schemas/networking.v1.Peering' + - type: object + required: + - api_version + - kind + - id + - spec + - status + properties: + spec: + type: object + required: + - cloud + - environment + - network + - type: object + properties: + spec: + type: object + properties: + environment: + example: + id: env-00000 + related: 'https://api.confluent.cloud/v2/environments/env-00000' + resource_name: 'https://api.confluent.cloud/organization=9bb441c4-edef-46ac-8a41-c49e44a3fd9a/environment=env-00000' + network: + example: + id: n-00000 + related: 'https://api.confluent.cloud/networking/v1/networks/n-00000' + resource_name: 'https://api.confluent.cloud/organization=9bb441c4-edef-46ac-8a41-c49e44a3fd9a/environment=env-abc123/network=n-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. + + **Important:** This differs from Github and Twitter's same-named header which uses UTC epoch seconds. We use relative time to avoid client/server time synchronization issues. + '400': + $ref: '#/components/responses/BadRequestError' + '401': + $ref: '#/components/responses/UnauthenticatedError' + '403': + $ref: '#/components/responses/UnauthorizedError' + '404': + $ref: '#/components/responses/NotFoundError' + '429': + $ref: '#/components/responses/RateLimitError' + '500': + $ref: '#/components/responses/DefaultSystemError' + x-codeSamples: + - lang: Shell + source: |- + curl --request GET \ + --url 'https://api.confluent.cloud/networking/v1/peerings/{id}?environment=env-00000' \ + --header 'Authorization: Basic REPLACE_BASIC_AUTH' + - lang: Java + source: |- + OkHttpClient client = new OkHttpClient(); + + Request request = new Request.Builder() + .url("https://api.confluent.cloud/networking/v1/peerings/{id}?environment=env-00000") + .get() + .addHeader("Authorization", "Basic REPLACE_BASIC_AUTH") + .build(); + + Response response = client.newCall(request).execute(); + - lang: Go + source: "package main\n\nimport (\n\t\"fmt\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.confluent.cloud/networking/v1/peerings/{id}?environment=env-00000\"\n\n\treq, _ := http.NewRequest(\"GET\", url, nil)\n\n\treq.Header.Add(\"Authorization\", \"Basic REPLACE_BASIC_AUTH\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}" + - lang: Python + source: |- + import http.client + + conn = http.client.HTTPSConnection("api.confluent.cloud") + + headers = { 'Authorization': "Basic REPLACE_BASIC_AUTH" } + + conn.request("GET", "/networking/v1/peerings/{id}?environment=env-00000", headers=headers) + + res = conn.getresponse() + data = res.read() + + print(data.decode("utf-8")) + - lang: Node + source: |- + const http = require("https"); + + const options = { + "method": "GET", + "hostname": "api.confluent.cloud", + "port": null, + "path": "/networking/v1/peerings/{id}?environment=env-00000", + "headers": { + "Authorization": "Basic REPLACE_BASIC_AUTH" + } + }; + + const req = http.request(options, function (res) { + const chunks = []; + + res.on("data", function (chunk) { + chunks.push(chunk); + }); + + res.on("end", function () { + const body = Buffer.concat(chunks); + console.log(body.toString()); + }); + }); + + req.end(); + - lang: C + source: |- + CURL *hnd = curl_easy_init(); + + curl_easy_setopt(hnd, CURLOPT_CUSTOMREQUEST, "GET"); + curl_easy_setopt(hnd, CURLOPT_URL, "https://api.confluent.cloud/networking/v1/peerings/{id}?environment=env-00000"); + + struct curl_slist *headers = NULL; + headers = curl_slist_append(headers, "Authorization: Basic REPLACE_BASIC_AUTH"); + curl_easy_setopt(hnd, CURLOPT_HTTPHEADER, headers); + + CURLcode ret = curl_easy_perform(hnd); + - lang: C# + source: |- + var client = new RestClient("https://api.confluent.cloud/networking/v1/peerings/{id}?environment=env-00000"); + var request = new RestRequest(Method.GET); + request.AddHeader("Authorization", "Basic REPLACE_BASIC_AUTH"); + IRestResponse response = client.Execute(request); + patch: + operationId: updateNetworkingV1Peering + summary: Update a Peering + description: |+ + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + Make a request to update a peering. + + parameters: + - name: id + in: path + required: true + schema: + type: string + description: The unique identifier for the peering. + tags: + - Peerings (networking/v1) + security: + - cloud-api-key: [] + - confluent-sts-access-token: [] + requestBody: + content: + application/json: + schema: + allOf: + - $ref: '#/components/schemas/networking.v1.PeeringUpdate' + - type: object + required: + - spec + properties: + spec: + type: object + required: + - environment + properties: + environment: + example: + id: env-00000 + responses: + '200': + description: Peering. + content: + application/json: + schema: + allOf: + - $ref: '#/components/schemas/networking.v1.Peering' + - type: object + required: + - api_version + - kind + - id + - spec + - status + properties: + spec: + type: object + required: + - cloud + - environment + - network + - type: object + properties: + spec: + type: object + properties: + environment: + example: + id: env-00000 + related: 'https://api.confluent.cloud/v2/environments/env-00000' + resource_name: 'https://api.confluent.cloud/organization=9bb441c4-edef-46ac-8a41-c49e44a3fd9a/environment=env-00000' + network: + example: + id: n-00000 + related: 'https://api.confluent.cloud/networking/v1/networks/n-00000' + resource_name: 'https://api.confluent.cloud/organization=9bb441c4-edef-46ac-8a41-c49e44a3fd9a/environment=env-abc123/network=n-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. + + **Important:** This differs from Github and Twitter's same-named header which uses UTC epoch seconds. We use relative time to avoid client/server time synchronization issues. + '400': + $ref: '#/components/responses/BadRequestError' + '401': + $ref: '#/components/responses/UnauthenticatedError' + '402': + $ref: '#/components/responses/OverQuotaError' + '403': + $ref: '#/components/responses/UnauthorizedError' + '404': + $ref: '#/components/responses/NotFoundError' + '409': + $ref: '#/components/responses/ConflictError' + '422': + $ref: '#/components/responses/ValidationError' + '429': + $ref: '#/components/responses/RateLimitError' + '500': + $ref: '#/components/responses/DefaultSystemError' + x-codeSamples: + - lang: Shell + source: |- + curl --request PATCH \ + --url 'https://api.confluent.cloud/networking/v1/peerings/{id}' \ + --header 'Authorization: Basic REPLACE_BASIC_AUTH' \ + --header 'content-type: application/json' \ + --data '{"spec":{"display_name":"prod-peering-use1","cloud":{"kind":"AwsPeering","account":"000000000000","vpc":"vpc-00000000000000000","routes":["10.108.16.0/21"],"customer_region":"us-east-1"},"environment":{"id":"env-00000","environment":"string"},"network":{"id":"string","environment":"string"}}}' + - lang: Java + source: |- + OkHttpClient client = new OkHttpClient(); + + MediaType mediaType = MediaType.parse("application/json"); + RequestBody body = RequestBody.create(mediaType, "{\"spec\":{\"display_name\":\"prod-peering-use1\",\"cloud\":{\"kind\":\"AwsPeering\",\"account\":\"000000000000\",\"vpc\":\"vpc-00000000000000000\",\"routes\":[\"10.108.16.0/21\"],\"customer_region\":\"us-east-1\"},\"environment\":{\"id\":\"env-00000\",\"environment\":\"string\"},\"network\":{\"id\":\"string\",\"environment\":\"string\"}}}"); + Request request = new Request.Builder() + .url("https://api.confluent.cloud/networking/v1/peerings/{id}") + .patch(body) + .addHeader("content-type", "application/json") + .addHeader("Authorization", "Basic REPLACE_BASIC_AUTH") + .build(); + + Response response = client.newCall(request).execute(); + - lang: Go + source: "package main\n\nimport (\n\t\"fmt\"\n\t\"strings\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.confluent.cloud/networking/v1/peerings/{id}\"\n\n\tpayload := strings.NewReader(\"{\\\"spec\\\":{\\\"display_name\\\":\\\"prod-peering-use1\\\",\\\"cloud\\\":{\\\"kind\\\":\\\"AwsPeering\\\",\\\"account\\\":\\\"000000000000\\\",\\\"vpc\\\":\\\"vpc-00000000000000000\\\",\\\"routes\\\":[\\\"10.108.16.0/21\\\"],\\\"customer_region\\\":\\\"us-east-1\\\"},\\\"environment\\\":{\\\"id\\\":\\\"env-00000\\\",\\\"environment\\\":\\\"string\\\"},\\\"network\\\":{\\\"id\\\":\\\"string\\\",\\\"environment\\\":\\\"string\\\"}}}\")\n\n\treq, _ := http.NewRequest(\"PATCH\", url, payload)\n\n\treq.Header.Add(\"content-type\", \"application/json\")\n\treq.Header.Add(\"Authorization\", \"Basic REPLACE_BASIC_AUTH\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}" + - lang: Python + source: |- + import http.client + + conn = http.client.HTTPSConnection("api.confluent.cloud") + + payload = "{\"spec\":{\"display_name\":\"prod-peering-use1\",\"cloud\":{\"kind\":\"AwsPeering\",\"account\":\"000000000000\",\"vpc\":\"vpc-00000000000000000\",\"routes\":[\"10.108.16.0/21\"],\"customer_region\":\"us-east-1\"},\"environment\":{\"id\":\"env-00000\",\"environment\":\"string\"},\"network\":{\"id\":\"string\",\"environment\":\"string\"}}}" + + headers = { + 'content-type': "application/json", + 'Authorization': "Basic REPLACE_BASIC_AUTH" + } + + conn.request("PATCH", "/networking/v1/peerings/{id}", payload, headers) + + res = conn.getresponse() + data = res.read() + + print(data.decode("utf-8")) + - lang: Node + source: |- + const http = require("https"); + + const options = { + "method": "PATCH", + "hostname": "api.confluent.cloud", + "port": null, + "path": "/networking/v1/peerings/{id}", + "headers": { + "content-type": "application/json", + "Authorization": "Basic REPLACE_BASIC_AUTH" + } + }; + + const req = http.request(options, function (res) { + const chunks = []; + + res.on("data", function (chunk) { + chunks.push(chunk); + }); + + res.on("end", function () { + const body = Buffer.concat(chunks); + console.log(body.toString()); + }); + }); + + req.write(JSON.stringify({ + spec: { + display_name: 'prod-peering-use1', + cloud: { + kind: 'AwsPeering', + account: '000000000000', + vpc: 'vpc-00000000000000000', + routes: ['10.108.16.0/21'], + customer_region: 'us-east-1' + }, + environment: {id: 'env-00000', environment: 'string'}, + network: {id: 'string', environment: 'string'} + } + })); + req.end(); + - lang: C + source: |- + CURL *hnd = curl_easy_init(); + + curl_easy_setopt(hnd, CURLOPT_CUSTOMREQUEST, "PATCH"); + curl_easy_setopt(hnd, CURLOPT_URL, "https://api.confluent.cloud/networking/v1/peerings/{id}"); + + struct curl_slist *headers = NULL; + headers = curl_slist_append(headers, "content-type: application/json"); + headers = curl_slist_append(headers, "Authorization: Basic REPLACE_BASIC_AUTH"); + curl_easy_setopt(hnd, CURLOPT_HTTPHEADER, headers); + + curl_easy_setopt(hnd, CURLOPT_POSTFIELDS, "{\"spec\":{\"display_name\":\"prod-peering-use1\",\"cloud\":{\"kind\":\"AwsPeering\",\"account\":\"000000000000\",\"vpc\":\"vpc-00000000000000000\",\"routes\":[\"10.108.16.0/21\"],\"customer_region\":\"us-east-1\"},\"environment\":{\"id\":\"env-00000\",\"environment\":\"string\"},\"network\":{\"id\":\"string\",\"environment\":\"string\"}}}"); + + CURLcode ret = curl_easy_perform(hnd); + - lang: C# + source: |- + var client = new RestClient("https://api.confluent.cloud/networking/v1/peerings/{id}"); + var request = new RestRequest(Method.PATCH); + request.AddHeader("content-type", "application/json"); + request.AddHeader("Authorization", "Basic REPLACE_BASIC_AUTH"); + request.AddParameter("application/json", "{\"spec\":{\"display_name\":\"prod-peering-use1\",\"cloud\":{\"kind\":\"AwsPeering\",\"account\":\"000000000000\",\"vpc\":\"vpc-00000000000000000\",\"routes\":[\"10.108.16.0/21\"],\"customer_region\":\"us-east-1\"},\"environment\":{\"id\":\"env-00000\",\"environment\":\"string\"},\"network\":{\"id\":\"string\",\"environment\":\"string\"}}}", ParameterType.RequestBody); + IRestResponse response = client.Execute(request); + delete: + operationId: deleteNetworkingV1Peering + summary: Delete a Peering + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + Make a request to delete a peering. + parameters: + - name: environment + in: query + required: true + schema: + $ref: '#/components/schemas/SearchFilter' + example: env-00000 + description: Scope the operation to the given environment. + - name: id + in: path + required: true + schema: + type: string + description: The unique identifier for the peering. + tags: + - Peerings (networking/v1) + security: + - cloud-api-key: [] + - confluent-sts-access-token: [] + responses: + '204': + description: A Peering is being deleted. + headers: + X-Request-Id: + schema: + type: string + description: The unique identifier for the API request. + X-RateLimit-Limit: + schema: + type: integer + description: The maximum number of requests you're permitted to make per time period. + X-RateLimit-Remaining: + schema: + type: integer + description: The number of requests remaining in the current rate limit window. + X-RateLimit-Reset: + schema: + type: integer + description: |- + The relative time in seconds until the current rate-limit window resets. + + **Important:** This differs from Github and Twitter's same-named header which uses UTC epoch seconds. We use relative time to avoid client/server time synchronization issues. + '400': + $ref: '#/components/responses/BadRequestError' + '401': + $ref: '#/components/responses/UnauthenticatedError' + '403': + $ref: '#/components/responses/UnauthorizedError' + '404': + $ref: '#/components/responses/NotFoundError' + '429': + $ref: '#/components/responses/RateLimitError' + '500': + $ref: '#/components/responses/DefaultSystemError' + x-codeSamples: + - lang: Shell + source: |- + curl --request DELETE \ + --url 'https://api.confluent.cloud/networking/v1/peerings/{id}?environment=env-00000' \ + --header 'Authorization: Basic REPLACE_BASIC_AUTH' + - lang: Java + source: |- + OkHttpClient client = new OkHttpClient(); + + Request request = new Request.Builder() + .url("https://api.confluent.cloud/networking/v1/peerings/{id}?environment=env-00000") + .delete(null) + .addHeader("Authorization", "Basic REPLACE_BASIC_AUTH") + .build(); + + Response response = client.newCall(request).execute(); + - lang: Go + source: "package main\n\nimport (\n\t\"fmt\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.confluent.cloud/networking/v1/peerings/{id}?environment=env-00000\"\n\n\treq, _ := http.NewRequest(\"DELETE\", url, nil)\n\n\treq.Header.Add(\"Authorization\", \"Basic REPLACE_BASIC_AUTH\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}" + - lang: Python + source: |- + import http.client + + conn = http.client.HTTPSConnection("api.confluent.cloud") + + headers = { 'Authorization': "Basic REPLACE_BASIC_AUTH" } + + conn.request("DELETE", "/networking/v1/peerings/{id}?environment=env-00000", headers=headers) + + res = conn.getresponse() + data = res.read() + + print(data.decode("utf-8")) + - lang: Node + source: |- + const http = require("https"); + + const options = { + "method": "DELETE", + "hostname": "api.confluent.cloud", + "port": null, + "path": "/networking/v1/peerings/{id}?environment=env-00000", + "headers": { + "Authorization": "Basic REPLACE_BASIC_AUTH" + } + }; + + const req = http.request(options, function (res) { + const chunks = []; + + res.on("data", function (chunk) { + chunks.push(chunk); + }); + + res.on("end", function () { + const body = Buffer.concat(chunks); + console.log(body.toString()); + }); + }); + + req.end(); + - lang: C + source: |- + CURL *hnd = curl_easy_init(); + + curl_easy_setopt(hnd, CURLOPT_CUSTOMREQUEST, "DELETE"); + curl_easy_setopt(hnd, CURLOPT_URL, "https://api.confluent.cloud/networking/v1/peerings/{id}?environment=env-00000"); + + struct curl_slist *headers = NULL; + headers = curl_slist_append(headers, "Authorization: Basic REPLACE_BASIC_AUTH"); + curl_easy_setopt(hnd, CURLOPT_HTTPHEADER, headers); + + CURLcode ret = curl_easy_perform(hnd); + - lang: C# + source: |- + var client = new RestClient("https://api.confluent.cloud/networking/v1/peerings/{id}?environment=env-00000"); + var request = new RestRequest(Method.DELETE); + request.AddHeader("Authorization", "Basic REPLACE_BASIC_AUTH"); + IRestResponse response = client.Execute(request); + /networking/v1/transit-gateway-attachments: + get: + operationId: listNetworkingV1TransitGatewayAttachments + summary: List of Transit Gateway Attachments + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + Retrieve a sorted, filtered, paginated list of all transit gateway attachments. + parameters: + - name: spec.display_name + in: query + required: false + schema: + $ref: '#/components/schemas/MultipleSearchFilter' + example: + - prod-tgw-use1 + - prod-tgw-usw2 + description: Filter the results by exact match for spec.display_name. Pass multiple times to see results matching any of the values. + style: form + explode: true + - name: status.phase + in: query + required: false + schema: + $ref: '#/components/schemas/MultipleSearchFilter' + example: + - PROVISIONING + - READY + description: Filter the results by exact match for status.phase. Pass multiple times to see results matching any of the values. + style: form + explode: true + - name: environment + in: query + required: true + schema: + $ref: '#/components/schemas/SearchFilter' + example: env-00000 + description: Filter the results by exact match for environment. + - name: spec.network + in: query + required: false + schema: + $ref: '#/components/schemas/MultipleSearchFilter' + example: + - n-00000 + - n-00001 + description: Filter the results by exact match for spec.network. Pass multiple times to see results matching any of the values. + style: form + explode: true + - name: page_size + in: query + required: false + schema: + type: integer + default: 10 + maximum: 1000 + x-max-page-items: 1000 + 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: + - Transit Gateway Attachments (networking/v1) + security: + - cloud-api-key: [] + - confluent-sts-access-token: [] + responses: + '200': + description: Transit Gateway Attachment. + content: + application/json: + schema: + allOf: + - $ref: '#/components/schemas/networking.v1.TransitGatewayAttachmentList' + - type: object + properties: + data: + type: array + items: + properties: + spec: + type: object + properties: + environment: + example: + id: env-00000 + related: 'https://api.confluent.cloud/v2/environments/env-00000' + resource_name: 'https://api.confluent.cloud/organization=9bb441c4-edef-46ac-8a41-c49e44a3fd9a/environment=env-00000' + network: + example: + id: n-00000 + related: 'https://api.confluent.cloud/networking/v1/networks/n-00000' + resource_name: 'https://api.confluent.cloud/organization=9bb441c4-edef-46ac-8a41-c49e44a3fd9a/environment=env-abc123/network=n-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. + + **Important:** This differs from Github and Twitter's same-named header which uses UTC epoch seconds. We use relative time to avoid client/server time synchronization issues. + '400': + $ref: '#/components/responses/BadRequestError' + '401': + $ref: '#/components/responses/UnauthenticatedError' + '403': + $ref: '#/components/responses/UnauthorizedError' + '429': + $ref: '#/components/responses/RateLimitError' + '500': + $ref: '#/components/responses/DefaultSystemError' + x-codeSamples: + - lang: Shell + source: |- + curl --request GET \ + --url 'https://api.confluent.cloud/networking/v1/transit-gateway-attachments?spec.display_name=prod-tgw-use1,prod-tgw-usw2&status.phase=PROVISIONING,READY&environment=env-00000&spec.network=n-00000,n-00001' \ + --header 'Authorization: Basic REPLACE_BASIC_AUTH' + - lang: Java + source: |- + OkHttpClient client = new OkHttpClient(); + + Request request = new Request.Builder() + .url("https://api.confluent.cloud/networking/v1/transit-gateway-attachments?spec.display_name=prod-tgw-use1,prod-tgw-usw2&status.phase=PROVISIONING,READY&environment=env-00000&spec.network=n-00000,n-00001") + .get() + .addHeader("Authorization", "Basic REPLACE_BASIC_AUTH") + .build(); + + Response response = client.newCall(request).execute(); + - lang: Go + source: "package main\n\nimport (\n\t\"fmt\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.confluent.cloud/networking/v1/transit-gateway-attachments?spec.display_name=prod-tgw-use1,prod-tgw-usw2&status.phase=PROVISIONING,READY&environment=env-00000&spec.network=n-00000,n-00001\"\n\n\treq, _ := http.NewRequest(\"GET\", url, nil)\n\n\treq.Header.Add(\"Authorization\", \"Basic REPLACE_BASIC_AUTH\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}" + - lang: Python + source: |- + import http.client + + conn = http.client.HTTPSConnection("api.confluent.cloud") + + headers = { 'Authorization': "Basic REPLACE_BASIC_AUTH" } + + conn.request("GET", "/networking/v1/transit-gateway-attachments?spec.display_name=prod-tgw-use1,prod-tgw-usw2&status.phase=PROVISIONING,READY&environment=env-00000&spec.network=n-00000,n-00001", headers=headers) + + res = conn.getresponse() + data = res.read() + + print(data.decode("utf-8")) + - lang: Node + source: |- + const http = require("https"); + + const options = { + "method": "GET", + "hostname": "api.confluent.cloud", + "port": null, + "path": "/networking/v1/transit-gateway-attachments?spec.display_name=prod-tgw-use1,prod-tgw-usw2&status.phase=PROVISIONING,READY&environment=env-00000&spec.network=n-00000,n-00001", + "headers": { + "Authorization": "Basic REPLACE_BASIC_AUTH" + } + }; + + const req = http.request(options, function (res) { + const chunks = []; + + res.on("data", function (chunk) { + chunks.push(chunk); + }); + + res.on("end", function () { + const body = Buffer.concat(chunks); + console.log(body.toString()); + }); + }); + + req.end(); + - lang: C + source: |- + CURL *hnd = curl_easy_init(); + + curl_easy_setopt(hnd, CURLOPT_CUSTOMREQUEST, "GET"); + curl_easy_setopt(hnd, CURLOPT_URL, "https://api.confluent.cloud/networking/v1/transit-gateway-attachments?spec.display_name=prod-tgw-use1,prod-tgw-usw2&status.phase=PROVISIONING,READY&environment=env-00000&spec.network=n-00000,n-00001"); + + struct curl_slist *headers = NULL; + headers = curl_slist_append(headers, "Authorization: Basic REPLACE_BASIC_AUTH"); + curl_easy_setopt(hnd, CURLOPT_HTTPHEADER, headers); + + CURLcode ret = curl_easy_perform(hnd); + - lang: C# + source: |- + var client = new RestClient("https://api.confluent.cloud/networking/v1/transit-gateway-attachments?spec.display_name=prod-tgw-use1,prod-tgw-usw2&status.phase=PROVISIONING,READY&environment=env-00000&spec.network=n-00000,n-00001"); + var request = new RestRequest(Method.GET); + request.AddHeader("Authorization", "Basic REPLACE_BASIC_AUTH"); + IRestResponse response = client.Execute(request); + post: + operationId: createNetworkingV1TransitGatewayAttachment + summary: Create a Transit Gateway Attachment + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + Make a request to create a transit gateway attachment. + tags: + - Transit Gateway Attachments (networking/v1) + security: + - cloud-api-key: [] + - confluent-sts-access-token: [] + requestBody: + content: + application/json: + schema: + allOf: + - $ref: '#/components/schemas/networking.v1.TransitGatewayAttachment' + - type: object + required: + - spec + properties: + spec: + type: object + required: + - cloud + - environment + - network + - type: object + properties: + spec: + type: object + properties: + environment: + example: + id: env-00000 + network: + example: + id: n-00000 + responses: + '202': + description: A Transit Gateway Attachment is being created. + headers: + X-Request-Id: + schema: + type: string + description: The unique identifier for the API request. + X-RateLimit-Limit: + schema: + type: integer + description: The maximum number of requests you're permitted to make per time period. + X-RateLimit-Remaining: + schema: + type: integer + description: The number of requests remaining in the current rate limit window. + X-RateLimit-Reset: + schema: + type: integer + description: |- + The relative time in seconds until the current rate-limit window resets. + + **Important:** This differs from Github and Twitter's same-named header which uses UTC epoch seconds. We use relative time to avoid client/server time synchronization issues. + Location: + schema: + type: string + format: uri + example: 'https://api.confluent.cloud/networking/v1/transit-gateway-attachments/{id}' + description: TransitGatewayAttachment resource uri + content: + application/json: + schema: + allOf: + - $ref: '#/components/schemas/networking.v1.TransitGatewayAttachment' + - type: object + required: + - spec + - status + properties: + spec: + type: object + required: + - cloud + - environment + - network + - type: object + properties: + spec: + type: object + properties: + environment: + example: + id: env-00000 + related: 'https://api.confluent.cloud/v2/environments/env-00000' + resource_name: 'https://api.confluent.cloud/organization=9bb441c4-edef-46ac-8a41-c49e44a3fd9a/environment=env-00000' + network: + example: + id: n-00000 + related: 'https://api.confluent.cloud/networking/v1/networks/n-00000' + resource_name: 'https://api.confluent.cloud/organization=9bb441c4-edef-46ac-8a41-c49e44a3fd9a/environment=env-abc123/network=n-00000' + '400': + $ref: '#/components/responses/BadRequestError' + '401': + $ref: '#/components/responses/UnauthenticatedError' + '402': + $ref: '#/components/responses/OverQuotaError' + '403': + $ref: '#/components/responses/UnauthorizedError' + '409': + $ref: '#/components/responses/ConflictError' + '422': + $ref: '#/components/responses/ValidationError' + '429': + $ref: '#/components/responses/RateLimitError' + '500': + $ref: '#/components/responses/DefaultSystemError' + x-codeSamples: + - lang: Shell + source: |- + curl --request POST \ + --url https://api.confluent.cloud/networking/v1/transit-gateway-attachments \ + --header 'Authorization: Basic REPLACE_BASIC_AUTH' \ + --header 'content-type: application/json' \ + --data '{"spec":{"display_name":"prod-tgw-use1","cloud":{"kind":"AwsTransitGatewayAttachment","ram_share_arn":"arn:aws:ram:us-west-3:000000000000:resource-share/xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxx","transit_gateway_id":"tgw-xxxxxxxxxxxxxxxxx","routes":["100.64.0.0/10","10.0.0.0/8","192.168.0.0/16","172.16.0.0/12"]},"environment":{"id":"env-00000","environment":"string"},"network":{"id":"n-00000","environment":"string"}}}' + - lang: Java + source: |- + OkHttpClient client = new OkHttpClient(); + + MediaType mediaType = MediaType.parse("application/json"); + RequestBody body = RequestBody.create(mediaType, "{\"spec\":{\"display_name\":\"prod-tgw-use1\",\"cloud\":{\"kind\":\"AwsTransitGatewayAttachment\",\"ram_share_arn\":\"arn:aws:ram:us-west-3:000000000000:resource-share/xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxx\",\"transit_gateway_id\":\"tgw-xxxxxxxxxxxxxxxxx\",\"routes\":[\"100.64.0.0/10\",\"10.0.0.0/8\",\"192.168.0.0/16\",\"172.16.0.0/12\"]},\"environment\":{\"id\":\"env-00000\",\"environment\":\"string\"},\"network\":{\"id\":\"n-00000\",\"environment\":\"string\"}}}"); + Request request = new Request.Builder() + .url("https://api.confluent.cloud/networking/v1/transit-gateway-attachments") + .post(body) + .addHeader("content-type", "application/json") + .addHeader("Authorization", "Basic REPLACE_BASIC_AUTH") + .build(); + + Response response = client.newCall(request).execute(); + - lang: Go + source: "package main\n\nimport (\n\t\"fmt\"\n\t\"strings\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.confluent.cloud/networking/v1/transit-gateway-attachments\"\n\n\tpayload := strings.NewReader(\"{\\\"spec\\\":{\\\"display_name\\\":\\\"prod-tgw-use1\\\",\\\"cloud\\\":{\\\"kind\\\":\\\"AwsTransitGatewayAttachment\\\",\\\"ram_share_arn\\\":\\\"arn:aws:ram:us-west-3:000000000000:resource-share/xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxx\\\",\\\"transit_gateway_id\\\":\\\"tgw-xxxxxxxxxxxxxxxxx\\\",\\\"routes\\\":[\\\"100.64.0.0/10\\\",\\\"10.0.0.0/8\\\",\\\"192.168.0.0/16\\\",\\\"172.16.0.0/12\\\"]},\\\"environment\\\":{\\\"id\\\":\\\"env-00000\\\",\\\"environment\\\":\\\"string\\\"},\\\"network\\\":{\\\"id\\\":\\\"n-00000\\\",\\\"environment\\\":\\\"string\\\"}}}\")\n\n\treq, _ := http.NewRequest(\"POST\", url, payload)\n\n\treq.Header.Add(\"content-type\", \"application/json\")\n\treq.Header.Add(\"Authorization\", \"Basic REPLACE_BASIC_AUTH\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}" + - lang: Python + source: |- + import http.client + + conn = http.client.HTTPSConnection("api.confluent.cloud") + + payload = "{\"spec\":{\"display_name\":\"prod-tgw-use1\",\"cloud\":{\"kind\":\"AwsTransitGatewayAttachment\",\"ram_share_arn\":\"arn:aws:ram:us-west-3:000000000000:resource-share/xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxx\",\"transit_gateway_id\":\"tgw-xxxxxxxxxxxxxxxxx\",\"routes\":[\"100.64.0.0/10\",\"10.0.0.0/8\",\"192.168.0.0/16\",\"172.16.0.0/12\"]},\"environment\":{\"id\":\"env-00000\",\"environment\":\"string\"},\"network\":{\"id\":\"n-00000\",\"environment\":\"string\"}}}" + + headers = { + 'content-type': "application/json", + 'Authorization': "Basic REPLACE_BASIC_AUTH" + } + + conn.request("POST", "/networking/v1/transit-gateway-attachments", payload, headers) + + res = conn.getresponse() + data = res.read() + + print(data.decode("utf-8")) + - lang: Node + source: |- + const http = require("https"); + + const options = { + "method": "POST", + "hostname": "api.confluent.cloud", + "port": null, + "path": "/networking/v1/transit-gateway-attachments", + "headers": { + "content-type": "application/json", + "Authorization": "Basic REPLACE_BASIC_AUTH" + } + }; + + const req = http.request(options, function (res) { + const chunks = []; + + res.on("data", function (chunk) { + chunks.push(chunk); + }); + + res.on("end", function () { + const body = Buffer.concat(chunks); + console.log(body.toString()); + }); + }); + + req.write(JSON.stringify({ + spec: { + display_name: 'prod-tgw-use1', + cloud: { + kind: 'AwsTransitGatewayAttachment', + ram_share_arn: 'arn:aws:ram:us-west-3:000000000000:resource-share/xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxx', + transit_gateway_id: 'tgw-xxxxxxxxxxxxxxxxx', + routes: ['100.64.0.0/10', '10.0.0.0/8', '192.168.0.0/16', '172.16.0.0/12'] + }, + environment: {id: 'env-00000', environment: 'string'}, + network: {id: 'n-00000', environment: 'string'} + } + })); + req.end(); + - lang: C + source: |- + CURL *hnd = curl_easy_init(); + + curl_easy_setopt(hnd, CURLOPT_CUSTOMREQUEST, "POST"); + curl_easy_setopt(hnd, CURLOPT_URL, "https://api.confluent.cloud/networking/v1/transit-gateway-attachments"); + + struct curl_slist *headers = NULL; + headers = curl_slist_append(headers, "content-type: application/json"); + headers = curl_slist_append(headers, "Authorization: Basic REPLACE_BASIC_AUTH"); + curl_easy_setopt(hnd, CURLOPT_HTTPHEADER, headers); + + curl_easy_setopt(hnd, CURLOPT_POSTFIELDS, "{\"spec\":{\"display_name\":\"prod-tgw-use1\",\"cloud\":{\"kind\":\"AwsTransitGatewayAttachment\",\"ram_share_arn\":\"arn:aws:ram:us-west-3:000000000000:resource-share/xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxx\",\"transit_gateway_id\":\"tgw-xxxxxxxxxxxxxxxxx\",\"routes\":[\"100.64.0.0/10\",\"10.0.0.0/8\",\"192.168.0.0/16\",\"172.16.0.0/12\"]},\"environment\":{\"id\":\"env-00000\",\"environment\":\"string\"},\"network\":{\"id\":\"n-00000\",\"environment\":\"string\"}}}"); + + CURLcode ret = curl_easy_perform(hnd); + - lang: C# + source: |- + var client = new RestClient("https://api.confluent.cloud/networking/v1/transit-gateway-attachments"); + var request = new RestRequest(Method.POST); + request.AddHeader("content-type", "application/json"); + request.AddHeader("Authorization", "Basic REPLACE_BASIC_AUTH"); + request.AddParameter("application/json", "{\"spec\":{\"display_name\":\"prod-tgw-use1\",\"cloud\":{\"kind\":\"AwsTransitGatewayAttachment\",\"ram_share_arn\":\"arn:aws:ram:us-west-3:000000000000:resource-share/xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxx\",\"transit_gateway_id\":\"tgw-xxxxxxxxxxxxxxxxx\",\"routes\":[\"100.64.0.0/10\",\"10.0.0.0/8\",\"192.168.0.0/16\",\"172.16.0.0/12\"]},\"environment\":{\"id\":\"env-00000\",\"environment\":\"string\"},\"network\":{\"id\":\"n-00000\",\"environment\":\"string\"}}}", ParameterType.RequestBody); + IRestResponse response = client.Execute(request); + '/networking/v1/transit-gateway-attachments/{id}': + get: + operationId: getNetworkingV1TransitGatewayAttachment + summary: Read a Transit Gateway Attachment + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + Make a request to read a transit gateway attachment. + parameters: + - name: environment + in: query + required: true + schema: + $ref: '#/components/schemas/SearchFilter' + example: env-00000 + description: Scope the operation to the given environment. + - name: id + in: path + required: true + schema: + type: string + description: The unique identifier for the transit gateway attachment. + tags: + - Transit Gateway Attachments (networking/v1) + security: + - cloud-api-key: [] + - confluent-sts-access-token: [] + responses: + '200': + description: Transit Gateway Attachment. + content: + application/json: + schema: + allOf: + - $ref: '#/components/schemas/networking.v1.TransitGatewayAttachment' + - type: object + required: + - api_version + - kind + - id + - spec + - status + properties: + spec: + type: object + required: + - cloud + - environment + - network + - type: object + properties: + spec: + type: object + properties: + environment: + example: + id: env-00000 + related: 'https://api.confluent.cloud/v2/environments/env-00000' + resource_name: 'https://api.confluent.cloud/organization=9bb441c4-edef-46ac-8a41-c49e44a3fd9a/environment=env-00000' + network: + example: + id: n-00000 + related: 'https://api.confluent.cloud/networking/v1/networks/n-00000' + resource_name: 'https://api.confluent.cloud/organization=9bb441c4-edef-46ac-8a41-c49e44a3fd9a/environment=env-abc123/network=n-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. + + **Important:** This differs from Github and Twitter's same-named header which uses UTC epoch seconds. We use relative time to avoid client/server time synchronization issues. + '400': + $ref: '#/components/responses/BadRequestError' + '401': + $ref: '#/components/responses/UnauthenticatedError' + '403': + $ref: '#/components/responses/UnauthorizedError' + '404': + $ref: '#/components/responses/NotFoundError' + '429': + $ref: '#/components/responses/RateLimitError' + '500': + $ref: '#/components/responses/DefaultSystemError' + x-codeSamples: + - lang: Shell + source: |- + curl --request GET \ + --url 'https://api.confluent.cloud/networking/v1/transit-gateway-attachments/{id}?environment=env-00000' \ + --header 'Authorization: Basic REPLACE_BASIC_AUTH' + - lang: Java + source: |- + OkHttpClient client = new OkHttpClient(); + + Request request = new Request.Builder() + .url("https://api.confluent.cloud/networking/v1/transit-gateway-attachments/{id}?environment=env-00000") + .get() + .addHeader("Authorization", "Basic REPLACE_BASIC_AUTH") + .build(); + + Response response = client.newCall(request).execute(); + - lang: Go + source: "package main\n\nimport (\n\t\"fmt\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.confluent.cloud/networking/v1/transit-gateway-attachments/{id}?environment=env-00000\"\n\n\treq, _ := http.NewRequest(\"GET\", url, nil)\n\n\treq.Header.Add(\"Authorization\", \"Basic REPLACE_BASIC_AUTH\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}" + - lang: Python + source: |- + import http.client + + conn = http.client.HTTPSConnection("api.confluent.cloud") + + headers = { 'Authorization': "Basic REPLACE_BASIC_AUTH" } + + conn.request("GET", "/networking/v1/transit-gateway-attachments/{id}?environment=env-00000", headers=headers) + + res = conn.getresponse() + data = res.read() + + print(data.decode("utf-8")) + - lang: Node + source: |- + const http = require("https"); + + const options = { + "method": "GET", + "hostname": "api.confluent.cloud", + "port": null, + "path": "/networking/v1/transit-gateway-attachments/{id}?environment=env-00000", + "headers": { + "Authorization": "Basic REPLACE_BASIC_AUTH" + } + }; + + const req = http.request(options, function (res) { + const chunks = []; + + res.on("data", function (chunk) { + chunks.push(chunk); + }); + + res.on("end", function () { + const body = Buffer.concat(chunks); + console.log(body.toString()); + }); + }); + + req.end(); + - lang: C + source: |- + CURL *hnd = curl_easy_init(); + + curl_easy_setopt(hnd, CURLOPT_CUSTOMREQUEST, "GET"); + curl_easy_setopt(hnd, CURLOPT_URL, "https://api.confluent.cloud/networking/v1/transit-gateway-attachments/{id}?environment=env-00000"); + + struct curl_slist *headers = NULL; + headers = curl_slist_append(headers, "Authorization: Basic REPLACE_BASIC_AUTH"); + curl_easy_setopt(hnd, CURLOPT_HTTPHEADER, headers); + + CURLcode ret = curl_easy_perform(hnd); + - lang: C# + source: |- + var client = new RestClient("https://api.confluent.cloud/networking/v1/transit-gateway-attachments/{id}?environment=env-00000"); + var request = new RestRequest(Method.GET); + request.AddHeader("Authorization", "Basic REPLACE_BASIC_AUTH"); + IRestResponse response = client.Execute(request); + patch: + operationId: updateNetworkingV1TransitGatewayAttachment + summary: Update a Transit Gateway Attachment + description: |+ + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + Make a request to update a transit gateway attachment. + + parameters: + - name: id + in: path + required: true + schema: + type: string + description: The unique identifier for the transit gateway attachment. + tags: + - Transit Gateway Attachments (networking/v1) + security: + - cloud-api-key: [] + - confluent-sts-access-token: [] + requestBody: + content: + application/json: + schema: + allOf: + - $ref: '#/components/schemas/networking.v1.TransitGatewayAttachmentUpdate' + - type: object + required: + - spec + properties: + spec: + type: object + required: + - environment + properties: + environment: + example: + id: env-00000 + responses: + '200': + description: Transit Gateway Attachment. + content: + application/json: + schema: + allOf: + - $ref: '#/components/schemas/networking.v1.TransitGatewayAttachment' + - type: object + required: + - api_version + - kind + - id + - spec + - status + properties: + spec: + type: object + required: + - cloud + - environment + - network + - type: object + properties: + spec: + type: object + properties: + environment: + example: + id: env-00000 + related: 'https://api.confluent.cloud/v2/environments/env-00000' + resource_name: 'https://api.confluent.cloud/organization=9bb441c4-edef-46ac-8a41-c49e44a3fd9a/environment=env-00000' + network: + example: + id: n-00000 + related: 'https://api.confluent.cloud/networking/v1/networks/n-00000' + resource_name: 'https://api.confluent.cloud/organization=9bb441c4-edef-46ac-8a41-c49e44a3fd9a/environment=env-abc123/network=n-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. + + **Important:** This differs from Github and Twitter's same-named header which uses UTC epoch seconds. We use relative time to avoid client/server time synchronization issues. + '400': + $ref: '#/components/responses/BadRequestError' + '401': + $ref: '#/components/responses/UnauthenticatedError' + '402': + $ref: '#/components/responses/OverQuotaError' + '403': + $ref: '#/components/responses/UnauthorizedError' + '404': + $ref: '#/components/responses/NotFoundError' + '409': + $ref: '#/components/responses/ConflictError' + '422': + $ref: '#/components/responses/ValidationError' + '429': + $ref: '#/components/responses/RateLimitError' + '500': + $ref: '#/components/responses/DefaultSystemError' + x-codeSamples: + - lang: Shell + source: |- + curl --request PATCH \ + --url 'https://api.confluent.cloud/networking/v1/transit-gateway-attachments/{id}' \ + --header 'Authorization: Basic REPLACE_BASIC_AUTH' \ + --header 'content-type: application/json' \ + --data '{"spec":{"display_name":"prod-tgw-use1","cloud":{"kind":"AwsTransitGatewayAttachment","ram_share_arn":"arn:aws:ram:us-west-3:000000000000:resource-share/xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxx","transit_gateway_id":"tgw-xxxxxxxxxxxxxxxxx","routes":["100.64.0.0/10","10.0.0.0/8","192.168.0.0/16","172.16.0.0/12"]},"environment":{"id":"env-00000","environment":"string"},"network":{"id":"string","environment":"string"}}}' + - lang: Java + source: |- + OkHttpClient client = new OkHttpClient(); + + MediaType mediaType = MediaType.parse("application/json"); + RequestBody body = RequestBody.create(mediaType, "{\"spec\":{\"display_name\":\"prod-tgw-use1\",\"cloud\":{\"kind\":\"AwsTransitGatewayAttachment\",\"ram_share_arn\":\"arn:aws:ram:us-west-3:000000000000:resource-share/xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxx\",\"transit_gateway_id\":\"tgw-xxxxxxxxxxxxxxxxx\",\"routes\":[\"100.64.0.0/10\",\"10.0.0.0/8\",\"192.168.0.0/16\",\"172.16.0.0/12\"]},\"environment\":{\"id\":\"env-00000\",\"environment\":\"string\"},\"network\":{\"id\":\"string\",\"environment\":\"string\"}}}"); + Request request = new Request.Builder() + .url("https://api.confluent.cloud/networking/v1/transit-gateway-attachments/{id}") + .patch(body) + .addHeader("content-type", "application/json") + .addHeader("Authorization", "Basic REPLACE_BASIC_AUTH") + .build(); + + Response response = client.newCall(request).execute(); + - lang: Go + source: "package main\n\nimport (\n\t\"fmt\"\n\t\"strings\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.confluent.cloud/networking/v1/transit-gateway-attachments/{id}\"\n\n\tpayload := strings.NewReader(\"{\\\"spec\\\":{\\\"display_name\\\":\\\"prod-tgw-use1\\\",\\\"cloud\\\":{\\\"kind\\\":\\\"AwsTransitGatewayAttachment\\\",\\\"ram_share_arn\\\":\\\"arn:aws:ram:us-west-3:000000000000:resource-share/xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxx\\\",\\\"transit_gateway_id\\\":\\\"tgw-xxxxxxxxxxxxxxxxx\\\",\\\"routes\\\":[\\\"100.64.0.0/10\\\",\\\"10.0.0.0/8\\\",\\\"192.168.0.0/16\\\",\\\"172.16.0.0/12\\\"]},\\\"environment\\\":{\\\"id\\\":\\\"env-00000\\\",\\\"environment\\\":\\\"string\\\"},\\\"network\\\":{\\\"id\\\":\\\"string\\\",\\\"environment\\\":\\\"string\\\"}}}\")\n\n\treq, _ := http.NewRequest(\"PATCH\", url, payload)\n\n\treq.Header.Add(\"content-type\", \"application/json\")\n\treq.Header.Add(\"Authorization\", \"Basic REPLACE_BASIC_AUTH\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}" + - lang: Python + source: |- + import http.client + + conn = http.client.HTTPSConnection("api.confluent.cloud") + + payload = "{\"spec\":{\"display_name\":\"prod-tgw-use1\",\"cloud\":{\"kind\":\"AwsTransitGatewayAttachment\",\"ram_share_arn\":\"arn:aws:ram:us-west-3:000000000000:resource-share/xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxx\",\"transit_gateway_id\":\"tgw-xxxxxxxxxxxxxxxxx\",\"routes\":[\"100.64.0.0/10\",\"10.0.0.0/8\",\"192.168.0.0/16\",\"172.16.0.0/12\"]},\"environment\":{\"id\":\"env-00000\",\"environment\":\"string\"},\"network\":{\"id\":\"string\",\"environment\":\"string\"}}}" + + headers = { + 'content-type': "application/json", + 'Authorization': "Basic REPLACE_BASIC_AUTH" + } + + conn.request("PATCH", "/networking/v1/transit-gateway-attachments/{id}", payload, headers) + + res = conn.getresponse() + data = res.read() + + print(data.decode("utf-8")) + - lang: Node + source: |- + const http = require("https"); + + const options = { + "method": "PATCH", + "hostname": "api.confluent.cloud", + "port": null, + "path": "/networking/v1/transit-gateway-attachments/{id}", + "headers": { + "content-type": "application/json", + "Authorization": "Basic REPLACE_BASIC_AUTH" + } + }; + + const req = http.request(options, function (res) { + const chunks = []; + + res.on("data", function (chunk) { + chunks.push(chunk); + }); + + res.on("end", function () { + const body = Buffer.concat(chunks); + console.log(body.toString()); + }); + }); + + req.write(JSON.stringify({ + spec: { + display_name: 'prod-tgw-use1', + cloud: { + kind: 'AwsTransitGatewayAttachment', + ram_share_arn: 'arn:aws:ram:us-west-3:000000000000:resource-share/xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxx', + transit_gateway_id: 'tgw-xxxxxxxxxxxxxxxxx', + routes: ['100.64.0.0/10', '10.0.0.0/8', '192.168.0.0/16', '172.16.0.0/12'] + }, + environment: {id: 'env-00000', environment: 'string'}, + network: {id: 'string', environment: 'string'} + } + })); + req.end(); + - lang: C + source: |- + CURL *hnd = curl_easy_init(); + + curl_easy_setopt(hnd, CURLOPT_CUSTOMREQUEST, "PATCH"); + curl_easy_setopt(hnd, CURLOPT_URL, "https://api.confluent.cloud/networking/v1/transit-gateway-attachments/{id}"); + + struct curl_slist *headers = NULL; + headers = curl_slist_append(headers, "content-type: application/json"); + headers = curl_slist_append(headers, "Authorization: Basic REPLACE_BASIC_AUTH"); + curl_easy_setopt(hnd, CURLOPT_HTTPHEADER, headers); + + curl_easy_setopt(hnd, CURLOPT_POSTFIELDS, "{\"spec\":{\"display_name\":\"prod-tgw-use1\",\"cloud\":{\"kind\":\"AwsTransitGatewayAttachment\",\"ram_share_arn\":\"arn:aws:ram:us-west-3:000000000000:resource-share/xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxx\",\"transit_gateway_id\":\"tgw-xxxxxxxxxxxxxxxxx\",\"routes\":[\"100.64.0.0/10\",\"10.0.0.0/8\",\"192.168.0.0/16\",\"172.16.0.0/12\"]},\"environment\":{\"id\":\"env-00000\",\"environment\":\"string\"},\"network\":{\"id\":\"string\",\"environment\":\"string\"}}}"); + + CURLcode ret = curl_easy_perform(hnd); + - lang: C# + source: |- + var client = new RestClient("https://api.confluent.cloud/networking/v1/transit-gateway-attachments/{id}"); + var request = new RestRequest(Method.PATCH); + request.AddHeader("content-type", "application/json"); + request.AddHeader("Authorization", "Basic REPLACE_BASIC_AUTH"); + request.AddParameter("application/json", "{\"spec\":{\"display_name\":\"prod-tgw-use1\",\"cloud\":{\"kind\":\"AwsTransitGatewayAttachment\",\"ram_share_arn\":\"arn:aws:ram:us-west-3:000000000000:resource-share/xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxx\",\"transit_gateway_id\":\"tgw-xxxxxxxxxxxxxxxxx\",\"routes\":[\"100.64.0.0/10\",\"10.0.0.0/8\",\"192.168.0.0/16\",\"172.16.0.0/12\"]},\"environment\":{\"id\":\"env-00000\",\"environment\":\"string\"},\"network\":{\"id\":\"string\",\"environment\":\"string\"}}}", ParameterType.RequestBody); + IRestResponse response = client.Execute(request); + delete: + operationId: deleteNetworkingV1TransitGatewayAttachment + summary: Delete a Transit Gateway Attachment + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + Make a request to delete a transit gateway attachment. + parameters: + - name: environment + in: query + required: true + schema: + $ref: '#/components/schemas/SearchFilter' + example: env-00000 + description: Scope the operation to the given environment. + - name: id + in: path + required: true + schema: + type: string + description: The unique identifier for the transit gateway attachment. + tags: + - Transit Gateway Attachments (networking/v1) + security: + - cloud-api-key: [] + - confluent-sts-access-token: [] + responses: + '204': + description: A Transit Gateway Attachment is being deleted. + headers: + X-Request-Id: + schema: + type: string + description: The unique identifier for the API request. + X-RateLimit-Limit: + schema: + type: integer + description: The maximum number of requests you're permitted to make per time period. + X-RateLimit-Remaining: + schema: + type: integer + description: The number of requests remaining in the current rate limit window. + X-RateLimit-Reset: + schema: + type: integer + description: |- + The relative time in seconds until the current rate-limit window resets. + + **Important:** This differs from Github and Twitter's same-named header which uses UTC epoch seconds. We use relative time to avoid client/server time synchronization issues. + '400': + $ref: '#/components/responses/BadRequestError' + '401': + $ref: '#/components/responses/UnauthenticatedError' + '403': + $ref: '#/components/responses/UnauthorizedError' + '404': + $ref: '#/components/responses/NotFoundError' + '429': + $ref: '#/components/responses/RateLimitError' + '500': + $ref: '#/components/responses/DefaultSystemError' + x-codeSamples: + - lang: Shell + source: |- + curl --request DELETE \ + --url 'https://api.confluent.cloud/networking/v1/transit-gateway-attachments/{id}?environment=env-00000' \ + --header 'Authorization: Basic REPLACE_BASIC_AUTH' + - lang: Java + source: |- + OkHttpClient client = new OkHttpClient(); + + Request request = new Request.Builder() + .url("https://api.confluent.cloud/networking/v1/transit-gateway-attachments/{id}?environment=env-00000") + .delete(null) + .addHeader("Authorization", "Basic REPLACE_BASIC_AUTH") + .build(); + + Response response = client.newCall(request).execute(); + - lang: Go + source: "package main\n\nimport (\n\t\"fmt\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.confluent.cloud/networking/v1/transit-gateway-attachments/{id}?environment=env-00000\"\n\n\treq, _ := http.NewRequest(\"DELETE\", url, nil)\n\n\treq.Header.Add(\"Authorization\", \"Basic REPLACE_BASIC_AUTH\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}" + - lang: Python + source: |- + import http.client + + conn = http.client.HTTPSConnection("api.confluent.cloud") + + headers = { 'Authorization': "Basic REPLACE_BASIC_AUTH" } + + conn.request("DELETE", "/networking/v1/transit-gateway-attachments/{id}?environment=env-00000", headers=headers) + + res = conn.getresponse() + data = res.read() + + print(data.decode("utf-8")) + - lang: Node + source: |- + const http = require("https"); + + const options = { + "method": "DELETE", + "hostname": "api.confluent.cloud", + "port": null, + "path": "/networking/v1/transit-gateway-attachments/{id}?environment=env-00000", + "headers": { + "Authorization": "Basic REPLACE_BASIC_AUTH" + } + }; + + const req = http.request(options, function (res) { + const chunks = []; + + res.on("data", function (chunk) { + chunks.push(chunk); + }); + + res.on("end", function () { + const body = Buffer.concat(chunks); + console.log(body.toString()); + }); + }); + + req.end(); + - lang: C + source: |- + CURL *hnd = curl_easy_init(); + + curl_easy_setopt(hnd, CURLOPT_CUSTOMREQUEST, "DELETE"); + curl_easy_setopt(hnd, CURLOPT_URL, "https://api.confluent.cloud/networking/v1/transit-gateway-attachments/{id}?environment=env-00000"); + + struct curl_slist *headers = NULL; + headers = curl_slist_append(headers, "Authorization: Basic REPLACE_BASIC_AUTH"); + curl_easy_setopt(hnd, CURLOPT_HTTPHEADER, headers); + + CURLcode ret = curl_easy_perform(hnd); + - lang: C# + source: |- + var client = new RestClient("https://api.confluent.cloud/networking/v1/transit-gateway-attachments/{id}?environment=env-00000"); + var request = new RestRequest(Method.DELETE); + request.AddHeader("Authorization", "Basic REPLACE_BASIC_AUTH"); + IRestResponse response = client.Execute(request); + /networking/v1/private-link-accesses: + get: + operationId: listNetworkingV1PrivateLinkAccesses + summary: List of Private Link Accesses + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + Retrieve a sorted, filtered, paginated list of all private link accesses. + parameters: + - name: spec.display_name + in: query + required: false + schema: + $ref: '#/components/schemas/MultipleSearchFilter' + example: + - prod-pl-use1 + - prod-pl-usw2 + description: Filter the results by exact match for spec.display_name. Pass multiple times to see results matching any of the values. + style: form + explode: true + - name: status.phase + in: query + required: false + schema: + $ref: '#/components/schemas/MultipleSearchFilter' + example: + - PROVISIONING + - READY + description: Filter the results by exact match for status.phase. Pass multiple times to see results matching any of the values. + style: form + explode: true + - name: environment + in: query + required: true + schema: + $ref: '#/components/schemas/SearchFilter' + example: env-00000 + description: Filter the results by exact match for environment. + - name: spec.network + in: query + required: false + schema: + $ref: '#/components/schemas/MultipleSearchFilter' + example: + - n-00000 + - n-00001 + description: Filter the results by exact match for spec.network. Pass multiple times to see results matching any of the values. + style: form + explode: true + - name: page_size + in: query + required: false + schema: + type: integer + default: 10 + maximum: 1000 + x-max-page-items: 1000 + 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: + - Private Link Accesses (networking/v1) + security: + - cloud-api-key: [] + - confluent-sts-access-token: [] + responses: + '200': + description: Private Link Access. + content: + application/json: + schema: + allOf: + - $ref: '#/components/schemas/networking.v1.PrivateLinkAccessList' + - type: object + properties: + data: + type: array + items: + properties: + spec: + type: object + properties: + environment: + example: + id: env-00000 + related: 'https://api.confluent.cloud/v2/environments/env-00000' + resource_name: 'https://api.confluent.cloud/organization=9bb441c4-edef-46ac-8a41-c49e44a3fd9a/environment=env-00000' + network: + example: + id: n-00000 + related: 'https://api.confluent.cloud/networking/v1/networks/n-00000' + resource_name: 'https://api.confluent.cloud/organization=9bb441c4-edef-46ac-8a41-c49e44a3fd9a/environment=env-abc123/network=n-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. + + **Important:** This differs from Github and Twitter's same-named header which uses UTC epoch seconds. We use relative time to avoid client/server time synchronization issues. + '400': + $ref: '#/components/responses/BadRequestError' + '401': + $ref: '#/components/responses/UnauthenticatedError' + '403': + $ref: '#/components/responses/UnauthorizedError' + '429': + $ref: '#/components/responses/RateLimitError' + '500': + $ref: '#/components/responses/DefaultSystemError' + x-codeSamples: + - lang: Shell + source: |- + curl --request GET \ + --url 'https://api.confluent.cloud/networking/v1/private-link-accesses?spec.display_name=prod-pl-use1,prod-pl-usw2&status.phase=PROVISIONING,READY&environment=env-00000&spec.network=n-00000,n-00001' \ + --header 'Authorization: Basic REPLACE_BASIC_AUTH' + - lang: Java + source: |- + OkHttpClient client = new OkHttpClient(); + + Request request = new Request.Builder() + .url("https://api.confluent.cloud/networking/v1/private-link-accesses?spec.display_name=prod-pl-use1,prod-pl-usw2&status.phase=PROVISIONING,READY&environment=env-00000&spec.network=n-00000,n-00001") + .get() + .addHeader("Authorization", "Basic REPLACE_BASIC_AUTH") + .build(); + + Response response = client.newCall(request).execute(); + - lang: Go + source: "package main\n\nimport (\n\t\"fmt\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.confluent.cloud/networking/v1/private-link-accesses?spec.display_name=prod-pl-use1,prod-pl-usw2&status.phase=PROVISIONING,READY&environment=env-00000&spec.network=n-00000,n-00001\"\n\n\treq, _ := http.NewRequest(\"GET\", url, nil)\n\n\treq.Header.Add(\"Authorization\", \"Basic REPLACE_BASIC_AUTH\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}" + - lang: Python + source: |- + import http.client + + conn = http.client.HTTPSConnection("api.confluent.cloud") + + headers = { 'Authorization': "Basic REPLACE_BASIC_AUTH" } + + conn.request("GET", "/networking/v1/private-link-accesses?spec.display_name=prod-pl-use1,prod-pl-usw2&status.phase=PROVISIONING,READY&environment=env-00000&spec.network=n-00000,n-00001", headers=headers) + + res = conn.getresponse() + data = res.read() + + print(data.decode("utf-8")) + - lang: Node + source: |- + const http = require("https"); + + const options = { + "method": "GET", + "hostname": "api.confluent.cloud", + "port": null, + "path": "/networking/v1/private-link-accesses?spec.display_name=prod-pl-use1,prod-pl-usw2&status.phase=PROVISIONING,READY&environment=env-00000&spec.network=n-00000,n-00001", + "headers": { + "Authorization": "Basic REPLACE_BASIC_AUTH" + } + }; + + const req = http.request(options, function (res) { + const chunks = []; + + res.on("data", function (chunk) { + chunks.push(chunk); + }); + + res.on("end", function () { + const body = Buffer.concat(chunks); + console.log(body.toString()); + }); + }); + + req.end(); + - lang: C + source: |- + CURL *hnd = curl_easy_init(); + + curl_easy_setopt(hnd, CURLOPT_CUSTOMREQUEST, "GET"); + curl_easy_setopt(hnd, CURLOPT_URL, "https://api.confluent.cloud/networking/v1/private-link-accesses?spec.display_name=prod-pl-use1,prod-pl-usw2&status.phase=PROVISIONING,READY&environment=env-00000&spec.network=n-00000,n-00001"); + + struct curl_slist *headers = NULL; + headers = curl_slist_append(headers, "Authorization: Basic REPLACE_BASIC_AUTH"); + curl_easy_setopt(hnd, CURLOPT_HTTPHEADER, headers); + + CURLcode ret = curl_easy_perform(hnd); + - lang: C# + source: |- + var client = new RestClient("https://api.confluent.cloud/networking/v1/private-link-accesses?spec.display_name=prod-pl-use1,prod-pl-usw2&status.phase=PROVISIONING,READY&environment=env-00000&spec.network=n-00000,n-00001"); + var request = new RestRequest(Method.GET); + request.AddHeader("Authorization", "Basic REPLACE_BASIC_AUTH"); + IRestResponse response = client.Execute(request); + post: + operationId: createNetworkingV1PrivateLinkAccess + summary: Create a Private Link Access + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + Make a request to create a private link access. + tags: + - Private Link Accesses (networking/v1) + security: + - cloud-api-key: [] + - confluent-sts-access-token: [] + requestBody: + content: + application/json: + schema: + allOf: + - $ref: '#/components/schemas/networking.v1.PrivateLinkAccess' + - type: object + required: + - spec + properties: + spec: + type: object + required: + - cloud + - environment + - network + - type: object + properties: + spec: + type: object + properties: + environment: + example: + id: env-00000 + network: + example: + id: n-00000 + responses: + '202': + description: A Private Link Access is being created. + headers: + X-Request-Id: + schema: + type: string + description: The unique identifier for the API request. + X-RateLimit-Limit: + schema: + type: integer + description: The maximum number of requests you're permitted to make per time period. + X-RateLimit-Remaining: + schema: + type: integer + description: The number of requests remaining in the current rate limit window. + X-RateLimit-Reset: + schema: + type: integer + description: |- + The relative time in seconds until the current rate-limit window resets. + + **Important:** This differs from Github and Twitter's same-named header which uses UTC epoch seconds. We use relative time to avoid client/server time synchronization issues. + Location: + schema: + type: string + format: uri + example: 'https://api.confluent.cloud/networking/v1/private-link-accesses/{id}' + description: PrivateLinkAccess resource uri + content: + application/json: + schema: + allOf: + - $ref: '#/components/schemas/networking.v1.PrivateLinkAccess' + - type: object + required: + - spec + - status + properties: + spec: + type: object + required: + - cloud + - environment + - network + - type: object + properties: + spec: + type: object + properties: + environment: + example: + id: env-00000 + related: 'https://api.confluent.cloud/v2/environments/env-00000' + resource_name: 'https://api.confluent.cloud/organization=9bb441c4-edef-46ac-8a41-c49e44a3fd9a/environment=env-00000' + network: + example: + id: n-00000 + related: 'https://api.confluent.cloud/networking/v1/networks/n-00000' + resource_name: 'https://api.confluent.cloud/organization=9bb441c4-edef-46ac-8a41-c49e44a3fd9a/environment=env-abc123/network=n-00000' + '400': + $ref: '#/components/responses/BadRequestError' + '401': + $ref: '#/components/responses/UnauthenticatedError' + '402': + $ref: '#/components/responses/OverQuotaError' + '403': + $ref: '#/components/responses/UnauthorizedError' + '409': + $ref: '#/components/responses/ConflictError' + '422': + $ref: '#/components/responses/ValidationError' + '429': + $ref: '#/components/responses/RateLimitError' + '500': + $ref: '#/components/responses/DefaultSystemError' + x-codeSamples: + - lang: Shell + source: |- + curl --request POST \ + --url https://api.confluent.cloud/networking/v1/private-link-accesses \ + --header 'Authorization: Basic REPLACE_BASIC_AUTH' \ + --header 'content-type: application/json' \ + --data '{"spec":{"display_name":"prod-pl-use1","cloud":{"kind":"AwsPrivateLinkAccess","account":"000000000000"},"environment":{"id":"env-00000","environment":"string"},"network":{"id":"n-00000","environment":"string"}}}' + - lang: Java + source: |- + OkHttpClient client = new OkHttpClient(); + + MediaType mediaType = MediaType.parse("application/json"); + RequestBody body = RequestBody.create(mediaType, "{\"spec\":{\"display_name\":\"prod-pl-use1\",\"cloud\":{\"kind\":\"AwsPrivateLinkAccess\",\"account\":\"000000000000\"},\"environment\":{\"id\":\"env-00000\",\"environment\":\"string\"},\"network\":{\"id\":\"n-00000\",\"environment\":\"string\"}}}"); + Request request = new Request.Builder() + .url("https://api.confluent.cloud/networking/v1/private-link-accesses") + .post(body) + .addHeader("content-type", "application/json") + .addHeader("Authorization", "Basic REPLACE_BASIC_AUTH") + .build(); + + Response response = client.newCall(request).execute(); + - lang: Go + source: "package main\n\nimport (\n\t\"fmt\"\n\t\"strings\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.confluent.cloud/networking/v1/private-link-accesses\"\n\n\tpayload := strings.NewReader(\"{\\\"spec\\\":{\\\"display_name\\\":\\\"prod-pl-use1\\\",\\\"cloud\\\":{\\\"kind\\\":\\\"AwsPrivateLinkAccess\\\",\\\"account\\\":\\\"000000000000\\\"},\\\"environment\\\":{\\\"id\\\":\\\"env-00000\\\",\\\"environment\\\":\\\"string\\\"},\\\"network\\\":{\\\"id\\\":\\\"n-00000\\\",\\\"environment\\\":\\\"string\\\"}}}\")\n\n\treq, _ := http.NewRequest(\"POST\", url, payload)\n\n\treq.Header.Add(\"content-type\", \"application/json\")\n\treq.Header.Add(\"Authorization\", \"Basic REPLACE_BASIC_AUTH\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}" + - lang: Python + source: |- + import http.client + + conn = http.client.HTTPSConnection("api.confluent.cloud") + + payload = "{\"spec\":{\"display_name\":\"prod-pl-use1\",\"cloud\":{\"kind\":\"AwsPrivateLinkAccess\",\"account\":\"000000000000\"},\"environment\":{\"id\":\"env-00000\",\"environment\":\"string\"},\"network\":{\"id\":\"n-00000\",\"environment\":\"string\"}}}" + + headers = { + 'content-type': "application/json", + 'Authorization': "Basic REPLACE_BASIC_AUTH" + } + + conn.request("POST", "/networking/v1/private-link-accesses", payload, headers) + + res = conn.getresponse() + data = res.read() + + print(data.decode("utf-8")) + - lang: Node + source: |- + const http = require("https"); + + const options = { + "method": "POST", + "hostname": "api.confluent.cloud", + "port": null, + "path": "/networking/v1/private-link-accesses", + "headers": { + "content-type": "application/json", + "Authorization": "Basic REPLACE_BASIC_AUTH" + } + }; + + const req = http.request(options, function (res) { + const chunks = []; + + res.on("data", function (chunk) { + chunks.push(chunk); + }); + + res.on("end", function () { + const body = Buffer.concat(chunks); + console.log(body.toString()); + }); + }); + + req.write(JSON.stringify({ + spec: { + display_name: 'prod-pl-use1', + cloud: {kind: 'AwsPrivateLinkAccess', account: '000000000000'}, + environment: {id: 'env-00000', environment: 'string'}, + network: {id: 'n-00000', environment: 'string'} + } + })); + req.end(); + - lang: C + source: |- + CURL *hnd = curl_easy_init(); + + curl_easy_setopt(hnd, CURLOPT_CUSTOMREQUEST, "POST"); + curl_easy_setopt(hnd, CURLOPT_URL, "https://api.confluent.cloud/networking/v1/private-link-accesses"); + + struct curl_slist *headers = NULL; + headers = curl_slist_append(headers, "content-type: application/json"); + headers = curl_slist_append(headers, "Authorization: Basic REPLACE_BASIC_AUTH"); + curl_easy_setopt(hnd, CURLOPT_HTTPHEADER, headers); + + curl_easy_setopt(hnd, CURLOPT_POSTFIELDS, "{\"spec\":{\"display_name\":\"prod-pl-use1\",\"cloud\":{\"kind\":\"AwsPrivateLinkAccess\",\"account\":\"000000000000\"},\"environment\":{\"id\":\"env-00000\",\"environment\":\"string\"},\"network\":{\"id\":\"n-00000\",\"environment\":\"string\"}}}"); + + CURLcode ret = curl_easy_perform(hnd); + - lang: C# + source: |- + var client = new RestClient("https://api.confluent.cloud/networking/v1/private-link-accesses"); + var request = new RestRequest(Method.POST); + request.AddHeader("content-type", "application/json"); + request.AddHeader("Authorization", "Basic REPLACE_BASIC_AUTH"); + request.AddParameter("application/json", "{\"spec\":{\"display_name\":\"prod-pl-use1\",\"cloud\":{\"kind\":\"AwsPrivateLinkAccess\",\"account\":\"000000000000\"},\"environment\":{\"id\":\"env-00000\",\"environment\":\"string\"},\"network\":{\"id\":\"n-00000\",\"environment\":\"string\"}}}", ParameterType.RequestBody); + IRestResponse response = client.Execute(request); + '/networking/v1/private-link-accesses/{id}': + get: + operationId: getNetworkingV1PrivateLinkAccess + summary: Read a Private Link Access + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + Make a request to read a private link access. + parameters: + - name: environment + in: query + required: true + schema: + $ref: '#/components/schemas/SearchFilter' + example: env-00000 + description: Scope the operation to the given environment. + - name: id + in: path + required: true + schema: + type: string + description: The unique identifier for the private link access. + tags: + - Private Link Accesses (networking/v1) + security: + - cloud-api-key: [] + - confluent-sts-access-token: [] + responses: + '200': + description: Private Link Access. + content: + application/json: + schema: + allOf: + - $ref: '#/components/schemas/networking.v1.PrivateLinkAccess' + - type: object + required: + - api_version + - kind + - id + - spec + - status + properties: + spec: + type: object + required: + - cloud + - environment + - network + - type: object + properties: + spec: + type: object + properties: + environment: + example: + id: env-00000 + related: 'https://api.confluent.cloud/v2/environments/env-00000' + resource_name: 'https://api.confluent.cloud/organization=9bb441c4-edef-46ac-8a41-c49e44a3fd9a/environment=env-00000' + network: + example: + id: n-00000 + related: 'https://api.confluent.cloud/networking/v1/networks/n-00000' + resource_name: 'https://api.confluent.cloud/organization=9bb441c4-edef-46ac-8a41-c49e44a3fd9a/environment=env-abc123/network=n-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. + + **Important:** This differs from Github and Twitter's same-named header which uses UTC epoch seconds. We use relative time to avoid client/server time synchronization issues. + '400': + $ref: '#/components/responses/BadRequestError' + '401': + $ref: '#/components/responses/UnauthenticatedError' + '403': + $ref: '#/components/responses/UnauthorizedError' + '404': + $ref: '#/components/responses/NotFoundError' + '429': + $ref: '#/components/responses/RateLimitError' + '500': + $ref: '#/components/responses/DefaultSystemError' + x-codeSamples: + - lang: Shell + source: |- + curl --request GET \ + --url 'https://api.confluent.cloud/networking/v1/private-link-accesses/{id}?environment=env-00000' \ + --header 'Authorization: Basic REPLACE_BASIC_AUTH' + - lang: Java + source: |- + OkHttpClient client = new OkHttpClient(); + + Request request = new Request.Builder() + .url("https://api.confluent.cloud/networking/v1/private-link-accesses/{id}?environment=env-00000") + .get() + .addHeader("Authorization", "Basic REPLACE_BASIC_AUTH") + .build(); + + Response response = client.newCall(request).execute(); + - lang: Go + source: "package main\n\nimport (\n\t\"fmt\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.confluent.cloud/networking/v1/private-link-accesses/{id}?environment=env-00000\"\n\n\treq, _ := http.NewRequest(\"GET\", url, nil)\n\n\treq.Header.Add(\"Authorization\", \"Basic REPLACE_BASIC_AUTH\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}" + - lang: Python + source: |- + import http.client + + conn = http.client.HTTPSConnection("api.confluent.cloud") + + headers = { 'Authorization': "Basic REPLACE_BASIC_AUTH" } + + conn.request("GET", "/networking/v1/private-link-accesses/{id}?environment=env-00000", headers=headers) + + res = conn.getresponse() + data = res.read() + + print(data.decode("utf-8")) + - lang: Node + source: |- + const http = require("https"); + + const options = { + "method": "GET", + "hostname": "api.confluent.cloud", + "port": null, + "path": "/networking/v1/private-link-accesses/{id}?environment=env-00000", + "headers": { + "Authorization": "Basic REPLACE_BASIC_AUTH" + } + }; + + const req = http.request(options, function (res) { + const chunks = []; + + res.on("data", function (chunk) { + chunks.push(chunk); + }); + + res.on("end", function () { + const body = Buffer.concat(chunks); + console.log(body.toString()); + }); + }); + + req.end(); + - lang: C + source: |- + CURL *hnd = curl_easy_init(); + + curl_easy_setopt(hnd, CURLOPT_CUSTOMREQUEST, "GET"); + curl_easy_setopt(hnd, CURLOPT_URL, "https://api.confluent.cloud/networking/v1/private-link-accesses/{id}?environment=env-00000"); + + struct curl_slist *headers = NULL; + headers = curl_slist_append(headers, "Authorization: Basic REPLACE_BASIC_AUTH"); + curl_easy_setopt(hnd, CURLOPT_HTTPHEADER, headers); + + CURLcode ret = curl_easy_perform(hnd); + - lang: C# + source: |- + var client = new RestClient("https://api.confluent.cloud/networking/v1/private-link-accesses/{id}?environment=env-00000"); + var request = new RestRequest(Method.GET); + request.AddHeader("Authorization", "Basic REPLACE_BASIC_AUTH"); + IRestResponse response = client.Execute(request); + patch: + operationId: updateNetworkingV1PrivateLinkAccess + summary: Update a Private Link Access + description: |+ + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + Make a request to update a private link access. + + parameters: + - name: id + in: path + required: true + schema: + type: string + description: The unique identifier for the private link access. + tags: + - Private Link Accesses (networking/v1) + security: + - cloud-api-key: [] + - confluent-sts-access-token: [] + requestBody: + content: + application/json: + schema: + allOf: + - $ref: '#/components/schemas/networking.v1.PrivateLinkAccessUpdate' + - type: object + required: + - spec + properties: + spec: + type: object + required: + - environment + properties: + environment: + example: + id: env-00000 + responses: + '200': + description: Private Link Access. + content: + application/json: + schema: + allOf: + - $ref: '#/components/schemas/networking.v1.PrivateLinkAccess' + - type: object + required: + - api_version + - kind + - id + - spec + - status + properties: + spec: + type: object + required: + - cloud + - environment + - network + - type: object + properties: + spec: + type: object + properties: + environment: + example: + id: env-00000 + related: 'https://api.confluent.cloud/v2/environments/env-00000' + resource_name: 'https://api.confluent.cloud/organization=9bb441c4-edef-46ac-8a41-c49e44a3fd9a/environment=env-00000' + network: + example: + id: n-00000 + related: 'https://api.confluent.cloud/networking/v1/networks/n-00000' + resource_name: 'https://api.confluent.cloud/organization=9bb441c4-edef-46ac-8a41-c49e44a3fd9a/environment=env-abc123/network=n-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. + + **Important:** This differs from Github and Twitter's same-named header which uses UTC epoch seconds. We use relative time to avoid client/server time synchronization issues. + '400': + $ref: '#/components/responses/BadRequestError' + '401': + $ref: '#/components/responses/UnauthenticatedError' + '402': + $ref: '#/components/responses/OverQuotaError' + '403': + $ref: '#/components/responses/UnauthorizedError' + '404': + $ref: '#/components/responses/NotFoundError' + '409': + $ref: '#/components/responses/ConflictError' + '422': + $ref: '#/components/responses/ValidationError' + '429': + $ref: '#/components/responses/RateLimitError' + '500': + $ref: '#/components/responses/DefaultSystemError' + x-codeSamples: + - lang: Shell + source: |- + curl --request PATCH \ + --url 'https://api.confluent.cloud/networking/v1/private-link-accesses/{id}' \ + --header 'Authorization: Basic REPLACE_BASIC_AUTH' \ + --header 'content-type: application/json' \ + --data '{"spec":{"display_name":"prod-pl-use1","cloud":{"kind":"AwsPrivateLinkAccess","account":"000000000000"},"environment":{"id":"env-00000","environment":"string"},"network":{"id":"string","environment":"string"}}}' + - lang: Java + source: |- + OkHttpClient client = new OkHttpClient(); + + MediaType mediaType = MediaType.parse("application/json"); + RequestBody body = RequestBody.create(mediaType, "{\"spec\":{\"display_name\":\"prod-pl-use1\",\"cloud\":{\"kind\":\"AwsPrivateLinkAccess\",\"account\":\"000000000000\"},\"environment\":{\"id\":\"env-00000\",\"environment\":\"string\"},\"network\":{\"id\":\"string\",\"environment\":\"string\"}}}"); + Request request = new Request.Builder() + .url("https://api.confluent.cloud/networking/v1/private-link-accesses/{id}") + .patch(body) + .addHeader("content-type", "application/json") + .addHeader("Authorization", "Basic REPLACE_BASIC_AUTH") + .build(); + + Response response = client.newCall(request).execute(); + - lang: Go + source: "package main\n\nimport (\n\t\"fmt\"\n\t\"strings\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.confluent.cloud/networking/v1/private-link-accesses/{id}\"\n\n\tpayload := strings.NewReader(\"{\\\"spec\\\":{\\\"display_name\\\":\\\"prod-pl-use1\\\",\\\"cloud\\\":{\\\"kind\\\":\\\"AwsPrivateLinkAccess\\\",\\\"account\\\":\\\"000000000000\\\"},\\\"environment\\\":{\\\"id\\\":\\\"env-00000\\\",\\\"environment\\\":\\\"string\\\"},\\\"network\\\":{\\\"id\\\":\\\"string\\\",\\\"environment\\\":\\\"string\\\"}}}\")\n\n\treq, _ := http.NewRequest(\"PATCH\", url, payload)\n\n\treq.Header.Add(\"content-type\", \"application/json\")\n\treq.Header.Add(\"Authorization\", \"Basic REPLACE_BASIC_AUTH\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}" + - lang: Python + source: |- + import http.client + + conn = http.client.HTTPSConnection("api.confluent.cloud") + + payload = "{\"spec\":{\"display_name\":\"prod-pl-use1\",\"cloud\":{\"kind\":\"AwsPrivateLinkAccess\",\"account\":\"000000000000\"},\"environment\":{\"id\":\"env-00000\",\"environment\":\"string\"},\"network\":{\"id\":\"string\",\"environment\":\"string\"}}}" + + headers = { + 'content-type': "application/json", + 'Authorization': "Basic REPLACE_BASIC_AUTH" + } + + conn.request("PATCH", "/networking/v1/private-link-accesses/{id}", payload, headers) + + res = conn.getresponse() + data = res.read() + + print(data.decode("utf-8")) + - lang: Node + source: |- + const http = require("https"); + + const options = { + "method": "PATCH", + "hostname": "api.confluent.cloud", + "port": null, + "path": "/networking/v1/private-link-accesses/{id}", + "headers": { + "content-type": "application/json", + "Authorization": "Basic REPLACE_BASIC_AUTH" + } + }; + + const req = http.request(options, function (res) { + const chunks = []; + + res.on("data", function (chunk) { + chunks.push(chunk); + }); + + res.on("end", function () { + const body = Buffer.concat(chunks); + console.log(body.toString()); + }); + }); + + req.write(JSON.stringify({ + spec: { + display_name: 'prod-pl-use1', + cloud: {kind: 'AwsPrivateLinkAccess', account: '000000000000'}, + environment: {id: 'env-00000', environment: 'string'}, + network: {id: 'string', environment: 'string'} + } + })); + req.end(); + - lang: C + source: |- + CURL *hnd = curl_easy_init(); + + curl_easy_setopt(hnd, CURLOPT_CUSTOMREQUEST, "PATCH"); + curl_easy_setopt(hnd, CURLOPT_URL, "https://api.confluent.cloud/networking/v1/private-link-accesses/{id}"); + + struct curl_slist *headers = NULL; + headers = curl_slist_append(headers, "content-type: application/json"); + headers = curl_slist_append(headers, "Authorization: Basic REPLACE_BASIC_AUTH"); + curl_easy_setopt(hnd, CURLOPT_HTTPHEADER, headers); + + curl_easy_setopt(hnd, CURLOPT_POSTFIELDS, "{\"spec\":{\"display_name\":\"prod-pl-use1\",\"cloud\":{\"kind\":\"AwsPrivateLinkAccess\",\"account\":\"000000000000\"},\"environment\":{\"id\":\"env-00000\",\"environment\":\"string\"},\"network\":{\"id\":\"string\",\"environment\":\"string\"}}}"); + + CURLcode ret = curl_easy_perform(hnd); + - lang: C# + source: |- + var client = new RestClient("https://api.confluent.cloud/networking/v1/private-link-accesses/{id}"); + var request = new RestRequest(Method.PATCH); + request.AddHeader("content-type", "application/json"); + request.AddHeader("Authorization", "Basic REPLACE_BASIC_AUTH"); + request.AddParameter("application/json", "{\"spec\":{\"display_name\":\"prod-pl-use1\",\"cloud\":{\"kind\":\"AwsPrivateLinkAccess\",\"account\":\"000000000000\"},\"environment\":{\"id\":\"env-00000\",\"environment\":\"string\"},\"network\":{\"id\":\"string\",\"environment\":\"string\"}}}", ParameterType.RequestBody); + IRestResponse response = client.Execute(request); + delete: + operationId: deleteNetworkingV1PrivateLinkAccess + summary: Delete a Private Link Access + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + Make a request to delete a private link access. + parameters: + - name: environment + in: query + required: true + schema: + $ref: '#/components/schemas/SearchFilter' + example: env-00000 + description: Scope the operation to the given environment. + - name: id + in: path + required: true + schema: + type: string + description: The unique identifier for the private link access. + tags: + - Private Link Accesses (networking/v1) + security: + - cloud-api-key: [] + - confluent-sts-access-token: [] + responses: + '204': + description: A Private Link Access is being deleted. + headers: + X-Request-Id: + schema: + type: string + description: The unique identifier for the API request. + X-RateLimit-Limit: + schema: + type: integer + description: The maximum number of requests you're permitted to make per time period. + X-RateLimit-Remaining: + schema: + type: integer + description: The number of requests remaining in the current rate limit window. + X-RateLimit-Reset: + schema: + type: integer + description: |- + The relative time in seconds until the current rate-limit window resets. + + **Important:** This differs from Github and Twitter's same-named header which uses UTC epoch seconds. We use relative time to avoid client/server time synchronization issues. + '400': + $ref: '#/components/responses/BadRequestError' + '401': + $ref: '#/components/responses/UnauthenticatedError' + '403': + $ref: '#/components/responses/UnauthorizedError' + '404': + $ref: '#/components/responses/NotFoundError' + '429': + $ref: '#/components/responses/RateLimitError' + '500': + $ref: '#/components/responses/DefaultSystemError' + x-codeSamples: + - lang: Shell + source: |- + curl --request DELETE \ + --url 'https://api.confluent.cloud/networking/v1/private-link-accesses/{id}?environment=env-00000' \ + --header 'Authorization: Basic REPLACE_BASIC_AUTH' + - lang: Java + source: |- + OkHttpClient client = new OkHttpClient(); + + Request request = new Request.Builder() + .url("https://api.confluent.cloud/networking/v1/private-link-accesses/{id}?environment=env-00000") + .delete(null) + .addHeader("Authorization", "Basic REPLACE_BASIC_AUTH") + .build(); + + Response response = client.newCall(request).execute(); + - lang: Go + source: "package main\n\nimport (\n\t\"fmt\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.confluent.cloud/networking/v1/private-link-accesses/{id}?environment=env-00000\"\n\n\treq, _ := http.NewRequest(\"DELETE\", url, nil)\n\n\treq.Header.Add(\"Authorization\", \"Basic REPLACE_BASIC_AUTH\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}" + - lang: Python + source: |- + import http.client + + conn = http.client.HTTPSConnection("api.confluent.cloud") + + headers = { 'Authorization': "Basic REPLACE_BASIC_AUTH" } + + conn.request("DELETE", "/networking/v1/private-link-accesses/{id}?environment=env-00000", headers=headers) + + res = conn.getresponse() + data = res.read() + + print(data.decode("utf-8")) + - lang: Node + source: |- + const http = require("https"); + + const options = { + "method": "DELETE", + "hostname": "api.confluent.cloud", + "port": null, + "path": "/networking/v1/private-link-accesses/{id}?environment=env-00000", + "headers": { + "Authorization": "Basic REPLACE_BASIC_AUTH" + } + }; + + const req = http.request(options, function (res) { + const chunks = []; + + res.on("data", function (chunk) { + chunks.push(chunk); + }); + + res.on("end", function () { + const body = Buffer.concat(chunks); + console.log(body.toString()); + }); + }); + + req.end(); + - lang: C + source: |- + CURL *hnd = curl_easy_init(); + + curl_easy_setopt(hnd, CURLOPT_CUSTOMREQUEST, "DELETE"); + curl_easy_setopt(hnd, CURLOPT_URL, "https://api.confluent.cloud/networking/v1/private-link-accesses/{id}?environment=env-00000"); + + struct curl_slist *headers = NULL; + headers = curl_slist_append(headers, "Authorization: Basic REPLACE_BASIC_AUTH"); + curl_easy_setopt(hnd, CURLOPT_HTTPHEADER, headers); + + CURLcode ret = curl_easy_perform(hnd); + - lang: C# + source: |- + var client = new RestClient("https://api.confluent.cloud/networking/v1/private-link-accesses/{id}?environment=env-00000"); + var request = new RestRequest(Method.DELETE); + request.AddHeader("Authorization", "Basic REPLACE_BASIC_AUTH"); + IRestResponse response = client.Execute(request); + /networking/v1/network-link-services: + get: + operationId: listNetworkingV1NetworkLinkServices + summary: List of Network Link Services + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + Retrieve a sorted, filtered, paginated list of all network link services. + parameters: + - name: spec.display_name + in: query + required: false + schema: + $ref: '#/components/schemas/MultipleSearchFilter' + example: + - prod-net-1-nls + - dev-net-1-nls + description: Filter the results by exact match for spec.display_name. Pass multiple times to see results matching any of the values. + style: form + explode: true + - name: status.phase + in: query + required: false + schema: + $ref: '#/components/schemas/MultipleSearchFilter' + example: + - READY + description: Filter the results by exact match for status.phase. Pass multiple times to see results matching any of the values. + style: form + explode: true + - name: environment + in: query + required: true + schema: + $ref: '#/components/schemas/SearchFilter' + example: env-00000 + description: Filter the results by exact match for environment. + - name: spec.network + in: query + required: false + schema: + $ref: '#/components/schemas/MultipleSearchFilter' + example: + - n-00000 + - n-00001 + description: Filter the results by exact match for spec.network. Pass multiple times to see results matching any of the values. + style: form + explode: true + - name: page_size + in: query + required: false + schema: + type: integer + default: 10 + maximum: 1000 + x-max-page-items: 1000 + 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: + - Network Link Services (networking/v1) + security: + - cloud-api-key: [] + - confluent-sts-access-token: [] + responses: + '200': + description: Network Link Service. + content: + application/json: + schema: + allOf: + - $ref: '#/components/schemas/networking.v1.NetworkLinkServiceList' + - type: object + properties: + data: + type: array + items: + properties: + spec: + type: object + properties: + environment: + example: + id: env-00000 + related: 'https://api.confluent.cloud/v2/environments/env-00000' + resource_name: 'https://api.confluent.cloud/organization=9bb441c4-edef-46ac-8a41-c49e44a3fd9a/environment=env-00000' + network: + example: + id: n-00000 + related: 'https://api.confluent.cloud/networking/v1/networks/n-00000' + resource_name: 'https://api.confluent.cloud/organization=9bb441c4-edef-46ac-8a41-c49e44a3fd9a/environment=env-abc123/network=n-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. + + **Important:** This differs from Github and Twitter's same-named header which uses UTC epoch seconds. We use relative time to avoid client/server time synchronization issues. + '400': + $ref: '#/components/responses/BadRequestError' + '401': + $ref: '#/components/responses/UnauthenticatedError' + '403': + $ref: '#/components/responses/UnauthorizedError' + '429': + $ref: '#/components/responses/RateLimitError' + '500': + $ref: '#/components/responses/DefaultSystemError' + x-codeSamples: + - lang: Shell + source: |- + curl --request GET \ + --url 'https://api.confluent.cloud/networking/v1/network-link-services?spec.display_name=prod-net-1-nls,dev-net-1-nls&status.phase=READY&environment=env-00000&spec.network=n-00000,n-00001' \ + --header 'Authorization: Basic REPLACE_BASIC_AUTH' + - lang: Java + source: |- + OkHttpClient client = new OkHttpClient(); + + Request request = new Request.Builder() + .url("https://api.confluent.cloud/networking/v1/network-link-services?spec.display_name=prod-net-1-nls,dev-net-1-nls&status.phase=READY&environment=env-00000&spec.network=n-00000,n-00001") + .get() + .addHeader("Authorization", "Basic REPLACE_BASIC_AUTH") + .build(); + + Response response = client.newCall(request).execute(); + - lang: Go + source: "package main\n\nimport (\n\t\"fmt\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.confluent.cloud/networking/v1/network-link-services?spec.display_name=prod-net-1-nls,dev-net-1-nls&status.phase=READY&environment=env-00000&spec.network=n-00000,n-00001\"\n\n\treq, _ := http.NewRequest(\"GET\", url, nil)\n\n\treq.Header.Add(\"Authorization\", \"Basic REPLACE_BASIC_AUTH\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}" + - lang: Python + source: |- + import http.client + + conn = http.client.HTTPSConnection("api.confluent.cloud") + + headers = { 'Authorization': "Basic REPLACE_BASIC_AUTH" } + + conn.request("GET", "/networking/v1/network-link-services?spec.display_name=prod-net-1-nls,dev-net-1-nls&status.phase=READY&environment=env-00000&spec.network=n-00000,n-00001", headers=headers) + + res = conn.getresponse() + data = res.read() + + print(data.decode("utf-8")) + - lang: Node + source: |- + const http = require("https"); + + const options = { + "method": "GET", + "hostname": "api.confluent.cloud", + "port": null, + "path": "/networking/v1/network-link-services?spec.display_name=prod-net-1-nls,dev-net-1-nls&status.phase=READY&environment=env-00000&spec.network=n-00000,n-00001", + "headers": { + "Authorization": "Basic REPLACE_BASIC_AUTH" + } + }; + + const req = http.request(options, function (res) { + const chunks = []; + + res.on("data", function (chunk) { + chunks.push(chunk); + }); + + res.on("end", function () { + const body = Buffer.concat(chunks); + console.log(body.toString()); + }); + }); + + req.end(); + - lang: C + source: |- + CURL *hnd = curl_easy_init(); + + curl_easy_setopt(hnd, CURLOPT_CUSTOMREQUEST, "GET"); + curl_easy_setopt(hnd, CURLOPT_URL, "https://api.confluent.cloud/networking/v1/network-link-services?spec.display_name=prod-net-1-nls,dev-net-1-nls&status.phase=READY&environment=env-00000&spec.network=n-00000,n-00001"); + + struct curl_slist *headers = NULL; + headers = curl_slist_append(headers, "Authorization: Basic REPLACE_BASIC_AUTH"); + curl_easy_setopt(hnd, CURLOPT_HTTPHEADER, headers); + + CURLcode ret = curl_easy_perform(hnd); + - lang: C# + source: |- + var client = new RestClient("https://api.confluent.cloud/networking/v1/network-link-services?spec.display_name=prod-net-1-nls,dev-net-1-nls&status.phase=READY&environment=env-00000&spec.network=n-00000,n-00001"); + var request = new RestRequest(Method.GET); + request.AddHeader("Authorization", "Basic REPLACE_BASIC_AUTH"); + IRestResponse response = client.Execute(request); + post: + operationId: createNetworkingV1NetworkLinkService + summary: Create a Network Link Service + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + Make a request to create a network link service. + tags: + - Network Link Services (networking/v1) + security: + - cloud-api-key: [] + - confluent-sts-access-token: [] + requestBody: + content: + application/json: + schema: + allOf: + - $ref: '#/components/schemas/networking.v1.NetworkLinkService' + - type: object + required: + - spec + properties: + spec: + type: object + required: + - environment + - network + - type: object + properties: + spec: + type: object + properties: + environment: + example: + id: env-00000 + network: + example: + id: n-00000 + responses: + '202': + description: A Network Link Service is being created. + headers: + X-Request-Id: + schema: + type: string + description: The unique identifier for the API request. + X-RateLimit-Limit: + schema: + type: integer + description: The maximum number of requests you're permitted to make per time period. + X-RateLimit-Remaining: + schema: + type: integer + description: The number of requests remaining in the current rate limit window. + X-RateLimit-Reset: + schema: + type: integer + description: |- + The relative time in seconds until the current rate-limit window resets. + + **Important:** This differs from Github and Twitter's same-named header which uses UTC epoch seconds. We use relative time to avoid client/server time synchronization issues. + Location: + schema: + type: string + format: uri + example: 'https://api.confluent.cloud/networking/v1/network-link-services/{id}' + description: NetworkLinkService resource uri + content: + application/json: + schema: + allOf: + - $ref: '#/components/schemas/networking.v1.NetworkLinkService' + - type: object + required: + - spec + - status + properties: + spec: + type: object + required: + - environment + - network + - type: object + properties: + spec: + type: object + properties: + environment: + example: + id: env-00000 + related: 'https://api.confluent.cloud/v2/environments/env-00000' + resource_name: 'https://api.confluent.cloud/organization=9bb441c4-edef-46ac-8a41-c49e44a3fd9a/environment=env-00000' + network: + example: + id: n-00000 + related: 'https://api.confluent.cloud/networking/v1/networks/n-00000' + resource_name: 'https://api.confluent.cloud/organization=9bb441c4-edef-46ac-8a41-c49e44a3fd9a/environment=env-abc123/network=n-00000' + '400': + $ref: '#/components/responses/BadRequestError' + '401': + $ref: '#/components/responses/UnauthenticatedError' + '402': + $ref: '#/components/responses/OverQuotaError' + '403': + $ref: '#/components/responses/UnauthorizedError' + '409': + $ref: '#/components/responses/ConflictError' + '422': + $ref: '#/components/responses/ValidationError' + '429': + $ref: '#/components/responses/RateLimitError' + '500': + $ref: '#/components/responses/DefaultSystemError' + x-codeSamples: + - lang: Shell + source: |- + curl --request POST \ + --url https://api.confluent.cloud/networking/v1/network-link-services \ + --header 'Authorization: Basic REPLACE_BASIC_AUTH' \ + --header 'content-type: application/json' \ + --data '{"spec":{"display_name":"prod-net-1-nls","description":"Allow connections from analytics hub","accept":{"environments":["string"],"networks":["string"]},"environment":{"id":"env-00000"},"network":{"id":"n-00000","environment":"string"}}}' + - lang: Java + source: |- + OkHttpClient client = new OkHttpClient(); + + MediaType mediaType = MediaType.parse("application/json"); + RequestBody body = RequestBody.create(mediaType, "{\"spec\":{\"display_name\":\"prod-net-1-nls\",\"description\":\"Allow connections from analytics hub\",\"accept\":{\"environments\":[\"string\"],\"networks\":[\"string\"]},\"environment\":{\"id\":\"env-00000\"},\"network\":{\"id\":\"n-00000\",\"environment\":\"string\"}}}"); + Request request = new Request.Builder() + .url("https://api.confluent.cloud/networking/v1/network-link-services") + .post(body) + .addHeader("content-type", "application/json") + .addHeader("Authorization", "Basic REPLACE_BASIC_AUTH") + .build(); + + Response response = client.newCall(request).execute(); + - lang: Go + source: "package main\n\nimport (\n\t\"fmt\"\n\t\"strings\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.confluent.cloud/networking/v1/network-link-services\"\n\n\tpayload := strings.NewReader(\"{\\\"spec\\\":{\\\"display_name\\\":\\\"prod-net-1-nls\\\",\\\"description\\\":\\\"Allow connections from analytics hub\\\",\\\"accept\\\":{\\\"environments\\\":[\\\"string\\\"],\\\"networks\\\":[\\\"string\\\"]},\\\"environment\\\":{\\\"id\\\":\\\"env-00000\\\"},\\\"network\\\":{\\\"id\\\":\\\"n-00000\\\",\\\"environment\\\":\\\"string\\\"}}}\")\n\n\treq, _ := http.NewRequest(\"POST\", url, payload)\n\n\treq.Header.Add(\"content-type\", \"application/json\")\n\treq.Header.Add(\"Authorization\", \"Basic REPLACE_BASIC_AUTH\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}" + - lang: Python + source: |- + import http.client + + conn = http.client.HTTPSConnection("api.confluent.cloud") + + payload = "{\"spec\":{\"display_name\":\"prod-net-1-nls\",\"description\":\"Allow connections from analytics hub\",\"accept\":{\"environments\":[\"string\"],\"networks\":[\"string\"]},\"environment\":{\"id\":\"env-00000\"},\"network\":{\"id\":\"n-00000\",\"environment\":\"string\"}}}" + + headers = { + 'content-type': "application/json", + 'Authorization': "Basic REPLACE_BASIC_AUTH" + } + + conn.request("POST", "/networking/v1/network-link-services", payload, headers) + + res = conn.getresponse() + data = res.read() + + print(data.decode("utf-8")) + - lang: Node + source: |- + const http = require("https"); + + const options = { + "method": "POST", + "hostname": "api.confluent.cloud", + "port": null, + "path": "/networking/v1/network-link-services", + "headers": { + "content-type": "application/json", + "Authorization": "Basic REPLACE_BASIC_AUTH" + } + }; + + const req = http.request(options, function (res) { + const chunks = []; + + res.on("data", function (chunk) { + chunks.push(chunk); + }); + + res.on("end", function () { + const body = Buffer.concat(chunks); + console.log(body.toString()); + }); + }); + + req.write(JSON.stringify({ + spec: { + display_name: 'prod-net-1-nls', + description: 'Allow connections from analytics hub', + accept: {environments: ['string'], networks: ['string']}, + environment: {id: 'env-00000'}, + network: {id: 'n-00000', environment: 'string'} + } + })); + req.end(); + - lang: C + source: |- + CURL *hnd = curl_easy_init(); + + curl_easy_setopt(hnd, CURLOPT_CUSTOMREQUEST, "POST"); + curl_easy_setopt(hnd, CURLOPT_URL, "https://api.confluent.cloud/networking/v1/network-link-services"); + + struct curl_slist *headers = NULL; + headers = curl_slist_append(headers, "content-type: application/json"); + headers = curl_slist_append(headers, "Authorization: Basic REPLACE_BASIC_AUTH"); + curl_easy_setopt(hnd, CURLOPT_HTTPHEADER, headers); + + curl_easy_setopt(hnd, CURLOPT_POSTFIELDS, "{\"spec\":{\"display_name\":\"prod-net-1-nls\",\"description\":\"Allow connections from analytics hub\",\"accept\":{\"environments\":[\"string\"],\"networks\":[\"string\"]},\"environment\":{\"id\":\"env-00000\"},\"network\":{\"id\":\"n-00000\",\"environment\":\"string\"}}}"); + + CURLcode ret = curl_easy_perform(hnd); + - lang: C# + source: |- + var client = new RestClient("https://api.confluent.cloud/networking/v1/network-link-services"); + var request = new RestRequest(Method.POST); + request.AddHeader("content-type", "application/json"); + request.AddHeader("Authorization", "Basic REPLACE_BASIC_AUTH"); + request.AddParameter("application/json", "{\"spec\":{\"display_name\":\"prod-net-1-nls\",\"description\":\"Allow connections from analytics hub\",\"accept\":{\"environments\":[\"string\"],\"networks\":[\"string\"]},\"environment\":{\"id\":\"env-00000\"},\"network\":{\"id\":\"n-00000\",\"environment\":\"string\"}}}", ParameterType.RequestBody); + IRestResponse response = client.Execute(request); + '/networking/v1/network-link-services/{id}': + get: + operationId: getNetworkingV1NetworkLinkService + summary: Read a Network Link Service + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + Make a request to read a network link service. + parameters: + - name: environment + in: query + required: true + schema: + $ref: '#/components/schemas/SearchFilter' + example: env-00000 + description: Scope the operation to the given environment. + - name: id + in: path + required: true + schema: + type: string + description: The unique identifier for the network link service. + tags: + - Network Link Services (networking/v1) + security: + - cloud-api-key: [] + - confluent-sts-access-token: [] + responses: + '200': + description: Network Link Service. + content: + application/json: + schema: + allOf: + - $ref: '#/components/schemas/networking.v1.NetworkLinkService' + - type: object + required: + - api_version + - kind + - id + - spec + - status + properties: + spec: + type: object + required: + - environment + - network + - type: object + properties: + spec: + type: object + properties: + environment: + example: + id: env-00000 + related: 'https://api.confluent.cloud/v2/environments/env-00000' + resource_name: 'https://api.confluent.cloud/organization=9bb441c4-edef-46ac-8a41-c49e44a3fd9a/environment=env-00000' + network: + example: + id: n-00000 + related: 'https://api.confluent.cloud/networking/v1/networks/n-00000' + resource_name: 'https://api.confluent.cloud/organization=9bb441c4-edef-46ac-8a41-c49e44a3fd9a/environment=env-abc123/network=n-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. + + **Important:** This differs from Github and Twitter's same-named header which uses UTC epoch seconds. We use relative time to avoid client/server time synchronization issues. + '400': + $ref: '#/components/responses/BadRequestError' + '401': + $ref: '#/components/responses/UnauthenticatedError' + '403': + $ref: '#/components/responses/UnauthorizedError' + '404': + $ref: '#/components/responses/NotFoundError' + '429': + $ref: '#/components/responses/RateLimitError' + '500': + $ref: '#/components/responses/DefaultSystemError' + x-codeSamples: + - lang: Shell + source: |- + curl --request GET \ + --url 'https://api.confluent.cloud/networking/v1/network-link-services/{id}?environment=env-00000' \ + --header 'Authorization: Basic REPLACE_BASIC_AUTH' + - lang: Java + source: |- + OkHttpClient client = new OkHttpClient(); + + Request request = new Request.Builder() + .url("https://api.confluent.cloud/networking/v1/network-link-services/{id}?environment=env-00000") + .get() + .addHeader("Authorization", "Basic REPLACE_BASIC_AUTH") + .build(); + + Response response = client.newCall(request).execute(); + - lang: Go + source: "package main\n\nimport (\n\t\"fmt\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.confluent.cloud/networking/v1/network-link-services/{id}?environment=env-00000\"\n\n\treq, _ := http.NewRequest(\"GET\", url, nil)\n\n\treq.Header.Add(\"Authorization\", \"Basic REPLACE_BASIC_AUTH\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}" + - lang: Python + source: |- + import http.client + + conn = http.client.HTTPSConnection("api.confluent.cloud") + + headers = { 'Authorization': "Basic REPLACE_BASIC_AUTH" } + + conn.request("GET", "/networking/v1/network-link-services/{id}?environment=env-00000", headers=headers) + + res = conn.getresponse() + data = res.read() + + print(data.decode("utf-8")) + - lang: Node + source: |- + const http = require("https"); + + const options = { + "method": "GET", + "hostname": "api.confluent.cloud", + "port": null, + "path": "/networking/v1/network-link-services/{id}?environment=env-00000", + "headers": { + "Authorization": "Basic REPLACE_BASIC_AUTH" + } + }; + + const req = http.request(options, function (res) { + const chunks = []; + + res.on("data", function (chunk) { + chunks.push(chunk); + }); + + res.on("end", function () { + const body = Buffer.concat(chunks); + console.log(body.toString()); + }); + }); + + req.end(); + - lang: C + source: |- + CURL *hnd = curl_easy_init(); + + curl_easy_setopt(hnd, CURLOPT_CUSTOMREQUEST, "GET"); + curl_easy_setopt(hnd, CURLOPT_URL, "https://api.confluent.cloud/networking/v1/network-link-services/{id}?environment=env-00000"); + + struct curl_slist *headers = NULL; + headers = curl_slist_append(headers, "Authorization: Basic REPLACE_BASIC_AUTH"); + curl_easy_setopt(hnd, CURLOPT_HTTPHEADER, headers); + + CURLcode ret = curl_easy_perform(hnd); + - lang: C# + source: |- + var client = new RestClient("https://api.confluent.cloud/networking/v1/network-link-services/{id}?environment=env-00000"); + var request = new RestRequest(Method.GET); + request.AddHeader("Authorization", "Basic REPLACE_BASIC_AUTH"); + IRestResponse response = client.Execute(request); + patch: + operationId: updateNetworkingV1NetworkLinkService + summary: Update a Network Link Service + description: |+ + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + Make a request to update a network link service. + + parameters: + - name: id + in: path + required: true + schema: + type: string + description: The unique identifier for the network link service. + tags: + - Network Link Services (networking/v1) + security: + - cloud-api-key: [] + - confluent-sts-access-token: [] + requestBody: + content: + application/json: + schema: + allOf: + - $ref: '#/components/schemas/networking.v1.NetworkLinkServiceUpdate' + - type: object + required: + - spec + properties: + spec: + type: object + required: + - environment + properties: + environment: + example: + id: env-00000 + responses: + '200': + description: Network Link Service. + content: + application/json: + schema: + allOf: + - $ref: '#/components/schemas/networking.v1.NetworkLinkService' + - type: object + required: + - api_version + - kind + - id + - spec + - status + properties: + spec: + type: object + required: + - environment + - network + - type: object + properties: + spec: + type: object + properties: + environment: + example: + id: env-00000 + related: 'https://api.confluent.cloud/v2/environments/env-00000' + resource_name: 'https://api.confluent.cloud/organization=9bb441c4-edef-46ac-8a41-c49e44a3fd9a/environment=env-00000' + network: + example: + id: n-00000 + related: 'https://api.confluent.cloud/networking/v1/networks/n-00000' + resource_name: 'https://api.confluent.cloud/organization=9bb441c4-edef-46ac-8a41-c49e44a3fd9a/environment=env-abc123/network=n-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. + + **Important:** This differs from Github and Twitter's same-named header which uses UTC epoch seconds. We use relative time to avoid client/server time synchronization issues. + '400': + $ref: '#/components/responses/BadRequestError' + '401': + $ref: '#/components/responses/UnauthenticatedError' + '402': + $ref: '#/components/responses/OverQuotaError' + '403': + $ref: '#/components/responses/UnauthorizedError' + '404': + $ref: '#/components/responses/NotFoundError' + '409': + $ref: '#/components/responses/ConflictError' + '422': + $ref: '#/components/responses/ValidationError' + '429': + $ref: '#/components/responses/RateLimitError' + '500': + $ref: '#/components/responses/DefaultSystemError' + x-codeSamples: + - lang: Shell + source: |- + curl --request PATCH \ + --url 'https://api.confluent.cloud/networking/v1/network-link-services/{id}' \ + --header 'Authorization: Basic REPLACE_BASIC_AUTH' \ + --header 'content-type: application/json' \ + --data '{"spec":{"display_name":"prod-net-1-nls","description":"Allow connections from analytics hub","accept":{"environments":["string"],"networks":["string"]},"environment":{"id":"env-00000"},"network":{"id":"string","environment":"string"}}}' + - lang: Java + source: |- + OkHttpClient client = new OkHttpClient(); + + MediaType mediaType = MediaType.parse("application/json"); + RequestBody body = RequestBody.create(mediaType, "{\"spec\":{\"display_name\":\"prod-net-1-nls\",\"description\":\"Allow connections from analytics hub\",\"accept\":{\"environments\":[\"string\"],\"networks\":[\"string\"]},\"environment\":{\"id\":\"env-00000\"},\"network\":{\"id\":\"string\",\"environment\":\"string\"}}}"); + Request request = new Request.Builder() + .url("https://api.confluent.cloud/networking/v1/network-link-services/{id}") + .patch(body) + .addHeader("content-type", "application/json") + .addHeader("Authorization", "Basic REPLACE_BASIC_AUTH") + .build(); + + Response response = client.newCall(request).execute(); + - lang: Go + source: "package main\n\nimport (\n\t\"fmt\"\n\t\"strings\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.confluent.cloud/networking/v1/network-link-services/{id}\"\n\n\tpayload := strings.NewReader(\"{\\\"spec\\\":{\\\"display_name\\\":\\\"prod-net-1-nls\\\",\\\"description\\\":\\\"Allow connections from analytics hub\\\",\\\"accept\\\":{\\\"environments\\\":[\\\"string\\\"],\\\"networks\\\":[\\\"string\\\"]},\\\"environment\\\":{\\\"id\\\":\\\"env-00000\\\"},\\\"network\\\":{\\\"id\\\":\\\"string\\\",\\\"environment\\\":\\\"string\\\"}}}\")\n\n\treq, _ := http.NewRequest(\"PATCH\", url, payload)\n\n\treq.Header.Add(\"content-type\", \"application/json\")\n\treq.Header.Add(\"Authorization\", \"Basic REPLACE_BASIC_AUTH\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}" + - lang: Python + source: |- + import http.client + + conn = http.client.HTTPSConnection("api.confluent.cloud") + + payload = "{\"spec\":{\"display_name\":\"prod-net-1-nls\",\"description\":\"Allow connections from analytics hub\",\"accept\":{\"environments\":[\"string\"],\"networks\":[\"string\"]},\"environment\":{\"id\":\"env-00000\"},\"network\":{\"id\":\"string\",\"environment\":\"string\"}}}" + + headers = { + 'content-type': "application/json", + 'Authorization': "Basic REPLACE_BASIC_AUTH" + } + + conn.request("PATCH", "/networking/v1/network-link-services/{id}", payload, headers) + + res = conn.getresponse() + data = res.read() + + print(data.decode("utf-8")) + - lang: Node + source: |- + const http = require("https"); + + const options = { + "method": "PATCH", + "hostname": "api.confluent.cloud", + "port": null, + "path": "/networking/v1/network-link-services/{id}", + "headers": { + "content-type": "application/json", + "Authorization": "Basic REPLACE_BASIC_AUTH" + } + }; + + const req = http.request(options, function (res) { + const chunks = []; + + res.on("data", function (chunk) { + chunks.push(chunk); + }); + + res.on("end", function () { + const body = Buffer.concat(chunks); + console.log(body.toString()); + }); + }); + + req.write(JSON.stringify({ + spec: { + display_name: 'prod-net-1-nls', + description: 'Allow connections from analytics hub', + accept: {environments: ['string'], networks: ['string']}, + environment: {id: 'env-00000'}, + network: {id: 'string', environment: 'string'} + } + })); + req.end(); + - lang: C + source: |- + CURL *hnd = curl_easy_init(); + + curl_easy_setopt(hnd, CURLOPT_CUSTOMREQUEST, "PATCH"); + curl_easy_setopt(hnd, CURLOPT_URL, "https://api.confluent.cloud/networking/v1/network-link-services/{id}"); + + struct curl_slist *headers = NULL; + headers = curl_slist_append(headers, "content-type: application/json"); + headers = curl_slist_append(headers, "Authorization: Basic REPLACE_BASIC_AUTH"); + curl_easy_setopt(hnd, CURLOPT_HTTPHEADER, headers); + + curl_easy_setopt(hnd, CURLOPT_POSTFIELDS, "{\"spec\":{\"display_name\":\"prod-net-1-nls\",\"description\":\"Allow connections from analytics hub\",\"accept\":{\"environments\":[\"string\"],\"networks\":[\"string\"]},\"environment\":{\"id\":\"env-00000\"},\"network\":{\"id\":\"string\",\"environment\":\"string\"}}}"); + + CURLcode ret = curl_easy_perform(hnd); + - lang: C# + source: |- + var client = new RestClient("https://api.confluent.cloud/networking/v1/network-link-services/{id}"); + var request = new RestRequest(Method.PATCH); + request.AddHeader("content-type", "application/json"); + request.AddHeader("Authorization", "Basic REPLACE_BASIC_AUTH"); + request.AddParameter("application/json", "{\"spec\":{\"display_name\":\"prod-net-1-nls\",\"description\":\"Allow connections from analytics hub\",\"accept\":{\"environments\":[\"string\"],\"networks\":[\"string\"]},\"environment\":{\"id\":\"env-00000\"},\"network\":{\"id\":\"string\",\"environment\":\"string\"}}}", ParameterType.RequestBody); + IRestResponse response = client.Execute(request); + delete: + operationId: deleteNetworkingV1NetworkLinkService + summary: Delete a Network Link Service + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + Make a request to delete a network link service. + parameters: + - name: environment + in: query + required: true + schema: + $ref: '#/components/schemas/SearchFilter' + example: env-00000 + description: Scope the operation to the given environment. + - name: id + in: path + required: true + schema: + type: string + description: The unique identifier for the network link service. + tags: + - Network Link Services (networking/v1) + security: + - cloud-api-key: [] + - confluent-sts-access-token: [] + responses: + '204': + description: A Network Link Service is being deleted. + headers: + X-Request-Id: + schema: + type: string + description: The unique identifier for the API request. + X-RateLimit-Limit: + schema: + type: integer + description: The maximum number of requests you're permitted to make per time period. + X-RateLimit-Remaining: + schema: + type: integer + description: The number of requests remaining in the current rate limit window. + X-RateLimit-Reset: + schema: + type: integer + description: |- + The relative time in seconds until the current rate-limit window resets. + + **Important:** This differs from Github and Twitter's same-named header which uses UTC epoch seconds. We use relative time to avoid client/server time synchronization issues. + '400': + $ref: '#/components/responses/BadRequestError' + '401': + $ref: '#/components/responses/UnauthenticatedError' + '403': + $ref: '#/components/responses/UnauthorizedError' + '404': + $ref: '#/components/responses/NotFoundError' + '429': + $ref: '#/components/responses/RateLimitError' + '500': + $ref: '#/components/responses/DefaultSystemError' + x-codeSamples: + - lang: Shell + source: |- + curl --request DELETE \ + --url 'https://api.confluent.cloud/networking/v1/network-link-services/{id}?environment=env-00000' \ + --header 'Authorization: Basic REPLACE_BASIC_AUTH' + - lang: Java + source: |- + OkHttpClient client = new OkHttpClient(); + + Request request = new Request.Builder() + .url("https://api.confluent.cloud/networking/v1/network-link-services/{id}?environment=env-00000") + .delete(null) + .addHeader("Authorization", "Basic REPLACE_BASIC_AUTH") + .build(); + + Response response = client.newCall(request).execute(); + - lang: Go + source: "package main\n\nimport (\n\t\"fmt\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.confluent.cloud/networking/v1/network-link-services/{id}?environment=env-00000\"\n\n\treq, _ := http.NewRequest(\"DELETE\", url, nil)\n\n\treq.Header.Add(\"Authorization\", \"Basic REPLACE_BASIC_AUTH\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}" + - lang: Python + source: |- + import http.client + + conn = http.client.HTTPSConnection("api.confluent.cloud") + + headers = { 'Authorization': "Basic REPLACE_BASIC_AUTH" } + + conn.request("DELETE", "/networking/v1/network-link-services/{id}?environment=env-00000", headers=headers) + + res = conn.getresponse() + data = res.read() + + print(data.decode("utf-8")) + - lang: Node + source: |- + const http = require("https"); + + const options = { + "method": "DELETE", + "hostname": "api.confluent.cloud", + "port": null, + "path": "/networking/v1/network-link-services/{id}?environment=env-00000", + "headers": { + "Authorization": "Basic REPLACE_BASIC_AUTH" + } + }; + + const req = http.request(options, function (res) { + const chunks = []; + + res.on("data", function (chunk) { + chunks.push(chunk); + }); + + res.on("end", function () { + const body = Buffer.concat(chunks); + console.log(body.toString()); + }); + }); + + req.end(); + - lang: C + source: |- + CURL *hnd = curl_easy_init(); + + curl_easy_setopt(hnd, CURLOPT_CUSTOMREQUEST, "DELETE"); + curl_easy_setopt(hnd, CURLOPT_URL, "https://api.confluent.cloud/networking/v1/network-link-services/{id}?environment=env-00000"); + + struct curl_slist *headers = NULL; + headers = curl_slist_append(headers, "Authorization: Basic REPLACE_BASIC_AUTH"); + curl_easy_setopt(hnd, CURLOPT_HTTPHEADER, headers); + + CURLcode ret = curl_easy_perform(hnd); + - lang: C# + source: |- + var client = new RestClient("https://api.confluent.cloud/networking/v1/network-link-services/{id}?environment=env-00000"); + var request = new RestRequest(Method.DELETE); + request.AddHeader("Authorization", "Basic REPLACE_BASIC_AUTH"); + IRestResponse response = client.Execute(request); + /networking/v1/network-link-endpoints: + get: + operationId: listNetworkingV1NetworkLinkEndpoints + summary: List of Network Link Endpoints + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + Retrieve a sorted, filtered, paginated list of all network link endpoints. + parameters: + - name: spec.display_name + in: query + required: false + schema: + $ref: '#/components/schemas/MultipleSearchFilter' + example: + - prod-net-1-nle + - dev-net-1-nle + description: Filter the results by exact match for spec.display_name. Pass multiple times to see results matching any of the values. + style: form + explode: true + - name: status.phase + in: query + required: false + schema: + $ref: '#/components/schemas/MultipleSearchFilter' + example: + - READY + - PENDING_ACCEPT + description: Filter the results by exact match for status.phase. Pass multiple times to see results matching any of the values. + style: form + explode: true + - name: environment + in: query + required: true + schema: + $ref: '#/components/schemas/SearchFilter' + example: env-00000 + description: Filter the results by exact match for environment. + - name: spec.network + in: query + required: false + schema: + $ref: '#/components/schemas/MultipleSearchFilter' + example: + - n-00000 + - n-00001 + description: Filter the results by exact match for spec.network. Pass multiple times to see results matching any of the values. + style: form + explode: true + - name: spec.network_link_service + in: query + required: false + schema: + $ref: '#/components/schemas/MultipleSearchFilter' + example: + - nls-abcde + - nls-00000 + description: Filter the results by exact match for spec.network_link_service. Pass multiple times to see results matching any of the values. + style: form + explode: true + - name: page_size + in: query + required: false + schema: + type: integer + default: 10 + maximum: 1000 + x-max-page-items: 1000 + 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: + - Network Link Endpoints (networking/v1) + security: + - cloud-api-key: [] + - confluent-sts-access-token: [] + responses: + '200': + description: Network Link Endpoint. + content: + application/json: + schema: + allOf: + - $ref: '#/components/schemas/networking.v1.NetworkLinkEndpointList' + - type: object + properties: + data: + type: array + items: + properties: + spec: + type: object + properties: + environment: + example: + id: env-00000 + related: 'https://api.confluent.cloud/v2/environments/env-00000' + resource_name: 'https://api.confluent.cloud/organization=9bb441c4-edef-46ac-8a41-c49e44a3fd9a/environment=env-00000' + network: + example: + id: n-00000 + related: 'https://api.confluent.cloud/networking/v1/networks/n-00000' + resource_name: 'https://api.confluent.cloud/organization=9bb441c4-edef-46ac-8a41-c49e44a3fd9a/environment=env-abc123/network=n-00000' + network_link_service: + example: + id: nls-abcde + related: 'https://api.confluent.cloud/networking/v1/network-link-services/nls-abcde' + resource_name: 'https://api.confluent.cloud/organization=9bb441c4-edef-46ac-8a41-c49e44a3fd9a/environment=env-abc123/network=n-456xyz/network-link-service=nls-abcde' + 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. + + **Important:** This differs from Github and Twitter's same-named header which uses UTC epoch seconds. We use relative time to avoid client/server time synchronization issues. + '400': + $ref: '#/components/responses/BadRequestError' + '401': + $ref: '#/components/responses/UnauthenticatedError' + '403': + $ref: '#/components/responses/UnauthorizedError' + '429': + $ref: '#/components/responses/RateLimitError' + '500': + $ref: '#/components/responses/DefaultSystemError' + x-codeSamples: + - lang: Shell + source: |- + curl --request GET \ + --url 'https://api.confluent.cloud/networking/v1/network-link-endpoints?spec.display_name=prod-net-1-nle,dev-net-1-nle&status.phase=READY,PENDING_ACCEPT&environment=env-00000&spec.network=n-00000,n-00001&spec.network_link_service=nls-abcde,nls-00000' \ + --header 'Authorization: Basic REPLACE_BASIC_AUTH' + - lang: Java + source: |- + OkHttpClient client = new OkHttpClient(); + + Request request = new Request.Builder() + .url("https://api.confluent.cloud/networking/v1/network-link-endpoints?spec.display_name=prod-net-1-nle,dev-net-1-nle&status.phase=READY,PENDING_ACCEPT&environment=env-00000&spec.network=n-00000,n-00001&spec.network_link_service=nls-abcde,nls-00000") + .get() + .addHeader("Authorization", "Basic REPLACE_BASIC_AUTH") + .build(); + + Response response = client.newCall(request).execute(); + - lang: Go + source: "package main\n\nimport (\n\t\"fmt\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.confluent.cloud/networking/v1/network-link-endpoints?spec.display_name=prod-net-1-nle,dev-net-1-nle&status.phase=READY,PENDING_ACCEPT&environment=env-00000&spec.network=n-00000,n-00001&spec.network_link_service=nls-abcde,nls-00000\"\n\n\treq, _ := http.NewRequest(\"GET\", url, nil)\n\n\treq.Header.Add(\"Authorization\", \"Basic REPLACE_BASIC_AUTH\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}" + - lang: Python + source: |- + import http.client + + conn = http.client.HTTPSConnection("api.confluent.cloud") + + headers = { 'Authorization': "Basic REPLACE_BASIC_AUTH" } + + conn.request("GET", "/networking/v1/network-link-endpoints?spec.display_name=prod-net-1-nle,dev-net-1-nle&status.phase=READY,PENDING_ACCEPT&environment=env-00000&spec.network=n-00000,n-00001&spec.network_link_service=nls-abcde,nls-00000", headers=headers) + + res = conn.getresponse() + data = res.read() + + print(data.decode("utf-8")) + - lang: Node + source: |- + const http = require("https"); + + const options = { + "method": "GET", + "hostname": "api.confluent.cloud", + "port": null, + "path": "/networking/v1/network-link-endpoints?spec.display_name=prod-net-1-nle,dev-net-1-nle&status.phase=READY,PENDING_ACCEPT&environment=env-00000&spec.network=n-00000,n-00001&spec.network_link_service=nls-abcde,nls-00000", + "headers": { + "Authorization": "Basic REPLACE_BASIC_AUTH" + } + }; + + const req = http.request(options, function (res) { + const chunks = []; + + res.on("data", function (chunk) { + chunks.push(chunk); + }); + + res.on("end", function () { + const body = Buffer.concat(chunks); + console.log(body.toString()); + }); + }); + + req.end(); + - lang: C + source: |- + CURL *hnd = curl_easy_init(); + + curl_easy_setopt(hnd, CURLOPT_CUSTOMREQUEST, "GET"); + curl_easy_setopt(hnd, CURLOPT_URL, "https://api.confluent.cloud/networking/v1/network-link-endpoints?spec.display_name=prod-net-1-nle,dev-net-1-nle&status.phase=READY,PENDING_ACCEPT&environment=env-00000&spec.network=n-00000,n-00001&spec.network_link_service=nls-abcde,nls-00000"); + + struct curl_slist *headers = NULL; + headers = curl_slist_append(headers, "Authorization: Basic REPLACE_BASIC_AUTH"); + curl_easy_setopt(hnd, CURLOPT_HTTPHEADER, headers); + + CURLcode ret = curl_easy_perform(hnd); + - lang: C# + source: |- + var client = new RestClient("https://api.confluent.cloud/networking/v1/network-link-endpoints?spec.display_name=prod-net-1-nle,dev-net-1-nle&status.phase=READY,PENDING_ACCEPT&environment=env-00000&spec.network=n-00000,n-00001&spec.network_link_service=nls-abcde,nls-00000"); + var request = new RestRequest(Method.GET); + request.AddHeader("Authorization", "Basic REPLACE_BASIC_AUTH"); + IRestResponse response = client.Execute(request); + post: + operationId: createNetworkingV1NetworkLinkEndpoint + summary: Create a Network Link Endpoint + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + Make a request to create a network link endpoint. + tags: + - Network Link Endpoints (networking/v1) + security: + - cloud-api-key: [] + - confluent-sts-access-token: [] + requestBody: + content: + application/json: + schema: + allOf: + - $ref: '#/components/schemas/networking.v1.NetworkLinkEndpoint' + - type: object + required: + - spec + properties: + spec: + type: object + required: + - environment + - network + - network_link_service + - type: object + properties: + spec: + type: object + properties: + environment: + example: + id: env-00000 + network: + example: + id: n-00000 + network_link_service: + example: + id: nls-abcde + responses: + '202': + description: A Network Link Endpoint is being created. + headers: + X-Request-Id: + schema: + type: string + description: The unique identifier for the API request. + X-RateLimit-Limit: + schema: + type: integer + description: The maximum number of requests you're permitted to make per time period. + X-RateLimit-Remaining: + schema: + type: integer + description: The number of requests remaining in the current rate limit window. + X-RateLimit-Reset: + schema: + type: integer + description: |- + The relative time in seconds until the current rate-limit window resets. + + **Important:** This differs from Github and Twitter's same-named header which uses UTC epoch seconds. We use relative time to avoid client/server time synchronization issues. + Location: + schema: + type: string + format: uri + example: 'https://api.confluent.cloud/networking/v1/network-link-endpoints/{id}' + description: NetworkLinkEndpoint resource uri + content: + application/json: + schema: + allOf: + - $ref: '#/components/schemas/networking.v1.NetworkLinkEndpoint' + - type: object + required: + - spec + - status + properties: + spec: + type: object + required: + - environment + - network + - network_link_service + - type: object + properties: + spec: + type: object + properties: + environment: + example: + id: env-00000 + related: 'https://api.confluent.cloud/v2/environments/env-00000' + resource_name: 'https://api.confluent.cloud/organization=9bb441c4-edef-46ac-8a41-c49e44a3fd9a/environment=env-00000' + network: + example: + id: n-00000 + related: 'https://api.confluent.cloud/networking/v1/networks/n-00000' + resource_name: 'https://api.confluent.cloud/organization=9bb441c4-edef-46ac-8a41-c49e44a3fd9a/environment=env-abc123/network=n-00000' + network_link_service: + example: + id: nls-abcde + related: 'https://api.confluent.cloud/networking/v1/network-link-services/nls-abcde' + resource_name: 'https://api.confluent.cloud/organization=9bb441c4-edef-46ac-8a41-c49e44a3fd9a/environment=env-abc123/network=n-456xyz/network-link-service=nls-abcde' + '400': + $ref: '#/components/responses/BadRequestError' + '401': + $ref: '#/components/responses/UnauthenticatedError' + '402': + $ref: '#/components/responses/OverQuotaError' + '403': + $ref: '#/components/responses/UnauthorizedError' + '409': + $ref: '#/components/responses/ConflictError' + '422': + $ref: '#/components/responses/ValidationError' + '429': + $ref: '#/components/responses/RateLimitError' + '500': + $ref: '#/components/responses/DefaultSystemError' + x-codeSamples: + - lang: Shell + source: |- + curl --request POST \ + --url https://api.confluent.cloud/networking/v1/network-link-endpoints \ + --header 'Authorization: Basic REPLACE_BASIC_AUTH' \ + --header 'content-type: application/json' \ + --data '{"spec":{"display_name":"prod-net-1-nle","description":"Connect to Network - analytics hub","environment":{"id":"env-00000"},"network":{"id":"n-00000","environment":"string"},"network_link_service":{"id":"nls-abcde","environment":"string"}}}' + - lang: Java + source: |- + OkHttpClient client = new OkHttpClient(); + + MediaType mediaType = MediaType.parse("application/json"); + RequestBody body = RequestBody.create(mediaType, "{\"spec\":{\"display_name\":\"prod-net-1-nle\",\"description\":\"Connect to Network - analytics hub\",\"environment\":{\"id\":\"env-00000\"},\"network\":{\"id\":\"n-00000\",\"environment\":\"string\"},\"network_link_service\":{\"id\":\"nls-abcde\",\"environment\":\"string\"}}}"); + Request request = new Request.Builder() + .url("https://api.confluent.cloud/networking/v1/network-link-endpoints") + .post(body) + .addHeader("content-type", "application/json") + .addHeader("Authorization", "Basic REPLACE_BASIC_AUTH") + .build(); + + Response response = client.newCall(request).execute(); + - lang: Go + source: "package main\n\nimport (\n\t\"fmt\"\n\t\"strings\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.confluent.cloud/networking/v1/network-link-endpoints\"\n\n\tpayload := strings.NewReader(\"{\\\"spec\\\":{\\\"display_name\\\":\\\"prod-net-1-nle\\\",\\\"description\\\":\\\"Connect to Network - analytics hub\\\",\\\"environment\\\":{\\\"id\\\":\\\"env-00000\\\"},\\\"network\\\":{\\\"id\\\":\\\"n-00000\\\",\\\"environment\\\":\\\"string\\\"},\\\"network_link_service\\\":{\\\"id\\\":\\\"nls-abcde\\\",\\\"environment\\\":\\\"string\\\"}}}\")\n\n\treq, _ := http.NewRequest(\"POST\", url, payload)\n\n\treq.Header.Add(\"content-type\", \"application/json\")\n\treq.Header.Add(\"Authorization\", \"Basic REPLACE_BASIC_AUTH\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}" + - lang: Python + source: |- + import http.client + + conn = http.client.HTTPSConnection("api.confluent.cloud") + + payload = "{\"spec\":{\"display_name\":\"prod-net-1-nle\",\"description\":\"Connect to Network - analytics hub\",\"environment\":{\"id\":\"env-00000\"},\"network\":{\"id\":\"n-00000\",\"environment\":\"string\"},\"network_link_service\":{\"id\":\"nls-abcde\",\"environment\":\"string\"}}}" + + headers = { + 'content-type': "application/json", + 'Authorization': "Basic REPLACE_BASIC_AUTH" + } + + conn.request("POST", "/networking/v1/network-link-endpoints", payload, headers) + + res = conn.getresponse() + data = res.read() + + print(data.decode("utf-8")) + - lang: Node + source: |- + const http = require("https"); + + const options = { + "method": "POST", + "hostname": "api.confluent.cloud", + "port": null, + "path": "/networking/v1/network-link-endpoints", + "headers": { + "content-type": "application/json", + "Authorization": "Basic REPLACE_BASIC_AUTH" + } + }; + + const req = http.request(options, function (res) { + const chunks = []; + + res.on("data", function (chunk) { + chunks.push(chunk); + }); + + res.on("end", function () { + const body = Buffer.concat(chunks); + console.log(body.toString()); + }); + }); + + req.write(JSON.stringify({ + spec: { + display_name: 'prod-net-1-nle', + description: 'Connect to Network - analytics hub', + environment: {id: 'env-00000'}, + network: {id: 'n-00000', environment: 'string'}, + network_link_service: {id: 'nls-abcde', environment: 'string'} + } + })); + req.end(); + - lang: C + source: |- + CURL *hnd = curl_easy_init(); + + curl_easy_setopt(hnd, CURLOPT_CUSTOMREQUEST, "POST"); + curl_easy_setopt(hnd, CURLOPT_URL, "https://api.confluent.cloud/networking/v1/network-link-endpoints"); + + struct curl_slist *headers = NULL; + headers = curl_slist_append(headers, "content-type: application/json"); + headers = curl_slist_append(headers, "Authorization: Basic REPLACE_BASIC_AUTH"); + curl_easy_setopt(hnd, CURLOPT_HTTPHEADER, headers); + + curl_easy_setopt(hnd, CURLOPT_POSTFIELDS, "{\"spec\":{\"display_name\":\"prod-net-1-nle\",\"description\":\"Connect to Network - analytics hub\",\"environment\":{\"id\":\"env-00000\"},\"network\":{\"id\":\"n-00000\",\"environment\":\"string\"},\"network_link_service\":{\"id\":\"nls-abcde\",\"environment\":\"string\"}}}"); + + CURLcode ret = curl_easy_perform(hnd); + - lang: C# + source: |- + var client = new RestClient("https://api.confluent.cloud/networking/v1/network-link-endpoints"); + var request = new RestRequest(Method.POST); + request.AddHeader("content-type", "application/json"); + request.AddHeader("Authorization", "Basic REPLACE_BASIC_AUTH"); + request.AddParameter("application/json", "{\"spec\":{\"display_name\":\"prod-net-1-nle\",\"description\":\"Connect to Network - analytics hub\",\"environment\":{\"id\":\"env-00000\"},\"network\":{\"id\":\"n-00000\",\"environment\":\"string\"},\"network_link_service\":{\"id\":\"nls-abcde\",\"environment\":\"string\"}}}", ParameterType.RequestBody); + IRestResponse response = client.Execute(request); + '/networking/v1/network-link-endpoints/{id}': + get: + operationId: getNetworkingV1NetworkLinkEndpoint + summary: Read a Network Link Endpoint + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + Make a request to read a network link endpoint. + parameters: + - name: environment + in: query + required: true + schema: + $ref: '#/components/schemas/SearchFilter' + example: env-00000 + description: Scope the operation to the given environment. + - name: id + in: path + required: true + schema: + type: string + description: The unique identifier for the network link endpoint. + tags: + - Network Link Endpoints (networking/v1) + security: + - cloud-api-key: [] + - confluent-sts-access-token: [] + responses: + '200': + description: Network Link Endpoint. + content: + application/json: + schema: + allOf: + - $ref: '#/components/schemas/networking.v1.NetworkLinkEndpoint' + - type: object + required: + - api_version + - kind + - id + - spec + - status + properties: + spec: + type: object + required: + - environment + - network + - network_link_service + - type: object + properties: + spec: + type: object + properties: + environment: + example: + id: env-00000 + related: 'https://api.confluent.cloud/v2/environments/env-00000' + resource_name: 'https://api.confluent.cloud/organization=9bb441c4-edef-46ac-8a41-c49e44a3fd9a/environment=env-00000' + network: + example: + id: n-00000 + related: 'https://api.confluent.cloud/networking/v1/networks/n-00000' + resource_name: 'https://api.confluent.cloud/organization=9bb441c4-edef-46ac-8a41-c49e44a3fd9a/environment=env-abc123/network=n-00000' + network_link_service: + example: + id: nls-abcde + related: 'https://api.confluent.cloud/networking/v1/network-link-services/nls-abcde' + resource_name: 'https://api.confluent.cloud/organization=9bb441c4-edef-46ac-8a41-c49e44a3fd9a/environment=env-abc123/network=n-456xyz/network-link-service=nls-abcde' + 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. + + **Important:** This differs from Github and Twitter's same-named header which uses UTC epoch seconds. We use relative time to avoid client/server time synchronization issues. + '400': + $ref: '#/components/responses/BadRequestError' + '401': + $ref: '#/components/responses/UnauthenticatedError' + '403': + $ref: '#/components/responses/UnauthorizedError' + '404': + $ref: '#/components/responses/NotFoundError' + '429': + $ref: '#/components/responses/RateLimitError' + '500': + $ref: '#/components/responses/DefaultSystemError' + x-codeSamples: + - lang: Shell + source: |- + curl --request GET \ + --url 'https://api.confluent.cloud/networking/v1/network-link-endpoints/{id}?environment=env-00000' \ + --header 'Authorization: Basic REPLACE_BASIC_AUTH' + - lang: Java + source: |- + OkHttpClient client = new OkHttpClient(); + + Request request = new Request.Builder() + .url("https://api.confluent.cloud/networking/v1/network-link-endpoints/{id}?environment=env-00000") + .get() + .addHeader("Authorization", "Basic REPLACE_BASIC_AUTH") + .build(); + + Response response = client.newCall(request).execute(); + - lang: Go + source: "package main\n\nimport (\n\t\"fmt\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.confluent.cloud/networking/v1/network-link-endpoints/{id}?environment=env-00000\"\n\n\treq, _ := http.NewRequest(\"GET\", url, nil)\n\n\treq.Header.Add(\"Authorization\", \"Basic REPLACE_BASIC_AUTH\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}" + - lang: Python + source: |- + import http.client + + conn = http.client.HTTPSConnection("api.confluent.cloud") + + headers = { 'Authorization': "Basic REPLACE_BASIC_AUTH" } + + conn.request("GET", "/networking/v1/network-link-endpoints/{id}?environment=env-00000", headers=headers) + + res = conn.getresponse() + data = res.read() + + print(data.decode("utf-8")) + - lang: Node + source: |- + const http = require("https"); + + const options = { + "method": "GET", + "hostname": "api.confluent.cloud", + "port": null, + "path": "/networking/v1/network-link-endpoints/{id}?environment=env-00000", + "headers": { + "Authorization": "Basic REPLACE_BASIC_AUTH" + } + }; + + const req = http.request(options, function (res) { + const chunks = []; + + res.on("data", function (chunk) { + chunks.push(chunk); + }); + + res.on("end", function () { + const body = Buffer.concat(chunks); + console.log(body.toString()); + }); + }); + + req.end(); + - lang: C + source: |- + CURL *hnd = curl_easy_init(); + + curl_easy_setopt(hnd, CURLOPT_CUSTOMREQUEST, "GET"); + curl_easy_setopt(hnd, CURLOPT_URL, "https://api.confluent.cloud/networking/v1/network-link-endpoints/{id}?environment=env-00000"); + + struct curl_slist *headers = NULL; + headers = curl_slist_append(headers, "Authorization: Basic REPLACE_BASIC_AUTH"); + curl_easy_setopt(hnd, CURLOPT_HTTPHEADER, headers); + + CURLcode ret = curl_easy_perform(hnd); + - lang: C# + source: |- + var client = new RestClient("https://api.confluent.cloud/networking/v1/network-link-endpoints/{id}?environment=env-00000"); + var request = new RestRequest(Method.GET); + request.AddHeader("Authorization", "Basic REPLACE_BASIC_AUTH"); + IRestResponse response = client.Execute(request); + patch: + operationId: updateNetworkingV1NetworkLinkEndpoint + summary: Update a Network Link Endpoint + description: |+ + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + Make a request to update a network link endpoint. + + parameters: + - name: id + in: path + required: true + schema: + type: string + description: The unique identifier for the network link endpoint. + tags: + - Network Link Endpoints (networking/v1) + security: + - cloud-api-key: [] + - confluent-sts-access-token: [] + requestBody: + content: + application/json: + schema: + allOf: + - $ref: '#/components/schemas/networking.v1.NetworkLinkEndpointUpdate' + - type: object + required: + - spec + properties: + spec: + type: object + required: + - environment + properties: + environment: + example: + id: env-00000 + responses: + '200': + description: Network Link Endpoint. + content: + application/json: + schema: + allOf: + - $ref: '#/components/schemas/networking.v1.NetworkLinkEndpoint' + - type: object + required: + - api_version + - kind + - id + - spec + - status + properties: + spec: + type: object + required: + - environment + - network + - network_link_service + - type: object + properties: + spec: + type: object + properties: + environment: + example: + id: env-00000 + related: 'https://api.confluent.cloud/v2/environments/env-00000' + resource_name: 'https://api.confluent.cloud/organization=9bb441c4-edef-46ac-8a41-c49e44a3fd9a/environment=env-00000' + network: + example: + id: n-00000 + related: 'https://api.confluent.cloud/networking/v1/networks/n-00000' + resource_name: 'https://api.confluent.cloud/organization=9bb441c4-edef-46ac-8a41-c49e44a3fd9a/environment=env-abc123/network=n-00000' + network_link_service: + example: + id: nls-abcde + related: 'https://api.confluent.cloud/networking/v1/network-link-services/nls-abcde' + resource_name: 'https://api.confluent.cloud/organization=9bb441c4-edef-46ac-8a41-c49e44a3fd9a/environment=env-abc123/network=n-456xyz/network-link-service=nls-abcde' + 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. + + **Important:** This differs from Github and Twitter's same-named header which uses UTC epoch seconds. We use relative time to avoid client/server time synchronization issues. + '400': + $ref: '#/components/responses/BadRequestError' + '401': + $ref: '#/components/responses/UnauthenticatedError' + '402': + $ref: '#/components/responses/OverQuotaError' + '403': + $ref: '#/components/responses/UnauthorizedError' + '404': + $ref: '#/components/responses/NotFoundError' + '409': + $ref: '#/components/responses/ConflictError' + '422': + $ref: '#/components/responses/ValidationError' + '429': + $ref: '#/components/responses/RateLimitError' + '500': + $ref: '#/components/responses/DefaultSystemError' + x-codeSamples: + - lang: Shell + source: |- + curl --request PATCH \ + --url 'https://api.confluent.cloud/networking/v1/network-link-endpoints/{id}' \ + --header 'Authorization: Basic REPLACE_BASIC_AUTH' \ + --header 'content-type: application/json' \ + --data '{"spec":{"display_name":"prod-net-1-nle","description":"Connect to Network - analytics hub","environment":{"id":"env-00000"},"network":{"id":"string","environment":"string"},"network_link_service":{"id":"string","environment":"string"}}}' + - lang: Java + source: |- + OkHttpClient client = new OkHttpClient(); + + MediaType mediaType = MediaType.parse("application/json"); + RequestBody body = RequestBody.create(mediaType, "{\"spec\":{\"display_name\":\"prod-net-1-nle\",\"description\":\"Connect to Network - analytics hub\",\"environment\":{\"id\":\"env-00000\"},\"network\":{\"id\":\"string\",\"environment\":\"string\"},\"network_link_service\":{\"id\":\"string\",\"environment\":\"string\"}}}"); + Request request = new Request.Builder() + .url("https://api.confluent.cloud/networking/v1/network-link-endpoints/{id}") + .patch(body) + .addHeader("content-type", "application/json") + .addHeader("Authorization", "Basic REPLACE_BASIC_AUTH") + .build(); + + Response response = client.newCall(request).execute(); + - lang: Go + source: "package main\n\nimport (\n\t\"fmt\"\n\t\"strings\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.confluent.cloud/networking/v1/network-link-endpoints/{id}\"\n\n\tpayload := strings.NewReader(\"{\\\"spec\\\":{\\\"display_name\\\":\\\"prod-net-1-nle\\\",\\\"description\\\":\\\"Connect to Network - analytics hub\\\",\\\"environment\\\":{\\\"id\\\":\\\"env-00000\\\"},\\\"network\\\":{\\\"id\\\":\\\"string\\\",\\\"environment\\\":\\\"string\\\"},\\\"network_link_service\\\":{\\\"id\\\":\\\"string\\\",\\\"environment\\\":\\\"string\\\"}}}\")\n\n\treq, _ := http.NewRequest(\"PATCH\", url, payload)\n\n\treq.Header.Add(\"content-type\", \"application/json\")\n\treq.Header.Add(\"Authorization\", \"Basic REPLACE_BASIC_AUTH\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}" + - lang: Python + source: |- + import http.client + + conn = http.client.HTTPSConnection("api.confluent.cloud") + + payload = "{\"spec\":{\"display_name\":\"prod-net-1-nle\",\"description\":\"Connect to Network - analytics hub\",\"environment\":{\"id\":\"env-00000\"},\"network\":{\"id\":\"string\",\"environment\":\"string\"},\"network_link_service\":{\"id\":\"string\",\"environment\":\"string\"}}}" + + headers = { + 'content-type': "application/json", + 'Authorization': "Basic REPLACE_BASIC_AUTH" + } + + conn.request("PATCH", "/networking/v1/network-link-endpoints/{id}", payload, headers) + + res = conn.getresponse() + data = res.read() + + print(data.decode("utf-8")) + - lang: Node + source: |- + const http = require("https"); + + const options = { + "method": "PATCH", + "hostname": "api.confluent.cloud", + "port": null, + "path": "/networking/v1/network-link-endpoints/{id}", + "headers": { + "content-type": "application/json", + "Authorization": "Basic REPLACE_BASIC_AUTH" + } + }; + + const req = http.request(options, function (res) { + const chunks = []; + + res.on("data", function (chunk) { + chunks.push(chunk); + }); + + res.on("end", function () { + const body = Buffer.concat(chunks); + console.log(body.toString()); + }); + }); + + req.write(JSON.stringify({ + spec: { + display_name: 'prod-net-1-nle', + description: 'Connect to Network - analytics hub', + environment: {id: 'env-00000'}, + network: {id: 'string', environment: 'string'}, + network_link_service: {id: 'string', environment: 'string'} + } + })); + req.end(); + - lang: C + source: |- + CURL *hnd = curl_easy_init(); + + curl_easy_setopt(hnd, CURLOPT_CUSTOMREQUEST, "PATCH"); + curl_easy_setopt(hnd, CURLOPT_URL, "https://api.confluent.cloud/networking/v1/network-link-endpoints/{id}"); + + struct curl_slist *headers = NULL; + headers = curl_slist_append(headers, "content-type: application/json"); + headers = curl_slist_append(headers, "Authorization: Basic REPLACE_BASIC_AUTH"); + curl_easy_setopt(hnd, CURLOPT_HTTPHEADER, headers); + + curl_easy_setopt(hnd, CURLOPT_POSTFIELDS, "{\"spec\":{\"display_name\":\"prod-net-1-nle\",\"description\":\"Connect to Network - analytics hub\",\"environment\":{\"id\":\"env-00000\"},\"network\":{\"id\":\"string\",\"environment\":\"string\"},\"network_link_service\":{\"id\":\"string\",\"environment\":\"string\"}}}"); + + CURLcode ret = curl_easy_perform(hnd); + - lang: C# + source: |- + var client = new RestClient("https://api.confluent.cloud/networking/v1/network-link-endpoints/{id}"); + var request = new RestRequest(Method.PATCH); + request.AddHeader("content-type", "application/json"); + request.AddHeader("Authorization", "Basic REPLACE_BASIC_AUTH"); + request.AddParameter("application/json", "{\"spec\":{\"display_name\":\"prod-net-1-nle\",\"description\":\"Connect to Network - analytics hub\",\"environment\":{\"id\":\"env-00000\"},\"network\":{\"id\":\"string\",\"environment\":\"string\"},\"network_link_service\":{\"id\":\"string\",\"environment\":\"string\"}}}", ParameterType.RequestBody); + IRestResponse response = client.Execute(request); + delete: + operationId: deleteNetworkingV1NetworkLinkEndpoint + summary: Delete a Network Link Endpoint + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + Make a request to delete a network link endpoint. + parameters: + - name: environment + in: query + required: true + schema: + $ref: '#/components/schemas/SearchFilter' + example: env-00000 + description: Scope the operation to the given environment. + - name: id + in: path + required: true + schema: + type: string + description: The unique identifier for the network link endpoint. + tags: + - Network Link Endpoints (networking/v1) + security: + - cloud-api-key: [] + - confluent-sts-access-token: [] + responses: + '204': + description: A Network Link Endpoint is being deleted. + headers: + X-Request-Id: + schema: + type: string + description: The unique identifier for the API request. + X-RateLimit-Limit: + schema: + type: integer + description: The maximum number of requests you're permitted to make per time period. + X-RateLimit-Remaining: + schema: + type: integer + description: The number of requests remaining in the current rate limit window. + X-RateLimit-Reset: + schema: + type: integer + description: |- + The relative time in seconds until the current rate-limit window resets. + + **Important:** This differs from Github and Twitter's same-named header which uses UTC epoch seconds. We use relative time to avoid client/server time synchronization issues. + '400': + $ref: '#/components/responses/BadRequestError' + '401': + $ref: '#/components/responses/UnauthenticatedError' + '403': + $ref: '#/components/responses/UnauthorizedError' + '404': + $ref: '#/components/responses/NotFoundError' + '429': + $ref: '#/components/responses/RateLimitError' + '500': + $ref: '#/components/responses/DefaultSystemError' + x-codeSamples: + - lang: Shell + source: |- + curl --request DELETE \ + --url 'https://api.confluent.cloud/networking/v1/network-link-endpoints/{id}?environment=env-00000' \ + --header 'Authorization: Basic REPLACE_BASIC_AUTH' + - lang: Java + source: |- + OkHttpClient client = new OkHttpClient(); + + Request request = new Request.Builder() + .url("https://api.confluent.cloud/networking/v1/network-link-endpoints/{id}?environment=env-00000") + .delete(null) + .addHeader("Authorization", "Basic REPLACE_BASIC_AUTH") + .build(); + + Response response = client.newCall(request).execute(); + - lang: Go + source: "package main\n\nimport (\n\t\"fmt\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.confluent.cloud/networking/v1/network-link-endpoints/{id}?environment=env-00000\"\n\n\treq, _ := http.NewRequest(\"DELETE\", url, nil)\n\n\treq.Header.Add(\"Authorization\", \"Basic REPLACE_BASIC_AUTH\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}" + - lang: Python + source: |- + import http.client + + conn = http.client.HTTPSConnection("api.confluent.cloud") + + headers = { 'Authorization': "Basic REPLACE_BASIC_AUTH" } + + conn.request("DELETE", "/networking/v1/network-link-endpoints/{id}?environment=env-00000", headers=headers) + + res = conn.getresponse() + data = res.read() + + print(data.decode("utf-8")) + - lang: Node + source: |- + const http = require("https"); + + const options = { + "method": "DELETE", + "hostname": "api.confluent.cloud", + "port": null, + "path": "/networking/v1/network-link-endpoints/{id}?environment=env-00000", + "headers": { + "Authorization": "Basic REPLACE_BASIC_AUTH" + } + }; + + const req = http.request(options, function (res) { + const chunks = []; + + res.on("data", function (chunk) { + chunks.push(chunk); + }); + + res.on("end", function () { + const body = Buffer.concat(chunks); + console.log(body.toString()); + }); + }); + + req.end(); + - lang: C + source: |- + CURL *hnd = curl_easy_init(); + + curl_easy_setopt(hnd, CURLOPT_CUSTOMREQUEST, "DELETE"); + curl_easy_setopt(hnd, CURLOPT_URL, "https://api.confluent.cloud/networking/v1/network-link-endpoints/{id}?environment=env-00000"); + + struct curl_slist *headers = NULL; + headers = curl_slist_append(headers, "Authorization: Basic REPLACE_BASIC_AUTH"); + curl_easy_setopt(hnd, CURLOPT_HTTPHEADER, headers); + + CURLcode ret = curl_easy_perform(hnd); + - lang: C# + source: |- + var client = new RestClient("https://api.confluent.cloud/networking/v1/network-link-endpoints/{id}?environment=env-00000"); + var request = new RestRequest(Method.DELETE); + request.AddHeader("Authorization", "Basic REPLACE_BASIC_AUTH"); + IRestResponse response = client.Execute(request); + /networking/v1/network-link-service-associations: + get: + operationId: listNetworkingV1NetworkLinkServiceAssociations + summary: List of Network Link Service Associations + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + Retrieve a sorted, filtered, paginated list of all network link service associations. + parameters: + - name: status.phase + in: query + required: false + schema: + $ref: '#/components/schemas/MultipleSearchFilter' + example: + - READY + - PENDING_ACCEPT + description: Filter the results by exact match for status.phase. Pass multiple times to see results matching any of the values. + style: form + explode: true + - name: spec.network_link_service + in: query + required: true + schema: + $ref: '#/components/schemas/SearchFilter' + example: nls-abcde + description: Filter the results by exact match for spec.network_link_service. + - name: environment + in: query + required: true + schema: + $ref: '#/components/schemas/SearchFilter' + example: env-00000 + description: Filter the results by exact match for environment. + - name: page_size + in: query + required: false + schema: + type: integer + default: 10 + maximum: 1000 + x-max-page-items: 1000 + 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: + - Network Link Service Associations (networking/v1) + security: + - cloud-api-key: [] + - confluent-sts-access-token: [] + responses: + '200': + description: Network Link Service Association. + content: + application/json: + schema: + allOf: + - $ref: '#/components/schemas/networking.v1.NetworkLinkServiceAssociationList' + - type: object + properties: + data: + type: array + items: + properties: + spec: + type: object + properties: + network_link_service: + example: + id: nls-abcde + related: 'https://api.confluent.cloud/networking/v1/network-link-services/nls-abcde' + resource_name: 'https://api.confluent.cloud/organization=9bb441c4-edef-46ac-8a41-c49e44a3fd9a/environment=env-abc123/network=n-456xyz/network-link-service=nls-abcde' + 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. + + **Important:** This differs from Github and Twitter's same-named header which uses UTC epoch seconds. We use relative time to avoid client/server time synchronization issues. + '400': + $ref: '#/components/responses/BadRequestError' + '401': + $ref: '#/components/responses/UnauthenticatedError' + '403': + $ref: '#/components/responses/UnauthorizedError' + '429': + $ref: '#/components/responses/RateLimitError' + '500': + $ref: '#/components/responses/DefaultSystemError' + x-codeSamples: + - lang: Shell + source: |- + curl --request GET \ + --url 'https://api.confluent.cloud/networking/v1/network-link-service-associations?status.phase=READY,PENDING_ACCEPT&spec.network_link_service=nls-abcde&environment=env-00000' \ + --header 'Authorization: Basic REPLACE_BASIC_AUTH' + - lang: Java + source: |- + OkHttpClient client = new OkHttpClient(); + + Request request = new Request.Builder() + .url("https://api.confluent.cloud/networking/v1/network-link-service-associations?status.phase=READY,PENDING_ACCEPT&spec.network_link_service=nls-abcde&environment=env-00000") + .get() + .addHeader("Authorization", "Basic REPLACE_BASIC_AUTH") + .build(); + + Response response = client.newCall(request).execute(); + - lang: Go + source: "package main\n\nimport (\n\t\"fmt\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.confluent.cloud/networking/v1/network-link-service-associations?status.phase=READY,PENDING_ACCEPT&spec.network_link_service=nls-abcde&environment=env-00000\"\n\n\treq, _ := http.NewRequest(\"GET\", url, nil)\n\n\treq.Header.Add(\"Authorization\", \"Basic REPLACE_BASIC_AUTH\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}" + - lang: Python + source: |- + import http.client + + conn = http.client.HTTPSConnection("api.confluent.cloud") + + headers = { 'Authorization': "Basic REPLACE_BASIC_AUTH" } + + conn.request("GET", "/networking/v1/network-link-service-associations?status.phase=READY,PENDING_ACCEPT&spec.network_link_service=nls-abcde&environment=env-00000", headers=headers) + + res = conn.getresponse() + data = res.read() + + print(data.decode("utf-8")) + - lang: Node + source: |- + const http = require("https"); + + const options = { + "method": "GET", + "hostname": "api.confluent.cloud", + "port": null, + "path": "/networking/v1/network-link-service-associations?status.phase=READY,PENDING_ACCEPT&spec.network_link_service=nls-abcde&environment=env-00000", + "headers": { + "Authorization": "Basic REPLACE_BASIC_AUTH" + } + }; + + const req = http.request(options, function (res) { + const chunks = []; + + res.on("data", function (chunk) { + chunks.push(chunk); + }); + + res.on("end", function () { + const body = Buffer.concat(chunks); + console.log(body.toString()); + }); + }); + + req.end(); + - lang: C + source: |- + CURL *hnd = curl_easy_init(); + + curl_easy_setopt(hnd, CURLOPT_CUSTOMREQUEST, "GET"); + curl_easy_setopt(hnd, CURLOPT_URL, "https://api.confluent.cloud/networking/v1/network-link-service-associations?status.phase=READY,PENDING_ACCEPT&spec.network_link_service=nls-abcde&environment=env-00000"); + + struct curl_slist *headers = NULL; + headers = curl_slist_append(headers, "Authorization: Basic REPLACE_BASIC_AUTH"); + curl_easy_setopt(hnd, CURLOPT_HTTPHEADER, headers); + + CURLcode ret = curl_easy_perform(hnd); + - lang: C# + source: |- + var client = new RestClient("https://api.confluent.cloud/networking/v1/network-link-service-associations?status.phase=READY,PENDING_ACCEPT&spec.network_link_service=nls-abcde&environment=env-00000"); + var request = new RestRequest(Method.GET); + request.AddHeader("Authorization", "Basic REPLACE_BASIC_AUTH"); + IRestResponse response = client.Execute(request); + '/networking/v1/network-link-service-associations/{id}': + get: + operationId: getNetworkingV1NetworkLinkServiceAssociation + summary: Read a Network Link Service Association + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + Make a request to read a network link service association. + parameters: + - name: spec.network_link_service + in: query + required: true + schema: + $ref: '#/components/schemas/SearchFilter' + example: nls-abcde + description: Scope the operation to the given spec.network_link_service. + - name: environment + in: query + required: true + schema: + $ref: '#/components/schemas/SearchFilter' + example: env-00000 + description: Scope the operation to the given environment. + - name: id + in: path + required: true + schema: + type: string + description: The unique identifier for the network link service association. + tags: + - Network Link Service Associations (networking/v1) + security: + - cloud-api-key: [] + - confluent-sts-access-token: [] + responses: + '200': + description: Network Link Service Association. + content: + application/json: + schema: + allOf: + - $ref: '#/components/schemas/networking.v1.NetworkLinkServiceAssociation' + - type: object + required: + - api_version + - kind + - id + - spec + - status + properties: + spec: + type: object + required: + - display_name + - network_link_endpoint + - network_link_service + - environment + - type: object + properties: + spec: + type: object + properties: + network_link_service: + example: + id: nls-abcde + related: 'https://api.confluent.cloud/networking/v1/network-link-services/nls-abcde' + resource_name: 'https://api.confluent.cloud/organization=9bb441c4-edef-46ac-8a41-c49e44a3fd9a/environment=env-abc123/network=n-456xyz/network-link-service=nls-abcde' + 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. + + **Important:** This differs from Github and Twitter's same-named header which uses UTC epoch seconds. We use relative time to avoid client/server time synchronization issues. + '400': + $ref: '#/components/responses/BadRequestError' + '401': + $ref: '#/components/responses/UnauthenticatedError' + '403': + $ref: '#/components/responses/UnauthorizedError' + '404': + $ref: '#/components/responses/NotFoundError' + '429': + $ref: '#/components/responses/RateLimitError' + '500': + $ref: '#/components/responses/DefaultSystemError' + x-codeSamples: + - lang: Shell + source: |- + curl --request GET \ + --url 'https://api.confluent.cloud/networking/v1/network-link-service-associations/{id}?spec.network_link_service=nls-abcde&environment=env-00000' \ + --header 'Authorization: Basic REPLACE_BASIC_AUTH' + - lang: Java + source: |- + OkHttpClient client = new OkHttpClient(); + + Request request = new Request.Builder() + .url("https://api.confluent.cloud/networking/v1/network-link-service-associations/{id}?spec.network_link_service=nls-abcde&environment=env-00000") + .get() + .addHeader("Authorization", "Basic REPLACE_BASIC_AUTH") + .build(); + + Response response = client.newCall(request).execute(); + - lang: Go + source: "package main\n\nimport (\n\t\"fmt\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.confluent.cloud/networking/v1/network-link-service-associations/{id}?spec.network_link_service=nls-abcde&environment=env-00000\"\n\n\treq, _ := http.NewRequest(\"GET\", url, nil)\n\n\treq.Header.Add(\"Authorization\", \"Basic REPLACE_BASIC_AUTH\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}" + - lang: Python + source: |- + import http.client + + conn = http.client.HTTPSConnection("api.confluent.cloud") + + headers = { 'Authorization': "Basic REPLACE_BASIC_AUTH" } + + conn.request("GET", "/networking/v1/network-link-service-associations/{id}?spec.network_link_service=nls-abcde&environment=env-00000", headers=headers) + + res = conn.getresponse() + data = res.read() + + print(data.decode("utf-8")) + - lang: Node + source: |- + const http = require("https"); + + const options = { + "method": "GET", + "hostname": "api.confluent.cloud", + "port": null, + "path": "/networking/v1/network-link-service-associations/{id}?spec.network_link_service=nls-abcde&environment=env-00000", + "headers": { + "Authorization": "Basic REPLACE_BASIC_AUTH" + } + }; + + const req = http.request(options, function (res) { + const chunks = []; + + res.on("data", function (chunk) { + chunks.push(chunk); + }); + + res.on("end", function () { + const body = Buffer.concat(chunks); + console.log(body.toString()); + }); + }); + + req.end(); + - lang: C + source: |- + CURL *hnd = curl_easy_init(); + + curl_easy_setopt(hnd, CURLOPT_CUSTOMREQUEST, "GET"); + curl_easy_setopt(hnd, CURLOPT_URL, "https://api.confluent.cloud/networking/v1/network-link-service-associations/{id}?spec.network_link_service=nls-abcde&environment=env-00000"); + + struct curl_slist *headers = NULL; + headers = curl_slist_append(headers, "Authorization: Basic REPLACE_BASIC_AUTH"); + curl_easy_setopt(hnd, CURLOPT_HTTPHEADER, headers); + + CURLcode ret = curl_easy_perform(hnd); + - lang: C# + source: |- + var client = new RestClient("https://api.confluent.cloud/networking/v1/network-link-service-associations/{id}?spec.network_link_service=nls-abcde&environment=env-00000"); + var request = new RestRequest(Method.GET); + request.AddHeader("Authorization", "Basic REPLACE_BASIC_AUTH"); + IRestResponse response = client.Execute(request); + /networking/v1/gateways: + get: + operationId: listNetworkingV1Gateways + summary: List of Gateways + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + Retrieve a sorted, filtered, paginated list of all gateways. + parameters: + - name: environment + in: query + required: true + schema: + $ref: '#/components/schemas/SearchFilter' + example: env-00000 + description: Filter the results by exact match for environment. + - name: page_size + in: query + required: false + schema: + type: integer + default: 10 + maximum: 1000 + x-max-page-items: 1000 + 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: + - Gateways (networking/v1) + security: + - cloud-api-key: [] + - confluent-sts-access-token: [] + responses: + '200': + description: Gateway. + content: + application/json: + schema: + allOf: + - $ref: '#/components/schemas/networking.v1.GatewayList' + - type: object + properties: + data: + type: array + items: + properties: + spec: + type: object + properties: + environment: + example: + id: env-00000 + related: 'https://api.confluent.cloud/v2/environments/env-00000' + resource_name: 'https://api.confluent.cloud/organization=9bb441c4-edef-46ac-8a41-c49e44a3fd9a/environment=env-00000' + headers: + X-Request-Id: + schema: + type: string + description: The unique identifier for the API request. + X-RateLimit-Limit: + schema: + type: integer + description: The maximum number of requests you're permitted to make per time period. + X-RateLimit-Remaining: + schema: + type: integer + description: The number of requests remaining in the current rate limit window. + X-RateLimit-Reset: + schema: + type: integer + description: |- + The relative time in seconds until the current rate-limit window resets. + + **Important:** This differs from Github and Twitter's same-named header which uses UTC epoch seconds. We use relative time to avoid client/server time synchronization issues. + '400': + $ref: '#/components/responses/BadRequestError' + '401': + $ref: '#/components/responses/UnauthenticatedError' + '403': + $ref: '#/components/responses/UnauthorizedError' + '429': + $ref: '#/components/responses/RateLimitError' + '500': + $ref: '#/components/responses/DefaultSystemError' + x-codeSamples: + - lang: Shell + source: |- + curl --request GET \ + --url 'https://api.confluent.cloud/networking/v1/gateways?environment=env-00000' \ + --header 'Authorization: Basic REPLACE_BASIC_AUTH' + - lang: Java + source: |- + OkHttpClient client = new OkHttpClient(); + + Request request = new Request.Builder() + .url("https://api.confluent.cloud/networking/v1/gateways?environment=env-00000") + .get() + .addHeader("Authorization", "Basic REPLACE_BASIC_AUTH") + .build(); + + Response response = client.newCall(request).execute(); + - lang: Go + source: "package main\n\nimport (\n\t\"fmt\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.confluent.cloud/networking/v1/gateways?environment=env-00000\"\n\n\treq, _ := http.NewRequest(\"GET\", url, nil)\n\n\treq.Header.Add(\"Authorization\", \"Basic REPLACE_BASIC_AUTH\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}" + - lang: Python + source: |- + import http.client + + conn = http.client.HTTPSConnection("api.confluent.cloud") + + headers = { 'Authorization': "Basic REPLACE_BASIC_AUTH" } + + conn.request("GET", "/networking/v1/gateways?environment=env-00000", headers=headers) + + res = conn.getresponse() + data = res.read() + + print(data.decode("utf-8")) + - lang: Node + source: |- + const http = require("https"); + + const options = { + "method": "GET", + "hostname": "api.confluent.cloud", + "port": null, + "path": "/networking/v1/gateways?environment=env-00000", + "headers": { + "Authorization": "Basic REPLACE_BASIC_AUTH" + } + }; + + const req = http.request(options, function (res) { + const chunks = []; + + res.on("data", function (chunk) { + chunks.push(chunk); + }); + + res.on("end", function () { + const body = Buffer.concat(chunks); + console.log(body.toString()); + }); + }); + + req.end(); + - lang: C + source: |- + CURL *hnd = curl_easy_init(); + + curl_easy_setopt(hnd, CURLOPT_CUSTOMREQUEST, "GET"); + curl_easy_setopt(hnd, CURLOPT_URL, "https://api.confluent.cloud/networking/v1/gateways?environment=env-00000"); + + struct curl_slist *headers = NULL; + headers = curl_slist_append(headers, "Authorization: Basic REPLACE_BASIC_AUTH"); + curl_easy_setopt(hnd, CURLOPT_HTTPHEADER, headers); + + CURLcode ret = curl_easy_perform(hnd); + - lang: C# + source: |- + var client = new RestClient("https://api.confluent.cloud/networking/v1/gateways?environment=env-00000"); + var request = new RestRequest(Method.GET); + request.AddHeader("Authorization", "Basic REPLACE_BASIC_AUTH"); + IRestResponse response = client.Execute(request); + '/networking/v1/gateways/{id}': + get: + operationId: getNetworkingV1Gateway + summary: Read a Gateway + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + Make a request to read a gateway. + parameters: + - name: environment + in: query + required: true + schema: + $ref: '#/components/schemas/SearchFilter' + example: env-00000 + description: Scope the operation to the given environment. + - name: id + in: path + required: true + schema: + type: string + description: The unique identifier for the gateway. + tags: + - Gateways (networking/v1) + security: + - cloud-api-key: [] + - confluent-sts-access-token: [] + responses: + '200': + description: Gateway. + content: + application/json: + schema: + allOf: + - $ref: '#/components/schemas/networking.v1.Gateway' + - type: object + required: + - api_version + - kind + - id + - spec + - status + properties: + spec: + type: object + required: + - config + - environment + - type: object + properties: + spec: + type: object + properties: + environment: + example: + id: env-00000 + related: 'https://api.confluent.cloud/v2/environments/env-00000' + resource_name: 'https://api.confluent.cloud/organization=9bb441c4-edef-46ac-8a41-c49e44a3fd9a/environment=env-00000' + headers: + X-Request-Id: + schema: + type: string + description: The unique identifier for the API request. + X-RateLimit-Limit: + schema: + type: integer + description: The maximum number of requests you're permitted to make per time period. + X-RateLimit-Remaining: + schema: + type: integer + description: The number of requests remaining in the current rate limit window. + X-RateLimit-Reset: + schema: + type: integer + description: |- + The relative time in seconds until the current rate-limit window resets. + + **Important:** This differs from Github and Twitter's same-named header which uses UTC epoch seconds. We use relative time to avoid client/server time synchronization issues. + '400': + $ref: '#/components/responses/BadRequestError' + '401': + $ref: '#/components/responses/UnauthenticatedError' + '403': + $ref: '#/components/responses/UnauthorizedError' + '404': + $ref: '#/components/responses/NotFoundError' + '429': + $ref: '#/components/responses/RateLimitError' + '500': + $ref: '#/components/responses/DefaultSystemError' + x-codeSamples: + - lang: Shell + source: |- + curl --request GET \ + --url 'https://api.confluent.cloud/networking/v1/gateways/{id}?environment=env-00000' \ + --header 'Authorization: Basic REPLACE_BASIC_AUTH' + - lang: Java + source: |- + OkHttpClient client = new OkHttpClient(); + + Request request = new Request.Builder() + .url("https://api.confluent.cloud/networking/v1/gateways/{id}?environment=env-00000") + .get() + .addHeader("Authorization", "Basic REPLACE_BASIC_AUTH") + .build(); + + Response response = client.newCall(request).execute(); + - lang: Go + source: "package main\n\nimport (\n\t\"fmt\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.confluent.cloud/networking/v1/gateways/{id}?environment=env-00000\"\n\n\treq, _ := http.NewRequest(\"GET\", url, nil)\n\n\treq.Header.Add(\"Authorization\", \"Basic REPLACE_BASIC_AUTH\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}" + - lang: Python + source: |- + import http.client + + conn = http.client.HTTPSConnection("api.confluent.cloud") + + headers = { 'Authorization': "Basic REPLACE_BASIC_AUTH" } + + conn.request("GET", "/networking/v1/gateways/{id}?environment=env-00000", headers=headers) + + res = conn.getresponse() + data = res.read() + + print(data.decode("utf-8")) + - lang: Node + source: |- + const http = require("https"); + + const options = { + "method": "GET", + "hostname": "api.confluent.cloud", + "port": null, + "path": "/networking/v1/gateways/{id}?environment=env-00000", + "headers": { + "Authorization": "Basic REPLACE_BASIC_AUTH" + } + }; + + const req = http.request(options, function (res) { + const chunks = []; + + res.on("data", function (chunk) { + chunks.push(chunk); + }); + + res.on("end", function () { + const body = Buffer.concat(chunks); + console.log(body.toString()); + }); + }); + + req.end(); + - lang: C + source: |- + CURL *hnd = curl_easy_init(); + + curl_easy_setopt(hnd, CURLOPT_CUSTOMREQUEST, "GET"); + curl_easy_setopt(hnd, CURLOPT_URL, "https://api.confluent.cloud/networking/v1/gateways/{id}?environment=env-00000"); + + struct curl_slist *headers = NULL; + headers = curl_slist_append(headers, "Authorization: Basic REPLACE_BASIC_AUTH"); + curl_easy_setopt(hnd, CURLOPT_HTTPHEADER, headers); + + CURLcode ret = curl_easy_perform(hnd); + - lang: C# + source: |- + var client = new RestClient("https://api.confluent.cloud/networking/v1/gateways/{id}?environment=env-00000"); + var request = new RestRequest(Method.GET); + request.AddHeader("Authorization", "Basic REPLACE_BASIC_AUTH"); + IRestResponse response = client.Execute(request); + /networking/v1/ip-addresses: + get: + operationId: listNetworkingV1IpAddresses + summary: List of IP Addresses + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + Related guide: [Use Public Egress IP addresses on Confluent Cloud](https://docs.confluent.io/cloud/current/networking/static-egress-ip-addresses.html) + + Retrieve a sorted, filtered, paginated list of all IP Addresses. + parameters: + - name: cloud + in: query + required: false + schema: + $ref: '#/components/schemas/MultipleSearchFilter' + example: + - GCP + - AWS + description: Filter the results by exact match for cloud. Pass multiple times to see results matching any of the values. + style: form + explode: true + - name: region + in: query + required: false + schema: + $ref: '#/components/schemas/MultipleSearchFilter' + example: + - us-central1 + - us-east-1 + description: Filter the results by exact match for region. Pass multiple times to see results matching any of the values. + style: form + explode: true + - name: services + in: query + required: false + schema: + $ref: '#/components/schemas/MultipleSearchFilter' + example: + - KAFKA + - CONNECT + description: Filter the results by exact match for services. Pass multiple times to see results matching any of the values. + style: form + explode: true + - name: address_type + in: query + required: false + schema: + $ref: '#/components/schemas/MultipleSearchFilter' + example: + - INGRESS + - EGRESS + description: Filter the results by exact match for address_type. Pass multiple times to see results matching any of the values. + style: form + explode: true + - 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: + - IP Addresses (networking/v1) + security: + - cloud-api-key: [] + responses: + '200': + description: IP Address. + content: + application/json: + schema: + allOf: + - $ref: '#/components/schemas/networking.v1.IpAddressList' + headers: + X-Request-Id: + schema: + type: string + description: The unique identifier for the API request. + '400': + $ref: '#/components/responses/BadRequestError' + '401': + $ref: '#/components/responses/UnauthenticatedError' + '403': + $ref: '#/components/responses/UnauthorizedError' + '429': + $ref: '#/components/responses/RateLimitError' + '500': + $ref: '#/components/responses/DefaultSystemError' + x-codeSamples: + - lang: Shell + source: |- + curl --request GET \ + --url 'https://api.confluent.cloud/networking/v1/ip-addresses?cloud=GCP,AWS®ion=us-central1,us-east-1&services=KAFKA,CONNECT&address_type=INGRESS,EGRESS' \ + --header 'Authorization: Basic REPLACE_BASIC_AUTH' + - lang: Java + source: |- + OkHttpClient client = new OkHttpClient(); + + Request request = new Request.Builder() + .url("https://api.confluent.cloud/networking/v1/ip-addresses?cloud=GCP,AWS®ion=us-central1,us-east-1&services=KAFKA,CONNECT&address_type=INGRESS,EGRESS") + .get() + .addHeader("Authorization", "Basic REPLACE_BASIC_AUTH") + .build(); + + Response response = client.newCall(request).execute(); + - lang: Go + source: "package main\n\nimport (\n\t\"fmt\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.confluent.cloud/networking/v1/ip-addresses?cloud=GCP,AWS®ion=us-central1,us-east-1&services=KAFKA,CONNECT&address_type=INGRESS,EGRESS\"\n\n\treq, _ := http.NewRequest(\"GET\", url, nil)\n\n\treq.Header.Add(\"Authorization\", \"Basic REPLACE_BASIC_AUTH\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}" + - lang: Python + source: |- + import http.client + + conn = http.client.HTTPSConnection("api.confluent.cloud") + + headers = { 'Authorization': "Basic REPLACE_BASIC_AUTH" } + + conn.request("GET", "/networking/v1/ip-addresses?cloud=GCP,AWS®ion=us-central1,us-east-1&services=KAFKA,CONNECT&address_type=INGRESS,EGRESS", headers=headers) + + res = conn.getresponse() + data = res.read() + + print(data.decode("utf-8")) + - lang: Node + source: |- + const http = require("https"); + + const options = { + "method": "GET", + "hostname": "api.confluent.cloud", + "port": null, + "path": "/networking/v1/ip-addresses?cloud=GCP,AWS®ion=us-central1,us-east-1&services=KAFKA,CONNECT&address_type=INGRESS,EGRESS", + "headers": { + "Authorization": "Basic REPLACE_BASIC_AUTH" + } + }; + + const req = http.request(options, function (res) { + const chunks = []; + + res.on("data", function (chunk) { + chunks.push(chunk); + }); + + res.on("end", function () { + const body = Buffer.concat(chunks); + console.log(body.toString()); + }); + }); + + req.end(); + - lang: C + source: |- + CURL *hnd = curl_easy_init(); + + curl_easy_setopt(hnd, CURLOPT_CUSTOMREQUEST, "GET"); + curl_easy_setopt(hnd, CURLOPT_URL, "https://api.confluent.cloud/networking/v1/ip-addresses?cloud=GCP,AWS®ion=us-central1,us-east-1&services=KAFKA,CONNECT&address_type=INGRESS,EGRESS"); + + struct curl_slist *headers = NULL; + headers = curl_slist_append(headers, "Authorization: Basic REPLACE_BASIC_AUTH"); + curl_easy_setopt(hnd, CURLOPT_HTTPHEADER, headers); + + CURLcode ret = curl_easy_perform(hnd); + - lang: C# + source: |- + var client = new RestClient("https://api.confluent.cloud/networking/v1/ip-addresses?cloud=GCP,AWS®ion=us-central1,us-east-1&services=KAFKA,CONNECT&address_type=INGRESS,EGRESS"); + var request = new RestRequest(Method.GET); + request.AddHeader("Authorization", "Basic REPLACE_BASIC_AUTH"); + IRestResponse response = client.Execute(request); + /networking/v1/private-link-attachments: + get: + operationId: listNetworkingV1PrivateLinkAttachments + summary: List of Private Link Attachments + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + Retrieve a sorted, filtered, paginated list of all private link attachments. + parameters: + - name: spec.display_name + in: query + required: false + schema: + $ref: '#/components/schemas/MultipleSearchFilter' + example: + - prod-gcp-us-central1 + - prod-aws-useast1 + description: Filter the results by exact match for spec.display_name. Pass multiple times to see results matching any of the values. + style: form + explode: true + - name: spec.cloud + in: query + required: false + schema: + $ref: '#/components/schemas/MultipleSearchFilter' + example: + - GCP + - AWS + description: Filter the results by exact match for spec.cloud. Pass multiple times to see results matching any of the values. + style: form + explode: true + - name: spec.region + in: query + required: false + schema: + $ref: '#/components/schemas/MultipleSearchFilter' + example: + - us-central1 + - us-east-1 + description: Filter the results by exact match for spec.region. Pass multiple times to see results matching any of the values. + style: form + explode: true + - name: status.phase + in: query + required: false + schema: + $ref: '#/components/schemas/MultipleSearchFilter' + example: + - PROVISIONING + - READY + description: Filter the results by exact match for status.phase. Pass multiple times to see results matching any of the values. + style: form + explode: true + - name: environment + in: query + required: true + schema: + $ref: '#/components/schemas/SearchFilter' + example: env-00000 + description: Filter the results by exact match for environment. + - name: page_size + in: query + required: false + schema: + type: integer + default: 10 + maximum: 100 + x-max-page-items: 500 + description: A pagination size for collection requests. + - name: page_token + in: query + required: false + schema: + type: string + maxLength: 255 + description: An opaque pagination token for collection requests. + tags: + - Private Link Attachments (networking/v1) + security: + - cloud-api-key: [] + - confluent-sts-access-token: [] + responses: + '200': + description: Private Link Attachment. + content: + application/json: + schema: + allOf: + - $ref: '#/components/schemas/networking.v1.PrivateLinkAttachmentList' + - type: object + properties: + data: + type: array + items: + properties: + spec: + type: object + properties: + environment: + example: + id: env-00000 + related: 'https://api.confluent.cloud/v2/environments/env-00000' + resource_name: 'https://api.confluent.cloud/organization=9bb441c4-edef-46ac-8a41-c49e44a3fd9a/environment=env-00000' + headers: + X-Request-Id: + schema: + type: string + description: The unique identifier for the API request. + X-RateLimit-Limit: + schema: + type: integer + description: The maximum number of requests you're permitted to make per time period. + X-RateLimit-Remaining: + schema: + type: integer + description: The number of requests remaining in the current rate limit window. + X-RateLimit-Reset: + schema: + type: integer + description: |- + The relative time in seconds until the current rate-limit window resets. + + **Important:** This differs from Github and Twitter's same-named header which uses UTC epoch seconds. We use relative time to avoid client/server time synchronization issues. + '400': + $ref: '#/components/responses/BadRequestError' + '401': + $ref: '#/components/responses/UnauthenticatedError' + '403': + $ref: '#/components/responses/UnauthorizedError' + '429': + $ref: '#/components/responses/RateLimitError' + '500': + $ref: '#/components/responses/DefaultSystemError' + x-codeSamples: + - lang: Shell + source: |- + curl --request GET \ + --url 'https://api.confluent.cloud/networking/v1/private-link-attachments?spec.display_name=prod-gcp-us-central1,prod-aws-useast1&spec.cloud=GCP,AWS&spec.region=us-central1,us-east-1&status.phase=PROVISIONING,READY&environment=env-00000' \ + --header 'Authorization: Basic REPLACE_BASIC_AUTH' + - lang: Java + source: |- + OkHttpClient client = new OkHttpClient(); + + Request request = new Request.Builder() + .url("https://api.confluent.cloud/networking/v1/private-link-attachments?spec.display_name=prod-gcp-us-central1,prod-aws-useast1&spec.cloud=GCP,AWS&spec.region=us-central1,us-east-1&status.phase=PROVISIONING,READY&environment=env-00000") + .get() + .addHeader("Authorization", "Basic REPLACE_BASIC_AUTH") + .build(); + + Response response = client.newCall(request).execute(); + - lang: Go + source: "package main\n\nimport (\n\t\"fmt\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.confluent.cloud/networking/v1/private-link-attachments?spec.display_name=prod-gcp-us-central1,prod-aws-useast1&spec.cloud=GCP,AWS&spec.region=us-central1,us-east-1&status.phase=PROVISIONING,READY&environment=env-00000\"\n\n\treq, _ := http.NewRequest(\"GET\", url, nil)\n\n\treq.Header.Add(\"Authorization\", \"Basic REPLACE_BASIC_AUTH\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}" + - lang: Python + source: |- + import http.client + + conn = http.client.HTTPSConnection("api.confluent.cloud") + + headers = { 'Authorization': "Basic REPLACE_BASIC_AUTH" } + + conn.request("GET", "/networking/v1/private-link-attachments?spec.display_name=prod-gcp-us-central1,prod-aws-useast1&spec.cloud=GCP,AWS&spec.region=us-central1,us-east-1&status.phase=PROVISIONING,READY&environment=env-00000", headers=headers) + + res = conn.getresponse() + data = res.read() + + print(data.decode("utf-8")) + - lang: Node + source: |- + const http = require("https"); + + const options = { + "method": "GET", + "hostname": "api.confluent.cloud", + "port": null, + "path": "/networking/v1/private-link-attachments?spec.display_name=prod-gcp-us-central1,prod-aws-useast1&spec.cloud=GCP,AWS&spec.region=us-central1,us-east-1&status.phase=PROVISIONING,READY&environment=env-00000", + "headers": { + "Authorization": "Basic REPLACE_BASIC_AUTH" + } + }; + + const req = http.request(options, function (res) { + const chunks = []; + + res.on("data", function (chunk) { + chunks.push(chunk); + }); + + res.on("end", function () { + const body = Buffer.concat(chunks); + console.log(body.toString()); + }); + }); + + req.end(); + - lang: C + source: |- + CURL *hnd = curl_easy_init(); + + curl_easy_setopt(hnd, CURLOPT_CUSTOMREQUEST, "GET"); + curl_easy_setopt(hnd, CURLOPT_URL, "https://api.confluent.cloud/networking/v1/private-link-attachments?spec.display_name=prod-gcp-us-central1,prod-aws-useast1&spec.cloud=GCP,AWS&spec.region=us-central1,us-east-1&status.phase=PROVISIONING,READY&environment=env-00000"); + + struct curl_slist *headers = NULL; + headers = curl_slist_append(headers, "Authorization: Basic REPLACE_BASIC_AUTH"); + curl_easy_setopt(hnd, CURLOPT_HTTPHEADER, headers); + + CURLcode ret = curl_easy_perform(hnd); + - lang: C# + source: |- + var client = new RestClient("https://api.confluent.cloud/networking/v1/private-link-attachments?spec.display_name=prod-gcp-us-central1,prod-aws-useast1&spec.cloud=GCP,AWS&spec.region=us-central1,us-east-1&status.phase=PROVISIONING,READY&environment=env-00000"); + var request = new RestRequest(Method.GET); + request.AddHeader("Authorization", "Basic REPLACE_BASIC_AUTH"); + IRestResponse response = client.Execute(request); + post: + operationId: createNetworkingV1PrivateLinkAttachment + summary: Create a Private Link Attachment + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + Make a request to create a private link attachment. + tags: + - Private Link Attachments (networking/v1) + security: + - cloud-api-key: [] + - confluent-sts-access-token: [] + requestBody: + content: + application/json: + schema: + allOf: + - $ref: '#/components/schemas/networking.v1.PrivateLinkAttachment' + - type: object + required: + - spec + properties: + spec: + type: object + required: + - cloud + - region + - environment + - type: object + properties: + spec: + type: object + properties: + environment: + example: + id: env-00000 + responses: + '202': + description: A Private Link Attachment is being created. + headers: + X-Request-Id: + schema: + type: string + description: The unique identifier for the API request. + X-RateLimit-Limit: + schema: + type: integer + description: The maximum number of requests you're permitted to make per time period. + X-RateLimit-Remaining: + schema: + type: integer + description: The number of requests remaining in the current rate limit window. + X-RateLimit-Reset: + schema: + type: integer + description: |- + The relative time in seconds until the current rate-limit window resets. + + **Important:** This differs from Github and Twitter's same-named header which uses UTC epoch seconds. We use relative time to avoid client/server time synchronization issues. + Location: + schema: + type: string + format: uri + example: 'https://api.confluent.cloud/networking/v1/private-link-attachments/{id}' + description: PrivateLinkAttachment resource uri + content: + application/json: + schema: + allOf: + - $ref: '#/components/schemas/networking.v1.PrivateLinkAttachment' + - type: object + required: + - spec + - status + properties: + spec: + type: object + required: + - cloud + - region + - environment + - type: object + properties: + spec: + type: object + properties: + environment: + example: + id: env-00000 + related: 'https://api.confluent.cloud/v2/environments/env-00000' + resource_name: 'https://api.confluent.cloud/organization=9bb441c4-edef-46ac-8a41-c49e44a3fd9a/environment=env-00000' + '400': + $ref: '#/components/responses/BadRequestError' + '401': + $ref: '#/components/responses/UnauthenticatedError' + '402': + $ref: '#/components/responses/OverQuotaError' + '403': + $ref: '#/components/responses/UnauthorizedError' + '409': + $ref: '#/components/responses/ConflictError' + '422': + $ref: '#/components/responses/ValidationError' + '429': + $ref: '#/components/responses/RateLimitError' + '500': + $ref: '#/components/responses/DefaultSystemError' + x-codeSamples: + - lang: Shell + source: |- + curl --request POST \ + --url https://api.confluent.cloud/networking/v1/private-link-attachments \ + --header 'Authorization: Basic REPLACE_BASIC_AUTH' \ + --header 'content-type: application/json' \ + --data '{"spec":{"display_name":"prod-aws-us-east1","cloud":"AWS","region":"us-east-1","environment":{"id":"env-00000","environment":"string"}}}' + - lang: Java + source: |- + OkHttpClient client = new OkHttpClient(); + + MediaType mediaType = MediaType.parse("application/json"); + RequestBody body = RequestBody.create(mediaType, "{\"spec\":{\"display_name\":\"prod-aws-us-east1\",\"cloud\":\"AWS\",\"region\":\"us-east-1\",\"environment\":{\"id\":\"env-00000\",\"environment\":\"string\"}}}"); + Request request = new Request.Builder() + .url("https://api.confluent.cloud/networking/v1/private-link-attachments") + .post(body) + .addHeader("content-type", "application/json") + .addHeader("Authorization", "Basic REPLACE_BASIC_AUTH") + .build(); + + Response response = client.newCall(request).execute(); + - lang: Go + source: "package main\n\nimport (\n\t\"fmt\"\n\t\"strings\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.confluent.cloud/networking/v1/private-link-attachments\"\n\n\tpayload := strings.NewReader(\"{\\\"spec\\\":{\\\"display_name\\\":\\\"prod-aws-us-east1\\\",\\\"cloud\\\":\\\"AWS\\\",\\\"region\\\":\\\"us-east-1\\\",\\\"environment\\\":{\\\"id\\\":\\\"env-00000\\\",\\\"environment\\\":\\\"string\\\"}}}\")\n\n\treq, _ := http.NewRequest(\"POST\", url, payload)\n\n\treq.Header.Add(\"content-type\", \"application/json\")\n\treq.Header.Add(\"Authorization\", \"Basic REPLACE_BASIC_AUTH\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}" + - lang: Python + source: |- + import http.client + + conn = http.client.HTTPSConnection("api.confluent.cloud") + + payload = "{\"spec\":{\"display_name\":\"prod-aws-us-east1\",\"cloud\":\"AWS\",\"region\":\"us-east-1\",\"environment\":{\"id\":\"env-00000\",\"environment\":\"string\"}}}" + + headers = { + 'content-type': "application/json", + 'Authorization': "Basic REPLACE_BASIC_AUTH" + } + + conn.request("POST", "/networking/v1/private-link-attachments", payload, headers) + + res = conn.getresponse() + data = res.read() + + print(data.decode("utf-8")) + - lang: Node + source: |- + const http = require("https"); + + const options = { + "method": "POST", + "hostname": "api.confluent.cloud", + "port": null, + "path": "/networking/v1/private-link-attachments", + "headers": { + "content-type": "application/json", + "Authorization": "Basic REPLACE_BASIC_AUTH" + } + }; + + const req = http.request(options, function (res) { + const chunks = []; + + res.on("data", function (chunk) { + chunks.push(chunk); + }); + + res.on("end", function () { + const body = Buffer.concat(chunks); + console.log(body.toString()); + }); + }); + + req.write(JSON.stringify({ + spec: { + display_name: 'prod-aws-us-east1', + cloud: 'AWS', + region: 'us-east-1', + environment: {id: 'env-00000', environment: 'string'} + } + })); + req.end(); + - lang: C + source: |- + CURL *hnd = curl_easy_init(); + + curl_easy_setopt(hnd, CURLOPT_CUSTOMREQUEST, "POST"); + curl_easy_setopt(hnd, CURLOPT_URL, "https://api.confluent.cloud/networking/v1/private-link-attachments"); + + struct curl_slist *headers = NULL; + headers = curl_slist_append(headers, "content-type: application/json"); + headers = curl_slist_append(headers, "Authorization: Basic REPLACE_BASIC_AUTH"); + curl_easy_setopt(hnd, CURLOPT_HTTPHEADER, headers); + + curl_easy_setopt(hnd, CURLOPT_POSTFIELDS, "{\"spec\":{\"display_name\":\"prod-aws-us-east1\",\"cloud\":\"AWS\",\"region\":\"us-east-1\",\"environment\":{\"id\":\"env-00000\",\"environment\":\"string\"}}}"); + + CURLcode ret = curl_easy_perform(hnd); + - lang: C# + source: |- + var client = new RestClient("https://api.confluent.cloud/networking/v1/private-link-attachments"); + var request = new RestRequest(Method.POST); + request.AddHeader("content-type", "application/json"); + request.AddHeader("Authorization", "Basic REPLACE_BASIC_AUTH"); + request.AddParameter("application/json", "{\"spec\":{\"display_name\":\"prod-aws-us-east1\",\"cloud\":\"AWS\",\"region\":\"us-east-1\",\"environment\":{\"id\":\"env-00000\",\"environment\":\"string\"}}}", ParameterType.RequestBody); + IRestResponse response = client.Execute(request); + '/networking/v1/private-link-attachments/{id}': + get: + operationId: getNetworkingV1PrivateLinkAttachment + summary: Read a Private Link Attachment + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + Make a request to read a private link attachment. + parameters: + - name: environment + in: query + required: true + schema: + $ref: '#/components/schemas/SearchFilter' + example: env-00000 + description: Scope the operation to the given environment. + - name: id + in: path + required: true + schema: + type: string + description: The unique identifier for the private link attachment. + tags: + - Private Link Attachments (networking/v1) + security: + - cloud-api-key: [] + - confluent-sts-access-token: [] + responses: + '200': + description: Private Link Attachment. + content: + application/json: + schema: + allOf: + - $ref: '#/components/schemas/networking.v1.PrivateLinkAttachment' + - type: object + required: + - api_version + - kind + - id + - spec + - status + properties: + spec: + type: object + required: + - cloud + - region + - environment + - type: object + properties: + spec: + type: object + properties: + environment: + example: + id: env-00000 + related: 'https://api.confluent.cloud/v2/environments/env-00000' + resource_name: 'https://api.confluent.cloud/organization=9bb441c4-edef-46ac-8a41-c49e44a3fd9a/environment=env-00000' + headers: + X-Request-Id: + schema: + type: string + description: The unique identifier for the API request. + X-RateLimit-Limit: + schema: + type: integer + description: The maximum number of requests you're permitted to make per time period. + X-RateLimit-Remaining: + schema: + type: integer + description: The number of requests remaining in the current rate limit window. + X-RateLimit-Reset: + schema: + type: integer + description: |- + The relative time in seconds until the current rate-limit window resets. + + **Important:** This differs from Github and Twitter's same-named header which uses UTC epoch seconds. We use relative time to avoid client/server time synchronization issues. + '400': + $ref: '#/components/responses/BadRequestError' + '401': + $ref: '#/components/responses/UnauthenticatedError' + '403': + $ref: '#/components/responses/UnauthorizedError' + '404': + $ref: '#/components/responses/NotFoundError' + '429': + $ref: '#/components/responses/RateLimitError' + '500': + $ref: '#/components/responses/DefaultSystemError' + x-codeSamples: + - lang: Shell + source: |- + curl --request GET \ + --url 'https://api.confluent.cloud/networking/v1/private-link-attachments/{id}?environment=env-00000' \ + --header 'Authorization: Basic REPLACE_BASIC_AUTH' + - lang: Java + source: |- + OkHttpClient client = new OkHttpClient(); + + Request request = new Request.Builder() + .url("https://api.confluent.cloud/networking/v1/private-link-attachments/{id}?environment=env-00000") + .get() + .addHeader("Authorization", "Basic REPLACE_BASIC_AUTH") + .build(); + + Response response = client.newCall(request).execute(); + - lang: Go + source: "package main\n\nimport (\n\t\"fmt\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.confluent.cloud/networking/v1/private-link-attachments/{id}?environment=env-00000\"\n\n\treq, _ := http.NewRequest(\"GET\", url, nil)\n\n\treq.Header.Add(\"Authorization\", \"Basic REPLACE_BASIC_AUTH\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}" + - lang: Python + source: |- + import http.client + + conn = http.client.HTTPSConnection("api.confluent.cloud") + + headers = { 'Authorization': "Basic REPLACE_BASIC_AUTH" } + + conn.request("GET", "/networking/v1/private-link-attachments/{id}?environment=env-00000", headers=headers) + + res = conn.getresponse() + data = res.read() + + print(data.decode("utf-8")) + - lang: Node + source: |- + const http = require("https"); + + const options = { + "method": "GET", + "hostname": "api.confluent.cloud", + "port": null, + "path": "/networking/v1/private-link-attachments/{id}?environment=env-00000", + "headers": { + "Authorization": "Basic REPLACE_BASIC_AUTH" + } + }; + + const req = http.request(options, function (res) { + const chunks = []; + + res.on("data", function (chunk) { + chunks.push(chunk); + }); + + res.on("end", function () { + const body = Buffer.concat(chunks); + console.log(body.toString()); + }); + }); + + req.end(); + - lang: C + source: |- + CURL *hnd = curl_easy_init(); + + curl_easy_setopt(hnd, CURLOPT_CUSTOMREQUEST, "GET"); + curl_easy_setopt(hnd, CURLOPT_URL, "https://api.confluent.cloud/networking/v1/private-link-attachments/{id}?environment=env-00000"); + + struct curl_slist *headers = NULL; + headers = curl_slist_append(headers, "Authorization: Basic REPLACE_BASIC_AUTH"); + curl_easy_setopt(hnd, CURLOPT_HTTPHEADER, headers); + + CURLcode ret = curl_easy_perform(hnd); + - lang: C# + source: |- + var client = new RestClient("https://api.confluent.cloud/networking/v1/private-link-attachments/{id}?environment=env-00000"); + var request = new RestRequest(Method.GET); + request.AddHeader("Authorization", "Basic REPLACE_BASIC_AUTH"); + IRestResponse response = client.Execute(request); + patch: + operationId: updateNetworkingV1PrivateLinkAttachment + summary: Update a Private Link Attachment + description: |+ + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + Make a request to update a private link attachment. + + parameters: + - name: id + in: path + required: true + schema: + type: string + description: The unique identifier for the private link attachment. + tags: + - Private Link Attachments (networking/v1) + security: + - cloud-api-key: [] + - confluent-sts-access-token: [] + requestBody: + content: + application/json: + schema: + allOf: + - $ref: '#/components/schemas/networking.v1.PrivateLinkAttachmentUpdate' + - type: object + required: + - spec + properties: + spec: + type: object + required: + - environment + properties: + environment: + example: + id: env-00000 + responses: + '200': + description: Private Link Attachment. + content: + application/json: + schema: + allOf: + - $ref: '#/components/schemas/networking.v1.PrivateLinkAttachment' + - type: object + required: + - api_version + - kind + - id + - spec + - status + properties: + spec: + type: object + required: + - cloud + - region + - environment + - type: object + properties: + spec: + type: object + properties: + environment: + example: + id: env-00000 + related: 'https://api.confluent.cloud/v2/environments/env-00000' + resource_name: 'https://api.confluent.cloud/organization=9bb441c4-edef-46ac-8a41-c49e44a3fd9a/environment=env-00000' + headers: + X-Request-Id: + schema: + type: string + description: The unique identifier for the API request. + X-RateLimit-Limit: + schema: + type: integer + description: The maximum number of requests you're permitted to make per time period. + X-RateLimit-Remaining: + schema: + type: integer + description: The number of requests remaining in the current rate limit window. + X-RateLimit-Reset: + schema: + type: integer + description: |- + The relative time in seconds until the current rate-limit window resets. + + **Important:** This differs from Github and Twitter's same-named header which uses UTC epoch seconds. We use relative time to avoid client/server time synchronization issues. + '400': + $ref: '#/components/responses/BadRequestError' + '401': + $ref: '#/components/responses/UnauthenticatedError' + '402': + $ref: '#/components/responses/OverQuotaError' + '403': + $ref: '#/components/responses/UnauthorizedError' + '404': + $ref: '#/components/responses/NotFoundError' + '409': + $ref: '#/components/responses/ConflictError' + '422': + $ref: '#/components/responses/ValidationError' + '429': + $ref: '#/components/responses/RateLimitError' + '500': + $ref: '#/components/responses/DefaultSystemError' + x-codeSamples: + - lang: Shell + source: |- + curl --request PATCH \ + --url 'https://api.confluent.cloud/networking/v1/private-link-attachments/{id}' \ + --header 'Authorization: Basic REPLACE_BASIC_AUTH' \ + --header 'content-type: application/json' \ + --data '{"spec":{"display_name":"prod-aws-us-east1","cloud":"AWS","region":"us-east-1","environment":{"id":"env-00000","environment":"string"}}}' + - lang: Java + source: |- + OkHttpClient client = new OkHttpClient(); + + MediaType mediaType = MediaType.parse("application/json"); + RequestBody body = RequestBody.create(mediaType, "{\"spec\":{\"display_name\":\"prod-aws-us-east1\",\"cloud\":\"AWS\",\"region\":\"us-east-1\",\"environment\":{\"id\":\"env-00000\",\"environment\":\"string\"}}}"); + Request request = new Request.Builder() + .url("https://api.confluent.cloud/networking/v1/private-link-attachments/{id}") + .patch(body) + .addHeader("content-type", "application/json") + .addHeader("Authorization", "Basic REPLACE_BASIC_AUTH") + .build(); + + Response response = client.newCall(request).execute(); + - lang: Go + source: "package main\n\nimport (\n\t\"fmt\"\n\t\"strings\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.confluent.cloud/networking/v1/private-link-attachments/{id}\"\n\n\tpayload := strings.NewReader(\"{\\\"spec\\\":{\\\"display_name\\\":\\\"prod-aws-us-east1\\\",\\\"cloud\\\":\\\"AWS\\\",\\\"region\\\":\\\"us-east-1\\\",\\\"environment\\\":{\\\"id\\\":\\\"env-00000\\\",\\\"environment\\\":\\\"string\\\"}}}\")\n\n\treq, _ := http.NewRequest(\"PATCH\", url, payload)\n\n\treq.Header.Add(\"content-type\", \"application/json\")\n\treq.Header.Add(\"Authorization\", \"Basic REPLACE_BASIC_AUTH\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}" + - lang: Python + source: |- + import http.client + + conn = http.client.HTTPSConnection("api.confluent.cloud") + + payload = "{\"spec\":{\"display_name\":\"prod-aws-us-east1\",\"cloud\":\"AWS\",\"region\":\"us-east-1\",\"environment\":{\"id\":\"env-00000\",\"environment\":\"string\"}}}" + + headers = { + 'content-type': "application/json", + 'Authorization': "Basic REPLACE_BASIC_AUTH" + } + + conn.request("PATCH", "/networking/v1/private-link-attachments/{id}", payload, headers) + + res = conn.getresponse() + data = res.read() + + print(data.decode("utf-8")) + - lang: Node + source: |- + const http = require("https"); + + const options = { + "method": "PATCH", + "hostname": "api.confluent.cloud", + "port": null, + "path": "/networking/v1/private-link-attachments/{id}", + "headers": { + "content-type": "application/json", + "Authorization": "Basic REPLACE_BASIC_AUTH" + } + }; + + const req = http.request(options, function (res) { + const chunks = []; + + res.on("data", function (chunk) { + chunks.push(chunk); + }); + + res.on("end", function () { + const body = Buffer.concat(chunks); + console.log(body.toString()); + }); + }); + + req.write(JSON.stringify({ + spec: { + display_name: 'prod-aws-us-east1', + cloud: 'AWS', + region: 'us-east-1', + environment: {id: 'env-00000', environment: 'string'} + } + })); + req.end(); + - lang: C + source: |- + CURL *hnd = curl_easy_init(); + + curl_easy_setopt(hnd, CURLOPT_CUSTOMREQUEST, "PATCH"); + curl_easy_setopt(hnd, CURLOPT_URL, "https://api.confluent.cloud/networking/v1/private-link-attachments/{id}"); + + struct curl_slist *headers = NULL; + headers = curl_slist_append(headers, "content-type: application/json"); + headers = curl_slist_append(headers, "Authorization: Basic REPLACE_BASIC_AUTH"); + curl_easy_setopt(hnd, CURLOPT_HTTPHEADER, headers); + + curl_easy_setopt(hnd, CURLOPT_POSTFIELDS, "{\"spec\":{\"display_name\":\"prod-aws-us-east1\",\"cloud\":\"AWS\",\"region\":\"us-east-1\",\"environment\":{\"id\":\"env-00000\",\"environment\":\"string\"}}}"); + + CURLcode ret = curl_easy_perform(hnd); + - lang: C# + source: |- + var client = new RestClient("https://api.confluent.cloud/networking/v1/private-link-attachments/{id}"); + var request = new RestRequest(Method.PATCH); + request.AddHeader("content-type", "application/json"); + request.AddHeader("Authorization", "Basic REPLACE_BASIC_AUTH"); + request.AddParameter("application/json", "{\"spec\":{\"display_name\":\"prod-aws-us-east1\",\"cloud\":\"AWS\",\"region\":\"us-east-1\",\"environment\":{\"id\":\"env-00000\",\"environment\":\"string\"}}}", ParameterType.RequestBody); + IRestResponse response = client.Execute(request); + delete: + operationId: deleteNetworkingV1PrivateLinkAttachment + summary: Delete a Private Link Attachment + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + Make a request to delete a private link attachment. + parameters: + - name: environment + in: query + required: true + schema: + $ref: '#/components/schemas/SearchFilter' + example: env-00000 + description: Scope the operation to the given environment. + - name: id + in: path + required: true + schema: + type: string + description: The unique identifier for the private link attachment. + tags: + - Private Link Attachments (networking/v1) + security: + - cloud-api-key: [] + - confluent-sts-access-token: [] + responses: + '204': + description: A Private Link Attachment is being deleted. + headers: + X-Request-Id: + schema: + type: string + description: The unique identifier for the API request. + X-RateLimit-Limit: + schema: + type: integer + description: The maximum number of requests you're permitted to make per time period. + X-RateLimit-Remaining: + schema: + type: integer + description: The number of requests remaining in the current rate limit window. + X-RateLimit-Reset: + schema: + type: integer + description: |- + The relative time in seconds until the current rate-limit window resets. + + **Important:** This differs from Github and Twitter's same-named header which uses UTC epoch seconds. We use relative time to avoid client/server time synchronization issues. + '400': + $ref: '#/components/responses/BadRequestError' + '401': + $ref: '#/components/responses/UnauthenticatedError' + '403': + $ref: '#/components/responses/UnauthorizedError' + '404': + $ref: '#/components/responses/NotFoundError' + '429': + $ref: '#/components/responses/RateLimitError' + '500': + $ref: '#/components/responses/DefaultSystemError' + x-codeSamples: + - lang: Shell + source: |- + curl --request DELETE \ + --url 'https://api.confluent.cloud/networking/v1/private-link-attachments/{id}?environment=env-00000' \ + --header 'Authorization: Basic REPLACE_BASIC_AUTH' + - lang: Java + source: |- + OkHttpClient client = new OkHttpClient(); + + Request request = new Request.Builder() + .url("https://api.confluent.cloud/networking/v1/private-link-attachments/{id}?environment=env-00000") + .delete(null) + .addHeader("Authorization", "Basic REPLACE_BASIC_AUTH") + .build(); + + Response response = client.newCall(request).execute(); + - lang: Go + source: "package main\n\nimport (\n\t\"fmt\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.confluent.cloud/networking/v1/private-link-attachments/{id}?environment=env-00000\"\n\n\treq, _ := http.NewRequest(\"DELETE\", url, nil)\n\n\treq.Header.Add(\"Authorization\", \"Basic REPLACE_BASIC_AUTH\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}" + - lang: Python + source: |- + import http.client + + conn = http.client.HTTPSConnection("api.confluent.cloud") + + headers = { 'Authorization': "Basic REPLACE_BASIC_AUTH" } + + conn.request("DELETE", "/networking/v1/private-link-attachments/{id}?environment=env-00000", headers=headers) + + res = conn.getresponse() + data = res.read() + + print(data.decode("utf-8")) + - lang: Node + source: |- + const http = require("https"); + + const options = { + "method": "DELETE", + "hostname": "api.confluent.cloud", + "port": null, + "path": "/networking/v1/private-link-attachments/{id}?environment=env-00000", + "headers": { + "Authorization": "Basic REPLACE_BASIC_AUTH" + } + }; + + const req = http.request(options, function (res) { + const chunks = []; + + res.on("data", function (chunk) { + chunks.push(chunk); + }); + + res.on("end", function () { + const body = Buffer.concat(chunks); + console.log(body.toString()); + }); + }); + + req.end(); + - lang: C + source: |- + CURL *hnd = curl_easy_init(); + + curl_easy_setopt(hnd, CURLOPT_CUSTOMREQUEST, "DELETE"); + curl_easy_setopt(hnd, CURLOPT_URL, "https://api.confluent.cloud/networking/v1/private-link-attachments/{id}?environment=env-00000"); + + struct curl_slist *headers = NULL; + headers = curl_slist_append(headers, "Authorization: Basic REPLACE_BASIC_AUTH"); + curl_easy_setopt(hnd, CURLOPT_HTTPHEADER, headers); + + CURLcode ret = curl_easy_perform(hnd); + - lang: C# + source: |- + var client = new RestClient("https://api.confluent.cloud/networking/v1/private-link-attachments/{id}?environment=env-00000"); + var request = new RestRequest(Method.DELETE); + request.AddHeader("Authorization", "Basic REPLACE_BASIC_AUTH"); + IRestResponse response = client.Execute(request); + /networking/v1/private-link-attachment-connections: + get: + operationId: listNetworkingV1PrivateLinkAttachmentConnections + summary: List of Private Link Attachment Connections + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + Retrieve a sorted, filtered, paginated list of all private link attachment connections. + parameters: + - name: environment + in: query + required: true + schema: + $ref: '#/components/schemas/SearchFilter' + example: env-00000 + description: Filter the results by exact match for environment. + - name: spec.private_link_attachment + in: query + required: false + schema: + $ref: '#/components/schemas/SearchFilter' + example: platt-00000 + description: Filter the results by exact match for spec.private_link_attachment. + - 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: + - Private Link Attachment Connections (networking/v1) + security: + - cloud-api-key: [] + - confluent-sts-access-token: [] + responses: + '200': + description: Private Link Attachment Connection. + content: + application/json: + schema: + allOf: + - $ref: '#/components/schemas/networking.v1.PrivateLinkAttachmentConnectionList' + - type: object + properties: + data: + type: array + items: + properties: + spec: + type: object + properties: + environment: + example: + id: env-00000 + related: 'https://api.confluent.cloud/v2/environments/env-00000' + resource_name: 'https://api.confluent.cloud/organization=9bb441c4-edef-46ac-8a41-c49e44a3fd9a/environment=env-00000' + private_link_attachment: + example: + id: platt-00000 + related: 'https://api.confluent.cloud/networking/v1/private-link-attachments/platt-00000' + resource_name: 'https://api.confluent.cloud/organization=9bb441c4-edef-46ac-8a41-c49e44a3fd9a/private-link-attachment=platt-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. + + **Important:** This differs from Github and Twitter's same-named header which uses UTC epoch seconds. We use relative time to avoid client/server time synchronization issues. + '400': + $ref: '#/components/responses/BadRequestError' + '401': + $ref: '#/components/responses/UnauthenticatedError' + '403': + $ref: '#/components/responses/UnauthorizedError' + '429': + $ref: '#/components/responses/RateLimitError' + '500': + $ref: '#/components/responses/DefaultSystemError' + x-codeSamples: + - lang: Shell + source: |- + curl --request GET \ + --url 'https://api.confluent.cloud/networking/v1/private-link-attachment-connections?environment=env-00000&spec.private_link_attachment=platt-00000' \ + --header 'Authorization: Basic REPLACE_BASIC_AUTH' + - lang: Java + source: |- + OkHttpClient client = new OkHttpClient(); + + Request request = new Request.Builder() + .url("https://api.confluent.cloud/networking/v1/private-link-attachment-connections?environment=env-00000&spec.private_link_attachment=platt-00000") + .get() + .addHeader("Authorization", "Basic REPLACE_BASIC_AUTH") + .build(); + + Response response = client.newCall(request).execute(); + - lang: Go + source: "package main\n\nimport (\n\t\"fmt\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.confluent.cloud/networking/v1/private-link-attachment-connections?environment=env-00000&spec.private_link_attachment=platt-00000\"\n\n\treq, _ := http.NewRequest(\"GET\", url, nil)\n\n\treq.Header.Add(\"Authorization\", \"Basic REPLACE_BASIC_AUTH\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}" + - lang: Python + source: |- + import http.client + + conn = http.client.HTTPSConnection("api.confluent.cloud") + + headers = { 'Authorization': "Basic REPLACE_BASIC_AUTH" } + + conn.request("GET", "/networking/v1/private-link-attachment-connections?environment=env-00000&spec.private_link_attachment=platt-00000", headers=headers) + + res = conn.getresponse() + data = res.read() + + print(data.decode("utf-8")) + - lang: Node + source: |- + const http = require("https"); + + const options = { + "method": "GET", + "hostname": "api.confluent.cloud", + "port": null, + "path": "/networking/v1/private-link-attachment-connections?environment=env-00000&spec.private_link_attachment=platt-00000", + "headers": { + "Authorization": "Basic REPLACE_BASIC_AUTH" + } + }; + + const req = http.request(options, function (res) { + const chunks = []; + + res.on("data", function (chunk) { + chunks.push(chunk); + }); + + res.on("end", function () { + const body = Buffer.concat(chunks); + console.log(body.toString()); + }); + }); + + req.end(); + - lang: C + source: |- + CURL *hnd = curl_easy_init(); + + curl_easy_setopt(hnd, CURLOPT_CUSTOMREQUEST, "GET"); + curl_easy_setopt(hnd, CURLOPT_URL, "https://api.confluent.cloud/networking/v1/private-link-attachment-connections?environment=env-00000&spec.private_link_attachment=platt-00000"); + + struct curl_slist *headers = NULL; + headers = curl_slist_append(headers, "Authorization: Basic REPLACE_BASIC_AUTH"); + curl_easy_setopt(hnd, CURLOPT_HTTPHEADER, headers); + + CURLcode ret = curl_easy_perform(hnd); + - lang: C# + source: |- + var client = new RestClient("https://api.confluent.cloud/networking/v1/private-link-attachment-connections?environment=env-00000&spec.private_link_attachment=platt-00000"); + var request = new RestRequest(Method.GET); + request.AddHeader("Authorization", "Basic REPLACE_BASIC_AUTH"); + IRestResponse response = client.Execute(request); + post: + operationId: createNetworkingV1PrivateLinkAttachmentConnection + summary: Create a Private Link Attachment Connection + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + Make a request to create a private link attachment connection. + tags: + - Private Link Attachment Connections (networking/v1) + security: + - cloud-api-key: [] + - confluent-sts-access-token: [] + requestBody: + content: + application/json: + schema: + allOf: + - $ref: '#/components/schemas/networking.v1.PrivateLinkAttachmentConnection' + - type: object + required: + - spec + properties: + spec: + type: object + required: + - cloud + - environment + - private_link_attachment + - type: object + properties: + spec: + type: object + properties: + environment: + example: + id: env-00000 + private_link_attachment: + example: + id: platt-00000 + responses: + '202': + description: A Private Link Attachment Connection is being created. + headers: + X-Request-Id: + schema: + type: string + description: The unique identifier for the API request. + X-RateLimit-Limit: + schema: + type: integer + description: The maximum number of requests you're permitted to make per time period. + X-RateLimit-Remaining: + schema: + type: integer + description: The number of requests remaining in the current rate limit window. + X-RateLimit-Reset: + schema: + type: integer + description: |- + The relative time in seconds until the current rate-limit window resets. + + **Important:** This differs from Github and Twitter's same-named header which uses UTC epoch seconds. We use relative time to avoid client/server time synchronization issues. + Location: + schema: + type: string + format: uri + example: 'https://api.confluent.cloud/networking/v1/private-link-attachment-connections/{id}' + description: PrivateLinkAttachmentConnection resource uri + content: + application/json: + schema: + allOf: + - $ref: '#/components/schemas/networking.v1.PrivateLinkAttachmentConnection' + - type: object + required: + - spec + - status + properties: + spec: + type: object + required: + - cloud + - environment + - private_link_attachment + - type: object + properties: + spec: + type: object + properties: + environment: + example: + id: env-00000 + related: 'https://api.confluent.cloud/v2/environments/env-00000' + resource_name: 'https://api.confluent.cloud/organization=9bb441c4-edef-46ac-8a41-c49e44a3fd9a/environment=env-00000' + private_link_attachment: + example: + id: platt-00000 + related: 'https://api.confluent.cloud/networking/v1/private-link-attachments/platt-00000' + resource_name: 'https://api.confluent.cloud/organization=9bb441c4-edef-46ac-8a41-c49e44a3fd9a/private-link-attachment=platt-00000' + '400': + $ref: '#/components/responses/BadRequestError' + '401': + $ref: '#/components/responses/UnauthenticatedError' + '403': + $ref: '#/components/responses/UnauthorizedError' + '409': + $ref: '#/components/responses/ConflictError' + '422': + $ref: '#/components/responses/ValidationError' + '429': + $ref: '#/components/responses/RateLimitError' + '500': + $ref: '#/components/responses/DefaultSystemError' + x-codeSamples: + - lang: Shell + source: |- + curl --request POST \ + --url https://api.confluent.cloud/networking/v1/private-link-attachment-connections \ + --header 'Authorization: Basic REPLACE_BASIC_AUTH' \ + --header 'content-type: application/json' \ + --data '{"spec":{"display_name":"prod-gcp-us-central1-a","cloud":{"kind":"AwsPrivateLinkAttachmentConnection","vpc_endpoint_id":"vpce-00000000000000000"},"environment":{"id":"env-00000","environment":"string"},"private_link_attachment":{"id":"platt-00000","environment":"string"}}}' + - lang: Java + source: |- + OkHttpClient client = new OkHttpClient(); + + MediaType mediaType = MediaType.parse("application/json"); + RequestBody body = RequestBody.create(mediaType, "{\"spec\":{\"display_name\":\"prod-gcp-us-central1-a\",\"cloud\":{\"kind\":\"AwsPrivateLinkAttachmentConnection\",\"vpc_endpoint_id\":\"vpce-00000000000000000\"},\"environment\":{\"id\":\"env-00000\",\"environment\":\"string\"},\"private_link_attachment\":{\"id\":\"platt-00000\",\"environment\":\"string\"}}}"); + Request request = new Request.Builder() + .url("https://api.confluent.cloud/networking/v1/private-link-attachment-connections") + .post(body) + .addHeader("content-type", "application/json") + .addHeader("Authorization", "Basic REPLACE_BASIC_AUTH") + .build(); + + Response response = client.newCall(request).execute(); + - lang: Go + source: "package main\n\nimport (\n\t\"fmt\"\n\t\"strings\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.confluent.cloud/networking/v1/private-link-attachment-connections\"\n\n\tpayload := strings.NewReader(\"{\\\"spec\\\":{\\\"display_name\\\":\\\"prod-gcp-us-central1-a\\\",\\\"cloud\\\":{\\\"kind\\\":\\\"AwsPrivateLinkAttachmentConnection\\\",\\\"vpc_endpoint_id\\\":\\\"vpce-00000000000000000\\\"},\\\"environment\\\":{\\\"id\\\":\\\"env-00000\\\",\\\"environment\\\":\\\"string\\\"},\\\"private_link_attachment\\\":{\\\"id\\\":\\\"platt-00000\\\",\\\"environment\\\":\\\"string\\\"}}}\")\n\n\treq, _ := http.NewRequest(\"POST\", url, payload)\n\n\treq.Header.Add(\"content-type\", \"application/json\")\n\treq.Header.Add(\"Authorization\", \"Basic REPLACE_BASIC_AUTH\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}" + - lang: Python + source: |- + import http.client + + conn = http.client.HTTPSConnection("api.confluent.cloud") + + payload = "{\"spec\":{\"display_name\":\"prod-gcp-us-central1-a\",\"cloud\":{\"kind\":\"AwsPrivateLinkAttachmentConnection\",\"vpc_endpoint_id\":\"vpce-00000000000000000\"},\"environment\":{\"id\":\"env-00000\",\"environment\":\"string\"},\"private_link_attachment\":{\"id\":\"platt-00000\",\"environment\":\"string\"}}}" + + headers = { + 'content-type': "application/json", + 'Authorization': "Basic REPLACE_BASIC_AUTH" + } + + conn.request("POST", "/networking/v1/private-link-attachment-connections", payload, headers) + + res = conn.getresponse() + data = res.read() + + print(data.decode("utf-8")) + - lang: Node + source: |- + const http = require("https"); + + const options = { + "method": "POST", + "hostname": "api.confluent.cloud", + "port": null, + "path": "/networking/v1/private-link-attachment-connections", + "headers": { + "content-type": "application/json", + "Authorization": "Basic REPLACE_BASIC_AUTH" + } + }; + + const req = http.request(options, function (res) { + const chunks = []; + + res.on("data", function (chunk) { + chunks.push(chunk); + }); + + res.on("end", function () { + const body = Buffer.concat(chunks); + console.log(body.toString()); + }); + }); + + req.write(JSON.stringify({ + spec: { + display_name: 'prod-gcp-us-central1-a', + cloud: { + kind: 'AwsPrivateLinkAttachmentConnection', + vpc_endpoint_id: 'vpce-00000000000000000' + }, + environment: {id: 'env-00000', environment: 'string'}, + private_link_attachment: {id: 'platt-00000', environment: 'string'} + } + })); + req.end(); + - lang: C + source: |- + CURL *hnd = curl_easy_init(); + + curl_easy_setopt(hnd, CURLOPT_CUSTOMREQUEST, "POST"); + curl_easy_setopt(hnd, CURLOPT_URL, "https://api.confluent.cloud/networking/v1/private-link-attachment-connections"); + + struct curl_slist *headers = NULL; + headers = curl_slist_append(headers, "content-type: application/json"); + headers = curl_slist_append(headers, "Authorization: Basic REPLACE_BASIC_AUTH"); + curl_easy_setopt(hnd, CURLOPT_HTTPHEADER, headers); + + curl_easy_setopt(hnd, CURLOPT_POSTFIELDS, "{\"spec\":{\"display_name\":\"prod-gcp-us-central1-a\",\"cloud\":{\"kind\":\"AwsPrivateLinkAttachmentConnection\",\"vpc_endpoint_id\":\"vpce-00000000000000000\"},\"environment\":{\"id\":\"env-00000\",\"environment\":\"string\"},\"private_link_attachment\":{\"id\":\"platt-00000\",\"environment\":\"string\"}}}"); + + CURLcode ret = curl_easy_perform(hnd); + - lang: C# + source: |- + var client = new RestClient("https://api.confluent.cloud/networking/v1/private-link-attachment-connections"); + var request = new RestRequest(Method.POST); + request.AddHeader("content-type", "application/json"); + request.AddHeader("Authorization", "Basic REPLACE_BASIC_AUTH"); + request.AddParameter("application/json", "{\"spec\":{\"display_name\":\"prod-gcp-us-central1-a\",\"cloud\":{\"kind\":\"AwsPrivateLinkAttachmentConnection\",\"vpc_endpoint_id\":\"vpce-00000000000000000\"},\"environment\":{\"id\":\"env-00000\",\"environment\":\"string\"},\"private_link_attachment\":{\"id\":\"platt-00000\",\"environment\":\"string\"}}}", ParameterType.RequestBody); + IRestResponse response = client.Execute(request); + '/networking/v1/private-link-attachment-connections/{id}': + get: + operationId: getNetworkingV1PrivateLinkAttachmentConnection + summary: Read a Private Link Attachment Connection + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + Make a request to read a private link attachment connection. + parameters: + - name: environment + in: query + required: true + schema: + $ref: '#/components/schemas/SearchFilter' + example: env-00000 + description: Scope the operation to the given environment. + - name: id + in: path + required: true + schema: + type: string + description: The unique identifier for the private link attachment connection. + tags: + - Private Link Attachment Connections (networking/v1) + security: + - cloud-api-key: [] + - confluent-sts-access-token: [] + responses: + '200': + description: Private Link Attachment Connection. + content: + application/json: + schema: + allOf: + - $ref: '#/components/schemas/networking.v1.PrivateLinkAttachmentConnection' + - type: object + required: + - api_version + - kind + - id + - spec + - status + properties: + spec: + type: object + required: + - cloud + - environment + - private_link_attachment + - type: object + properties: + spec: + type: object + properties: + environment: + example: + id: env-00000 + related: 'https://api.confluent.cloud/v2/environments/env-00000' + resource_name: 'https://api.confluent.cloud/organization=9bb441c4-edef-46ac-8a41-c49e44a3fd9a/environment=env-00000' + private_link_attachment: + example: + id: platt-00000 + related: 'https://api.confluent.cloud/networking/v1/private-link-attachments/platt-00000' + resource_name: 'https://api.confluent.cloud/organization=9bb441c4-edef-46ac-8a41-c49e44a3fd9a/private-link-attachment=platt-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. + + **Important:** This differs from Github and Twitter's same-named header which uses UTC epoch seconds. We use relative time to avoid client/server time synchronization issues. + '400': + $ref: '#/components/responses/BadRequestError' + '401': + $ref: '#/components/responses/UnauthenticatedError' + '403': + $ref: '#/components/responses/UnauthorizedError' + '404': + $ref: '#/components/responses/NotFoundError' + '429': + $ref: '#/components/responses/RateLimitError' + '500': + $ref: '#/components/responses/DefaultSystemError' + x-codeSamples: + - lang: Shell + source: |- + curl --request GET \ + --url 'https://api.confluent.cloud/networking/v1/private-link-attachment-connections/{id}?environment=env-00000' \ + --header 'Authorization: Basic REPLACE_BASIC_AUTH' + - lang: Java + source: |- + OkHttpClient client = new OkHttpClient(); + + Request request = new Request.Builder() + .url("https://api.confluent.cloud/networking/v1/private-link-attachment-connections/{id}?environment=env-00000") + .get() + .addHeader("Authorization", "Basic REPLACE_BASIC_AUTH") + .build(); + + Response response = client.newCall(request).execute(); + - lang: Go + source: "package main\n\nimport (\n\t\"fmt\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.confluent.cloud/networking/v1/private-link-attachment-connections/{id}?environment=env-00000\"\n\n\treq, _ := http.NewRequest(\"GET\", url, nil)\n\n\treq.Header.Add(\"Authorization\", \"Basic REPLACE_BASIC_AUTH\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}" + - lang: Python + source: |- + import http.client + + conn = http.client.HTTPSConnection("api.confluent.cloud") + + headers = { 'Authorization': "Basic REPLACE_BASIC_AUTH" } + + conn.request("GET", "/networking/v1/private-link-attachment-connections/{id}?environment=env-00000", headers=headers) + + res = conn.getresponse() + data = res.read() + + print(data.decode("utf-8")) + - lang: Node + source: |- + const http = require("https"); + + const options = { + "method": "GET", + "hostname": "api.confluent.cloud", + "port": null, + "path": "/networking/v1/private-link-attachment-connections/{id}?environment=env-00000", + "headers": { + "Authorization": "Basic REPLACE_BASIC_AUTH" + } + }; + + const req = http.request(options, function (res) { + const chunks = []; + + res.on("data", function (chunk) { + chunks.push(chunk); + }); + + res.on("end", function () { + const body = Buffer.concat(chunks); + console.log(body.toString()); + }); + }); + + req.end(); + - lang: C + source: |- + CURL *hnd = curl_easy_init(); + + curl_easy_setopt(hnd, CURLOPT_CUSTOMREQUEST, "GET"); + curl_easy_setopt(hnd, CURLOPT_URL, "https://api.confluent.cloud/networking/v1/private-link-attachment-connections/{id}?environment=env-00000"); + + struct curl_slist *headers = NULL; + headers = curl_slist_append(headers, "Authorization: Basic REPLACE_BASIC_AUTH"); + curl_easy_setopt(hnd, CURLOPT_HTTPHEADER, headers); + + CURLcode ret = curl_easy_perform(hnd); + - lang: C# + source: |- + var client = new RestClient("https://api.confluent.cloud/networking/v1/private-link-attachment-connections/{id}?environment=env-00000"); + var request = new RestRequest(Method.GET); + request.AddHeader("Authorization", "Basic REPLACE_BASIC_AUTH"); + IRestResponse response = client.Execute(request); + patch: + operationId: updateNetworkingV1PrivateLinkAttachmentConnection + summary: Update a Private Link Attachment Connection + description: |+ + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + Make a request to update a private link attachment connection. + + parameters: + - name: id + in: path + required: true + schema: + type: string + description: The unique identifier for the private link attachment connection. + tags: + - Private Link Attachment Connections (networking/v1) + security: + - cloud-api-key: [] + - confluent-sts-access-token: [] + requestBody: + content: + application/json: + schema: + allOf: + - $ref: '#/components/schemas/networking.v1.PrivateLinkAttachmentConnectionUpdate' + - type: object + required: + - spec + properties: + spec: + type: object + required: + - environment + properties: + environment: + example: + id: env-00000 + responses: + '200': + description: Private Link Attachment Connection. + content: + application/json: + schema: + allOf: + - $ref: '#/components/schemas/networking.v1.PrivateLinkAttachmentConnection' + - type: object + required: + - api_version + - kind + - id + - spec + - status + properties: + spec: + type: object + required: + - cloud + - environment + - private_link_attachment + - type: object + properties: + spec: + type: object + properties: + environment: + example: + id: env-00000 + related: 'https://api.confluent.cloud/v2/environments/env-00000' + resource_name: 'https://api.confluent.cloud/organization=9bb441c4-edef-46ac-8a41-c49e44a3fd9a/environment=env-00000' + private_link_attachment: + example: + id: platt-00000 + related: 'https://api.confluent.cloud/networking/v1/private-link-attachments/platt-00000' + resource_name: 'https://api.confluent.cloud/organization=9bb441c4-edef-46ac-8a41-c49e44a3fd9a/private-link-attachment=platt-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. + + **Important:** This differs from Github and Twitter's same-named header which uses UTC epoch seconds. We use relative time to avoid client/server time synchronization issues. + '400': + $ref: '#/components/responses/BadRequestError' + '401': + $ref: '#/components/responses/UnauthenticatedError' + '403': + $ref: '#/components/responses/UnauthorizedError' + '404': + $ref: '#/components/responses/NotFoundError' + '409': + $ref: '#/components/responses/ConflictError' + '422': + $ref: '#/components/responses/ValidationError' + '429': + $ref: '#/components/responses/RateLimitError' + '500': + $ref: '#/components/responses/DefaultSystemError' + x-codeSamples: + - lang: Shell + source: |- + curl --request PATCH \ + --url 'https://api.confluent.cloud/networking/v1/private-link-attachment-connections/{id}' \ + --header 'Authorization: Basic REPLACE_BASIC_AUTH' \ + --header 'content-type: application/json' \ + --data '{"spec":{"display_name":"prod-gcp-us-central1-a","cloud":{"kind":"AwsPrivateLinkAttachmentConnection","vpc_endpoint_id":"vpce-00000000000000000"},"environment":{"id":"env-00000","environment":"string"},"private_link_attachment":{"id":"string","environment":"string"}}}' + - lang: Java + source: |- + OkHttpClient client = new OkHttpClient(); + + MediaType mediaType = MediaType.parse("application/json"); + RequestBody body = RequestBody.create(mediaType, "{\"spec\":{\"display_name\":\"prod-gcp-us-central1-a\",\"cloud\":{\"kind\":\"AwsPrivateLinkAttachmentConnection\",\"vpc_endpoint_id\":\"vpce-00000000000000000\"},\"environment\":{\"id\":\"env-00000\",\"environment\":\"string\"},\"private_link_attachment\":{\"id\":\"string\",\"environment\":\"string\"}}}"); + Request request = new Request.Builder() + .url("https://api.confluent.cloud/networking/v1/private-link-attachment-connections/{id}") + .patch(body) + .addHeader("content-type", "application/json") + .addHeader("Authorization", "Basic REPLACE_BASIC_AUTH") + .build(); + + Response response = client.newCall(request).execute(); + - lang: Go + source: "package main\n\nimport (\n\t\"fmt\"\n\t\"strings\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.confluent.cloud/networking/v1/private-link-attachment-connections/{id}\"\n\n\tpayload := strings.NewReader(\"{\\\"spec\\\":{\\\"display_name\\\":\\\"prod-gcp-us-central1-a\\\",\\\"cloud\\\":{\\\"kind\\\":\\\"AwsPrivateLinkAttachmentConnection\\\",\\\"vpc_endpoint_id\\\":\\\"vpce-00000000000000000\\\"},\\\"environment\\\":{\\\"id\\\":\\\"env-00000\\\",\\\"environment\\\":\\\"string\\\"},\\\"private_link_attachment\\\":{\\\"id\\\":\\\"string\\\",\\\"environment\\\":\\\"string\\\"}}}\")\n\n\treq, _ := http.NewRequest(\"PATCH\", url, payload)\n\n\treq.Header.Add(\"content-type\", \"application/json\")\n\treq.Header.Add(\"Authorization\", \"Basic REPLACE_BASIC_AUTH\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}" + - lang: Python + source: |- + import http.client + + conn = http.client.HTTPSConnection("api.confluent.cloud") + + payload = "{\"spec\":{\"display_name\":\"prod-gcp-us-central1-a\",\"cloud\":{\"kind\":\"AwsPrivateLinkAttachmentConnection\",\"vpc_endpoint_id\":\"vpce-00000000000000000\"},\"environment\":{\"id\":\"env-00000\",\"environment\":\"string\"},\"private_link_attachment\":{\"id\":\"string\",\"environment\":\"string\"}}}" + + headers = { + 'content-type': "application/json", + 'Authorization': "Basic REPLACE_BASIC_AUTH" + } + + conn.request("PATCH", "/networking/v1/private-link-attachment-connections/{id}", payload, headers) + + res = conn.getresponse() + data = res.read() + + print(data.decode("utf-8")) + - lang: Node + source: |- + const http = require("https"); + + const options = { + "method": "PATCH", + "hostname": "api.confluent.cloud", + "port": null, + "path": "/networking/v1/private-link-attachment-connections/{id}", + "headers": { + "content-type": "application/json", + "Authorization": "Basic REPLACE_BASIC_AUTH" + } + }; + + const req = http.request(options, function (res) { + const chunks = []; + + res.on("data", function (chunk) { + chunks.push(chunk); + }); + + res.on("end", function () { + const body = Buffer.concat(chunks); + console.log(body.toString()); + }); + }); + + req.write(JSON.stringify({ + spec: { + display_name: 'prod-gcp-us-central1-a', + cloud: { + kind: 'AwsPrivateLinkAttachmentConnection', + vpc_endpoint_id: 'vpce-00000000000000000' + }, + environment: {id: 'env-00000', environment: 'string'}, + private_link_attachment: {id: 'string', environment: 'string'} + } + })); + req.end(); + - lang: C + source: |- + CURL *hnd = curl_easy_init(); + + curl_easy_setopt(hnd, CURLOPT_CUSTOMREQUEST, "PATCH"); + curl_easy_setopt(hnd, CURLOPT_URL, "https://api.confluent.cloud/networking/v1/private-link-attachment-connections/{id}"); + + struct curl_slist *headers = NULL; + headers = curl_slist_append(headers, "content-type: application/json"); + headers = curl_slist_append(headers, "Authorization: Basic REPLACE_BASIC_AUTH"); + curl_easy_setopt(hnd, CURLOPT_HTTPHEADER, headers); + + curl_easy_setopt(hnd, CURLOPT_POSTFIELDS, "{\"spec\":{\"display_name\":\"prod-gcp-us-central1-a\",\"cloud\":{\"kind\":\"AwsPrivateLinkAttachmentConnection\",\"vpc_endpoint_id\":\"vpce-00000000000000000\"},\"environment\":{\"id\":\"env-00000\",\"environment\":\"string\"},\"private_link_attachment\":{\"id\":\"string\",\"environment\":\"string\"}}}"); + + CURLcode ret = curl_easy_perform(hnd); + - lang: C# + source: |- + var client = new RestClient("https://api.confluent.cloud/networking/v1/private-link-attachment-connections/{id}"); + var request = new RestRequest(Method.PATCH); + request.AddHeader("content-type", "application/json"); + request.AddHeader("Authorization", "Basic REPLACE_BASIC_AUTH"); + request.AddParameter("application/json", "{\"spec\":{\"display_name\":\"prod-gcp-us-central1-a\",\"cloud\":{\"kind\":\"AwsPrivateLinkAttachmentConnection\",\"vpc_endpoint_id\":\"vpce-00000000000000000\"},\"environment\":{\"id\":\"env-00000\",\"environment\":\"string\"},\"private_link_attachment\":{\"id\":\"string\",\"environment\":\"string\"}}}", ParameterType.RequestBody); + IRestResponse response = client.Execute(request); + delete: + operationId: deleteNetworkingV1PrivateLinkAttachmentConnection + summary: Delete a Private Link Attachment Connection + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + Make a request to delete a private link attachment connection. + parameters: + - name: environment + in: query + required: true + schema: + $ref: '#/components/schemas/SearchFilter' + example: env-00000 + description: Scope the operation to the given environment. + - name: id + in: path + required: true + schema: + type: string + description: The unique identifier for the private link attachment connection. + tags: + - Private Link Attachment Connections (networking/v1) + security: + - cloud-api-key: [] + - confluent-sts-access-token: [] + responses: + '204': + description: A Private Link Attachment Connection is being deleted. + headers: + X-Request-Id: + schema: + type: string + description: The unique identifier for the API request. + X-RateLimit-Limit: + schema: + type: integer + description: The maximum number of requests you're permitted to make per time period. + X-RateLimit-Remaining: + schema: + type: integer + description: The number of requests remaining in the current rate limit window. + X-RateLimit-Reset: + schema: + type: integer + description: |- + The relative time in seconds until the current rate-limit window resets. + + **Important:** This differs from Github and Twitter's same-named header which uses UTC epoch seconds. We use relative time to avoid client/server time synchronization issues. + '400': + $ref: '#/components/responses/BadRequestError' + '401': + $ref: '#/components/responses/UnauthenticatedError' + '403': + $ref: '#/components/responses/UnauthorizedError' + '404': + $ref: '#/components/responses/NotFoundError' + '429': + $ref: '#/components/responses/RateLimitError' + '500': + $ref: '#/components/responses/DefaultSystemError' + x-codeSamples: + - lang: Shell + source: |- + curl --request DELETE \ + --url 'https://api.confluent.cloud/networking/v1/private-link-attachment-connections/{id}?environment=env-00000' \ + --header 'Authorization: Basic REPLACE_BASIC_AUTH' + - lang: Java + source: |- + OkHttpClient client = new OkHttpClient(); + + Request request = new Request.Builder() + .url("https://api.confluent.cloud/networking/v1/private-link-attachment-connections/{id}?environment=env-00000") + .delete(null) + .addHeader("Authorization", "Basic REPLACE_BASIC_AUTH") + .build(); + + Response response = client.newCall(request).execute(); + - lang: Go + source: "package main\n\nimport (\n\t\"fmt\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.confluent.cloud/networking/v1/private-link-attachment-connections/{id}?environment=env-00000\"\n\n\treq, _ := http.NewRequest(\"DELETE\", url, nil)\n\n\treq.Header.Add(\"Authorization\", \"Basic REPLACE_BASIC_AUTH\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}" + - lang: Python + source: |- + import http.client + + conn = http.client.HTTPSConnection("api.confluent.cloud") + + headers = { 'Authorization': "Basic REPLACE_BASIC_AUTH" } + + conn.request("DELETE", "/networking/v1/private-link-attachment-connections/{id}?environment=env-00000", headers=headers) + + res = conn.getresponse() + data = res.read() + + print(data.decode("utf-8")) + - lang: Node + source: |- + const http = require("https"); + + const options = { + "method": "DELETE", + "hostname": "api.confluent.cloud", + "port": null, + "path": "/networking/v1/private-link-attachment-connections/{id}?environment=env-00000", + "headers": { + "Authorization": "Basic REPLACE_BASIC_AUTH" + } + }; + + const req = http.request(options, function (res) { + const chunks = []; + + res.on("data", function (chunk) { + chunks.push(chunk); + }); + + res.on("end", function () { + const body = Buffer.concat(chunks); + console.log(body.toString()); + }); + }); + + req.end(); + - lang: C + source: |- + CURL *hnd = curl_easy_init(); + + curl_easy_setopt(hnd, CURLOPT_CUSTOMREQUEST, "DELETE"); + curl_easy_setopt(hnd, CURLOPT_URL, "https://api.confluent.cloud/networking/v1/private-link-attachment-connections/{id}?environment=env-00000"); + + struct curl_slist *headers = NULL; + headers = curl_slist_append(headers, "Authorization: Basic REPLACE_BASIC_AUTH"); + curl_easy_setopt(hnd, CURLOPT_HTTPHEADER, headers); + + CURLcode ret = curl_easy_perform(hnd); + - lang: C# + source: |- + var client = new RestClient("https://api.confluent.cloud/networking/v1/private-link-attachment-connections/{id}?environment=env-00000"); + var request = new RestRequest(Method.DELETE); + request.AddHeader("Authorization", "Basic REPLACE_BASIC_AUTH"); + IRestResponse response = client.Execute(request); + /networking/v1/dns-forwarders: + get: + operationId: listNetworkingV1DnsForwarders + summary: List of DNS Forwarders + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + Retrieve a sorted, filtered, paginated list of all DNS forwarders. + parameters: + - name: environment + in: query + required: true + schema: + $ref: '#/components/schemas/SearchFilter' + example: env-00000 + description: Filter the results by exact match for environment. + - name: page_size + in: query + required: false + schema: + type: integer + default: 10 + maximum: 100 + x-max-page-items: 500 + description: A pagination size for collection requests. + - name: page_token + in: query + required: false + schema: + type: string + maxLength: 255 + description: An opaque pagination token for collection requests. + tags: + - DNS Forwarders (networking/v1) + security: + - cloud-api-key: [] + - confluent-sts-access-token: [] + responses: + '200': + description: DNS Forwarder. + content: + application/json: + schema: + allOf: + - $ref: '#/components/schemas/networking.v1.DnsForwarderList' + - type: object + properties: + data: + type: array + items: + properties: + spec: + type: object + properties: + environment: + example: + id: env-00000 + related: 'https://api.confluent.cloud/v2/environments/env-00000' + resource_name: 'https://api.confluent.cloud/organization=9bb441c4-edef-46ac-8a41-c49e44a3fd9a/environment=env-00000' + gateway: + example: + id: gw-00000 + related: 'https://api.confluent.cloud/networking/v1/gateways/gw-00000' + resource_name: 'https://api.confluent.cloud/organization=9bb441c4-edef-46ac-8a41-c49e44a3fd9a/environment=env-abc123/gateway=gw-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. + + **Important:** This differs from Github and Twitter's same-named header which uses UTC epoch seconds. We use relative time to avoid client/server time synchronization issues. + '400': + $ref: '#/components/responses/BadRequestError' + '401': + $ref: '#/components/responses/UnauthenticatedError' + '403': + $ref: '#/components/responses/UnauthorizedError' + '429': + $ref: '#/components/responses/RateLimitError' + '500': + $ref: '#/components/responses/DefaultSystemError' + x-codeSamples: + - lang: Shell + source: |- + curl --request GET \ + --url 'https://api.confluent.cloud/networking/v1/dns-forwarders?environment=env-00000' \ + --header 'Authorization: Basic REPLACE_BASIC_AUTH' + - lang: Java + source: |- + OkHttpClient client = new OkHttpClient(); + + Request request = new Request.Builder() + .url("https://api.confluent.cloud/networking/v1/dns-forwarders?environment=env-00000") + .get() + .addHeader("Authorization", "Basic REPLACE_BASIC_AUTH") + .build(); + + Response response = client.newCall(request).execute(); + - lang: Go + source: "package main\n\nimport (\n\t\"fmt\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.confluent.cloud/networking/v1/dns-forwarders?environment=env-00000\"\n\n\treq, _ := http.NewRequest(\"GET\", url, nil)\n\n\treq.Header.Add(\"Authorization\", \"Basic REPLACE_BASIC_AUTH\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}" + - lang: Python + source: |- + import http.client + + conn = http.client.HTTPSConnection("api.confluent.cloud") + + headers = { 'Authorization': "Basic REPLACE_BASIC_AUTH" } + + conn.request("GET", "/networking/v1/dns-forwarders?environment=env-00000", headers=headers) + + res = conn.getresponse() + data = res.read() + + print(data.decode("utf-8")) + - lang: Node + source: |- + const http = require("https"); + + const options = { + "method": "GET", + "hostname": "api.confluent.cloud", + "port": null, + "path": "/networking/v1/dns-forwarders?environment=env-00000", + "headers": { + "Authorization": "Basic REPLACE_BASIC_AUTH" + } + }; + + const req = http.request(options, function (res) { + const chunks = []; + + res.on("data", function (chunk) { + chunks.push(chunk); + }); + + res.on("end", function () { + const body = Buffer.concat(chunks); + console.log(body.toString()); + }); + }); + + req.end(); + - lang: C + source: |- + CURL *hnd = curl_easy_init(); + + curl_easy_setopt(hnd, CURLOPT_CUSTOMREQUEST, "GET"); + curl_easy_setopt(hnd, CURLOPT_URL, "https://api.confluent.cloud/networking/v1/dns-forwarders?environment=env-00000"); + + struct curl_slist *headers = NULL; + headers = curl_slist_append(headers, "Authorization: Basic REPLACE_BASIC_AUTH"); + curl_easy_setopt(hnd, CURLOPT_HTTPHEADER, headers); + + CURLcode ret = curl_easy_perform(hnd); + - lang: C# + source: |- + var client = new RestClient("https://api.confluent.cloud/networking/v1/dns-forwarders?environment=env-00000"); + var request = new RestRequest(Method.GET); + request.AddHeader("Authorization", "Basic REPLACE_BASIC_AUTH"); + IRestResponse response = client.Execute(request); + post: + operationId: createNetworkingV1DnsForwarder + summary: Create a DNS Forwarder + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + Make a request to create a DNS forwarder. + tags: + - DNS Forwarders (networking/v1) + security: + - cloud-api-key: [] + - confluent-sts-access-token: [] + requestBody: + content: + application/json: + schema: + allOf: + - $ref: '#/components/schemas/networking.v1.DnsForwarder' + - type: object + required: + - spec + properties: + spec: + type: object + required: + - domains + - config + - environment + - gateway + - type: object + properties: + spec: + type: object + properties: + environment: + example: + id: env-00000 + gateway: + example: + id: gw-00000 + responses: + '202': + description: A DNS Forwarder is being created. + headers: + X-Request-Id: + schema: + type: string + description: The unique identifier for the API request. + X-RateLimit-Limit: + schema: + type: integer + description: The maximum number of requests you're permitted to make per time period. + X-RateLimit-Remaining: + schema: + type: integer + description: The number of requests remaining in the current rate limit window. + X-RateLimit-Reset: + schema: + type: integer + description: |- + The relative time in seconds until the current rate-limit window resets. + + **Important:** This differs from Github and Twitter's same-named header which uses UTC epoch seconds. We use relative time to avoid client/server time synchronization issues. + Location: + schema: + type: string + format: uri + example: 'https://api.confluent.cloud/networking/v1/dns-forwarders/{id}' + description: DnsForwarder resource uri + content: + application/json: + schema: + allOf: + - $ref: '#/components/schemas/networking.v1.DnsForwarder' + - type: object + required: + - spec + - status + properties: + spec: + type: object + required: + - domains + - config + - environment + - gateway + - type: object + properties: + spec: + type: object + properties: + environment: + example: + id: env-00000 + related: 'https://api.confluent.cloud/v2/environments/env-00000' + resource_name: 'https://api.confluent.cloud/organization=9bb441c4-edef-46ac-8a41-c49e44a3fd9a/environment=env-00000' + gateway: + example: + id: gw-00000 + related: 'https://api.confluent.cloud/networking/v1/gateways/gw-00000' + resource_name: 'https://api.confluent.cloud/organization=9bb441c4-edef-46ac-8a41-c49e44a3fd9a/environment=env-abc123/gateway=gw-00000' + '400': + $ref: '#/components/responses/BadRequestError' + '401': + $ref: '#/components/responses/UnauthenticatedError' + '403': + $ref: '#/components/responses/UnauthorizedError' + '409': + $ref: '#/components/responses/ConflictError' + '422': + $ref: '#/components/responses/ValidationError' + '429': + $ref: '#/components/responses/RateLimitError' + '500': + $ref: '#/components/responses/DefaultSystemError' + x-codeSamples: + - lang: Shell + source: |- + curl --request POST \ + --url https://api.confluent.cloud/networking/v1/dns-forwarders \ + --header 'Authorization: Basic REPLACE_BASIC_AUTH' \ + --header 'content-type: application/json' \ + --data '{"spec":{"display_name":"prod-dnsf-1","domains":["example.com","domainname.com"],"config":{"kind":"ForwardViaIp","dns_server_ips":["10.200.0.0","10.200.0.1"]},"environment":{"id":"env-00000","environment":"string"},"gateway":{"id":"gw-00000","environment":"string"}}}' + - lang: Java + source: |- + OkHttpClient client = new OkHttpClient(); + + MediaType mediaType = MediaType.parse("application/json"); + RequestBody body = RequestBody.create(mediaType, "{\"spec\":{\"display_name\":\"prod-dnsf-1\",\"domains\":[\"example.com\",\"domainname.com\"],\"config\":{\"kind\":\"ForwardViaIp\",\"dns_server_ips\":[\"10.200.0.0\",\"10.200.0.1\"]},\"environment\":{\"id\":\"env-00000\",\"environment\":\"string\"},\"gateway\":{\"id\":\"gw-00000\",\"environment\":\"string\"}}}"); + Request request = new Request.Builder() + .url("https://api.confluent.cloud/networking/v1/dns-forwarders") + .post(body) + .addHeader("content-type", "application/json") + .addHeader("Authorization", "Basic REPLACE_BASIC_AUTH") + .build(); + + Response response = client.newCall(request).execute(); + - lang: Go + source: "package main\n\nimport (\n\t\"fmt\"\n\t\"strings\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.confluent.cloud/networking/v1/dns-forwarders\"\n\n\tpayload := strings.NewReader(\"{\\\"spec\\\":{\\\"display_name\\\":\\\"prod-dnsf-1\\\",\\\"domains\\\":[\\\"example.com\\\",\\\"domainname.com\\\"],\\\"config\\\":{\\\"kind\\\":\\\"ForwardViaIp\\\",\\\"dns_server_ips\\\":[\\\"10.200.0.0\\\",\\\"10.200.0.1\\\"]},\\\"environment\\\":{\\\"id\\\":\\\"env-00000\\\",\\\"environment\\\":\\\"string\\\"},\\\"gateway\\\":{\\\"id\\\":\\\"gw-00000\\\",\\\"environment\\\":\\\"string\\\"}}}\")\n\n\treq, _ := http.NewRequest(\"POST\", url, payload)\n\n\treq.Header.Add(\"content-type\", \"application/json\")\n\treq.Header.Add(\"Authorization\", \"Basic REPLACE_BASIC_AUTH\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}" + - lang: Python + source: |- + import http.client + + conn = http.client.HTTPSConnection("api.confluent.cloud") + + payload = "{\"spec\":{\"display_name\":\"prod-dnsf-1\",\"domains\":[\"example.com\",\"domainname.com\"],\"config\":{\"kind\":\"ForwardViaIp\",\"dns_server_ips\":[\"10.200.0.0\",\"10.200.0.1\"]},\"environment\":{\"id\":\"env-00000\",\"environment\":\"string\"},\"gateway\":{\"id\":\"gw-00000\",\"environment\":\"string\"}}}" + + headers = { + 'content-type': "application/json", + 'Authorization': "Basic REPLACE_BASIC_AUTH" + } + + conn.request("POST", "/networking/v1/dns-forwarders", payload, headers) + + res = conn.getresponse() + data = res.read() + + print(data.decode("utf-8")) + - lang: Node + source: |- + const http = require("https"); + + const options = { + "method": "POST", + "hostname": "api.confluent.cloud", + "port": null, + "path": "/networking/v1/dns-forwarders", + "headers": { + "content-type": "application/json", + "Authorization": "Basic REPLACE_BASIC_AUTH" + } + }; + + const req = http.request(options, function (res) { + const chunks = []; + + res.on("data", function (chunk) { + chunks.push(chunk); + }); + + res.on("end", function () { + const body = Buffer.concat(chunks); + console.log(body.toString()); + }); + }); + + req.write(JSON.stringify({ + spec: { + display_name: 'prod-dnsf-1', + domains: ['example.com', 'domainname.com'], + config: {kind: 'ForwardViaIp', dns_server_ips: ['10.200.0.0', '10.200.0.1']}, + environment: {id: 'env-00000', environment: 'string'}, + gateway: {id: 'gw-00000', environment: 'string'} + } + })); + req.end(); + - lang: C + source: |- + CURL *hnd = curl_easy_init(); + + curl_easy_setopt(hnd, CURLOPT_CUSTOMREQUEST, "POST"); + curl_easy_setopt(hnd, CURLOPT_URL, "https://api.confluent.cloud/networking/v1/dns-forwarders"); + + struct curl_slist *headers = NULL; + headers = curl_slist_append(headers, "content-type: application/json"); + headers = curl_slist_append(headers, "Authorization: Basic REPLACE_BASIC_AUTH"); + curl_easy_setopt(hnd, CURLOPT_HTTPHEADER, headers); + + curl_easy_setopt(hnd, CURLOPT_POSTFIELDS, "{\"spec\":{\"display_name\":\"prod-dnsf-1\",\"domains\":[\"example.com\",\"domainname.com\"],\"config\":{\"kind\":\"ForwardViaIp\",\"dns_server_ips\":[\"10.200.0.0\",\"10.200.0.1\"]},\"environment\":{\"id\":\"env-00000\",\"environment\":\"string\"},\"gateway\":{\"id\":\"gw-00000\",\"environment\":\"string\"}}}"); + + CURLcode ret = curl_easy_perform(hnd); + - lang: C# + source: |- + var client = new RestClient("https://api.confluent.cloud/networking/v1/dns-forwarders"); + var request = new RestRequest(Method.POST); + request.AddHeader("content-type", "application/json"); + request.AddHeader("Authorization", "Basic REPLACE_BASIC_AUTH"); + request.AddParameter("application/json", "{\"spec\":{\"display_name\":\"prod-dnsf-1\",\"domains\":[\"example.com\",\"domainname.com\"],\"config\":{\"kind\":\"ForwardViaIp\",\"dns_server_ips\":[\"10.200.0.0\",\"10.200.0.1\"]},\"environment\":{\"id\":\"env-00000\",\"environment\":\"string\"},\"gateway\":{\"id\":\"gw-00000\",\"environment\":\"string\"}}}", ParameterType.RequestBody); + IRestResponse response = client.Execute(request); + '/networking/v1/dns-forwarders/{id}': + get: + operationId: getNetworkingV1DnsForwarder + summary: Read a DNS Forwarder + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + Make a request to read a DNS forwarder. + parameters: + - name: environment + in: query + required: true + schema: + $ref: '#/components/schemas/SearchFilter' + example: env-00000 + description: Scope the operation to the given environment. + - name: id + in: path + required: true + schema: + type: string + description: The unique identifier for the DNS forwarder. + tags: + - DNS Forwarders (networking/v1) + security: + - cloud-api-key: [] + - confluent-sts-access-token: [] + responses: + '200': + description: DNS Forwarder. + content: + application/json: + schema: + allOf: + - $ref: '#/components/schemas/networking.v1.DnsForwarder' + - type: object + required: + - api_version + - kind + - id + - spec + - status + properties: + spec: + type: object + required: + - domains + - config + - environment + - gateway + - type: object + properties: + spec: + type: object + properties: + environment: + example: + id: env-00000 + related: 'https://api.confluent.cloud/v2/environments/env-00000' + resource_name: 'https://api.confluent.cloud/organization=9bb441c4-edef-46ac-8a41-c49e44a3fd9a/environment=env-00000' + gateway: + example: + id: gw-00000 + related: 'https://api.confluent.cloud/networking/v1/gateways/gw-00000' + resource_name: 'https://api.confluent.cloud/organization=9bb441c4-edef-46ac-8a41-c49e44a3fd9a/environment=env-abc123/gateway=gw-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. + + **Important:** This differs from Github and Twitter's same-named header which uses UTC epoch seconds. We use relative time to avoid client/server time synchronization issues. + '400': + $ref: '#/components/responses/BadRequestError' + '401': + $ref: '#/components/responses/UnauthenticatedError' + '403': + $ref: '#/components/responses/UnauthorizedError' + '404': + $ref: '#/components/responses/NotFoundError' + '429': + $ref: '#/components/responses/RateLimitError' + '500': + $ref: '#/components/responses/DefaultSystemError' + x-codeSamples: + - lang: Shell + source: |- + curl --request GET \ + --url 'https://api.confluent.cloud/networking/v1/dns-forwarders/{id}?environment=env-00000' \ + --header 'Authorization: Basic REPLACE_BASIC_AUTH' + - lang: Java + source: |- + OkHttpClient client = new OkHttpClient(); + + Request request = new Request.Builder() + .url("https://api.confluent.cloud/networking/v1/dns-forwarders/{id}?environment=env-00000") + .get() + .addHeader("Authorization", "Basic REPLACE_BASIC_AUTH") + .build(); + + Response response = client.newCall(request).execute(); + - lang: Go + source: "package main\n\nimport (\n\t\"fmt\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.confluent.cloud/networking/v1/dns-forwarders/{id}?environment=env-00000\"\n\n\treq, _ := http.NewRequest(\"GET\", url, nil)\n\n\treq.Header.Add(\"Authorization\", \"Basic REPLACE_BASIC_AUTH\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}" + - lang: Python + source: |- + import http.client + + conn = http.client.HTTPSConnection("api.confluent.cloud") + + headers = { 'Authorization': "Basic REPLACE_BASIC_AUTH" } + + conn.request("GET", "/networking/v1/dns-forwarders/{id}?environment=env-00000", headers=headers) + + res = conn.getresponse() + data = res.read() + + print(data.decode("utf-8")) + - lang: Node + source: |- + const http = require("https"); + + const options = { + "method": "GET", + "hostname": "api.confluent.cloud", + "port": null, + "path": "/networking/v1/dns-forwarders/{id}?environment=env-00000", + "headers": { + "Authorization": "Basic REPLACE_BASIC_AUTH" + } + }; + + const req = http.request(options, function (res) { + const chunks = []; + + res.on("data", function (chunk) { + chunks.push(chunk); + }); + + res.on("end", function () { + const body = Buffer.concat(chunks); + console.log(body.toString()); + }); + }); + + req.end(); + - lang: C + source: |- + CURL *hnd = curl_easy_init(); + + curl_easy_setopt(hnd, CURLOPT_CUSTOMREQUEST, "GET"); + curl_easy_setopt(hnd, CURLOPT_URL, "https://api.confluent.cloud/networking/v1/dns-forwarders/{id}?environment=env-00000"); + + struct curl_slist *headers = NULL; + headers = curl_slist_append(headers, "Authorization: Basic REPLACE_BASIC_AUTH"); + curl_easy_setopt(hnd, CURLOPT_HTTPHEADER, headers); + + CURLcode ret = curl_easy_perform(hnd); + - lang: C# + source: |- + var client = new RestClient("https://api.confluent.cloud/networking/v1/dns-forwarders/{id}?environment=env-00000"); + var request = new RestRequest(Method.GET); + request.AddHeader("Authorization", "Basic REPLACE_BASIC_AUTH"); + IRestResponse response = client.Execute(request); + patch: + operationId: updateNetworkingV1DnsForwarder + summary: Update a DNS Forwarder + description: |+ + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + Make a request to update a DNS forwarder. + + parameters: + - name: id + in: path + required: true + schema: + type: string + description: The unique identifier for the DNS forwarder. + tags: + - DNS Forwarders (networking/v1) + security: + - cloud-api-key: [] + - confluent-sts-access-token: [] + requestBody: + content: + application/json: + schema: + allOf: + - $ref: '#/components/schemas/networking.v1.DnsForwarderUpdate' + - type: object + required: + - spec + properties: + spec: + type: object + required: + - environment + properties: + environment: + example: + id: env-00000 + responses: + '200': + description: DNS Forwarder. + content: + application/json: + schema: + allOf: + - $ref: '#/components/schemas/networking.v1.DnsForwarder' + - type: object + required: + - api_version + - kind + - id + - spec + - status + properties: + spec: + type: object + required: + - domains + - config + - environment + - gateway + - type: object + properties: + spec: + type: object + properties: + environment: + example: + id: env-00000 + related: 'https://api.confluent.cloud/v2/environments/env-00000' + resource_name: 'https://api.confluent.cloud/organization=9bb441c4-edef-46ac-8a41-c49e44a3fd9a/environment=env-00000' + gateway: + example: + id: gw-00000 + related: 'https://api.confluent.cloud/networking/v1/gateways/gw-00000' + resource_name: 'https://api.confluent.cloud/organization=9bb441c4-edef-46ac-8a41-c49e44a3fd9a/environment=env-abc123/gateway=gw-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. + + **Important:** This differs from Github and Twitter's same-named header which uses UTC epoch seconds. We use relative time to avoid client/server time synchronization issues. + '400': + $ref: '#/components/responses/BadRequestError' + '401': + $ref: '#/components/responses/UnauthenticatedError' + '403': + $ref: '#/components/responses/UnauthorizedError' + '404': + $ref: '#/components/responses/NotFoundError' + '409': + $ref: '#/components/responses/ConflictError' + '422': + $ref: '#/components/responses/ValidationError' + '429': + $ref: '#/components/responses/RateLimitError' + '500': + $ref: '#/components/responses/DefaultSystemError' + x-codeSamples: + - lang: Shell + source: |- + curl --request PATCH \ + --url 'https://api.confluent.cloud/networking/v1/dns-forwarders/{id}' \ + --header 'Authorization: Basic REPLACE_BASIC_AUTH' \ + --header 'content-type: application/json' \ + --data '{"spec":{"display_name":"prod-dnsf-1","domains":["example.com","domainname.com"],"config":{"kind":"ForwardViaIp","dns_server_ips":["10.200.0.0","10.200.0.1"]},"environment":{"id":"env-00000","environment":"string"},"gateway":{"id":"string","environment":"string"}}}' + - lang: Java + source: |- + OkHttpClient client = new OkHttpClient(); + + MediaType mediaType = MediaType.parse("application/json"); + RequestBody body = RequestBody.create(mediaType, "{\"spec\":{\"display_name\":\"prod-dnsf-1\",\"domains\":[\"example.com\",\"domainname.com\"],\"config\":{\"kind\":\"ForwardViaIp\",\"dns_server_ips\":[\"10.200.0.0\",\"10.200.0.1\"]},\"environment\":{\"id\":\"env-00000\",\"environment\":\"string\"},\"gateway\":{\"id\":\"string\",\"environment\":\"string\"}}}"); + Request request = new Request.Builder() + .url("https://api.confluent.cloud/networking/v1/dns-forwarders/{id}") + .patch(body) + .addHeader("content-type", "application/json") + .addHeader("Authorization", "Basic REPLACE_BASIC_AUTH") + .build(); + + Response response = client.newCall(request).execute(); + - lang: Go + source: "package main\n\nimport (\n\t\"fmt\"\n\t\"strings\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.confluent.cloud/networking/v1/dns-forwarders/{id}\"\n\n\tpayload := strings.NewReader(\"{\\\"spec\\\":{\\\"display_name\\\":\\\"prod-dnsf-1\\\",\\\"domains\\\":[\\\"example.com\\\",\\\"domainname.com\\\"],\\\"config\\\":{\\\"kind\\\":\\\"ForwardViaIp\\\",\\\"dns_server_ips\\\":[\\\"10.200.0.0\\\",\\\"10.200.0.1\\\"]},\\\"environment\\\":{\\\"id\\\":\\\"env-00000\\\",\\\"environment\\\":\\\"string\\\"},\\\"gateway\\\":{\\\"id\\\":\\\"string\\\",\\\"environment\\\":\\\"string\\\"}}}\")\n\n\treq, _ := http.NewRequest(\"PATCH\", url, payload)\n\n\treq.Header.Add(\"content-type\", \"application/json\")\n\treq.Header.Add(\"Authorization\", \"Basic REPLACE_BASIC_AUTH\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}" + - lang: Python + source: |- + import http.client + + conn = http.client.HTTPSConnection("api.confluent.cloud") + + payload = "{\"spec\":{\"display_name\":\"prod-dnsf-1\",\"domains\":[\"example.com\",\"domainname.com\"],\"config\":{\"kind\":\"ForwardViaIp\",\"dns_server_ips\":[\"10.200.0.0\",\"10.200.0.1\"]},\"environment\":{\"id\":\"env-00000\",\"environment\":\"string\"},\"gateway\":{\"id\":\"string\",\"environment\":\"string\"}}}" + + headers = { + 'content-type': "application/json", + 'Authorization': "Basic REPLACE_BASIC_AUTH" + } + + conn.request("PATCH", "/networking/v1/dns-forwarders/{id}", payload, headers) + + res = conn.getresponse() + data = res.read() + + print(data.decode("utf-8")) + - lang: Node + source: |- + const http = require("https"); + + const options = { + "method": "PATCH", + "hostname": "api.confluent.cloud", + "port": null, + "path": "/networking/v1/dns-forwarders/{id}", + "headers": { + "content-type": "application/json", + "Authorization": "Basic REPLACE_BASIC_AUTH" + } + }; + + const req = http.request(options, function (res) { + const chunks = []; + + res.on("data", function (chunk) { + chunks.push(chunk); + }); + + res.on("end", function () { + const body = Buffer.concat(chunks); + console.log(body.toString()); + }); + }); + + req.write(JSON.stringify({ + spec: { + display_name: 'prod-dnsf-1', + domains: ['example.com', 'domainname.com'], + config: {kind: 'ForwardViaIp', dns_server_ips: ['10.200.0.0', '10.200.0.1']}, + environment: {id: 'env-00000', environment: 'string'}, + gateway: {id: 'string', environment: 'string'} + } + })); + req.end(); + - lang: C + source: |- + CURL *hnd = curl_easy_init(); + + curl_easy_setopt(hnd, CURLOPT_CUSTOMREQUEST, "PATCH"); + curl_easy_setopt(hnd, CURLOPT_URL, "https://api.confluent.cloud/networking/v1/dns-forwarders/{id}"); + + struct curl_slist *headers = NULL; + headers = curl_slist_append(headers, "content-type: application/json"); + headers = curl_slist_append(headers, "Authorization: Basic REPLACE_BASIC_AUTH"); + curl_easy_setopt(hnd, CURLOPT_HTTPHEADER, headers); + + curl_easy_setopt(hnd, CURLOPT_POSTFIELDS, "{\"spec\":{\"display_name\":\"prod-dnsf-1\",\"domains\":[\"example.com\",\"domainname.com\"],\"config\":{\"kind\":\"ForwardViaIp\",\"dns_server_ips\":[\"10.200.0.0\",\"10.200.0.1\"]},\"environment\":{\"id\":\"env-00000\",\"environment\":\"string\"},\"gateway\":{\"id\":\"string\",\"environment\":\"string\"}}}"); + + CURLcode ret = curl_easy_perform(hnd); + - lang: C# + source: |- + var client = new RestClient("https://api.confluent.cloud/networking/v1/dns-forwarders/{id}"); + var request = new RestRequest(Method.PATCH); + request.AddHeader("content-type", "application/json"); + request.AddHeader("Authorization", "Basic REPLACE_BASIC_AUTH"); + request.AddParameter("application/json", "{\"spec\":{\"display_name\":\"prod-dnsf-1\",\"domains\":[\"example.com\",\"domainname.com\"],\"config\":{\"kind\":\"ForwardViaIp\",\"dns_server_ips\":[\"10.200.0.0\",\"10.200.0.1\"]},\"environment\":{\"id\":\"env-00000\",\"environment\":\"string\"},\"gateway\":{\"id\":\"string\",\"environment\":\"string\"}}}", ParameterType.RequestBody); + IRestResponse response = client.Execute(request); + delete: + operationId: deleteNetworkingV1DnsForwarder + summary: Delete a DNS Forwarder + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + Make a request to delete a DNS forwarder. + parameters: + - name: environment + in: query + required: true + schema: + $ref: '#/components/schemas/SearchFilter' + example: env-00000 + description: Scope the operation to the given environment. + - name: id + in: path + required: true + schema: + type: string + description: The unique identifier for the DNS forwarder. + tags: + - DNS Forwarders (networking/v1) + security: + - cloud-api-key: [] + - confluent-sts-access-token: [] + responses: + '204': + description: A DNS Forwarder is being deleted. + headers: + X-Request-Id: + schema: + type: string + description: The unique identifier for the API request. + X-RateLimit-Limit: + schema: + type: integer + description: The maximum number of requests you're permitted to make per time period. + X-RateLimit-Remaining: + schema: + type: integer + description: The number of requests remaining in the current rate limit window. + X-RateLimit-Reset: + schema: + type: integer + description: |- + The relative time in seconds until the current rate-limit window resets. + + **Important:** This differs from Github and Twitter's same-named header which uses UTC epoch seconds. We use relative time to avoid client/server time synchronization issues. + '400': + $ref: '#/components/responses/BadRequestError' + '401': + $ref: '#/components/responses/UnauthenticatedError' + '403': + $ref: '#/components/responses/UnauthorizedError' + '404': + $ref: '#/components/responses/NotFoundError' + '429': + $ref: '#/components/responses/RateLimitError' + '500': + $ref: '#/components/responses/DefaultSystemError' + x-codeSamples: + - lang: Shell + source: |- + curl --request DELETE \ + --url 'https://api.confluent.cloud/networking/v1/dns-forwarders/{id}?environment=env-00000' \ + --header 'Authorization: Basic REPLACE_BASIC_AUTH' + - lang: Java + source: |- + OkHttpClient client = new OkHttpClient(); + + Request request = new Request.Builder() + .url("https://api.confluent.cloud/networking/v1/dns-forwarders/{id}?environment=env-00000") + .delete(null) + .addHeader("Authorization", "Basic REPLACE_BASIC_AUTH") + .build(); + + Response response = client.newCall(request).execute(); + - lang: Go + source: "package main\n\nimport (\n\t\"fmt\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.confluent.cloud/networking/v1/dns-forwarders/{id}?environment=env-00000\"\n\n\treq, _ := http.NewRequest(\"DELETE\", url, nil)\n\n\treq.Header.Add(\"Authorization\", \"Basic REPLACE_BASIC_AUTH\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}" + - lang: Python + source: |- + import http.client + + conn = http.client.HTTPSConnection("api.confluent.cloud") + + headers = { 'Authorization': "Basic REPLACE_BASIC_AUTH" } + + conn.request("DELETE", "/networking/v1/dns-forwarders/{id}?environment=env-00000", headers=headers) + + res = conn.getresponse() + data = res.read() + + print(data.decode("utf-8")) + - lang: Node + source: |- + const http = require("https"); + + const options = { + "method": "DELETE", + "hostname": "api.confluent.cloud", + "port": null, + "path": "/networking/v1/dns-forwarders/{id}?environment=env-00000", + "headers": { + "Authorization": "Basic REPLACE_BASIC_AUTH" + } + }; + + const req = http.request(options, function (res) { + const chunks = []; + + res.on("data", function (chunk) { + chunks.push(chunk); + }); + + res.on("end", function () { + const body = Buffer.concat(chunks); + console.log(body.toString()); + }); + }); + + req.end(); + - lang: C + source: |- + CURL *hnd = curl_easy_init(); + + curl_easy_setopt(hnd, CURLOPT_CUSTOMREQUEST, "DELETE"); + curl_easy_setopt(hnd, CURLOPT_URL, "https://api.confluent.cloud/networking/v1/dns-forwarders/{id}?environment=env-00000"); + + struct curl_slist *headers = NULL; + headers = curl_slist_append(headers, "Authorization: Basic REPLACE_BASIC_AUTH"); + curl_easy_setopt(hnd, CURLOPT_HTTPHEADER, headers); + + CURLcode ret = curl_easy_perform(hnd); + - lang: C# + source: |- + var client = new RestClient("https://api.confluent.cloud/networking/v1/dns-forwarders/{id}?environment=env-00000"); + var request = new RestRequest(Method.DELETE); + request.AddHeader("Authorization", "Basic REPLACE_BASIC_AUTH"); + IRestResponse response = client.Execute(request); + /networking/v1/access-points: + get: + operationId: listNetworkingV1AccessPoints + summary: List of Access Points + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + Retrieve a sorted, filtered, paginated list of all access points. + parameters: + - name: spec.display_name + in: query + required: false + schema: + $ref: '#/components/schemas/MultipleSearchFilter' + example: + - prod-ap-egress-use1 + - prod-ap-egress-usw2 + description: Filter the results by exact match for spec.display_name. Pass multiple times to see results matching any of the values. + style: form + explode: true + - name: environment + in: query + required: true + schema: + $ref: '#/components/schemas/SearchFilter' + example: env-00000 + description: Filter the results by exact match for environment. + - name: spec.gateway + in: query + required: false + schema: + $ref: '#/components/schemas/MultipleSearchFilter' + example: + - gw-00000 + - gw-00001 + description: Filter the results by exact match for spec.gateway. Pass multiple times to see results matching any of the values. + style: form + explode: true + - 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: + - Access Points (networking/v1) + security: + - cloud-api-key: [] + - confluent-sts-access-token: [] + responses: + '200': + description: Access Point. + content: + application/json: + schema: + allOf: + - $ref: '#/components/schemas/networking.v1.AccessPointList' + - type: object + properties: + data: + type: array + items: + properties: + spec: + type: object + properties: + environment: + example: + id: env-00000 + related: 'https://api.confluent.cloud/v2/environments/env-00000' + resource_name: 'https://api.confluent.cloud/organization=9bb441c4-edef-46ac-8a41-c49e44a3fd9a/environment=env-00000' + gateway: + example: + id: gw-00000 + related: 'https://api.confluent.cloud/networking/v1/gateways/gw-00000' + resource_name: 'https://api.confluent.cloud/organization=9bb441c4-edef-46ac-8a41-c49e44a3fd9a/environment=env-abc123/gateway=gw-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. + + **Important:** This differs from Github and Twitter's same-named header which uses UTC epoch seconds. We use relative time to avoid client/server time synchronization issues. + '400': + $ref: '#/components/responses/BadRequestError' + '401': + $ref: '#/components/responses/UnauthenticatedError' + '403': + $ref: '#/components/responses/UnauthorizedError' + '429': + $ref: '#/components/responses/RateLimitError' + '500': + $ref: '#/components/responses/DefaultSystemError' + x-codeSamples: + - lang: Shell + source: |- + curl --request GET \ + --url 'https://api.confluent.cloud/networking/v1/access-points?spec.display_name=prod-ap-egress-use1,prod-ap-egress-usw2&environment=env-00000&spec.gateway=gw-00000,gw-00001' \ + --header 'Authorization: Basic REPLACE_BASIC_AUTH' + - lang: Java + source: |- + OkHttpClient client = new OkHttpClient(); + + Request request = new Request.Builder() + .url("https://api.confluent.cloud/networking/v1/access-points?spec.display_name=prod-ap-egress-use1,prod-ap-egress-usw2&environment=env-00000&spec.gateway=gw-00000,gw-00001") + .get() + .addHeader("Authorization", "Basic REPLACE_BASIC_AUTH") + .build(); + + Response response = client.newCall(request).execute(); + - lang: Go + source: "package main\n\nimport (\n\t\"fmt\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.confluent.cloud/networking/v1/access-points?spec.display_name=prod-ap-egress-use1,prod-ap-egress-usw2&environment=env-00000&spec.gateway=gw-00000,gw-00001\"\n\n\treq, _ := http.NewRequest(\"GET\", url, nil)\n\n\treq.Header.Add(\"Authorization\", \"Basic REPLACE_BASIC_AUTH\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}" + - lang: Python + source: |- + import http.client + + conn = http.client.HTTPSConnection("api.confluent.cloud") + + headers = { 'Authorization': "Basic REPLACE_BASIC_AUTH" } + + conn.request("GET", "/networking/v1/access-points?spec.display_name=prod-ap-egress-use1,prod-ap-egress-usw2&environment=env-00000&spec.gateway=gw-00000,gw-00001", headers=headers) + + res = conn.getresponse() + data = res.read() + + print(data.decode("utf-8")) + - lang: Node + source: |- + const http = require("https"); + + const options = { + "method": "GET", + "hostname": "api.confluent.cloud", + "port": null, + "path": "/networking/v1/access-points?spec.display_name=prod-ap-egress-use1,prod-ap-egress-usw2&environment=env-00000&spec.gateway=gw-00000,gw-00001", + "headers": { + "Authorization": "Basic REPLACE_BASIC_AUTH" + } + }; + + const req = http.request(options, function (res) { + const chunks = []; + + res.on("data", function (chunk) { + chunks.push(chunk); + }); + + res.on("end", function () { + const body = Buffer.concat(chunks); + console.log(body.toString()); + }); + }); + + req.end(); + - lang: C + source: |- + CURL *hnd = curl_easy_init(); + + curl_easy_setopt(hnd, CURLOPT_CUSTOMREQUEST, "GET"); + curl_easy_setopt(hnd, CURLOPT_URL, "https://api.confluent.cloud/networking/v1/access-points?spec.display_name=prod-ap-egress-use1,prod-ap-egress-usw2&environment=env-00000&spec.gateway=gw-00000,gw-00001"); + + struct curl_slist *headers = NULL; + headers = curl_slist_append(headers, "Authorization: Basic REPLACE_BASIC_AUTH"); + curl_easy_setopt(hnd, CURLOPT_HTTPHEADER, headers); + + CURLcode ret = curl_easy_perform(hnd); + - lang: C# + source: |- + var client = new RestClient("https://api.confluent.cloud/networking/v1/access-points?spec.display_name=prod-ap-egress-use1,prod-ap-egress-usw2&environment=env-00000&spec.gateway=gw-00000,gw-00001"); + var request = new RestRequest(Method.GET); + request.AddHeader("Authorization", "Basic REPLACE_BASIC_AUTH"); + IRestResponse response = client.Execute(request); + post: + operationId: createNetworkingV1AccessPoint + summary: Create an Access Point + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + Make a request to create an access point. + tags: + - Access Points (networking/v1) + security: + - cloud-api-key: [] + - confluent-sts-access-token: [] + requestBody: + content: + application/json: + schema: + allOf: + - $ref: '#/components/schemas/networking.v1.AccessPoint' + - type: object + required: + - spec + properties: + spec: + type: object + required: + - config + - environment + - gateway + - type: object + properties: + spec: + type: object + properties: + environment: + example: + id: env-00000 + gateway: + example: + id: gw-00000 + responses: + '202': + description: An Access Point is being created. + headers: + X-Request-Id: + schema: + type: string + description: The unique identifier for the API request. + X-RateLimit-Limit: + schema: + type: integer + description: The maximum number of requests you're permitted to make per time period. + X-RateLimit-Remaining: + schema: + type: integer + description: The number of requests remaining in the current rate limit window. + X-RateLimit-Reset: + schema: + type: integer + description: |- + The relative time in seconds until the current rate-limit window resets. + + **Important:** This differs from Github and Twitter's same-named header which uses UTC epoch seconds. We use relative time to avoid client/server time synchronization issues. + Location: + schema: + type: string + format: uri + example: 'https://api.confluent.cloud/networking/v1/access-points/{id}' + description: AccessPoint resource uri + content: + application/json: + schema: + allOf: + - $ref: '#/components/schemas/networking.v1.AccessPoint' + - type: object + required: + - spec + - status + properties: + spec: + type: object + required: + - config + - environment + - gateway + - type: object + properties: + spec: + type: object + properties: + environment: + example: + id: env-00000 + related: 'https://api.confluent.cloud/v2/environments/env-00000' + resource_name: 'https://api.confluent.cloud/organization=9bb441c4-edef-46ac-8a41-c49e44a3fd9a/environment=env-00000' + gateway: + example: + id: gw-00000 + related: 'https://api.confluent.cloud/networking/v1/gateways/gw-00000' + resource_name: 'https://api.confluent.cloud/organization=9bb441c4-edef-46ac-8a41-c49e44a3fd9a/environment=env-abc123/gateway=gw-00000' + '400': + $ref: '#/components/responses/BadRequestError' + '401': + $ref: '#/components/responses/UnauthenticatedError' + '403': + $ref: '#/components/responses/UnauthorizedError' + '409': + $ref: '#/components/responses/ConflictError' + '422': + $ref: '#/components/responses/ValidationError' + '429': + $ref: '#/components/responses/RateLimitError' + '500': + $ref: '#/components/responses/DefaultSystemError' + x-codeSamples: + - lang: Shell + source: |- + curl --request POST \ + --url https://api.confluent.cloud/networking/v1/access-points \ + --header 'Authorization: Basic REPLACE_BASIC_AUTH' \ + --header 'content-type: application/json' \ + --data '{"spec":{"display_name":"prod-ap-egress-usw2","config":{"kind":"AwsEgressPrivateLinkEndpoint","vpc_endpoint_service_name":"com.amazonaws.vpce.us-west-2.vpce-svc-00000000000000000","enable_high_availability":false},"environment":{"id":"env-00000","environment":"string"},"gateway":{"id":"gw-00000","environment":"string"}}}' + - lang: Java + source: |- + OkHttpClient client = new OkHttpClient(); + + MediaType mediaType = MediaType.parse("application/json"); + RequestBody body = RequestBody.create(mediaType, "{\"spec\":{\"display_name\":\"prod-ap-egress-usw2\",\"config\":{\"kind\":\"AwsEgressPrivateLinkEndpoint\",\"vpc_endpoint_service_name\":\"com.amazonaws.vpce.us-west-2.vpce-svc-00000000000000000\",\"enable_high_availability\":false},\"environment\":{\"id\":\"env-00000\",\"environment\":\"string\"},\"gateway\":{\"id\":\"gw-00000\",\"environment\":\"string\"}}}"); + Request request = new Request.Builder() + .url("https://api.confluent.cloud/networking/v1/access-points") + .post(body) + .addHeader("content-type", "application/json") + .addHeader("Authorization", "Basic REPLACE_BASIC_AUTH") + .build(); + + Response response = client.newCall(request).execute(); + - lang: Go + source: "package main\n\nimport (\n\t\"fmt\"\n\t\"strings\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.confluent.cloud/networking/v1/access-points\"\n\n\tpayload := strings.NewReader(\"{\\\"spec\\\":{\\\"display_name\\\":\\\"prod-ap-egress-usw2\\\",\\\"config\\\":{\\\"kind\\\":\\\"AwsEgressPrivateLinkEndpoint\\\",\\\"vpc_endpoint_service_name\\\":\\\"com.amazonaws.vpce.us-west-2.vpce-svc-00000000000000000\\\",\\\"enable_high_availability\\\":false},\\\"environment\\\":{\\\"id\\\":\\\"env-00000\\\",\\\"environment\\\":\\\"string\\\"},\\\"gateway\\\":{\\\"id\\\":\\\"gw-00000\\\",\\\"environment\\\":\\\"string\\\"}}}\")\n\n\treq, _ := http.NewRequest(\"POST\", url, payload)\n\n\treq.Header.Add(\"content-type\", \"application/json\")\n\treq.Header.Add(\"Authorization\", \"Basic REPLACE_BASIC_AUTH\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}" + - lang: Python + source: |- + import http.client + + conn = http.client.HTTPSConnection("api.confluent.cloud") + + payload = "{\"spec\":{\"display_name\":\"prod-ap-egress-usw2\",\"config\":{\"kind\":\"AwsEgressPrivateLinkEndpoint\",\"vpc_endpoint_service_name\":\"com.amazonaws.vpce.us-west-2.vpce-svc-00000000000000000\",\"enable_high_availability\":false},\"environment\":{\"id\":\"env-00000\",\"environment\":\"string\"},\"gateway\":{\"id\":\"gw-00000\",\"environment\":\"string\"}}}" + + headers = { + 'content-type': "application/json", + 'Authorization': "Basic REPLACE_BASIC_AUTH" + } + + conn.request("POST", "/networking/v1/access-points", payload, headers) + + res = conn.getresponse() + data = res.read() + + print(data.decode("utf-8")) + - lang: Node + source: |- + const http = require("https"); + + const options = { + "method": "POST", + "hostname": "api.confluent.cloud", + "port": null, + "path": "/networking/v1/access-points", + "headers": { + "content-type": "application/json", + "Authorization": "Basic REPLACE_BASIC_AUTH" + } + }; + + const req = http.request(options, function (res) { + const chunks = []; + + res.on("data", function (chunk) { + chunks.push(chunk); + }); + + res.on("end", function () { + const body = Buffer.concat(chunks); + console.log(body.toString()); + }); + }); + + req.write(JSON.stringify({ + spec: { + display_name: 'prod-ap-egress-usw2', + config: { + kind: 'AwsEgressPrivateLinkEndpoint', + vpc_endpoint_service_name: 'com.amazonaws.vpce.us-west-2.vpce-svc-00000000000000000', + enable_high_availability: false + }, + environment: {id: 'env-00000', environment: 'string'}, + gateway: {id: 'gw-00000', environment: 'string'} + } + })); + req.end(); + - lang: C + source: |- + CURL *hnd = curl_easy_init(); + + curl_easy_setopt(hnd, CURLOPT_CUSTOMREQUEST, "POST"); + curl_easy_setopt(hnd, CURLOPT_URL, "https://api.confluent.cloud/networking/v1/access-points"); + + struct curl_slist *headers = NULL; + headers = curl_slist_append(headers, "content-type: application/json"); + headers = curl_slist_append(headers, "Authorization: Basic REPLACE_BASIC_AUTH"); + curl_easy_setopt(hnd, CURLOPT_HTTPHEADER, headers); + + curl_easy_setopt(hnd, CURLOPT_POSTFIELDS, "{\"spec\":{\"display_name\":\"prod-ap-egress-usw2\",\"config\":{\"kind\":\"AwsEgressPrivateLinkEndpoint\",\"vpc_endpoint_service_name\":\"com.amazonaws.vpce.us-west-2.vpce-svc-00000000000000000\",\"enable_high_availability\":false},\"environment\":{\"id\":\"env-00000\",\"environment\":\"string\"},\"gateway\":{\"id\":\"gw-00000\",\"environment\":\"string\"}}}"); + + CURLcode ret = curl_easy_perform(hnd); + - lang: C# + source: |- + var client = new RestClient("https://api.confluent.cloud/networking/v1/access-points"); + var request = new RestRequest(Method.POST); + request.AddHeader("content-type", "application/json"); + request.AddHeader("Authorization", "Basic REPLACE_BASIC_AUTH"); + request.AddParameter("application/json", "{\"spec\":{\"display_name\":\"prod-ap-egress-usw2\",\"config\":{\"kind\":\"AwsEgressPrivateLinkEndpoint\",\"vpc_endpoint_service_name\":\"com.amazonaws.vpce.us-west-2.vpce-svc-00000000000000000\",\"enable_high_availability\":false},\"environment\":{\"id\":\"env-00000\",\"environment\":\"string\"},\"gateway\":{\"id\":\"gw-00000\",\"environment\":\"string\"}}}", ParameterType.RequestBody); + IRestResponse response = client.Execute(request); + '/networking/v1/access-points/{id}': + get: + operationId: getNetworkingV1AccessPoint + summary: Read an Access Point + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + Make a request to read an access point. + parameters: + - name: environment + in: query + required: true + schema: + $ref: '#/components/schemas/SearchFilter' + example: env-00000 + description: Scope the operation to the given environment. + - name: id + in: path + required: true + schema: + type: string + description: The unique identifier for the access point. + tags: + - Access Points (networking/v1) + security: + - cloud-api-key: [] + - confluent-sts-access-token: [] + responses: + '200': + description: Access Point. + content: + application/json: + schema: + allOf: + - $ref: '#/components/schemas/networking.v1.AccessPoint' + - type: object + required: + - api_version + - kind + - id + - spec + - status + properties: + spec: + type: object + required: + - config + - environment + - gateway + - type: object + properties: + spec: + type: object + properties: + environment: + example: + id: env-00000 + related: 'https://api.confluent.cloud/v2/environments/env-00000' + resource_name: 'https://api.confluent.cloud/organization=9bb441c4-edef-46ac-8a41-c49e44a3fd9a/environment=env-00000' + gateway: + example: + id: gw-00000 + related: 'https://api.confluent.cloud/networking/v1/gateways/gw-00000' + resource_name: 'https://api.confluent.cloud/organization=9bb441c4-edef-46ac-8a41-c49e44a3fd9a/environment=env-abc123/gateway=gw-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. + + **Important:** This differs from Github and Twitter's same-named header which uses UTC epoch seconds. We use relative time to avoid client/server time synchronization issues. + '400': + $ref: '#/components/responses/BadRequestError' + '401': + $ref: '#/components/responses/UnauthenticatedError' + '403': + $ref: '#/components/responses/UnauthorizedError' + '404': + $ref: '#/components/responses/NotFoundError' + '429': + $ref: '#/components/responses/RateLimitError' + '500': + $ref: '#/components/responses/DefaultSystemError' + x-codeSamples: + - lang: Shell + source: |- + curl --request GET \ + --url 'https://api.confluent.cloud/networking/v1/access-points/{id}?environment=env-00000' \ + --header 'Authorization: Basic REPLACE_BASIC_AUTH' + - lang: Java + source: |- + OkHttpClient client = new OkHttpClient(); + + Request request = new Request.Builder() + .url("https://api.confluent.cloud/networking/v1/access-points/{id}?environment=env-00000") + .get() + .addHeader("Authorization", "Basic REPLACE_BASIC_AUTH") + .build(); + + Response response = client.newCall(request).execute(); + - lang: Go + source: "package main\n\nimport (\n\t\"fmt\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.confluent.cloud/networking/v1/access-points/{id}?environment=env-00000\"\n\n\treq, _ := http.NewRequest(\"GET\", url, nil)\n\n\treq.Header.Add(\"Authorization\", \"Basic REPLACE_BASIC_AUTH\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}" + - lang: Python + source: |- + import http.client + + conn = http.client.HTTPSConnection("api.confluent.cloud") + + headers = { 'Authorization': "Basic REPLACE_BASIC_AUTH" } + + conn.request("GET", "/networking/v1/access-points/{id}?environment=env-00000", headers=headers) + + res = conn.getresponse() + data = res.read() + + print(data.decode("utf-8")) + - lang: Node + source: |- + const http = require("https"); + + const options = { + "method": "GET", + "hostname": "api.confluent.cloud", + "port": null, + "path": "/networking/v1/access-points/{id}?environment=env-00000", + "headers": { + "Authorization": "Basic REPLACE_BASIC_AUTH" + } + }; + + const req = http.request(options, function (res) { + const chunks = []; + + res.on("data", function (chunk) { + chunks.push(chunk); + }); + + res.on("end", function () { + const body = Buffer.concat(chunks); + console.log(body.toString()); + }); + }); + + req.end(); + - lang: C + source: |- + CURL *hnd = curl_easy_init(); + + curl_easy_setopt(hnd, CURLOPT_CUSTOMREQUEST, "GET"); + curl_easy_setopt(hnd, CURLOPT_URL, "https://api.confluent.cloud/networking/v1/access-points/{id}?environment=env-00000"); + + struct curl_slist *headers = NULL; + headers = curl_slist_append(headers, "Authorization: Basic REPLACE_BASIC_AUTH"); + curl_easy_setopt(hnd, CURLOPT_HTTPHEADER, headers); + + CURLcode ret = curl_easy_perform(hnd); + - lang: C# + source: |- + var client = new RestClient("https://api.confluent.cloud/networking/v1/access-points/{id}?environment=env-00000"); + var request = new RestRequest(Method.GET); + request.AddHeader("Authorization", "Basic REPLACE_BASIC_AUTH"); + IRestResponse response = client.Execute(request); + patch: + operationId: updateNetworkingV1AccessPoint + summary: Update an Access Point + description: |+ + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + Make a request to update an access point. + + parameters: + - name: id + in: path + required: true + schema: + type: string + description: The unique identifier for the access point. + tags: + - Access Points (networking/v1) + security: + - cloud-api-key: [] + - confluent-sts-access-token: [] + requestBody: + content: + application/json: + schema: + allOf: + - $ref: '#/components/schemas/networking.v1.AccessPointUpdate' + - type: object + required: + - spec + properties: + spec: + type: object + required: + - environment + properties: + environment: + example: + id: env-00000 + responses: + '200': + description: Access Point. + content: + application/json: + schema: + allOf: + - $ref: '#/components/schemas/networking.v1.AccessPoint' + - type: object + required: + - api_version + - kind + - id + - spec + - status + properties: + spec: + type: object + required: + - config + - environment + - gateway + - type: object + properties: + spec: + type: object + properties: + environment: + example: + id: env-00000 + related: 'https://api.confluent.cloud/v2/environments/env-00000' + resource_name: 'https://api.confluent.cloud/organization=9bb441c4-edef-46ac-8a41-c49e44a3fd9a/environment=env-00000' + gateway: + example: + id: gw-00000 + related: 'https://api.confluent.cloud/networking/v1/gateways/gw-00000' + resource_name: 'https://api.confluent.cloud/organization=9bb441c4-edef-46ac-8a41-c49e44a3fd9a/environment=env-abc123/gateway=gw-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. + + **Important:** This differs from Github and Twitter's same-named header which uses UTC epoch seconds. We use relative time to avoid client/server time synchronization issues. + '400': + $ref: '#/components/responses/BadRequestError' + '401': + $ref: '#/components/responses/UnauthenticatedError' + '403': + $ref: '#/components/responses/UnauthorizedError' + '404': + $ref: '#/components/responses/NotFoundError' + '409': + $ref: '#/components/responses/ConflictError' + '422': + $ref: '#/components/responses/ValidationError' + '429': + $ref: '#/components/responses/RateLimitError' + '500': + $ref: '#/components/responses/DefaultSystemError' + x-codeSamples: + - lang: Shell + source: |- + curl --request PATCH \ + --url 'https://api.confluent.cloud/networking/v1/access-points/{id}' \ + --header 'Authorization: Basic REPLACE_BASIC_AUTH' \ + --header 'content-type: application/json' \ + --data '{"spec":{"display_name":"prod-ap-egress-usw2","config":{"kind":"AwsEgressPrivateLinkEndpoint","vpc_endpoint_service_name":"com.amazonaws.vpce.us-west-2.vpce-svc-00000000000000000","enable_high_availability":false},"environment":{"id":"env-00000","environment":"string"},"gateway":{"id":"string","environment":"string"}}}' + - lang: Java + source: |- + OkHttpClient client = new OkHttpClient(); + + MediaType mediaType = MediaType.parse("application/json"); + RequestBody body = RequestBody.create(mediaType, "{\"spec\":{\"display_name\":\"prod-ap-egress-usw2\",\"config\":{\"kind\":\"AwsEgressPrivateLinkEndpoint\",\"vpc_endpoint_service_name\":\"com.amazonaws.vpce.us-west-2.vpce-svc-00000000000000000\",\"enable_high_availability\":false},\"environment\":{\"id\":\"env-00000\",\"environment\":\"string\"},\"gateway\":{\"id\":\"string\",\"environment\":\"string\"}}}"); + Request request = new Request.Builder() + .url("https://api.confluent.cloud/networking/v1/access-points/{id}") + .patch(body) + .addHeader("content-type", "application/json") + .addHeader("Authorization", "Basic REPLACE_BASIC_AUTH") + .build(); + + Response response = client.newCall(request).execute(); + - lang: Go + source: "package main\n\nimport (\n\t\"fmt\"\n\t\"strings\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.confluent.cloud/networking/v1/access-points/{id}\"\n\n\tpayload := strings.NewReader(\"{\\\"spec\\\":{\\\"display_name\\\":\\\"prod-ap-egress-usw2\\\",\\\"config\\\":{\\\"kind\\\":\\\"AwsEgressPrivateLinkEndpoint\\\",\\\"vpc_endpoint_service_name\\\":\\\"com.amazonaws.vpce.us-west-2.vpce-svc-00000000000000000\\\",\\\"enable_high_availability\\\":false},\\\"environment\\\":{\\\"id\\\":\\\"env-00000\\\",\\\"environment\\\":\\\"string\\\"},\\\"gateway\\\":{\\\"id\\\":\\\"string\\\",\\\"environment\\\":\\\"string\\\"}}}\")\n\n\treq, _ := http.NewRequest(\"PATCH\", url, payload)\n\n\treq.Header.Add(\"content-type\", \"application/json\")\n\treq.Header.Add(\"Authorization\", \"Basic REPLACE_BASIC_AUTH\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}" + - lang: Python + source: |- + import http.client + + conn = http.client.HTTPSConnection("api.confluent.cloud") + + payload = "{\"spec\":{\"display_name\":\"prod-ap-egress-usw2\",\"config\":{\"kind\":\"AwsEgressPrivateLinkEndpoint\",\"vpc_endpoint_service_name\":\"com.amazonaws.vpce.us-west-2.vpce-svc-00000000000000000\",\"enable_high_availability\":false},\"environment\":{\"id\":\"env-00000\",\"environment\":\"string\"},\"gateway\":{\"id\":\"string\",\"environment\":\"string\"}}}" + + headers = { + 'content-type': "application/json", + 'Authorization': "Basic REPLACE_BASIC_AUTH" + } + + conn.request("PATCH", "/networking/v1/access-points/{id}", payload, headers) + + res = conn.getresponse() + data = res.read() + + print(data.decode("utf-8")) + - lang: Node + source: |- + const http = require("https"); + + const options = { + "method": "PATCH", + "hostname": "api.confluent.cloud", + "port": null, + "path": "/networking/v1/access-points/{id}", + "headers": { + "content-type": "application/json", + "Authorization": "Basic REPLACE_BASIC_AUTH" + } + }; + + const req = http.request(options, function (res) { + const chunks = []; + + res.on("data", function (chunk) { + chunks.push(chunk); + }); + + res.on("end", function () { + const body = Buffer.concat(chunks); + console.log(body.toString()); + }); + }); + + req.write(JSON.stringify({ + spec: { + display_name: 'prod-ap-egress-usw2', + config: { + kind: 'AwsEgressPrivateLinkEndpoint', + vpc_endpoint_service_name: 'com.amazonaws.vpce.us-west-2.vpce-svc-00000000000000000', + enable_high_availability: false + }, + environment: {id: 'env-00000', environment: 'string'}, + gateway: {id: 'string', environment: 'string'} + } + })); + req.end(); + - lang: C + source: |- + CURL *hnd = curl_easy_init(); + + curl_easy_setopt(hnd, CURLOPT_CUSTOMREQUEST, "PATCH"); + curl_easy_setopt(hnd, CURLOPT_URL, "https://api.confluent.cloud/networking/v1/access-points/{id}"); + + struct curl_slist *headers = NULL; + headers = curl_slist_append(headers, "content-type: application/json"); + headers = curl_slist_append(headers, "Authorization: Basic REPLACE_BASIC_AUTH"); + curl_easy_setopt(hnd, CURLOPT_HTTPHEADER, headers); + + curl_easy_setopt(hnd, CURLOPT_POSTFIELDS, "{\"spec\":{\"display_name\":\"prod-ap-egress-usw2\",\"config\":{\"kind\":\"AwsEgressPrivateLinkEndpoint\",\"vpc_endpoint_service_name\":\"com.amazonaws.vpce.us-west-2.vpce-svc-00000000000000000\",\"enable_high_availability\":false},\"environment\":{\"id\":\"env-00000\",\"environment\":\"string\"},\"gateway\":{\"id\":\"string\",\"environment\":\"string\"}}}"); + + CURLcode ret = curl_easy_perform(hnd); + - lang: C# + source: |- + var client = new RestClient("https://api.confluent.cloud/networking/v1/access-points/{id}"); + var request = new RestRequest(Method.PATCH); + request.AddHeader("content-type", "application/json"); + request.AddHeader("Authorization", "Basic REPLACE_BASIC_AUTH"); + request.AddParameter("application/json", "{\"spec\":{\"display_name\":\"prod-ap-egress-usw2\",\"config\":{\"kind\":\"AwsEgressPrivateLinkEndpoint\",\"vpc_endpoint_service_name\":\"com.amazonaws.vpce.us-west-2.vpce-svc-00000000000000000\",\"enable_high_availability\":false},\"environment\":{\"id\":\"env-00000\",\"environment\":\"string\"},\"gateway\":{\"id\":\"string\",\"environment\":\"string\"}}}", ParameterType.RequestBody); + IRestResponse response = client.Execute(request); + delete: + operationId: deleteNetworkingV1AccessPoint + summary: Delete an Access Point + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + Make a request to delete an access point. + parameters: + - name: environment + in: query + required: true + schema: + $ref: '#/components/schemas/SearchFilter' + example: env-00000 + description: Scope the operation to the given environment. + - name: id + in: path + required: true + schema: + type: string + description: The unique identifier for the access point. + tags: + - Access Points (networking/v1) + security: + - cloud-api-key: [] + - confluent-sts-access-token: [] + responses: + '204': + description: An Access Point is being deleted. + headers: + X-Request-Id: + schema: + type: string + description: The unique identifier for the API request. + X-RateLimit-Limit: + schema: + type: integer + description: The maximum number of requests you're permitted to make per time period. + X-RateLimit-Remaining: + schema: + type: integer + description: The number of requests remaining in the current rate limit window. + X-RateLimit-Reset: + schema: + type: integer + description: |- + The relative time in seconds until the current rate-limit window resets. + + **Important:** This differs from Github and Twitter's same-named header which uses UTC epoch seconds. We use relative time to avoid client/server time synchronization issues. + '400': + $ref: '#/components/responses/BadRequestError' + '401': + $ref: '#/components/responses/UnauthenticatedError' + '403': + $ref: '#/components/responses/UnauthorizedError' + '404': + $ref: '#/components/responses/NotFoundError' + '429': + $ref: '#/components/responses/RateLimitError' + '500': + $ref: '#/components/responses/DefaultSystemError' + x-codeSamples: + - lang: Shell + source: |- + curl --request DELETE \ + --url 'https://api.confluent.cloud/networking/v1/access-points/{id}?environment=env-00000' \ + --header 'Authorization: Basic REPLACE_BASIC_AUTH' + - lang: Java + source: |- + OkHttpClient client = new OkHttpClient(); + + Request request = new Request.Builder() + .url("https://api.confluent.cloud/networking/v1/access-points/{id}?environment=env-00000") + .delete(null) + .addHeader("Authorization", "Basic REPLACE_BASIC_AUTH") + .build(); + + Response response = client.newCall(request).execute(); + - lang: Go + source: "package main\n\nimport (\n\t\"fmt\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.confluent.cloud/networking/v1/access-points/{id}?environment=env-00000\"\n\n\treq, _ := http.NewRequest(\"DELETE\", url, nil)\n\n\treq.Header.Add(\"Authorization\", \"Basic REPLACE_BASIC_AUTH\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}" + - lang: Python + source: |- + import http.client + + conn = http.client.HTTPSConnection("api.confluent.cloud") + + headers = { 'Authorization': "Basic REPLACE_BASIC_AUTH" } + + conn.request("DELETE", "/networking/v1/access-points/{id}?environment=env-00000", headers=headers) + + res = conn.getresponse() + data = res.read() + + print(data.decode("utf-8")) + - lang: Node + source: |- + const http = require("https"); + + const options = { + "method": "DELETE", + "hostname": "api.confluent.cloud", + "port": null, + "path": "/networking/v1/access-points/{id}?environment=env-00000", + "headers": { + "Authorization": "Basic REPLACE_BASIC_AUTH" + } + }; + + const req = http.request(options, function (res) { + const chunks = []; + + res.on("data", function (chunk) { + chunks.push(chunk); + }); + + res.on("end", function () { + const body = Buffer.concat(chunks); + console.log(body.toString()); + }); + }); + + req.end(); + - lang: C + source: |- + CURL *hnd = curl_easy_init(); + + curl_easy_setopt(hnd, CURLOPT_CUSTOMREQUEST, "DELETE"); + curl_easy_setopt(hnd, CURLOPT_URL, "https://api.confluent.cloud/networking/v1/access-points/{id}?environment=env-00000"); + + struct curl_slist *headers = NULL; + headers = curl_slist_append(headers, "Authorization: Basic REPLACE_BASIC_AUTH"); + curl_easy_setopt(hnd, CURLOPT_HTTPHEADER, headers); + + CURLcode ret = curl_easy_perform(hnd); + - lang: C# + source: |- + var client = new RestClient("https://api.confluent.cloud/networking/v1/access-points/{id}?environment=env-00000"); + var request = new RestRequest(Method.DELETE); + request.AddHeader("Authorization", "Basic REPLACE_BASIC_AUTH"); + IRestResponse response = client.Execute(request); + /networking/v1/dns-records: + get: + operationId: listNetworkingV1DnsRecords + summary: List of DNS Records + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + Retrieve a sorted, filtered, paginated list of all DNS records. + parameters: + - name: spec.display_name + in: query + required: false + schema: + $ref: '#/components/schemas/MultipleSearchFilter' + example: + - prod-dnsrec-1 + - prod-dnsrec-2 + description: Filter the results by exact match for spec.display_name. Pass multiple times to see results matching any of the values. + style: form + explode: true + - name: spec.domain + in: query + required: false + schema: + $ref: '#/components/schemas/MultipleSearchFilter' + example: + - example.com + - example2.com + description: Filter the results by exact match for spec.domain. Pass multiple times to see results matching any of the values. + style: form + explode: true + - name: environment + in: query + required: true + schema: + $ref: '#/components/schemas/SearchFilter' + example: env-00000 + description: Filter the results by exact match for environment. + - name: spec.gateway + in: query + required: false + schema: + $ref: '#/components/schemas/MultipleSearchFilter' + example: + - gw-00000 + - gw-00001 + description: Filter the results by exact match for spec.gateway. Pass multiple times to see results matching any of the values. + style: form + explode: true + - name: resource + in: query + required: false + schema: + $ref: '#/components/schemas/MultipleSearchFilter' + example: + - ap-11111 + - ap-22222 + description: Filter the results by exact match for resource. Pass multiple times to see results matching any of the values. + style: form + explode: true + - 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: + - DNS Records (networking/v1) + security: + - cloud-api-key: [] + - confluent-sts-access-token: [] + responses: + '200': + description: DNS Record. + content: + application/json: + schema: + allOf: + - $ref: '#/components/schemas/networking.v1.DnsRecordList' + - type: object + properties: + data: + type: array + items: + properties: + spec: + type: object + properties: + environment: + example: + id: env-00000 + related: 'https://api.confluent.cloud/v2/environments/env-00000' + resource_name: 'https://api.confluent.cloud/organization=9bb441c4-edef-46ac-8a41-c49e44a3fd9a/environment=env-00000' + gateway: + example: + id: gw-00000 + related: 'https://api.confluent.cloud/networking/v1/gateways/gw-00000' + resource_name: 'https://api.confluent.cloud/organization=9bb441c4-edef-46ac-8a41-c49e44a3fd9a/environment=env-abc123/gateway=gw-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. + + **Important:** This differs from Github and Twitter's same-named header which uses UTC epoch seconds. We use relative time to avoid client/server time synchronization issues. + '400': + $ref: '#/components/responses/BadRequestError' + '401': + $ref: '#/components/responses/UnauthenticatedError' + '403': + $ref: '#/components/responses/UnauthorizedError' + '429': + $ref: '#/components/responses/RateLimitError' + '500': + $ref: '#/components/responses/DefaultSystemError' + x-codeSamples: + - lang: Shell + source: |- + curl --request GET \ + --url 'https://api.confluent.cloud/networking/v1/dns-records?spec.display_name=prod-dnsrec-1,prod-dnsrec-2&spec.domain=example.com,example2.com&environment=env-00000&spec.gateway=gw-00000,gw-00001&resource=ap-11111,ap-22222' \ + --header 'Authorization: Basic REPLACE_BASIC_AUTH' + - lang: Java + source: |- + OkHttpClient client = new OkHttpClient(); + + Request request = new Request.Builder() + .url("https://api.confluent.cloud/networking/v1/dns-records?spec.display_name=prod-dnsrec-1,prod-dnsrec-2&spec.domain=example.com,example2.com&environment=env-00000&spec.gateway=gw-00000,gw-00001&resource=ap-11111,ap-22222") + .get() + .addHeader("Authorization", "Basic REPLACE_BASIC_AUTH") + .build(); + + Response response = client.newCall(request).execute(); + - lang: Go + source: "package main\n\nimport (\n\t\"fmt\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.confluent.cloud/networking/v1/dns-records?spec.display_name=prod-dnsrec-1,prod-dnsrec-2&spec.domain=example.com,example2.com&environment=env-00000&spec.gateway=gw-00000,gw-00001&resource=ap-11111,ap-22222\"\n\n\treq, _ := http.NewRequest(\"GET\", url, nil)\n\n\treq.Header.Add(\"Authorization\", \"Basic REPLACE_BASIC_AUTH\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}" + - lang: Python + source: |- + import http.client + + conn = http.client.HTTPSConnection("api.confluent.cloud") + + headers = { 'Authorization': "Basic REPLACE_BASIC_AUTH" } + + conn.request("GET", "/networking/v1/dns-records?spec.display_name=prod-dnsrec-1,prod-dnsrec-2&spec.domain=example.com,example2.com&environment=env-00000&spec.gateway=gw-00000,gw-00001&resource=ap-11111,ap-22222", headers=headers) + + res = conn.getresponse() + data = res.read() + + print(data.decode("utf-8")) + - lang: Node + source: |- + const http = require("https"); + + const options = { + "method": "GET", + "hostname": "api.confluent.cloud", + "port": null, + "path": "/networking/v1/dns-records?spec.display_name=prod-dnsrec-1,prod-dnsrec-2&spec.domain=example.com,example2.com&environment=env-00000&spec.gateway=gw-00000,gw-00001&resource=ap-11111,ap-22222", + "headers": { + "Authorization": "Basic REPLACE_BASIC_AUTH" + } + }; + + const req = http.request(options, function (res) { + const chunks = []; + + res.on("data", function (chunk) { + chunks.push(chunk); + }); + + res.on("end", function () { + const body = Buffer.concat(chunks); + console.log(body.toString()); + }); + }); + + req.end(); + - lang: C + source: |- + CURL *hnd = curl_easy_init(); + + curl_easy_setopt(hnd, CURLOPT_CUSTOMREQUEST, "GET"); + curl_easy_setopt(hnd, CURLOPT_URL, "https://api.confluent.cloud/networking/v1/dns-records?spec.display_name=prod-dnsrec-1,prod-dnsrec-2&spec.domain=example.com,example2.com&environment=env-00000&spec.gateway=gw-00000,gw-00001&resource=ap-11111,ap-22222"); + + struct curl_slist *headers = NULL; + headers = curl_slist_append(headers, "Authorization: Basic REPLACE_BASIC_AUTH"); + curl_easy_setopt(hnd, CURLOPT_HTTPHEADER, headers); + + CURLcode ret = curl_easy_perform(hnd); + - lang: C# + source: |- + var client = new RestClient("https://api.confluent.cloud/networking/v1/dns-records?spec.display_name=prod-dnsrec-1,prod-dnsrec-2&spec.domain=example.com,example2.com&environment=env-00000&spec.gateway=gw-00000,gw-00001&resource=ap-11111,ap-22222"); + var request = new RestRequest(Method.GET); + request.AddHeader("Authorization", "Basic REPLACE_BASIC_AUTH"); + IRestResponse response = client.Execute(request); + post: + operationId: createNetworkingV1DnsRecord + summary: Create a DNS Record + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + Make a request to create a DNS record. + tags: + - DNS Records (networking/v1) + security: + - cloud-api-key: [] + - confluent-sts-access-token: [] + requestBody: + content: + application/json: + schema: + allOf: + - $ref: '#/components/schemas/networking.v1.DnsRecord' + - type: object + required: + - spec + properties: + spec: + type: object + required: + - domain + - config + - environment + - gateway + - type: object + properties: + spec: + type: object + properties: + environment: + example: + id: env-00000 + gateway: + example: + id: gw-00000 + responses: + '202': + description: A DNS Record is being created. + headers: + X-Request-Id: + schema: + type: string + description: The unique identifier for the API request. + X-RateLimit-Limit: + schema: + type: integer + description: The maximum number of requests you're permitted to make per time period. + X-RateLimit-Remaining: + schema: + type: integer + description: The number of requests remaining in the current rate limit window. + X-RateLimit-Reset: + schema: + type: integer + description: |- + The relative time in seconds until the current rate-limit window resets. + + **Important:** This differs from Github and Twitter's same-named header which uses UTC epoch seconds. We use relative time to avoid client/server time synchronization issues. + Location: + schema: + type: string + format: uri + example: 'https://api.confluent.cloud/networking/v1/dns-records/{id}' + description: DnsRecord resource uri + content: + application/json: + schema: + allOf: + - $ref: '#/components/schemas/networking.v1.DnsRecord' + - type: object + required: + - spec + - status + properties: + spec: + type: object + required: + - domain + - config + - environment + - gateway + - type: object + properties: + spec: + type: object + properties: + environment: + example: + id: env-00000 + related: 'https://api.confluent.cloud/v2/environments/env-00000' + resource_name: 'https://api.confluent.cloud/organization=9bb441c4-edef-46ac-8a41-c49e44a3fd9a/environment=env-00000' + gateway: + example: + id: gw-00000 + related: 'https://api.confluent.cloud/networking/v1/gateways/gw-00000' + resource_name: 'https://api.confluent.cloud/organization=9bb441c4-edef-46ac-8a41-c49e44a3fd9a/environment=env-abc123/gateway=gw-00000' + '400': + $ref: '#/components/responses/BadRequestError' + '401': + $ref: '#/components/responses/UnauthenticatedError' + '403': + $ref: '#/components/responses/UnauthorizedError' + '409': + $ref: '#/components/responses/ConflictError' + '422': + $ref: '#/components/responses/ValidationError' + '429': + $ref: '#/components/responses/RateLimitError' + '500': + $ref: '#/components/responses/DefaultSystemError' + x-codeSamples: + - lang: Shell + source: |- + curl --request POST \ + --url https://api.confluent.cloud/networking/v1/dns-records \ + --header 'Authorization: Basic REPLACE_BASIC_AUTH' \ + --header 'content-type: application/json' \ + --data '{"spec":{"display_name":"prod-dnsrec-1","domain":"example.com","config":{"kind":"PrivateLinkAccessPoint","resource_id":"ap-12345"},"environment":{"id":"env-00000","environment":"string"},"gateway":{"id":"gw-00000","environment":"string"}}}' + - lang: Java + source: |- + OkHttpClient client = new OkHttpClient(); + + MediaType mediaType = MediaType.parse("application/json"); + RequestBody body = RequestBody.create(mediaType, "{\"spec\":{\"display_name\":\"prod-dnsrec-1\",\"domain\":\"example.com\",\"config\":{\"kind\":\"PrivateLinkAccessPoint\",\"resource_id\":\"ap-12345\"},\"environment\":{\"id\":\"env-00000\",\"environment\":\"string\"},\"gateway\":{\"id\":\"gw-00000\",\"environment\":\"string\"}}}"); + Request request = new Request.Builder() + .url("https://api.confluent.cloud/networking/v1/dns-records") + .post(body) + .addHeader("content-type", "application/json") + .addHeader("Authorization", "Basic REPLACE_BASIC_AUTH") + .build(); + + Response response = client.newCall(request).execute(); + - lang: Go + source: "package main\n\nimport (\n\t\"fmt\"\n\t\"strings\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.confluent.cloud/networking/v1/dns-records\"\n\n\tpayload := strings.NewReader(\"{\\\"spec\\\":{\\\"display_name\\\":\\\"prod-dnsrec-1\\\",\\\"domain\\\":\\\"example.com\\\",\\\"config\\\":{\\\"kind\\\":\\\"PrivateLinkAccessPoint\\\",\\\"resource_id\\\":\\\"ap-12345\\\"},\\\"environment\\\":{\\\"id\\\":\\\"env-00000\\\",\\\"environment\\\":\\\"string\\\"},\\\"gateway\\\":{\\\"id\\\":\\\"gw-00000\\\",\\\"environment\\\":\\\"string\\\"}}}\")\n\n\treq, _ := http.NewRequest(\"POST\", url, payload)\n\n\treq.Header.Add(\"content-type\", \"application/json\")\n\treq.Header.Add(\"Authorization\", \"Basic REPLACE_BASIC_AUTH\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}" + - lang: Python + source: |- + import http.client + + conn = http.client.HTTPSConnection("api.confluent.cloud") + + payload = "{\"spec\":{\"display_name\":\"prod-dnsrec-1\",\"domain\":\"example.com\",\"config\":{\"kind\":\"PrivateLinkAccessPoint\",\"resource_id\":\"ap-12345\"},\"environment\":{\"id\":\"env-00000\",\"environment\":\"string\"},\"gateway\":{\"id\":\"gw-00000\",\"environment\":\"string\"}}}" + + headers = { + 'content-type': "application/json", + 'Authorization': "Basic REPLACE_BASIC_AUTH" + } + + conn.request("POST", "/networking/v1/dns-records", payload, headers) + + res = conn.getresponse() + data = res.read() + + print(data.decode("utf-8")) + - lang: Node + source: |- + const http = require("https"); + + const options = { + "method": "POST", + "hostname": "api.confluent.cloud", + "port": null, + "path": "/networking/v1/dns-records", + "headers": { + "content-type": "application/json", + "Authorization": "Basic REPLACE_BASIC_AUTH" + } + }; + + const req = http.request(options, function (res) { + const chunks = []; + + res.on("data", function (chunk) { + chunks.push(chunk); + }); + + res.on("end", function () { + const body = Buffer.concat(chunks); + console.log(body.toString()); + }); + }); + + req.write(JSON.stringify({ + spec: { + display_name: 'prod-dnsrec-1', + domain: 'example.com', + config: {kind: 'PrivateLinkAccessPoint', resource_id: 'ap-12345'}, + environment: {id: 'env-00000', environment: 'string'}, + gateway: {id: 'gw-00000', environment: 'string'} + } + })); + req.end(); + - lang: C + source: |- + CURL *hnd = curl_easy_init(); + + curl_easy_setopt(hnd, CURLOPT_CUSTOMREQUEST, "POST"); + curl_easy_setopt(hnd, CURLOPT_URL, "https://api.confluent.cloud/networking/v1/dns-records"); + + struct curl_slist *headers = NULL; + headers = curl_slist_append(headers, "content-type: application/json"); + headers = curl_slist_append(headers, "Authorization: Basic REPLACE_BASIC_AUTH"); + curl_easy_setopt(hnd, CURLOPT_HTTPHEADER, headers); + + curl_easy_setopt(hnd, CURLOPT_POSTFIELDS, "{\"spec\":{\"display_name\":\"prod-dnsrec-1\",\"domain\":\"example.com\",\"config\":{\"kind\":\"PrivateLinkAccessPoint\",\"resource_id\":\"ap-12345\"},\"environment\":{\"id\":\"env-00000\",\"environment\":\"string\"},\"gateway\":{\"id\":\"gw-00000\",\"environment\":\"string\"}}}"); + + CURLcode ret = curl_easy_perform(hnd); + - lang: C# + source: |- + var client = new RestClient("https://api.confluent.cloud/networking/v1/dns-records"); + var request = new RestRequest(Method.POST); + request.AddHeader("content-type", "application/json"); + request.AddHeader("Authorization", "Basic REPLACE_BASIC_AUTH"); + request.AddParameter("application/json", "{\"spec\":{\"display_name\":\"prod-dnsrec-1\",\"domain\":\"example.com\",\"config\":{\"kind\":\"PrivateLinkAccessPoint\",\"resource_id\":\"ap-12345\"},\"environment\":{\"id\":\"env-00000\",\"environment\":\"string\"},\"gateway\":{\"id\":\"gw-00000\",\"environment\":\"string\"}}}", ParameterType.RequestBody); + IRestResponse response = client.Execute(request); + '/networking/v1/dns-records/{id}': + get: + operationId: getNetworkingV1DnsRecord + summary: Read a DNS Record + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + Make a request to read a DNS record. + parameters: + - name: environment + in: query + required: true + schema: + $ref: '#/components/schemas/SearchFilter' + example: env-00000 + description: Scope the operation to the given environment. + - name: id + in: path + required: true + schema: + type: string + description: The unique identifier for the DNS record. + tags: + - DNS Records (networking/v1) + security: + - cloud-api-key: [] + - confluent-sts-access-token: [] + responses: + '200': + description: DNS Record. + content: + application/json: + schema: + allOf: + - $ref: '#/components/schemas/networking.v1.DnsRecord' + - type: object + required: + - api_version + - kind + - id + - spec + - status + properties: + spec: + type: object + required: + - domain + - config + - environment + - gateway + - type: object + properties: + spec: + type: object + properties: + environment: + example: + id: env-00000 + related: 'https://api.confluent.cloud/v2/environments/env-00000' + resource_name: 'https://api.confluent.cloud/organization=9bb441c4-edef-46ac-8a41-c49e44a3fd9a/environment=env-00000' + gateway: + example: + id: gw-00000 + related: 'https://api.confluent.cloud/networking/v1/gateways/gw-00000' + resource_name: 'https://api.confluent.cloud/organization=9bb441c4-edef-46ac-8a41-c49e44a3fd9a/environment=env-abc123/gateway=gw-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. + + **Important:** This differs from Github and Twitter's same-named header which uses UTC epoch seconds. We use relative time to avoid client/server time synchronization issues. + '400': + $ref: '#/components/responses/BadRequestError' + '401': + $ref: '#/components/responses/UnauthenticatedError' + '403': + $ref: '#/components/responses/UnauthorizedError' + '404': + $ref: '#/components/responses/NotFoundError' + '429': + $ref: '#/components/responses/RateLimitError' + '500': + $ref: '#/components/responses/DefaultSystemError' + x-codeSamples: + - lang: Shell + source: |- + curl --request GET \ + --url 'https://api.confluent.cloud/networking/v1/dns-records/{id}?environment=env-00000' \ + --header 'Authorization: Basic REPLACE_BASIC_AUTH' + - lang: Java + source: |- + OkHttpClient client = new OkHttpClient(); + + Request request = new Request.Builder() + .url("https://api.confluent.cloud/networking/v1/dns-records/{id}?environment=env-00000") + .get() + .addHeader("Authorization", "Basic REPLACE_BASIC_AUTH") + .build(); + + Response response = client.newCall(request).execute(); + - lang: Go + source: "package main\n\nimport (\n\t\"fmt\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.confluent.cloud/networking/v1/dns-records/{id}?environment=env-00000\"\n\n\treq, _ := http.NewRequest(\"GET\", url, nil)\n\n\treq.Header.Add(\"Authorization\", \"Basic REPLACE_BASIC_AUTH\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}" + - lang: Python + source: |- + import http.client + + conn = http.client.HTTPSConnection("api.confluent.cloud") + + headers = { 'Authorization': "Basic REPLACE_BASIC_AUTH" } + + conn.request("GET", "/networking/v1/dns-records/{id}?environment=env-00000", headers=headers) + + res = conn.getresponse() + data = res.read() + + print(data.decode("utf-8")) + - lang: Node + source: |- + const http = require("https"); + + const options = { + "method": "GET", + "hostname": "api.confluent.cloud", + "port": null, + "path": "/networking/v1/dns-records/{id}?environment=env-00000", + "headers": { + "Authorization": "Basic REPLACE_BASIC_AUTH" + } + }; + + const req = http.request(options, function (res) { + const chunks = []; + + res.on("data", function (chunk) { + chunks.push(chunk); + }); + + res.on("end", function () { + const body = Buffer.concat(chunks); + console.log(body.toString()); + }); + }); + + req.end(); + - lang: C + source: |- + CURL *hnd = curl_easy_init(); + + curl_easy_setopt(hnd, CURLOPT_CUSTOMREQUEST, "GET"); + curl_easy_setopt(hnd, CURLOPT_URL, "https://api.confluent.cloud/networking/v1/dns-records/{id}?environment=env-00000"); + + struct curl_slist *headers = NULL; + headers = curl_slist_append(headers, "Authorization: Basic REPLACE_BASIC_AUTH"); + curl_easy_setopt(hnd, CURLOPT_HTTPHEADER, headers); + + CURLcode ret = curl_easy_perform(hnd); + - lang: C# + source: |- + var client = new RestClient("https://api.confluent.cloud/networking/v1/dns-records/{id}?environment=env-00000"); + var request = new RestRequest(Method.GET); + request.AddHeader("Authorization", "Basic REPLACE_BASIC_AUTH"); + IRestResponse response = client.Execute(request); + patch: + operationId: updateNetworkingV1DnsRecord + summary: Update a DNS Record + description: |+ + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + Make a request to update a DNS record. + + parameters: + - name: id + in: path + required: true + schema: + type: string + description: The unique identifier for the DNS record. + tags: + - DNS Records (networking/v1) + security: + - cloud-api-key: [] + - confluent-sts-access-token: [] + requestBody: + content: + application/json: + schema: + allOf: + - $ref: '#/components/schemas/networking.v1.DnsRecordUpdate' + - type: object + required: + - spec + properties: + spec: + type: object + required: + - environment + properties: + environment: + example: + id: env-00000 + responses: + '200': + description: DNS Record. + content: + application/json: + schema: + allOf: + - $ref: '#/components/schemas/networking.v1.DnsRecord' + - type: object + required: + - api_version + - kind + - id + - spec + - status + properties: + spec: + type: object + required: + - domain + - config + - environment + - gateway + - type: object + properties: + spec: + type: object + properties: + environment: + example: + id: env-00000 + related: 'https://api.confluent.cloud/v2/environments/env-00000' + resource_name: 'https://api.confluent.cloud/organization=9bb441c4-edef-46ac-8a41-c49e44a3fd9a/environment=env-00000' + gateway: + example: + id: gw-00000 + related: 'https://api.confluent.cloud/networking/v1/gateways/gw-00000' + resource_name: 'https://api.confluent.cloud/organization=9bb441c4-edef-46ac-8a41-c49e44a3fd9a/environment=env-abc123/gateway=gw-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. + + **Important:** This differs from Github and Twitter's same-named header which uses UTC epoch seconds. We use relative time to avoid client/server time synchronization issues. + '400': + $ref: '#/components/responses/BadRequestError' + '401': + $ref: '#/components/responses/UnauthenticatedError' + '403': + $ref: '#/components/responses/UnauthorizedError' + '404': + $ref: '#/components/responses/NotFoundError' + '409': + $ref: '#/components/responses/ConflictError' + '422': + $ref: '#/components/responses/ValidationError' + '429': + $ref: '#/components/responses/RateLimitError' + '500': + $ref: '#/components/responses/DefaultSystemError' + x-codeSamples: + - lang: Shell + source: |- + curl --request PATCH \ + --url 'https://api.confluent.cloud/networking/v1/dns-records/{id}' \ + --header 'Authorization: Basic REPLACE_BASIC_AUTH' \ + --header 'content-type: application/json' \ + --data '{"spec":{"display_name":"prod-dnsrec-1","domain":"example.com","config":{"kind":"PrivateLinkAccessPoint","resource_id":"ap-12345"},"environment":{"id":"env-00000","environment":"string"},"gateway":{"id":"string","environment":"string"}}}' + - lang: Java + source: |- + OkHttpClient client = new OkHttpClient(); + + MediaType mediaType = MediaType.parse("application/json"); + RequestBody body = RequestBody.create(mediaType, "{\"spec\":{\"display_name\":\"prod-dnsrec-1\",\"domain\":\"example.com\",\"config\":{\"kind\":\"PrivateLinkAccessPoint\",\"resource_id\":\"ap-12345\"},\"environment\":{\"id\":\"env-00000\",\"environment\":\"string\"},\"gateway\":{\"id\":\"string\",\"environment\":\"string\"}}}"); + Request request = new Request.Builder() + .url("https://api.confluent.cloud/networking/v1/dns-records/{id}") + .patch(body) + .addHeader("content-type", "application/json") + .addHeader("Authorization", "Basic REPLACE_BASIC_AUTH") + .build(); + + Response response = client.newCall(request).execute(); + - lang: Go + source: "package main\n\nimport (\n\t\"fmt\"\n\t\"strings\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.confluent.cloud/networking/v1/dns-records/{id}\"\n\n\tpayload := strings.NewReader(\"{\\\"spec\\\":{\\\"display_name\\\":\\\"prod-dnsrec-1\\\",\\\"domain\\\":\\\"example.com\\\",\\\"config\\\":{\\\"kind\\\":\\\"PrivateLinkAccessPoint\\\",\\\"resource_id\\\":\\\"ap-12345\\\"},\\\"environment\\\":{\\\"id\\\":\\\"env-00000\\\",\\\"environment\\\":\\\"string\\\"},\\\"gateway\\\":{\\\"id\\\":\\\"string\\\",\\\"environment\\\":\\\"string\\\"}}}\")\n\n\treq, _ := http.NewRequest(\"PATCH\", url, payload)\n\n\treq.Header.Add(\"content-type\", \"application/json\")\n\treq.Header.Add(\"Authorization\", \"Basic REPLACE_BASIC_AUTH\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}" + - lang: Python + source: |- + import http.client + + conn = http.client.HTTPSConnection("api.confluent.cloud") + + payload = "{\"spec\":{\"display_name\":\"prod-dnsrec-1\",\"domain\":\"example.com\",\"config\":{\"kind\":\"PrivateLinkAccessPoint\",\"resource_id\":\"ap-12345\"},\"environment\":{\"id\":\"env-00000\",\"environment\":\"string\"},\"gateway\":{\"id\":\"string\",\"environment\":\"string\"}}}" + + headers = { + 'content-type': "application/json", + 'Authorization': "Basic REPLACE_BASIC_AUTH" + } + + conn.request("PATCH", "/networking/v1/dns-records/{id}", payload, headers) + + res = conn.getresponse() + data = res.read() + + print(data.decode("utf-8")) + - lang: Node + source: |- + const http = require("https"); + + const options = { + "method": "PATCH", + "hostname": "api.confluent.cloud", + "port": null, + "path": "/networking/v1/dns-records/{id}", + "headers": { + "content-type": "application/json", + "Authorization": "Basic REPLACE_BASIC_AUTH" + } + }; + + const req = http.request(options, function (res) { + const chunks = []; + + res.on("data", function (chunk) { + chunks.push(chunk); + }); + + res.on("end", function () { + const body = Buffer.concat(chunks); + console.log(body.toString()); + }); + }); + + req.write(JSON.stringify({ + spec: { + display_name: 'prod-dnsrec-1', + domain: 'example.com', + config: {kind: 'PrivateLinkAccessPoint', resource_id: 'ap-12345'}, + environment: {id: 'env-00000', environment: 'string'}, + gateway: {id: 'string', environment: 'string'} + } + })); + req.end(); + - lang: C + source: |- + CURL *hnd = curl_easy_init(); + + curl_easy_setopt(hnd, CURLOPT_CUSTOMREQUEST, "PATCH"); + curl_easy_setopt(hnd, CURLOPT_URL, "https://api.confluent.cloud/networking/v1/dns-records/{id}"); + + struct curl_slist *headers = NULL; + headers = curl_slist_append(headers, "content-type: application/json"); + headers = curl_slist_append(headers, "Authorization: Basic REPLACE_BASIC_AUTH"); + curl_easy_setopt(hnd, CURLOPT_HTTPHEADER, headers); + + curl_easy_setopt(hnd, CURLOPT_POSTFIELDS, "{\"spec\":{\"display_name\":\"prod-dnsrec-1\",\"domain\":\"example.com\",\"config\":{\"kind\":\"PrivateLinkAccessPoint\",\"resource_id\":\"ap-12345\"},\"environment\":{\"id\":\"env-00000\",\"environment\":\"string\"},\"gateway\":{\"id\":\"string\",\"environment\":\"string\"}}}"); + + CURLcode ret = curl_easy_perform(hnd); + - lang: C# + source: |- + var client = new RestClient("https://api.confluent.cloud/networking/v1/dns-records/{id}"); + var request = new RestRequest(Method.PATCH); + request.AddHeader("content-type", "application/json"); + request.AddHeader("Authorization", "Basic REPLACE_BASIC_AUTH"); + request.AddParameter("application/json", "{\"spec\":{\"display_name\":\"prod-dnsrec-1\",\"domain\":\"example.com\",\"config\":{\"kind\":\"PrivateLinkAccessPoint\",\"resource_id\":\"ap-12345\"},\"environment\":{\"id\":\"env-00000\",\"environment\":\"string\"},\"gateway\":{\"id\":\"string\",\"environment\":\"string\"}}}", ParameterType.RequestBody); + IRestResponse response = client.Execute(request); + delete: + operationId: deleteNetworkingV1DnsRecord + summary: Delete a DNS Record + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + Make a request to delete a DNS record. + parameters: + - name: environment + in: query + required: true + schema: + $ref: '#/components/schemas/SearchFilter' + example: env-00000 + description: Scope the operation to the given environment. + - name: id + in: path + required: true + schema: + type: string + description: The unique identifier for the DNS record. + tags: + - DNS Records (networking/v1) + security: + - cloud-api-key: [] + - confluent-sts-access-token: [] + responses: + '204': + description: A DNS Record is being deleted. + headers: + X-Request-Id: + schema: + type: string + description: The unique identifier for the API request. + X-RateLimit-Limit: + schema: + type: integer + description: The maximum number of requests you're permitted to make per time period. + X-RateLimit-Remaining: + schema: + type: integer + description: The number of requests remaining in the current rate limit window. + X-RateLimit-Reset: + schema: + type: integer + description: |- + The relative time in seconds until the current rate-limit window resets. + + **Important:** This differs from Github and Twitter's same-named header which uses UTC epoch seconds. We use relative time to avoid client/server time synchronization issues. + '400': + $ref: '#/components/responses/BadRequestError' + '401': + $ref: '#/components/responses/UnauthenticatedError' + '403': + $ref: '#/components/responses/UnauthorizedError' + '404': + $ref: '#/components/responses/NotFoundError' + '429': + $ref: '#/components/responses/RateLimitError' + '500': + $ref: '#/components/responses/DefaultSystemError' + x-codeSamples: + - lang: Shell + source: |- + curl --request DELETE \ + --url 'https://api.confluent.cloud/networking/v1/dns-records/{id}?environment=env-00000' \ + --header 'Authorization: Basic REPLACE_BASIC_AUTH' + - lang: Java + source: |- + OkHttpClient client = new OkHttpClient(); + + Request request = new Request.Builder() + .url("https://api.confluent.cloud/networking/v1/dns-records/{id}?environment=env-00000") + .delete(null) + .addHeader("Authorization", "Basic REPLACE_BASIC_AUTH") + .build(); + + Response response = client.newCall(request).execute(); + - lang: Go + source: "package main\n\nimport (\n\t\"fmt\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.confluent.cloud/networking/v1/dns-records/{id}?environment=env-00000\"\n\n\treq, _ := http.NewRequest(\"DELETE\", url, nil)\n\n\treq.Header.Add(\"Authorization\", \"Basic REPLACE_BASIC_AUTH\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}" + - lang: Python + source: |- + import http.client + + conn = http.client.HTTPSConnection("api.confluent.cloud") + + headers = { 'Authorization': "Basic REPLACE_BASIC_AUTH" } + + conn.request("DELETE", "/networking/v1/dns-records/{id}?environment=env-00000", headers=headers) + + res = conn.getresponse() + data = res.read() + + print(data.decode("utf-8")) + - lang: Node + source: |- + const http = require("https"); + + const options = { + "method": "DELETE", + "hostname": "api.confluent.cloud", + "port": null, + "path": "/networking/v1/dns-records/{id}?environment=env-00000", + "headers": { + "Authorization": "Basic REPLACE_BASIC_AUTH" + } + }; + + const req = http.request(options, function (res) { + const chunks = []; + + res.on("data", function (chunk) { + chunks.push(chunk); + }); + + res.on("end", function () { + const body = Buffer.concat(chunks); + console.log(body.toString()); + }); + }); + + req.end(); + - lang: C + source: |- + CURL *hnd = curl_easy_init(); + + curl_easy_setopt(hnd, CURLOPT_CUSTOMREQUEST, "DELETE"); + curl_easy_setopt(hnd, CURLOPT_URL, "https://api.confluent.cloud/networking/v1/dns-records/{id}?environment=env-00000"); + + struct curl_slist *headers = NULL; + headers = curl_slist_append(headers, "Authorization: Basic REPLACE_BASIC_AUTH"); + curl_easy_setopt(hnd, CURLOPT_HTTPHEADER, headers); + + CURLcode ret = curl_easy_perform(hnd); + - lang: C# + source: |- + var client = new RestClient("https://api.confluent.cloud/networking/v1/dns-records/{id}?environment=env-00000"); + var request = new RestRequest(Method.DELETE); + request.AddHeader("Authorization", "Basic REPLACE_BASIC_AUTH"); + IRestResponse response = client.Execute(request); diff --git a/providers/src/confluent/v00.00.00000/services/notifications.yaml b/providers/src/confluent/v00.00.00000/services/notifications.yaml new file mode 100644 index 00000000..7c193826 --- /dev/null +++ b/providers/src/confluent/v00.00.00000/services/notifications.yaml @@ -0,0 +1,5231 @@ +openapi: 3.0.0 +servers: + - url: 'https://api.confluent.cloud' + description: Confluent Cloud API +info: + version: '' + contact: + name: Confluent Cloud + url: 'https://www.confluent.io/cloud-contact-us/' + email: support@confluent.io + x-api-id: 46234552-5833-42eb-ba0f-883ad3f70d2b + x-audience: external-public + x-logo: + url: 'https://assets.confluent.io/m/5ec23aa91903c00b/' + title: Confluent Cloud APIs - notifications + description: notifications +tags: + - name: API Keys (iam/v2) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + `ApiKey` objects represent access to different parts of Confluent Cloud. Some types + of API keys represent access to a single cluster/resource such as a Kafka cluster, + Schema Registry cluster or a ksqlDB cluster. Cloud API Keys represent access to resources within an organization + that are not tied to a specific cluster, such as the Org API, IAM API, Metrics API or Connect API. + + The API allows you to list, create, update and delete your API Keys. + + + Related guide: [API Keys in Confluent Cloud](https://docs.confluent.io/cloud/current/client-apps/api-keys.html). + + ## The API Keys Model + + + ## Quotas and Limits + This resource is subject to the [following quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): + + | Quota | Description | + | --- | --- | + | `apikeys_per_org` | API Keys in one Confluent Cloud organization | + - name: Environments (org/v2) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + `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](https://docs.confluent.io/cloud/current/access-management/environments.html). + + ## The Environments Model + + + ## Quotas and Limits + This resource is subject to the [following quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): + + | Quota | Description | + | --- | --- | + | `environments_per_org` | Environments in one Confluent Cloud organization | + - name: Organizations (org/v2) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + `Organization` objects represent a customer organization. An organization contains all customer + resources (e.g., Environments, Kafka Clusters, Service Accounts, API Keys) and is tied to a billing + agreement (including any annual commitment or support plan). + + The API allows you to list, view, and update your organizations. + + + Related guide: [Organizations for Confluent Cloud](https://docs.confluent.io/cloud/current/access-management/hierarchy/organizations/cloud-organization.html). + + ## The Organizations Model + + + ## Quotas and Limits + This resource is subject to the [following quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): + + | Quota | Description | + | --- | --- | + | `organizations_per_user` | Confluent Cloud organizations a user belongs to | + - name: Users (iam/v2) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + `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](https://docs.confluent.io/cloud/current/access-management/user-account.html). + + ## The Users Model + + + ## Quotas and Limits + This resource is subject to the [following quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): + + | Quota | Description | + | --- | --- | + | `users_per_org` | Users in one Confluent Cloud organization | + - name: Service Accounts (iam/v2) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + `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](https://docs.confluent.io/cloud/current/access-management/service-account.html). + + ## The Service Accounts Model + + + ## Quotas and Limits + This resource is subject to the [following quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): + + | Quota | Description | + | --- | --- | + | `service_accounts_per_org` | Service Accounts in one Confluent Cloud organization | + - name: Invitations (iam/v2) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + `Invitation` objects represent invitations to invite users to join your organizations in Confluent Cloud. + + The API allows you to list all your invitations, as well as create, read, and delete a specified invitation. + + + Related guide: [User invitations in Confluent Cloud](https://docs.confluent.io/cloud/current/access-management/identity/user-accounts.html). + + ## The Invitations Model + + + ## Quotas and Limits + This resource is subject to the [following quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): + + | Quota | Description | + | --- | --- | + | `invitations_per_org` | Invitations in a Confluent Cloud organization | + - name: IP Groups (iam/v2) + description: |- + [![Limited Availability](https://img.shields.io/badge/Lifecycle%20Stage-Limited%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) [![Request Access To IP Groups API](https://img.shields.io/badge/-Request%20Access%20To%20IP%20Groups%20API-%23bc8540)](mailto:cloud-support@confluent.io?subject=Request%20to%20join%20IP%20Filtering%20API%20Limited%20Access&body=I%E2%80%99d%20like%20to%20join%20the%20Confluent%20Cloud%20API%20Limited%20Access%20for%20IP%20Filtering.%0AMy%20Cloud%20Organization%20ID%20is%20%3Cretrieve%20from%20https%3A//confluent.cloud/settings/billing/payment%3E.%0A) + + Definitions of networks which can be named and referred by IP blocks, commonly used to attach to IP Filter rules. + + + ## The IP Groups Model + + - name: IP Filters (iam/v2) + description: |- + [![Limited Availability](https://img.shields.io/badge/Lifecycle%20Stage-Limited%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) [![Request Access To IP Filters API](https://img.shields.io/badge/-Request%20Access%20To%20IP%20Filters%20API-%23bc8540)](mailto:ccloud-api-access+iam-v2-limited-availability@confluent.io?subject=Request%20to%20join%20iam/v2%20API%20Limited%20Availability&body=I%E2%80%99d%20like%20to%20join%20the%20Confluent%20Cloud%20API%20Limited%20Availability%20for%20iam/v2%20to%20provide%20early%20feedback%21%20My%20Cloud%20Organization%20ID%20is%20%3Cretrieve%20from%20https%3A//confluent.cloud/settings/billing/payment%3E.) + + `IP Filter` objects are bindings between IP Groups and Confluent resource(s). + For example, a binding between "CorpNet" and "Management APIs" will enforce that + access must come from one of the CIDR blocks associated with CorpNet. + If there are multiple IP filters bound to a resource, a request matching any of the CIDR blocks + for any of the IP Group will allow the request. + If there are no IP Filters for a resource, then access will be granted to requests originating + from any IP Address. + + + ## The IP Filters Model + + - name: Role Bindings (iam/v2) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + A role binding grants a Principal a role on resources that match a pattern. + + The API allows you to perform create, delete, and list operations on role bindings. + + + Related guide: [Role-Based Access Control (RBAC)](https://docs.confluent.io/cloud/current/access-management/access-control/cloud-rbac.html). + + ## The Role Bindings Model + + - name: Subscriptions (notifications/v1) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + `Subscription` objects represent the intent of the customers to get notifications of particular types. + A subscription is created for a particular `NotificationType` and the user will get notifications on the + `Integrations` that are provided while creating the subscription. + + This API allows you to create, retrieve, and update subscriptions, + as well as to view the list of all your subscriptions. You can also delete subscriptions + with RECOMMENDED or OPTIONAL notification types. Subscriptions with REQUIRED notification types cannot be deleted. + + + Related guide: [Cloud Notifications](https://docs.confluent.io/cloud/current/monitoring/configure-notifications.html#notifications-for-ccloud). + + ## The Subscriptions Model + + - name: Integrations (notifications/v1) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + You can create an `Integration` to specify how we can notify you when we receive an alert/notification for + a subscription. Please note that you can only perform create, update and delete operations for integrations + of type `Webhook`, `Slack` and `MsTeams`. You cannot create, update or delete integrations of type `RoleEmail` + and `UserEmail`. + + + Related guide: [Cloud Notifications](https://docs.confluent.io/cloud/current/monitoring/configure-notifications.html#notifications-for-ccloud). + + ## The Integrations Model + + + ## Quotas and Limits + This resource is subject to the [following quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): + + | Quota | Description | + | --- | --- | + | `integrations_per_org` | Maximum number of integrations in one Confluent Cloud organization | + - name: Notification Types (notifications/v1) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + The type of notifications (and their corresponding metadata) supported by Confluent. + + + Related guide: [Cloud Notifications](https://docs.confluent.io/cloud/current/monitoring/configure-notifications.html#notifications-for-ccloud). + + ## The Notification Types Model + + - name: Clusters (cmk/v2) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + `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](https://docs.confluent.io/cloud/current/clusters/cluster-api.html). + + ## The Clusters Model + + + ## Quotas and Limits + This resource is subject to the [following quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): + + | Quota | Description | + | --- | --- | + | `kafka_clusters_per_environment` | Number of clusters in one Confluent Cloud environment | + - name: Clusters (ksqldbcm/v2) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + `Cluster` represents a ksqlDB runtime that you can issue queries to using its API endpoint. + It executes SQL statements and queries which under the hood get built into corresponding + Kafka Streams topologies. The API allows you to list, create, read, and delete your ksqlDB clusters. + + + Related guide: [ksqlDB in Confluent Cloud](https://docs.confluent.io/cloud/current/ksqldb/ksqldb-cluster-api.html). + + ## The Clusters Model + + + ## Quotas and Limits + This resource is subject to the following quotas: + + | Quota | Description | + | --- | --- | + | `ksql.limits.max_apps_per_cluster` | Clusters in one Confluent Cloud Kafka Cluster. | + - name: Connectors (connect/v1) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + API for Managed Connectors or Custom Connectors in Confluent Cloud. + + The API allows you to list, create, get, update and delete a Managed Connector or Custom Connector in Confluent Cloud. + + Connect metrics are available through the [Metrics v2 API](https://api.telemetry.confluent.cloud/docs#tag/Version-2). + + Related guide: [Confluent Cloud API and Managed Connectors](https://docs.confluent.io/cloud/current/connectors/connect-api-section.html). + - name: Lifecycle (connect/v1) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + API for managing the lifecycle for a Managed Connector or Custom Connector in Confluent Cloud. Operations currently supported are Pause and Resume. + - name: Status (connect/v1) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + API for requesting the status or the tasks for a Managed Connector or Custom Connector in Confluent Cloud. + - name: Managed Connector Plugins (connect/v1) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + API for Managed connectors in Confluent Cloud. + - name: Offsets (connect/v1) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + API for managing the offsets for a Managed Connector. + + Related guide: [Manage Connector Offsets](https://docs.confluent.io/cloud/current/connectors/offsets.html#manage-offsets-for-fully-managed-connectors-in-ccloud) + - name: Custom Connector Plugins (connect/v1) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + CustomConnectorPlugins objects represent Custom Connector Plugins on Confluent Cloud. + The API allows you to list, create, read, update, and delete your Custom Connector Plugins. + Related guide: + [Custom Connector Plugin API](https://docs.confluent.io/cloud/current/connectors/connect-api-section.html). + + + ## The Custom Connector Plugins Model + + - name: Presigned Urls (connect/v1) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + Request a presigned upload URL for new Custom Connector Plugin. Note that + the URL policy expires in one hour. If the policy expires, you can request + a new presigned upload URL. + + Related guide: + [Custom Connector Plugin API](https://docs.confluent.io/cloud/current/connectors/connect-api-section.html). + + + ## The Presigned Urls Model + + - name: Cluster (v3) + description: '[![Generally Available](https://img.shields.io/badge/Lifecycle%20Stage-Generally%20Available-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy)' + - name: Configs (v3) + description: '[![Generally Available](https://img.shields.io/badge/Lifecycle%20Stage-Generally%20Available-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy)' + - name: ACL (v3) + description: '[![Generally Available](https://img.shields.io/badge/Lifecycle%20Stage-Generally%20Available-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy)' + - name: Consumer Group (v3) + description: '[![Generally Available](https://img.shields.io/badge/Lifecycle%20Stage-Generally%20Available-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy)' + - name: Partition (v3) + description: '[![Generally Available](https://img.shields.io/badge/Lifecycle%20Stage-Generally%20Available-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy)' + - name: Topic (v3) + description: '[![Generally Available](https://img.shields.io/badge/Lifecycle%20Stage-Generally%20Available-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy)' + - name: Records (v3) + description: '[![Generally Available](https://img.shields.io/badge/Lifecycle%20Stage-Generally%20Available-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy)' + - name: Cluster Linking (v3) + description: '[![Generally Available](https://img.shields.io/badge/Lifecycle%20Stage-Generally%20Available-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy)' + - name: Applied Quotas (service-quota/v1) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + A `quota` object represents a quota configuration for a specific Confluent Cloud resource. + Use this API to retrieve an individual quota or list of quotas for a given scope. + + + Related guide: [Service Quotas for Confluent Cloud](https://docs.confluent.io/cloud/current/quotas/index.html). + + ## The Applied Quotas Model + + - name: Scopes (service-quota/v1) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + Gets a list of all available scopes for applied quotas. + + + Related guide: [Quota Scopes](https://docs.confluent.io/cloud/current/quotas/quotas.html#query-for-scopes). + + ## The Scopes Model + + - name: Entitlements (partner/v2) + description: | + [![Early Access](https://img.shields.io/badge/Lifecycle%20Stage-Early%20Access-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) [![Request Access To Partner v2](https://img.shields.io/badge/-Request%20Access%20To%20Partner%20v2-%23bc8540)](mailto:ccloud-api-access+partner-v2-early-access@confluent.io?subject=Request%20to%20join%20partner/v2%20API%20Early%20Access&body=I%E2%80%99d%20like%20to%20join%20the%20Confluent%20Cloud%20API%20Early%20Access%20for%20partner/v2%20to%20provide%20early%20feedback%21%20My%20Cloud%20Organization%20ID%20is%20%3Cretrieve%20from%20https%3A//confluent.cloud/settings/billing/payment%3E.) + + `Entitlement` objects represent metadata about a marketplace entitlement. + + An entitlement includes metadata about a marketplace purchase + (start date, end date, billing information, partner IDs, etc). + The API allows partners to create, read, and list entitlements. (Unless you + need entitlement creation and customer registration to be separate, + we recommend using the Signup API to create an organization and entitlement + at the same time) + + The API only allows authorized partners to interact with the Entitlements API. + - name: Regions (srcm/v2) + description: |- + [![Deprecated](https://img.shields.io/badge/Lifecycle%20Stage-Deprecated-%23ff005c)](#section/Versioning/API-Lifecycle-Policy) + + `Region` objects represent cloud provider regions available when placing Schema Registry clusters. + The API allows you to list Schema Registry regions. + + + Related guides: + * [Confluent Cloud providers and region support](https://docs.confluent.io/cloud/current/stream-governance/packages.html#cloud-providers-and-region-support). + * [srcm/v3 Migration Guide](https://docs.confluent.io/cloud/current/stream-governance/packages.html#deprecation-of-srcm-v2-clusters-and-regions-apis-and-upgrade-guide). + + + ## The Regions Model + + - name: Clusters (srcm/v2) + description: |- + [![Deprecated](https://img.shields.io/badge/Lifecycle%20Stage-Deprecated-%23ff005c)](#section/Versioning/API-Lifecycle-Policy) + + `Clusters` objects represent Schema Registry Clusters on Confluent Cloud. + + The API allows you to list, create, read, and delete your Schema Registry clusters. + + + Related guides: + * [Confluent Cloud Schema Registry Cluster APIs](https://docs.confluent.io/cloud/current/stream-governance/clusters-regions-api.html#schema-registry-cluster-management). + * [srcm/v3 Migration Guide](https://docs.confluent.io/cloud/current/stream-governance/packages.html#deprecation-of-srcm-v2-clusters-and-regions-apis-and-upgrade-guide). + + + ## The Clusters Model + + - name: Clusters (srcm/v3) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + `Clusters` objects represent Schema Registry Clusters on Confluent Cloud. + + The API allows you to list and read your Schema Registry clusters. + + + Related guide: [Confluent Cloud Schema Registry Cluster APIs](https://docs.confluent.io/cloud/current/stream-governance/clusters-regions-api.html#schema-registry-cluster-management). + + ## The Clusters Model + + - name: Compatibility (v1) + description: |- + [![Generally Available](https://img.shields.io/badge/Lifecycle%20Stage-Generally%20Available-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + The API allows you to test schema compatibility. + + Related guide: [Manage Schemas in Confluent Cloud](https://docs.confluent.io/cloud/current/sr/schemas-manage.html#manage-schemas-in-ccloud). + - name: Config (v1) + description: |- + [![Generally Available](https://img.shields.io/badge/Lifecycle%20Stage-Generally%20Available-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + The API allows you to manage and query schema compatibility settings and cluster configurations. + + Related guide: [Manage Schemas in Confluent Cloud](https://docs.confluent.io/cloud/current/sr/schemas-manage.html#manage-schemas-in-ccloud). + - name: Contexts (v1) + description: |- + [![Generally Available](https://img.shields.io/badge/Lifecycle%20Stage-Generally%20Available-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + The API allows you to retrieve information about schema contexts. + + Related guide: [Manage Schemas in Confluent Cloud](https://docs.confluent.io/cloud/current/sr/schemas-manage.html#manage-schemas-in-ccloud). + - name: Exporters (v1) + description: |- + [![Generally Available](https://img.shields.io/badge/Lifecycle%20Stage-Generally%20Available-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + The API allows you to create, retrieve, update, and delete exporters. + + Related guide: [Manage Schemas in Confluent Cloud](https://docs.confluent.io/cloud/current/sr/schemas-manage.html#manage-schemas-in-ccloud). + - name: Modes (v1) + description: |- + [![Generally Available](https://img.shields.io/badge/Lifecycle%20Stage-Generally%20Available-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + The API allows you to create, retrieve, update, and delete schema subjects modes of operation. + + Related guide: [Manage Schemas in Confluent Cloud](https://docs.confluent.io/cloud/current/sr/schemas-manage.html#manage-schemas-in-ccloud). + - name: Schemas (v1) + description: |- + [![Generally Available](https://img.shields.io/badge/Lifecycle%20Stage-Generally%20Available-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + The API allows you to create, retrieve, update, and delete schemas. + + Related guide: [Manage Schemas in Confluent Cloud](https://docs.confluent.io/cloud/current/sr/schemas-manage.html#manage-schemas-in-ccloud). + - name: Subjects (v1) + description: |- + [![Generally Available](https://img.shields.io/badge/Lifecycle%20Stage-Generally%20Available-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + The API allows you to create, retrieve, update, and delete schema subjects and versions. + + Related guide: [Manage Schemas in Confluent Cloud](https://docs.confluent.io/cloud/current/sr/schemas-manage.html#manage-schemas-in-ccloud). + - name: Key Encryption Keys (v1) + description: |- + [![Generally Available](https://img.shields.io/badge/Lifecycle%20Stage-Generally%20Available-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + The API allows you to create, retrieve, update, and delete key encryption keys. + + Related guide: [Manage Schemas in Confluent Cloud](https://docs.confluent.io/cloud/current/sr/schemas-manage.html#manage-schemas-in-ccloud). + - name: Data Encryption Keys (v1) + description: |- + [![Generally Available](https://img.shields.io/badge/Lifecycle%20Stage-Generally%20Available-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + The API allows you to create, retrieve, update, and delete data encryption keys. + + Related guide: [Manage Schemas in Confluent Cloud](https://docs.confluent.io/cloud/current/sr/schemas-manage.html#manage-schemas-in-ccloud). + - name: Entity (v1) + description: |- + [![Generally Available](https://img.shields.io/badge/Lifecycle%20Stage-Generally%20Available-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + The API allows you to create, retrieve, update, and delete catalog entities. + + Related guide: [Catalog API Documentation](https://docs.confluent.io/cloud/current/stream-governance/stream-catalog.html#catalog-api-documentation). + - name: Search (v1) + description: |- + [![Generally Available](https://img.shields.io/badge/Lifecycle%20Stage-Generally%20Available-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + The API allows you to search for entities. + + Related guide: [Catalog API Documentation](https://docs.confluent.io/cloud/current/stream-governance/stream-catalog.html#catalog-api-documentation). + - name: Types (v1) + description: |- + [![Generally Available](https://img.shields.io/badge/Lifecycle%20Stage-Generally%20Available-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + The API allows you to create, retrieve, update, and delete catalog types such as tag definitions. + + Related guide: [Catalog API Documentation](https://docs.confluent.io/cloud/current/stream-governance/stream-catalog.html#catalog-api-documentation). + - name: Provider Shared Resources (cdx/v1) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + `ProviderSharedResource` object contains details of the data stream + (topic, schema registry subjects, sharing metadata) that you have shared through Stream Sharing. + + + ## The Provider Shared Resources Model + + - name: Provider Shares (cdx/v1) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + `ProviderShare` object respresents the share that you have created through Stream Sharing. + + + Related guide: [Provider Stream Shares in Confluent Cloud](https://docs.confluent.io/cloud/current/stream-sharing/produce-shared-data.html#stream-shares). + + ## The Provider Shares Model + + - name: Consumer Shared Resources (cdx/v1) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + `ConsumerSharedResource` object contains details of the data stream + (topic, schema registry subjects, sharing metadata) that you received through Stream Sharing. + + + ## The Consumer Shared Resources Model + + - name: Consumer Shares (cdx/v1) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + `ConsumerShare` object respresents the share that you received through Stream Sharing. + + + Related guide: [Consumer Stream Shares in Confluent Cloud](https://docs.confluent.io/cloud/current/stream-sharing/consume-shared-data.html). + + ## The Consumer Shares Model + + - name: Shared Tokens (cdx/v1) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + Encrypted Token shared with consumer + + + ## The Shared Tokens Model + + - name: Opt Ins (cdx/v1) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + Stream sharing opt in options + + ## The Opt Ins Model + + - name: Organizations (partner/v2) + description: | + [![Early Access](https://img.shields.io/badge/Lifecycle%20Stage-Early%20Access-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) [![Request Access To Partner v2](https://img.shields.io/badge/-Request%20Access%20To%20Partner%20v2-%23bc8540)](mailto:ccloud-api-access+partner-v2-early-access@confluent.io?subject=Request%20to%20join%20partner/v2%20API%20Early%20Access&body=I%E2%80%99d%20like%20to%20join%20the%20Confluent%20Cloud%20API%20Early%20Access%20for%20partner/v2%20to%20provide%20early%20feedback%21%20My%20Cloud%20Organization%20ID%20is%20%3Cretrieve%20from%20https%3A//confluent.cloud/settings/billing/payment%3E.) + + `Organizations` objects represent an entire Confluent Cloud organization. + Partners are allowed to get an organization they have signed up or + list all organizations they have signed up. + - name: Signup (partner/v2) + description: | + [![Early Access](https://img.shields.io/badge/Lifecycle%20Stage-Early%20Access-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) [![Request Access To Partner v2](https://img.shields.io/badge/-Request%20Access%20To%20Partner%20v2-%23bc8540)](mailto:ccloud-api-access+partner-v2-early-access@confluent.io?subject=Request%20to%20join%20partner/v2%20API%20Early%20Access&body=I%E2%80%99d%20like%20to%20join%20the%20Confluent%20Cloud%20API%20Early%20Access%20for%20partner/v2%20to%20provide%20early%20feedback%21%20My%20Cloud%20Organization%20ID%20is%20%3Cretrieve%20from%20https%3A//confluent.cloud/settings/billing/payment%3E.) + + `Signup` APIs can only be performed by partners. + - name: Networks (networking/v1) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + `Network` represents a network (VPC) in Confluent Cloud. All Networks exist within Confluent-managed cloud + provider accounts. Dedicated networks support more networking options but can only contain Dedicated clusters. + Shared networks can contain any cluster type. + + The API allows you to list, create, read, update, and delete your networks. + + + Related guide: [APIs to manage networks in Confluent Cloud](https://docs.confluent.io/cloud/current/networking/overview.html). + + ## The Networks Model + + + ## Quotas and Limits + This resource is subject to the [following quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): + + | Quota | Description | + | --- | --- | + | `dedicated_networks_per_environment` | Number of dedicated networks per Confluent Cloud environment | + - name: Peerings (networking/v1) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + Add or remove VPC/VNet peering connections between your VPC/VNet and Confluent Cloud. + + Related guides: + * [Use VPC peering connections with Confluent Cloud on AWS](https://docs.confluent.io/cloud/current/networking/peering/aws-peering.html). + * [Use VNet peering connections with Confluent Cloud on Azure](https://docs.confluent.io/cloud/current/networking/peering/azure-peering.html). + * [Use VPC peering connections with Confluent Cloud on Google Cloud](https://docs.confluent.io/cloud/current/networking/peering/gcp-peering.html). + + + ## The Peerings Model + + + ## Quotas and Limits + This resource is subject to the [following quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): + + | Quota | Description | + | --- | --- | + | `peerings_per_network` | Number of peerings per network | + - name: Transit Gateway Attachments (networking/v1) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + AWS Transit Gateway Attachments + + Related guide: [APIs to manage AWS Transit Gateway Attachments](https://docs.confluent.io/cloud/current/networking/aws-transit-gateway.html). + + ## The Transit Gateway Attachments Model + + + ## Quotas and Limits + This resource is subject to the [following quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): + + | Quota | Description | + | --- | --- | + | `tgw_attachments_per_network` | Number of TGW attachments per network | + - name: Private Link Accesses (networking/v1) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + Add or remove access to PrivateLink endpoints by AWS account, Azure subscription and GCP project ID. + + Related guides: + * [Use Google Cloud Private Service Connect with Confluent Cloud](https://docs.confluent.io/cloud/current/networking/private-links/gcp-private-service-connect.html). + * [Use Azure Private Link with Confluent Cloud](https://docs.confluent.io/cloud/current/networking/private-links/azure-privatelink.html). + * [Use AWS PrivateLink with Confluent Cloud](https://docs.confluent.io/cloud/current/networking/private-links/aws-privatelink.html). + + + ## The Private Link Accesses Model + + + ## Quotas and Limits + This resource is subject to the [following quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): + + | Quota | Description | + | --- | --- | + | `private_link_accounts_per_network` | Number of AWS accounts per network | + | `private_link_subscriptions_per_network` | Number of Azure subscriptions per network | + | `private_service_connect_projects_per_network` | Number of GCP projects per network | + - name: Network Link Services (networking/v1) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + Network Link Service is associated with a Private Link Confluent Cloud Network. + It enables connectivity from other Private Link Confluent Cloud Networks based on + the configured accept policies. + + + Related guide: [Network Linking Overview](https://docs.confluent.io/cloud/current/networking/network-linking.html). + + ## The Network Link Services Model + + + ## Quotas and Limits + This resource is subject to the [following quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): + + | Quota | Description | + | --- | --- | + | `network_link_service_per_network` | Number of network link services per network | + - name: Network Link Endpoints (networking/v1) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + A Network Link Enpoint is associated with a Private Link Confluent Cloud Network at the origin and a + Network Link Service (associated with another Private Link Confluent Cloud Network) at the target. + It enables connectivity between the origin network and the target network. + It can only be associated with a Private Link network. + + + Related guide: [Network Linking Overview](https://docs.confluent.io/cloud/current/networking/network-linking.html). + + ## The Network Link Endpoints Model + + + ## Quotas and Limits + This resource is subject to the [following quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): + + | Quota | Description | + | --- | --- | + | `network_link_endpoints_per_network` | Number of network link endpoints per network | + - name: Network Link Service Associations (networking/v1) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + List of incoming Network Link Enpoints associated with the Network Link Service. + + + Related guide: [Network Linking Overview](https://docs.confluent.io/cloud/current/networking/network-linking.html). + + ## The Network Link Service Associations Model + + - name: Gateways (networking/v1) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + A gateway is a resource that defines network access to Confluent cloud resources. + + + ## The Gateways Model + + - name: IP Addresses (networking/v1) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + IP Addresses + + Related guide: [Use Public Egress IP addresses on Confluent Cloud](https://docs.confluent.io/cloud/current/networking/static-egress-ip-addresses.html) + + ## The IP Addresses Model + + - name: Private Link Attachments (networking/v1) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + PrivateLink attachment objects represent reservations to establish PrivateLink connections + to a cloud region in order to access resources that belong to a Confluent Cloud Environment. + The API allows you to list, create, read update and delete your PrivateLink attachments. + + + ## The Private Link Attachments Model + + + ## Quotas and Limits + This resource is subject to the [following quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): + + | Quota | Description | + | --- | --- | + | `private_link_attachments_per_environment` | Number of PrivateLink Attachments per environment | + - name: Private Link Attachment Connections (networking/v1) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + PrivateLink attachment connection objects represent connections established to a cloud region + in order to access resources that belong to a Confluent Cloud Environment. + The API allows you to list, create, read update and delete your PrivateLink attachment connections. + + + ## The Private Link Attachment Connections Model + + - name: Identity Providers (iam/v2) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + `IdentityProvider` objects represent external OAuth-OIDC providers in Confluent Cloud. + + The API allows you to list, create, read, update, and delete your Identity Provider. + + + Related guide: [OAuth for Confluent Cloud](https://docs.confluent.io/cloud/current/access-management/authenticate/oauth/overview.html). + + ## The Identity Providers Model + + + ## Quotas and Limits + This resource is subject to the [following quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): + + | Quota | Description | + | --- | --- | + | `identity_providers_per_org` | Number of OAuth identity providers per organization | + | `public_keys_per_provider` | Number of public keys saved per identity provider | + - name: Jwks (iam/v2) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + `JWKS` objects represent public key sets for a specific OAuth/OpenID Connect provider within + Confluent Cloud. + + The API allows you to refresh JWKS public key data. + + + Related guide: [OAuth for Confluent Cloud](https://docs.confluent.io/cloud/current/access-management/authenticate/oauth/overview.html). + + ## The Jwks Model + + - name: Identity Pools (iam/v2) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + `IdentityPool` objects represent groups of identities tied to a given a `IdentityProvider` + that authorizes them to Confluent Cloud resources. + + It provides a mapping functionality of your `Identity Provider` user to a Confluent identity pool that + is then used to provide access to Confluent Resources. + + + Related guide: [Use identity pools with your OAuth provider](https://docs.confluent.io/cloud/current/access-management/authenticate/oauth/identity-pools.html). + + ## The Identity Pools Model + + + ## Quotas and Limits + This resource is subject to the [following quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): + + | Quota | Description | + | --- | --- | + | `identity_pools_per_provider` | Number of Identity Pools per Identity Provider | + - name: OAuth Tokens (sts/v1) + description: | + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + OAuth Token is a [JSON Web Token (JWT)](https://www.rfc-editor.org/rfc/rfc7519) that enables the use of + external identities to access Confluent Cloud APIs + - name: Client Quotas (kafka-quotas/v1) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + `ClientQuota` objects represent Client Quotas you can set at the service account level. + + The API allows you to list, create, read, update, and delete your client quotas. + + + Related guide: [Client Quotas in Confluent Cloud](https://docs.confluent.io/cloud/current/clusters/client-quotas.html). + + ## The Client Quotas Model + + - name: Pipelines (sd/v1) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + `Pipeline` objects represent information about a user-defined pipeline of Confluent Cloud components. + The pipeline's content is available separately. + + The API allows you to create, retrieve, update, and delete your pipelines, + as well as list all of your pipelines for the particular environment and Kafka cluster. + + + Related guide: [Pipelines in Confluent Cloud](https://docs.confluent.io/cloud/current/stream-designer/). + + ## The Pipelines Model + + + ## Quotas and Limits + This resource is subject to the [following quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): + + | Quota | Description | + | --- | --- | + | `pipelines_per_org` | Pipelines in one Confluent Cloud organization | + | `pipelines_per_cluster` | Pipelines in one Confluent Cloud Kafka cluster | + - name: Keys (byok/v1) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + `Key` objects represent customer managed keys on dedicated Confluent Cloud clusters. + + Keys are used to protect data at rest stored in your dedicated Confluent Cloud clusters on AWS, Azure, and GCP. + This API allows you to upload and retrieve self-managed keys on Confluent Cloud. + + + Related guide: [Confluent Cloud Bring Your Own Key (BYOK) Management API](https://docs.confluent.io/cloud/current/clusters/byok/index.html). + + ## The Keys Model + + + ## Quotas and Limits + This resource is subject to the [following quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): + + | Quota | Description | + | --- | --- | + | `byok.max_keys.per_org` | BYOK keys in one Confluent Cloud organisation. | + - name: Costs (billing/v1) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + `Cost` objects represent the aggregated billing costs for an organization + + + Related guide: [Retrieve costs for a range of dates](https://docs.confluent.io/cloud/current/billing/overview.html#retrieve-costs-for-a-range-of-dates). + + ## The Costs Model + + - name: Group Mappings (iam/v2/sso) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + `GroupMapping` objects establish relationships between user groups in your SSO + identity provider and specific RBAC roles in Confluent Cloud. + + Group mappings enable automated and secure access control to Confluent Cloud resources, + reducing administrative workload by streamlining user provisioning and authorization. + + + Related guide: [Use group mappings with your SSO identity provider](https://docs.confluent.io/cloud/current/access-management/authenticate/sso/group-mapping/overview.html). + + ## The Group Mappings Model + + + ## Quotas and Limits + This resource is subject to the [following quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): + + | Quota | Description | + | --- | --- | + | `group_mappings_per_org` | Number of group mappings per organization | + - name: Compute Pools (fcpm/v2) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + A Compute Pool represents a set of compute resources that is used to run your Queries. + The resources (CPUs, memory,…) provided by a Compute Pool are shared between all Queries that use it. + + + ## The Compute Pools Model + + - name: Regions (fcpm/v2) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + `Region` objects represent cloud provider regions available when placing Flink compute pools. + The API allows you to list Flink regions. + + + ## The Regions Model + + - name: Statements (sql/v1) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + `Statement` represents a core resource used to model SQL statements for execution. + A statement generalizes DDL, DML, DQL, etc., but doesn’t attempt to handle session + management or any higher-level functionality. + The API allows you to list, create, read, and delete your statements. + ## The Statements Model + + - name: Statement Results (sql/v1) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + `StatementResult` represents a result of a `Statement` resource. + The API allows you to read your statement's results. + ## The Statement Results Model + + - name: Statement Exceptions (sql/v1) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + `StatementException` represents an exception of a `Statement` resource. + The API allows you to read your statement's exceptions. + ## The Statement Exceptions Model + + - name: Connections (sql/v1) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + `Connection` represents a core resource used to model SQL connections for execution. + A connection generalizes DDL, DML, DQL, etc., but doesn’t attempt to handle session + management or any higher-level functionality. + The API allows you to list, create, read, and delete your connections. + ## The Connections Model + + - name: DNS Forwarders (networking/v1) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + Add, remove, and update DNS forwarder for your gateway. + + Related guides: + * [Use VPC peering connections with Confluent Cloud on AWS](https://docs.confluent.io/cloud/current/networking/peering/aws-peering.html). + * [Use VNet peering connections with Confluent Cloud on Azure](https://docs.confluent.io/cloud/current/networking/peering/azure-peering.html). + + + ## The DNS Forwarders Model + + - name: Access Points (networking/v1) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + AccessPoint objects represent network connections in and out of Gateways. + This API allows you to list, create, read, update, and delete your access points. + + + ## The Access Points Model + + - name: DNS Records (networking/v1) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + DNS record objects are associated with Confluent Cloud networking resources. This API allows you to list, create, read, update, and delete your DNS records. + + ## The DNS Records Model + + - name: Certificate Authorities (iam/v2) + description: |- + [![Limited Availability](https://img.shields.io/badge/Lifecycle%20Stage-Limited%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + `CertificateAuthority` objects represent signing certificate authorities in Confluent Cloud. + + The API allows you to list, create, read, update, and delete your Certificate Authority. + + + Related guide: [Manage certificate authorities used for client authentication with X.509 certificates.](https://docs.confluent.io/cloud/current/access-management/authenticate/mtls/overview.html). + + ## The Certificate Authorities Model + + + ## Quotas and Limits + This resource is subject to the [following quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): + + | Quota | Description | + | --- | --- | + | `certificate_authorities_per_org` | Number of certificate authorities per organization | + - name: Certificate Identity Pools (iam/v2) + description: |- + [![Limited Availability](https://img.shields.io/badge/Lifecycle%20Stage-Limited%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + `Identitypool` objects represent workload identities in Confluent Cloud. + + The API allows you to list, create, read, update, and delete your identity pools associated + with Certificate Authorities + + + Related guide: [Manage Certificate Identity Pools for Granular Client Access Management](https://docs.confluent.io/cloud/current/access-management/authenticate/mtls/configure.html#step-2-create-certificate-identity-pools-for-granular-access-control). + + ## The Certificate Identity Pools Model + + + ## Quotas and Limits + This resource is subject to the [following quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): + + | Quota | Description | + | --- | --- | + | `identity_pools_per_certificate_authority` | Number of Identity Pools per Certificate Authority | + - name: Integrations (pim/v1) + description: |- + [![Early Access](https://img.shields.io/badge/Lifecycle%20Stage-Early%20Access-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) [![Request Access To Provider Integration](https://img.shields.io/badge/-Request%20Access%20To%20Provider%20Integration-%23bc8540)](mailto:ccloud-api-access+pim-v1-early-access@confluent.io?subject=Request%20to%20join%20pim/v1%20API%20Early%20Access&body=I%E2%80%99d%20like%20to%20join%20the%20Confluent%20Cloud%20API%20Early%20Access%20for%20pim/v1%20to%20provide%20early%20feedback%21%20My%20Cloud%20Organization%20ID%20is%20%3Cretrieve%20from%20https%3A//confluent.cloud/settings/billing/payment%3E.) + + `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, and delete individual integrations, and also obtain a + list of all your provider integrations. + + + Related guide: [Provider Integration in Confluent Cloud](https://docs.confluent.io/home/overview.html). + + ## The Integrations Model + + - name: Flink Artifacts (artifact/v1) + description: |- + [![Early Access](https://img.shields.io/badge/Lifecycle%20Stage-Early%20Access-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) [![Request Access To Flink Artifact API EA](https://img.shields.io/badge/-Request%20Access%20To%20Flink%20Artifact%20API%20EA-%23bc8540)](mailto:ccloud-api-access+artifact-v1-early-access@confluent.io?subject=Request%20to%20join%20artifact/v1%20API%20Early%20Access&body=I%E2%80%99d%20like%20to%20join%20the%20Confluent%20Cloud%20API%20Early%20Access%20for%20artifact/v1%20to%20provide%20early%20feedback%21%20My%20Cloud%20Organization%20ID%20is%20%3Cretrieve%20from%20https%3A//confluent.cloud/settings/billing/payment%3E.) + + FlinkArtifact objects represent Flink Artifacts on Confluent Cloud. + + + ## The Flink Artifacts Model + + - name: Presigned Urls (artifact/v1) + description: |- + [![Early Access](https://img.shields.io/badge/Lifecycle%20Stage-Early%20Access-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) [![Request Access To Flink Artifact API EA](https://img.shields.io/badge/-Request%20Access%20To%20Flink%20Artifact%20API%20EA-%23bc8540)](mailto:ccloud-api-access+artifact-v1-early-access@confluent.io?subject=Request%20to%20join%20artifact/v1%20API%20Early%20Access&body=I%E2%80%99d%20like%20to%20join%20the%20Confluent%20Cloud%20API%20Early%20Access%20for%20artifact/v1%20to%20provide%20early%20feedback%21%20My%20Cloud%20Organization%20ID%20is%20%3Cretrieve%20from%20https%3A//confluent.cloud/settings/billing/payment%3E.) + + Request a presigned upload URL for new Flink Artifact. Note that + the URL policy expires in one hour. If the policy expires, you can request + a new presigned upload URL. + + + ## The Presigned Urls Model + + - name: Flink Artifact Versions (artifact/v1) + description: |- + [![Early Access](https://img.shields.io/badge/Lifecycle%20Stage-Early%20Access-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) [![Request Access To Flink Artifact API EA](https://img.shields.io/badge/-Request%20Access%20To%20Flink%20Artifact%20API%20EA-%23bc8540)](mailto:ccloud-api-access+artifact-v1-early-access@confluent.io?subject=Request%20to%20join%20artifact/v1%20API%20Early%20Access&body=I%E2%80%99d%20like%20to%20join%20the%20Confluent%20Cloud%20API%20Early%20Access%20for%20artifact/v1%20to%20provide%20early%20feedback%21%20My%20Cloud%20Organization%20ID%20is%20%3Cretrieve%20from%20https%3A//confluent.cloud/settings/billing/payment%3E.) + + FlinkArtifactVersion objects represent Flink Artifact Versions on Confluent Cloud. + + + ## The Flink Artifact Versions Model + +components: + schemas: + notifications.v1.SubscriptionList: + type: object + description: |- + `Subscription` objects represent the intent of the customers to get notifications of particular types. + A subscription is created for a particular `NotificationType` and the user will get notifications on the + `Integrations` that are provided while creating the subscription. + + This API allows you to create, retrieve, and update subscriptions, + as well as to view the list of all your subscriptions. You can also delete subscriptions + with RECOMMENDED or OPTIONAL notification types. Subscriptions with REQUIRED notification types cannot be deleted. + + + Related guide: [Cloud Notifications](https://docs.confluent.io/cloud/current/monitoring/configure-notifications.html#notifications-for-ccloud). + + ## The Subscriptions Model + + required: + - api_version + - kind + - metadata + - data + properties: + api_version: + type: string + enum: + - notifications/v1 + 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: + - SubscriptionList + metadata: + allOf: + - $ref: '#/components/schemas/ListMeta' + - properties: + first: + example: 'https://api.confluent.cloud/notifications/v1/subscriptions' + last: + example: 'https://api.confluent.cloud/notifications/v1/subscriptions?page_token=bcAOehAY8F16YD84Z1wT' + prev: + example: 'https://api.confluent.cloud/notifications/v1/subscriptions?page_token=YIXRY97wWYmwzrax4dld' + next: + example: 'https://api.confluent.cloud/notifications/v1/subscriptions?page_token=UvmDWOB1iwfAIBPj6EYb' + data: + type: array + description: A data property that contains an array of resource items. Each entry in the array is a separate resource. + items: + allOf: + - $ref: '#/components/schemas/notifications.v1.Subscription' + - type: object + required: + - id + - metadata + - notification_type + - integrations + uniqueItems: true + ListMeta: + type: object + description: ListMeta describes metadata that resource collections may have + properties: + first: + description: 'A link to the first page of results. If a response does not contain a first link, then direct navigation to the first page is not supported.' + type: string + 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 + notifications.v1.Subscription: + type: object + description: |- + `Subscription` objects represent the intent of the customers to get notifications of particular types. + A subscription is created for a particular `NotificationType` and the user will get notifications on the + `Integrations` that are provided while creating the subscription. + + This API allows you to create, retrieve, and update subscriptions, + as well as to view the list of all your subscriptions. You can also delete subscriptions + with RECOMMENDED or OPTIONAL notification types. Subscriptions with REQUIRED notification types cannot be deleted. + + + Related guide: [Cloud Notifications](https://docs.confluent.io/cloud/current/monitoring/configure-notifications.html#notifications-for-ccloud). + + ## The Subscriptions Model + + properties: + api_version: + type: string + enum: + - notifications/v1 + 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: + - Subscription + 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 + metadata: + allOf: + - $ref: '#/components/schemas/ObjectMeta' + - properties: + self: + example: 'https://api.confluent.cloud/notifications/v1/subscriptions/s-12345' + resource_name: + example: 'crn://confluent.cloud/organization=9bb441c4-edef-46ac-8a41-c49e44a3fd9a/subscription=s-12345' + current_state: + type: string + x-extensible-enum: + - ENABLED + - DISABLED + description: | + Denotes the state of the subscription. When the subscription is ENABLED, the user will receive + notification on the configured Integrations. If the subscription is DISABLED, the user will not + recieve any notification for the configured notification type. Note that, you cannot disable + a subscription for `REQUIRED` notification type. + example: ENABLED + notification_type: + allOf: + - $ref: '#/components/schemas/GlobalObjectReference' + description: The type of notification to subscribe to. + x-immutable: true + integrations: + type: array + items: + $ref: '#/components/schemas/GlobalObjectReference' + description: Integrations to which notifications are to be sent. + minItems: 1 + AclOperation: + type: string + x-extensible-enum: + - UNKNOWN + - ANY + - ALL + - READ + - WRITE + - CREATE + - DELETE + - ALTER + - DESCRIBE + - CLUSTER_ACTION + - DESCRIBE_CONFIGS + - ALTER_CONFIGS + - IDEMPOTENT_WRITE + AclPatternType: + type: string + x-extensible-enum: + - UNKNOWN + - ANY + - MATCH + - LITERAL + - PREFIXED + AclPermission: + type: string + x-extensible-enum: + - UNKNOWN + - ANY + - DENY + - ALLOW + AclResourceType: + type: string + enum: + - UNKNOWN + - ANY + - TOPIC + - GROUP + - CLUSTER + - TRANSACTIONAL_ID + - DELEGATION_TOKEN + BrokerTaskType: + type: string + enum: + - add-broker + - remove-broker + MirrorTopicStatus: + enum: + - ACTIVE + - FAILED + - LINK_FAILED + - LINK_PAUSED + - PAUSED + - PENDING_STOPPED + - SOURCE_UNAVAILABLE + - STOPPED + - PENDING_MIRROR + - PENDING_SYNCHRONIZE + - PENDING_SETUP_FOR_RESTORE + - PENDING_RESTORE + type: string + Failure: + type: object + description: Provides information about problems encountered while performing an operation. + required: + - errors + properties: + errors: + description: List of errors which caused this operation to fail + type: array + items: + $ref: '#/components/schemas/Error' + uniqueItems: true + AlterConfigBatchRequestData: + type: object + required: + - data + properties: + data: + type: array + items: + type: object + required: + - name + properties: + name: + type: string + value: + type: string + nullable: true + operation: + type: string + x-extensible-enum: + - SET + - DELETE + nullable: true + validate_only: + type: boolean + CreateAclRequestData: + type: object + required: + - resource_type + - resource_name + - pattern_type + - principal + - host + - operation + - permission + properties: + resource_type: + $ref: '#/components/schemas/AclResourceType' + resource_name: + type: string + pattern_type: + $ref: '#/components/schemas/AclPatternType' + principal: + type: string + host: + type: string + operation: + $ref: '#/components/schemas/AclOperation' + permission: + $ref: '#/components/schemas/AclPermission' + CreateAclRequestDataList: + allOf: + - type: object + required: + - data + properties: + data: + type: array + items: + $ref: '#/components/schemas/CreateAclRequestData' + CreateTopicRequestData: + type: object + required: + - topic_name + properties: + topic_name: + type: string + partitions_count: + type: integer + replication_factor: + type: integer + configs: + type: array + items: + type: object + required: + - name + properties: + name: + type: string + value: + type: string + nullable: true + validate_only: + type: boolean + ProduceRequest: + type: object + properties: + partition_id: + type: integer + nullable: true + format: int32 + headers: + type: array + items: + $ref: '#/components/schemas/ProduceRequestHeader' + key: + $ref: '#/components/schemas/ProduceRequestData' + value: + $ref: '#/components/schemas/ProduceRequestData' + timestamp: + type: string + format: date-time + nullable: true + UpdateConfigRequestData: + type: object + properties: + value: + type: string + nullable: true + CreateLinkRequestData: + properties: + source_cluster_id: + type: string + destination_cluster_id: + type: string + remote_cluster_id: + description: The expected remote cluster ID. + type: string + cluster_link_id: + description: 'The expected cluster link ID. Can be provided when creating the second side of a bidirectional link for validating the link ID is as expected. If it''s not provided, it''s inferred from the remote cluster.' + type: string + configs: + items: + $ref: '#/components/schemas/ConfigData' + type: array + type: object + UpdateLinkConfigRequestData: + properties: + value: + type: string + required: + - value + type: object + CreateMirrorTopicRequestData: + properties: + source_topic_name: + type: string + mirror_topic_name: + type: string + replication_factor: + type: integer + configs: + type: array + items: + $ref: '#/components/schemas/ConfigData' + required: + - source_topic_name + type: object + AlterMirrorsRequestData: + properties: + mirror_topic_names: + description: The mirror topics specified as a list of topic names. + type: array + items: + type: string + mirror_topic_name_pattern: + description: The mirror topics specified as a pattern. + type: string + type: object + RemoveBrokersRequestData: + properties: + broker_ids: + type: array + items: + type: integer + required: + - broker_ids + type: object + BrokerReplicaExclusionBatchRequestData: + type: object + required: + - data + properties: + data: + type: array + items: + $ref: '#/components/schemas/BrokerReplicaExclusionRequestData' + ObjectMeta: + description: 'ObjectMeta is metadata that all persisted resources must have, which includes all objects users must create.' + required: + - self + properties: + self: + description: 'Self is a Uniform Resource Locator (URL) at which an object can be addressed. This URL encodes the service location, API version, and other particulars necessary to locate the resource at a point in time' + type: string + format: uri + readOnly: true + example: 'https://api.confluent.cloud/v2/kafka-clusters/lkc-f3a90de' + resource_name: + description: Resource Name is a Uniform Resource Identifier (URI) that is globally unique across space and time. It is represented as a Confluent Resource Name + type: string + format: uri + readOnly: true + example: 'crn://confluent.cloud/kafka=lkc-f3a90de' + created_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: The date and time at which this object was created. It is represented in RFC3339 format and is in UTC. + updated_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: The date and time at which this object was last updated. It is represented in RFC3339 format and is in UTC. + deleted_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: The date and time at which this object was (or will be) deleted. It is represented in RFC3339 format and is in UTC. + readOnly: true + GlobalObjectReference: + type: object + description: ObjectReference provides information for you to locate the referred object + required: + - id + - related + - resource_name + properties: + id: + type: string + description: ID of the referred resource + minLength: 1 + maxLength: 255 + related: + type: string + format: uri + description: API URL for accessing or modifying the referred object + minLength: 1 + readOnly: true + resource_name: + type: string + format: uri + description: CRN reference to the referred resource + minLength: 1 + readOnly: true + Error: + type: object + description: Describes a particular error encountered while performing an operation. + properties: + id: + description: A unique identifier for this particular occurrence of the problem. + type: string + maxLength: 255 + status: + description: 'The HTTP status code applicable to this problem, expressed as a string value.' + type: string + code: + description: 'An application-specific error code, expressed as a string value.' + type: string + title: + description: 'A short, human-readable summary of the problem. It **SHOULD NOT** change from occurrence to occurrence of the problem, except for purposes of localization.' + type: string + detail: + description: A human-readable explanation specific to this occurrence of the problem. + type: string + source: + type: object + description: 'If this error was caused by a particular part of the API request, the source will point to the query string parameter or request body property that caused it.' + properties: + pointer: + description: 'A JSON Pointer [RFC6901] to the associated entity in the request document [e.g. "/spec" for a spec object, or "/spec/title" for a specific field].' + type: string + parameter: + description: A string indicating which query parameter caused the error. + type: string + error_code: + type: integer + format: int32 + message: + type: string + nullable: true + additionalProperties: false + ProduceRequestHeader: + type: object + required: + - name + properties: + name: + type: string + value: + type: string + format: byte + nullable: true + ProduceRequestData: + type: object + properties: + type: + type: string + x-extensible-enum: + - BINARY + - JSON + - STRING + data: + $ref: '#/components/schemas/AnyValue' + nullable: true + ConfigData: + example: + name: name + value: value + properties: + name: + type: string + value: + nullable: true + type: string + required: + - name + - value + BrokerReplicaExclusionRequestData: + type: object + required: + - broker_id + - reason + properties: + broker_id: + type: integer + reason: + type: string + AnyValue: + nullable: true + notifications.v1.SubscriptionUpdate: + type: object + description: |- + `Subscription` objects represent the intent of the customers to get notifications of particular types. + A subscription is created for a particular `NotificationType` and the user will get notifications on the + `Integrations` that are provided while creating the subscription. + + This API allows you to create, retrieve, and update subscriptions, + as well as to view the list of all your subscriptions. You can also delete subscriptions + with RECOMMENDED or OPTIONAL notification types. Subscriptions with REQUIRED notification types cannot be deleted. + + + Related guide: [Cloud Notifications](https://docs.confluent.io/cloud/current/monitoring/configure-notifications.html#notifications-for-ccloud). + + ## The Subscriptions Model + + properties: + api_version: + type: string + enum: + - notifications/v1 + 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: + - Subscription + 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 + metadata: + allOf: + - $ref: '#/components/schemas/ObjectMeta' + - properties: + self: + example: 'https://api.confluent.cloud/notifications/v1/subscriptions/s-12345' + resource_name: + example: 'crn://confluent.cloud/organization=9bb441c4-edef-46ac-8a41-c49e44a3fd9a/subscription=s-12345' + current_state: + type: string + x-extensible-enum: + - ENABLED + - DISABLED + description: | + Denotes the state of the subscription. When the subscription is ENABLED, the user will receive + notification on the configured Integrations. If the subscription is DISABLED, the user will not + recieve any notification for the configured notification type. Note that, you cannot disable + a subscription for `REQUIRED` notification type. + example: ENABLED + integrations: + type: array + items: + $ref: '#/components/schemas/GlobalObjectReference' + description: Integrations to which notifications are to be sent. + minItems: 1 + notifications.v1.IntegrationList: + type: object + description: |- + You can create an `Integration` to specify how we can notify you when we receive an alert/notification for + a subscription. Please note that you can only perform create, update and delete operations for integrations + of type `Webhook`, `Slack` and `MsTeams`. You cannot create, update or delete integrations of type `RoleEmail` + and `UserEmail`. + + + Related guide: [Cloud Notifications](https://docs.confluent.io/cloud/current/monitoring/configure-notifications.html#notifications-for-ccloud). + + ## The Integrations Model + + + ## Quotas and Limits + This resource is subject to the [following quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): + + | Quota | Description | + | --- | --- | + | `integrations_per_org` | Maximum number of integrations in one Confluent Cloud organization | + required: + - api_version + - kind + - metadata + - data + properties: + api_version: + type: string + enum: + - notifications/v1 + description: APIVersion defines the schema version of this representation of a resource. + readOnly: true + kind: + type: string + description: Kind defines the object this REST resource represents. + readOnly: true + enum: + - IntegrationList + metadata: + allOf: + - $ref: '#/components/schemas/ListMeta' + - properties: + first: + example: 'https://api.confluent.cloud/notifications/v1/integrations' + last: + example: 'https://api.confluent.cloud/notifications/v1/integrations?page_token=bcAOehAY8F16YD84Z1wT' + prev: + example: 'https://api.confluent.cloud/notifications/v1/integrations?page_token=YIXRY97wWYmwzrax4dld' + next: + example: 'https://api.confluent.cloud/notifications/v1/integrations?page_token=UvmDWOB1iwfAIBPj6EYb' + data: + type: array + description: A data property that contains an array of resource items. Each entry in the array is a separate resource. + items: + allOf: + - $ref: '#/components/schemas/notifications.v1.Integration' + - type: object + required: + - id + - metadata + - display_name + - target + uniqueItems: true + notifications.v1.Integration: + type: object + description: |- + You can create an `Integration` to specify how we can notify you when we receive an alert/notification for + a subscription. Please note that you can only perform create, update and delete operations for integrations + of type `Webhook`, `Slack` and `MsTeams`. You cannot create, update or delete integrations of type `RoleEmail` + and `UserEmail`. + + + Related guide: [Cloud Notifications](https://docs.confluent.io/cloud/current/monitoring/configure-notifications.html#notifications-for-ccloud). + + ## The Integrations Model + + + ## Quotas and Limits + This resource is subject to the [following quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): + + | Quota | Description | + | --- | --- | + | `integrations_per_org` | Maximum number of integrations in one Confluent Cloud organization | + properties: + api_version: + type: string + enum: + - notifications/v1 + 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 + metadata: + allOf: + - $ref: '#/components/schemas/ObjectMeta' + - properties: + self: + example: 'https://api.confluent.cloud/notifications/v1/integrations/i-12345' + resource_name: + example: 'crn://confluent.cloud/organization=9bb441c4-edef-46ac-8a41-c49e44a3fd9a/integration=i-12345' + display_name: + type: string + maxLength: 64 + description: | + A human readable name for the particular integration + example: Slack integration + description: + type: string + maxLength: 128 + description: | + A human readable description for the particular integration + example: A Slack channel integration + target: + description: | + Integration-specific details (integration targets) + allOf: + - $ref: '#/components/schemas/notifications.v1.Target' + notifications.v1.Target: + description: Target for the particular integration + oneOf: + - $ref: '#/components/schemas/notifications.v1.SlackTarget' + - $ref: '#/components/schemas/notifications.v1.RoleEmailTarget' + - $ref: '#/components/schemas/notifications.v1.UserEmailTarget' + - $ref: '#/components/schemas/notifications.v1.WebhookTarget' + - $ref: '#/components/schemas/notifications.v1.MsTeamsTarget' + discriminator: + propertyName: kind + mapping: + Slack: '#/components/schemas/notifications.v1.SlackTarget' + RoleEmail: '#/components/schemas/notifications.v1.RoleEmailTarget' + UserEmail: '#/components/schemas/notifications.v1.UserEmailTarget' + Webhook: '#/components/schemas/notifications.v1.WebhookTarget' + MsTeams: '#/components/schemas/notifications.v1.MsTeamsTarget' + example: + kind: Slack + webhook_url: 'https://hooks.slack.com/services/{id}/{id}/{id}' + notifications.v1.SlackTarget: + type: object + description: Target required for Slack integration + required: + - kind + - webhook_url + properties: + kind: + type: string + enum: + - Slack + description: Integration Type + example: Slack + webhook_url: + type: string + format: uri + description: Slack Webhook URL for the particular Slack channel + example: 'https://hooks.slack.com/services/{id}/{id}/{id}' + notifications.v1.RoleEmailTarget: + type: object + description: Email integration target to send email to all user with specified role + required: + - kind + - role_name + properties: + kind: + type: string + enum: + - RoleEmail + description: Email Integration type for Role + example: RoleEmail + role_name: + type: string + description: name of the role + example: OrganizationAdmin + notifications.v1.UserEmailTarget: + type: object + description: Email integration target to send email to a particular user + required: + - kind + - user + properties: + kind: + type: string + enum: + - UserEmail + description: Email Integration type for User + example: UserEmail + user: + type: string + description: ID of the user + example: u-temp1 + notifications.v1.WebhookTarget: + type: object + description: Target required for webhook integration + required: + - kind + - url + properties: + kind: + type: string + enum: + - Webhook + description: Integration Type + example: Webhook + url: + type: string + format: uri + description: URL endpoint for the webhook + example: 'https://my.webhook.url/{id}' + notifications.v1.MsTeamsTarget: + type: object + description: Target required for MS Teams integration + required: + - kind + - webhook_url + properties: + kind: + type: string + enum: + - MsTeams + description: Integration Type + example: MsTeams + webhook_url: + type: string + format: uri + description: MS Teams Webhook URL for the particular team channel + example: 'https://admin.webhook.office.com/webhookb2/{id}/IncomingWebhook/{id}' + notifications.v1.NotificationTypeList: + type: object + description: |- + The type of notifications (and their corresponding metadata) supported by Confluent. + + + Related guide: [Cloud Notifications](https://docs.confluent.io/cloud/current/monitoring/configure-notifications.html#notifications-for-ccloud). + + ## The Notification Types Model + + required: + - api_version + - kind + - metadata + - data + properties: + api_version: + type: string + enum: + - notifications/v1 + 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: + - NotificationTypeList + metadata: + allOf: + - $ref: '#/components/schemas/ListMeta' + - properties: + first: + example: 'https://api.confluent.cloud/notifications/v1/notification-types' + last: + example: 'https://api.confluent.cloud/notifications/v1/notification-types?page_token=bcAOehAY8F16YD84Z1wT' + prev: + example: 'https://api.confluent.cloud/notifications/v1/notification-types?page_token=YIXRY97wWYmwzrax4dld' + next: + example: 'https://api.confluent.cloud/notifications/v1/notification-types?page_token=UvmDWOB1iwfAIBPj6EYb' + data: + type: array + description: A data property that contains an array of resource items. Each entry in the array is a separate resource. + items: + allOf: + - $ref: '#/components/schemas/notifications.v1.NotificationType' + - type: object + required: + - id + - metadata + - display_name + - category + - description + - subscription_priority + - is_included_in_plan + - severity + uniqueItems: true + notifications.v1.NotificationType: + type: object + description: |- + The type of notifications (and their corresponding metadata) supported by Confluent. + + + Related guide: [Cloud Notifications](https://docs.confluent.io/cloud/current/monitoring/configure-notifications.html#notifications-for-ccloud). + + ## The Notification Types Model + + properties: + api_version: + type: string + enum: + - notifications/v1 + 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: + - NotificationType + 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 + metadata: + allOf: + - $ref: '#/components/schemas/ObjectMeta' + - properties: + self: + example: 'https://api.confluent.cloud/notifications/v1/notification-types/nt-12345' + resource_name: + example: 'crn://confluent.cloud/organization=9bb441c4-edef-46ac-8a41-c49e44a3fd9a/notification-type=nt-12345' + display_name: + type: string + description: | + Human readable display name of the notification type + example: Cluster Shrink + category: + type: string + x-extensible-enum: + - BILLING_LICENSING + - SECURITY + - SERVICE + - ACCOUNT + description: | + Represents the group with which the notification is associated. + Notifications are grouped under certain categories for better organization. + - BILLING_LICENSING: All billing, payments or licensing related notifications are grouped here. + - SECURITY: All Confluent Cloud and Platform security related notifications are grouped here. + - SERVICE: All Confluent services (eg. Kafka, Schema Registry, Connect etc.) related notifications are + grouped here. + - ACCOUNT: All Confluent account related notifications are grouped here. + For example: Billing, payment or license related notifications are grouped in BILLING_LICENSING category. + example: BILLING_LICENSING + description: + type: string + description: | + Human readable description of the notification type + example: Cluster shrink operation is completed + subscription_priority: + type: string + x-extensible-enum: + - REQUIRED + - RECOMMENDED + - OPTIONAL + description: | + Indicates whether the notification is auto-subscribed and if the user can opt-out. + - REQUIRED: the user is auto-subscribed to this notification and can't opt-out. + - RECOMMENDED: the user is auto-subscribed to this notification and can opt-out. + - OPTIONAL: the user is not auto-subscribed to this notification but can explicitly subscribe to it. + example: REQUIRED + is_included_in_plan: + type: boolean + description: | + Whether this notification is available to subscribe or not + as per the user's current billing plan. + severity: + type: string + x-extensible-enum: + - CRITICAL + - WARN + - INFO + description: | + Severity indicates the impact of this notification. + - CRITICAL: a high impact notification which needs immediate attention. + - WARN: a warning notification which can be addressed now or later. + - INFO: an informational notification. + example: INFO + parameters: + AclHost: + name: host + description: The ACL host. + in: query + required: false + schema: + type: string + AclOperation: + name: operation + description: The ACL operation. + in: query + required: false + schema: + $ref: '#/components/schemas/AclOperation' + AclOperationRequired: + name: operation + description: The ACL operation. + in: query + required: true + schema: + $ref: '#/components/schemas/AclOperation' + AclPatternType: + name: pattern_type + description: The ACL pattern type. + in: query + required: false + schema: + $ref: '#/components/schemas/AclPatternType' + AclPatternTypeRequired: + name: pattern_type + description: The ACL pattern type. + in: query + required: true + schema: + $ref: '#/components/schemas/AclPatternType' + AclPermission: + name: permission + description: The ACL permission. + in: query + required: false + schema: + $ref: '#/components/schemas/AclPermission' + AclPermissionRequired: + name: permission + description: The ACL permission. + in: query + required: true + schema: + $ref: '#/components/schemas/AclPermission' + AclPrincipal: + name: principal + description: The ACL principal. This is the Service Account name or user name. + in: query + required: false + schema: + type: string + AclResourceName: + name: resource_name + description: The ACL resource name. + in: query + required: false + schema: + type: string + AclResourceType: + name: resource_type + description: The ACL resource type. + in: query + required: false + schema: + $ref: '#/components/schemas/AclResourceType' + AclResourceTypeRequired: + name: resource_type + description: The ACL resource type. + in: query + required: true + schema: + $ref: '#/components/schemas/AclResourceType' + BrokerId: + name: broker_id + description: The Kafka broker ID. + in: path + required: true + schema: + type: integer + example: 1 + ClusterId: + name: cluster_id + description: The Kafka cluster ID. + in: path + required: true + schema: + type: string + example: cluster-1 + ConfigName: + name: name + description: The configuration parameter name. + in: path + required: true + schema: + type: string + example: compression.type + ConsumerGroupId: + name: consumer_group_id + description: The consumer group ID. + in: path + required: true + schema: + type: string + example: consumer-group-1 + ConsumerId: + name: consumer_id + description: The consumer ID. + in: path + required: true + schema: + type: string + example: consumer-1 + IncludeAuthorizedOperations: + name: include_authorized_operations + description: Specify if authorized operations should be included in the response. + in: query + required: false + schema: + type: boolean + PartitionId: + name: partition_id + description: The partition ID. + in: path + required: true + schema: + type: integer + example: 0 + TopicName: + name: topic_name + description: The topic name. + in: path + required: true + schema: + type: string + example: topic-1 + BrokerTaskType: + name: task_type + description: The Kafka broker task type. + in: path + required: true + schema: + $ref: '#/components/schemas/BrokerTaskType' + example: remove-broker + ShouldShutdown: + name: should_shutdown + description: 'To shutdown the broker or not, Default: true' + in: query + required: false + schema: + type: boolean + example: true + ValidateOnly: + name: validate_only + description: 'To validate the action can be performed successfully or not. Default: false' + in: query + required: false + schema: + type: boolean + example: false + ValidateLink: + name: validate_link + description: 'To synchronously validate that the source cluster ID is expected and the dest cluster has the permission to read topics in the source cluster. Default: true' + in: query + required: false + schema: + type: boolean + example: false + IncludeTasks: + name: include_tasks + description: 'Whether to include cluster linking tasks in the response. Default: false' + in: query + required: false + schema: + type: boolean + example: false + IncludeStateTransitionErrors: + name: include_state_transition_errors + description: 'Whether to include mirror state transition errors in the response. Default: false' + in: query + required: false + schema: + type: boolean + example: false + Force: + name: force + description: 'Force the action. Default: false' + in: query + required: false + schema: + type: boolean + example: false + IncludePartitionLevelTruncationData: + name: include_partition_level_truncation_data + description: 'Whether to include partition level truncation information when truncating and restoring a topic in the response. Default: false' + in: query + required: false + schema: + type: boolean + example: false + LinkName: + name: link_name + description: The link name + in: path + required: true + schema: + type: string + example: link-sb1 + LinkConfigName: + name: config_name + description: The link config name + in: path + required: true + schema: + type: string + example: consumer.offset.sync.enable + MirrorTopicStatus: + name: mirror_status + description: 'The status of the mirror topic. If not specified, all mirror topics will be returned.' + in: query + required: false + schema: + $ref: '#/components/schemas/MirrorTopicStatus' + example: ACTIVE + MirrorTopicName: + name: mirror_topic_name + description: Cluster Linking mirror topic name + in: path + required: true + schema: + type: string + example: topic-1 + QueryParamLinkName: + name: link_name + description: The link name + in: query + required: true + schema: + type: string + example: link-sb1 + responses: + BadRequestError: + description: Bad Request + headers: + X-Request-Id: + schema: + type: string + description: The unique identifier for the API request. + content: + application/json: + schema: + $ref: '#/components/schemas/Failure' + example: + errors: + - id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d + status: '400' + code: invalid_filter + title: Invalid Filter + detail: The 'delorean' resource can't be filtered by 'num_doors' + source: + parameter: num_doors + UnauthenticatedError: + x-summary: Unauthorized + description: The request lacks valid authentication credentials for this resource. + headers: + X-Request-Id: + schema: + type: string + description: The unique identifier for the API request. + WWW-Authenticate: + schema: + type: string + description: The unique identifier for the API request. + example: 'Basic error="invalid_key", error_description="The API Key is invalid"' + content: + application/json: + schema: + $ref: '#/components/schemas/Failure' + example: + errors: + - id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d + status: '401' + code: user_unauthenticated + title: Authentication Required + detail: Valid authentication credentials must be provided + UnauthorizedError: + x-summary: Forbidden + description: The access credentials were considered insufficient to grant access + headers: + X-Request-Id: + schema: + type: string + description: The unique identifier for the API request. + content: + application/json: + schema: + $ref: '#/components/schemas/Failure' + example: + errors: + - id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d + status: '403' + code: user_unauthorized + title: User Access Unauthorized + detail: The user 'mcfly' is not allowed to access the 'delorean' resource without the 'plutonium' role. + RateLimitError: + description: Rate Limit Exceeded + headers: + X-Request-Id: + schema: + type: string + description: The unique identifier for the API request. + X-RateLimit-Limit: + schema: + type: integer + description: The maximum number of requests you're permitted to make per time period. + X-RateLimit-Remaining: + schema: + type: integer + description: The number of requests remaining in the current rate limit window. + X-RateLimit-Reset: + schema: + type: integer + description: |- + The relative time in seconds until the current rate-limit window resets. + + **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. + DefaultSystemError: + description: 'Oops, something went wrong!' + headers: + X-Request-Id: + schema: + type: string + description: The unique identifier for the API request. + content: + application/json: + schema: + $ref: '#/components/schemas/Failure' + example: + errors: + - id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d + status: '500' + code: out_of_gas + title: DeLorean Out Of Gas + detail: 'The DeLorean has run out of gas, but Doc Brown will fill ''er up for you asap' + ConflictError: + x-summary: Conflict + description: The request is in conflict with the current server state + headers: + X-Request-Id: + schema: + type: string + description: The unique identifier for the API request. + Location: + schema: + type: string + format: uri + example: 'https://api.confluent.cloud/{object}/{id}' + description: Resource URI of conflicting resource + content: + application/json: + schema: + $ref: '#/components/schemas/Failure' + example: + errors: + - id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d + status: '409' + code: resource_already_exists + title: Resource Already exists + detail: The entitlement '91e3e86f-fca6-4f14-98f5-a48e64113ce2' already exists. + ValidationError: + description: Validation Failed + headers: + X-Request-Id: + schema: + type: string + description: The unique identifier for the API request. + content: + application/json: + schema: + $ref: '#/components/schemas/Failure' + example: + errors: + - status: '422' + code: invalid_configuration + id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d + title: Validation Failed + detail: 'The property ''/cluster/storage_size'' of type string did not match the following type: integer' + source: + pointer: /cluster/storage_size + - status: '422' + code: invalid_configuration + id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d + title: Validation Failed + detail: 'The property ''/cluster/storage_size'' of type string did not match the following type: integer' + source: + pointer: /cluster/storage_size + - status: '422' + code: invalid_configuration + id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d + title: Validation Failed + detail: 'The property ''/cluster/storage_size'' of type string did not match the following type: integer' + source: + pointer: /cluster/storage_size + - status: '422' + code: invalid_configuration + id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d + title: Validation Failed + detail: 'The property ''/cluster/storage_size'' of type string did not match the following type: integer' + source: + pointer: /cluster/storage_size + - status: '422' + code: invalid_configuration + id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d + title: Validation Failed + detail: 'The property ''/cluster/storage_size'' of type string did not match the following type: integer' + source: + pointer: /cluster/storage_size + - status: '422' + code: invalid_configuration + id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d + title: Validation Failed + detail: 'The property ''/cluster/storage_size'' of type string did not match the following type: integer' + source: + pointer: /cluster/storage_size + - status: '422' + code: invalid_configuration + id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d + title: Validation Failed + detail: 'The property ''/cluster/storage_size'' of type string did not match the following type: integer' + source: + pointer: /cluster/storage_size + - status: '422' + code: invalid_configuration + id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d + title: Validation Failed + detail: 'The property ''/cluster/storage_size'' of type string did not match the following type: integer' + source: + pointer: /cluster/storage_size + - status: '422' + code: invalid_configuration + id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d + title: Validation Failed + detail: 'The property ''/cluster/storage_size'' of type string did not match the following type: integer' + source: + pointer: /cluster/storage_size + - status: '422' + code: invalid_configuration + id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d + title: Validation Failed + detail: 'The property ''/cluster/storage_size'' of type string did not match the following type: integer' + source: + pointer: /cluster/storage_size + - status: '422' + code: invalid_configuration + id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d + title: Validation Failed + detail: 'The property ''/cluster/storage_size'' of type string did not match the following type: integer' + source: + pointer: /cluster/storage_size + - status: '422' + code: invalid_configuration + id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d + title: Validation Failed + detail: 'The property ''/cluster/storage_size'' of type string did not match the following type: integer' + source: + pointer: /cluster/storage_size + - status: '422' + code: invalid_configuration + id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d + title: Validation Failed + detail: 'The property ''/cluster/storage_size'' of type string did not match the following type: integer' + source: + pointer: /cluster/storage_size + - status: '422' + code: invalid_configuration + id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d + title: Validation Failed + detail: 'The property ''/cluster/storage_size'' of type string did not match the following type: integer' + source: + pointer: /cluster/storage_size + - status: '422' + code: invalid_configuration + id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d + title: Validation Failed + detail: 'The property ''/cluster/storage_size'' of type string did not match the following type: integer' + source: + pointer: /cluster/storage_size + - status: '422' + code: invalid_configuration + id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d + title: Validation Failed + detail: 'The property ''/cluster/storage_size'' of type string did not match the following type: integer' + source: + pointer: /cluster/storage_size + - status: '422' + code: invalid_configuration + id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d + title: Validation Failed + detail: 'The property ''/cluster/storage_size'' of type string did not match the following type: integer' + source: + pointer: /cluster/storage_size + - status: '422' + code: invalid_configuration + id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d + title: Validation Failed + detail: 'The property ''/cluster/storage_size'' of type string did not match the following type: integer' + source: + pointer: /cluster/storage_size + - status: '422' + code: invalid_configuration + id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d + title: Validation Failed + detail: 'The property ''/cluster/storage_size'' of type string did not match the following type: integer' + source: + pointer: /cluster/storage_size + - status: '422' + code: invalid_configuration + id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d + title: Validation Failed + detail: 'The property ''/cluster/storage_size'' of type string did not match the following type: integer' + source: + pointer: /cluster/storage_size + - status: '422' + code: invalid_configuration + id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d + title: Validation Failed + detail: 'The property ''/cluster/storage_size'' of type string did not match the following type: integer' + source: + pointer: /cluster/storage_size + - status: '422' + code: invalid_configuration + id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d + title: Validation Failed + detail: 'The property ''/cluster/storage_size'' of type string did not match the following type: integer' + source: + pointer: /cluster/storage_size + - status: '422' + code: invalid_configuration + id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d + title: Validation Failed + detail: 'The property ''/cluster/storage_size'' of type string did not match the following type: integer' + source: + pointer: /cluster/storage_size + - status: '422' + code: invalid_configuration + id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d + title: Validation Failed + detail: 'The property ''/cluster/storage_size'' of type string did not match the following type: integer' + source: + pointer: /cluster/storage_size + - status: '422' + code: invalid_configuration + id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d + title: Validation Failed + detail: 'The property ''/cluster/storage_size'' of type string did not match the following type: integer' + source: + pointer: /cluster/storage_size + - status: '422' + code: invalid_configuration + id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d + title: Validation Failed + detail: 'The property ''/cluster/storage_size'' of type string did not match the following type: integer' + source: + pointer: /cluster/storage_size + - status: '422' + code: invalid_configuration + id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d + title: Validation Failed + detail: 'The property ''/cluster/storage_size'' of type string did not match the following type: integer' + source: + pointer: /cluster/storage_size + - status: '422' + code: invalid_configuration + id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d + title: Validation Failed + detail: 'The property ''/cluster/storage_size'' of type string did not match the following type: integer' + source: + pointer: /cluster/storage_size + - status: '422' + code: invalid_configuration + id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d + title: Validation Failed + detail: 'The property ''/cluster/storage_size'' of type string did not match the following type: integer' + source: + pointer: /cluster/storage_size + - status: '422' + code: invalid_configuration + id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d + title: Validation Failed + detail: 'The property ''/cluster/storage_size'' of type string did not match the following type: integer' + source: + pointer: /cluster/storage_size + NotFoundError: + description: Not Found + headers: + X-Request-Id: + schema: + type: string + description: The unique identifier for the API request. + content: + application/json: + schema: + $ref: '#/components/schemas/Failure' + example: + errors: + - id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d + status: '404' + title: Not Found + OverQuotaError: + x-summary: Over Quota + description: The request would exceed one or more quotas. + headers: + X-Request-Id: + schema: + type: string + description: The unique identifier for the API request. + content: + application/json: + schema: + $ref: '#/components/schemas/Failure' + example: + errors: + - id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d + status: '402' + code: quota_exceeded + title: Kafka Clusters Per Org Quota Exceeded + detail: 'The request would exceed the quota: kafka_clusters_per_environment' + securitySchemes: + cloud-api-key: + type: http + scheme: basic + description: Authenticate with Cloud API Keys using HTTP Basic Auth. Treat the Cloud API Key ID as the username and Cloud API Key Secret as the password. + confluent-sts-access-token: + type: oauth2 + description: Authenticate with Confluent API using this credentials (JSON Web Tokens) following OAuth 2.0. + flows: + clientCredentials: + tokenUrl: 'https://api.confluent.cloud/sts/v1/oauth2/token' + scopes: {} + api-key: + type: http + scheme: basic + description: Authenticate with API Keys using HTTP Basic Auth. Treat the API Key ID as the username and API Key Secret as the password. + resource-api-key: + type: http + scheme: basic + description: | + Authenticate with resource-specific API Keys using HTTP Basic Auth. Treat the resource-specific API Key ID + as the username and resource-specific API Key Secret as the password. + external-access-token: + type: oauth2 + description: Authenticate with OAuth 2.0. + flows: + clientCredentials: + tokenUrl: 'https:///token' + scopes: {} + oauth: + type: oauth2 + description: Authenticate with OAuth 2.0. Currently this is only supported for partner APIs. + flows: + clientCredentials: + tokenUrl: /oauth2/token + scopes: + 'partner:alter': enables partners to alter entitlements + 'partner:create': enables partners to create entitlements and signup on behalf of customers + 'partner:delete': enables partners to delete entitlements and organizations + 'partner:describe': enables partners to read and list entitlements and organizations + requestBodies: + AlterBrokerConfigBatchRequest: + description: The alter broker configuration parameter batch request. + content: + application/json: + schema: + $ref: '#/components/schemas/AlterConfigBatchRequestData' + example: + data: + - name: max.connections + operation: DELETE + - name: compression.type + value: gzip + AlterClusterConfigBatchRequest: + description: The alter cluster configuration parameter batch request. + content: + application/json: + schema: + $ref: '#/components/schemas/AlterConfigBatchRequestData' + example: + data: + - name: max.connections + operation: DELETE + - name: compression.type + value: gzip + AlterTopicConfigBatchRequest: + description: The alter topic configuration parameter batch request. + content: + application/json: + schema: + $ref: '#/components/schemas/AlterConfigBatchRequestData' + examples: + batch_alter_topic_configs: + value: + data: + - name: cleanup.policy + operation: DELETE + - name: compression.type + value: gzip + validate_only_batch_alter_topic_configs: + value: + data: + - name: cleanup.policy + operation: DELETE + - name: compression.type + value: gzip + validate_only: true + CreateAclRequest: + description: The ACL creation request. + content: + application/json: + schema: + $ref: '#/components/schemas/CreateAclRequestData' + example: + resource_type: CLUSTER + resource_name: kafka-cluster + pattern_type: LITERAL + principal: 'principalType:principalName' + host: '*' + operation: DESCRIBE + permission: DENY + BatchCreateAclRequest: + description: The batch ACL creation request. + content: + application/json: + schema: + $ref: '#/components/schemas/CreateAclRequestDataList' + example: + data: + - resource_type: CLUSTER + resource_name: kafka-cluster + pattern_type: LITERAL + principal: 'principalType:principalName' + host: '*' + operation: DESCRIBE + permission: DENY + - resource_type: TOPIC + resource_name: kafka-cluster + pattern_type: LITERAL + principal: 'principalType:principalName' + host: '*' + operation: READ + permission: ALLOW + CreateTopicRequest: + description: 'The topic creation request. Note that Confluent Cloud allows only specific replication factor values. Because of that the replication factor field should either be omitted or it should use one of the allowed values (see https://docs.confluent.io/cloud/current/client-apps/optimizing/durability.html).' + content: + application/json: + schema: + $ref: '#/components/schemas/CreateTopicRequestData' + examples: + uniform_replication: + value: + topic_name: topic-X + partitions_count: 64 + replication_factor: 3 + configs: + - name: cleanup.policy + value: compact + - name: compression.type + value: gzip + dry_run_create_topic: + value: + topic_name: topic-X + partitions_count: 64 + replication_factor: 3 + validate_only: true + ProduceRequest: + description: 'A single record to be produced to Kafka. To produce multiple records in the same request, simply concatenate the records. The delivery reports are concatenated in the same order as the records are sent.' + content: + application/json: + schema: + $ref: '#/components/schemas/ProduceRequest' + examples: + binary_and_json: + description: 'If using type, one of "BINARY", "JSON" or "STRING" is required.' + value: + partition_id: 1 + headers: + - name: Header-1 + value: SGVhZGVyLTE= + - name: Header-2 + value: SGVhZGVyLTI= + key: + type: BINARY + data: Zm9vYmFy + value: + type: JSON + data: + foo: bar + timestamp: '2021-02-05T19:14:42Z' + string: + description: 'If using type, one of "BINARY", "JSON" or "STRING" is required.' + value: + value: + type: STRING + data: My message + empty_value: + description: key or value can be omitted entirely. + value: + key: + data: 1000 + UpdateBrokerConfigRequest: + description: The broker configuration parameter update request. + content: + application/json: + schema: + $ref: '#/components/schemas/UpdateConfigRequestData' + example: + value: gzip + UpdateClusterConfigRequest: + description: The cluster configuration parameter update request. + content: + application/json: + schema: + $ref: '#/components/schemas/UpdateConfigRequestData' + example: + value: gzip + UpdateTopicConfigRequest: + description: The topic configuration parameter update request. + content: + application/json: + schema: + $ref: '#/components/schemas/UpdateConfigRequestData' + example: + value: gzip + CreateLinkRequest: + description: Create a cluster link + content: + application/json: + schema: + $ref: '#/components/schemas/CreateLinkRequestData' + examples: + destination_initiated_link: + description: Create a destination initiated cluster link + value: + source_cluster_id: cluster-1 + configs: + - name: bootstrap.servers + value: cluster-1-bootstrap-server + - name: acl.sync.enable + value: 'false' + - name: consumer.offset.sync.ms + value: '30000' + - name: sasl.mechanism + value: PLAIN + - name: sasl.protocol + value: SASL_SSL + - name: sasl.jaas.config + value: sasl.jaas.config=org.apache.kafka.common.security.plain.PlainLoginModule required username='' password=''; + source_initiated_link_at_source_cluster: + description: Create a source initiated cluster link at source cluster + value: + destination_cluster_id: cluster-2 + configs: + - name: bootstrap.servers + value: cluster-2-bootstrap-server + - name: link.mode + value: SOURCE + - name: sasl.mechanism + value: PLAIN + - name: sasl.protocol + value: SASL_SSL + - name: sasl.jaas.config + value: sasl.jaas.config=org.apache.kafka.common.security.plain.PlainLoginModule required username='' password=''; + source_initiated_link_at_destination_cluster: + description: Create a source initiated cluster link at destination cluster + value: + destination_cluster_id: cluster-1 + configs: + - name: bootstrap.servers + value: cluster-1-bootstrap-server + - name: link.mode + value: DESTINATION + - name: connection.mode + value: INBOUND + - name: acl.sync.enable + value: 'false' + - name: sasl.mechanism + value: PLAIN + - name: sasl.protocol + value: SASL_SSL + - name: sasl.jaas.config + value: sasl.jaas.config=org.apache.kafka.common.security.plain.PlainLoginModule required username='' password=''; + bidirectional_link_east: + description: Create a bidirectional cluster link in east + value: + remote_cluster_id: cluster-west + configs: + - name: bootstrap.servers + value: cluster-west-bootstrap-server + - name: link.mode + value: BIDIRECTIONAL + - name: cluster.link.prefix + value: west. + - name: sasl.mechanism + value: PLAIN + - name: sasl.protocol + value: SASL_SSL + - name: sasl.jaas.config + value: sasl.jaas.config=org.apache.kafka.common.security.plain.PlainLoginModule required username='' password=''; + bidirectional_link_west: + description: Create a bidirectional cluster link in west + value: + remote_cluster_id: cluster-east + cluster_link_id: eEBkTffYSESld6EO898x3w + configs: + - name: bootstrap.servers + value: cluster-east-bootstrap-server + - name: link.mode + value: BIDIRECTIONAL + - name: cluster.link.prefix + value: east. + - name: sasl.mechanism + value: PLAIN + - name: sasl.protocol + value: SASL_SSL + - name: sasl.jaas.config + value: sasl.jaas.config=org.apache.kafka.common.security.plain.PlainLoginModule required username='' password=''; + UpdateLinkConfigRequest: + content: + application/json: + example: + value: '300000' + schema: + $ref: '#/components/schemas/UpdateLinkConfigRequestData' + description: Link config value to update + AlterLinkConfigBatchRequest: + content: + application/json: + example: + data: + - name: cleanup.policy + operation: DELETE + - name: compression.type + value: gzip + schema: + $ref: '#/components/schemas/AlterConfigBatchRequestData' + CreateMirrorTopicRequest: + description: 'Name and configs of the topics mirroring from and mirroring to. Note that Confluent Cloud allows only specific replication factor values. Because of that the replication factor field should either be omitted or it should use one of the allowed values (see https://docs.confluent.io/cloud/current/client-apps/optimizing/durability.html).' + content: + application/json: + schema: + $ref: '#/components/schemas/CreateMirrorTopicRequestData' + examples: + generic_example: + description: Generic example of creating a mirror topic + value: + source_topic_name: topic-1 + configs: + - name: unclean.leader.election.enable + value: 'true' + replication_factor: 1 + example_with_mirror_topic_name: + description: Example using optional mirror_topic_name flag + value: + source_topic_name: topic-1 + mirror_topic_name: link1_topic-1 + configs: + - name: unclean.leader.election.enable + value: 'true' + replication_factor: 3 + AlterMirrorsRequest: + description: Mirror topics to be altered. + content: + application/json: + schema: + $ref: '#/components/schemas/AlterMirrorsRequestData' + examples: + mirror_topic_names: + description: Example using mirror topic names + value: + mirror_topic_names: + - topic-1 + - topic-2 + mirror_topic_name_pattern: + description: Example using mirror topic name pattern + value: + mirror_topic_name_pattern: .* + RemoveBrokersRequest: + content: + application/json: + example: + broker_ids: + - 1 + - 2 + - 3 + schema: + $ref: '#/components/schemas/RemoveBrokersRequestData' + description: Broker ids to remove + BrokerReplicaExclusionBatchRequest: + description: Alter Broker Replica Exclusions. + content: + application/json: + schema: + $ref: '#/components/schemas/BrokerReplicaExclusionBatchRequestData' + example: + data: + - broker_id: 1 + reason: The broker is to be removed. + - broker_id: 2 + reason: The broker is to be removed. + x-stackQL-resources: + subscriptions: + id: confluent.notifications.subscriptions + name: subscriptions + title: Subscriptions + methods: + list_notifications_v1subscriptions: + operation: + $ref: '#/paths/~1notifications~1v1~1subscriptions/get' + response: + mediaType: application/json + openAPIDocKey: '200' + objectKey: $.data + create_notifications_v1subscription: + operation: + $ref: '#/paths/~1notifications~1v1~1subscriptions/post' + response: + mediaType: application/json + openAPIDocKey: '201' + get_notifications_v1subscription: + operation: + $ref: '#/paths/~1notifications~1v1~1subscriptions~1{id}/get' + response: + mediaType: application/json + openAPIDocKey: '200' + update_notifications_v1subscription: + operation: + $ref: '#/paths/~1notifications~1v1~1subscriptions~1{id}/patch' + response: + mediaType: application/json + openAPIDocKey: '200' + delete_notifications_v1subscription: + operation: + $ref: '#/paths/~1notifications~1v1~1subscriptions~1{id}/delete' + response: + mediaType: application/json + openAPIDocKey: '204' + sqlVerbs: + select: + - $ref: '#/components/x-stackQL-resources/subscriptions/methods/get_notifications_v1subscription' + - $ref: '#/components/x-stackQL-resources/subscriptions/methods/list_notifications_v1subscriptions' + insert: + - $ref: '#/components/x-stackQL-resources/subscriptions/methods/create_notifications_v1subscription' + update: + - $ref: '#/components/x-stackQL-resources/subscriptions/methods/update_notifications_v1subscription' + replace: [] + delete: + - $ref: '#/components/x-stackQL-resources/subscriptions/methods/delete_notifications_v1subscription' + integrations: + id: confluent.notifications.integrations + name: integrations + title: Integrations + methods: + list_notifications_v1integrations: + operation: + $ref: '#/paths/~1notifications~1v1~1integrations/get' + response: + mediaType: application/json + openAPIDocKey: '200' + objectKey: $.data + create_notifications_v1integration: + operation: + $ref: '#/paths/~1notifications~1v1~1integrations/post' + response: + mediaType: application/json + openAPIDocKey: '201' + get_notifications_v1integration: + operation: + $ref: '#/paths/~1notifications~1v1~1integrations~1{id}/get' + response: + mediaType: application/json + openAPIDocKey: '200' + update_notifications_v1integration: + operation: + $ref: '#/paths/~1notifications~1v1~1integrations~1{id}/patch' + response: + mediaType: application/json + openAPIDocKey: '200' + delete_notifications_v1integration: + operation: + $ref: '#/paths/~1notifications~1v1~1integrations~1{id}/delete' + response: + mediaType: application/json + openAPIDocKey: '204' + test_notifications_v1integration: + operation: + $ref: '#/paths/~1notifications~1v1~1integrations:test/post' + response: + mediaType: application/json + openAPIDocKey: '204' + sqlVerbs: + select: + - $ref: '#/components/x-stackQL-resources/integrations/methods/get_notifications_v1integration' + - $ref: '#/components/x-stackQL-resources/integrations/methods/list_notifications_v1integrations' + insert: + - $ref: '#/components/x-stackQL-resources/integrations/methods/create_notifications_v1integration' + update: + - $ref: '#/components/x-stackQL-resources/integrations/methods/update_notifications_v1integration' + replace: [] + delete: + - $ref: '#/components/x-stackQL-resources/integrations/methods/delete_notifications_v1integration' + notification_types: + id: confluent.notifications.notification_types + name: notification_types + title: Notification Types + methods: + list_notifications_v1notification_types: + operation: + $ref: '#/paths/~1notifications~1v1~1notification-types/get' + response: + mediaType: application/json + openAPIDocKey: '200' + objectKey: $.data + get_notifications_v1notification_type: + operation: + $ref: '#/paths/~1notifications~1v1~1notification-types~1{id}/get' + response: + mediaType: application/json + openAPIDocKey: '200' + sqlVerbs: + select: + - $ref: '#/components/x-stackQL-resources/notification_types/methods/get_notifications_v1notification_type' + - $ref: '#/components/x-stackQL-resources/notification_types/methods/list_notifications_v1notification_types' + insert: [] + update: [] + replace: [] + delete: [] +paths: + /notifications/v1/subscriptions: + get: + operationId: listNotificationsV1Subscriptions + summary: List of Subscriptions + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + Retrieve a sorted, filtered, paginated list of all subscriptions. + parameters: + - name: page_size + in: query + required: false + schema: + type: integer + default: 100 + maximum: 250 + 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: + - Subscriptions (notifications/v1) + security: + - cloud-api-key: [] + - confluent-sts-access-token: [] + responses: + '200': + description: Subscription. + content: + application/json: + schema: + allOf: + - $ref: '#/components/schemas/notifications.v1.SubscriptionList' + 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. + + **Important:** This differs from Github and Twitter's same-named header which uses UTC epoch seconds. We use relative time to avoid client/server time synchronization issues. + '400': + $ref: '#/components/responses/BadRequestError' + '401': + $ref: '#/components/responses/UnauthenticatedError' + '403': + $ref: '#/components/responses/UnauthorizedError' + '429': + $ref: '#/components/responses/RateLimitError' + '500': + $ref: '#/components/responses/DefaultSystemError' + x-codeSamples: + - lang: Shell + source: |- + curl --request GET \ + --url https://api.confluent.cloud/notifications/v1/subscriptions \ + --header 'Authorization: Basic REPLACE_BASIC_AUTH' + - lang: Java + source: |- + OkHttpClient client = new OkHttpClient(); + + Request request = new Request.Builder() + .url("https://api.confluent.cloud/notifications/v1/subscriptions") + .get() + .addHeader("Authorization", "Basic REPLACE_BASIC_AUTH") + .build(); + + Response response = client.newCall(request).execute(); + - lang: Go + source: "package main\n\nimport (\n\t\"fmt\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.confluent.cloud/notifications/v1/subscriptions\"\n\n\treq, _ := http.NewRequest(\"GET\", url, nil)\n\n\treq.Header.Add(\"Authorization\", \"Basic REPLACE_BASIC_AUTH\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}" + - lang: Python + source: |- + import http.client + + conn = http.client.HTTPSConnection("api.confluent.cloud") + + headers = { 'Authorization': "Basic REPLACE_BASIC_AUTH" } + + conn.request("GET", "/notifications/v1/subscriptions", headers=headers) + + res = conn.getresponse() + data = res.read() + + print(data.decode("utf-8")) + - lang: Node + source: |- + const http = require("https"); + + const options = { + "method": "GET", + "hostname": "api.confluent.cloud", + "port": null, + "path": "/notifications/v1/subscriptions", + "headers": { + "Authorization": "Basic REPLACE_BASIC_AUTH" + } + }; + + const req = http.request(options, function (res) { + const chunks = []; + + res.on("data", function (chunk) { + chunks.push(chunk); + }); + + res.on("end", function () { + const body = Buffer.concat(chunks); + console.log(body.toString()); + }); + }); + + req.end(); + - lang: C + source: |- + CURL *hnd = curl_easy_init(); + + curl_easy_setopt(hnd, CURLOPT_CUSTOMREQUEST, "GET"); + curl_easy_setopt(hnd, CURLOPT_URL, "https://api.confluent.cloud/notifications/v1/subscriptions"); + + struct curl_slist *headers = NULL; + headers = curl_slist_append(headers, "Authorization: Basic REPLACE_BASIC_AUTH"); + curl_easy_setopt(hnd, CURLOPT_HTTPHEADER, headers); + + CURLcode ret = curl_easy_perform(hnd); + - lang: C# + source: |- + var client = new RestClient("https://api.confluent.cloud/notifications/v1/subscriptions"); + var request = new RestRequest(Method.GET); + request.AddHeader("Authorization", "Basic REPLACE_BASIC_AUTH"); + IRestResponse response = client.Execute(request); + post: + operationId: createNotificationsV1Subscription + summary: Create a Subscription + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + Make a request to create a subscription. + tags: + - Subscriptions (notifications/v1) + security: + - cloud-api-key: [] + - confluent-sts-access-token: [] + requestBody: + content: + application/json: + schema: + allOf: + - $ref: '#/components/schemas/notifications.v1.Subscription' + - type: object + required: + - notification_type + - integrations + responses: + '201': + description: A Subscription was created. + headers: + X-Request-Id: + schema: + type: string + description: The unique identifier for the API request. + X-RateLimit-Limit: + schema: + type: integer + description: The maximum number of requests you're permitted to make per time period. + X-RateLimit-Remaining: + schema: + type: integer + description: The number of requests remaining in the current rate limit window. + X-RateLimit-Reset: + schema: + type: integer + description: |- + The relative time in seconds until the current rate-limit window resets. + + **Important:** This differs from Github and Twitter's same-named header which uses UTC epoch seconds. We use relative time to avoid client/server time synchronization issues. + Location: + schema: + type: string + format: uri + example: 'https://api.confluent.cloud/notifications/v1/subscriptions/{id}' + description: Subscription resource uri + content: + application/json: + schema: + allOf: + - $ref: '#/components/schemas/notifications.v1.Subscription' + - type: object + required: + - notification_type + - integrations + '400': + $ref: '#/components/responses/BadRequestError' + '401': + $ref: '#/components/responses/UnauthenticatedError' + '403': + $ref: '#/components/responses/UnauthorizedError' + '409': + $ref: '#/components/responses/ConflictError' + '422': + $ref: '#/components/responses/ValidationError' + '429': + $ref: '#/components/responses/RateLimitError' + '500': + $ref: '#/components/responses/DefaultSystemError' + x-codeSamples: + - lang: Shell + source: |- + curl --request POST \ + --url https://api.confluent.cloud/notifications/v1/subscriptions \ + --header 'Authorization: Basic REPLACE_BASIC_AUTH' \ + --header 'content-type: application/json' \ + --data '{"current_state":"ENABLED","notification_type":{"id":"string"},"integrations":[{"id":"string"}]}' + - lang: Java + source: |- + OkHttpClient client = new OkHttpClient(); + + MediaType mediaType = MediaType.parse("application/json"); + RequestBody body = RequestBody.create(mediaType, "{\"current_state\":\"ENABLED\",\"notification_type\":{\"id\":\"string\"},\"integrations\":[{\"id\":\"string\"}]}"); + Request request = new Request.Builder() + .url("https://api.confluent.cloud/notifications/v1/subscriptions") + .post(body) + .addHeader("content-type", "application/json") + .addHeader("Authorization", "Basic REPLACE_BASIC_AUTH") + .build(); + + Response response = client.newCall(request).execute(); + - lang: Go + source: "package main\n\nimport (\n\t\"fmt\"\n\t\"strings\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.confluent.cloud/notifications/v1/subscriptions\"\n\n\tpayload := strings.NewReader(\"{\\\"current_state\\\":\\\"ENABLED\\\",\\\"notification_type\\\":{\\\"id\\\":\\\"string\\\"},\\\"integrations\\\":[{\\\"id\\\":\\\"string\\\"}]}\")\n\n\treq, _ := http.NewRequest(\"POST\", url, payload)\n\n\treq.Header.Add(\"content-type\", \"application/json\")\n\treq.Header.Add(\"Authorization\", \"Basic REPLACE_BASIC_AUTH\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}" + - lang: Python + source: |- + import http.client + + conn = http.client.HTTPSConnection("api.confluent.cloud") + + payload = "{\"current_state\":\"ENABLED\",\"notification_type\":{\"id\":\"string\"},\"integrations\":[{\"id\":\"string\"}]}" + + headers = { + 'content-type': "application/json", + 'Authorization': "Basic REPLACE_BASIC_AUTH" + } + + conn.request("POST", "/notifications/v1/subscriptions", payload, headers) + + res = conn.getresponse() + data = res.read() + + print(data.decode("utf-8")) + - lang: Node + source: |- + const http = require("https"); + + const options = { + "method": "POST", + "hostname": "api.confluent.cloud", + "port": null, + "path": "/notifications/v1/subscriptions", + "headers": { + "content-type": "application/json", + "Authorization": "Basic REPLACE_BASIC_AUTH" + } + }; + + const req = http.request(options, function (res) { + const chunks = []; + + res.on("data", function (chunk) { + chunks.push(chunk); + }); + + res.on("end", function () { + const body = Buffer.concat(chunks); + console.log(body.toString()); + }); + }); + + req.write(JSON.stringify({ + current_state: 'ENABLED', + notification_type: {id: 'string'}, + integrations: [{id: 'string'}] + })); + req.end(); + - lang: C + source: |- + CURL *hnd = curl_easy_init(); + + curl_easy_setopt(hnd, CURLOPT_CUSTOMREQUEST, "POST"); + curl_easy_setopt(hnd, CURLOPT_URL, "https://api.confluent.cloud/notifications/v1/subscriptions"); + + struct curl_slist *headers = NULL; + headers = curl_slist_append(headers, "content-type: application/json"); + headers = curl_slist_append(headers, "Authorization: Basic REPLACE_BASIC_AUTH"); + curl_easy_setopt(hnd, CURLOPT_HTTPHEADER, headers); + + curl_easy_setopt(hnd, CURLOPT_POSTFIELDS, "{\"current_state\":\"ENABLED\",\"notification_type\":{\"id\":\"string\"},\"integrations\":[{\"id\":\"string\"}]}"); + + CURLcode ret = curl_easy_perform(hnd); + - lang: C# + source: |- + var client = new RestClient("https://api.confluent.cloud/notifications/v1/subscriptions"); + var request = new RestRequest(Method.POST); + request.AddHeader("content-type", "application/json"); + request.AddHeader("Authorization", "Basic REPLACE_BASIC_AUTH"); + request.AddParameter("application/json", "{\"current_state\":\"ENABLED\",\"notification_type\":{\"id\":\"string\"},\"integrations\":[{\"id\":\"string\"}]}", ParameterType.RequestBody); + IRestResponse response = client.Execute(request); + '/notifications/v1/subscriptions/{id}': + get: + operationId: getNotificationsV1Subscription + summary: Read a Subscription + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + Make a request to read a subscription. + parameters: + - name: id + in: path + required: true + schema: + type: string + description: The unique identifier for the subscription. + tags: + - Subscriptions (notifications/v1) + security: + - cloud-api-key: [] + - confluent-sts-access-token: [] + responses: + '200': + description: Subscription. + content: + application/json: + schema: + allOf: + - $ref: '#/components/schemas/notifications.v1.Subscription' + - type: object + required: + - api_version + - kind + - id + - notification_type + - integrations + 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. + + **Important:** This differs from Github and Twitter's same-named header which uses UTC epoch seconds. We use relative time to avoid client/server time synchronization issues. + '400': + $ref: '#/components/responses/BadRequestError' + '401': + $ref: '#/components/responses/UnauthenticatedError' + '403': + $ref: '#/components/responses/UnauthorizedError' + '404': + $ref: '#/components/responses/NotFoundError' + '429': + $ref: '#/components/responses/RateLimitError' + '500': + $ref: '#/components/responses/DefaultSystemError' + x-codeSamples: + - lang: Shell + source: |- + curl --request GET \ + --url 'https://api.confluent.cloud/notifications/v1/subscriptions/{id}' \ + --header 'Authorization: Basic REPLACE_BASIC_AUTH' + - lang: Java + source: |- + OkHttpClient client = new OkHttpClient(); + + Request request = new Request.Builder() + .url("https://api.confluent.cloud/notifications/v1/subscriptions/{id}") + .get() + .addHeader("Authorization", "Basic REPLACE_BASIC_AUTH") + .build(); + + Response response = client.newCall(request).execute(); + - lang: Go + source: "package main\n\nimport (\n\t\"fmt\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.confluent.cloud/notifications/v1/subscriptions/{id}\"\n\n\treq, _ := http.NewRequest(\"GET\", url, nil)\n\n\treq.Header.Add(\"Authorization\", \"Basic REPLACE_BASIC_AUTH\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}" + - lang: Python + source: |- + import http.client + + conn = http.client.HTTPSConnection("api.confluent.cloud") + + headers = { 'Authorization': "Basic REPLACE_BASIC_AUTH" } + + conn.request("GET", "/notifications/v1/subscriptions/{id}", headers=headers) + + res = conn.getresponse() + data = res.read() + + print(data.decode("utf-8")) + - lang: Node + source: |- + const http = require("https"); + + const options = { + "method": "GET", + "hostname": "api.confluent.cloud", + "port": null, + "path": "/notifications/v1/subscriptions/{id}", + "headers": { + "Authorization": "Basic REPLACE_BASIC_AUTH" + } + }; + + const req = http.request(options, function (res) { + const chunks = []; + + res.on("data", function (chunk) { + chunks.push(chunk); + }); + + res.on("end", function () { + const body = Buffer.concat(chunks); + console.log(body.toString()); + }); + }); + + req.end(); + - lang: C + source: |- + CURL *hnd = curl_easy_init(); + + curl_easy_setopt(hnd, CURLOPT_CUSTOMREQUEST, "GET"); + curl_easy_setopt(hnd, CURLOPT_URL, "https://api.confluent.cloud/notifications/v1/subscriptions/{id}"); + + struct curl_slist *headers = NULL; + headers = curl_slist_append(headers, "Authorization: Basic REPLACE_BASIC_AUTH"); + curl_easy_setopt(hnd, CURLOPT_HTTPHEADER, headers); + + CURLcode ret = curl_easy_perform(hnd); + - lang: C# + source: |- + var client = new RestClient("https://api.confluent.cloud/notifications/v1/subscriptions/{id}"); + var request = new RestRequest(Method.GET); + request.AddHeader("Authorization", "Basic REPLACE_BASIC_AUTH"); + IRestResponse response = client.Execute(request); + patch: + operationId: updateNotificationsV1Subscription + summary: Update a Subscription + description: |+ + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + Make a request to update a subscription. + + parameters: + - name: id + in: path + required: true + schema: + type: string + description: The unique identifier for the subscription. + tags: + - Subscriptions (notifications/v1) + security: + - cloud-api-key: [] + - confluent-sts-access-token: [] + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/notifications.v1.SubscriptionUpdate' + responses: + '200': + description: Subscription. + content: + application/json: + schema: + allOf: + - $ref: '#/components/schemas/notifications.v1.Subscription' + - type: object + required: + - api_version + - kind + - id + - notification_type + - integrations + 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. + + **Important:** This differs from Github and Twitter's same-named header which uses UTC epoch seconds. We use relative time to avoid client/server time synchronization issues. + '400': + $ref: '#/components/responses/BadRequestError' + '401': + $ref: '#/components/responses/UnauthenticatedError' + '403': + $ref: '#/components/responses/UnauthorizedError' + '404': + $ref: '#/components/responses/NotFoundError' + '409': + $ref: '#/components/responses/ConflictError' + '422': + $ref: '#/components/responses/ValidationError' + '429': + $ref: '#/components/responses/RateLimitError' + '500': + $ref: '#/components/responses/DefaultSystemError' + x-codeSamples: + - lang: Shell + source: |- + curl --request PATCH \ + --url 'https://api.confluent.cloud/notifications/v1/subscriptions/{id}' \ + --header 'Authorization: Basic REPLACE_BASIC_AUTH' \ + --header 'content-type: application/json' \ + --data '{"current_state":"ENABLED","notification_type":{"id":"string"},"integrations":[{"id":"string"}]}' + - lang: Java + source: |- + OkHttpClient client = new OkHttpClient(); + + MediaType mediaType = MediaType.parse("application/json"); + RequestBody body = RequestBody.create(mediaType, "{\"current_state\":\"ENABLED\",\"notification_type\":{\"id\":\"string\"},\"integrations\":[{\"id\":\"string\"}]}"); + Request request = new Request.Builder() + .url("https://api.confluent.cloud/notifications/v1/subscriptions/{id}") + .patch(body) + .addHeader("content-type", "application/json") + .addHeader("Authorization", "Basic REPLACE_BASIC_AUTH") + .build(); + + Response response = client.newCall(request).execute(); + - lang: Go + source: "package main\n\nimport (\n\t\"fmt\"\n\t\"strings\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.confluent.cloud/notifications/v1/subscriptions/{id}\"\n\n\tpayload := strings.NewReader(\"{\\\"current_state\\\":\\\"ENABLED\\\",\\\"notification_type\\\":{\\\"id\\\":\\\"string\\\"},\\\"integrations\\\":[{\\\"id\\\":\\\"string\\\"}]}\")\n\n\treq, _ := http.NewRequest(\"PATCH\", url, payload)\n\n\treq.Header.Add(\"content-type\", \"application/json\")\n\treq.Header.Add(\"Authorization\", \"Basic REPLACE_BASIC_AUTH\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}" + - lang: Python + source: |- + import http.client + + conn = http.client.HTTPSConnection("api.confluent.cloud") + + payload = "{\"current_state\":\"ENABLED\",\"notification_type\":{\"id\":\"string\"},\"integrations\":[{\"id\":\"string\"}]}" + + headers = { + 'content-type': "application/json", + 'Authorization': "Basic REPLACE_BASIC_AUTH" + } + + conn.request("PATCH", "/notifications/v1/subscriptions/{id}", payload, headers) + + res = conn.getresponse() + data = res.read() + + print(data.decode("utf-8")) + - lang: Node + source: |- + const http = require("https"); + + const options = { + "method": "PATCH", + "hostname": "api.confluent.cloud", + "port": null, + "path": "/notifications/v1/subscriptions/{id}", + "headers": { + "content-type": "application/json", + "Authorization": "Basic REPLACE_BASIC_AUTH" + } + }; + + const req = http.request(options, function (res) { + const chunks = []; + + res.on("data", function (chunk) { + chunks.push(chunk); + }); + + res.on("end", function () { + const body = Buffer.concat(chunks); + console.log(body.toString()); + }); + }); + + req.write(JSON.stringify({ + current_state: 'ENABLED', + notification_type: {id: 'string'}, + integrations: [{id: 'string'}] + })); + req.end(); + - lang: C + source: |- + CURL *hnd = curl_easy_init(); + + curl_easy_setopt(hnd, CURLOPT_CUSTOMREQUEST, "PATCH"); + curl_easy_setopt(hnd, CURLOPT_URL, "https://api.confluent.cloud/notifications/v1/subscriptions/{id}"); + + struct curl_slist *headers = NULL; + headers = curl_slist_append(headers, "content-type: application/json"); + headers = curl_slist_append(headers, "Authorization: Basic REPLACE_BASIC_AUTH"); + curl_easy_setopt(hnd, CURLOPT_HTTPHEADER, headers); + + curl_easy_setopt(hnd, CURLOPT_POSTFIELDS, "{\"current_state\":\"ENABLED\",\"notification_type\":{\"id\":\"string\"},\"integrations\":[{\"id\":\"string\"}]}"); + + CURLcode ret = curl_easy_perform(hnd); + - lang: C# + source: |- + var client = new RestClient("https://api.confluent.cloud/notifications/v1/subscriptions/{id}"); + var request = new RestRequest(Method.PATCH); + request.AddHeader("content-type", "application/json"); + request.AddHeader("Authorization", "Basic REPLACE_BASIC_AUTH"); + request.AddParameter("application/json", "{\"current_state\":\"ENABLED\",\"notification_type\":{\"id\":\"string\"},\"integrations\":[{\"id\":\"string\"}]}", ParameterType.RequestBody); + IRestResponse response = client.Execute(request); + delete: + operationId: deleteNotificationsV1Subscription + summary: Delete a Subscription + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + Make a request to delete a subscription. + parameters: + - name: id + in: path + required: true + schema: + type: string + description: The unique identifier for the subscription. + tags: + - Subscriptions (notifications/v1) + security: + - cloud-api-key: [] + - confluent-sts-access-token: [] + responses: + '204': + description: A Subscription is being deleted. + headers: + X-Request-Id: + schema: + type: string + description: The unique identifier for the API request. + X-RateLimit-Limit: + schema: + type: integer + description: The maximum number of requests you're permitted to make per time period. + X-RateLimit-Remaining: + schema: + type: integer + description: The number of requests remaining in the current rate limit window. + X-RateLimit-Reset: + schema: + type: integer + description: |- + The relative time in seconds until the current rate-limit window resets. + + **Important:** This differs from Github and Twitter's same-named header which uses UTC epoch seconds. We use relative time to avoid client/server time synchronization issues. + '400': + $ref: '#/components/responses/BadRequestError' + '401': + $ref: '#/components/responses/UnauthenticatedError' + '403': + $ref: '#/components/responses/UnauthorizedError' + '404': + $ref: '#/components/responses/NotFoundError' + '429': + $ref: '#/components/responses/RateLimitError' + '500': + $ref: '#/components/responses/DefaultSystemError' + x-codeSamples: + - lang: Shell + source: |- + curl --request DELETE \ + --url 'https://api.confluent.cloud/notifications/v1/subscriptions/{id}' \ + --header 'Authorization: Basic REPLACE_BASIC_AUTH' + - lang: Java + source: |- + OkHttpClient client = new OkHttpClient(); + + Request request = new Request.Builder() + .url("https://api.confluent.cloud/notifications/v1/subscriptions/{id}") + .delete(null) + .addHeader("Authorization", "Basic REPLACE_BASIC_AUTH") + .build(); + + Response response = client.newCall(request).execute(); + - lang: Go + source: "package main\n\nimport (\n\t\"fmt\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.confluent.cloud/notifications/v1/subscriptions/{id}\"\n\n\treq, _ := http.NewRequest(\"DELETE\", url, nil)\n\n\treq.Header.Add(\"Authorization\", \"Basic REPLACE_BASIC_AUTH\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}" + - lang: Python + source: |- + import http.client + + conn = http.client.HTTPSConnection("api.confluent.cloud") + + headers = { 'Authorization': "Basic REPLACE_BASIC_AUTH" } + + conn.request("DELETE", "/notifications/v1/subscriptions/{id}", headers=headers) + + res = conn.getresponse() + data = res.read() + + print(data.decode("utf-8")) + - lang: Node + source: |- + const http = require("https"); + + const options = { + "method": "DELETE", + "hostname": "api.confluent.cloud", + "port": null, + "path": "/notifications/v1/subscriptions/{id}", + "headers": { + "Authorization": "Basic REPLACE_BASIC_AUTH" + } + }; + + const req = http.request(options, function (res) { + const chunks = []; + + res.on("data", function (chunk) { + chunks.push(chunk); + }); + + res.on("end", function () { + const body = Buffer.concat(chunks); + console.log(body.toString()); + }); + }); + + req.end(); + - lang: C + source: |- + CURL *hnd = curl_easy_init(); + + curl_easy_setopt(hnd, CURLOPT_CUSTOMREQUEST, "DELETE"); + curl_easy_setopt(hnd, CURLOPT_URL, "https://api.confluent.cloud/notifications/v1/subscriptions/{id}"); + + struct curl_slist *headers = NULL; + headers = curl_slist_append(headers, "Authorization: Basic REPLACE_BASIC_AUTH"); + curl_easy_setopt(hnd, CURLOPT_HTTPHEADER, headers); + + CURLcode ret = curl_easy_perform(hnd); + - lang: C# + source: |- + var client = new RestClient("https://api.confluent.cloud/notifications/v1/subscriptions/{id}"); + var request = new RestRequest(Method.DELETE); + request.AddHeader("Authorization", "Basic REPLACE_BASIC_AUTH"); + IRestResponse response = client.Execute(request); + /notifications/v1/integrations: + get: + operationId: listNotificationsV1Integrations + summary: List of Integrations + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + Retrieve a sorted, filtered, paginated list of all integrations. + parameters: + - name: page_size + in: query + required: false + schema: + type: integer + default: 100 + maximum: 250 + 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 (notifications/v1) + security: + - cloud-api-key: [] + - confluent-sts-access-token: [] + responses: + '200': + description: Integration. + content: + application/json: + schema: + allOf: + - $ref: '#/components/schemas/notifications.v1.IntegrationList' + 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. + + **Important:** This differs from Github and Twitter's same-named header which uses UTC epoch seconds. We use relative time to avoid client/server time synchronization issues. + '400': + $ref: '#/components/responses/BadRequestError' + '401': + $ref: '#/components/responses/UnauthenticatedError' + '403': + $ref: '#/components/responses/UnauthorizedError' + '429': + $ref: '#/components/responses/RateLimitError' + '500': + $ref: '#/components/responses/DefaultSystemError' + x-codeSamples: + - lang: Shell + source: |- + curl --request GET \ + --url https://api.confluent.cloud/notifications/v1/integrations \ + --header 'Authorization: Basic REPLACE_BASIC_AUTH' + - lang: Java + source: |- + OkHttpClient client = new OkHttpClient(); + + Request request = new Request.Builder() + .url("https://api.confluent.cloud/notifications/v1/integrations") + .get() + .addHeader("Authorization", "Basic REPLACE_BASIC_AUTH") + .build(); + + Response response = client.newCall(request).execute(); + - lang: Go + source: "package main\n\nimport (\n\t\"fmt\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.confluent.cloud/notifications/v1/integrations\"\n\n\treq, _ := http.NewRequest(\"GET\", url, nil)\n\n\treq.Header.Add(\"Authorization\", \"Basic REPLACE_BASIC_AUTH\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}" + - lang: Python + source: |- + import http.client + + conn = http.client.HTTPSConnection("api.confluent.cloud") + + headers = { 'Authorization': "Basic REPLACE_BASIC_AUTH" } + + conn.request("GET", "/notifications/v1/integrations", headers=headers) + + res = conn.getresponse() + data = res.read() + + print(data.decode("utf-8")) + - lang: Node + source: |- + const http = require("https"); + + const options = { + "method": "GET", + "hostname": "api.confluent.cloud", + "port": null, + "path": "/notifications/v1/integrations", + "headers": { + "Authorization": "Basic REPLACE_BASIC_AUTH" + } + }; + + const req = http.request(options, function (res) { + const chunks = []; + + res.on("data", function (chunk) { + chunks.push(chunk); + }); + + res.on("end", function () { + const body = Buffer.concat(chunks); + console.log(body.toString()); + }); + }); + + req.end(); + - lang: C + source: |- + CURL *hnd = curl_easy_init(); + + curl_easy_setopt(hnd, CURLOPT_CUSTOMREQUEST, "GET"); + curl_easy_setopt(hnd, CURLOPT_URL, "https://api.confluent.cloud/notifications/v1/integrations"); + + struct curl_slist *headers = NULL; + headers = curl_slist_append(headers, "Authorization: Basic REPLACE_BASIC_AUTH"); + curl_easy_setopt(hnd, CURLOPT_HTTPHEADER, headers); + + CURLcode ret = curl_easy_perform(hnd); + - lang: C# + source: |- + var client = new RestClient("https://api.confluent.cloud/notifications/v1/integrations"); + var request = new RestRequest(Method.GET); + request.AddHeader("Authorization", "Basic REPLACE_BASIC_AUTH"); + IRestResponse response = client.Execute(request); + post: + operationId: createNotificationsV1Integration + summary: Create an Integration + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + Make a request to create an integration. + tags: + - Integrations (notifications/v1) + security: + - cloud-api-key: [] + - confluent-sts-access-token: [] + requestBody: + content: + application/json: + schema: + allOf: + - $ref: '#/components/schemas/notifications.v1.Integration' + - type: object + required: + - display_name + - target + responses: + '201': + description: An Integration was created. + headers: + X-Request-Id: + schema: + type: string + description: The unique identifier for the API request. + X-RateLimit-Limit: + schema: + type: integer + description: The maximum number of requests you're permitted to make per time period. + X-RateLimit-Remaining: + schema: + type: integer + description: The number of requests remaining in the current rate limit window. + X-RateLimit-Reset: + schema: + type: integer + description: |- + The relative time in seconds until the current rate-limit window resets. + + **Important:** This differs from Github and Twitter's same-named header which uses UTC epoch seconds. We use relative time to avoid client/server time synchronization issues. + Location: + schema: + type: string + format: uri + example: 'https://api.confluent.cloud/notifications/v1/integrations/{id}' + description: Integration resource uri + content: + application/json: + schema: + allOf: + - $ref: '#/components/schemas/notifications.v1.Integration' + - type: object + required: + - display_name + - target + '400': + $ref: '#/components/responses/BadRequestError' + '401': + $ref: '#/components/responses/UnauthenticatedError' + '402': + $ref: '#/components/responses/OverQuotaError' + '403': + $ref: '#/components/responses/UnauthorizedError' + '409': + $ref: '#/components/responses/ConflictError' + '422': + $ref: '#/components/responses/ValidationError' + '429': + $ref: '#/components/responses/RateLimitError' + '500': + $ref: '#/components/responses/DefaultSystemError' + x-codeSamples: + - lang: Shell + source: |- + curl --request POST \ + --url https://api.confluent.cloud/notifications/v1/integrations \ + --header 'Authorization: Basic REPLACE_BASIC_AUTH' \ + --header 'content-type: application/json' \ + --data '{"display_name":"Slack integration","description":"A Slack channel integration","target":{"kind":"Slack","webhook_url":"https://hooks.slack.com/services/{id}/{id}/{id}"}}' + - lang: Java + source: |- + OkHttpClient client = new OkHttpClient(); + + MediaType mediaType = MediaType.parse("application/json"); + RequestBody body = RequestBody.create(mediaType, "{\"display_name\":\"Slack integration\",\"description\":\"A Slack channel integration\",\"target\":{\"kind\":\"Slack\",\"webhook_url\":\"https://hooks.slack.com/services/{id}/{id}/{id}\"}}"); + Request request = new Request.Builder() + .url("https://api.confluent.cloud/notifications/v1/integrations") + .post(body) + .addHeader("content-type", "application/json") + .addHeader("Authorization", "Basic REPLACE_BASIC_AUTH") + .build(); + + Response response = client.newCall(request).execute(); + - lang: Go + source: "package main\n\nimport (\n\t\"fmt\"\n\t\"strings\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.confluent.cloud/notifications/v1/integrations\"\n\n\tpayload := strings.NewReader(\"{\\\"display_name\\\":\\\"Slack integration\\\",\\\"description\\\":\\\"A Slack channel integration\\\",\\\"target\\\":{\\\"kind\\\":\\\"Slack\\\",\\\"webhook_url\\\":\\\"https://hooks.slack.com/services/{id}/{id}/{id}\\\"}}\")\n\n\treq, _ := http.NewRequest(\"POST\", url, payload)\n\n\treq.Header.Add(\"content-type\", \"application/json\")\n\treq.Header.Add(\"Authorization\", \"Basic REPLACE_BASIC_AUTH\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}" + - lang: Python + source: |- + import http.client + + conn = http.client.HTTPSConnection("api.confluent.cloud") + + payload = "{\"display_name\":\"Slack integration\",\"description\":\"A Slack channel integration\",\"target\":{\"kind\":\"Slack\",\"webhook_url\":\"https://hooks.slack.com/services/{id}/{id}/{id}\"}}" + + headers = { + 'content-type': "application/json", + 'Authorization': "Basic REPLACE_BASIC_AUTH" + } + + conn.request("POST", "/notifications/v1/integrations", payload, headers) + + res = conn.getresponse() + data = res.read() + + print(data.decode("utf-8")) + - lang: Node + source: |- + const http = require("https"); + + const options = { + "method": "POST", + "hostname": "api.confluent.cloud", + "port": null, + "path": "/notifications/v1/integrations", + "headers": { + "content-type": "application/json", + "Authorization": "Basic REPLACE_BASIC_AUTH" + } + }; + + const req = http.request(options, function (res) { + const chunks = []; + + res.on("data", function (chunk) { + chunks.push(chunk); + }); + + res.on("end", function () { + const body = Buffer.concat(chunks); + console.log(body.toString()); + }); + }); + + req.write(JSON.stringify({ + display_name: 'Slack integration', + description: 'A Slack channel integration', + target: {kind: 'Slack', webhook_url: 'https://hooks.slack.com/services/{id}/{id}/{id}'} + })); + req.end(); + - lang: C + source: |- + CURL *hnd = curl_easy_init(); + + curl_easy_setopt(hnd, CURLOPT_CUSTOMREQUEST, "POST"); + curl_easy_setopt(hnd, CURLOPT_URL, "https://api.confluent.cloud/notifications/v1/integrations"); + + struct curl_slist *headers = NULL; + headers = curl_slist_append(headers, "content-type: application/json"); + headers = curl_slist_append(headers, "Authorization: Basic REPLACE_BASIC_AUTH"); + curl_easy_setopt(hnd, CURLOPT_HTTPHEADER, headers); + + curl_easy_setopt(hnd, CURLOPT_POSTFIELDS, "{\"display_name\":\"Slack integration\",\"description\":\"A Slack channel integration\",\"target\":{\"kind\":\"Slack\",\"webhook_url\":\"https://hooks.slack.com/services/{id}/{id}/{id}\"}}"); + + CURLcode ret = curl_easy_perform(hnd); + - lang: C# + source: |- + var client = new RestClient("https://api.confluent.cloud/notifications/v1/integrations"); + var request = new RestRequest(Method.POST); + request.AddHeader("content-type", "application/json"); + request.AddHeader("Authorization", "Basic REPLACE_BASIC_AUTH"); + request.AddParameter("application/json", "{\"display_name\":\"Slack integration\",\"description\":\"A Slack channel integration\",\"target\":{\"kind\":\"Slack\",\"webhook_url\":\"https://hooks.slack.com/services/{id}/{id}/{id}\"}}", ParameterType.RequestBody); + IRestResponse response = client.Execute(request); + '/notifications/v1/integrations/{id}': + get: + operationId: getNotificationsV1Integration + summary: Read an Integration + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + Make a request to read an integration. + parameters: + - name: id + in: path + required: true + schema: + type: string + description: The unique identifier for the integration. + tags: + - Integrations (notifications/v1) + security: + - cloud-api-key: [] + - confluent-sts-access-token: [] + responses: + '200': + description: Integration. + content: + application/json: + schema: + allOf: + - $ref: '#/components/schemas/notifications.v1.Integration' + - type: object + required: + - api_version + - kind + - id + - display_name + - target + 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. + + **Important:** This differs from Github and Twitter's same-named header which uses UTC epoch seconds. We use relative time to avoid client/server time synchronization issues. + '400': + $ref: '#/components/responses/BadRequestError' + '401': + $ref: '#/components/responses/UnauthenticatedError' + '403': + $ref: '#/components/responses/UnauthorizedError' + '404': + $ref: '#/components/responses/NotFoundError' + '429': + $ref: '#/components/responses/RateLimitError' + '500': + $ref: '#/components/responses/DefaultSystemError' + x-codeSamples: + - lang: Shell + source: |- + curl --request GET \ + --url 'https://api.confluent.cloud/notifications/v1/integrations/{id}' \ + --header 'Authorization: Basic REPLACE_BASIC_AUTH' + - lang: Java + source: |- + OkHttpClient client = new OkHttpClient(); + + Request request = new Request.Builder() + .url("https://api.confluent.cloud/notifications/v1/integrations/{id}") + .get() + .addHeader("Authorization", "Basic REPLACE_BASIC_AUTH") + .build(); + + Response response = client.newCall(request).execute(); + - lang: Go + source: "package main\n\nimport (\n\t\"fmt\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.confluent.cloud/notifications/v1/integrations/{id}\"\n\n\treq, _ := http.NewRequest(\"GET\", url, nil)\n\n\treq.Header.Add(\"Authorization\", \"Basic REPLACE_BASIC_AUTH\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}" + - lang: Python + source: |- + import http.client + + conn = http.client.HTTPSConnection("api.confluent.cloud") + + headers = { 'Authorization': "Basic REPLACE_BASIC_AUTH" } + + conn.request("GET", "/notifications/v1/integrations/{id}", headers=headers) + + res = conn.getresponse() + data = res.read() + + print(data.decode("utf-8")) + - lang: Node + source: |- + const http = require("https"); + + const options = { + "method": "GET", + "hostname": "api.confluent.cloud", + "port": null, + "path": "/notifications/v1/integrations/{id}", + "headers": { + "Authorization": "Basic REPLACE_BASIC_AUTH" + } + }; + + const req = http.request(options, function (res) { + const chunks = []; + + res.on("data", function (chunk) { + chunks.push(chunk); + }); + + res.on("end", function () { + const body = Buffer.concat(chunks); + console.log(body.toString()); + }); + }); + + req.end(); + - lang: C + source: |- + CURL *hnd = curl_easy_init(); + + curl_easy_setopt(hnd, CURLOPT_CUSTOMREQUEST, "GET"); + curl_easy_setopt(hnd, CURLOPT_URL, "https://api.confluent.cloud/notifications/v1/integrations/{id}"); + + struct curl_slist *headers = NULL; + headers = curl_slist_append(headers, "Authorization: Basic REPLACE_BASIC_AUTH"); + curl_easy_setopt(hnd, CURLOPT_HTTPHEADER, headers); + + CURLcode ret = curl_easy_perform(hnd); + - lang: C# + source: |- + var client = new RestClient("https://api.confluent.cloud/notifications/v1/integrations/{id}"); + var request = new RestRequest(Method.GET); + request.AddHeader("Authorization", "Basic REPLACE_BASIC_AUTH"); + IRestResponse response = client.Execute(request); + patch: + operationId: updateNotificationsV1Integration + summary: Update an Integration + description: |+ + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + Make a request to update an integration. + + parameters: + - name: id + in: path + required: true + schema: + type: string + description: The unique identifier for the integration. + tags: + - Integrations (notifications/v1) + security: + - cloud-api-key: [] + - confluent-sts-access-token: [] + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/notifications.v1.Integration' + responses: + '200': + description: Integration. + content: + application/json: + schema: + allOf: + - $ref: '#/components/schemas/notifications.v1.Integration' + - type: object + required: + - api_version + - kind + - id + - display_name + - target + 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. + + **Important:** This differs from Github and Twitter's same-named header which uses UTC epoch seconds. We use relative time to avoid client/server time synchronization issues. + '400': + $ref: '#/components/responses/BadRequestError' + '401': + $ref: '#/components/responses/UnauthenticatedError' + '402': + $ref: '#/components/responses/OverQuotaError' + '403': + $ref: '#/components/responses/UnauthorizedError' + '404': + $ref: '#/components/responses/NotFoundError' + '409': + $ref: '#/components/responses/ConflictError' + '422': + $ref: '#/components/responses/ValidationError' + '429': + $ref: '#/components/responses/RateLimitError' + '500': + $ref: '#/components/responses/DefaultSystemError' + x-codeSamples: + - lang: Shell + source: |- + curl --request PATCH \ + --url 'https://api.confluent.cloud/notifications/v1/integrations/{id}' \ + --header 'Authorization: Basic REPLACE_BASIC_AUTH' \ + --header 'content-type: application/json' \ + --data '{"display_name":"Slack integration","description":"A Slack channel integration","target":{"kind":"Slack","webhook_url":"https://hooks.slack.com/services/{id}/{id}/{id}"}}' + - lang: Java + source: |- + OkHttpClient client = new OkHttpClient(); + + MediaType mediaType = MediaType.parse("application/json"); + RequestBody body = RequestBody.create(mediaType, "{\"display_name\":\"Slack integration\",\"description\":\"A Slack channel integration\",\"target\":{\"kind\":\"Slack\",\"webhook_url\":\"https://hooks.slack.com/services/{id}/{id}/{id}\"}}"); + Request request = new Request.Builder() + .url("https://api.confluent.cloud/notifications/v1/integrations/{id}") + .patch(body) + .addHeader("content-type", "application/json") + .addHeader("Authorization", "Basic REPLACE_BASIC_AUTH") + .build(); + + Response response = client.newCall(request).execute(); + - lang: Go + source: "package main\n\nimport (\n\t\"fmt\"\n\t\"strings\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.confluent.cloud/notifications/v1/integrations/{id}\"\n\n\tpayload := strings.NewReader(\"{\\\"display_name\\\":\\\"Slack integration\\\",\\\"description\\\":\\\"A Slack channel integration\\\",\\\"target\\\":{\\\"kind\\\":\\\"Slack\\\",\\\"webhook_url\\\":\\\"https://hooks.slack.com/services/{id}/{id}/{id}\\\"}}\")\n\n\treq, _ := http.NewRequest(\"PATCH\", url, payload)\n\n\treq.Header.Add(\"content-type\", \"application/json\")\n\treq.Header.Add(\"Authorization\", \"Basic REPLACE_BASIC_AUTH\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}" + - lang: Python + source: |- + import http.client + + conn = http.client.HTTPSConnection("api.confluent.cloud") + + payload = "{\"display_name\":\"Slack integration\",\"description\":\"A Slack channel integration\",\"target\":{\"kind\":\"Slack\",\"webhook_url\":\"https://hooks.slack.com/services/{id}/{id}/{id}\"}}" + + headers = { + 'content-type': "application/json", + 'Authorization': "Basic REPLACE_BASIC_AUTH" + } + + conn.request("PATCH", "/notifications/v1/integrations/{id}", payload, headers) + + res = conn.getresponse() + data = res.read() + + print(data.decode("utf-8")) + - lang: Node + source: |- + const http = require("https"); + + const options = { + "method": "PATCH", + "hostname": "api.confluent.cloud", + "port": null, + "path": "/notifications/v1/integrations/{id}", + "headers": { + "content-type": "application/json", + "Authorization": "Basic REPLACE_BASIC_AUTH" + } + }; + + const req = http.request(options, function (res) { + const chunks = []; + + res.on("data", function (chunk) { + chunks.push(chunk); + }); + + res.on("end", function () { + const body = Buffer.concat(chunks); + console.log(body.toString()); + }); + }); + + req.write(JSON.stringify({ + display_name: 'Slack integration', + description: 'A Slack channel integration', + target: {kind: 'Slack', webhook_url: 'https://hooks.slack.com/services/{id}/{id}/{id}'} + })); + req.end(); + - lang: C + source: |- + CURL *hnd = curl_easy_init(); + + curl_easy_setopt(hnd, CURLOPT_CUSTOMREQUEST, "PATCH"); + curl_easy_setopt(hnd, CURLOPT_URL, "https://api.confluent.cloud/notifications/v1/integrations/{id}"); + + struct curl_slist *headers = NULL; + headers = curl_slist_append(headers, "content-type: application/json"); + headers = curl_slist_append(headers, "Authorization: Basic REPLACE_BASIC_AUTH"); + curl_easy_setopt(hnd, CURLOPT_HTTPHEADER, headers); + + curl_easy_setopt(hnd, CURLOPT_POSTFIELDS, "{\"display_name\":\"Slack integration\",\"description\":\"A Slack channel integration\",\"target\":{\"kind\":\"Slack\",\"webhook_url\":\"https://hooks.slack.com/services/{id}/{id}/{id}\"}}"); + + CURLcode ret = curl_easy_perform(hnd); + - lang: C# + source: |- + var client = new RestClient("https://api.confluent.cloud/notifications/v1/integrations/{id}"); + var request = new RestRequest(Method.PATCH); + request.AddHeader("content-type", "application/json"); + request.AddHeader("Authorization", "Basic REPLACE_BASIC_AUTH"); + request.AddParameter("application/json", "{\"display_name\":\"Slack integration\",\"description\":\"A Slack channel integration\",\"target\":{\"kind\":\"Slack\",\"webhook_url\":\"https://hooks.slack.com/services/{id}/{id}/{id}\"}}", ParameterType.RequestBody); + IRestResponse response = client.Execute(request); + delete: + operationId: deleteNotificationsV1Integration + summary: Delete an Integration + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + Make a request to delete an integration. + parameters: + - name: id + in: path + required: true + schema: + type: string + description: The unique identifier for the integration. + tags: + - Integrations (notifications/v1) + security: + - cloud-api-key: [] + - confluent-sts-access-token: [] + responses: + '204': + description: An Integration is being deleted. + headers: + X-Request-Id: + schema: + type: string + description: The unique identifier for the API request. + X-RateLimit-Limit: + schema: + type: integer + description: The maximum number of requests you're permitted to make per time period. + X-RateLimit-Remaining: + schema: + type: integer + description: The number of requests remaining in the current rate limit window. + X-RateLimit-Reset: + schema: + type: integer + description: |- + The relative time in seconds until the current rate-limit window resets. + + **Important:** This differs from Github and Twitter's same-named header which uses UTC epoch seconds. We use relative time to avoid client/server time synchronization issues. + '400': + $ref: '#/components/responses/BadRequestError' + '401': + $ref: '#/components/responses/UnauthenticatedError' + '403': + $ref: '#/components/responses/UnauthorizedError' + '404': + $ref: '#/components/responses/NotFoundError' + '429': + $ref: '#/components/responses/RateLimitError' + '500': + $ref: '#/components/responses/DefaultSystemError' + x-codeSamples: + - lang: Shell + source: |- + curl --request DELETE \ + --url 'https://api.confluent.cloud/notifications/v1/integrations/{id}' \ + --header 'Authorization: Basic REPLACE_BASIC_AUTH' + - lang: Java + source: |- + OkHttpClient client = new OkHttpClient(); + + Request request = new Request.Builder() + .url("https://api.confluent.cloud/notifications/v1/integrations/{id}") + .delete(null) + .addHeader("Authorization", "Basic REPLACE_BASIC_AUTH") + .build(); + + Response response = client.newCall(request).execute(); + - lang: Go + source: "package main\n\nimport (\n\t\"fmt\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.confluent.cloud/notifications/v1/integrations/{id}\"\n\n\treq, _ := http.NewRequest(\"DELETE\", url, nil)\n\n\treq.Header.Add(\"Authorization\", \"Basic REPLACE_BASIC_AUTH\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}" + - lang: Python + source: |- + import http.client + + conn = http.client.HTTPSConnection("api.confluent.cloud") + + headers = { 'Authorization': "Basic REPLACE_BASIC_AUTH" } + + conn.request("DELETE", "/notifications/v1/integrations/{id}", headers=headers) + + res = conn.getresponse() + data = res.read() + + print(data.decode("utf-8")) + - lang: Node + source: |- + const http = require("https"); + + const options = { + "method": "DELETE", + "hostname": "api.confluent.cloud", + "port": null, + "path": "/notifications/v1/integrations/{id}", + "headers": { + "Authorization": "Basic REPLACE_BASIC_AUTH" + } + }; + + const req = http.request(options, function (res) { + const chunks = []; + + res.on("data", function (chunk) { + chunks.push(chunk); + }); + + res.on("end", function () { + const body = Buffer.concat(chunks); + console.log(body.toString()); + }); + }); + + req.end(); + - lang: C + source: |- + CURL *hnd = curl_easy_init(); + + curl_easy_setopt(hnd, CURLOPT_CUSTOMREQUEST, "DELETE"); + curl_easy_setopt(hnd, CURLOPT_URL, "https://api.confluent.cloud/notifications/v1/integrations/{id}"); + + struct curl_slist *headers = NULL; + headers = curl_slist_append(headers, "Authorization: Basic REPLACE_BASIC_AUTH"); + curl_easy_setopt(hnd, CURLOPT_HTTPHEADER, headers); + + CURLcode ret = curl_easy_perform(hnd); + - lang: C# + source: |- + var client = new RestClient("https://api.confluent.cloud/notifications/v1/integrations/{id}"); + var request = new RestRequest(Method.DELETE); + request.AddHeader("Authorization", "Basic REPLACE_BASIC_AUTH"); + IRestResponse response = client.Execute(request); + '/notifications/v1/integrations:test': + post: + summary: 'Test a Webhook, Slack or Microsoft Teams integration' + description: | + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + Sends a test notification to validate the integration. This is supported only for Webhook, Slack + and MsTeams targets + requestBody: + content: + application/json: + schema: + allOf: + - $ref: '#/components/schemas/notifications.v1.Integration' + - type: object + required: + - display_name + - target + x-name: notifications.v1.Integration + operationId: testNotificationsV1Integration + tags: + - Integrations (notifications/v1) + security: + - cloud-api-key: [] + - confluent-sts-access-token: [] + responses: + '204': + description: Notification sent to test integration. + '400': + $ref: '#/components/responses/BadRequestError' + '401': + $ref: '#/components/responses/UnauthenticatedError' + '403': + $ref: '#/components/responses/UnauthorizedError' + '404': + $ref: '#/components/responses/NotFoundError' + '429': + $ref: '#/components/responses/RateLimitError' + '500': + $ref: '#/components/responses/DefaultSystemError' + x-codeSamples: + - lang: Shell + source: |- + curl --request POST \ + --url https://api.confluent.cloud/notifications/v1/integrations:test \ + --header 'Authorization: Basic REPLACE_BASIC_AUTH' \ + --header 'content-type: application/json' \ + --data '{"display_name":"Slack integration","description":"A Slack channel integration","target":{"kind":"Slack","webhook_url":"https://hooks.slack.com/services/{id}/{id}/{id}"}}' + - lang: Java + source: |- + OkHttpClient client = new OkHttpClient(); + + MediaType mediaType = MediaType.parse("application/json"); + RequestBody body = RequestBody.create(mediaType, "{\"display_name\":\"Slack integration\",\"description\":\"A Slack channel integration\",\"target\":{\"kind\":\"Slack\",\"webhook_url\":\"https://hooks.slack.com/services/{id}/{id}/{id}\"}}"); + Request request = new Request.Builder() + .url("https://api.confluent.cloud/notifications/v1/integrations:test") + .post(body) + .addHeader("content-type", "application/json") + .addHeader("Authorization", "Basic REPLACE_BASIC_AUTH") + .build(); + + Response response = client.newCall(request).execute(); + - lang: Go + source: "package main\n\nimport (\n\t\"fmt\"\n\t\"strings\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.confluent.cloud/notifications/v1/integrations:test\"\n\n\tpayload := strings.NewReader(\"{\\\"display_name\\\":\\\"Slack integration\\\",\\\"description\\\":\\\"A Slack channel integration\\\",\\\"target\\\":{\\\"kind\\\":\\\"Slack\\\",\\\"webhook_url\\\":\\\"https://hooks.slack.com/services/{id}/{id}/{id}\\\"}}\")\n\n\treq, _ := http.NewRequest(\"POST\", url, payload)\n\n\treq.Header.Add(\"content-type\", \"application/json\")\n\treq.Header.Add(\"Authorization\", \"Basic REPLACE_BASIC_AUTH\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}" + - lang: Python + source: |- + import http.client + + conn = http.client.HTTPSConnection("api.confluent.cloud") + + payload = "{\"display_name\":\"Slack integration\",\"description\":\"A Slack channel integration\",\"target\":{\"kind\":\"Slack\",\"webhook_url\":\"https://hooks.slack.com/services/{id}/{id}/{id}\"}}" + + headers = { + 'content-type': "application/json", + 'Authorization': "Basic REPLACE_BASIC_AUTH" + } + + conn.request("POST", "/notifications/v1/integrations:test", payload, headers) + + res = conn.getresponse() + data = res.read() + + print(data.decode("utf-8")) + - lang: Node + source: |- + const http = require("https"); + + const options = { + "method": "POST", + "hostname": "api.confluent.cloud", + "port": null, + "path": "/notifications/v1/integrations:test", + "headers": { + "content-type": "application/json", + "Authorization": "Basic REPLACE_BASIC_AUTH" + } + }; + + const req = http.request(options, function (res) { + const chunks = []; + + res.on("data", function (chunk) { + chunks.push(chunk); + }); + + res.on("end", function () { + const body = Buffer.concat(chunks); + console.log(body.toString()); + }); + }); + + req.write(JSON.stringify({ + display_name: 'Slack integration', + description: 'A Slack channel integration', + target: {kind: 'Slack', webhook_url: 'https://hooks.slack.com/services/{id}/{id}/{id}'} + })); + req.end(); + - lang: C + source: |- + CURL *hnd = curl_easy_init(); + + curl_easy_setopt(hnd, CURLOPT_CUSTOMREQUEST, "POST"); + curl_easy_setopt(hnd, CURLOPT_URL, "https://api.confluent.cloud/notifications/v1/integrations:test"); + + struct curl_slist *headers = NULL; + headers = curl_slist_append(headers, "content-type: application/json"); + headers = curl_slist_append(headers, "Authorization: Basic REPLACE_BASIC_AUTH"); + curl_easy_setopt(hnd, CURLOPT_HTTPHEADER, headers); + + curl_easy_setopt(hnd, CURLOPT_POSTFIELDS, "{\"display_name\":\"Slack integration\",\"description\":\"A Slack channel integration\",\"target\":{\"kind\":\"Slack\",\"webhook_url\":\"https://hooks.slack.com/services/{id}/{id}/{id}\"}}"); + + CURLcode ret = curl_easy_perform(hnd); + - lang: C# + source: |- + var client = new RestClient("https://api.confluent.cloud/notifications/v1/integrations:test"); + var request = new RestRequest(Method.POST); + request.AddHeader("content-type", "application/json"); + request.AddHeader("Authorization", "Basic REPLACE_BASIC_AUTH"); + request.AddParameter("application/json", "{\"display_name\":\"Slack integration\",\"description\":\"A Slack channel integration\",\"target\":{\"kind\":\"Slack\",\"webhook_url\":\"https://hooks.slack.com/services/{id}/{id}/{id}\"}}", ParameterType.RequestBody); + IRestResponse response = client.Execute(request); + /notifications/v1/notification-types: + get: + operationId: listNotificationsV1NotificationTypes + summary: List of Notification Types + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + Retrieve a sorted, filtered, paginated list of all notification types. + parameters: + - name: page_size + in: query + required: false + schema: + type: integer + default: 100 + maximum: 250 + 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: + - Notification Types (notifications/v1) + security: + - cloud-api-key: [] + - confluent-sts-access-token: [] + responses: + '200': + description: Notification Type. + content: + application/json: + schema: + allOf: + - $ref: '#/components/schemas/notifications.v1.NotificationTypeList' + 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. + + **Important:** This differs from Github and Twitter's same-named header which uses UTC epoch seconds. We use relative time to avoid client/server time synchronization issues. + '400': + $ref: '#/components/responses/BadRequestError' + '401': + $ref: '#/components/responses/UnauthenticatedError' + '403': + $ref: '#/components/responses/UnauthorizedError' + '429': + $ref: '#/components/responses/RateLimitError' + '500': + $ref: '#/components/responses/DefaultSystemError' + x-codeSamples: + - lang: Shell + source: |- + curl --request GET \ + --url https://api.confluent.cloud/notifications/v1/notification-types \ + --header 'Authorization: Basic REPLACE_BASIC_AUTH' + - lang: Java + source: |- + OkHttpClient client = new OkHttpClient(); + + Request request = new Request.Builder() + .url("https://api.confluent.cloud/notifications/v1/notification-types") + .get() + .addHeader("Authorization", "Basic REPLACE_BASIC_AUTH") + .build(); + + Response response = client.newCall(request).execute(); + - lang: Go + source: "package main\n\nimport (\n\t\"fmt\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.confluent.cloud/notifications/v1/notification-types\"\n\n\treq, _ := http.NewRequest(\"GET\", url, nil)\n\n\treq.Header.Add(\"Authorization\", \"Basic REPLACE_BASIC_AUTH\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}" + - lang: Python + source: |- + import http.client + + conn = http.client.HTTPSConnection("api.confluent.cloud") + + headers = { 'Authorization': "Basic REPLACE_BASIC_AUTH" } + + conn.request("GET", "/notifications/v1/notification-types", headers=headers) + + res = conn.getresponse() + data = res.read() + + print(data.decode("utf-8")) + - lang: Node + source: |- + const http = require("https"); + + const options = { + "method": "GET", + "hostname": "api.confluent.cloud", + "port": null, + "path": "/notifications/v1/notification-types", + "headers": { + "Authorization": "Basic REPLACE_BASIC_AUTH" + } + }; + + const req = http.request(options, function (res) { + const chunks = []; + + res.on("data", function (chunk) { + chunks.push(chunk); + }); + + res.on("end", function () { + const body = Buffer.concat(chunks); + console.log(body.toString()); + }); + }); + + req.end(); + - lang: C + source: |- + CURL *hnd = curl_easy_init(); + + curl_easy_setopt(hnd, CURLOPT_CUSTOMREQUEST, "GET"); + curl_easy_setopt(hnd, CURLOPT_URL, "https://api.confluent.cloud/notifications/v1/notification-types"); + + struct curl_slist *headers = NULL; + headers = curl_slist_append(headers, "Authorization: Basic REPLACE_BASIC_AUTH"); + curl_easy_setopt(hnd, CURLOPT_HTTPHEADER, headers); + + CURLcode ret = curl_easy_perform(hnd); + - lang: C# + source: |- + var client = new RestClient("https://api.confluent.cloud/notifications/v1/notification-types"); + var request = new RestRequest(Method.GET); + request.AddHeader("Authorization", "Basic REPLACE_BASIC_AUTH"); + IRestResponse response = client.Execute(request); + '/notifications/v1/notification-types/{id}': + get: + operationId: getNotificationsV1NotificationType + summary: Read a Notification Type + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + Make a request to read a notification type. + parameters: + - name: id + in: path + required: true + schema: + type: string + description: The unique identifier for the notification type. + tags: + - Notification Types (notifications/v1) + security: + - cloud-api-key: [] + - confluent-sts-access-token: [] + responses: + '200': + description: Notification Type. + content: + application/json: + schema: + allOf: + - $ref: '#/components/schemas/notifications.v1.NotificationType' + - type: object + required: + - api_version + - kind + - id + - display_name + - category + - description + - subscription_priority + - is_included_in_plan + - severity + 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. + + **Important:** This differs from Github and Twitter's same-named header which uses UTC epoch seconds. We use relative time to avoid client/server time synchronization issues. + '400': + $ref: '#/components/responses/BadRequestError' + '401': + $ref: '#/components/responses/UnauthenticatedError' + '403': + $ref: '#/components/responses/UnauthorizedError' + '404': + $ref: '#/components/responses/NotFoundError' + '429': + $ref: '#/components/responses/RateLimitError' + '500': + $ref: '#/components/responses/DefaultSystemError' + x-codeSamples: + - lang: Shell + source: |- + curl --request GET \ + --url 'https://api.confluent.cloud/notifications/v1/notification-types/{id}' \ + --header 'Authorization: Basic REPLACE_BASIC_AUTH' + - lang: Java + source: |- + OkHttpClient client = new OkHttpClient(); + + Request request = new Request.Builder() + .url("https://api.confluent.cloud/notifications/v1/notification-types/{id}") + .get() + .addHeader("Authorization", "Basic REPLACE_BASIC_AUTH") + .build(); + + Response response = client.newCall(request).execute(); + - lang: Go + source: "package main\n\nimport (\n\t\"fmt\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.confluent.cloud/notifications/v1/notification-types/{id}\"\n\n\treq, _ := http.NewRequest(\"GET\", url, nil)\n\n\treq.Header.Add(\"Authorization\", \"Basic REPLACE_BASIC_AUTH\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}" + - lang: Python + source: |- + import http.client + + conn = http.client.HTTPSConnection("api.confluent.cloud") + + headers = { 'Authorization': "Basic REPLACE_BASIC_AUTH" } + + conn.request("GET", "/notifications/v1/notification-types/{id}", headers=headers) + + res = conn.getresponse() + data = res.read() + + print(data.decode("utf-8")) + - lang: Node + source: |- + const http = require("https"); + + const options = { + "method": "GET", + "hostname": "api.confluent.cloud", + "port": null, + "path": "/notifications/v1/notification-types/{id}", + "headers": { + "Authorization": "Basic REPLACE_BASIC_AUTH" + } + }; + + const req = http.request(options, function (res) { + const chunks = []; + + res.on("data", function (chunk) { + chunks.push(chunk); + }); + + res.on("end", function () { + const body = Buffer.concat(chunks); + console.log(body.toString()); + }); + }); + + req.end(); + - lang: C + source: |- + CURL *hnd = curl_easy_init(); + + curl_easy_setopt(hnd, CURLOPT_CUSTOMREQUEST, "GET"); + curl_easy_setopt(hnd, CURLOPT_URL, "https://api.confluent.cloud/notifications/v1/notification-types/{id}"); + + struct curl_slist *headers = NULL; + headers = curl_slist_append(headers, "Authorization: Basic REPLACE_BASIC_AUTH"); + curl_easy_setopt(hnd, CURLOPT_HTTPHEADER, headers); + + CURLcode ret = curl_easy_perform(hnd); + - lang: C# + source: |- + var client = new RestClient("https://api.confluent.cloud/notifications/v1/notification-types/{id}"); + var request = new RestRequest(Method.GET); + request.AddHeader("Authorization", "Basic REPLACE_BASIC_AUTH"); + IRestResponse response = client.Execute(request); diff --git a/providers/src/confluent/v00.00.00000/services/org.yaml b/providers/src/confluent/v00.00.00000/services/org.yaml new file mode 100644 index 00000000..cd9b39f3 --- /dev/null +++ b/providers/src/confluent/v00.00.00000/services/org.yaml @@ -0,0 +1,4155 @@ +openapi: 3.0.0 +servers: + - url: 'https://api.confluent.cloud' + description: Confluent Cloud API +info: + version: '' + contact: + name: Confluent Cloud + url: 'https://www.confluent.io/cloud-contact-us/' + email: support@confluent.io + x-api-id: 46234552-5833-42eb-ba0f-883ad3f70d2b + x-audience: external-public + x-logo: + url: 'https://assets.confluent.io/m/5ec23aa91903c00b/' + title: Confluent Cloud APIs - org + description: org +tags: + - name: API Keys (iam/v2) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + `ApiKey` objects represent access to different parts of Confluent Cloud. Some types + of API keys represent access to a single cluster/resource such as a Kafka cluster, + Schema Registry cluster or a ksqlDB cluster. Cloud API Keys represent access to resources within an organization + that are not tied to a specific cluster, such as the Org API, IAM API, Metrics API or Connect API. + + The API allows you to list, create, update and delete your API Keys. + + + Related guide: [API Keys in Confluent Cloud](https://docs.confluent.io/cloud/current/client-apps/api-keys.html). + + ## The API Keys Model + + + ## Quotas and Limits + This resource is subject to the [following quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): + + | Quota | Description | + | --- | --- | + | `apikeys_per_org` | API Keys in one Confluent Cloud organization | + - name: Environments (org/v2) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + `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](https://docs.confluent.io/cloud/current/access-management/environments.html). + + ## The Environments Model + + + ## Quotas and Limits + This resource is subject to the [following quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): + + | Quota | Description | + | --- | --- | + | `environments_per_org` | Environments in one Confluent Cloud organization | + - name: Organizations (org/v2) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + `Organization` objects represent a customer organization. An organization contains all customer + resources (e.g., Environments, Kafka Clusters, Service Accounts, API Keys) and is tied to a billing + agreement (including any annual commitment or support plan). + + The API allows you to list, view, and update your organizations. + + + Related guide: [Organizations for Confluent Cloud](https://docs.confluent.io/cloud/current/access-management/hierarchy/organizations/cloud-organization.html). + + ## The Organizations Model + + + ## Quotas and Limits + This resource is subject to the [following quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): + + | Quota | Description | + | --- | --- | + | `organizations_per_user` | Confluent Cloud organizations a user belongs to | + - name: Users (iam/v2) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + `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](https://docs.confluent.io/cloud/current/access-management/user-account.html). + + ## The Users Model + + + ## Quotas and Limits + This resource is subject to the [following quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): + + | Quota | Description | + | --- | --- | + | `users_per_org` | Users in one Confluent Cloud organization | + - name: Service Accounts (iam/v2) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + `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](https://docs.confluent.io/cloud/current/access-management/service-account.html). + + ## The Service Accounts Model + + + ## Quotas and Limits + This resource is subject to the [following quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): + + | Quota | Description | + | --- | --- | + | `service_accounts_per_org` | Service Accounts in one Confluent Cloud organization | + - name: Invitations (iam/v2) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + `Invitation` objects represent invitations to invite users to join your organizations in Confluent Cloud. + + The API allows you to list all your invitations, as well as create, read, and delete a specified invitation. + + + Related guide: [User invitations in Confluent Cloud](https://docs.confluent.io/cloud/current/access-management/identity/user-accounts.html). + + ## The Invitations Model + + + ## Quotas and Limits + This resource is subject to the [following quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): + + | Quota | Description | + | --- | --- | + | `invitations_per_org` | Invitations in a Confluent Cloud organization | + - name: IP Groups (iam/v2) + description: |- + [![Limited Availability](https://img.shields.io/badge/Lifecycle%20Stage-Limited%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) [![Request Access To IP Groups API](https://img.shields.io/badge/-Request%20Access%20To%20IP%20Groups%20API-%23bc8540)](mailto:cloud-support@confluent.io?subject=Request%20to%20join%20IP%20Filtering%20API%20Limited%20Access&body=I%E2%80%99d%20like%20to%20join%20the%20Confluent%20Cloud%20API%20Limited%20Access%20for%20IP%20Filtering.%0AMy%20Cloud%20Organization%20ID%20is%20%3Cretrieve%20from%20https%3A//confluent.cloud/settings/billing/payment%3E.%0A) + + Definitions of networks which can be named and referred by IP blocks, commonly used to attach to IP Filter rules. + + + ## The IP Groups Model + + - name: IP Filters (iam/v2) + description: |- + [![Limited Availability](https://img.shields.io/badge/Lifecycle%20Stage-Limited%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) [![Request Access To IP Filters API](https://img.shields.io/badge/-Request%20Access%20To%20IP%20Filters%20API-%23bc8540)](mailto:ccloud-api-access+iam-v2-limited-availability@confluent.io?subject=Request%20to%20join%20iam/v2%20API%20Limited%20Availability&body=I%E2%80%99d%20like%20to%20join%20the%20Confluent%20Cloud%20API%20Limited%20Availability%20for%20iam/v2%20to%20provide%20early%20feedback%21%20My%20Cloud%20Organization%20ID%20is%20%3Cretrieve%20from%20https%3A//confluent.cloud/settings/billing/payment%3E.) + + `IP Filter` objects are bindings between IP Groups and Confluent resource(s). + For example, a binding between "CorpNet" and "Management APIs" will enforce that + access must come from one of the CIDR blocks associated with CorpNet. + If there are multiple IP filters bound to a resource, a request matching any of the CIDR blocks + for any of the IP Group will allow the request. + If there are no IP Filters for a resource, then access will be granted to requests originating + from any IP Address. + + + ## The IP Filters Model + + - name: Role Bindings (iam/v2) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + A role binding grants a Principal a role on resources that match a pattern. + + The API allows you to perform create, delete, and list operations on role bindings. + + + Related guide: [Role-Based Access Control (RBAC)](https://docs.confluent.io/cloud/current/access-management/access-control/cloud-rbac.html). + + ## The Role Bindings Model + + - name: Subscriptions (notifications/v1) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + `Subscription` objects represent the intent of the customers to get notifications of particular types. + A subscription is created for a particular `NotificationType` and the user will get notifications on the + `Integrations` that are provided while creating the subscription. + + This API allows you to create, retrieve, and update subscriptions, + as well as to view the list of all your subscriptions. You can also delete subscriptions + with RECOMMENDED or OPTIONAL notification types. Subscriptions with REQUIRED notification types cannot be deleted. + + + Related guide: [Cloud Notifications](https://docs.confluent.io/cloud/current/monitoring/configure-notifications.html#notifications-for-ccloud). + + ## The Subscriptions Model + + - name: Integrations (notifications/v1) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + You can create an `Integration` to specify how we can notify you when we receive an alert/notification for + a subscription. Please note that you can only perform create, update and delete operations for integrations + of type `Webhook`, `Slack` and `MsTeams`. You cannot create, update or delete integrations of type `RoleEmail` + and `UserEmail`. + + + Related guide: [Cloud Notifications](https://docs.confluent.io/cloud/current/monitoring/configure-notifications.html#notifications-for-ccloud). + + ## The Integrations Model + + + ## Quotas and Limits + This resource is subject to the [following quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): + + | Quota | Description | + | --- | --- | + | `integrations_per_org` | Maximum number of integrations in one Confluent Cloud organization | + - name: Notification Types (notifications/v1) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + The type of notifications (and their corresponding metadata) supported by Confluent. + + + Related guide: [Cloud Notifications](https://docs.confluent.io/cloud/current/monitoring/configure-notifications.html#notifications-for-ccloud). + + ## The Notification Types Model + + - name: Clusters (cmk/v2) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + `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](https://docs.confluent.io/cloud/current/clusters/cluster-api.html). + + ## The Clusters Model + + + ## Quotas and Limits + This resource is subject to the [following quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): + + | Quota | Description | + | --- | --- | + | `kafka_clusters_per_environment` | Number of clusters in one Confluent Cloud environment | + - name: Clusters (ksqldbcm/v2) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + `Cluster` represents a ksqlDB runtime that you can issue queries to using its API endpoint. + It executes SQL statements and queries which under the hood get built into corresponding + Kafka Streams topologies. The API allows you to list, create, read, and delete your ksqlDB clusters. + + + Related guide: [ksqlDB in Confluent Cloud](https://docs.confluent.io/cloud/current/ksqldb/ksqldb-cluster-api.html). + + ## The Clusters Model + + + ## Quotas and Limits + This resource is subject to the following quotas: + + | Quota | Description | + | --- | --- | + | `ksql.limits.max_apps_per_cluster` | Clusters in one Confluent Cloud Kafka Cluster. | + - name: Connectors (connect/v1) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + API for Managed Connectors or Custom Connectors in Confluent Cloud. + + The API allows you to list, create, get, update and delete a Managed Connector or Custom Connector in Confluent Cloud. + + Connect metrics are available through the [Metrics v2 API](https://api.telemetry.confluent.cloud/docs#tag/Version-2). + + Related guide: [Confluent Cloud API and Managed Connectors](https://docs.confluent.io/cloud/current/connectors/connect-api-section.html). + - name: Lifecycle (connect/v1) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + API for managing the lifecycle for a Managed Connector or Custom Connector in Confluent Cloud. Operations currently supported are Pause and Resume. + - name: Status (connect/v1) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + API for requesting the status or the tasks for a Managed Connector or Custom Connector in Confluent Cloud. + - name: Managed Connector Plugins (connect/v1) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + API for Managed connectors in Confluent Cloud. + - name: Offsets (connect/v1) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + API for managing the offsets for a Managed Connector. + + Related guide: [Manage Connector Offsets](https://docs.confluent.io/cloud/current/connectors/offsets.html#manage-offsets-for-fully-managed-connectors-in-ccloud) + - name: Custom Connector Plugins (connect/v1) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + CustomConnectorPlugins objects represent Custom Connector Plugins on Confluent Cloud. + The API allows you to list, create, read, update, and delete your Custom Connector Plugins. + Related guide: + [Custom Connector Plugin API](https://docs.confluent.io/cloud/current/connectors/connect-api-section.html). + + + ## The Custom Connector Plugins Model + + - name: Presigned Urls (connect/v1) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + Request a presigned upload URL for new Custom Connector Plugin. Note that + the URL policy expires in one hour. If the policy expires, you can request + a new presigned upload URL. + + Related guide: + [Custom Connector Plugin API](https://docs.confluent.io/cloud/current/connectors/connect-api-section.html). + + + ## The Presigned Urls Model + + - name: Cluster (v3) + description: '[![Generally Available](https://img.shields.io/badge/Lifecycle%20Stage-Generally%20Available-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy)' + - name: Configs (v3) + description: '[![Generally Available](https://img.shields.io/badge/Lifecycle%20Stage-Generally%20Available-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy)' + - name: ACL (v3) + description: '[![Generally Available](https://img.shields.io/badge/Lifecycle%20Stage-Generally%20Available-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy)' + - name: Consumer Group (v3) + description: '[![Generally Available](https://img.shields.io/badge/Lifecycle%20Stage-Generally%20Available-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy)' + - name: Partition (v3) + description: '[![Generally Available](https://img.shields.io/badge/Lifecycle%20Stage-Generally%20Available-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy)' + - name: Topic (v3) + description: '[![Generally Available](https://img.shields.io/badge/Lifecycle%20Stage-Generally%20Available-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy)' + - name: Records (v3) + description: '[![Generally Available](https://img.shields.io/badge/Lifecycle%20Stage-Generally%20Available-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy)' + - name: Cluster Linking (v3) + description: '[![Generally Available](https://img.shields.io/badge/Lifecycle%20Stage-Generally%20Available-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy)' + - name: Applied Quotas (service-quota/v1) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + A `quota` object represents a quota configuration for a specific Confluent Cloud resource. + Use this API to retrieve an individual quota or list of quotas for a given scope. + + + Related guide: [Service Quotas for Confluent Cloud](https://docs.confluent.io/cloud/current/quotas/index.html). + + ## The Applied Quotas Model + + - name: Scopes (service-quota/v1) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + Gets a list of all available scopes for applied quotas. + + + Related guide: [Quota Scopes](https://docs.confluent.io/cloud/current/quotas/quotas.html#query-for-scopes). + + ## The Scopes Model + + - name: Entitlements (partner/v2) + description: | + [![Early Access](https://img.shields.io/badge/Lifecycle%20Stage-Early%20Access-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) [![Request Access To Partner v2](https://img.shields.io/badge/-Request%20Access%20To%20Partner%20v2-%23bc8540)](mailto:ccloud-api-access+partner-v2-early-access@confluent.io?subject=Request%20to%20join%20partner/v2%20API%20Early%20Access&body=I%E2%80%99d%20like%20to%20join%20the%20Confluent%20Cloud%20API%20Early%20Access%20for%20partner/v2%20to%20provide%20early%20feedback%21%20My%20Cloud%20Organization%20ID%20is%20%3Cretrieve%20from%20https%3A//confluent.cloud/settings/billing/payment%3E.) + + `Entitlement` objects represent metadata about a marketplace entitlement. + + An entitlement includes metadata about a marketplace purchase + (start date, end date, billing information, partner IDs, etc). + The API allows partners to create, read, and list entitlements. (Unless you + need entitlement creation and customer registration to be separate, + we recommend using the Signup API to create an organization and entitlement + at the same time) + + The API only allows authorized partners to interact with the Entitlements API. + - name: Regions (srcm/v2) + description: |- + [![Deprecated](https://img.shields.io/badge/Lifecycle%20Stage-Deprecated-%23ff005c)](#section/Versioning/API-Lifecycle-Policy) + + `Region` objects represent cloud provider regions available when placing Schema Registry clusters. + The API allows you to list Schema Registry regions. + + + Related guides: + * [Confluent Cloud providers and region support](https://docs.confluent.io/cloud/current/stream-governance/packages.html#cloud-providers-and-region-support). + * [srcm/v3 Migration Guide](https://docs.confluent.io/cloud/current/stream-governance/packages.html#deprecation-of-srcm-v2-clusters-and-regions-apis-and-upgrade-guide). + + + ## The Regions Model + + - name: Clusters (srcm/v2) + description: |- + [![Deprecated](https://img.shields.io/badge/Lifecycle%20Stage-Deprecated-%23ff005c)](#section/Versioning/API-Lifecycle-Policy) + + `Clusters` objects represent Schema Registry Clusters on Confluent Cloud. + + The API allows you to list, create, read, and delete your Schema Registry clusters. + + + Related guides: + * [Confluent Cloud Schema Registry Cluster APIs](https://docs.confluent.io/cloud/current/stream-governance/clusters-regions-api.html#schema-registry-cluster-management). + * [srcm/v3 Migration Guide](https://docs.confluent.io/cloud/current/stream-governance/packages.html#deprecation-of-srcm-v2-clusters-and-regions-apis-and-upgrade-guide). + + + ## The Clusters Model + + - name: Clusters (srcm/v3) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + `Clusters` objects represent Schema Registry Clusters on Confluent Cloud. + + The API allows you to list and read your Schema Registry clusters. + + + Related guide: [Confluent Cloud Schema Registry Cluster APIs](https://docs.confluent.io/cloud/current/stream-governance/clusters-regions-api.html#schema-registry-cluster-management). + + ## The Clusters Model + + - name: Compatibility (v1) + description: |- + [![Generally Available](https://img.shields.io/badge/Lifecycle%20Stage-Generally%20Available-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + The API allows you to test schema compatibility. + + Related guide: [Manage Schemas in Confluent Cloud](https://docs.confluent.io/cloud/current/sr/schemas-manage.html#manage-schemas-in-ccloud). + - name: Config (v1) + description: |- + [![Generally Available](https://img.shields.io/badge/Lifecycle%20Stage-Generally%20Available-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + The API allows you to manage and query schema compatibility settings and cluster configurations. + + Related guide: [Manage Schemas in Confluent Cloud](https://docs.confluent.io/cloud/current/sr/schemas-manage.html#manage-schemas-in-ccloud). + - name: Contexts (v1) + description: |- + [![Generally Available](https://img.shields.io/badge/Lifecycle%20Stage-Generally%20Available-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + The API allows you to retrieve information about schema contexts. + + Related guide: [Manage Schemas in Confluent Cloud](https://docs.confluent.io/cloud/current/sr/schemas-manage.html#manage-schemas-in-ccloud). + - name: Exporters (v1) + description: |- + [![Generally Available](https://img.shields.io/badge/Lifecycle%20Stage-Generally%20Available-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + The API allows you to create, retrieve, update, and delete exporters. + + Related guide: [Manage Schemas in Confluent Cloud](https://docs.confluent.io/cloud/current/sr/schemas-manage.html#manage-schemas-in-ccloud). + - name: Modes (v1) + description: |- + [![Generally Available](https://img.shields.io/badge/Lifecycle%20Stage-Generally%20Available-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + The API allows you to create, retrieve, update, and delete schema subjects modes of operation. + + Related guide: [Manage Schemas in Confluent Cloud](https://docs.confluent.io/cloud/current/sr/schemas-manage.html#manage-schemas-in-ccloud). + - name: Schemas (v1) + description: |- + [![Generally Available](https://img.shields.io/badge/Lifecycle%20Stage-Generally%20Available-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + The API allows you to create, retrieve, update, and delete schemas. + + Related guide: [Manage Schemas in Confluent Cloud](https://docs.confluent.io/cloud/current/sr/schemas-manage.html#manage-schemas-in-ccloud). + - name: Subjects (v1) + description: |- + [![Generally Available](https://img.shields.io/badge/Lifecycle%20Stage-Generally%20Available-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + The API allows you to create, retrieve, update, and delete schema subjects and versions. + + Related guide: [Manage Schemas in Confluent Cloud](https://docs.confluent.io/cloud/current/sr/schemas-manage.html#manage-schemas-in-ccloud). + - name: Key Encryption Keys (v1) + description: |- + [![Generally Available](https://img.shields.io/badge/Lifecycle%20Stage-Generally%20Available-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + The API allows you to create, retrieve, update, and delete key encryption keys. + + Related guide: [Manage Schemas in Confluent Cloud](https://docs.confluent.io/cloud/current/sr/schemas-manage.html#manage-schemas-in-ccloud). + - name: Data Encryption Keys (v1) + description: |- + [![Generally Available](https://img.shields.io/badge/Lifecycle%20Stage-Generally%20Available-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + The API allows you to create, retrieve, update, and delete data encryption keys. + + Related guide: [Manage Schemas in Confluent Cloud](https://docs.confluent.io/cloud/current/sr/schemas-manage.html#manage-schemas-in-ccloud). + - name: Entity (v1) + description: |- + [![Generally Available](https://img.shields.io/badge/Lifecycle%20Stage-Generally%20Available-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + The API allows you to create, retrieve, update, and delete catalog entities. + + Related guide: [Catalog API Documentation](https://docs.confluent.io/cloud/current/stream-governance/stream-catalog.html#catalog-api-documentation). + - name: Search (v1) + description: |- + [![Generally Available](https://img.shields.io/badge/Lifecycle%20Stage-Generally%20Available-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + The API allows you to search for entities. + + Related guide: [Catalog API Documentation](https://docs.confluent.io/cloud/current/stream-governance/stream-catalog.html#catalog-api-documentation). + - name: Types (v1) + description: |- + [![Generally Available](https://img.shields.io/badge/Lifecycle%20Stage-Generally%20Available-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + The API allows you to create, retrieve, update, and delete catalog types such as tag definitions. + + Related guide: [Catalog API Documentation](https://docs.confluent.io/cloud/current/stream-governance/stream-catalog.html#catalog-api-documentation). + - name: Provider Shared Resources (cdx/v1) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + `ProviderSharedResource` object contains details of the data stream + (topic, schema registry subjects, sharing metadata) that you have shared through Stream Sharing. + + + ## The Provider Shared Resources Model + + - name: Provider Shares (cdx/v1) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + `ProviderShare` object respresents the share that you have created through Stream Sharing. + + + Related guide: [Provider Stream Shares in Confluent Cloud](https://docs.confluent.io/cloud/current/stream-sharing/produce-shared-data.html#stream-shares). + + ## The Provider Shares Model + + - name: Consumer Shared Resources (cdx/v1) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + `ConsumerSharedResource` object contains details of the data stream + (topic, schema registry subjects, sharing metadata) that you received through Stream Sharing. + + + ## The Consumer Shared Resources Model + + - name: Consumer Shares (cdx/v1) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + `ConsumerShare` object respresents the share that you received through Stream Sharing. + + + Related guide: [Consumer Stream Shares in Confluent Cloud](https://docs.confluent.io/cloud/current/stream-sharing/consume-shared-data.html). + + ## The Consumer Shares Model + + - name: Shared Tokens (cdx/v1) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + Encrypted Token shared with consumer + + + ## The Shared Tokens Model + + - name: Opt Ins (cdx/v1) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + Stream sharing opt in options + + ## The Opt Ins Model + + - name: Organizations (partner/v2) + description: | + [![Early Access](https://img.shields.io/badge/Lifecycle%20Stage-Early%20Access-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) [![Request Access To Partner v2](https://img.shields.io/badge/-Request%20Access%20To%20Partner%20v2-%23bc8540)](mailto:ccloud-api-access+partner-v2-early-access@confluent.io?subject=Request%20to%20join%20partner/v2%20API%20Early%20Access&body=I%E2%80%99d%20like%20to%20join%20the%20Confluent%20Cloud%20API%20Early%20Access%20for%20partner/v2%20to%20provide%20early%20feedback%21%20My%20Cloud%20Organization%20ID%20is%20%3Cretrieve%20from%20https%3A//confluent.cloud/settings/billing/payment%3E.) + + `Organizations` objects represent an entire Confluent Cloud organization. + Partners are allowed to get an organization they have signed up or + list all organizations they have signed up. + - name: Signup (partner/v2) + description: | + [![Early Access](https://img.shields.io/badge/Lifecycle%20Stage-Early%20Access-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) [![Request Access To Partner v2](https://img.shields.io/badge/-Request%20Access%20To%20Partner%20v2-%23bc8540)](mailto:ccloud-api-access+partner-v2-early-access@confluent.io?subject=Request%20to%20join%20partner/v2%20API%20Early%20Access&body=I%E2%80%99d%20like%20to%20join%20the%20Confluent%20Cloud%20API%20Early%20Access%20for%20partner/v2%20to%20provide%20early%20feedback%21%20My%20Cloud%20Organization%20ID%20is%20%3Cretrieve%20from%20https%3A//confluent.cloud/settings/billing/payment%3E.) + + `Signup` APIs can only be performed by partners. + - name: Networks (networking/v1) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + `Network` represents a network (VPC) in Confluent Cloud. All Networks exist within Confluent-managed cloud + provider accounts. Dedicated networks support more networking options but can only contain Dedicated clusters. + Shared networks can contain any cluster type. + + The API allows you to list, create, read, update, and delete your networks. + + + Related guide: [APIs to manage networks in Confluent Cloud](https://docs.confluent.io/cloud/current/networking/overview.html). + + ## The Networks Model + + + ## Quotas and Limits + This resource is subject to the [following quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): + + | Quota | Description | + | --- | --- | + | `dedicated_networks_per_environment` | Number of dedicated networks per Confluent Cloud environment | + - name: Peerings (networking/v1) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + Add or remove VPC/VNet peering connections between your VPC/VNet and Confluent Cloud. + + Related guides: + * [Use VPC peering connections with Confluent Cloud on AWS](https://docs.confluent.io/cloud/current/networking/peering/aws-peering.html). + * [Use VNet peering connections with Confluent Cloud on Azure](https://docs.confluent.io/cloud/current/networking/peering/azure-peering.html). + * [Use VPC peering connections with Confluent Cloud on Google Cloud](https://docs.confluent.io/cloud/current/networking/peering/gcp-peering.html). + + + ## The Peerings Model + + + ## Quotas and Limits + This resource is subject to the [following quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): + + | Quota | Description | + | --- | --- | + | `peerings_per_network` | Number of peerings per network | + - name: Transit Gateway Attachments (networking/v1) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + AWS Transit Gateway Attachments + + Related guide: [APIs to manage AWS Transit Gateway Attachments](https://docs.confluent.io/cloud/current/networking/aws-transit-gateway.html). + + ## The Transit Gateway Attachments Model + + + ## Quotas and Limits + This resource is subject to the [following quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): + + | Quota | Description | + | --- | --- | + | `tgw_attachments_per_network` | Number of TGW attachments per network | + - name: Private Link Accesses (networking/v1) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + Add or remove access to PrivateLink endpoints by AWS account, Azure subscription and GCP project ID. + + Related guides: + * [Use Google Cloud Private Service Connect with Confluent Cloud](https://docs.confluent.io/cloud/current/networking/private-links/gcp-private-service-connect.html). + * [Use Azure Private Link with Confluent Cloud](https://docs.confluent.io/cloud/current/networking/private-links/azure-privatelink.html). + * [Use AWS PrivateLink with Confluent Cloud](https://docs.confluent.io/cloud/current/networking/private-links/aws-privatelink.html). + + + ## The Private Link Accesses Model + + + ## Quotas and Limits + This resource is subject to the [following quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): + + | Quota | Description | + | --- | --- | + | `private_link_accounts_per_network` | Number of AWS accounts per network | + | `private_link_subscriptions_per_network` | Number of Azure subscriptions per network | + | `private_service_connect_projects_per_network` | Number of GCP projects per network | + - name: Network Link Services (networking/v1) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + Network Link Service is associated with a Private Link Confluent Cloud Network. + It enables connectivity from other Private Link Confluent Cloud Networks based on + the configured accept policies. + + + Related guide: [Network Linking Overview](https://docs.confluent.io/cloud/current/networking/network-linking.html). + + ## The Network Link Services Model + + + ## Quotas and Limits + This resource is subject to the [following quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): + + | Quota | Description | + | --- | --- | + | `network_link_service_per_network` | Number of network link services per network | + - name: Network Link Endpoints (networking/v1) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + A Network Link Enpoint is associated with a Private Link Confluent Cloud Network at the origin and a + Network Link Service (associated with another Private Link Confluent Cloud Network) at the target. + It enables connectivity between the origin network and the target network. + It can only be associated with a Private Link network. + + + Related guide: [Network Linking Overview](https://docs.confluent.io/cloud/current/networking/network-linking.html). + + ## The Network Link Endpoints Model + + + ## Quotas and Limits + This resource is subject to the [following quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): + + | Quota | Description | + | --- | --- | + | `network_link_endpoints_per_network` | Number of network link endpoints per network | + - name: Network Link Service Associations (networking/v1) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + List of incoming Network Link Enpoints associated with the Network Link Service. + + + Related guide: [Network Linking Overview](https://docs.confluent.io/cloud/current/networking/network-linking.html). + + ## The Network Link Service Associations Model + + - name: Gateways (networking/v1) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + A gateway is a resource that defines network access to Confluent cloud resources. + + + ## The Gateways Model + + - name: IP Addresses (networking/v1) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + IP Addresses + + Related guide: [Use Public Egress IP addresses on Confluent Cloud](https://docs.confluent.io/cloud/current/networking/static-egress-ip-addresses.html) + + ## The IP Addresses Model + + - name: Private Link Attachments (networking/v1) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + PrivateLink attachment objects represent reservations to establish PrivateLink connections + to a cloud region in order to access resources that belong to a Confluent Cloud Environment. + The API allows you to list, create, read update and delete your PrivateLink attachments. + + + ## The Private Link Attachments Model + + + ## Quotas and Limits + This resource is subject to the [following quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): + + | Quota | Description | + | --- | --- | + | `private_link_attachments_per_environment` | Number of PrivateLink Attachments per environment | + - name: Private Link Attachment Connections (networking/v1) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + PrivateLink attachment connection objects represent connections established to a cloud region + in order to access resources that belong to a Confluent Cloud Environment. + The API allows you to list, create, read update and delete your PrivateLink attachment connections. + + + ## The Private Link Attachment Connections Model + + - name: Identity Providers (iam/v2) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + `IdentityProvider` objects represent external OAuth-OIDC providers in Confluent Cloud. + + The API allows you to list, create, read, update, and delete your Identity Provider. + + + Related guide: [OAuth for Confluent Cloud](https://docs.confluent.io/cloud/current/access-management/authenticate/oauth/overview.html). + + ## The Identity Providers Model + + + ## Quotas and Limits + This resource is subject to the [following quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): + + | Quota | Description | + | --- | --- | + | `identity_providers_per_org` | Number of OAuth identity providers per organization | + | `public_keys_per_provider` | Number of public keys saved per identity provider | + - name: Jwks (iam/v2) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + `JWKS` objects represent public key sets for a specific OAuth/OpenID Connect provider within + Confluent Cloud. + + The API allows you to refresh JWKS public key data. + + + Related guide: [OAuth for Confluent Cloud](https://docs.confluent.io/cloud/current/access-management/authenticate/oauth/overview.html). + + ## The Jwks Model + + - name: Identity Pools (iam/v2) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + `IdentityPool` objects represent groups of identities tied to a given a `IdentityProvider` + that authorizes them to Confluent Cloud resources. + + It provides a mapping functionality of your `Identity Provider` user to a Confluent identity pool that + is then used to provide access to Confluent Resources. + + + Related guide: [Use identity pools with your OAuth provider](https://docs.confluent.io/cloud/current/access-management/authenticate/oauth/identity-pools.html). + + ## The Identity Pools Model + + + ## Quotas and Limits + This resource is subject to the [following quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): + + | Quota | Description | + | --- | --- | + | `identity_pools_per_provider` | Number of Identity Pools per Identity Provider | + - name: OAuth Tokens (sts/v1) + description: | + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + OAuth Token is a [JSON Web Token (JWT)](https://www.rfc-editor.org/rfc/rfc7519) that enables the use of + external identities to access Confluent Cloud APIs + - name: Client Quotas (kafka-quotas/v1) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + `ClientQuota` objects represent Client Quotas you can set at the service account level. + + The API allows you to list, create, read, update, and delete your client quotas. + + + Related guide: [Client Quotas in Confluent Cloud](https://docs.confluent.io/cloud/current/clusters/client-quotas.html). + + ## The Client Quotas Model + + - name: Pipelines (sd/v1) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + `Pipeline` objects represent information about a user-defined pipeline of Confluent Cloud components. + The pipeline's content is available separately. + + The API allows you to create, retrieve, update, and delete your pipelines, + as well as list all of your pipelines for the particular environment and Kafka cluster. + + + Related guide: [Pipelines in Confluent Cloud](https://docs.confluent.io/cloud/current/stream-designer/). + + ## The Pipelines Model + + + ## Quotas and Limits + This resource is subject to the [following quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): + + | Quota | Description | + | --- | --- | + | `pipelines_per_org` | Pipelines in one Confluent Cloud organization | + | `pipelines_per_cluster` | Pipelines in one Confluent Cloud Kafka cluster | + - name: Keys (byok/v1) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + `Key` objects represent customer managed keys on dedicated Confluent Cloud clusters. + + Keys are used to protect data at rest stored in your dedicated Confluent Cloud clusters on AWS, Azure, and GCP. + This API allows you to upload and retrieve self-managed keys on Confluent Cloud. + + + Related guide: [Confluent Cloud Bring Your Own Key (BYOK) Management API](https://docs.confluent.io/cloud/current/clusters/byok/index.html). + + ## The Keys Model + + + ## Quotas and Limits + This resource is subject to the [following quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): + + | Quota | Description | + | --- | --- | + | `byok.max_keys.per_org` | BYOK keys in one Confluent Cloud organisation. | + - name: Costs (billing/v1) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + `Cost` objects represent the aggregated billing costs for an organization + + + Related guide: [Retrieve costs for a range of dates](https://docs.confluent.io/cloud/current/billing/overview.html#retrieve-costs-for-a-range-of-dates). + + ## The Costs Model + + - name: Group Mappings (iam/v2/sso) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + `GroupMapping` objects establish relationships between user groups in your SSO + identity provider and specific RBAC roles in Confluent Cloud. + + Group mappings enable automated and secure access control to Confluent Cloud resources, + reducing administrative workload by streamlining user provisioning and authorization. + + + Related guide: [Use group mappings with your SSO identity provider](https://docs.confluent.io/cloud/current/access-management/authenticate/sso/group-mapping/overview.html). + + ## The Group Mappings Model + + + ## Quotas and Limits + This resource is subject to the [following quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): + + | Quota | Description | + | --- | --- | + | `group_mappings_per_org` | Number of group mappings per organization | + - name: Compute Pools (fcpm/v2) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + A Compute Pool represents a set of compute resources that is used to run your Queries. + The resources (CPUs, memory,…) provided by a Compute Pool are shared between all Queries that use it. + + + ## The Compute Pools Model + + - name: Regions (fcpm/v2) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + `Region` objects represent cloud provider regions available when placing Flink compute pools. + The API allows you to list Flink regions. + + + ## The Regions Model + + - name: Statements (sql/v1) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + `Statement` represents a core resource used to model SQL statements for execution. + A statement generalizes DDL, DML, DQL, etc., but doesn’t attempt to handle session + management or any higher-level functionality. + The API allows you to list, create, read, and delete your statements. + ## The Statements Model + + - name: Statement Results (sql/v1) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + `StatementResult` represents a result of a `Statement` resource. + The API allows you to read your statement's results. + ## The Statement Results Model + + - name: Statement Exceptions (sql/v1) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + `StatementException` represents an exception of a `Statement` resource. + The API allows you to read your statement's exceptions. + ## The Statement Exceptions Model + + - name: Connections (sql/v1) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + `Connection` represents a core resource used to model SQL connections for execution. + A connection generalizes DDL, DML, DQL, etc., but doesn’t attempt to handle session + management or any higher-level functionality. + The API allows you to list, create, read, and delete your connections. + ## The Connections Model + + - name: DNS Forwarders (networking/v1) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + Add, remove, and update DNS forwarder for your gateway. + + Related guides: + * [Use VPC peering connections with Confluent Cloud on AWS](https://docs.confluent.io/cloud/current/networking/peering/aws-peering.html). + * [Use VNet peering connections with Confluent Cloud on Azure](https://docs.confluent.io/cloud/current/networking/peering/azure-peering.html). + + + ## The DNS Forwarders Model + + - name: Access Points (networking/v1) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + AccessPoint objects represent network connections in and out of Gateways. + This API allows you to list, create, read, update, and delete your access points. + + + ## The Access Points Model + + - name: DNS Records (networking/v1) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + DNS record objects are associated with Confluent Cloud networking resources. This API allows you to list, create, read, update, and delete your DNS records. + + ## The DNS Records Model + + - name: Certificate Authorities (iam/v2) + description: |- + [![Limited Availability](https://img.shields.io/badge/Lifecycle%20Stage-Limited%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + `CertificateAuthority` objects represent signing certificate authorities in Confluent Cloud. + + The API allows you to list, create, read, update, and delete your Certificate Authority. + + + Related guide: [Manage certificate authorities used for client authentication with X.509 certificates.](https://docs.confluent.io/cloud/current/access-management/authenticate/mtls/overview.html). + + ## The Certificate Authorities Model + + + ## Quotas and Limits + This resource is subject to the [following quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): + + | Quota | Description | + | --- | --- | + | `certificate_authorities_per_org` | Number of certificate authorities per organization | + - name: Certificate Identity Pools (iam/v2) + description: |- + [![Limited Availability](https://img.shields.io/badge/Lifecycle%20Stage-Limited%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + `Identitypool` objects represent workload identities in Confluent Cloud. + + The API allows you to list, create, read, update, and delete your identity pools associated + with Certificate Authorities + + + Related guide: [Manage Certificate Identity Pools for Granular Client Access Management](https://docs.confluent.io/cloud/current/access-management/authenticate/mtls/configure.html#step-2-create-certificate-identity-pools-for-granular-access-control). + + ## The Certificate Identity Pools Model + + + ## Quotas and Limits + This resource is subject to the [following quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): + + | Quota | Description | + | --- | --- | + | `identity_pools_per_certificate_authority` | Number of Identity Pools per Certificate Authority | + - name: Integrations (pim/v1) + description: |- + [![Early Access](https://img.shields.io/badge/Lifecycle%20Stage-Early%20Access-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) [![Request Access To Provider Integration](https://img.shields.io/badge/-Request%20Access%20To%20Provider%20Integration-%23bc8540)](mailto:ccloud-api-access+pim-v1-early-access@confluent.io?subject=Request%20to%20join%20pim/v1%20API%20Early%20Access&body=I%E2%80%99d%20like%20to%20join%20the%20Confluent%20Cloud%20API%20Early%20Access%20for%20pim/v1%20to%20provide%20early%20feedback%21%20My%20Cloud%20Organization%20ID%20is%20%3Cretrieve%20from%20https%3A//confluent.cloud/settings/billing/payment%3E.) + + `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, and delete individual integrations, and also obtain a + list of all your provider integrations. + + + Related guide: [Provider Integration in Confluent Cloud](https://docs.confluent.io/home/overview.html). + + ## The Integrations Model + + - name: Flink Artifacts (artifact/v1) + description: |- + [![Early Access](https://img.shields.io/badge/Lifecycle%20Stage-Early%20Access-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) [![Request Access To Flink Artifact API EA](https://img.shields.io/badge/-Request%20Access%20To%20Flink%20Artifact%20API%20EA-%23bc8540)](mailto:ccloud-api-access+artifact-v1-early-access@confluent.io?subject=Request%20to%20join%20artifact/v1%20API%20Early%20Access&body=I%E2%80%99d%20like%20to%20join%20the%20Confluent%20Cloud%20API%20Early%20Access%20for%20artifact/v1%20to%20provide%20early%20feedback%21%20My%20Cloud%20Organization%20ID%20is%20%3Cretrieve%20from%20https%3A//confluent.cloud/settings/billing/payment%3E.) + + FlinkArtifact objects represent Flink Artifacts on Confluent Cloud. + + + ## The Flink Artifacts Model + + - name: Presigned Urls (artifact/v1) + description: |- + [![Early Access](https://img.shields.io/badge/Lifecycle%20Stage-Early%20Access-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) [![Request Access To Flink Artifact API EA](https://img.shields.io/badge/-Request%20Access%20To%20Flink%20Artifact%20API%20EA-%23bc8540)](mailto:ccloud-api-access+artifact-v1-early-access@confluent.io?subject=Request%20to%20join%20artifact/v1%20API%20Early%20Access&body=I%E2%80%99d%20like%20to%20join%20the%20Confluent%20Cloud%20API%20Early%20Access%20for%20artifact/v1%20to%20provide%20early%20feedback%21%20My%20Cloud%20Organization%20ID%20is%20%3Cretrieve%20from%20https%3A//confluent.cloud/settings/billing/payment%3E.) + + Request a presigned upload URL for new Flink Artifact. Note that + the URL policy expires in one hour. If the policy expires, you can request + a new presigned upload URL. + + + ## The Presigned Urls Model + + - name: Flink Artifact Versions (artifact/v1) + description: |- + [![Early Access](https://img.shields.io/badge/Lifecycle%20Stage-Early%20Access-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) [![Request Access To Flink Artifact API EA](https://img.shields.io/badge/-Request%20Access%20To%20Flink%20Artifact%20API%20EA-%23bc8540)](mailto:ccloud-api-access+artifact-v1-early-access@confluent.io?subject=Request%20to%20join%20artifact/v1%20API%20Early%20Access&body=I%E2%80%99d%20like%20to%20join%20the%20Confluent%20Cloud%20API%20Early%20Access%20for%20artifact/v1%20to%20provide%20early%20feedback%21%20My%20Cloud%20Organization%20ID%20is%20%3Cretrieve%20from%20https%3A//confluent.cloud/settings/billing/payment%3E.) + + FlinkArtifactVersion objects represent Flink Artifact Versions on Confluent Cloud. + + + ## The Flink Artifact Versions Model + +components: + schemas: + org.v2.EnvironmentList: + type: object + description: |- + `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](https://docs.confluent.io/cloud/current/access-management/environments.html). + + ## The Environments Model + + + ## Quotas and Limits + This resource is subject to the [following quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): + + | Quota | Description | + | --- | --- | + | `environments_per_org` | Environments in one Confluent Cloud organization | + required: + - api_version + - kind + - metadata + - data + properties: + api_version: + type: string + enum: + - org/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: + - EnvironmentList + metadata: + allOf: + - $ref: '#/components/schemas/ListMeta' + - properties: + first: + example: 'https://api.confluent.cloud/org/v2/environments' + last: + example: 'https://api.confluent.cloud/org/v2/environments?page_token=bcAOehAY8F16YD84Z1wT' + prev: + example: 'https://api.confluent.cloud/org/v2/environments?page_token=YIXRY97wWYmwzrax4dld' + next: + example: 'https://api.confluent.cloud/org/v2/environments?page_token=UvmDWOB1iwfAIBPj6EYb' + data: + type: array + description: A data property that contains an array of resource items. Each entry in the array is a separate resource. + items: + allOf: + - $ref: '#/components/schemas/org.v2.Environment' + - type: object + required: + - id + - metadata + - display_name + uniqueItems: true + ListMeta: + type: object + description: ListMeta describes metadata that resource collections may have + properties: + first: + description: 'A link to the first page of results. If a response does not contain a first link, then direct navigation to the first page is not supported.' + type: string + 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 + org.v2.Environment: + type: object + description: |- + `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](https://docs.confluent.io/cloud/current/access-management/environments.html). + + ## The Environments Model + + + ## Quotas and Limits + This resource is subject to the [following quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): + + | Quota | Description | + | --- | --- | + | `environments_per_org` | Environments in one Confluent Cloud organization | + properties: + api_version: + type: string + enum: + - org/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: + - Environment + 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 + metadata: + allOf: + - $ref: '#/components/schemas/ObjectMeta' + - properties: + self: + example: 'https://api.confluent.cloud/org/v2/environments/e-12345' + resource_name: + example: 'crn://confluent.cloud/organization=9bb441c4-edef-46ac-8a41-c49e44a3fd9a/environment=e-12345' + display_name: + type: string + example: prod-finance01 + description: A human-readable name for the Environment + stream_governance_config: + type: object + description: Stream Governance configurations for the environment + allOf: + - $ref: '#/components/schemas/org.v2.StreamGovernanceConfig' + AclOperation: + type: string + x-extensible-enum: + - UNKNOWN + - ANY + - ALL + - READ + - WRITE + - CREATE + - DELETE + - ALTER + - DESCRIBE + - CLUSTER_ACTION + - DESCRIBE_CONFIGS + - ALTER_CONFIGS + - IDEMPOTENT_WRITE + AclPatternType: + type: string + x-extensible-enum: + - UNKNOWN + - ANY + - MATCH + - LITERAL + - PREFIXED + AclPermission: + type: string + x-extensible-enum: + - UNKNOWN + - ANY + - DENY + - ALLOW + AclResourceType: + type: string + enum: + - UNKNOWN + - ANY + - TOPIC + - GROUP + - CLUSTER + - TRANSACTIONAL_ID + - DELEGATION_TOKEN + BrokerTaskType: + type: string + enum: + - add-broker + - remove-broker + MirrorTopicStatus: + enum: + - ACTIVE + - FAILED + - LINK_FAILED + - LINK_PAUSED + - PAUSED + - PENDING_STOPPED + - SOURCE_UNAVAILABLE + - STOPPED + - PENDING_MIRROR + - PENDING_SYNCHRONIZE + - PENDING_SETUP_FOR_RESTORE + - PENDING_RESTORE + type: string + Failure: + type: object + description: Provides information about problems encountered while performing an operation. + required: + - errors + properties: + errors: + description: List of errors which caused this operation to fail + type: array + items: + $ref: '#/components/schemas/Error' + uniqueItems: true + AlterConfigBatchRequestData: + type: object + required: + - data + properties: + data: + type: array + items: + type: object + required: + - name + properties: + name: + type: string + value: + type: string + nullable: true + operation: + type: string + x-extensible-enum: + - SET + - DELETE + nullable: true + validate_only: + type: boolean + CreateAclRequestData: + type: object + required: + - resource_type + - resource_name + - pattern_type + - principal + - host + - operation + - permission + properties: + resource_type: + $ref: '#/components/schemas/AclResourceType' + resource_name: + type: string + pattern_type: + $ref: '#/components/schemas/AclPatternType' + principal: + type: string + host: + type: string + operation: + $ref: '#/components/schemas/AclOperation' + permission: + $ref: '#/components/schemas/AclPermission' + CreateAclRequestDataList: + allOf: + - type: object + required: + - data + properties: + data: + type: array + items: + $ref: '#/components/schemas/CreateAclRequestData' + CreateTopicRequestData: + type: object + required: + - topic_name + properties: + topic_name: + type: string + partitions_count: + type: integer + replication_factor: + type: integer + configs: + type: array + items: + type: object + required: + - name + properties: + name: + type: string + value: + type: string + nullable: true + validate_only: + type: boolean + ProduceRequest: + type: object + properties: + partition_id: + type: integer + nullable: true + format: int32 + headers: + type: array + items: + $ref: '#/components/schemas/ProduceRequestHeader' + key: + $ref: '#/components/schemas/ProduceRequestData' + value: + $ref: '#/components/schemas/ProduceRequestData' + timestamp: + type: string + format: date-time + nullable: true + UpdateConfigRequestData: + type: object + properties: + value: + type: string + nullable: true + CreateLinkRequestData: + properties: + source_cluster_id: + type: string + destination_cluster_id: + type: string + remote_cluster_id: + description: The expected remote cluster ID. + type: string + cluster_link_id: + description: 'The expected cluster link ID. Can be provided when creating the second side of a bidirectional link for validating the link ID is as expected. If it''s not provided, it''s inferred from the remote cluster.' + type: string + configs: + items: + $ref: '#/components/schemas/ConfigData' + type: array + type: object + UpdateLinkConfigRequestData: + properties: + value: + type: string + required: + - value + type: object + CreateMirrorTopicRequestData: + properties: + source_topic_name: + type: string + mirror_topic_name: + type: string + replication_factor: + type: integer + configs: + type: array + items: + $ref: '#/components/schemas/ConfigData' + required: + - source_topic_name + type: object + AlterMirrorsRequestData: + properties: + mirror_topic_names: + description: The mirror topics specified as a list of topic names. + type: array + items: + type: string + mirror_topic_name_pattern: + description: The mirror topics specified as a pattern. + type: string + type: object + RemoveBrokersRequestData: + properties: + broker_ids: + type: array + items: + type: integer + required: + - broker_ids + type: object + BrokerReplicaExclusionBatchRequestData: + type: object + required: + - data + properties: + data: + type: array + items: + $ref: '#/components/schemas/BrokerReplicaExclusionRequestData' + ObjectMeta: + description: 'ObjectMeta is metadata that all persisted resources must have, which includes all objects users must create.' + required: + - self + properties: + self: + description: 'Self is a Uniform Resource Locator (URL) at which an object can be addressed. This URL encodes the service location, API version, and other particulars necessary to locate the resource at a point in time' + type: string + format: uri + readOnly: true + example: 'https://api.confluent.cloud/v2/kafka-clusters/lkc-f3a90de' + resource_name: + description: Resource Name is a Uniform Resource Identifier (URI) that is globally unique across space and time. It is represented as a Confluent Resource Name + type: string + format: uri + readOnly: true + example: 'crn://confluent.cloud/kafka=lkc-f3a90de' + created_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: The date and time at which this object was created. It is represented in RFC3339 format and is in UTC. + updated_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: The date and time at which this object was last updated. It is represented in RFC3339 format and is in UTC. + deleted_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: The date and time at which this object was (or will be) deleted. It is represented in RFC3339 format and is in UTC. + readOnly: true + org.v2.StreamGovernanceConfig: + description: | + Configurations pertaining to Stream Governance + type: object + properties: + package: + type: string + x-extensible-enum: + - ESSENTIALS + - ADVANCED + description: | + Stream Governance Package. Supported values are ESSENTIALS and ADVANCED. + Package comparison can be found + [here](https://docs.confluent.io/cloud/current/stream-governance/packages.html#features-by-package-type). + required: + - package + Error: + type: object + description: Describes a particular error encountered while performing an operation. + properties: + id: + description: A unique identifier for this particular occurrence of the problem. + type: string + maxLength: 255 + status: + description: 'The HTTP status code applicable to this problem, expressed as a string value.' + type: string + code: + description: 'An application-specific error code, expressed as a string value.' + type: string + title: + description: 'A short, human-readable summary of the problem. It **SHOULD NOT** change from occurrence to occurrence of the problem, except for purposes of localization.' + type: string + detail: + description: A human-readable explanation specific to this occurrence of the problem. + type: string + source: + type: object + description: 'If this error was caused by a particular part of the API request, the source will point to the query string parameter or request body property that caused it.' + properties: + pointer: + description: 'A JSON Pointer [RFC6901] to the associated entity in the request document [e.g. "/spec" for a spec object, or "/spec/title" for a specific field].' + type: string + parameter: + description: A string indicating which query parameter caused the error. + type: string + error_code: + type: integer + format: int32 + message: + type: string + nullable: true + additionalProperties: false + ProduceRequestHeader: + type: object + required: + - name + properties: + name: + type: string + value: + type: string + format: byte + nullable: true + ProduceRequestData: + type: object + properties: + type: + type: string + x-extensible-enum: + - BINARY + - JSON + - STRING + data: + $ref: '#/components/schemas/AnyValue' + nullable: true + ConfigData: + example: + name: name + value: value + properties: + name: + type: string + value: + nullable: true + type: string + required: + - name + - value + BrokerReplicaExclusionRequestData: + type: object + required: + - broker_id + - reason + properties: + broker_id: + type: integer + reason: + type: string + AnyValue: + nullable: true + org.v2.OrganizationList: + type: object + description: |- + `Organization` objects represent a customer organization. An organization contains all customer + resources (e.g., Environments, Kafka Clusters, Service Accounts, API Keys) and is tied to a billing + agreement (including any annual commitment or support plan). + + The API allows you to list, view, and update your organizations. + + + Related guide: [Organizations for Confluent Cloud](https://docs.confluent.io/cloud/current/access-management/hierarchy/organizations/cloud-organization.html). + + ## The Organizations Model + + + ## Quotas and Limits + This resource is subject to the [following quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): + + | Quota | Description | + | --- | --- | + | `organizations_per_user` | Confluent Cloud organizations a user belongs to | + required: + - api_version + - kind + - metadata + - data + properties: + api_version: + type: string + enum: + - org/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: + - OrganizationList + metadata: + allOf: + - $ref: '#/components/schemas/ListMeta' + - properties: + first: + example: 'https://api.confluent.cloud/org/v2/organizations' + last: + example: 'https://api.confluent.cloud/org/v2/organizations?page_token=bcAOehAY8F16YD84Z1wT' + prev: + example: 'https://api.confluent.cloud/org/v2/organizations?page_token=YIXRY97wWYmwzrax4dld' + next: + example: 'https://api.confluent.cloud/org/v2/organizations?page_token=UvmDWOB1iwfAIBPj6EYb' + data: + type: array + description: A data property that contains an array of resource items. Each entry in the array is a separate resource. + items: + allOf: + - $ref: '#/components/schemas/org.v2.Organization' + - type: object + required: + - id + - metadata + uniqueItems: true + org.v2.Organization: + type: object + description: |- + `Organization` objects represent a customer organization. An organization contains all customer + resources (e.g., Environments, Kafka Clusters, Service Accounts, API Keys) and is tied to a billing + agreement (including any annual commitment or support plan). + + The API allows you to list, view, and update your organizations. + + + Related guide: [Organizations for Confluent Cloud](https://docs.confluent.io/cloud/current/access-management/hierarchy/organizations/cloud-organization.html). + + ## The Organizations Model + + + ## Quotas and Limits + This resource is subject to the [following quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): + + | Quota | Description | + | --- | --- | + | `organizations_per_user` | Confluent Cloud organizations a user belongs to | + properties: + api_version: + type: string + enum: + - org/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: + - Organization + 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 + metadata: + allOf: + - $ref: '#/components/schemas/ObjectMeta' + - properties: + self: + example: 'https://api.confluent.cloud/org/v2/organizations/o-12345' + resource_name: + example: 'crn://confluent.cloud/organization=o-12345' + display_name: + type: string + example: Finance Org + pattern: '^[^<>#%''*^`{|}~\"]{1,31}$' + description: A human-readable name for the Organization + jit_enabled: + type: boolean + description: The flag to toggle Just-In-Time user provisioning for SSO-enabled organization. Available for early access only. + parameters: + AclHost: + name: host + description: The ACL host. + in: query + required: false + schema: + type: string + AclOperation: + name: operation + description: The ACL operation. + in: query + required: false + schema: + $ref: '#/components/schemas/AclOperation' + AclOperationRequired: + name: operation + description: The ACL operation. + in: query + required: true + schema: + $ref: '#/components/schemas/AclOperation' + AclPatternType: + name: pattern_type + description: The ACL pattern type. + in: query + required: false + schema: + $ref: '#/components/schemas/AclPatternType' + AclPatternTypeRequired: + name: pattern_type + description: The ACL pattern type. + in: query + required: true + schema: + $ref: '#/components/schemas/AclPatternType' + AclPermission: + name: permission + description: The ACL permission. + in: query + required: false + schema: + $ref: '#/components/schemas/AclPermission' + AclPermissionRequired: + name: permission + description: The ACL permission. + in: query + required: true + schema: + $ref: '#/components/schemas/AclPermission' + AclPrincipal: + name: principal + description: The ACL principal. This is the Service Account name or user name. + in: query + required: false + schema: + type: string + AclResourceName: + name: resource_name + description: The ACL resource name. + in: query + required: false + schema: + type: string + AclResourceType: + name: resource_type + description: The ACL resource type. + in: query + required: false + schema: + $ref: '#/components/schemas/AclResourceType' + AclResourceTypeRequired: + name: resource_type + description: The ACL resource type. + in: query + required: true + schema: + $ref: '#/components/schemas/AclResourceType' + BrokerId: + name: broker_id + description: The Kafka broker ID. + in: path + required: true + schema: + type: integer + example: 1 + ClusterId: + name: cluster_id + description: The Kafka cluster ID. + in: path + required: true + schema: + type: string + example: cluster-1 + ConfigName: + name: name + description: The configuration parameter name. + in: path + required: true + schema: + type: string + example: compression.type + ConsumerGroupId: + name: consumer_group_id + description: The consumer group ID. + in: path + required: true + schema: + type: string + example: consumer-group-1 + ConsumerId: + name: consumer_id + description: The consumer ID. + in: path + required: true + schema: + type: string + example: consumer-1 + IncludeAuthorizedOperations: + name: include_authorized_operations + description: Specify if authorized operations should be included in the response. + in: query + required: false + schema: + type: boolean + PartitionId: + name: partition_id + description: The partition ID. + in: path + required: true + schema: + type: integer + example: 0 + TopicName: + name: topic_name + description: The topic name. + in: path + required: true + schema: + type: string + example: topic-1 + BrokerTaskType: + name: task_type + description: The Kafka broker task type. + in: path + required: true + schema: + $ref: '#/components/schemas/BrokerTaskType' + example: remove-broker + ShouldShutdown: + name: should_shutdown + description: 'To shutdown the broker or not, Default: true' + in: query + required: false + schema: + type: boolean + example: true + ValidateOnly: + name: validate_only + description: 'To validate the action can be performed successfully or not. Default: false' + in: query + required: false + schema: + type: boolean + example: false + ValidateLink: + name: validate_link + description: 'To synchronously validate that the source cluster ID is expected and the dest cluster has the permission to read topics in the source cluster. Default: true' + in: query + required: false + schema: + type: boolean + example: false + IncludeTasks: + name: include_tasks + description: 'Whether to include cluster linking tasks in the response. Default: false' + in: query + required: false + schema: + type: boolean + example: false + IncludeStateTransitionErrors: + name: include_state_transition_errors + description: 'Whether to include mirror state transition errors in the response. Default: false' + in: query + required: false + schema: + type: boolean + example: false + Force: + name: force + description: 'Force the action. Default: false' + in: query + required: false + schema: + type: boolean + example: false + IncludePartitionLevelTruncationData: + name: include_partition_level_truncation_data + description: 'Whether to include partition level truncation information when truncating and restoring a topic in the response. Default: false' + in: query + required: false + schema: + type: boolean + example: false + LinkName: + name: link_name + description: The link name + in: path + required: true + schema: + type: string + example: link-sb1 + LinkConfigName: + name: config_name + description: The link config name + in: path + required: true + schema: + type: string + example: consumer.offset.sync.enable + MirrorTopicStatus: + name: mirror_status + description: 'The status of the mirror topic. If not specified, all mirror topics will be returned.' + in: query + required: false + schema: + $ref: '#/components/schemas/MirrorTopicStatus' + example: ACTIVE + MirrorTopicName: + name: mirror_topic_name + description: Cluster Linking mirror topic name + in: path + required: true + schema: + type: string + example: topic-1 + QueryParamLinkName: + name: link_name + description: The link name + in: query + required: true + schema: + type: string + example: link-sb1 + responses: + BadRequestError: + description: Bad Request + headers: + X-Request-Id: + schema: + type: string + description: The unique identifier for the API request. + content: + application/json: + schema: + $ref: '#/components/schemas/Failure' + example: + errors: + - id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d + status: '400' + code: invalid_filter + title: Invalid Filter + detail: The 'delorean' resource can't be filtered by 'num_doors' + source: + parameter: num_doors + UnauthenticatedError: + x-summary: Unauthorized + description: The request lacks valid authentication credentials for this resource. + headers: + X-Request-Id: + schema: + type: string + description: The unique identifier for the API request. + WWW-Authenticate: + schema: + type: string + description: The unique identifier for the API request. + example: 'Basic error="invalid_key", error_description="The API Key is invalid"' + content: + application/json: + schema: + $ref: '#/components/schemas/Failure' + example: + errors: + - id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d + status: '401' + code: user_unauthenticated + title: Authentication Required + detail: Valid authentication credentials must be provided + UnauthorizedError: + x-summary: Forbidden + description: The access credentials were considered insufficient to grant access + headers: + X-Request-Id: + schema: + type: string + description: The unique identifier for the API request. + content: + application/json: + schema: + $ref: '#/components/schemas/Failure' + example: + errors: + - id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d + status: '403' + code: user_unauthorized + title: User Access Unauthorized + detail: The user 'mcfly' is not allowed to access the 'delorean' resource without the 'plutonium' role. + RateLimitError: + description: Rate Limit Exceeded + headers: + X-Request-Id: + schema: + type: string + description: The unique identifier for the API request. + X-RateLimit-Limit: + schema: + type: integer + description: The maximum number of requests you're permitted to make per time period. + X-RateLimit-Remaining: + schema: + type: integer + description: The number of requests remaining in the current rate limit window. + X-RateLimit-Reset: + schema: + type: integer + description: |- + The relative time in seconds until the current rate-limit window resets. + + **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. + DefaultSystemError: + description: 'Oops, something went wrong!' + headers: + X-Request-Id: + schema: + type: string + description: The unique identifier for the API request. + content: + application/json: + schema: + $ref: '#/components/schemas/Failure' + example: + errors: + - id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d + status: '500' + code: out_of_gas + title: DeLorean Out Of Gas + detail: 'The DeLorean has run out of gas, but Doc Brown will fill ''er up for you asap' + OverQuotaError: + x-summary: Over Quota + description: The request would exceed one or more quotas. + headers: + X-Request-Id: + schema: + type: string + description: The unique identifier for the API request. + content: + application/json: + schema: + $ref: '#/components/schemas/Failure' + example: + errors: + - id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d + status: '402' + code: quota_exceeded + title: Kafka Clusters Per Org Quota Exceeded + detail: 'The request would exceed the quota: kafka_clusters_per_environment' + ConflictError: + x-summary: Conflict + description: The request is in conflict with the current server state + headers: + X-Request-Id: + schema: + type: string + description: The unique identifier for the API request. + Location: + schema: + type: string + format: uri + example: 'https://api.confluent.cloud/{object}/{id}' + description: Resource URI of conflicting resource + content: + application/json: + schema: + $ref: '#/components/schemas/Failure' + example: + errors: + - id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d + status: '409' + code: resource_already_exists + title: Resource Already exists + detail: The entitlement '91e3e86f-fca6-4f14-98f5-a48e64113ce2' already exists. + ValidationError: + description: Validation Failed + headers: + X-Request-Id: + schema: + type: string + description: The unique identifier for the API request. + content: + application/json: + schema: + $ref: '#/components/schemas/Failure' + example: + errors: + - status: '422' + code: invalid_configuration + id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d + title: Validation Failed + detail: 'The property ''/cluster/storage_size'' of type string did not match the following type: integer' + source: + pointer: /cluster/storage_size + - status: '422' + code: invalid_configuration + id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d + title: Validation Failed + detail: 'The property ''/cluster/storage_size'' of type string did not match the following type: integer' + source: + pointer: /cluster/storage_size + - status: '422' + code: invalid_configuration + id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d + title: Validation Failed + detail: 'The property ''/cluster/storage_size'' of type string did not match the following type: integer' + source: + pointer: /cluster/storage_size + - status: '422' + code: invalid_configuration + id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d + title: Validation Failed + detail: 'The property ''/cluster/storage_size'' of type string did not match the following type: integer' + source: + pointer: /cluster/storage_size + - status: '422' + code: invalid_configuration + id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d + title: Validation Failed + detail: 'The property ''/cluster/storage_size'' of type string did not match the following type: integer' + source: + pointer: /cluster/storage_size + - status: '422' + code: invalid_configuration + id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d + title: Validation Failed + detail: 'The property ''/cluster/storage_size'' of type string did not match the following type: integer' + source: + pointer: /cluster/storage_size + - status: '422' + code: invalid_configuration + id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d + title: Validation Failed + detail: 'The property ''/cluster/storage_size'' of type string did not match the following type: integer' + source: + pointer: /cluster/storage_size + - status: '422' + code: invalid_configuration + id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d + title: Validation Failed + detail: 'The property ''/cluster/storage_size'' of type string did not match the following type: integer' + source: + pointer: /cluster/storage_size + - status: '422' + code: invalid_configuration + id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d + title: Validation Failed + detail: 'The property ''/cluster/storage_size'' of type string did not match the following type: integer' + source: + pointer: /cluster/storage_size + - status: '422' + code: invalid_configuration + id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d + title: Validation Failed + detail: 'The property ''/cluster/storage_size'' of type string did not match the following type: integer' + source: + pointer: /cluster/storage_size + - status: '422' + code: invalid_configuration + id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d + title: Validation Failed + detail: 'The property ''/cluster/storage_size'' of type string did not match the following type: integer' + source: + pointer: /cluster/storage_size + - status: '422' + code: invalid_configuration + id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d + title: Validation Failed + detail: 'The property ''/cluster/storage_size'' of type string did not match the following type: integer' + source: + pointer: /cluster/storage_size + - status: '422' + code: invalid_configuration + id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d + title: Validation Failed + detail: 'The property ''/cluster/storage_size'' of type string did not match the following type: integer' + source: + pointer: /cluster/storage_size + - status: '422' + code: invalid_configuration + id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d + title: Validation Failed + detail: 'The property ''/cluster/storage_size'' of type string did not match the following type: integer' + source: + pointer: /cluster/storage_size + - status: '422' + code: invalid_configuration + id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d + title: Validation Failed + detail: 'The property ''/cluster/storage_size'' of type string did not match the following type: integer' + source: + pointer: /cluster/storage_size + - status: '422' + code: invalid_configuration + id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d + title: Validation Failed + detail: 'The property ''/cluster/storage_size'' of type string did not match the following type: integer' + source: + pointer: /cluster/storage_size + - status: '422' + code: invalid_configuration + id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d + title: Validation Failed + detail: 'The property ''/cluster/storage_size'' of type string did not match the following type: integer' + source: + pointer: /cluster/storage_size + - status: '422' + code: invalid_configuration + id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d + title: Validation Failed + detail: 'The property ''/cluster/storage_size'' of type string did not match the following type: integer' + source: + pointer: /cluster/storage_size + - status: '422' + code: invalid_configuration + id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d + title: Validation Failed + detail: 'The property ''/cluster/storage_size'' of type string did not match the following type: integer' + source: + pointer: /cluster/storage_size + - status: '422' + code: invalid_configuration + id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d + title: Validation Failed + detail: 'The property ''/cluster/storage_size'' of type string did not match the following type: integer' + source: + pointer: /cluster/storage_size + - status: '422' + code: invalid_configuration + id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d + title: Validation Failed + detail: 'The property ''/cluster/storage_size'' of type string did not match the following type: integer' + source: + pointer: /cluster/storage_size + - status: '422' + code: invalid_configuration + id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d + title: Validation Failed + detail: 'The property ''/cluster/storage_size'' of type string did not match the following type: integer' + source: + pointer: /cluster/storage_size + - status: '422' + code: invalid_configuration + id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d + title: Validation Failed + detail: 'The property ''/cluster/storage_size'' of type string did not match the following type: integer' + source: + pointer: /cluster/storage_size + - status: '422' + code: invalid_configuration + id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d + title: Validation Failed + detail: 'The property ''/cluster/storage_size'' of type string did not match the following type: integer' + source: + pointer: /cluster/storage_size + - status: '422' + code: invalid_configuration + id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d + title: Validation Failed + detail: 'The property ''/cluster/storage_size'' of type string did not match the following type: integer' + source: + pointer: /cluster/storage_size + - status: '422' + code: invalid_configuration + id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d + title: Validation Failed + detail: 'The property ''/cluster/storage_size'' of type string did not match the following type: integer' + source: + pointer: /cluster/storage_size + - status: '422' + code: invalid_configuration + id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d + title: Validation Failed + detail: 'The property ''/cluster/storage_size'' of type string did not match the following type: integer' + source: + pointer: /cluster/storage_size + - status: '422' + code: invalid_configuration + id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d + title: Validation Failed + detail: 'The property ''/cluster/storage_size'' of type string did not match the following type: integer' + source: + pointer: /cluster/storage_size + - status: '422' + code: invalid_configuration + id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d + title: Validation Failed + detail: 'The property ''/cluster/storage_size'' of type string did not match the following type: integer' + source: + pointer: /cluster/storage_size + - status: '422' + code: invalid_configuration + id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d + title: Validation Failed + detail: 'The property ''/cluster/storage_size'' of type string did not match the following type: integer' + source: + pointer: /cluster/storage_size + NotFoundError: + description: Not Found + headers: + X-Request-Id: + schema: + type: string + description: The unique identifier for the API request. + content: + application/json: + schema: + $ref: '#/components/schemas/Failure' + example: + errors: + - id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d + status: '404' + title: Not Found + securitySchemes: + cloud-api-key: + type: http + scheme: basic + description: Authenticate with Cloud API Keys using HTTP Basic Auth. Treat the Cloud API Key ID as the username and Cloud API Key Secret as the password. + confluent-sts-access-token: + type: oauth2 + description: Authenticate with Confluent API using this credentials (JSON Web Tokens) following OAuth 2.0. + flows: + clientCredentials: + tokenUrl: 'https://api.confluent.cloud/sts/v1/oauth2/token' + scopes: {} + api-key: + type: http + scheme: basic + description: Authenticate with API Keys using HTTP Basic Auth. Treat the API Key ID as the username and API Key Secret as the password. + resource-api-key: + type: http + scheme: basic + description: | + Authenticate with resource-specific API Keys using HTTP Basic Auth. Treat the resource-specific API Key ID + as the username and resource-specific API Key Secret as the password. + external-access-token: + type: oauth2 + description: Authenticate with OAuth 2.0. + flows: + clientCredentials: + tokenUrl: 'https:///token' + scopes: {} + oauth: + type: oauth2 + description: Authenticate with OAuth 2.0. Currently this is only supported for partner APIs. + flows: + clientCredentials: + tokenUrl: /oauth2/token + scopes: + 'partner:alter': enables partners to alter entitlements + 'partner:create': enables partners to create entitlements and signup on behalf of customers + 'partner:delete': enables partners to delete entitlements and organizations + 'partner:describe': enables partners to read and list entitlements and organizations + requestBodies: + AlterBrokerConfigBatchRequest: + description: The alter broker configuration parameter batch request. + content: + application/json: + schema: + $ref: '#/components/schemas/AlterConfigBatchRequestData' + example: + data: + - name: max.connections + operation: DELETE + - name: compression.type + value: gzip + AlterClusterConfigBatchRequest: + description: The alter cluster configuration parameter batch request. + content: + application/json: + schema: + $ref: '#/components/schemas/AlterConfigBatchRequestData' + example: + data: + - name: max.connections + operation: DELETE + - name: compression.type + value: gzip + AlterTopicConfigBatchRequest: + description: The alter topic configuration parameter batch request. + content: + application/json: + schema: + $ref: '#/components/schemas/AlterConfigBatchRequestData' + examples: + batch_alter_topic_configs: + value: + data: + - name: cleanup.policy + operation: DELETE + - name: compression.type + value: gzip + validate_only_batch_alter_topic_configs: + value: + data: + - name: cleanup.policy + operation: DELETE + - name: compression.type + value: gzip + validate_only: true + CreateAclRequest: + description: The ACL creation request. + content: + application/json: + schema: + $ref: '#/components/schemas/CreateAclRequestData' + example: + resource_type: CLUSTER + resource_name: kafka-cluster + pattern_type: LITERAL + principal: 'principalType:principalName' + host: '*' + operation: DESCRIBE + permission: DENY + BatchCreateAclRequest: + description: The batch ACL creation request. + content: + application/json: + schema: + $ref: '#/components/schemas/CreateAclRequestDataList' + example: + data: + - resource_type: CLUSTER + resource_name: kafka-cluster + pattern_type: LITERAL + principal: 'principalType:principalName' + host: '*' + operation: DESCRIBE + permission: DENY + - resource_type: TOPIC + resource_name: kafka-cluster + pattern_type: LITERAL + principal: 'principalType:principalName' + host: '*' + operation: READ + permission: ALLOW + CreateTopicRequest: + description: 'The topic creation request. Note that Confluent Cloud allows only specific replication factor values. Because of that the replication factor field should either be omitted or it should use one of the allowed values (see https://docs.confluent.io/cloud/current/client-apps/optimizing/durability.html).' + content: + application/json: + schema: + $ref: '#/components/schemas/CreateTopicRequestData' + examples: + uniform_replication: + value: + topic_name: topic-X + partitions_count: 64 + replication_factor: 3 + configs: + - name: cleanup.policy + value: compact + - name: compression.type + value: gzip + dry_run_create_topic: + value: + topic_name: topic-X + partitions_count: 64 + replication_factor: 3 + validate_only: true + ProduceRequest: + description: 'A single record to be produced to Kafka. To produce multiple records in the same request, simply concatenate the records. The delivery reports are concatenated in the same order as the records are sent.' + content: + application/json: + schema: + $ref: '#/components/schemas/ProduceRequest' + examples: + binary_and_json: + description: 'If using type, one of "BINARY", "JSON" or "STRING" is required.' + value: + partition_id: 1 + headers: + - name: Header-1 + value: SGVhZGVyLTE= + - name: Header-2 + value: SGVhZGVyLTI= + key: + type: BINARY + data: Zm9vYmFy + value: + type: JSON + data: + foo: bar + timestamp: '2021-02-05T19:14:42Z' + string: + description: 'If using type, one of "BINARY", "JSON" or "STRING" is required.' + value: + value: + type: STRING + data: My message + empty_value: + description: key or value can be omitted entirely. + value: + key: + data: 1000 + UpdateBrokerConfigRequest: + description: The broker configuration parameter update request. + content: + application/json: + schema: + $ref: '#/components/schemas/UpdateConfigRequestData' + example: + value: gzip + UpdateClusterConfigRequest: + description: The cluster configuration parameter update request. + content: + application/json: + schema: + $ref: '#/components/schemas/UpdateConfigRequestData' + example: + value: gzip + UpdateTopicConfigRequest: + description: The topic configuration parameter update request. + content: + application/json: + schema: + $ref: '#/components/schemas/UpdateConfigRequestData' + example: + value: gzip + CreateLinkRequest: + description: Create a cluster link + content: + application/json: + schema: + $ref: '#/components/schemas/CreateLinkRequestData' + examples: + destination_initiated_link: + description: Create a destination initiated cluster link + value: + source_cluster_id: cluster-1 + configs: + - name: bootstrap.servers + value: cluster-1-bootstrap-server + - name: acl.sync.enable + value: 'false' + - name: consumer.offset.sync.ms + value: '30000' + - name: sasl.mechanism + value: PLAIN + - name: sasl.protocol + value: SASL_SSL + - name: sasl.jaas.config + value: sasl.jaas.config=org.apache.kafka.common.security.plain.PlainLoginModule required username='' password=''; + source_initiated_link_at_source_cluster: + description: Create a source initiated cluster link at source cluster + value: + destination_cluster_id: cluster-2 + configs: + - name: bootstrap.servers + value: cluster-2-bootstrap-server + - name: link.mode + value: SOURCE + - name: sasl.mechanism + value: PLAIN + - name: sasl.protocol + value: SASL_SSL + - name: sasl.jaas.config + value: sasl.jaas.config=org.apache.kafka.common.security.plain.PlainLoginModule required username='' password=''; + source_initiated_link_at_destination_cluster: + description: Create a source initiated cluster link at destination cluster + value: + destination_cluster_id: cluster-1 + configs: + - name: bootstrap.servers + value: cluster-1-bootstrap-server + - name: link.mode + value: DESTINATION + - name: connection.mode + value: INBOUND + - name: acl.sync.enable + value: 'false' + - name: sasl.mechanism + value: PLAIN + - name: sasl.protocol + value: SASL_SSL + - name: sasl.jaas.config + value: sasl.jaas.config=org.apache.kafka.common.security.plain.PlainLoginModule required username='' password=''; + bidirectional_link_east: + description: Create a bidirectional cluster link in east + value: + remote_cluster_id: cluster-west + configs: + - name: bootstrap.servers + value: cluster-west-bootstrap-server + - name: link.mode + value: BIDIRECTIONAL + - name: cluster.link.prefix + value: west. + - name: sasl.mechanism + value: PLAIN + - name: sasl.protocol + value: SASL_SSL + - name: sasl.jaas.config + value: sasl.jaas.config=org.apache.kafka.common.security.plain.PlainLoginModule required username='' password=''; + bidirectional_link_west: + description: Create a bidirectional cluster link in west + value: + remote_cluster_id: cluster-east + cluster_link_id: eEBkTffYSESld6EO898x3w + configs: + - name: bootstrap.servers + value: cluster-east-bootstrap-server + - name: link.mode + value: BIDIRECTIONAL + - name: cluster.link.prefix + value: east. + - name: sasl.mechanism + value: PLAIN + - name: sasl.protocol + value: SASL_SSL + - name: sasl.jaas.config + value: sasl.jaas.config=org.apache.kafka.common.security.plain.PlainLoginModule required username='' password=''; + UpdateLinkConfigRequest: + content: + application/json: + example: + value: '300000' + schema: + $ref: '#/components/schemas/UpdateLinkConfigRequestData' + description: Link config value to update + AlterLinkConfigBatchRequest: + content: + application/json: + example: + data: + - name: cleanup.policy + operation: DELETE + - name: compression.type + value: gzip + schema: + $ref: '#/components/schemas/AlterConfigBatchRequestData' + CreateMirrorTopicRequest: + description: 'Name and configs of the topics mirroring from and mirroring to. Note that Confluent Cloud allows only specific replication factor values. Because of that the replication factor field should either be omitted or it should use one of the allowed values (see https://docs.confluent.io/cloud/current/client-apps/optimizing/durability.html).' + content: + application/json: + schema: + $ref: '#/components/schemas/CreateMirrorTopicRequestData' + examples: + generic_example: + description: Generic example of creating a mirror topic + value: + source_topic_name: topic-1 + configs: + - name: unclean.leader.election.enable + value: 'true' + replication_factor: 1 + example_with_mirror_topic_name: + description: Example using optional mirror_topic_name flag + value: + source_topic_name: topic-1 + mirror_topic_name: link1_topic-1 + configs: + - name: unclean.leader.election.enable + value: 'true' + replication_factor: 3 + AlterMirrorsRequest: + description: Mirror topics to be altered. + content: + application/json: + schema: + $ref: '#/components/schemas/AlterMirrorsRequestData' + examples: + mirror_topic_names: + description: Example using mirror topic names + value: + mirror_topic_names: + - topic-1 + - topic-2 + mirror_topic_name_pattern: + description: Example using mirror topic name pattern + value: + mirror_topic_name_pattern: .* + RemoveBrokersRequest: + content: + application/json: + example: + broker_ids: + - 1 + - 2 + - 3 + schema: + $ref: '#/components/schemas/RemoveBrokersRequestData' + description: Broker ids to remove + BrokerReplicaExclusionBatchRequest: + description: Alter Broker Replica Exclusions. + content: + application/json: + schema: + $ref: '#/components/schemas/BrokerReplicaExclusionBatchRequestData' + example: + data: + - broker_id: 1 + reason: The broker is to be removed. + - broker_id: 2 + reason: The broker is to be removed. + x-stackQL-resources: + environments: + id: confluent.org.environments + name: environments + title: Environments + methods: + list_org_v2environments: + operation: + $ref: '#/paths/~1org~1v2~1environments/get' + response: + mediaType: application/json + openAPIDocKey: '200' + objectKey: $.data + create_org_v2environment: + operation: + $ref: '#/paths/~1org~1v2~1environments/post' + response: + mediaType: application/json + openAPIDocKey: '201' + get_org_v2environment: + operation: + $ref: '#/paths/~1org~1v2~1environments~1{id}/get' + response: + mediaType: application/json + openAPIDocKey: '200' + update_org_v2environment: + operation: + $ref: '#/paths/~1org~1v2~1environments~1{id}/patch' + response: + mediaType: application/json + openAPIDocKey: '200' + delete_org_v2environment: + operation: + $ref: '#/paths/~1org~1v2~1environments~1{id}/delete' + response: + mediaType: application/json + openAPIDocKey: '204' + sqlVerbs: + select: + - $ref: '#/components/x-stackQL-resources/environments/methods/get_org_v2environment' + - $ref: '#/components/x-stackQL-resources/environments/methods/list_org_v2environments' + insert: + - $ref: '#/components/x-stackQL-resources/environments/methods/create_org_v2environment' + update: + - $ref: '#/components/x-stackQL-resources/environments/methods/update_org_v2environment' + replace: [] + delete: + - $ref: '#/components/x-stackQL-resources/environments/methods/delete_org_v2environment' + organizations: + id: confluent.org.organizations + name: organizations + title: Organizations + methods: + list_org_v2organizations: + operation: + $ref: '#/paths/~1org~1v2~1organizations/get' + response: + mediaType: application/json + openAPIDocKey: '200' + objectKey: $.data + get_org_v2organization: + operation: + $ref: '#/paths/~1org~1v2~1organizations~1{id}/get' + response: + mediaType: application/json + openAPIDocKey: '200' + update_org_v2organization: + operation: + $ref: '#/paths/~1org~1v2~1organizations~1{id}/patch' + response: + mediaType: application/json + openAPIDocKey: '200' + sqlVerbs: + select: + - $ref: '#/components/x-stackQL-resources/organizations/methods/get_org_v2organization' + - $ref: '#/components/x-stackQL-resources/organizations/methods/list_org_v2organizations' + insert: [] + update: + - $ref: '#/components/x-stackQL-resources/organizations/methods/update_org_v2organization' + replace: [] + delete: [] + vw_organizations: + name: vw_organizations + id: confluent.org.vw_organizations + config: + views: + select: + predicate: sqlDialect == "sqlite3" + ddl: |- + select + id, + display_name, + json_extract(metadata, '$.resource_name') as resource_name, + json_extract(metadata, '$.created_at') as created_at, + json_extract(metadata, '$.updated_at') as updated_at, + jit_enabled, + api_version, + kind + from + confluent.org.organizations + fallback: + predicate: sqlDialect == "postgres" + ddl: |- + select + id, + display_name, + json_extract_path_text(metadata, 'resource_name') as resource_name, + json_extract_path_text(metadata, 'created_at') as created_at, + json_extract_path_text(metadata, 'updated_at') as updated_at, + jit_enabled, + api_version, + kind + from + confluent.org.organizations + vw_environments: + name: vw_environments + id: confluent.org.vw_environments + config: + views: + select: + predicate: sqlDialect == "sqlite3" + ddl: |- + select + id, + display_name, + json_extract(stream_governance_config, '$.package') as stream_governance_package, + json_extract(metadata, '$.resource_name') as resource_name, + json_extract(metadata, '$.created_at') as created_at, + json_extract(metadata, '$.updated_at') as updated_at, + json_extract(metadata, '$.self') as self, + api_version, + kind + from + confluent.org.environments + fallback: + predicate: sqlDialect == "postgres" + ddl: |- + select + id, + display_name, + json_extract_path_text(stream_governance_config, 'package') as stream_governance_package, + json_extract_path_text(metadata, 'resource_name') as resource_name, + json_extract_path_text(metadata, 'created_at') as created_at, + json_extract_path_text(metadata, 'updated_at') as updated_at, + json_extract_path_text(metadata, 'self') as self, + api_version, + kind + from + confluent.org.environments +paths: + /org/v2/environments: + get: + operationId: listOrgV2Environments + summary: List of Environments + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + Retrieve a sorted, filtered, paginated list of all environments. + parameters: + - 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: + - Environments (org/v2) + security: + - cloud-api-key: [] + - confluent-sts-access-token: [] + responses: + '200': + description: Environment. + content: + application/json: + schema: + allOf: + - $ref: '#/components/schemas/org.v2.EnvironmentList' + 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. + + **Important:** This differs from Github and Twitter's same-named header which uses UTC epoch seconds. We use relative time to avoid client/server time synchronization issues. + '400': + $ref: '#/components/responses/BadRequestError' + '401': + $ref: '#/components/responses/UnauthenticatedError' + '403': + $ref: '#/components/responses/UnauthorizedError' + '429': + $ref: '#/components/responses/RateLimitError' + '500': + $ref: '#/components/responses/DefaultSystemError' + x-codeSamples: + - lang: Shell + source: |- + curl --request GET \ + --url https://api.confluent.cloud/org/v2/environments \ + --header 'Authorization: Basic REPLACE_BASIC_AUTH' + - lang: Java + source: |- + OkHttpClient client = new OkHttpClient(); + + Request request = new Request.Builder() + .url("https://api.confluent.cloud/org/v2/environments") + .get() + .addHeader("Authorization", "Basic REPLACE_BASIC_AUTH") + .build(); + + Response response = client.newCall(request).execute(); + - lang: Go + source: "package main\n\nimport (\n\t\"fmt\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.confluent.cloud/org/v2/environments\"\n\n\treq, _ := http.NewRequest(\"GET\", url, nil)\n\n\treq.Header.Add(\"Authorization\", \"Basic REPLACE_BASIC_AUTH\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}" + - lang: Python + source: |- + import http.client + + conn = http.client.HTTPSConnection("api.confluent.cloud") + + headers = { 'Authorization': "Basic REPLACE_BASIC_AUTH" } + + conn.request("GET", "/org/v2/environments", headers=headers) + + res = conn.getresponse() + data = res.read() + + print(data.decode("utf-8")) + - lang: Node + source: |- + const http = require("https"); + + const options = { + "method": "GET", + "hostname": "api.confluent.cloud", + "port": null, + "path": "/org/v2/environments", + "headers": { + "Authorization": "Basic REPLACE_BASIC_AUTH" + } + }; + + const req = http.request(options, function (res) { + const chunks = []; + + res.on("data", function (chunk) { + chunks.push(chunk); + }); + + res.on("end", function () { + const body = Buffer.concat(chunks); + console.log(body.toString()); + }); + }); + + req.end(); + - lang: C + source: |- + CURL *hnd = curl_easy_init(); + + curl_easy_setopt(hnd, CURLOPT_CUSTOMREQUEST, "GET"); + curl_easy_setopt(hnd, CURLOPT_URL, "https://api.confluent.cloud/org/v2/environments"); + + struct curl_slist *headers = NULL; + headers = curl_slist_append(headers, "Authorization: Basic REPLACE_BASIC_AUTH"); + curl_easy_setopt(hnd, CURLOPT_HTTPHEADER, headers); + + CURLcode ret = curl_easy_perform(hnd); + - lang: C# + source: |- + var client = new RestClient("https://api.confluent.cloud/org/v2/environments"); + var request = new RestRequest(Method.GET); + request.AddHeader("Authorization", "Basic REPLACE_BASIC_AUTH"); + IRestResponse response = client.Execute(request); + post: + operationId: createOrgV2Environment + summary: Create an Environment + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + Make a request to create an environment. + tags: + - Environments (org/v2) + security: + - cloud-api-key: [] + - confluent-sts-access-token: [] + requestBody: + content: + application/json: + schema: + allOf: + - $ref: '#/components/schemas/org.v2.Environment' + - type: object + required: + - display_name + responses: + '201': + description: An Environment was created. + headers: + X-Request-Id: + schema: + type: string + description: The unique identifier for the API request. + X-RateLimit-Limit: + schema: + type: integer + description: The maximum number of requests you're permitted to make per time period. + X-RateLimit-Remaining: + schema: + type: integer + description: The number of requests remaining in the current rate limit window. + X-RateLimit-Reset: + schema: + type: integer + description: |- + The relative time in seconds until the current rate-limit window resets. + + **Important:** This differs from Github and Twitter's same-named header which uses UTC epoch seconds. We use relative time to avoid client/server time synchronization issues. + Location: + schema: + type: string + format: uri + example: 'https://api.confluent.cloud/org/v2/environments/{id}' + description: Environment resource uri + content: + application/json: + schema: + allOf: + - $ref: '#/components/schemas/org.v2.Environment' + - type: object + required: + - display_name + '400': + $ref: '#/components/responses/BadRequestError' + '401': + $ref: '#/components/responses/UnauthenticatedError' + '402': + $ref: '#/components/responses/OverQuotaError' + '403': + $ref: '#/components/responses/UnauthorizedError' + '409': + $ref: '#/components/responses/ConflictError' + '422': + $ref: '#/components/responses/ValidationError' + '429': + $ref: '#/components/responses/RateLimitError' + '500': + $ref: '#/components/responses/DefaultSystemError' + x-codeSamples: + - lang: Shell + source: |- + curl --request POST \ + --url https://api.confluent.cloud/org/v2/environments \ + --header 'Authorization: Basic REPLACE_BASIC_AUTH' \ + --header 'content-type: application/json' \ + --data '{"display_name":"prod-finance01","stream_governance_config":{"package":"string"}}' + - lang: Java + source: |- + OkHttpClient client = new OkHttpClient(); + + MediaType mediaType = MediaType.parse("application/json"); + RequestBody body = RequestBody.create(mediaType, "{\"display_name\":\"prod-finance01\",\"stream_governance_config\":{\"package\":\"string\"}}"); + Request request = new Request.Builder() + .url("https://api.confluent.cloud/org/v2/environments") + .post(body) + .addHeader("content-type", "application/json") + .addHeader("Authorization", "Basic REPLACE_BASIC_AUTH") + .build(); + + Response response = client.newCall(request).execute(); + - lang: Go + source: "package main\n\nimport (\n\t\"fmt\"\n\t\"strings\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.confluent.cloud/org/v2/environments\"\n\n\tpayload := strings.NewReader(\"{\\\"display_name\\\":\\\"prod-finance01\\\",\\\"stream_governance_config\\\":{\\\"package\\\":\\\"string\\\"}}\")\n\n\treq, _ := http.NewRequest(\"POST\", url, payload)\n\n\treq.Header.Add(\"content-type\", \"application/json\")\n\treq.Header.Add(\"Authorization\", \"Basic REPLACE_BASIC_AUTH\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}" + - lang: Python + source: |- + import http.client + + conn = http.client.HTTPSConnection("api.confluent.cloud") + + payload = "{\"display_name\":\"prod-finance01\",\"stream_governance_config\":{\"package\":\"string\"}}" + + headers = { + 'content-type': "application/json", + 'Authorization': "Basic REPLACE_BASIC_AUTH" + } + + conn.request("POST", "/org/v2/environments", payload, headers) + + res = conn.getresponse() + data = res.read() + + print(data.decode("utf-8")) + - lang: Node + source: |- + const http = require("https"); + + const options = { + "method": "POST", + "hostname": "api.confluent.cloud", + "port": null, + "path": "/org/v2/environments", + "headers": { + "content-type": "application/json", + "Authorization": "Basic REPLACE_BASIC_AUTH" + } + }; + + const req = http.request(options, function (res) { + const chunks = []; + + res.on("data", function (chunk) { + chunks.push(chunk); + }); + + res.on("end", function () { + const body = Buffer.concat(chunks); + console.log(body.toString()); + }); + }); + + req.write(JSON.stringify({display_name: 'prod-finance01', stream_governance_config: {package: 'string'}})); + req.end(); + - lang: C + source: |- + CURL *hnd = curl_easy_init(); + + curl_easy_setopt(hnd, CURLOPT_CUSTOMREQUEST, "POST"); + curl_easy_setopt(hnd, CURLOPT_URL, "https://api.confluent.cloud/org/v2/environments"); + + struct curl_slist *headers = NULL; + headers = curl_slist_append(headers, "content-type: application/json"); + headers = curl_slist_append(headers, "Authorization: Basic REPLACE_BASIC_AUTH"); + curl_easy_setopt(hnd, CURLOPT_HTTPHEADER, headers); + + curl_easy_setopt(hnd, CURLOPT_POSTFIELDS, "{\"display_name\":\"prod-finance01\",\"stream_governance_config\":{\"package\":\"string\"}}"); + + CURLcode ret = curl_easy_perform(hnd); + - lang: C# + source: |- + var client = new RestClient("https://api.confluent.cloud/org/v2/environments"); + var request = new RestRequest(Method.POST); + request.AddHeader("content-type", "application/json"); + request.AddHeader("Authorization", "Basic REPLACE_BASIC_AUTH"); + request.AddParameter("application/json", "{\"display_name\":\"prod-finance01\",\"stream_governance_config\":{\"package\":\"string\"}}", ParameterType.RequestBody); + IRestResponse response = client.Execute(request); + '/org/v2/environments/{id}': + get: + operationId: getOrgV2Environment + summary: Read an Environment + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + Make a request to read an environment. + parameters: + - name: id + in: path + required: true + schema: + type: string + description: The unique identifier for the environment. + tags: + - Environments (org/v2) + security: + - cloud-api-key: [] + - confluent-sts-access-token: [] + responses: + '200': + description: Environment. + content: + application/json: + schema: + allOf: + - $ref: '#/components/schemas/org.v2.Environment' + - type: object + required: + - api_version + - kind + - id + - display_name + 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. + + **Important:** This differs from Github and Twitter's same-named header which uses UTC epoch seconds. We use relative time to avoid client/server time synchronization issues. + '400': + $ref: '#/components/responses/BadRequestError' + '401': + $ref: '#/components/responses/UnauthenticatedError' + '403': + $ref: '#/components/responses/UnauthorizedError' + '404': + $ref: '#/components/responses/NotFoundError' + '429': + $ref: '#/components/responses/RateLimitError' + '500': + $ref: '#/components/responses/DefaultSystemError' + x-codeSamples: + - lang: Shell + source: |- + curl --request GET \ + --url 'https://api.confluent.cloud/org/v2/environments/{id}' \ + --header 'Authorization: Basic REPLACE_BASIC_AUTH' + - lang: Java + source: |- + OkHttpClient client = new OkHttpClient(); + + Request request = new Request.Builder() + .url("https://api.confluent.cloud/org/v2/environments/{id}") + .get() + .addHeader("Authorization", "Basic REPLACE_BASIC_AUTH") + .build(); + + Response response = client.newCall(request).execute(); + - lang: Go + source: "package main\n\nimport (\n\t\"fmt\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.confluent.cloud/org/v2/environments/{id}\"\n\n\treq, _ := http.NewRequest(\"GET\", url, nil)\n\n\treq.Header.Add(\"Authorization\", \"Basic REPLACE_BASIC_AUTH\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}" + - lang: Python + source: |- + import http.client + + conn = http.client.HTTPSConnection("api.confluent.cloud") + + headers = { 'Authorization': "Basic REPLACE_BASIC_AUTH" } + + conn.request("GET", "/org/v2/environments/{id}", headers=headers) + + res = conn.getresponse() + data = res.read() + + print(data.decode("utf-8")) + - lang: Node + source: |- + const http = require("https"); + + const options = { + "method": "GET", + "hostname": "api.confluent.cloud", + "port": null, + "path": "/org/v2/environments/{id}", + "headers": { + "Authorization": "Basic REPLACE_BASIC_AUTH" + } + }; + + const req = http.request(options, function (res) { + const chunks = []; + + res.on("data", function (chunk) { + chunks.push(chunk); + }); + + res.on("end", function () { + const body = Buffer.concat(chunks); + console.log(body.toString()); + }); + }); + + req.end(); + - lang: C + source: |- + CURL *hnd = curl_easy_init(); + + curl_easy_setopt(hnd, CURLOPT_CUSTOMREQUEST, "GET"); + curl_easy_setopt(hnd, CURLOPT_URL, "https://api.confluent.cloud/org/v2/environments/{id}"); + + struct curl_slist *headers = NULL; + headers = curl_slist_append(headers, "Authorization: Basic REPLACE_BASIC_AUTH"); + curl_easy_setopt(hnd, CURLOPT_HTTPHEADER, headers); + + CURLcode ret = curl_easy_perform(hnd); + - lang: C# + source: |- + var client = new RestClient("https://api.confluent.cloud/org/v2/environments/{id}"); + var request = new RestRequest(Method.GET); + request.AddHeader("Authorization", "Basic REPLACE_BASIC_AUTH"); + IRestResponse response = client.Execute(request); + patch: + operationId: updateOrgV2Environment + summary: Update an Environment + description: |+ + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + Make a request to update an environment. + + parameters: + - name: id + in: path + required: true + schema: + type: string + description: The unique identifier for the environment. + tags: + - Environments (org/v2) + security: + - cloud-api-key: [] + - confluent-sts-access-token: [] + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/org.v2.Environment' + responses: + '200': + description: Environment. + content: + application/json: + schema: + allOf: + - $ref: '#/components/schemas/org.v2.Environment' + - type: object + required: + - api_version + - kind + - id + - display_name + 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. + + **Important:** This differs from Github and Twitter's same-named header which uses UTC epoch seconds. We use relative time to avoid client/server time synchronization issues. + '400': + $ref: '#/components/responses/BadRequestError' + '401': + $ref: '#/components/responses/UnauthenticatedError' + '402': + $ref: '#/components/responses/OverQuotaError' + '403': + $ref: '#/components/responses/UnauthorizedError' + '404': + $ref: '#/components/responses/NotFoundError' + '409': + $ref: '#/components/responses/ConflictError' + '422': + $ref: '#/components/responses/ValidationError' + '429': + $ref: '#/components/responses/RateLimitError' + '500': + $ref: '#/components/responses/DefaultSystemError' + x-codeSamples: + - lang: Shell + source: |- + curl --request PATCH \ + --url 'https://api.confluent.cloud/org/v2/environments/{id}' \ + --header 'Authorization: Basic REPLACE_BASIC_AUTH' \ + --header 'content-type: application/json' \ + --data '{"display_name":"prod-finance01","stream_governance_config":{"package":"string"}}' + - lang: Java + source: |- + OkHttpClient client = new OkHttpClient(); + + MediaType mediaType = MediaType.parse("application/json"); + RequestBody body = RequestBody.create(mediaType, "{\"display_name\":\"prod-finance01\",\"stream_governance_config\":{\"package\":\"string\"}}"); + Request request = new Request.Builder() + .url("https://api.confluent.cloud/org/v2/environments/{id}") + .patch(body) + .addHeader("content-type", "application/json") + .addHeader("Authorization", "Basic REPLACE_BASIC_AUTH") + .build(); + + Response response = client.newCall(request).execute(); + - lang: Go + source: "package main\n\nimport (\n\t\"fmt\"\n\t\"strings\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.confluent.cloud/org/v2/environments/{id}\"\n\n\tpayload := strings.NewReader(\"{\\\"display_name\\\":\\\"prod-finance01\\\",\\\"stream_governance_config\\\":{\\\"package\\\":\\\"string\\\"}}\")\n\n\treq, _ := http.NewRequest(\"PATCH\", url, payload)\n\n\treq.Header.Add(\"content-type\", \"application/json\")\n\treq.Header.Add(\"Authorization\", \"Basic REPLACE_BASIC_AUTH\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}" + - lang: Python + source: |- + import http.client + + conn = http.client.HTTPSConnection("api.confluent.cloud") + + payload = "{\"display_name\":\"prod-finance01\",\"stream_governance_config\":{\"package\":\"string\"}}" + + headers = { + 'content-type': "application/json", + 'Authorization': "Basic REPLACE_BASIC_AUTH" + } + + conn.request("PATCH", "/org/v2/environments/{id}", payload, headers) + + res = conn.getresponse() + data = res.read() + + print(data.decode("utf-8")) + - lang: Node + source: |- + const http = require("https"); + + const options = { + "method": "PATCH", + "hostname": "api.confluent.cloud", + "port": null, + "path": "/org/v2/environments/{id}", + "headers": { + "content-type": "application/json", + "Authorization": "Basic REPLACE_BASIC_AUTH" + } + }; + + const req = http.request(options, function (res) { + const chunks = []; + + res.on("data", function (chunk) { + chunks.push(chunk); + }); + + res.on("end", function () { + const body = Buffer.concat(chunks); + console.log(body.toString()); + }); + }); + + req.write(JSON.stringify({display_name: 'prod-finance01', stream_governance_config: {package: 'string'}})); + req.end(); + - lang: C + source: |- + CURL *hnd = curl_easy_init(); + + curl_easy_setopt(hnd, CURLOPT_CUSTOMREQUEST, "PATCH"); + curl_easy_setopt(hnd, CURLOPT_URL, "https://api.confluent.cloud/org/v2/environments/{id}"); + + struct curl_slist *headers = NULL; + headers = curl_slist_append(headers, "content-type: application/json"); + headers = curl_slist_append(headers, "Authorization: Basic REPLACE_BASIC_AUTH"); + curl_easy_setopt(hnd, CURLOPT_HTTPHEADER, headers); + + curl_easy_setopt(hnd, CURLOPT_POSTFIELDS, "{\"display_name\":\"prod-finance01\",\"stream_governance_config\":{\"package\":\"string\"}}"); + + CURLcode ret = curl_easy_perform(hnd); + - lang: C# + source: |- + var client = new RestClient("https://api.confluent.cloud/org/v2/environments/{id}"); + var request = new RestRequest(Method.PATCH); + request.AddHeader("content-type", "application/json"); + request.AddHeader("Authorization", "Basic REPLACE_BASIC_AUTH"); + request.AddParameter("application/json", "{\"display_name\":\"prod-finance01\",\"stream_governance_config\":{\"package\":\"string\"}}", ParameterType.RequestBody); + IRestResponse response = client.Execute(request); + delete: + operationId: deleteOrgV2Environment + summary: Delete an Environment + description: | + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + Make a request to delete an environment. + + If successful, this request will also recursively delete all of the environment's associated resources, + including all Kafka clusters, connectors, etc. + parameters: + - name: id + in: path + required: true + schema: + type: string + description: The unique identifier for the environment. + tags: + - Environments (org/v2) + security: + - cloud-api-key: [] + - confluent-sts-access-token: [] + responses: + '204': + description: An Environment is being deleted. + headers: + X-Request-Id: + schema: + type: string + description: The unique identifier for the API request. + X-RateLimit-Limit: + schema: + type: integer + description: The maximum number of requests you're permitted to make per time period. + X-RateLimit-Remaining: + schema: + type: integer + description: The number of requests remaining in the current rate limit window. + X-RateLimit-Reset: + schema: + type: integer + description: |- + The relative time in seconds until the current rate-limit window resets. + + **Important:** This differs from Github and Twitter's same-named header which uses UTC epoch seconds. We use relative time to avoid client/server time synchronization issues. + '400': + $ref: '#/components/responses/BadRequestError' + '401': + $ref: '#/components/responses/UnauthenticatedError' + '403': + $ref: '#/components/responses/UnauthorizedError' + '404': + $ref: '#/components/responses/NotFoundError' + '429': + $ref: '#/components/responses/RateLimitError' + '500': + $ref: '#/components/responses/DefaultSystemError' + x-codeSamples: + - lang: Shell + source: |- + curl --request DELETE \ + --url 'https://api.confluent.cloud/org/v2/environments/{id}' \ + --header 'Authorization: Basic REPLACE_BASIC_AUTH' + - lang: Java + source: |- + OkHttpClient client = new OkHttpClient(); + + Request request = new Request.Builder() + .url("https://api.confluent.cloud/org/v2/environments/{id}") + .delete(null) + .addHeader("Authorization", "Basic REPLACE_BASIC_AUTH") + .build(); + + Response response = client.newCall(request).execute(); + - lang: Go + source: "package main\n\nimport (\n\t\"fmt\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.confluent.cloud/org/v2/environments/{id}\"\n\n\treq, _ := http.NewRequest(\"DELETE\", url, nil)\n\n\treq.Header.Add(\"Authorization\", \"Basic REPLACE_BASIC_AUTH\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}" + - lang: Python + source: |- + import http.client + + conn = http.client.HTTPSConnection("api.confluent.cloud") + + headers = { 'Authorization': "Basic REPLACE_BASIC_AUTH" } + + conn.request("DELETE", "/org/v2/environments/{id}", headers=headers) + + res = conn.getresponse() + data = res.read() + + print(data.decode("utf-8")) + - lang: Node + source: |- + const http = require("https"); + + const options = { + "method": "DELETE", + "hostname": "api.confluent.cloud", + "port": null, + "path": "/org/v2/environments/{id}", + "headers": { + "Authorization": "Basic REPLACE_BASIC_AUTH" + } + }; + + const req = http.request(options, function (res) { + const chunks = []; + + res.on("data", function (chunk) { + chunks.push(chunk); + }); + + res.on("end", function () { + const body = Buffer.concat(chunks); + console.log(body.toString()); + }); + }); + + req.end(); + - lang: C + source: |- + CURL *hnd = curl_easy_init(); + + curl_easy_setopt(hnd, CURLOPT_CUSTOMREQUEST, "DELETE"); + curl_easy_setopt(hnd, CURLOPT_URL, "https://api.confluent.cloud/org/v2/environments/{id}"); + + struct curl_slist *headers = NULL; + headers = curl_slist_append(headers, "Authorization: Basic REPLACE_BASIC_AUTH"); + curl_easy_setopt(hnd, CURLOPT_HTTPHEADER, headers); + + CURLcode ret = curl_easy_perform(hnd); + - lang: C# + source: |- + var client = new RestClient("https://api.confluent.cloud/org/v2/environments/{id}"); + var request = new RestRequest(Method.DELETE); + request.AddHeader("Authorization", "Basic REPLACE_BASIC_AUTH"); + IRestResponse response = client.Execute(request); + /org/v2/organizations: + get: + operationId: listOrgV2Organizations + summary: List of Organizations + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + Retrieve a sorted, filtered, paginated list of all organizations. + parameters: + - 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: + - Organizations (org/v2) + security: + - cloud-api-key: [] + - confluent-sts-access-token: [] + responses: + '200': + description: Organization. + content: + application/json: + schema: + allOf: + - $ref: '#/components/schemas/org.v2.OrganizationList' + 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. + + **Important:** This differs from Github and Twitter's same-named header which uses UTC epoch seconds. We use relative time to avoid client/server time synchronization issues. + '400': + $ref: '#/components/responses/BadRequestError' + '401': + $ref: '#/components/responses/UnauthenticatedError' + '403': + $ref: '#/components/responses/UnauthorizedError' + '429': + $ref: '#/components/responses/RateLimitError' + '500': + $ref: '#/components/responses/DefaultSystemError' + x-codeSamples: + - lang: Shell + source: |- + curl --request GET \ + --url https://api.confluent.cloud/org/v2/organizations \ + --header 'Authorization: Basic REPLACE_BASIC_AUTH' + - lang: Java + source: |- + OkHttpClient client = new OkHttpClient(); + + Request request = new Request.Builder() + .url("https://api.confluent.cloud/org/v2/organizations") + .get() + .addHeader("Authorization", "Basic REPLACE_BASIC_AUTH") + .build(); + + Response response = client.newCall(request).execute(); + - lang: Go + source: "package main\n\nimport (\n\t\"fmt\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.confluent.cloud/org/v2/organizations\"\n\n\treq, _ := http.NewRequest(\"GET\", url, nil)\n\n\treq.Header.Add(\"Authorization\", \"Basic REPLACE_BASIC_AUTH\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}" + - lang: Python + source: |- + import http.client + + conn = http.client.HTTPSConnection("api.confluent.cloud") + + headers = { 'Authorization': "Basic REPLACE_BASIC_AUTH" } + + conn.request("GET", "/org/v2/organizations", headers=headers) + + res = conn.getresponse() + data = res.read() + + print(data.decode("utf-8")) + - lang: Node + source: |- + const http = require("https"); + + const options = { + "method": "GET", + "hostname": "api.confluent.cloud", + "port": null, + "path": "/org/v2/organizations", + "headers": { + "Authorization": "Basic REPLACE_BASIC_AUTH" + } + }; + + const req = http.request(options, function (res) { + const chunks = []; + + res.on("data", function (chunk) { + chunks.push(chunk); + }); + + res.on("end", function () { + const body = Buffer.concat(chunks); + console.log(body.toString()); + }); + }); + + req.end(); + - lang: C + source: |- + CURL *hnd = curl_easy_init(); + + curl_easy_setopt(hnd, CURLOPT_CUSTOMREQUEST, "GET"); + curl_easy_setopt(hnd, CURLOPT_URL, "https://api.confluent.cloud/org/v2/organizations"); + + struct curl_slist *headers = NULL; + headers = curl_slist_append(headers, "Authorization: Basic REPLACE_BASIC_AUTH"); + curl_easy_setopt(hnd, CURLOPT_HTTPHEADER, headers); + + CURLcode ret = curl_easy_perform(hnd); + - lang: C# + source: |- + var client = new RestClient("https://api.confluent.cloud/org/v2/organizations"); + var request = new RestRequest(Method.GET); + request.AddHeader("Authorization", "Basic REPLACE_BASIC_AUTH"); + IRestResponse response = client.Execute(request); + '/org/v2/organizations/{id}': + get: + operationId: getOrgV2Organization + summary: Read an Organization + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + Make a request to read an organization. + parameters: + - name: id + in: path + required: true + schema: + type: string + description: The unique identifier for the organization. + tags: + - Organizations (org/v2) + security: + - cloud-api-key: [] + - confluent-sts-access-token: [] + responses: + '200': + description: Organization. + content: + application/json: + schema: + allOf: + - $ref: '#/components/schemas/org.v2.Organization' + - type: object + required: + - api_version + - kind + - id + 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. + + **Important:** This differs from Github and Twitter's same-named header which uses UTC epoch seconds. We use relative time to avoid client/server time synchronization issues. + '400': + $ref: '#/components/responses/BadRequestError' + '401': + $ref: '#/components/responses/UnauthenticatedError' + '403': + $ref: '#/components/responses/UnauthorizedError' + '404': + $ref: '#/components/responses/NotFoundError' + '429': + $ref: '#/components/responses/RateLimitError' + '500': + $ref: '#/components/responses/DefaultSystemError' + x-codeSamples: + - lang: Shell + source: |- + curl --request GET \ + --url 'https://api.confluent.cloud/org/v2/organizations/{id}' \ + --header 'Authorization: Basic REPLACE_BASIC_AUTH' + - lang: Java + source: |- + OkHttpClient client = new OkHttpClient(); + + Request request = new Request.Builder() + .url("https://api.confluent.cloud/org/v2/organizations/{id}") + .get() + .addHeader("Authorization", "Basic REPLACE_BASIC_AUTH") + .build(); + + Response response = client.newCall(request).execute(); + - lang: Go + source: "package main\n\nimport (\n\t\"fmt\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.confluent.cloud/org/v2/organizations/{id}\"\n\n\treq, _ := http.NewRequest(\"GET\", url, nil)\n\n\treq.Header.Add(\"Authorization\", \"Basic REPLACE_BASIC_AUTH\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}" + - lang: Python + source: |- + import http.client + + conn = http.client.HTTPSConnection("api.confluent.cloud") + + headers = { 'Authorization': "Basic REPLACE_BASIC_AUTH" } + + conn.request("GET", "/org/v2/organizations/{id}", headers=headers) + + res = conn.getresponse() + data = res.read() + + print(data.decode("utf-8")) + - lang: Node + source: |- + const http = require("https"); + + const options = { + "method": "GET", + "hostname": "api.confluent.cloud", + "port": null, + "path": "/org/v2/organizations/{id}", + "headers": { + "Authorization": "Basic REPLACE_BASIC_AUTH" + } + }; + + const req = http.request(options, function (res) { + const chunks = []; + + res.on("data", function (chunk) { + chunks.push(chunk); + }); + + res.on("end", function () { + const body = Buffer.concat(chunks); + console.log(body.toString()); + }); + }); + + req.end(); + - lang: C + source: |- + CURL *hnd = curl_easy_init(); + + curl_easy_setopt(hnd, CURLOPT_CUSTOMREQUEST, "GET"); + curl_easy_setopt(hnd, CURLOPT_URL, "https://api.confluent.cloud/org/v2/organizations/{id}"); + + struct curl_slist *headers = NULL; + headers = curl_slist_append(headers, "Authorization: Basic REPLACE_BASIC_AUTH"); + curl_easy_setopt(hnd, CURLOPT_HTTPHEADER, headers); + + CURLcode ret = curl_easy_perform(hnd); + - lang: C# + source: |- + var client = new RestClient("https://api.confluent.cloud/org/v2/organizations/{id}"); + var request = new RestRequest(Method.GET); + request.AddHeader("Authorization", "Basic REPLACE_BASIC_AUTH"); + IRestResponse response = client.Execute(request); + patch: + operationId: updateOrgV2Organization + summary: Update an Organization + description: |+ + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + Make a request to update an organization. + + parameters: + - name: id + in: path + required: true + schema: + type: string + description: The unique identifier for the organization. + tags: + - Organizations (org/v2) + security: + - cloud-api-key: [] + - confluent-sts-access-token: [] + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/org.v2.Organization' + responses: + '200': + description: Organization. + content: + application/json: + schema: + allOf: + - $ref: '#/components/schemas/org.v2.Organization' + - type: object + required: + - api_version + - kind + - id + 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. + + **Important:** This differs from Github and Twitter's same-named header which uses UTC epoch seconds. We use relative time to avoid client/server time synchronization issues. + '400': + $ref: '#/components/responses/BadRequestError' + '401': + $ref: '#/components/responses/UnauthenticatedError' + '402': + $ref: '#/components/responses/OverQuotaError' + '403': + $ref: '#/components/responses/UnauthorizedError' + '404': + $ref: '#/components/responses/NotFoundError' + '409': + $ref: '#/components/responses/ConflictError' + '422': + $ref: '#/components/responses/ValidationError' + '429': + $ref: '#/components/responses/RateLimitError' + '500': + $ref: '#/components/responses/DefaultSystemError' + x-codeSamples: + - lang: Shell + source: |- + curl --request PATCH \ + --url 'https://api.confluent.cloud/org/v2/organizations/{id}' \ + --header 'Authorization: Basic REPLACE_BASIC_AUTH' \ + --header 'content-type: application/json' \ + --data '{"display_name":"Finance Org","jit_enabled":true}' + - lang: Java + source: |- + OkHttpClient client = new OkHttpClient(); + + MediaType mediaType = MediaType.parse("application/json"); + RequestBody body = RequestBody.create(mediaType, "{\"display_name\":\"Finance Org\",\"jit_enabled\":true}"); + Request request = new Request.Builder() + .url("https://api.confluent.cloud/org/v2/organizations/{id}") + .patch(body) + .addHeader("content-type", "application/json") + .addHeader("Authorization", "Basic REPLACE_BASIC_AUTH") + .build(); + + Response response = client.newCall(request).execute(); + - lang: Go + source: "package main\n\nimport (\n\t\"fmt\"\n\t\"strings\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.confluent.cloud/org/v2/organizations/{id}\"\n\n\tpayload := strings.NewReader(\"{\\\"display_name\\\":\\\"Finance Org\\\",\\\"jit_enabled\\\":true}\")\n\n\treq, _ := http.NewRequest(\"PATCH\", url, payload)\n\n\treq.Header.Add(\"content-type\", \"application/json\")\n\treq.Header.Add(\"Authorization\", \"Basic REPLACE_BASIC_AUTH\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}" + - lang: Python + source: |- + import http.client + + conn = http.client.HTTPSConnection("api.confluent.cloud") + + payload = "{\"display_name\":\"Finance Org\",\"jit_enabled\":true}" + + headers = { + 'content-type': "application/json", + 'Authorization': "Basic REPLACE_BASIC_AUTH" + } + + conn.request("PATCH", "/org/v2/organizations/{id}", payload, headers) + + res = conn.getresponse() + data = res.read() + + print(data.decode("utf-8")) + - lang: Node + source: |- + const http = require("https"); + + const options = { + "method": "PATCH", + "hostname": "api.confluent.cloud", + "port": null, + "path": "/org/v2/organizations/{id}", + "headers": { + "content-type": "application/json", + "Authorization": "Basic REPLACE_BASIC_AUTH" + } + }; + + const req = http.request(options, function (res) { + const chunks = []; + + res.on("data", function (chunk) { + chunks.push(chunk); + }); + + res.on("end", function () { + const body = Buffer.concat(chunks); + console.log(body.toString()); + }); + }); + + req.write(JSON.stringify({display_name: 'Finance Org', jit_enabled: true})); + req.end(); + - lang: C + source: |- + CURL *hnd = curl_easy_init(); + + curl_easy_setopt(hnd, CURLOPT_CUSTOMREQUEST, "PATCH"); + curl_easy_setopt(hnd, CURLOPT_URL, "https://api.confluent.cloud/org/v2/organizations/{id}"); + + struct curl_slist *headers = NULL; + headers = curl_slist_append(headers, "content-type: application/json"); + headers = curl_slist_append(headers, "Authorization: Basic REPLACE_BASIC_AUTH"); + curl_easy_setopt(hnd, CURLOPT_HTTPHEADER, headers); + + curl_easy_setopt(hnd, CURLOPT_POSTFIELDS, "{\"display_name\":\"Finance Org\",\"jit_enabled\":true}"); + + CURLcode ret = curl_easy_perform(hnd); + - lang: C# + source: |- + var client = new RestClient("https://api.confluent.cloud/org/v2/organizations/{id}"); + var request = new RestRequest(Method.PATCH); + request.AddHeader("content-type", "application/json"); + request.AddHeader("Authorization", "Basic REPLACE_BASIC_AUTH"); + request.AddParameter("application/json", "{\"display_name\":\"Finance Org\",\"jit_enabled\":true}", ParameterType.RequestBody); + IRestResponse response = client.Execute(request); diff --git a/providers/src/confluent/v00.00.00000/services/partner.yaml b/providers/src/confluent/v00.00.00000/services/partner.yaml new file mode 100644 index 00000000..f59b005d --- /dev/null +++ b/providers/src/confluent/v00.00.00000/services/partner.yaml @@ -0,0 +1,4253 @@ +openapi: 3.0.0 +servers: + - url: 'https://api.confluent.cloud' + description: Confluent Cloud API +info: + version: '' + contact: + name: Confluent Cloud + url: 'https://www.confluent.io/cloud-contact-us/' + email: support@confluent.io + x-api-id: 46234552-5833-42eb-ba0f-883ad3f70d2b + x-audience: external-public + x-logo: + url: 'https://assets.confluent.io/m/5ec23aa91903c00b/' + title: Confluent Cloud APIs - partner + description: partner +tags: + - name: API Keys (iam/v2) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + `ApiKey` objects represent access to different parts of Confluent Cloud. Some types + of API keys represent access to a single cluster/resource such as a Kafka cluster, + Schema Registry cluster or a ksqlDB cluster. Cloud API Keys represent access to resources within an organization + that are not tied to a specific cluster, such as the Org API, IAM API, Metrics API or Connect API. + + The API allows you to list, create, update and delete your API Keys. + + + Related guide: [API Keys in Confluent Cloud](https://docs.confluent.io/cloud/current/client-apps/api-keys.html). + + ## The API Keys Model + + + ## Quotas and Limits + This resource is subject to the [following quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): + + | Quota | Description | + | --- | --- | + | `apikeys_per_org` | API Keys in one Confluent Cloud organization | + - name: Environments (org/v2) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + `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](https://docs.confluent.io/cloud/current/access-management/environments.html). + + ## The Environments Model + + + ## Quotas and Limits + This resource is subject to the [following quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): + + | Quota | Description | + | --- | --- | + | `environments_per_org` | Environments in one Confluent Cloud organization | + - name: Organizations (org/v2) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + `Organization` objects represent a customer organization. An organization contains all customer + resources (e.g., Environments, Kafka Clusters, Service Accounts, API Keys) and is tied to a billing + agreement (including any annual commitment or support plan). + + The API allows you to list, view, and update your organizations. + + + Related guide: [Organizations for Confluent Cloud](https://docs.confluent.io/cloud/current/access-management/hierarchy/organizations/cloud-organization.html). + + ## The Organizations Model + + + ## Quotas and Limits + This resource is subject to the [following quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): + + | Quota | Description | + | --- | --- | + | `organizations_per_user` | Confluent Cloud organizations a user belongs to | + - name: Users (iam/v2) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + `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](https://docs.confluent.io/cloud/current/access-management/user-account.html). + + ## The Users Model + + + ## Quotas and Limits + This resource is subject to the [following quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): + + | Quota | Description | + | --- | --- | + | `users_per_org` | Users in one Confluent Cloud organization | + - name: Service Accounts (iam/v2) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + `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](https://docs.confluent.io/cloud/current/access-management/service-account.html). + + ## The Service Accounts Model + + + ## Quotas and Limits + This resource is subject to the [following quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): + + | Quota | Description | + | --- | --- | + | `service_accounts_per_org` | Service Accounts in one Confluent Cloud organization | + - name: Invitations (iam/v2) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + `Invitation` objects represent invitations to invite users to join your organizations in Confluent Cloud. + + The API allows you to list all your invitations, as well as create, read, and delete a specified invitation. + + + Related guide: [User invitations in Confluent Cloud](https://docs.confluent.io/cloud/current/access-management/identity/user-accounts.html). + + ## The Invitations Model + + + ## Quotas and Limits + This resource is subject to the [following quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): + + | Quota | Description | + | --- | --- | + | `invitations_per_org` | Invitations in a Confluent Cloud organization | + - name: IP Groups (iam/v2) + description: |- + [![Limited Availability](https://img.shields.io/badge/Lifecycle%20Stage-Limited%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) [![Request Access To IP Groups API](https://img.shields.io/badge/-Request%20Access%20To%20IP%20Groups%20API-%23bc8540)](mailto:cloud-support@confluent.io?subject=Request%20to%20join%20IP%20Filtering%20API%20Limited%20Access&body=I%E2%80%99d%20like%20to%20join%20the%20Confluent%20Cloud%20API%20Limited%20Access%20for%20IP%20Filtering.%0AMy%20Cloud%20Organization%20ID%20is%20%3Cretrieve%20from%20https%3A//confluent.cloud/settings/billing/payment%3E.%0A) + + Definitions of networks which can be named and referred by IP blocks, commonly used to attach to IP Filter rules. + + + ## The IP Groups Model + + - name: IP Filters (iam/v2) + description: |- + [![Limited Availability](https://img.shields.io/badge/Lifecycle%20Stage-Limited%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) [![Request Access To IP Filters API](https://img.shields.io/badge/-Request%20Access%20To%20IP%20Filters%20API-%23bc8540)](mailto:ccloud-api-access+iam-v2-limited-availability@confluent.io?subject=Request%20to%20join%20iam/v2%20API%20Limited%20Availability&body=I%E2%80%99d%20like%20to%20join%20the%20Confluent%20Cloud%20API%20Limited%20Availability%20for%20iam/v2%20to%20provide%20early%20feedback%21%20My%20Cloud%20Organization%20ID%20is%20%3Cretrieve%20from%20https%3A//confluent.cloud/settings/billing/payment%3E.) + + `IP Filter` objects are bindings between IP Groups and Confluent resource(s). + For example, a binding between "CorpNet" and "Management APIs" will enforce that + access must come from one of the CIDR blocks associated with CorpNet. + If there are multiple IP filters bound to a resource, a request matching any of the CIDR blocks + for any of the IP Group will allow the request. + If there are no IP Filters for a resource, then access will be granted to requests originating + from any IP Address. + + + ## The IP Filters Model + + - name: Role Bindings (iam/v2) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + A role binding grants a Principal a role on resources that match a pattern. + + The API allows you to perform create, delete, and list operations on role bindings. + + + Related guide: [Role-Based Access Control (RBAC)](https://docs.confluent.io/cloud/current/access-management/access-control/cloud-rbac.html). + + ## The Role Bindings Model + + - name: Subscriptions (notifications/v1) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + `Subscription` objects represent the intent of the customers to get notifications of particular types. + A subscription is created for a particular `NotificationType` and the user will get notifications on the + `Integrations` that are provided while creating the subscription. + + This API allows you to create, retrieve, and update subscriptions, + as well as to view the list of all your subscriptions. You can also delete subscriptions + with RECOMMENDED or OPTIONAL notification types. Subscriptions with REQUIRED notification types cannot be deleted. + + + Related guide: [Cloud Notifications](https://docs.confluent.io/cloud/current/monitoring/configure-notifications.html#notifications-for-ccloud). + + ## The Subscriptions Model + + - name: Integrations (notifications/v1) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + You can create an `Integration` to specify how we can notify you when we receive an alert/notification for + a subscription. Please note that you can only perform create, update and delete operations for integrations + of type `Webhook`, `Slack` and `MsTeams`. You cannot create, update or delete integrations of type `RoleEmail` + and `UserEmail`. + + + Related guide: [Cloud Notifications](https://docs.confluent.io/cloud/current/monitoring/configure-notifications.html#notifications-for-ccloud). + + ## The Integrations Model + + + ## Quotas and Limits + This resource is subject to the [following quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): + + | Quota | Description | + | --- | --- | + | `integrations_per_org` | Maximum number of integrations in one Confluent Cloud organization | + - name: Notification Types (notifications/v1) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + The type of notifications (and their corresponding metadata) supported by Confluent. + + + Related guide: [Cloud Notifications](https://docs.confluent.io/cloud/current/monitoring/configure-notifications.html#notifications-for-ccloud). + + ## The Notification Types Model + + - name: Clusters (cmk/v2) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + `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](https://docs.confluent.io/cloud/current/clusters/cluster-api.html). + + ## The Clusters Model + + + ## Quotas and Limits + This resource is subject to the [following quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): + + | Quota | Description | + | --- | --- | + | `kafka_clusters_per_environment` | Number of clusters in one Confluent Cloud environment | + - name: Clusters (ksqldbcm/v2) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + `Cluster` represents a ksqlDB runtime that you can issue queries to using its API endpoint. + It executes SQL statements and queries which under the hood get built into corresponding + Kafka Streams topologies. The API allows you to list, create, read, and delete your ksqlDB clusters. + + + Related guide: [ksqlDB in Confluent Cloud](https://docs.confluent.io/cloud/current/ksqldb/ksqldb-cluster-api.html). + + ## The Clusters Model + + + ## Quotas and Limits + This resource is subject to the following quotas: + + | Quota | Description | + | --- | --- | + | `ksql.limits.max_apps_per_cluster` | Clusters in one Confluent Cloud Kafka Cluster. | + - name: Connectors (connect/v1) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + API for Managed Connectors or Custom Connectors in Confluent Cloud. + + The API allows you to list, create, get, update and delete a Managed Connector or Custom Connector in Confluent Cloud. + + Connect metrics are available through the [Metrics v2 API](https://api.telemetry.confluent.cloud/docs#tag/Version-2). + + Related guide: [Confluent Cloud API and Managed Connectors](https://docs.confluent.io/cloud/current/connectors/connect-api-section.html). + - name: Lifecycle (connect/v1) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + API for managing the lifecycle for a Managed Connector or Custom Connector in Confluent Cloud. Operations currently supported are Pause and Resume. + - name: Status (connect/v1) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + API for requesting the status or the tasks for a Managed Connector or Custom Connector in Confluent Cloud. + - name: Managed Connector Plugins (connect/v1) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + API for Managed connectors in Confluent Cloud. + - name: Offsets (connect/v1) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + API for managing the offsets for a Managed Connector. + + Related guide: [Manage Connector Offsets](https://docs.confluent.io/cloud/current/connectors/offsets.html#manage-offsets-for-fully-managed-connectors-in-ccloud) + - name: Custom Connector Plugins (connect/v1) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + CustomConnectorPlugins objects represent Custom Connector Plugins on Confluent Cloud. + The API allows you to list, create, read, update, and delete your Custom Connector Plugins. + Related guide: + [Custom Connector Plugin API](https://docs.confluent.io/cloud/current/connectors/connect-api-section.html). + + + ## The Custom Connector Plugins Model + + - name: Presigned Urls (connect/v1) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + Request a presigned upload URL for new Custom Connector Plugin. Note that + the URL policy expires in one hour. If the policy expires, you can request + a new presigned upload URL. + + Related guide: + [Custom Connector Plugin API](https://docs.confluent.io/cloud/current/connectors/connect-api-section.html). + + + ## The Presigned Urls Model + + - name: Cluster (v3) + description: '[![Generally Available](https://img.shields.io/badge/Lifecycle%20Stage-Generally%20Available-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy)' + - name: Configs (v3) + description: '[![Generally Available](https://img.shields.io/badge/Lifecycle%20Stage-Generally%20Available-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy)' + - name: ACL (v3) + description: '[![Generally Available](https://img.shields.io/badge/Lifecycle%20Stage-Generally%20Available-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy)' + - name: Consumer Group (v3) + description: '[![Generally Available](https://img.shields.io/badge/Lifecycle%20Stage-Generally%20Available-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy)' + - name: Partition (v3) + description: '[![Generally Available](https://img.shields.io/badge/Lifecycle%20Stage-Generally%20Available-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy)' + - name: Topic (v3) + description: '[![Generally Available](https://img.shields.io/badge/Lifecycle%20Stage-Generally%20Available-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy)' + - name: Records (v3) + description: '[![Generally Available](https://img.shields.io/badge/Lifecycle%20Stage-Generally%20Available-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy)' + - name: Cluster Linking (v3) + description: '[![Generally Available](https://img.shields.io/badge/Lifecycle%20Stage-Generally%20Available-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy)' + - name: Applied Quotas (service-quota/v1) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + A `quota` object represents a quota configuration for a specific Confluent Cloud resource. + Use this API to retrieve an individual quota or list of quotas for a given scope. + + + Related guide: [Service Quotas for Confluent Cloud](https://docs.confluent.io/cloud/current/quotas/index.html). + + ## The Applied Quotas Model + + - name: Scopes (service-quota/v1) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + Gets a list of all available scopes for applied quotas. + + + Related guide: [Quota Scopes](https://docs.confluent.io/cloud/current/quotas/quotas.html#query-for-scopes). + + ## The Scopes Model + + - name: Entitlements (partner/v2) + description: | + [![Early Access](https://img.shields.io/badge/Lifecycle%20Stage-Early%20Access-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) [![Request Access To Partner v2](https://img.shields.io/badge/-Request%20Access%20To%20Partner%20v2-%23bc8540)](mailto:ccloud-api-access+partner-v2-early-access@confluent.io?subject=Request%20to%20join%20partner/v2%20API%20Early%20Access&body=I%E2%80%99d%20like%20to%20join%20the%20Confluent%20Cloud%20API%20Early%20Access%20for%20partner/v2%20to%20provide%20early%20feedback%21%20My%20Cloud%20Organization%20ID%20is%20%3Cretrieve%20from%20https%3A//confluent.cloud/settings/billing/payment%3E.) + + `Entitlement` objects represent metadata about a marketplace entitlement. + + An entitlement includes metadata about a marketplace purchase + (start date, end date, billing information, partner IDs, etc). + The API allows partners to create, read, and list entitlements. (Unless you + need entitlement creation and customer registration to be separate, + we recommend using the Signup API to create an organization and entitlement + at the same time) + + The API only allows authorized partners to interact with the Entitlements API. + - name: Regions (srcm/v2) + description: |- + [![Deprecated](https://img.shields.io/badge/Lifecycle%20Stage-Deprecated-%23ff005c)](#section/Versioning/API-Lifecycle-Policy) + + `Region` objects represent cloud provider regions available when placing Schema Registry clusters. + The API allows you to list Schema Registry regions. + + + Related guides: + * [Confluent Cloud providers and region support](https://docs.confluent.io/cloud/current/stream-governance/packages.html#cloud-providers-and-region-support). + * [srcm/v3 Migration Guide](https://docs.confluent.io/cloud/current/stream-governance/packages.html#deprecation-of-srcm-v2-clusters-and-regions-apis-and-upgrade-guide). + + + ## The Regions Model + + - name: Clusters (srcm/v2) + description: |- + [![Deprecated](https://img.shields.io/badge/Lifecycle%20Stage-Deprecated-%23ff005c)](#section/Versioning/API-Lifecycle-Policy) + + `Clusters` objects represent Schema Registry Clusters on Confluent Cloud. + + The API allows you to list, create, read, and delete your Schema Registry clusters. + + + Related guides: + * [Confluent Cloud Schema Registry Cluster APIs](https://docs.confluent.io/cloud/current/stream-governance/clusters-regions-api.html#schema-registry-cluster-management). + * [srcm/v3 Migration Guide](https://docs.confluent.io/cloud/current/stream-governance/packages.html#deprecation-of-srcm-v2-clusters-and-regions-apis-and-upgrade-guide). + + + ## The Clusters Model + + - name: Clusters (srcm/v3) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + `Clusters` objects represent Schema Registry Clusters on Confluent Cloud. + + The API allows you to list and read your Schema Registry clusters. + + + Related guide: [Confluent Cloud Schema Registry Cluster APIs](https://docs.confluent.io/cloud/current/stream-governance/clusters-regions-api.html#schema-registry-cluster-management). + + ## The Clusters Model + + - name: Compatibility (v1) + description: |- + [![Generally Available](https://img.shields.io/badge/Lifecycle%20Stage-Generally%20Available-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + The API allows you to test schema compatibility. + + Related guide: [Manage Schemas in Confluent Cloud](https://docs.confluent.io/cloud/current/sr/schemas-manage.html#manage-schemas-in-ccloud). + - name: Config (v1) + description: |- + [![Generally Available](https://img.shields.io/badge/Lifecycle%20Stage-Generally%20Available-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + The API allows you to manage and query schema compatibility settings and cluster configurations. + + Related guide: [Manage Schemas in Confluent Cloud](https://docs.confluent.io/cloud/current/sr/schemas-manage.html#manage-schemas-in-ccloud). + - name: Contexts (v1) + description: |- + [![Generally Available](https://img.shields.io/badge/Lifecycle%20Stage-Generally%20Available-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + The API allows you to retrieve information about schema contexts. + + Related guide: [Manage Schemas in Confluent Cloud](https://docs.confluent.io/cloud/current/sr/schemas-manage.html#manage-schemas-in-ccloud). + - name: Exporters (v1) + description: |- + [![Generally Available](https://img.shields.io/badge/Lifecycle%20Stage-Generally%20Available-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + The API allows you to create, retrieve, update, and delete exporters. + + Related guide: [Manage Schemas in Confluent Cloud](https://docs.confluent.io/cloud/current/sr/schemas-manage.html#manage-schemas-in-ccloud). + - name: Modes (v1) + description: |- + [![Generally Available](https://img.shields.io/badge/Lifecycle%20Stage-Generally%20Available-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + The API allows you to create, retrieve, update, and delete schema subjects modes of operation. + + Related guide: [Manage Schemas in Confluent Cloud](https://docs.confluent.io/cloud/current/sr/schemas-manage.html#manage-schemas-in-ccloud). + - name: Schemas (v1) + description: |- + [![Generally Available](https://img.shields.io/badge/Lifecycle%20Stage-Generally%20Available-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + The API allows you to create, retrieve, update, and delete schemas. + + Related guide: [Manage Schemas in Confluent Cloud](https://docs.confluent.io/cloud/current/sr/schemas-manage.html#manage-schemas-in-ccloud). + - name: Subjects (v1) + description: |- + [![Generally Available](https://img.shields.io/badge/Lifecycle%20Stage-Generally%20Available-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + The API allows you to create, retrieve, update, and delete schema subjects and versions. + + Related guide: [Manage Schemas in Confluent Cloud](https://docs.confluent.io/cloud/current/sr/schemas-manage.html#manage-schemas-in-ccloud). + - name: Key Encryption Keys (v1) + description: |- + [![Generally Available](https://img.shields.io/badge/Lifecycle%20Stage-Generally%20Available-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + The API allows you to create, retrieve, update, and delete key encryption keys. + + Related guide: [Manage Schemas in Confluent Cloud](https://docs.confluent.io/cloud/current/sr/schemas-manage.html#manage-schemas-in-ccloud). + - name: Data Encryption Keys (v1) + description: |- + [![Generally Available](https://img.shields.io/badge/Lifecycle%20Stage-Generally%20Available-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + The API allows you to create, retrieve, update, and delete data encryption keys. + + Related guide: [Manage Schemas in Confluent Cloud](https://docs.confluent.io/cloud/current/sr/schemas-manage.html#manage-schemas-in-ccloud). + - name: Entity (v1) + description: |- + [![Generally Available](https://img.shields.io/badge/Lifecycle%20Stage-Generally%20Available-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + The API allows you to create, retrieve, update, and delete catalog entities. + + Related guide: [Catalog API Documentation](https://docs.confluent.io/cloud/current/stream-governance/stream-catalog.html#catalog-api-documentation). + - name: Search (v1) + description: |- + [![Generally Available](https://img.shields.io/badge/Lifecycle%20Stage-Generally%20Available-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + The API allows you to search for entities. + + Related guide: [Catalog API Documentation](https://docs.confluent.io/cloud/current/stream-governance/stream-catalog.html#catalog-api-documentation). + - name: Types (v1) + description: |- + [![Generally Available](https://img.shields.io/badge/Lifecycle%20Stage-Generally%20Available-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + The API allows you to create, retrieve, update, and delete catalog types such as tag definitions. + + Related guide: [Catalog API Documentation](https://docs.confluent.io/cloud/current/stream-governance/stream-catalog.html#catalog-api-documentation). + - name: Provider Shared Resources (cdx/v1) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + `ProviderSharedResource` object contains details of the data stream + (topic, schema registry subjects, sharing metadata) that you have shared through Stream Sharing. + + + ## The Provider Shared Resources Model + + - name: Provider Shares (cdx/v1) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + `ProviderShare` object respresents the share that you have created through Stream Sharing. + + + Related guide: [Provider Stream Shares in Confluent Cloud](https://docs.confluent.io/cloud/current/stream-sharing/produce-shared-data.html#stream-shares). + + ## The Provider Shares Model + + - name: Consumer Shared Resources (cdx/v1) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + `ConsumerSharedResource` object contains details of the data stream + (topic, schema registry subjects, sharing metadata) that you received through Stream Sharing. + + + ## The Consumer Shared Resources Model + + - name: Consumer Shares (cdx/v1) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + `ConsumerShare` object respresents the share that you received through Stream Sharing. + + + Related guide: [Consumer Stream Shares in Confluent Cloud](https://docs.confluent.io/cloud/current/stream-sharing/consume-shared-data.html). + + ## The Consumer Shares Model + + - name: Shared Tokens (cdx/v1) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + Encrypted Token shared with consumer + + + ## The Shared Tokens Model + + - name: Opt Ins (cdx/v1) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + Stream sharing opt in options + + ## The Opt Ins Model + + - name: Organizations (partner/v2) + description: | + [![Early Access](https://img.shields.io/badge/Lifecycle%20Stage-Early%20Access-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) [![Request Access To Partner v2](https://img.shields.io/badge/-Request%20Access%20To%20Partner%20v2-%23bc8540)](mailto:ccloud-api-access+partner-v2-early-access@confluent.io?subject=Request%20to%20join%20partner/v2%20API%20Early%20Access&body=I%E2%80%99d%20like%20to%20join%20the%20Confluent%20Cloud%20API%20Early%20Access%20for%20partner/v2%20to%20provide%20early%20feedback%21%20My%20Cloud%20Organization%20ID%20is%20%3Cretrieve%20from%20https%3A//confluent.cloud/settings/billing/payment%3E.) + + `Organizations` objects represent an entire Confluent Cloud organization. + Partners are allowed to get an organization they have signed up or + list all organizations they have signed up. + - name: Signup (partner/v2) + description: | + [![Early Access](https://img.shields.io/badge/Lifecycle%20Stage-Early%20Access-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) [![Request Access To Partner v2](https://img.shields.io/badge/-Request%20Access%20To%20Partner%20v2-%23bc8540)](mailto:ccloud-api-access+partner-v2-early-access@confluent.io?subject=Request%20to%20join%20partner/v2%20API%20Early%20Access&body=I%E2%80%99d%20like%20to%20join%20the%20Confluent%20Cloud%20API%20Early%20Access%20for%20partner/v2%20to%20provide%20early%20feedback%21%20My%20Cloud%20Organization%20ID%20is%20%3Cretrieve%20from%20https%3A//confluent.cloud/settings/billing/payment%3E.) + + `Signup` APIs can only be performed by partners. + - name: Networks (networking/v1) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + `Network` represents a network (VPC) in Confluent Cloud. All Networks exist within Confluent-managed cloud + provider accounts. Dedicated networks support more networking options but can only contain Dedicated clusters. + Shared networks can contain any cluster type. + + The API allows you to list, create, read, update, and delete your networks. + + + Related guide: [APIs to manage networks in Confluent Cloud](https://docs.confluent.io/cloud/current/networking/overview.html). + + ## The Networks Model + + + ## Quotas and Limits + This resource is subject to the [following quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): + + | Quota | Description | + | --- | --- | + | `dedicated_networks_per_environment` | Number of dedicated networks per Confluent Cloud environment | + - name: Peerings (networking/v1) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + Add or remove VPC/VNet peering connections between your VPC/VNet and Confluent Cloud. + + Related guides: + * [Use VPC peering connections with Confluent Cloud on AWS](https://docs.confluent.io/cloud/current/networking/peering/aws-peering.html). + * [Use VNet peering connections with Confluent Cloud on Azure](https://docs.confluent.io/cloud/current/networking/peering/azure-peering.html). + * [Use VPC peering connections with Confluent Cloud on Google Cloud](https://docs.confluent.io/cloud/current/networking/peering/gcp-peering.html). + + + ## The Peerings Model + + + ## Quotas and Limits + This resource is subject to the [following quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): + + | Quota | Description | + | --- | --- | + | `peerings_per_network` | Number of peerings per network | + - name: Transit Gateway Attachments (networking/v1) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + AWS Transit Gateway Attachments + + Related guide: [APIs to manage AWS Transit Gateway Attachments](https://docs.confluent.io/cloud/current/networking/aws-transit-gateway.html). + + ## The Transit Gateway Attachments Model + + + ## Quotas and Limits + This resource is subject to the [following quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): + + | Quota | Description | + | --- | --- | + | `tgw_attachments_per_network` | Number of TGW attachments per network | + - name: Private Link Accesses (networking/v1) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + Add or remove access to PrivateLink endpoints by AWS account, Azure subscription and GCP project ID. + + Related guides: + * [Use Google Cloud Private Service Connect with Confluent Cloud](https://docs.confluent.io/cloud/current/networking/private-links/gcp-private-service-connect.html). + * [Use Azure Private Link with Confluent Cloud](https://docs.confluent.io/cloud/current/networking/private-links/azure-privatelink.html). + * [Use AWS PrivateLink with Confluent Cloud](https://docs.confluent.io/cloud/current/networking/private-links/aws-privatelink.html). + + + ## The Private Link Accesses Model + + + ## Quotas and Limits + This resource is subject to the [following quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): + + | Quota | Description | + | --- | --- | + | `private_link_accounts_per_network` | Number of AWS accounts per network | + | `private_link_subscriptions_per_network` | Number of Azure subscriptions per network | + | `private_service_connect_projects_per_network` | Number of GCP projects per network | + - name: Network Link Services (networking/v1) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + Network Link Service is associated with a Private Link Confluent Cloud Network. + It enables connectivity from other Private Link Confluent Cloud Networks based on + the configured accept policies. + + + Related guide: [Network Linking Overview](https://docs.confluent.io/cloud/current/networking/network-linking.html). + + ## The Network Link Services Model + + + ## Quotas and Limits + This resource is subject to the [following quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): + + | Quota | Description | + | --- | --- | + | `network_link_service_per_network` | Number of network link services per network | + - name: Network Link Endpoints (networking/v1) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + A Network Link Enpoint is associated with a Private Link Confluent Cloud Network at the origin and a + Network Link Service (associated with another Private Link Confluent Cloud Network) at the target. + It enables connectivity between the origin network and the target network. + It can only be associated with a Private Link network. + + + Related guide: [Network Linking Overview](https://docs.confluent.io/cloud/current/networking/network-linking.html). + + ## The Network Link Endpoints Model + + + ## Quotas and Limits + This resource is subject to the [following quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): + + | Quota | Description | + | --- | --- | + | `network_link_endpoints_per_network` | Number of network link endpoints per network | + - name: Network Link Service Associations (networking/v1) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + List of incoming Network Link Enpoints associated with the Network Link Service. + + + Related guide: [Network Linking Overview](https://docs.confluent.io/cloud/current/networking/network-linking.html). + + ## The Network Link Service Associations Model + + - name: Gateways (networking/v1) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + A gateway is a resource that defines network access to Confluent cloud resources. + + + ## The Gateways Model + + - name: IP Addresses (networking/v1) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + IP Addresses + + Related guide: [Use Public Egress IP addresses on Confluent Cloud](https://docs.confluent.io/cloud/current/networking/static-egress-ip-addresses.html) + + ## The IP Addresses Model + + - name: Private Link Attachments (networking/v1) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + PrivateLink attachment objects represent reservations to establish PrivateLink connections + to a cloud region in order to access resources that belong to a Confluent Cloud Environment. + The API allows you to list, create, read update and delete your PrivateLink attachments. + + + ## The Private Link Attachments Model + + + ## Quotas and Limits + This resource is subject to the [following quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): + + | Quota | Description | + | --- | --- | + | `private_link_attachments_per_environment` | Number of PrivateLink Attachments per environment | + - name: Private Link Attachment Connections (networking/v1) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + PrivateLink attachment connection objects represent connections established to a cloud region + in order to access resources that belong to a Confluent Cloud Environment. + The API allows you to list, create, read update and delete your PrivateLink attachment connections. + + + ## The Private Link Attachment Connections Model + + - name: Identity Providers (iam/v2) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + `IdentityProvider` objects represent external OAuth-OIDC providers in Confluent Cloud. + + The API allows you to list, create, read, update, and delete your Identity Provider. + + + Related guide: [OAuth for Confluent Cloud](https://docs.confluent.io/cloud/current/access-management/authenticate/oauth/overview.html). + + ## The Identity Providers Model + + + ## Quotas and Limits + This resource is subject to the [following quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): + + | Quota | Description | + | --- | --- | + | `identity_providers_per_org` | Number of OAuth identity providers per organization | + | `public_keys_per_provider` | Number of public keys saved per identity provider | + - name: Jwks (iam/v2) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + `JWKS` objects represent public key sets for a specific OAuth/OpenID Connect provider within + Confluent Cloud. + + The API allows you to refresh JWKS public key data. + + + Related guide: [OAuth for Confluent Cloud](https://docs.confluent.io/cloud/current/access-management/authenticate/oauth/overview.html). + + ## The Jwks Model + + - name: Identity Pools (iam/v2) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + `IdentityPool` objects represent groups of identities tied to a given a `IdentityProvider` + that authorizes them to Confluent Cloud resources. + + It provides a mapping functionality of your `Identity Provider` user to a Confluent identity pool that + is then used to provide access to Confluent Resources. + + + Related guide: [Use identity pools with your OAuth provider](https://docs.confluent.io/cloud/current/access-management/authenticate/oauth/identity-pools.html). + + ## The Identity Pools Model + + + ## Quotas and Limits + This resource is subject to the [following quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): + + | Quota | Description | + | --- | --- | + | `identity_pools_per_provider` | Number of Identity Pools per Identity Provider | + - name: OAuth Tokens (sts/v1) + description: | + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + OAuth Token is a [JSON Web Token (JWT)](https://www.rfc-editor.org/rfc/rfc7519) that enables the use of + external identities to access Confluent Cloud APIs + - name: Client Quotas (kafka-quotas/v1) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + `ClientQuota` objects represent Client Quotas you can set at the service account level. + + The API allows you to list, create, read, update, and delete your client quotas. + + + Related guide: [Client Quotas in Confluent Cloud](https://docs.confluent.io/cloud/current/clusters/client-quotas.html). + + ## The Client Quotas Model + + - name: Pipelines (sd/v1) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + `Pipeline` objects represent information about a user-defined pipeline of Confluent Cloud components. + The pipeline's content is available separately. + + The API allows you to create, retrieve, update, and delete your pipelines, + as well as list all of your pipelines for the particular environment and Kafka cluster. + + + Related guide: [Pipelines in Confluent Cloud](https://docs.confluent.io/cloud/current/stream-designer/). + + ## The Pipelines Model + + + ## Quotas and Limits + This resource is subject to the [following quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): + + | Quota | Description | + | --- | --- | + | `pipelines_per_org` | Pipelines in one Confluent Cloud organization | + | `pipelines_per_cluster` | Pipelines in one Confluent Cloud Kafka cluster | + - name: Keys (byok/v1) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + `Key` objects represent customer managed keys on dedicated Confluent Cloud clusters. + + Keys are used to protect data at rest stored in your dedicated Confluent Cloud clusters on AWS, Azure, and GCP. + This API allows you to upload and retrieve self-managed keys on Confluent Cloud. + + + Related guide: [Confluent Cloud Bring Your Own Key (BYOK) Management API](https://docs.confluent.io/cloud/current/clusters/byok/index.html). + + ## The Keys Model + + + ## Quotas and Limits + This resource is subject to the [following quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): + + | Quota | Description | + | --- | --- | + | `byok.max_keys.per_org` | BYOK keys in one Confluent Cloud organisation. | + - name: Costs (billing/v1) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + `Cost` objects represent the aggregated billing costs for an organization + + + Related guide: [Retrieve costs for a range of dates](https://docs.confluent.io/cloud/current/billing/overview.html#retrieve-costs-for-a-range-of-dates). + + ## The Costs Model + + - name: Group Mappings (iam/v2/sso) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + `GroupMapping` objects establish relationships between user groups in your SSO + identity provider and specific RBAC roles in Confluent Cloud. + + Group mappings enable automated and secure access control to Confluent Cloud resources, + reducing administrative workload by streamlining user provisioning and authorization. + + + Related guide: [Use group mappings with your SSO identity provider](https://docs.confluent.io/cloud/current/access-management/authenticate/sso/group-mapping/overview.html). + + ## The Group Mappings Model + + + ## Quotas and Limits + This resource is subject to the [following quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): + + | Quota | Description | + | --- | --- | + | `group_mappings_per_org` | Number of group mappings per organization | + - name: Compute Pools (fcpm/v2) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + A Compute Pool represents a set of compute resources that is used to run your Queries. + The resources (CPUs, memory,…) provided by a Compute Pool are shared between all Queries that use it. + + + ## The Compute Pools Model + + - name: Regions (fcpm/v2) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + `Region` objects represent cloud provider regions available when placing Flink compute pools. + The API allows you to list Flink regions. + + + ## The Regions Model + + - name: Statements (sql/v1) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + `Statement` represents a core resource used to model SQL statements for execution. + A statement generalizes DDL, DML, DQL, etc., but doesn’t attempt to handle session + management or any higher-level functionality. + The API allows you to list, create, read, and delete your statements. + ## The Statements Model + + - name: Statement Results (sql/v1) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + `StatementResult` represents a result of a `Statement` resource. + The API allows you to read your statement's results. + ## The Statement Results Model + + - name: Statement Exceptions (sql/v1) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + `StatementException` represents an exception of a `Statement` resource. + The API allows you to read your statement's exceptions. + ## The Statement Exceptions Model + + - name: Connections (sql/v1) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + `Connection` represents a core resource used to model SQL connections for execution. + A connection generalizes DDL, DML, DQL, etc., but doesn’t attempt to handle session + management or any higher-level functionality. + The API allows you to list, create, read, and delete your connections. + ## The Connections Model + + - name: DNS Forwarders (networking/v1) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + Add, remove, and update DNS forwarder for your gateway. + + Related guides: + * [Use VPC peering connections with Confluent Cloud on AWS](https://docs.confluent.io/cloud/current/networking/peering/aws-peering.html). + * [Use VNet peering connections with Confluent Cloud on Azure](https://docs.confluent.io/cloud/current/networking/peering/azure-peering.html). + + + ## The DNS Forwarders Model + + - name: Access Points (networking/v1) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + AccessPoint objects represent network connections in and out of Gateways. + This API allows you to list, create, read, update, and delete your access points. + + + ## The Access Points Model + + - name: DNS Records (networking/v1) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + DNS record objects are associated with Confluent Cloud networking resources. This API allows you to list, create, read, update, and delete your DNS records. + + ## The DNS Records Model + + - name: Certificate Authorities (iam/v2) + description: |- + [![Limited Availability](https://img.shields.io/badge/Lifecycle%20Stage-Limited%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + `CertificateAuthority` objects represent signing certificate authorities in Confluent Cloud. + + The API allows you to list, create, read, update, and delete your Certificate Authority. + + + Related guide: [Manage certificate authorities used for client authentication with X.509 certificates.](https://docs.confluent.io/cloud/current/access-management/authenticate/mtls/overview.html). + + ## The Certificate Authorities Model + + + ## Quotas and Limits + This resource is subject to the [following quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): + + | Quota | Description | + | --- | --- | + | `certificate_authorities_per_org` | Number of certificate authorities per organization | + - name: Certificate Identity Pools (iam/v2) + description: |- + [![Limited Availability](https://img.shields.io/badge/Lifecycle%20Stage-Limited%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + `Identitypool` objects represent workload identities in Confluent Cloud. + + The API allows you to list, create, read, update, and delete your identity pools associated + with Certificate Authorities + + + Related guide: [Manage Certificate Identity Pools for Granular Client Access Management](https://docs.confluent.io/cloud/current/access-management/authenticate/mtls/configure.html#step-2-create-certificate-identity-pools-for-granular-access-control). + + ## The Certificate Identity Pools Model + + + ## Quotas and Limits + This resource is subject to the [following quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): + + | Quota | Description | + | --- | --- | + | `identity_pools_per_certificate_authority` | Number of Identity Pools per Certificate Authority | + - name: Integrations (pim/v1) + description: |- + [![Early Access](https://img.shields.io/badge/Lifecycle%20Stage-Early%20Access-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) [![Request Access To Provider Integration](https://img.shields.io/badge/-Request%20Access%20To%20Provider%20Integration-%23bc8540)](mailto:ccloud-api-access+pim-v1-early-access@confluent.io?subject=Request%20to%20join%20pim/v1%20API%20Early%20Access&body=I%E2%80%99d%20like%20to%20join%20the%20Confluent%20Cloud%20API%20Early%20Access%20for%20pim/v1%20to%20provide%20early%20feedback%21%20My%20Cloud%20Organization%20ID%20is%20%3Cretrieve%20from%20https%3A//confluent.cloud/settings/billing/payment%3E.) + + `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, and delete individual integrations, and also obtain a + list of all your provider integrations. + + + Related guide: [Provider Integration in Confluent Cloud](https://docs.confluent.io/home/overview.html). + + ## The Integrations Model + + - name: Flink Artifacts (artifact/v1) + description: |- + [![Early Access](https://img.shields.io/badge/Lifecycle%20Stage-Early%20Access-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) [![Request Access To Flink Artifact API EA](https://img.shields.io/badge/-Request%20Access%20To%20Flink%20Artifact%20API%20EA-%23bc8540)](mailto:ccloud-api-access+artifact-v1-early-access@confluent.io?subject=Request%20to%20join%20artifact/v1%20API%20Early%20Access&body=I%E2%80%99d%20like%20to%20join%20the%20Confluent%20Cloud%20API%20Early%20Access%20for%20artifact/v1%20to%20provide%20early%20feedback%21%20My%20Cloud%20Organization%20ID%20is%20%3Cretrieve%20from%20https%3A//confluent.cloud/settings/billing/payment%3E.) + + FlinkArtifact objects represent Flink Artifacts on Confluent Cloud. + + + ## The Flink Artifacts Model + + - name: Presigned Urls (artifact/v1) + description: |- + [![Early Access](https://img.shields.io/badge/Lifecycle%20Stage-Early%20Access-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) [![Request Access To Flink Artifact API EA](https://img.shields.io/badge/-Request%20Access%20To%20Flink%20Artifact%20API%20EA-%23bc8540)](mailto:ccloud-api-access+artifact-v1-early-access@confluent.io?subject=Request%20to%20join%20artifact/v1%20API%20Early%20Access&body=I%E2%80%99d%20like%20to%20join%20the%20Confluent%20Cloud%20API%20Early%20Access%20for%20artifact/v1%20to%20provide%20early%20feedback%21%20My%20Cloud%20Organization%20ID%20is%20%3Cretrieve%20from%20https%3A//confluent.cloud/settings/billing/payment%3E.) + + Request a presigned upload URL for new Flink Artifact. Note that + the URL policy expires in one hour. If the policy expires, you can request + a new presigned upload URL. + + + ## The Presigned Urls Model + + - name: Flink Artifact Versions (artifact/v1) + description: |- + [![Early Access](https://img.shields.io/badge/Lifecycle%20Stage-Early%20Access-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) [![Request Access To Flink Artifact API EA](https://img.shields.io/badge/-Request%20Access%20To%20Flink%20Artifact%20API%20EA-%23bc8540)](mailto:ccloud-api-access+artifact-v1-early-access@confluent.io?subject=Request%20to%20join%20artifact/v1%20API%20Early%20Access&body=I%E2%80%99d%20like%20to%20join%20the%20Confluent%20Cloud%20API%20Early%20Access%20for%20artifact/v1%20to%20provide%20early%20feedback%21%20My%20Cloud%20Organization%20ID%20is%20%3Cretrieve%20from%20https%3A//confluent.cloud/settings/billing/payment%3E.) + + FlinkArtifactVersion objects represent Flink Artifact Versions on Confluent Cloud. + + + ## The Flink Artifact Versions Model + +components: + schemas: + SearchFilter: + description: Filter a collection by a string search + type: string + partner.v2.EntitlementList: + type: object + description: '`Entitlement` objects represent metadata about a marketplace entitlement.' + required: + - api_version + - kind + - metadata + - data + properties: + api_version: + type: string + enum: + - partner/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: + - EntitlementList + metadata: + $ref: '#/components/schemas/ListMeta' + data: + type: array + items: + allOf: + - $ref: '#/components/schemas/partner.v2.Entitlement' + - type: object + required: + - id + - metadata + - external_id + - name + - plan_id + - product_id + uniqueItems: true + additionalProperties: false + ListMeta: + type: object + description: ListMeta describes metadata that resource collections may have + properties: + first: + description: 'A link to the first page of results. If a response does not contain a first link, then direct navigation to the first page is not supported.' + type: string + 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 + partner.v2.Entitlement: + type: object + description: '`Entitlement` objects represent metadata about a marketplace entitlement.' + properties: + api_version: + type: string + enum: + - partner/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: + - Entitlement + 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 + readOnly: true + example: dlz-f3a90de + metadata: + $ref: '#/components/schemas/ObjectMeta' + external_id: + type: string + description: The unique external ID of the entitlement (this should be unique to customer) + example: 1111-2222-3333-4444 + name: + type: string + description: The name of the entitlement + example: Acme Prod Entitlement + plan_id: + type: string + description: The plan ID the entitlement + example: confluent-cloud-payg-prod + x-extensible-enum: + - confluent-cloud-payg-prod + - payg-prod.gcpmarketplace.confluent.cloud + product_id: + type: string + description: The product ID of the entitlement + example: confluent-cloud-kafka-service-azure + x-extensible-enum: + - confluent-cloud-kafka-service-azure + - confluent-cloud-for-apache-kafka + - payg-prod.gcpmarketplace.confluent.cloud + usage_reporting_id: + type: string + description: | + The usage reporting ID of the entitlement (if usage reporting uses + a different ID, otherwise, same as external_id) + example: 1111-2222-3333-4444 + resource_id: + type: string + description: The resource ID of the entitlement + example: 1111-2222-3333-4444 + organization: + allOf: + - $ref: '#/components/schemas/ObjectReference' + - required: + - related + description: The organization associated with this object. + additionalProperties: false + AclOperation: + type: string + x-extensible-enum: + - UNKNOWN + - ANY + - ALL + - READ + - WRITE + - CREATE + - DELETE + - ALTER + - DESCRIBE + - CLUSTER_ACTION + - DESCRIBE_CONFIGS + - ALTER_CONFIGS + - IDEMPOTENT_WRITE + AclPatternType: + type: string + x-extensible-enum: + - UNKNOWN + - ANY + - MATCH + - LITERAL + - PREFIXED + AclPermission: + type: string + x-extensible-enum: + - UNKNOWN + - ANY + - DENY + - ALLOW + AclResourceType: + type: string + enum: + - UNKNOWN + - ANY + - TOPIC + - GROUP + - CLUSTER + - TRANSACTIONAL_ID + - DELEGATION_TOKEN + BrokerTaskType: + type: string + enum: + - add-broker + - remove-broker + MirrorTopicStatus: + enum: + - ACTIVE + - FAILED + - LINK_FAILED + - LINK_PAUSED + - PAUSED + - PENDING_STOPPED + - SOURCE_UNAVAILABLE + - STOPPED + - PENDING_MIRROR + - PENDING_SYNCHRONIZE + - PENDING_SETUP_FOR_RESTORE + - PENDING_RESTORE + type: string + Failure: + type: object + description: Provides information about problems encountered while performing an operation. + required: + - errors + properties: + errors: + description: List of errors which caused this operation to fail + type: array + items: + $ref: '#/components/schemas/Error' + uniqueItems: true + AlterConfigBatchRequestData: + type: object + required: + - data + properties: + data: + type: array + items: + type: object + required: + - name + properties: + name: + type: string + value: + type: string + nullable: true + operation: + type: string + x-extensible-enum: + - SET + - DELETE + nullable: true + validate_only: + type: boolean + CreateAclRequestData: + type: object + required: + - resource_type + - resource_name + - pattern_type + - principal + - host + - operation + - permission + properties: + resource_type: + $ref: '#/components/schemas/AclResourceType' + resource_name: + type: string + pattern_type: + $ref: '#/components/schemas/AclPatternType' + principal: + type: string + host: + type: string + operation: + $ref: '#/components/schemas/AclOperation' + permission: + $ref: '#/components/schemas/AclPermission' + CreateAclRequestDataList: + allOf: + - type: object + required: + - data + properties: + data: + type: array + items: + $ref: '#/components/schemas/CreateAclRequestData' + CreateTopicRequestData: + type: object + required: + - topic_name + properties: + topic_name: + type: string + partitions_count: + type: integer + replication_factor: + type: integer + configs: + type: array + items: + type: object + required: + - name + properties: + name: + type: string + value: + type: string + nullable: true + validate_only: + type: boolean + ProduceRequest: + type: object + properties: + partition_id: + type: integer + nullable: true + format: int32 + headers: + type: array + items: + $ref: '#/components/schemas/ProduceRequestHeader' + key: + $ref: '#/components/schemas/ProduceRequestData' + value: + $ref: '#/components/schemas/ProduceRequestData' + timestamp: + type: string + format: date-time + nullable: true + UpdateConfigRequestData: + type: object + properties: + value: + type: string + nullable: true + CreateLinkRequestData: + properties: + source_cluster_id: + type: string + destination_cluster_id: + type: string + remote_cluster_id: + description: The expected remote cluster ID. + type: string + cluster_link_id: + description: 'The expected cluster link ID. Can be provided when creating the second side of a bidirectional link for validating the link ID is as expected. If it''s not provided, it''s inferred from the remote cluster.' + type: string + configs: + items: + $ref: '#/components/schemas/ConfigData' + type: array + type: object + UpdateLinkConfigRequestData: + properties: + value: + type: string + required: + - value + type: object + CreateMirrorTopicRequestData: + properties: + source_topic_name: + type: string + mirror_topic_name: + type: string + replication_factor: + type: integer + configs: + type: array + items: + $ref: '#/components/schemas/ConfigData' + required: + - source_topic_name + type: object + AlterMirrorsRequestData: + properties: + mirror_topic_names: + description: The mirror topics specified as a list of topic names. + type: array + items: + type: string + mirror_topic_name_pattern: + description: The mirror topics specified as a pattern. + type: string + type: object + RemoveBrokersRequestData: + properties: + broker_ids: + type: array + items: + type: integer + required: + - broker_ids + type: object + BrokerReplicaExclusionBatchRequestData: + type: object + required: + - data + properties: + data: + type: array + items: + $ref: '#/components/schemas/BrokerReplicaExclusionRequestData' + ObjectMeta: + description: 'ObjectMeta is metadata that all persisted resources must have, which includes all objects users must create.' + required: + - self + properties: + self: + description: 'Self is a Uniform Resource Locator (URL) at which an object can be addressed. This URL encodes the service location, API version, and other particulars necessary to locate the resource at a point in time' + type: string + format: uri + readOnly: true + example: 'https://api.confluent.cloud/v2/kafka-clusters/lkc-f3a90de' + resource_name: + description: Resource Name is a Uniform Resource Identifier (URI) that is globally unique across space and time. It is represented as a Confluent Resource Name + type: string + format: uri + readOnly: true + example: 'crn://confluent.cloud/kafka=lkc-f3a90de' + created_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: The date and time at which this object was created. It is represented in RFC3339 format and is in UTC. + updated_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: The date and time at which this object was last updated. It is represented in RFC3339 format and is in UTC. + deleted_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: The date and time at which this object was (or will be) deleted. It is represented in RFC3339 format and is in UTC. + readOnly: true + ObjectReference: + type: object + description: ObjectReference provides information for you to locate the referred object + required: + - id + - related + - resource_name + properties: + id: + type: string + description: ID of the referred resource + minLength: 1 + maxLength: 255 + environment: + type: string + description: 'Environment of the referred resource, if env-scoped' + minLength: 1 + maxLength: 255 + related: + type: string + format: uri + description: API URL for accessing or modifying the referred object + minLength: 1 + readOnly: true + resource_name: + type: string + format: uri + description: CRN reference to the referred resource + minLength: 1 + readOnly: true + api_version: + type: string + description: API group and version of the referred resource + minLength: 1 + readOnly: true + kind: + type: string + description: Kind of the referred resource + minLength: 1 + readOnly: true + Error: + type: object + description: Describes a particular error encountered while performing an operation. + properties: + id: + description: A unique identifier for this particular occurrence of the problem. + type: string + maxLength: 255 + status: + description: 'The HTTP status code applicable to this problem, expressed as a string value.' + type: string + code: + description: 'An application-specific error code, expressed as a string value.' + type: string + title: + description: 'A short, human-readable summary of the problem. It **SHOULD NOT** change from occurrence to occurrence of the problem, except for purposes of localization.' + type: string + detail: + description: A human-readable explanation specific to this occurrence of the problem. + type: string + source: + type: object + description: 'If this error was caused by a particular part of the API request, the source will point to the query string parameter or request body property that caused it.' + properties: + pointer: + description: 'A JSON Pointer [RFC6901] to the associated entity in the request document [e.g. "/spec" for a spec object, or "/spec/title" for a specific field].' + type: string + parameter: + description: A string indicating which query parameter caused the error. + type: string + error_code: + type: integer + format: int32 + message: + type: string + nullable: true + additionalProperties: false + ProduceRequestHeader: + type: object + required: + - name + properties: + name: + type: string + value: + type: string + format: byte + nullable: true + ProduceRequestData: + type: object + properties: + type: + type: string + x-extensible-enum: + - BINARY + - JSON + - STRING + data: + $ref: '#/components/schemas/AnyValue' + nullable: true + ConfigData: + example: + name: name + value: value + properties: + name: + type: string + value: + nullable: true + type: string + required: + - name + - value + BrokerReplicaExclusionRequestData: + type: object + required: + - broker_id + - reason + properties: + broker_id: + type: integer + reason: + type: string + AnyValue: + nullable: true + partner.v2.Organization: + type: object + description: '`Organizations` objects represent an entire Confluent Cloud organization.' + properties: + api_version: + type: string + enum: + - partner/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: + - Organization + 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 + readOnly: true + example: dlz-f3a90de + metadata: + $ref: '#/components/schemas/ObjectMeta' + name: + type: string + description: The name of the organization + example: Acme Organization + pattern: '^[^<>#%''*^`{|}~\"]{1,31}$' + sso_url: + type: string + format: uri + description: The login URL for the customer to access Confluent Cloud + example: 'https://confluent.cloud/login/sso/AzureAD-OIDC-Conn' + readOnly: true + sso_config: + oneOf: + - $ref: '#/components/schemas/AzureSSOConfig' + discriminator: + propertyName: kind + additionalProperties: false + AzureSSOConfig: + type: object + required: + - kind + - tenant_id + properties: + kind: + type: string + example: AzureSSOConfig + tenant_id: + type: string + example: b3a17773-05cc-4431-9560-433fb4613da8 + description: The Azure AD tenant ID + partner.v2.OrganizationList: + type: object + description: '`Organizations` objects represent an entire Confluent Cloud organization.' + required: + - api_version + - kind + - metadata + - data + properties: + api_version: + type: string + enum: + - partner/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: + - OrganizationList + metadata: + $ref: '#/components/schemas/ListMeta' + data: + type: array + items: + allOf: + - $ref: '#/components/schemas/partner.v2.Organization' + - type: object + required: + - id + - metadata + uniqueItems: true + additionalProperties: false + PartnerSignupRequest: + type: object + description: The partner signup request + required: + - organization + - entitlement + properties: + organization: + allOf: + - $ref: '#/components/schemas/partner.v2.Organization' + - required: + - name + - sso_config + user: + allOf: + - $ref: '#/components/schemas/v2.User' + - required: + - given_name + - family_name + - email + entitlement: + oneOf: + - allOf: + - $ref: '#/components/schemas/partner.v2.Entitlement' + - required: + - external_id + - name + - plan_id + - product_id + - allOf: + - $ref: '#/components/schemas/ObjectReference' + - required: + - related + PartnerSignupResponse: + type: object + description: The partner signup response + required: + - organization_id + - sso_url + properties: + organization_id: + type: string + description: The ID of the organization + example: b3a17773-05cc-4431-9560-433fb4613da8 + sso_url: + type: string + format: uri + description: The login URL for the customer to access Confluent Cloud + example: 'https://confluent.cloud/login/sso/AzureAD-OIDC-Conn' + display_message: + type: string + description: The display message contains useful information which is shown on the Marketplace UI to the customers. + example: 'Your support plan will remain the same, to change the plan, follow this [link](https://docs.confluent.io/cloud/current/faq.html#how-do-i-change-support-plans).' + v2.User: + type: object + ActivatePartnerSignupRequest: + type: object + description: The partner signup activation request + required: + - user + - organization_id + properties: + user: + allOf: + - $ref: '#/components/schemas/v2.User' + - required: + - given_name + - family_name + - email + organization_id: + type: string + description: The ID of the organization + example: b3a17773-05cc-4431-9560-433fb4613da8 + PartnerLinkRequest: + type: object + description: The partner linking request + required: + - token + - organization + - entitlement + properties: + token: + type: string + description: The linking token that was generated. + example: eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiIxMjM0NTY3ODkwIiwibmFtZSI6IkpvaG4gRG9lIiwiaWF0IjoxNTE2MjM5MDIyfQ.SflKxwRJSMeKKF2QT4fwpMeJf36POk6yJV_adQssw5c + x-redact: true + organization: + allOf: + - $ref: '#/components/schemas/partner.v2.Organization' + - required: + - sso_config + entitlement: + oneOf: + - allOf: + - $ref: '#/components/schemas/partner.v2.Entitlement' + - required: + - external_id + - name + - plan_id + - product_id + - allOf: + - $ref: '#/components/schemas/ObjectReference' + - required: + - related + parameters: + AclHost: + name: host + description: The ACL host. + in: query + required: false + schema: + type: string + AclOperation: + name: operation + description: The ACL operation. + in: query + required: false + schema: + $ref: '#/components/schemas/AclOperation' + AclOperationRequired: + name: operation + description: The ACL operation. + in: query + required: true + schema: + $ref: '#/components/schemas/AclOperation' + AclPatternType: + name: pattern_type + description: The ACL pattern type. + in: query + required: false + schema: + $ref: '#/components/schemas/AclPatternType' + AclPatternTypeRequired: + name: pattern_type + description: The ACL pattern type. + in: query + required: true + schema: + $ref: '#/components/schemas/AclPatternType' + AclPermission: + name: permission + description: The ACL permission. + in: query + required: false + schema: + $ref: '#/components/schemas/AclPermission' + AclPermissionRequired: + name: permission + description: The ACL permission. + in: query + required: true + schema: + $ref: '#/components/schemas/AclPermission' + AclPrincipal: + name: principal + description: The ACL principal. This is the Service Account name or user name. + in: query + required: false + schema: + type: string + AclResourceName: + name: resource_name + description: The ACL resource name. + in: query + required: false + schema: + type: string + AclResourceType: + name: resource_type + description: The ACL resource type. + in: query + required: false + schema: + $ref: '#/components/schemas/AclResourceType' + AclResourceTypeRequired: + name: resource_type + description: The ACL resource type. + in: query + required: true + schema: + $ref: '#/components/schemas/AclResourceType' + BrokerId: + name: broker_id + description: The Kafka broker ID. + in: path + required: true + schema: + type: integer + example: 1 + ClusterId: + name: cluster_id + description: The Kafka cluster ID. + in: path + required: true + schema: + type: string + example: cluster-1 + ConfigName: + name: name + description: The configuration parameter name. + in: path + required: true + schema: + type: string + example: compression.type + ConsumerGroupId: + name: consumer_group_id + description: The consumer group ID. + in: path + required: true + schema: + type: string + example: consumer-group-1 + ConsumerId: + name: consumer_id + description: The consumer ID. + in: path + required: true + schema: + type: string + example: consumer-1 + IncludeAuthorizedOperations: + name: include_authorized_operations + description: Specify if authorized operations should be included in the response. + in: query + required: false + schema: + type: boolean + PartitionId: + name: partition_id + description: The partition ID. + in: path + required: true + schema: + type: integer + example: 0 + TopicName: + name: topic_name + description: The topic name. + in: path + required: true + schema: + type: string + example: topic-1 + BrokerTaskType: + name: task_type + description: The Kafka broker task type. + in: path + required: true + schema: + $ref: '#/components/schemas/BrokerTaskType' + example: remove-broker + ShouldShutdown: + name: should_shutdown + description: 'To shutdown the broker or not, Default: true' + in: query + required: false + schema: + type: boolean + example: true + ValidateOnly: + name: validate_only + description: 'To validate the action can be performed successfully or not. Default: false' + in: query + required: false + schema: + type: boolean + example: false + ValidateLink: + name: validate_link + description: 'To synchronously validate that the source cluster ID is expected and the dest cluster has the permission to read topics in the source cluster. Default: true' + in: query + required: false + schema: + type: boolean + example: false + IncludeTasks: + name: include_tasks + description: 'Whether to include cluster linking tasks in the response. Default: false' + in: query + required: false + schema: + type: boolean + example: false + IncludeStateTransitionErrors: + name: include_state_transition_errors + description: 'Whether to include mirror state transition errors in the response. Default: false' + in: query + required: false + schema: + type: boolean + example: false + Force: + name: force + description: 'Force the action. Default: false' + in: query + required: false + schema: + type: boolean + example: false + IncludePartitionLevelTruncationData: + name: include_partition_level_truncation_data + description: 'Whether to include partition level truncation information when truncating and restoring a topic in the response. Default: false' + in: query + required: false + schema: + type: boolean + example: false + LinkName: + name: link_name + description: The link name + in: path + required: true + schema: + type: string + example: link-sb1 + LinkConfigName: + name: config_name + description: The link config name + in: path + required: true + schema: + type: string + example: consumer.offset.sync.enable + MirrorTopicStatus: + name: mirror_status + description: 'The status of the mirror topic. If not specified, all mirror topics will be returned.' + in: query + required: false + schema: + $ref: '#/components/schemas/MirrorTopicStatus' + example: ACTIVE + MirrorTopicName: + name: mirror_topic_name + description: Cluster Linking mirror topic name + in: path + required: true + schema: + type: string + example: topic-1 + QueryParamLinkName: + name: link_name + description: The link name + in: query + required: true + schema: + type: string + example: link-sb1 + responses: + BadRequestError: + description: Bad Request + headers: + X-Request-Id: + schema: + type: string + description: The unique identifier for the API request. + content: + application/json: + schema: + $ref: '#/components/schemas/Failure' + example: + errors: + - id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d + status: '400' + code: invalid_filter + title: Invalid Filter + detail: The 'delorean' resource can't be filtered by 'num_doors' + source: + parameter: num_doors + UnauthenticatedError: + x-summary: Unauthorized + description: The request lacks valid authentication credentials for this resource. + headers: + X-Request-Id: + schema: + type: string + description: The unique identifier for the API request. + WWW-Authenticate: + schema: + type: string + description: The unique identifier for the API request. + example: 'Basic error="invalid_key", error_description="The API Key is invalid"' + content: + application/json: + schema: + $ref: '#/components/schemas/Failure' + example: + errors: + - id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d + status: '401' + code: user_unauthenticated + title: Authentication Required + detail: Valid authentication credentials must be provided + UnauthorizedError: + x-summary: Forbidden + description: The access credentials were considered insufficient to grant access + headers: + X-Request-Id: + schema: + type: string + description: The unique identifier for the API request. + content: + application/json: + schema: + $ref: '#/components/schemas/Failure' + example: + errors: + - id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d + status: '403' + code: user_unauthorized + title: User Access Unauthorized + detail: The user 'mcfly' is not allowed to access the 'delorean' resource without the 'plutonium' role. + RateLimitError: + description: Rate Limit Exceeded + headers: + X-Request-Id: + schema: + type: string + description: The unique identifier for the API request. + X-RateLimit-Limit: + schema: + type: integer + description: The maximum number of requests you're permitted to make per time period. + X-RateLimit-Remaining: + schema: + type: integer + description: The number of requests remaining in the current rate limit window. + X-RateLimit-Reset: + schema: + type: integer + description: |- + The relative time in seconds until the current rate-limit window resets. + + **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. + DefaultSystemError: + description: 'Oops, something went wrong!' + headers: + X-Request-Id: + schema: + type: string + description: The unique identifier for the API request. + content: + application/json: + schema: + $ref: '#/components/schemas/Failure' + example: + errors: + - id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d + status: '500' + code: out_of_gas + title: DeLorean Out Of Gas + detail: 'The DeLorean has run out of gas, but Doc Brown will fill ''er up for you asap' + ConflictError: + x-summary: Conflict + description: The request is in conflict with the current server state + headers: + X-Request-Id: + schema: + type: string + description: The unique identifier for the API request. + Location: + schema: + type: string + format: uri + example: 'https://api.confluent.cloud/{object}/{id}' + description: Resource URI of conflicting resource + content: + application/json: + schema: + $ref: '#/components/schemas/Failure' + example: + errors: + - id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d + status: '409' + code: resource_already_exists + title: Resource Already exists + detail: The entitlement '91e3e86f-fca6-4f14-98f5-a48e64113ce2' already exists. + NotFoundError: + description: Not Found + headers: + X-Request-Id: + schema: + type: string + description: The unique identifier for the API request. + content: + application/json: + schema: + $ref: '#/components/schemas/Failure' + example: + errors: + - id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d + status: '404' + title: Not Found + securitySchemes: + cloud-api-key: + type: http + scheme: basic + description: Authenticate with Cloud API Keys using HTTP Basic Auth. Treat the Cloud API Key ID as the username and Cloud API Key Secret as the password. + confluent-sts-access-token: + type: oauth2 + description: Authenticate with Confluent API using this credentials (JSON Web Tokens) following OAuth 2.0. + flows: + clientCredentials: + tokenUrl: 'https://api.confluent.cloud/sts/v1/oauth2/token' + scopes: {} + api-key: + type: http + scheme: basic + description: Authenticate with API Keys using HTTP Basic Auth. Treat the API Key ID as the username and API Key Secret as the password. + resource-api-key: + type: http + scheme: basic + description: | + Authenticate with resource-specific API Keys using HTTP Basic Auth. Treat the resource-specific API Key ID + as the username and resource-specific API Key Secret as the password. + external-access-token: + type: oauth2 + description: Authenticate with OAuth 2.0. + flows: + clientCredentials: + tokenUrl: 'https:///token' + scopes: {} + oauth: + type: oauth2 + description: Authenticate with OAuth 2.0. Currently this is only supported for partner APIs. + flows: + clientCredentials: + tokenUrl: /oauth2/token + scopes: + 'partner:alter': enables partners to alter entitlements + 'partner:create': enables partners to create entitlements and signup on behalf of customers + 'partner:delete': enables partners to delete entitlements and organizations + 'partner:describe': enables partners to read and list entitlements and organizations + requestBodies: + AlterBrokerConfigBatchRequest: + description: The alter broker configuration parameter batch request. + content: + application/json: + schema: + $ref: '#/components/schemas/AlterConfigBatchRequestData' + example: + data: + - name: max.connections + operation: DELETE + - name: compression.type + value: gzip + AlterClusterConfigBatchRequest: + description: The alter cluster configuration parameter batch request. + content: + application/json: + schema: + $ref: '#/components/schemas/AlterConfigBatchRequestData' + example: + data: + - name: max.connections + operation: DELETE + - name: compression.type + value: gzip + AlterTopicConfigBatchRequest: + description: The alter topic configuration parameter batch request. + content: + application/json: + schema: + $ref: '#/components/schemas/AlterConfigBatchRequestData' + examples: + batch_alter_topic_configs: + value: + data: + - name: cleanup.policy + operation: DELETE + - name: compression.type + value: gzip + validate_only_batch_alter_topic_configs: + value: + data: + - name: cleanup.policy + operation: DELETE + - name: compression.type + value: gzip + validate_only: true + CreateAclRequest: + description: The ACL creation request. + content: + application/json: + schema: + $ref: '#/components/schemas/CreateAclRequestData' + example: + resource_type: CLUSTER + resource_name: kafka-cluster + pattern_type: LITERAL + principal: 'principalType:principalName' + host: '*' + operation: DESCRIBE + permission: DENY + BatchCreateAclRequest: + description: The batch ACL creation request. + content: + application/json: + schema: + $ref: '#/components/schemas/CreateAclRequestDataList' + example: + data: + - resource_type: CLUSTER + resource_name: kafka-cluster + pattern_type: LITERAL + principal: 'principalType:principalName' + host: '*' + operation: DESCRIBE + permission: DENY + - resource_type: TOPIC + resource_name: kafka-cluster + pattern_type: LITERAL + principal: 'principalType:principalName' + host: '*' + operation: READ + permission: ALLOW + CreateTopicRequest: + description: 'The topic creation request. Note that Confluent Cloud allows only specific replication factor values. Because of that the replication factor field should either be omitted or it should use one of the allowed values (see https://docs.confluent.io/cloud/current/client-apps/optimizing/durability.html).' + content: + application/json: + schema: + $ref: '#/components/schemas/CreateTopicRequestData' + examples: + uniform_replication: + value: + topic_name: topic-X + partitions_count: 64 + replication_factor: 3 + configs: + - name: cleanup.policy + value: compact + - name: compression.type + value: gzip + dry_run_create_topic: + value: + topic_name: topic-X + partitions_count: 64 + replication_factor: 3 + validate_only: true + ProduceRequest: + description: 'A single record to be produced to Kafka. To produce multiple records in the same request, simply concatenate the records. The delivery reports are concatenated in the same order as the records are sent.' + content: + application/json: + schema: + $ref: '#/components/schemas/ProduceRequest' + examples: + binary_and_json: + description: 'If using type, one of "BINARY", "JSON" or "STRING" is required.' + value: + partition_id: 1 + headers: + - name: Header-1 + value: SGVhZGVyLTE= + - name: Header-2 + value: SGVhZGVyLTI= + key: + type: BINARY + data: Zm9vYmFy + value: + type: JSON + data: + foo: bar + timestamp: '2021-02-05T19:14:42Z' + string: + description: 'If using type, one of "BINARY", "JSON" or "STRING" is required.' + value: + value: + type: STRING + data: My message + empty_value: + description: key or value can be omitted entirely. + value: + key: + data: 1000 + UpdateBrokerConfigRequest: + description: The broker configuration parameter update request. + content: + application/json: + schema: + $ref: '#/components/schemas/UpdateConfigRequestData' + example: + value: gzip + UpdateClusterConfigRequest: + description: The cluster configuration parameter update request. + content: + application/json: + schema: + $ref: '#/components/schemas/UpdateConfigRequestData' + example: + value: gzip + UpdateTopicConfigRequest: + description: The topic configuration parameter update request. + content: + application/json: + schema: + $ref: '#/components/schemas/UpdateConfigRequestData' + example: + value: gzip + CreateLinkRequest: + description: Create a cluster link + content: + application/json: + schema: + $ref: '#/components/schemas/CreateLinkRequestData' + examples: + destination_initiated_link: + description: Create a destination initiated cluster link + value: + source_cluster_id: cluster-1 + configs: + - name: bootstrap.servers + value: cluster-1-bootstrap-server + - name: acl.sync.enable + value: 'false' + - name: consumer.offset.sync.ms + value: '30000' + - name: sasl.mechanism + value: PLAIN + - name: sasl.protocol + value: SASL_SSL + - name: sasl.jaas.config + value: sasl.jaas.config=org.apache.kafka.common.security.plain.PlainLoginModule required username='' password=''; + source_initiated_link_at_source_cluster: + description: Create a source initiated cluster link at source cluster + value: + destination_cluster_id: cluster-2 + configs: + - name: bootstrap.servers + value: cluster-2-bootstrap-server + - name: link.mode + value: SOURCE + - name: sasl.mechanism + value: PLAIN + - name: sasl.protocol + value: SASL_SSL + - name: sasl.jaas.config + value: sasl.jaas.config=org.apache.kafka.common.security.plain.PlainLoginModule required username='' password=''; + source_initiated_link_at_destination_cluster: + description: Create a source initiated cluster link at destination cluster + value: + destination_cluster_id: cluster-1 + configs: + - name: bootstrap.servers + value: cluster-1-bootstrap-server + - name: link.mode + value: DESTINATION + - name: connection.mode + value: INBOUND + - name: acl.sync.enable + value: 'false' + - name: sasl.mechanism + value: PLAIN + - name: sasl.protocol + value: SASL_SSL + - name: sasl.jaas.config + value: sasl.jaas.config=org.apache.kafka.common.security.plain.PlainLoginModule required username='' password=''; + bidirectional_link_east: + description: Create a bidirectional cluster link in east + value: + remote_cluster_id: cluster-west + configs: + - name: bootstrap.servers + value: cluster-west-bootstrap-server + - name: link.mode + value: BIDIRECTIONAL + - name: cluster.link.prefix + value: west. + - name: sasl.mechanism + value: PLAIN + - name: sasl.protocol + value: SASL_SSL + - name: sasl.jaas.config + value: sasl.jaas.config=org.apache.kafka.common.security.plain.PlainLoginModule required username='' password=''; + bidirectional_link_west: + description: Create a bidirectional cluster link in west + value: + remote_cluster_id: cluster-east + cluster_link_id: eEBkTffYSESld6EO898x3w + configs: + - name: bootstrap.servers + value: cluster-east-bootstrap-server + - name: link.mode + value: BIDIRECTIONAL + - name: cluster.link.prefix + value: east. + - name: sasl.mechanism + value: PLAIN + - name: sasl.protocol + value: SASL_SSL + - name: sasl.jaas.config + value: sasl.jaas.config=org.apache.kafka.common.security.plain.PlainLoginModule required username='' password=''; + UpdateLinkConfigRequest: + content: + application/json: + example: + value: '300000' + schema: + $ref: '#/components/schemas/UpdateLinkConfigRequestData' + description: Link config value to update + AlterLinkConfigBatchRequest: + content: + application/json: + example: + data: + - name: cleanup.policy + operation: DELETE + - name: compression.type + value: gzip + schema: + $ref: '#/components/schemas/AlterConfigBatchRequestData' + CreateMirrorTopicRequest: + description: 'Name and configs of the topics mirroring from and mirroring to. Note that Confluent Cloud allows only specific replication factor values. Because of that the replication factor field should either be omitted or it should use one of the allowed values (see https://docs.confluent.io/cloud/current/client-apps/optimizing/durability.html).' + content: + application/json: + schema: + $ref: '#/components/schemas/CreateMirrorTopicRequestData' + examples: + generic_example: + description: Generic example of creating a mirror topic + value: + source_topic_name: topic-1 + configs: + - name: unclean.leader.election.enable + value: 'true' + replication_factor: 1 + example_with_mirror_topic_name: + description: Example using optional mirror_topic_name flag + value: + source_topic_name: topic-1 + mirror_topic_name: link1_topic-1 + configs: + - name: unclean.leader.election.enable + value: 'true' + replication_factor: 3 + AlterMirrorsRequest: + description: Mirror topics to be altered. + content: + application/json: + schema: + $ref: '#/components/schemas/AlterMirrorsRequestData' + examples: + mirror_topic_names: + description: Example using mirror topic names + value: + mirror_topic_names: + - topic-1 + - topic-2 + mirror_topic_name_pattern: + description: Example using mirror topic name pattern + value: + mirror_topic_name_pattern: .* + RemoveBrokersRequest: + content: + application/json: + example: + broker_ids: + - 1 + - 2 + - 3 + schema: + $ref: '#/components/schemas/RemoveBrokersRequestData' + description: Broker ids to remove + BrokerReplicaExclusionBatchRequest: + description: Alter Broker Replica Exclusions. + content: + application/json: + schema: + $ref: '#/components/schemas/BrokerReplicaExclusionBatchRequestData' + example: + data: + - broker_id: 1 + reason: The broker is to be removed. + - broker_id: 2 + reason: The broker is to be removed. + x-stackQL-resources: + entitlements: + id: confluent.partner.entitlements + name: entitlements + title: Entitlements + methods: + list_partner_v2entitlements: + operation: + $ref: '#/paths/~1partner~1v2~1entitlements/get' + response: + mediaType: application/json + openAPIDocKey: '200' + schemaRef: '#/components/schemas/partner.v2.EntitlementList' + objectKey: $.data + create_partner_v2entitlement: + operation: + $ref: '#/paths/~1partner~1v2~1entitlements/post' + response: + mediaType: application/json + openAPIDocKey: '201' + get_partner_v2entitlement: + operation: + $ref: '#/paths/~1partner~1v2~1entitlements~1{id}/get' + response: + mediaType: application/json + openAPIDocKey: '200' + sqlVerbs: + select: + - $ref: '#/components/x-stackQL-resources/entitlements/methods/get_partner_v2entitlement' + - $ref: '#/components/x-stackQL-resources/entitlements/methods/list_partner_v2entitlements' + insert: + - $ref: '#/components/x-stackQL-resources/entitlements/methods/create_partner_v2entitlement' + update: [] + replace: [] + delete: [] + organizations: + id: confluent.partner.organizations + name: organizations + title: Organizations + methods: + get_partner_v2organization: + operation: + $ref: '#/paths/~1partner~1v2~1organizations~1{id}/get' + response: + mediaType: application/json + openAPIDocKey: '200' + list_partner_v2organizations: + operation: + $ref: '#/paths/~1partner~1v2~1organizations/get' + response: + mediaType: application/json + openAPIDocKey: '200' + schemaRef: '#/components/schemas/partner.v2.OrganizationList' + objectKey: $.data + sqlVerbs: + select: + - $ref: '#/components/x-stackQL-resources/organizations/methods/get_partner_v2organization' + - $ref: '#/components/x-stackQL-resources/organizations/methods/list_partner_v2organizations' + insert: [] + update: [] + replace: [] + delete: [] + signups: + id: confluent.partner.signups + name: signups + title: Signups + methods: + signup: + operation: + $ref: '#/paths/~1partner~1v2~1signup/post' + response: + mediaType: application/json + openAPIDocKey: '201' + schemaRef: '#/components/schemas/PartnerSignupResponse' + activate_signup: + operation: + $ref: '#/paths/~1partner~1v2~1signup~1activate/post' + response: + mediaType: application/json + openAPIDocKey: '201' + schemaRef: '#/components/schemas/PartnerSignupResponse' + signup_partner_v2link: + operation: + $ref: '#/paths/~1partner~1v2~1signup~1link/post' + response: + mediaType: application/json + openAPIDocKey: '201' + schemaRef: '#/components/schemas/PartnerSignupResponse' + sqlVerbs: + select: [] + insert: [] + update: [] + replace: [] + delete: [] +paths: + /partner/v2/entitlements: + get: + x-request-access-name: Partner v2 + operationId: listPartnerV2Entitlements + summary: List of Entitlements + description: |- + [![Early Access](https://img.shields.io/badge/Lifecycle%20Stage-Early%20Access-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) [![Request Access To Partner v2](https://img.shields.io/badge/-Request%20Access%20To%20Partner%20v2-%23bc8540)](mailto:ccloud-api-access+partner-v2-early-access@confluent.io?subject=Request%20to%20join%20partner/v2%20API%20Early%20Access&body=I%E2%80%99d%20like%20to%20join%20the%20Confluent%20Cloud%20API%20Early%20Access%20for%20partner/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 entitlements. + parameters: + - name: organization.id + in: query + required: false + schema: + $ref: '#/components/schemas/SearchFilter' + example: b3a17773-05cc-4431-9560-433fb4613da8 + description: Filter the results by exact match for organization.id. + - 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 + description: An opaque pagination token for collection requests. + tags: + - Entitlements (partner/v2) + security: + - oauth: + - 'partner:describe' + responses: + '200': + description: Entitlement. + content: + application/json: + schema: + $ref: '#/components/schemas/partner.v2.EntitlementList' + '400': + $ref: '#/components/responses/BadRequestError' + '401': + $ref: '#/components/responses/UnauthenticatedError' + '403': + $ref: '#/components/responses/UnauthorizedError' + '429': + $ref: '#/components/responses/RateLimitError' + '500': + $ref: '#/components/responses/DefaultSystemError' + x-codeSamples: + - lang: Shell + source: |- + curl --request GET \ + --url 'https://api.confluent.cloud/partner/v2/entitlements?organization.id=SOME_STRING_VALUE&page_size=SOME_INTEGER_VALUE&page_token=SOME_STRING_VALUE' \ + --header 'Authorization: Bearer REPLACE_BEARER_TOKEN' + - lang: Java + source: |- + OkHttpClient client = new OkHttpClient(); + + Request request = new Request.Builder() + .url("https://api.confluent.cloud/partner/v2/entitlements?organization.id=SOME_STRING_VALUE&page_size=SOME_INTEGER_VALUE&page_token=SOME_STRING_VALUE") + .get() + .addHeader("Authorization", "Bearer REPLACE_BEARER_TOKEN") + .build(); + + Response response = client.newCall(request).execute(); + - lang: Go + source: "package main\n\nimport (\n\t\"fmt\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.confluent.cloud/partner/v2/entitlements?organization.id=SOME_STRING_VALUE&page_size=SOME_INTEGER_VALUE&page_token=SOME_STRING_VALUE\"\n\n\treq, _ := http.NewRequest(\"GET\", url, nil)\n\n\treq.Header.Add(\"Authorization\", \"Bearer REPLACE_BEARER_TOKEN\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}" + - lang: Python + source: |- + import http.client + + conn = http.client.HTTPSConnection("api.confluent.cloud") + + headers = { 'Authorization': "Bearer REPLACE_BEARER_TOKEN" } + + conn.request("GET", "/partner/v2/entitlements?organization.id=SOME_STRING_VALUE&page_size=SOME_INTEGER_VALUE&page_token=SOME_STRING_VALUE", headers=headers) + + res = conn.getresponse() + data = res.read() + + print(data.decode("utf-8")) + - lang: Node + source: |- + const http = require("https"); + + const options = { + "method": "GET", + "hostname": "api.confluent.cloud", + "port": null, + "path": "/partner/v2/entitlements?organization.id=SOME_STRING_VALUE&page_size=SOME_INTEGER_VALUE&page_token=SOME_STRING_VALUE", + "headers": { + "Authorization": "Bearer REPLACE_BEARER_TOKEN" + } + }; + + const req = http.request(options, function (res) { + const chunks = []; + + res.on("data", function (chunk) { + chunks.push(chunk); + }); + + res.on("end", function () { + const body = Buffer.concat(chunks); + console.log(body.toString()); + }); + }); + + req.end(); + - lang: C + source: |- + CURL *hnd = curl_easy_init(); + + curl_easy_setopt(hnd, CURLOPT_CUSTOMREQUEST, "GET"); + curl_easy_setopt(hnd, CURLOPT_URL, "https://api.confluent.cloud/partner/v2/entitlements?organization.id=SOME_STRING_VALUE&page_size=SOME_INTEGER_VALUE&page_token=SOME_STRING_VALUE"); + + struct curl_slist *headers = NULL; + headers = curl_slist_append(headers, "Authorization: Bearer REPLACE_BEARER_TOKEN"); + curl_easy_setopt(hnd, CURLOPT_HTTPHEADER, headers); + + CURLcode ret = curl_easy_perform(hnd); + - lang: C# + source: |- + var client = new RestClient("https://api.confluent.cloud/partner/v2/entitlements?organization.id=SOME_STRING_VALUE&page_size=SOME_INTEGER_VALUE&page_token=SOME_STRING_VALUE"); + var request = new RestRequest(Method.GET); + request.AddHeader("Authorization", "Bearer REPLACE_BEARER_TOKEN"); + IRestResponse response = client.Execute(request); + - lang: Shell + source: |- + curl --request GET \ + --url 'https://api.confluent.cloud/partner/v2/entitlements?organization.id=b3a17773-05cc-4431-9560-433fb4613da8' \ + --header 'Authorization: Bearer REPLACE_BEARER_TOKEN' + - lang: Java + source: |- + OkHttpClient client = new OkHttpClient(); + + Request request = new Request.Builder() + .url("https://api.confluent.cloud/partner/v2/entitlements?organization.id=b3a17773-05cc-4431-9560-433fb4613da8") + .get() + .addHeader("Authorization", "Bearer REPLACE_BEARER_TOKEN") + .build(); + + Response response = client.newCall(request).execute(); + - lang: Go + source: "package main\n\nimport (\n\t\"fmt\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.confluent.cloud/partner/v2/entitlements?organization.id=b3a17773-05cc-4431-9560-433fb4613da8\"\n\n\treq, _ := http.NewRequest(\"GET\", url, nil)\n\n\treq.Header.Add(\"Authorization\", \"Bearer REPLACE_BEARER_TOKEN\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}" + - lang: Python + source: |- + import http.client + + conn = http.client.HTTPSConnection("api.confluent.cloud") + + headers = { 'Authorization': "Bearer REPLACE_BEARER_TOKEN" } + + conn.request("GET", "/partner/v2/entitlements?organization.id=b3a17773-05cc-4431-9560-433fb4613da8", headers=headers) + + res = conn.getresponse() + data = res.read() + + print(data.decode("utf-8")) + - lang: Node + source: |- + const http = require("https"); + + const options = { + "method": "GET", + "hostname": "api.confluent.cloud", + "port": null, + "path": "/partner/v2/entitlements?organization.id=b3a17773-05cc-4431-9560-433fb4613da8", + "headers": { + "Authorization": "Bearer REPLACE_BEARER_TOKEN" + } + }; + + const req = http.request(options, function (res) { + const chunks = []; + + res.on("data", function (chunk) { + chunks.push(chunk); + }); + + res.on("end", function () { + const body = Buffer.concat(chunks); + console.log(body.toString()); + }); + }); + + req.end(); + - lang: C + source: |- + CURL *hnd = curl_easy_init(); + + curl_easy_setopt(hnd, CURLOPT_CUSTOMREQUEST, "GET"); + curl_easy_setopt(hnd, CURLOPT_URL, "https://api.confluent.cloud/partner/v2/entitlements?organization.id=b3a17773-05cc-4431-9560-433fb4613da8"); + + struct curl_slist *headers = NULL; + headers = curl_slist_append(headers, "Authorization: Bearer REPLACE_BEARER_TOKEN"); + curl_easy_setopt(hnd, CURLOPT_HTTPHEADER, headers); + + CURLcode ret = curl_easy_perform(hnd); + - lang: C# + source: |- + var client = new RestClient("https://api.confluent.cloud/partner/v2/entitlements?organization.id=b3a17773-05cc-4431-9560-433fb4613da8"); + var request = new RestRequest(Method.GET); + request.AddHeader("Authorization", "Bearer REPLACE_BEARER_TOKEN"); + IRestResponse response = client.Execute(request); + post: + x-request-access-name: Partner v2 + operationId: createPartnerV2Entitlement + summary: Create an Entitlement + description: |- + [![Early Access](https://img.shields.io/badge/Lifecycle%20Stage-Early%20Access-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) [![Request Access To Partner v2](https://img.shields.io/badge/-Request%20Access%20To%20Partner%20v2-%23bc8540)](mailto:ccloud-api-access+partner-v2-early-access@confluent.io?subject=Request%20to%20join%20partner/v2%20API%20Early%20Access&body=I%E2%80%99d%20like%20to%20join%20the%20Confluent%20Cloud%20API%20Early%20Access%20for%20partner/v2%20to%20provide%20early%20feedback%21%20My%20Cloud%20Organization%20ID%20is%20%3Cretrieve%20from%20https%3A//confluent.cloud/settings/billing/payment%3E.) + + Make a request to create an entitlement. + tags: + - Entitlements (partner/v2) + security: + - oauth: + - 'partner:create' + requestBody: + content: + application/json: + schema: + allOf: + - $ref: '#/components/schemas/partner.v2.Entitlement' + - type: object + required: + - external_id + - name + - plan_id + - product_id + responses: + '201': + description: An Entitlement is being created. + headers: + Location: + schema: + type: string + format: uri + example: 'https://api.confluent.cloud/partner/v2/entitlements/{id}' + description: Entitlement resource uri + content: + application/json: + schema: + allOf: + - $ref: '#/components/schemas/partner.v2.Entitlement' + - type: object + required: + - external_id + - name + - plan_id + - product_id + '400': + $ref: '#/components/responses/BadRequestError' + '401': + $ref: '#/components/responses/UnauthenticatedError' + '403': + $ref: '#/components/responses/UnauthorizedError' + '409': + $ref: '#/components/responses/ConflictError' + '429': + $ref: '#/components/responses/RateLimitError' + '500': + $ref: '#/components/responses/DefaultSystemError' + x-codeSamples: + - lang: Shell + source: |- + curl --request POST \ + --url https://api.confluent.cloud/partner/v2/entitlements \ + --header 'Authorization: Bearer REPLACE_BEARER_TOKEN' \ + --header 'content-type: application/json' \ + --data '{"external_id":"1111-2222-3333-4444","name":"Acme Prod Entitlement","plan_id":"confluent-cloud-payg-prod","product_id":"confluent-cloud-kafka-service-azure","usage_reporting_id":"1111-2222-3333-4444","resource_id":"1111-2222-3333-4444","organization":{"related":"string"}}' + - lang: Java + source: |- + OkHttpClient client = new OkHttpClient(); + + MediaType mediaType = MediaType.parse("application/json"); + RequestBody body = RequestBody.create(mediaType, "{\"external_id\":\"1111-2222-3333-4444\",\"name\":\"Acme Prod Entitlement\",\"plan_id\":\"confluent-cloud-payg-prod\",\"product_id\":\"confluent-cloud-kafka-service-azure\",\"usage_reporting_id\":\"1111-2222-3333-4444\",\"resource_id\":\"1111-2222-3333-4444\",\"organization\":{\"related\":\"string\"}}"); + Request request = new Request.Builder() + .url("https://api.confluent.cloud/partner/v2/entitlements") + .post(body) + .addHeader("content-type", "application/json") + .addHeader("Authorization", "Bearer REPLACE_BEARER_TOKEN") + .build(); + + Response response = client.newCall(request).execute(); + - lang: Go + source: "package main\n\nimport (\n\t\"fmt\"\n\t\"strings\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.confluent.cloud/partner/v2/entitlements\"\n\n\tpayload := strings.NewReader(\"{\\\"external_id\\\":\\\"1111-2222-3333-4444\\\",\\\"name\\\":\\\"Acme Prod Entitlement\\\",\\\"plan_id\\\":\\\"confluent-cloud-payg-prod\\\",\\\"product_id\\\":\\\"confluent-cloud-kafka-service-azure\\\",\\\"usage_reporting_id\\\":\\\"1111-2222-3333-4444\\\",\\\"resource_id\\\":\\\"1111-2222-3333-4444\\\",\\\"organization\\\":{\\\"related\\\":\\\"string\\\"}}\")\n\n\treq, _ := http.NewRequest(\"POST\", url, payload)\n\n\treq.Header.Add(\"content-type\", \"application/json\")\n\treq.Header.Add(\"Authorization\", \"Bearer REPLACE_BEARER_TOKEN\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}" + - lang: Python + source: |- + import http.client + + conn = http.client.HTTPSConnection("api.confluent.cloud") + + payload = "{\"external_id\":\"1111-2222-3333-4444\",\"name\":\"Acme Prod Entitlement\",\"plan_id\":\"confluent-cloud-payg-prod\",\"product_id\":\"confluent-cloud-kafka-service-azure\",\"usage_reporting_id\":\"1111-2222-3333-4444\",\"resource_id\":\"1111-2222-3333-4444\",\"organization\":{\"related\":\"string\"}}" + + headers = { + 'content-type': "application/json", + 'Authorization': "Bearer REPLACE_BEARER_TOKEN" + } + + conn.request("POST", "/partner/v2/entitlements", payload, headers) + + res = conn.getresponse() + data = res.read() + + print(data.decode("utf-8")) + - lang: Node + source: |- + const http = require("https"); + + const options = { + "method": "POST", + "hostname": "api.confluent.cloud", + "port": null, + "path": "/partner/v2/entitlements", + "headers": { + "content-type": "application/json", + "Authorization": "Bearer REPLACE_BEARER_TOKEN" + } + }; + + const req = http.request(options, function (res) { + const chunks = []; + + res.on("data", function (chunk) { + chunks.push(chunk); + }); + + res.on("end", function () { + const body = Buffer.concat(chunks); + console.log(body.toString()); + }); + }); + + req.write(JSON.stringify({ + external_id: '1111-2222-3333-4444', + name: 'Acme Prod Entitlement', + plan_id: 'confluent-cloud-payg-prod', + product_id: 'confluent-cloud-kafka-service-azure', + usage_reporting_id: '1111-2222-3333-4444', + resource_id: '1111-2222-3333-4444', + organization: {related: 'string'} + })); + req.end(); + - lang: C + source: |- + CURL *hnd = curl_easy_init(); + + curl_easy_setopt(hnd, CURLOPT_CUSTOMREQUEST, "POST"); + curl_easy_setopt(hnd, CURLOPT_URL, "https://api.confluent.cloud/partner/v2/entitlements"); + + struct curl_slist *headers = NULL; + headers = curl_slist_append(headers, "content-type: application/json"); + headers = curl_slist_append(headers, "Authorization: Bearer REPLACE_BEARER_TOKEN"); + curl_easy_setopt(hnd, CURLOPT_HTTPHEADER, headers); + + curl_easy_setopt(hnd, CURLOPT_POSTFIELDS, "{\"external_id\":\"1111-2222-3333-4444\",\"name\":\"Acme Prod Entitlement\",\"plan_id\":\"confluent-cloud-payg-prod\",\"product_id\":\"confluent-cloud-kafka-service-azure\",\"usage_reporting_id\":\"1111-2222-3333-4444\",\"resource_id\":\"1111-2222-3333-4444\",\"organization\":{\"related\":\"string\"}}"); + + CURLcode ret = curl_easy_perform(hnd); + - lang: C# + source: |- + var client = new RestClient("https://api.confluent.cloud/partner/v2/entitlements"); + var request = new RestRequest(Method.POST); + request.AddHeader("content-type", "application/json"); + request.AddHeader("Authorization", "Bearer REPLACE_BEARER_TOKEN"); + request.AddParameter("application/json", "{\"external_id\":\"1111-2222-3333-4444\",\"name\":\"Acme Prod Entitlement\",\"plan_id\":\"confluent-cloud-payg-prod\",\"product_id\":\"confluent-cloud-kafka-service-azure\",\"usage_reporting_id\":\"1111-2222-3333-4444\",\"resource_id\":\"1111-2222-3333-4444\",\"organization\":{\"related\":\"string\"}}", ParameterType.RequestBody); + IRestResponse response = client.Execute(request); + - lang: Shell + source: |- + curl --request POST \ + --url https://api.confluent.cloud/partner/v2/entitlements \ + --header 'Authorization: Bearer REPLACE_BEARER_TOKEN' \ + --header 'content-type: application/json' \ + --data '{"external_id":"1111-2222-3333-4444","name":"Acme Prod Entitlement","plan_id":"confluent-cloud-payg-prod","product_id":"confluent-cloud-kafka-service-azure","usage_reporting_id":"1111-2222-3333-4444","resource_id":"1111-2222-3333-4444","organization":{"id":"string","environment":"string"}}' + - lang: Java + source: |- + OkHttpClient client = new OkHttpClient(); + + MediaType mediaType = MediaType.parse("application/json"); + RequestBody body = RequestBody.create(mediaType, "{\"external_id\":\"1111-2222-3333-4444\",\"name\":\"Acme Prod Entitlement\",\"plan_id\":\"confluent-cloud-payg-prod\",\"product_id\":\"confluent-cloud-kafka-service-azure\",\"usage_reporting_id\":\"1111-2222-3333-4444\",\"resource_id\":\"1111-2222-3333-4444\",\"organization\":{\"id\":\"string\",\"environment\":\"string\"}}"); + Request request = new Request.Builder() + .url("https://api.confluent.cloud/partner/v2/entitlements") + .post(body) + .addHeader("content-type", "application/json") + .addHeader("Authorization", "Bearer REPLACE_BEARER_TOKEN") + .build(); + + Response response = client.newCall(request).execute(); + - lang: Go + source: "package main\n\nimport (\n\t\"fmt\"\n\t\"strings\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.confluent.cloud/partner/v2/entitlements\"\n\n\tpayload := strings.NewReader(\"{\\\"external_id\\\":\\\"1111-2222-3333-4444\\\",\\\"name\\\":\\\"Acme Prod Entitlement\\\",\\\"plan_id\\\":\\\"confluent-cloud-payg-prod\\\",\\\"product_id\\\":\\\"confluent-cloud-kafka-service-azure\\\",\\\"usage_reporting_id\\\":\\\"1111-2222-3333-4444\\\",\\\"resource_id\\\":\\\"1111-2222-3333-4444\\\",\\\"organization\\\":{\\\"id\\\":\\\"string\\\",\\\"environment\\\":\\\"string\\\"}}\")\n\n\treq, _ := http.NewRequest(\"POST\", url, payload)\n\n\treq.Header.Add(\"content-type\", \"application/json\")\n\treq.Header.Add(\"Authorization\", \"Bearer REPLACE_BEARER_TOKEN\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}" + - lang: Python + source: |- + import http.client + + conn = http.client.HTTPSConnection("api.confluent.cloud") + + payload = "{\"external_id\":\"1111-2222-3333-4444\",\"name\":\"Acme Prod Entitlement\",\"plan_id\":\"confluent-cloud-payg-prod\",\"product_id\":\"confluent-cloud-kafka-service-azure\",\"usage_reporting_id\":\"1111-2222-3333-4444\",\"resource_id\":\"1111-2222-3333-4444\",\"organization\":{\"id\":\"string\",\"environment\":\"string\"}}" + + headers = { + 'content-type': "application/json", + 'Authorization': "Bearer REPLACE_BEARER_TOKEN" + } + + conn.request("POST", "/partner/v2/entitlements", payload, headers) + + res = conn.getresponse() + data = res.read() + + print(data.decode("utf-8")) + - lang: Node + source: |- + const http = require("https"); + + const options = { + "method": "POST", + "hostname": "api.confluent.cloud", + "port": null, + "path": "/partner/v2/entitlements", + "headers": { + "content-type": "application/json", + "Authorization": "Bearer REPLACE_BEARER_TOKEN" + } + }; + + const req = http.request(options, function (res) { + const chunks = []; + + res.on("data", function (chunk) { + chunks.push(chunk); + }); + + res.on("end", function () { + const body = Buffer.concat(chunks); + console.log(body.toString()); + }); + }); + + req.write(JSON.stringify({ + external_id: '1111-2222-3333-4444', + name: 'Acme Prod Entitlement', + plan_id: 'confluent-cloud-payg-prod', + product_id: 'confluent-cloud-kafka-service-azure', + usage_reporting_id: '1111-2222-3333-4444', + resource_id: '1111-2222-3333-4444', + organization: {id: 'string', environment: 'string'} + })); + req.end(); + - lang: C + source: |- + CURL *hnd = curl_easy_init(); + + curl_easy_setopt(hnd, CURLOPT_CUSTOMREQUEST, "POST"); + curl_easy_setopt(hnd, CURLOPT_URL, "https://api.confluent.cloud/partner/v2/entitlements"); + + struct curl_slist *headers = NULL; + headers = curl_slist_append(headers, "content-type: application/json"); + headers = curl_slist_append(headers, "Authorization: Bearer REPLACE_BEARER_TOKEN"); + curl_easy_setopt(hnd, CURLOPT_HTTPHEADER, headers); + + curl_easy_setopt(hnd, CURLOPT_POSTFIELDS, "{\"external_id\":\"1111-2222-3333-4444\",\"name\":\"Acme Prod Entitlement\",\"plan_id\":\"confluent-cloud-payg-prod\",\"product_id\":\"confluent-cloud-kafka-service-azure\",\"usage_reporting_id\":\"1111-2222-3333-4444\",\"resource_id\":\"1111-2222-3333-4444\",\"organization\":{\"id\":\"string\",\"environment\":\"string\"}}"); + + CURLcode ret = curl_easy_perform(hnd); + - lang: C# + source: |- + var client = new RestClient("https://api.confluent.cloud/partner/v2/entitlements"); + var request = new RestRequest(Method.POST); + request.AddHeader("content-type", "application/json"); + request.AddHeader("Authorization", "Bearer REPLACE_BEARER_TOKEN"); + request.AddParameter("application/json", "{\"external_id\":\"1111-2222-3333-4444\",\"name\":\"Acme Prod Entitlement\",\"plan_id\":\"confluent-cloud-payg-prod\",\"product_id\":\"confluent-cloud-kafka-service-azure\",\"usage_reporting_id\":\"1111-2222-3333-4444\",\"resource_id\":\"1111-2222-3333-4444\",\"organization\":{\"id\":\"string\",\"environment\":\"string\"}}", ParameterType.RequestBody); + IRestResponse response = client.Execute(request); + '/partner/v2/entitlements/{id}': + get: + x-request-access-name: Partner v2 + operationId: getPartnerV2Entitlement + summary: Read an Entitlement + description: |- + [![Early Access](https://img.shields.io/badge/Lifecycle%20Stage-Early%20Access-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) [![Request Access To Partner v2](https://img.shields.io/badge/-Request%20Access%20To%20Partner%20v2-%23bc8540)](mailto:ccloud-api-access+partner-v2-early-access@confluent.io?subject=Request%20to%20join%20partner/v2%20API%20Early%20Access&body=I%E2%80%99d%20like%20to%20join%20the%20Confluent%20Cloud%20API%20Early%20Access%20for%20partner/v2%20to%20provide%20early%20feedback%21%20My%20Cloud%20Organization%20ID%20is%20%3Cretrieve%20from%20https%3A//confluent.cloud/settings/billing/payment%3E.) + + Make a request to read an entitlement. + parameters: + - name: organization.id + in: query + required: false + schema: + $ref: '#/components/schemas/SearchFilter' + example: b3a17773-05cc-4431-9560-433fb4613da8 + description: Scope the operation to the given organization.id. + - name: id + in: path + required: true + schema: + type: string + description: The unique identifier for the entitlement. + tags: + - Entitlements (partner/v2) + security: + - oauth: + - 'partner:describe' + responses: + '200': + description: Entitlement. + content: + application/json: + schema: + allOf: + - $ref: '#/components/schemas/partner.v2.Entitlement' + - type: object + required: + - external_id + - name + - plan_id + - product_id + '400': + $ref: '#/components/responses/BadRequestError' + '401': + $ref: '#/components/responses/UnauthenticatedError' + '403': + $ref: '#/components/responses/UnauthorizedError' + '404': + $ref: '#/components/responses/NotFoundError' + '429': + $ref: '#/components/responses/RateLimitError' + '500': + $ref: '#/components/responses/DefaultSystemError' + x-codeSamples: + - lang: Shell + source: |- + curl --request GET \ + --url 'https://api.confluent.cloud/partner/v2/entitlements/{id}?organization.id=SOME_STRING_VALUE' \ + --header 'Authorization: Bearer REPLACE_BEARER_TOKEN' + - lang: Java + source: |- + OkHttpClient client = new OkHttpClient(); + + Request request = new Request.Builder() + .url("https://api.confluent.cloud/partner/v2/entitlements/{id}?organization.id=SOME_STRING_VALUE") + .get() + .addHeader("Authorization", "Bearer REPLACE_BEARER_TOKEN") + .build(); + + Response response = client.newCall(request).execute(); + - lang: Go + source: "package main\n\nimport (\n\t\"fmt\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.confluent.cloud/partner/v2/entitlements/{id}?organization.id=SOME_STRING_VALUE\"\n\n\treq, _ := http.NewRequest(\"GET\", url, nil)\n\n\treq.Header.Add(\"Authorization\", \"Bearer REPLACE_BEARER_TOKEN\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}" + - lang: Python + source: |- + import http.client + + conn = http.client.HTTPSConnection("api.confluent.cloud") + + headers = { 'Authorization': "Bearer REPLACE_BEARER_TOKEN" } + + conn.request("GET", "/partner/v2/entitlements/%7Bid%7D?organization.id=SOME_STRING_VALUE", headers=headers) + + res = conn.getresponse() + data = res.read() + + print(data.decode("utf-8")) + - lang: Node + source: |- + const http = require("https"); + + const options = { + "method": "GET", + "hostname": "api.confluent.cloud", + "port": null, + "path": "/partner/v2/entitlements/%7Bid%7D?organization.id=SOME_STRING_VALUE", + "headers": { + "Authorization": "Bearer REPLACE_BEARER_TOKEN" + } + }; + + const req = http.request(options, function (res) { + const chunks = []; + + res.on("data", function (chunk) { + chunks.push(chunk); + }); + + res.on("end", function () { + const body = Buffer.concat(chunks); + console.log(body.toString()); + }); + }); + + req.end(); + - lang: C + source: |- + CURL *hnd = curl_easy_init(); + + curl_easy_setopt(hnd, CURLOPT_CUSTOMREQUEST, "GET"); + curl_easy_setopt(hnd, CURLOPT_URL, "https://api.confluent.cloud/partner/v2/entitlements/{id}?organization.id=SOME_STRING_VALUE"); + + struct curl_slist *headers = NULL; + headers = curl_slist_append(headers, "Authorization: Bearer REPLACE_BEARER_TOKEN"); + curl_easy_setopt(hnd, CURLOPT_HTTPHEADER, headers); + + CURLcode ret = curl_easy_perform(hnd); + - lang: C# + source: |- + var client = new RestClient("https://api.confluent.cloud/partner/v2/entitlements/{id}?organization.id=SOME_STRING_VALUE"); + var request = new RestRequest(Method.GET); + request.AddHeader("Authorization", "Bearer REPLACE_BEARER_TOKEN"); + IRestResponse response = client.Execute(request); + - lang: Shell + source: |- + curl --request GET \ + --url 'https://api.confluent.cloud/partner/v2/entitlements/{id}?organization.id=b3a17773-05cc-4431-9560-433fb4613da8' \ + --header 'Authorization: Bearer REPLACE_BEARER_TOKEN' + - lang: Java + source: |- + OkHttpClient client = new OkHttpClient(); + + Request request = new Request.Builder() + .url("https://api.confluent.cloud/partner/v2/entitlements/{id}?organization.id=b3a17773-05cc-4431-9560-433fb4613da8") + .get() + .addHeader("Authorization", "Bearer REPLACE_BEARER_TOKEN") + .build(); + + Response response = client.newCall(request).execute(); + - lang: Go + source: "package main\n\nimport (\n\t\"fmt\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.confluent.cloud/partner/v2/entitlements/{id}?organization.id=b3a17773-05cc-4431-9560-433fb4613da8\"\n\n\treq, _ := http.NewRequest(\"GET\", url, nil)\n\n\treq.Header.Add(\"Authorization\", \"Bearer REPLACE_BEARER_TOKEN\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}" + - lang: Python + source: |- + import http.client + + conn = http.client.HTTPSConnection("api.confluent.cloud") + + headers = { 'Authorization': "Bearer REPLACE_BEARER_TOKEN" } + + conn.request("GET", "/partner/v2/entitlements/{id}?organization.id=b3a17773-05cc-4431-9560-433fb4613da8", headers=headers) + + res = conn.getresponse() + data = res.read() + + print(data.decode("utf-8")) + - lang: Node + source: |- + const http = require("https"); + + const options = { + "method": "GET", + "hostname": "api.confluent.cloud", + "port": null, + "path": "/partner/v2/entitlements/{id}?organization.id=b3a17773-05cc-4431-9560-433fb4613da8", + "headers": { + "Authorization": "Bearer REPLACE_BEARER_TOKEN" + } + }; + + const req = http.request(options, function (res) { + const chunks = []; + + res.on("data", function (chunk) { + chunks.push(chunk); + }); + + res.on("end", function () { + const body = Buffer.concat(chunks); + console.log(body.toString()); + }); + }); + + req.end(); + - lang: C + source: |- + CURL *hnd = curl_easy_init(); + + curl_easy_setopt(hnd, CURLOPT_CUSTOMREQUEST, "GET"); + curl_easy_setopt(hnd, CURLOPT_URL, "https://api.confluent.cloud/partner/v2/entitlements/{id}?organization.id=b3a17773-05cc-4431-9560-433fb4613da8"); + + struct curl_slist *headers = NULL; + headers = curl_slist_append(headers, "Authorization: Bearer REPLACE_BEARER_TOKEN"); + curl_easy_setopt(hnd, CURLOPT_HTTPHEADER, headers); + + CURLcode ret = curl_easy_perform(hnd); + - lang: C# + source: |- + var client = new RestClient("https://api.confluent.cloud/partner/v2/entitlements/{id}?organization.id=b3a17773-05cc-4431-9560-433fb4613da8"); + var request = new RestRequest(Method.GET); + request.AddHeader("Authorization", "Bearer REPLACE_BEARER_TOKEN"); + IRestResponse response = client.Execute(request); + '/partner/v2/organizations/{id}': + get: + x-request-access-name: Partner v2 + operationId: getPartnerV2Organization + summary: Read an Organization + description: |- + [![Early Access](https://img.shields.io/badge/Lifecycle%20Stage-Early%20Access-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) [![Request Access To Partner v2](https://img.shields.io/badge/-Request%20Access%20To%20Partner%20v2-%23bc8540)](mailto:ccloud-api-access+partner-v2-early-access@confluent.io?subject=Request%20to%20join%20partner/v2%20API%20Early%20Access&body=I%E2%80%99d%20like%20to%20join%20the%20Confluent%20Cloud%20API%20Early%20Access%20for%20partner/v2%20to%20provide%20early%20feedback%21%20My%20Cloud%20Organization%20ID%20is%20%3Cretrieve%20from%20https%3A//confluent.cloud/settings/billing/payment%3E.) + + Make a request to read an organization. + parameters: + - name: id + in: path + required: true + schema: + type: string + description: The unique identifier for the organization. + tags: + - Organizations (partner/v2) + security: + - oauth: + - 'marketplace::describe' + responses: + '200': + description: Organization. + content: + application/json: + schema: + allOf: + - $ref: '#/components/schemas/partner.v2.Organization' + - type: object + required: + - api_version + - kind + - id + - metadata + '400': + $ref: '#/components/responses/BadRequestError' + '401': + $ref: '#/components/responses/UnauthenticatedError' + '403': + $ref: '#/components/responses/UnauthorizedError' + '404': + $ref: '#/components/responses/NotFoundError' + '429': + $ref: '#/components/responses/RateLimitError' + '500': + $ref: '#/components/responses/DefaultSystemError' + x-codeSamples: + - lang: Shell + source: |- + curl --request GET \ + --url 'https://api.confluent.cloud/partner/v2/organizations/{id}' \ + --header 'Authorization: Bearer REPLACE_BEARER_TOKEN' + - lang: Java + source: |- + OkHttpClient client = new OkHttpClient(); + + Request request = new Request.Builder() + .url("https://api.confluent.cloud/partner/v2/organizations/{id}") + .get() + .addHeader("Authorization", "Bearer REPLACE_BEARER_TOKEN") + .build(); + + Response response = client.newCall(request).execute(); + - lang: Go + source: "package main\n\nimport (\n\t\"fmt\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.confluent.cloud/partner/v2/organizations/{id}\"\n\n\treq, _ := http.NewRequest(\"GET\", url, nil)\n\n\treq.Header.Add(\"Authorization\", \"Bearer REPLACE_BEARER_TOKEN\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}" + - lang: Python + source: |- + import http.client + + conn = http.client.HTTPSConnection("api.confluent.cloud") + + headers = { 'Authorization': "Bearer REPLACE_BEARER_TOKEN" } + + conn.request("GET", "/partner/v2/organizations/{id}", headers=headers) + + res = conn.getresponse() + data = res.read() + + print(data.decode("utf-8")) + - lang: Node + source: |- + const http = require("https"); + + const options = { + "method": "GET", + "hostname": "api.confluent.cloud", + "port": null, + "path": "/partner/v2/organizations/{id}", + "headers": { + "Authorization": "Bearer REPLACE_BEARER_TOKEN" + } + }; + + const req = http.request(options, function (res) { + const chunks = []; + + res.on("data", function (chunk) { + chunks.push(chunk); + }); + + res.on("end", function () { + const body = Buffer.concat(chunks); + console.log(body.toString()); + }); + }); + + req.end(); + - lang: C + source: |- + CURL *hnd = curl_easy_init(); + + curl_easy_setopt(hnd, CURLOPT_CUSTOMREQUEST, "GET"); + curl_easy_setopt(hnd, CURLOPT_URL, "https://api.confluent.cloud/partner/v2/organizations/{id}"); + + struct curl_slist *headers = NULL; + headers = curl_slist_append(headers, "Authorization: Bearer REPLACE_BEARER_TOKEN"); + curl_easy_setopt(hnd, CURLOPT_HTTPHEADER, headers); + + CURLcode ret = curl_easy_perform(hnd); + - lang: C# + source: |- + var client = new RestClient("https://api.confluent.cloud/partner/v2/organizations/{id}"); + var request = new RestRequest(Method.GET); + request.AddHeader("Authorization", "Bearer REPLACE_BEARER_TOKEN"); + IRestResponse response = client.Execute(request); + - lang: Shell + source: |- + curl --request GET \ + --url 'https://api.confluent.cloud/partner/v2/organizations/{id}' \ + --header 'Authorization: Bearer REPLACE_BEARER_TOKEN' + - lang: Java + source: |- + OkHttpClient client = new OkHttpClient(); + + Request request = new Request.Builder() + .url("https://api.confluent.cloud/partner/v2/organizations/{id}") + .get() + .addHeader("Authorization", "Bearer REPLACE_BEARER_TOKEN") + .build(); + + Response response = client.newCall(request).execute(); + - lang: Go + source: "package main\n\nimport (\n\t\"fmt\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.confluent.cloud/partner/v2/organizations/{id}\"\n\n\treq, _ := http.NewRequest(\"GET\", url, nil)\n\n\treq.Header.Add(\"Authorization\", \"Bearer REPLACE_BEARER_TOKEN\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}" + - lang: Python + source: |- + import http.client + + conn = http.client.HTTPSConnection("api.confluent.cloud") + + headers = { 'Authorization': "Bearer REPLACE_BEARER_TOKEN" } + + conn.request("GET", "/partner/v2/organizations/{id}", headers=headers) + + res = conn.getresponse() + data = res.read() + + print(data.decode("utf-8")) + - lang: Node + source: |- + const http = require("https"); + + const options = { + "method": "GET", + "hostname": "api.confluent.cloud", + "port": null, + "path": "/partner/v2/organizations/{id}", + "headers": { + "Authorization": "Bearer REPLACE_BEARER_TOKEN" + } + }; + + const req = http.request(options, function (res) { + const chunks = []; + + res.on("data", function (chunk) { + chunks.push(chunk); + }); + + res.on("end", function () { + const body = Buffer.concat(chunks); + console.log(body.toString()); + }); + }); + + req.end(); + - lang: C + source: |- + CURL *hnd = curl_easy_init(); + + curl_easy_setopt(hnd, CURLOPT_CUSTOMREQUEST, "GET"); + curl_easy_setopt(hnd, CURLOPT_URL, "https://api.confluent.cloud/partner/v2/organizations/{id}"); + + struct curl_slist *headers = NULL; + headers = curl_slist_append(headers, "Authorization: Bearer REPLACE_BEARER_TOKEN"); + curl_easy_setopt(hnd, CURLOPT_HTTPHEADER, headers); + + CURLcode ret = curl_easy_perform(hnd); + - lang: C# + source: |- + var client = new RestClient("https://api.confluent.cloud/partner/v2/organizations/{id}"); + var request = new RestRequest(Method.GET); + request.AddHeader("Authorization", "Bearer REPLACE_BEARER_TOKEN"); + IRestResponse response = client.Execute(request); + /partner/v2/organizations: + get: + x-request-access-name: Partner v2 + operationId: listPartnerV2Organizations + summary: List of Organizations + description: |- + [![Early Access](https://img.shields.io/badge/Lifecycle%20Stage-Early%20Access-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) [![Request Access To Partner v2](https://img.shields.io/badge/-Request%20Access%20To%20Partner%20v2-%23bc8540)](mailto:ccloud-api-access+partner-v2-early-access@confluent.io?subject=Request%20to%20join%20partner/v2%20API%20Early%20Access&body=I%E2%80%99d%20like%20to%20join%20the%20Confluent%20Cloud%20API%20Early%20Access%20for%20partner/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 organizations. + parameters: + - 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 + description: An opaque pagination token for collection requests. + tags: + - Organizations (partner/v2) + security: + - oauth: + - 'marketplace::describe' + responses: + '200': + description: Organization. + content: + application/json: + schema: + $ref: '#/components/schemas/partner.v2.OrganizationList' + '400': + $ref: '#/components/responses/BadRequestError' + '401': + $ref: '#/components/responses/UnauthenticatedError' + '403': + $ref: '#/components/responses/UnauthorizedError' + '429': + $ref: '#/components/responses/RateLimitError' + '500': + $ref: '#/components/responses/DefaultSystemError' + x-codeSamples: + - lang: Shell + source: |- + curl --request GET \ + --url 'https://api.confluent.cloud/partner/v2/organizations?page_size=SOME_INTEGER_VALUE&page_token=SOME_STRING_VALUE' \ + --header 'Authorization: Bearer REPLACE_BEARER_TOKEN' + - lang: Java + source: |- + OkHttpClient client = new OkHttpClient(); + + Request request = new Request.Builder() + .url("https://api.confluent.cloud/partner/v2/organizations?page_size=SOME_INTEGER_VALUE&page_token=SOME_STRING_VALUE") + .get() + .addHeader("Authorization", "Bearer REPLACE_BEARER_TOKEN") + .build(); + + Response response = client.newCall(request).execute(); + - lang: Go + source: "package main\n\nimport (\n\t\"fmt\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.confluent.cloud/partner/v2/organizations?page_size=SOME_INTEGER_VALUE&page_token=SOME_STRING_VALUE\"\n\n\treq, _ := http.NewRequest(\"GET\", url, nil)\n\n\treq.Header.Add(\"Authorization\", \"Bearer REPLACE_BEARER_TOKEN\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}" + - lang: Python + source: |- + import http.client + + conn = http.client.HTTPSConnection("api.confluent.cloud") + + headers = { 'Authorization': "Bearer REPLACE_BEARER_TOKEN" } + + conn.request("GET", "/partner/v2/organizations?page_size=SOME_INTEGER_VALUE&page_token=SOME_STRING_VALUE", headers=headers) + + res = conn.getresponse() + data = res.read() + + print(data.decode("utf-8")) + - lang: Node + source: |- + const http = require("https"); + + const options = { + "method": "GET", + "hostname": "api.confluent.cloud", + "port": null, + "path": "/partner/v2/organizations?page_size=SOME_INTEGER_VALUE&page_token=SOME_STRING_VALUE", + "headers": { + "Authorization": "Bearer REPLACE_BEARER_TOKEN" + } + }; + + const req = http.request(options, function (res) { + const chunks = []; + + res.on("data", function (chunk) { + chunks.push(chunk); + }); + + res.on("end", function () { + const body = Buffer.concat(chunks); + console.log(body.toString()); + }); + }); + + req.end(); + - lang: C + source: |- + CURL *hnd = curl_easy_init(); + + curl_easy_setopt(hnd, CURLOPT_CUSTOMREQUEST, "GET"); + curl_easy_setopt(hnd, CURLOPT_URL, "https://api.confluent.cloud/partner/v2/organizations?page_size=SOME_INTEGER_VALUE&page_token=SOME_STRING_VALUE"); + + struct curl_slist *headers = NULL; + headers = curl_slist_append(headers, "Authorization: Bearer REPLACE_BEARER_TOKEN"); + curl_easy_setopt(hnd, CURLOPT_HTTPHEADER, headers); + + CURLcode ret = curl_easy_perform(hnd); + - lang: C# + source: |- + var client = new RestClient("https://api.confluent.cloud/partner/v2/organizations?page_size=SOME_INTEGER_VALUE&page_token=SOME_STRING_VALUE"); + var request = new RestRequest(Method.GET); + request.AddHeader("Authorization", "Bearer REPLACE_BEARER_TOKEN"); + IRestResponse response = client.Execute(request); + - lang: Shell + source: |- + curl --request GET \ + --url https://api.confluent.cloud/partner/v2/organizations \ + --header 'Authorization: Bearer REPLACE_BEARER_TOKEN' + - lang: Java + source: |- + OkHttpClient client = new OkHttpClient(); + + Request request = new Request.Builder() + .url("https://api.confluent.cloud/partner/v2/organizations") + .get() + .addHeader("Authorization", "Bearer REPLACE_BEARER_TOKEN") + .build(); + + Response response = client.newCall(request).execute(); + - lang: Go + source: "package main\n\nimport (\n\t\"fmt\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.confluent.cloud/partner/v2/organizations\"\n\n\treq, _ := http.NewRequest(\"GET\", url, nil)\n\n\treq.Header.Add(\"Authorization\", \"Bearer REPLACE_BEARER_TOKEN\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}" + - lang: Python + source: |- + import http.client + + conn = http.client.HTTPSConnection("api.confluent.cloud") + + headers = { 'Authorization': "Bearer REPLACE_BEARER_TOKEN" } + + conn.request("GET", "/partner/v2/organizations", headers=headers) + + res = conn.getresponse() + data = res.read() + + print(data.decode("utf-8")) + - lang: Node + source: |- + const http = require("https"); + + const options = { + "method": "GET", + "hostname": "api.confluent.cloud", + "port": null, + "path": "/partner/v2/organizations", + "headers": { + "Authorization": "Bearer REPLACE_BEARER_TOKEN" + } + }; + + const req = http.request(options, function (res) { + const chunks = []; + + res.on("data", function (chunk) { + chunks.push(chunk); + }); + + res.on("end", function () { + const body = Buffer.concat(chunks); + console.log(body.toString()); + }); + }); + + req.end(); + - lang: C + source: |- + CURL *hnd = curl_easy_init(); + + curl_easy_setopt(hnd, CURLOPT_CUSTOMREQUEST, "GET"); + curl_easy_setopt(hnd, CURLOPT_URL, "https://api.confluent.cloud/partner/v2/organizations"); + + struct curl_slist *headers = NULL; + headers = curl_slist_append(headers, "Authorization: Bearer REPLACE_BEARER_TOKEN"); + curl_easy_setopt(hnd, CURLOPT_HTTPHEADER, headers); + + CURLcode ret = curl_easy_perform(hnd); + - lang: C# + source: |- + var client = new RestClient("https://api.confluent.cloud/partner/v2/organizations"); + var request = new RestRequest(Method.GET); + request.AddHeader("Authorization", "Bearer REPLACE_BEARER_TOKEN"); + IRestResponse response = client.Execute(request); + /partner/v2/signup: + post: + summary: Signup an Organization on behalf of a Customer + description: |- + [![Early Access](https://img.shields.io/badge/Lifecycle%20Stage-Early%20Access-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) [![Request Access To Partner v2](https://img.shields.io/badge/-Request%20Access%20To%20Partner%20v2-%23bc8540)](mailto:ccloud-api-access+partner-v2-early-access@confluent.io?subject=Request%20to%20join%20partner/v2%20API%20Early%20Access&body=I%E2%80%99d%20like%20to%20join%20the%20Confluent%20Cloud%20API%20Early%20Access%20for%20partner/v2%20to%20provide%20early%20feedback%21%20My%20Cloud%20Organization%20ID%20is%20%3Cretrieve%20from%20https%3A//confluent.cloud/settings/billing/payment%3E.) + + Create an organization for a customer. You must pass in either an entitlement object reference (a url to + a previously created entitlement) or entitlement details. If you pass in an entitlement object reference, we will link with the + created entitlement. If you pass in the entitlement details, we will create the entitlement with the organization + in a single transaction. If you pass in user details (email, given name, and family name), we will + create a user as well. If you do not pass in user details, you MUST call `/partner/v2/signup/activate` + with user details to complete signup. + parameters: + - name: dry_run + in: query + required: false + schema: + type: boolean + description: 'If true, only perform validation of signup' + requestBody: + description: A JSON object containing signup information + content: + application/json: + schema: + $ref: '#/components/schemas/PartnerSignupRequest' + operationId: signup + tags: + - Signup (partner/v2) + security: + - oauth: + - 'partner:create' + responses: + '201': + description: Successful signup. + content: + application/json: + schema: + $ref: '#/components/schemas/PartnerSignupResponse' + '400': + $ref: '#/components/responses/BadRequestError' + '401': + $ref: '#/components/responses/UnauthenticatedError' + '403': + $ref: '#/components/responses/UnauthorizedError' + '409': + $ref: '#/components/responses/ConflictError' + '429': + $ref: '#/components/responses/RateLimitError' + '500': + $ref: '#/components/responses/DefaultSystemError' + x-codeSamples: + - lang: Shell + source: |- + curl --request POST \ + --url https://api.confluent.cloud/partner/v2/signup \ + --header 'Authorization: Bearer REPLACE_BEARER_TOKEN' \ + --header 'content-type: application/json' \ + --data '{"organization":{"name":"Acme Organization","sso_config":{"kind":"AzureSSOConfig","tenant_id":"b3a17773-05cc-4431-9560-433fb4613da8"}},"user":{},"entitlement":{"external_id":"1111-2222-3333-4444","name":"Acme Prod Entitlement","plan_id":"confluent-cloud-payg-prod","product_id":"confluent-cloud-kafka-service-azure","usage_reporting_id":"1111-2222-3333-4444","resource_id":"1111-2222-3333-4444","organization":{"id":"string","environment":"string"}}}' + - lang: Java + source: |- + OkHttpClient client = new OkHttpClient(); + + MediaType mediaType = MediaType.parse("application/json"); + RequestBody body = RequestBody.create(mediaType, "{\"organization\":{\"name\":\"Acme Organization\",\"sso_config\":{\"kind\":\"AzureSSOConfig\",\"tenant_id\":\"b3a17773-05cc-4431-9560-433fb4613da8\"}},\"user\":{},\"entitlement\":{\"external_id\":\"1111-2222-3333-4444\",\"name\":\"Acme Prod Entitlement\",\"plan_id\":\"confluent-cloud-payg-prod\",\"product_id\":\"confluent-cloud-kafka-service-azure\",\"usage_reporting_id\":\"1111-2222-3333-4444\",\"resource_id\":\"1111-2222-3333-4444\",\"organization\":{\"id\":\"string\",\"environment\":\"string\"}}}"); + Request request = new Request.Builder() + .url("https://api.confluent.cloud/partner/v2/signup") + .post(body) + .addHeader("content-type", "application/json") + .addHeader("Authorization", "Bearer REPLACE_BEARER_TOKEN") + .build(); + + Response response = client.newCall(request).execute(); + - lang: Go + source: "package main\n\nimport (\n\t\"fmt\"\n\t\"strings\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.confluent.cloud/partner/v2/signup\"\n\n\tpayload := strings.NewReader(\"{\\\"organization\\\":{\\\"name\\\":\\\"Acme Organization\\\",\\\"sso_config\\\":{\\\"kind\\\":\\\"AzureSSOConfig\\\",\\\"tenant_id\\\":\\\"b3a17773-05cc-4431-9560-433fb4613da8\\\"}},\\\"user\\\":{},\\\"entitlement\\\":{\\\"external_id\\\":\\\"1111-2222-3333-4444\\\",\\\"name\\\":\\\"Acme Prod Entitlement\\\",\\\"plan_id\\\":\\\"confluent-cloud-payg-prod\\\",\\\"product_id\\\":\\\"confluent-cloud-kafka-service-azure\\\",\\\"usage_reporting_id\\\":\\\"1111-2222-3333-4444\\\",\\\"resource_id\\\":\\\"1111-2222-3333-4444\\\",\\\"organization\\\":{\\\"id\\\":\\\"string\\\",\\\"environment\\\":\\\"string\\\"}}}\")\n\n\treq, _ := http.NewRequest(\"POST\", url, payload)\n\n\treq.Header.Add(\"content-type\", \"application/json\")\n\treq.Header.Add(\"Authorization\", \"Bearer REPLACE_BEARER_TOKEN\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}" + - lang: Python + source: |- + import http.client + + conn = http.client.HTTPSConnection("api.confluent.cloud") + + payload = "{\"organization\":{\"name\":\"Acme Organization\",\"sso_config\":{\"kind\":\"AzureSSOConfig\",\"tenant_id\":\"b3a17773-05cc-4431-9560-433fb4613da8\"}},\"user\":{},\"entitlement\":{\"external_id\":\"1111-2222-3333-4444\",\"name\":\"Acme Prod Entitlement\",\"plan_id\":\"confluent-cloud-payg-prod\",\"product_id\":\"confluent-cloud-kafka-service-azure\",\"usage_reporting_id\":\"1111-2222-3333-4444\",\"resource_id\":\"1111-2222-3333-4444\",\"organization\":{\"id\":\"string\",\"environment\":\"string\"}}}" + + headers = { + 'content-type': "application/json", + 'Authorization': "Bearer REPLACE_BEARER_TOKEN" + } + + conn.request("POST", "/partner/v2/signup", payload, headers) + + res = conn.getresponse() + data = res.read() + + print(data.decode("utf-8")) + - lang: Node + source: |- + const http = require("https"); + + const options = { + "method": "POST", + "hostname": "api.confluent.cloud", + "port": null, + "path": "/partner/v2/signup", + "headers": { + "content-type": "application/json", + "Authorization": "Bearer REPLACE_BEARER_TOKEN" + } + }; + + const req = http.request(options, function (res) { + const chunks = []; + + res.on("data", function (chunk) { + chunks.push(chunk); + }); + + res.on("end", function () { + const body = Buffer.concat(chunks); + console.log(body.toString()); + }); + }); + + req.write(JSON.stringify({ + organization: { + name: 'Acme Organization', + sso_config: {kind: 'AzureSSOConfig', tenant_id: 'b3a17773-05cc-4431-9560-433fb4613da8'} + }, + user: {}, + entitlement: { + external_id: '1111-2222-3333-4444', + name: 'Acme Prod Entitlement', + plan_id: 'confluent-cloud-payg-prod', + product_id: 'confluent-cloud-kafka-service-azure', + usage_reporting_id: '1111-2222-3333-4444', + resource_id: '1111-2222-3333-4444', + organization: {id: 'string', environment: 'string'} + } + })); + req.end(); + - lang: C + source: |- + CURL *hnd = curl_easy_init(); + + curl_easy_setopt(hnd, CURLOPT_CUSTOMREQUEST, "POST"); + curl_easy_setopt(hnd, CURLOPT_URL, "https://api.confluent.cloud/partner/v2/signup"); + + struct curl_slist *headers = NULL; + headers = curl_slist_append(headers, "content-type: application/json"); + headers = curl_slist_append(headers, "Authorization: Bearer REPLACE_BEARER_TOKEN"); + curl_easy_setopt(hnd, CURLOPT_HTTPHEADER, headers); + + curl_easy_setopt(hnd, CURLOPT_POSTFIELDS, "{\"organization\":{\"name\":\"Acme Organization\",\"sso_config\":{\"kind\":\"AzureSSOConfig\",\"tenant_id\":\"b3a17773-05cc-4431-9560-433fb4613da8\"}},\"user\":{},\"entitlement\":{\"external_id\":\"1111-2222-3333-4444\",\"name\":\"Acme Prod Entitlement\",\"plan_id\":\"confluent-cloud-payg-prod\",\"product_id\":\"confluent-cloud-kafka-service-azure\",\"usage_reporting_id\":\"1111-2222-3333-4444\",\"resource_id\":\"1111-2222-3333-4444\",\"organization\":{\"id\":\"string\",\"environment\":\"string\"}}}"); + + CURLcode ret = curl_easy_perform(hnd); + - lang: C# + source: |- + var client = new RestClient("https://api.confluent.cloud/partner/v2/signup"); + var request = new RestRequest(Method.POST); + request.AddHeader("content-type", "application/json"); + request.AddHeader("Authorization", "Bearer REPLACE_BEARER_TOKEN"); + request.AddParameter("application/json", "{\"organization\":{\"name\":\"Acme Organization\",\"sso_config\":{\"kind\":\"AzureSSOConfig\",\"tenant_id\":\"b3a17773-05cc-4431-9560-433fb4613da8\"}},\"user\":{},\"entitlement\":{\"external_id\":\"1111-2222-3333-4444\",\"name\":\"Acme Prod Entitlement\",\"plan_id\":\"confluent-cloud-payg-prod\",\"product_id\":\"confluent-cloud-kafka-service-azure\",\"usage_reporting_id\":\"1111-2222-3333-4444\",\"resource_id\":\"1111-2222-3333-4444\",\"organization\":{\"id\":\"string\",\"environment\":\"string\"}}}", ParameterType.RequestBody); + IRestResponse response = client.Execute(request); + /partner/v2/signup/activate: + post: + summary: Activate an Incomplete Signup + description: |- + [![Early Access](https://img.shields.io/badge/Lifecycle%20Stage-Early%20Access-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) [![Request Access To Partner v2](https://img.shields.io/badge/-Request%20Access%20To%20Partner%20v2-%23bc8540)](mailto:ccloud-api-access+partner-v2-early-access@confluent.io?subject=Request%20to%20join%20partner/v2%20API%20Early%20Access&body=I%E2%80%99d%20like%20to%20join%20the%20Confluent%20Cloud%20API%20Early%20Access%20for%20partner/v2%20to%20provide%20early%20feedback%21%20My%20Cloud%20Organization%20ID%20is%20%3Cretrieve%20from%20https%3A//confluent.cloud/settings/billing/payment%3E.) + + Creates a user in the organization previously created in `/partner/v2/signup`. This completes the signup + process if you did not pass in user details to `/partner/v2/signup`. Calling this endpoint if the signup + process has been completed will result in a `409 Conflict` error. + requestBody: + description: A JSON object containing signup information + content: + application/json: + schema: + $ref: '#/components/schemas/ActivatePartnerSignupRequest' + operationId: activateSignup + tags: + - Signup (partner/v2) + security: + - oauth: + - 'partner:create' + responses: + '201': + description: Successful signup activation. User is being created. + content: + application/json: + schema: + $ref: '#/components/schemas/PartnerSignupResponse' + '400': + $ref: '#/components/responses/BadRequestError' + '401': + $ref: '#/components/responses/UnauthenticatedError' + '403': + $ref: '#/components/responses/UnauthorizedError' + '409': + $ref: '#/components/responses/ConflictError' + '429': + $ref: '#/components/responses/RateLimitError' + '500': + $ref: '#/components/responses/DefaultSystemError' + x-codeSamples: + - lang: Shell + source: |- + curl --request POST \ + --url https://api.confluent.cloud/partner/v2/signup/activate \ + --header 'Authorization: Bearer REPLACE_BEARER_TOKEN' \ + --header 'content-type: application/json' \ + --data '{"user":{},"organization_id":"b3a17773-05cc-4431-9560-433fb4613da8"}' + - lang: Java + source: |- + OkHttpClient client = new OkHttpClient(); + + MediaType mediaType = MediaType.parse("application/json"); + RequestBody body = RequestBody.create(mediaType, "{\"user\":{},\"organization_id\":\"b3a17773-05cc-4431-9560-433fb4613da8\"}"); + Request request = new Request.Builder() + .url("https://api.confluent.cloud/partner/v2/signup/activate") + .post(body) + .addHeader("content-type", "application/json") + .addHeader("Authorization", "Bearer REPLACE_BEARER_TOKEN") + .build(); + + Response response = client.newCall(request).execute(); + - lang: Go + source: "package main\n\nimport (\n\t\"fmt\"\n\t\"strings\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.confluent.cloud/partner/v2/signup/activate\"\n\n\tpayload := strings.NewReader(\"{\\\"user\\\":{},\\\"organization_id\\\":\\\"b3a17773-05cc-4431-9560-433fb4613da8\\\"}\")\n\n\treq, _ := http.NewRequest(\"POST\", url, payload)\n\n\treq.Header.Add(\"content-type\", \"application/json\")\n\treq.Header.Add(\"Authorization\", \"Bearer REPLACE_BEARER_TOKEN\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}" + - lang: Python + source: |- + import http.client + + conn = http.client.HTTPSConnection("api.confluent.cloud") + + payload = "{\"user\":{},\"organization_id\":\"b3a17773-05cc-4431-9560-433fb4613da8\"}" + + headers = { + 'content-type': "application/json", + 'Authorization': "Bearer REPLACE_BEARER_TOKEN" + } + + conn.request("POST", "/partner/v2/signup/activate", payload, headers) + + res = conn.getresponse() + data = res.read() + + print(data.decode("utf-8")) + - lang: Node + source: |- + const http = require("https"); + + const options = { + "method": "POST", + "hostname": "api.confluent.cloud", + "port": null, + "path": "/partner/v2/signup/activate", + "headers": { + "content-type": "application/json", + "Authorization": "Bearer REPLACE_BEARER_TOKEN" + } + }; + + const req = http.request(options, function (res) { + const chunks = []; + + res.on("data", function (chunk) { + chunks.push(chunk); + }); + + res.on("end", function () { + const body = Buffer.concat(chunks); + console.log(body.toString()); + }); + }); + + req.write(JSON.stringify({user: {}, organization_id: 'b3a17773-05cc-4431-9560-433fb4613da8'})); + req.end(); + - lang: C + source: |- + CURL *hnd = curl_easy_init(); + + curl_easy_setopt(hnd, CURLOPT_CUSTOMREQUEST, "POST"); + curl_easy_setopt(hnd, CURLOPT_URL, "https://api.confluent.cloud/partner/v2/signup/activate"); + + struct curl_slist *headers = NULL; + headers = curl_slist_append(headers, "content-type: application/json"); + headers = curl_slist_append(headers, "Authorization: Bearer REPLACE_BEARER_TOKEN"); + curl_easy_setopt(hnd, CURLOPT_HTTPHEADER, headers); + + curl_easy_setopt(hnd, CURLOPT_POSTFIELDS, "{\"user\":{},\"organization_id\":\"b3a17773-05cc-4431-9560-433fb4613da8\"}"); + + CURLcode ret = curl_easy_perform(hnd); + - lang: C# + source: |- + var client = new RestClient("https://api.confluent.cloud/partner/v2/signup/activate"); + var request = new RestRequest(Method.POST); + request.AddHeader("content-type", "application/json"); + request.AddHeader("Authorization", "Bearer REPLACE_BEARER_TOKEN"); + request.AddParameter("application/json", "{\"user\":{},\"organization_id\":\"b3a17773-05cc-4431-9560-433fb4613da8\"}", ParameterType.RequestBody); + IRestResponse response = client.Execute(request); + /partner/v2/signup/link: + post: + summary: Signup a Customer by Linking to an Existing Organization + description: |- + [![Early Access](https://img.shields.io/badge/Lifecycle%20Stage-Early%20Access-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) [![Request Access To Partner v2](https://img.shields.io/badge/-Request%20Access%20To%20Partner%20v2-%23bc8540)](mailto:ccloud-api-access+partner-v2-early-access@confluent.io?subject=Request%20to%20join%20partner/v2%20API%20Early%20Access&body=I%E2%80%99d%20like%20to%20join%20the%20Confluent%20Cloud%20API%20Early%20Access%20for%20partner/v2%20to%20provide%20early%20feedback%21%20My%20Cloud%20Organization%20ID%20is%20%3Cretrieve%20from%20https%3A//confluent.cloud/settings/billing/payment%3E.) + + Signup a customer by linking a new entitlement to an existing Confluent Cloud organization. + parameters: + - name: dry_run + in: query + required: false + schema: + type: boolean + description: 'If true, only perform validation of signup' + requestBody: + description: A JSON object containing signup information + content: + application/json: + schema: + $ref: '#/components/schemas/PartnerLinkRequest' + operationId: signupPartnerV2Link + tags: + - Signup (partner/v2) + security: + - oauth: + - 'partner:create' + responses: + '201': + description: Successful signup. + content: + application/json: + schema: + $ref: '#/components/schemas/PartnerSignupResponse' + '400': + $ref: '#/components/responses/BadRequestError' + '401': + $ref: '#/components/responses/UnauthenticatedError' + '403': + $ref: '#/components/responses/UnauthorizedError' + '409': + $ref: '#/components/responses/ConflictError' + '429': + $ref: '#/components/responses/RateLimitError' + '500': + $ref: '#/components/responses/DefaultSystemError' + x-codeSamples: + - lang: Shell + source: |- + curl --request POST \ + --url https://api.confluent.cloud/partner/v2/signup/link \ + --header 'Authorization: Bearer REPLACE_BEARER_TOKEN' \ + --header 'content-type: application/json' \ + --data '{"token":"eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiIxMjM0NTY3ODkwIiwibmFtZSI6IkpvaG4gRG9lIiwiaWF0IjoxNTE2MjM5MDIyfQ.SflKxwRJSMeKKF2QT4fwpMeJf36POk6yJV_adQssw5c","organization":{"name":"Acme Organization","sso_config":{"kind":"AzureSSOConfig","tenant_id":"b3a17773-05cc-4431-9560-433fb4613da8"}},"entitlement":{"external_id":"1111-2222-3333-4444","name":"Acme Prod Entitlement","plan_id":"confluent-cloud-payg-prod","product_id":"confluent-cloud-kafka-service-azure","usage_reporting_id":"1111-2222-3333-4444","resource_id":"1111-2222-3333-4444","organization":{"id":"string","environment":"string"}}}' + - lang: Java + source: |- + OkHttpClient client = new OkHttpClient(); + + MediaType mediaType = MediaType.parse("application/json"); + RequestBody body = RequestBody.create(mediaType, "{\"token\":\"eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiIxMjM0NTY3ODkwIiwibmFtZSI6IkpvaG4gRG9lIiwiaWF0IjoxNTE2MjM5MDIyfQ.SflKxwRJSMeKKF2QT4fwpMeJf36POk6yJV_adQssw5c\",\"organization\":{\"name\":\"Acme Organization\",\"sso_config\":{\"kind\":\"AzureSSOConfig\",\"tenant_id\":\"b3a17773-05cc-4431-9560-433fb4613da8\"}},\"entitlement\":{\"external_id\":\"1111-2222-3333-4444\",\"name\":\"Acme Prod Entitlement\",\"plan_id\":\"confluent-cloud-payg-prod\",\"product_id\":\"confluent-cloud-kafka-service-azure\",\"usage_reporting_id\":\"1111-2222-3333-4444\",\"resource_id\":\"1111-2222-3333-4444\",\"organization\":{\"id\":\"string\",\"environment\":\"string\"}}}"); + Request request = new Request.Builder() + .url("https://api.confluent.cloud/partner/v2/signup/link") + .post(body) + .addHeader("content-type", "application/json") + .addHeader("Authorization", "Bearer REPLACE_BEARER_TOKEN") + .build(); + + Response response = client.newCall(request).execute(); + - lang: Go + source: "package main\n\nimport (\n\t\"fmt\"\n\t\"strings\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.confluent.cloud/partner/v2/signup/link\"\n\n\tpayload := strings.NewReader(\"{\\\"token\\\":\\\"eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiIxMjM0NTY3ODkwIiwibmFtZSI6IkpvaG4gRG9lIiwiaWF0IjoxNTE2MjM5MDIyfQ.SflKxwRJSMeKKF2QT4fwpMeJf36POk6yJV_adQssw5c\\\",\\\"organization\\\":{\\\"name\\\":\\\"Acme Organization\\\",\\\"sso_config\\\":{\\\"kind\\\":\\\"AzureSSOConfig\\\",\\\"tenant_id\\\":\\\"b3a17773-05cc-4431-9560-433fb4613da8\\\"}},\\\"entitlement\\\":{\\\"external_id\\\":\\\"1111-2222-3333-4444\\\",\\\"name\\\":\\\"Acme Prod Entitlement\\\",\\\"plan_id\\\":\\\"confluent-cloud-payg-prod\\\",\\\"product_id\\\":\\\"confluent-cloud-kafka-service-azure\\\",\\\"usage_reporting_id\\\":\\\"1111-2222-3333-4444\\\",\\\"resource_id\\\":\\\"1111-2222-3333-4444\\\",\\\"organization\\\":{\\\"id\\\":\\\"string\\\",\\\"environment\\\":\\\"string\\\"}}}\")\n\n\treq, _ := http.NewRequest(\"POST\", url, payload)\n\n\treq.Header.Add(\"content-type\", \"application/json\")\n\treq.Header.Add(\"Authorization\", \"Bearer REPLACE_BEARER_TOKEN\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}" + - lang: Python + source: |- + import http.client + + conn = http.client.HTTPSConnection("api.confluent.cloud") + + payload = "{\"token\":\"eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiIxMjM0NTY3ODkwIiwibmFtZSI6IkpvaG4gRG9lIiwiaWF0IjoxNTE2MjM5MDIyfQ.SflKxwRJSMeKKF2QT4fwpMeJf36POk6yJV_adQssw5c\",\"organization\":{\"name\":\"Acme Organization\",\"sso_config\":{\"kind\":\"AzureSSOConfig\",\"tenant_id\":\"b3a17773-05cc-4431-9560-433fb4613da8\"}},\"entitlement\":{\"external_id\":\"1111-2222-3333-4444\",\"name\":\"Acme Prod Entitlement\",\"plan_id\":\"confluent-cloud-payg-prod\",\"product_id\":\"confluent-cloud-kafka-service-azure\",\"usage_reporting_id\":\"1111-2222-3333-4444\",\"resource_id\":\"1111-2222-3333-4444\",\"organization\":{\"id\":\"string\",\"environment\":\"string\"}}}" + + headers = { + 'content-type': "application/json", + 'Authorization': "Bearer REPLACE_BEARER_TOKEN" + } + + conn.request("POST", "/partner/v2/signup/link", payload, headers) + + res = conn.getresponse() + data = res.read() + + print(data.decode("utf-8")) + - lang: Node + source: |- + const http = require("https"); + + const options = { + "method": "POST", + "hostname": "api.confluent.cloud", + "port": null, + "path": "/partner/v2/signup/link", + "headers": { + "content-type": "application/json", + "Authorization": "Bearer REPLACE_BEARER_TOKEN" + } + }; + + const req = http.request(options, function (res) { + const chunks = []; + + res.on("data", function (chunk) { + chunks.push(chunk); + }); + + res.on("end", function () { + const body = Buffer.concat(chunks); + console.log(body.toString()); + }); + }); + + req.write(JSON.stringify({ + token: 'eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiIxMjM0NTY3ODkwIiwibmFtZSI6IkpvaG4gRG9lIiwiaWF0IjoxNTE2MjM5MDIyfQ.SflKxwRJSMeKKF2QT4fwpMeJf36POk6yJV_adQssw5c', + organization: { + name: 'Acme Organization', + sso_config: {kind: 'AzureSSOConfig', tenant_id: 'b3a17773-05cc-4431-9560-433fb4613da8'} + }, + entitlement: { + external_id: '1111-2222-3333-4444', + name: 'Acme Prod Entitlement', + plan_id: 'confluent-cloud-payg-prod', + product_id: 'confluent-cloud-kafka-service-azure', + usage_reporting_id: '1111-2222-3333-4444', + resource_id: '1111-2222-3333-4444', + organization: {id: 'string', environment: 'string'} + } + })); + req.end(); + - lang: C + source: |- + CURL *hnd = curl_easy_init(); + + curl_easy_setopt(hnd, CURLOPT_CUSTOMREQUEST, "POST"); + curl_easy_setopt(hnd, CURLOPT_URL, "https://api.confluent.cloud/partner/v2/signup/link"); + + struct curl_slist *headers = NULL; + headers = curl_slist_append(headers, "content-type: application/json"); + headers = curl_slist_append(headers, "Authorization: Bearer REPLACE_BEARER_TOKEN"); + curl_easy_setopt(hnd, CURLOPT_HTTPHEADER, headers); + + curl_easy_setopt(hnd, CURLOPT_POSTFIELDS, "{\"token\":\"eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiIxMjM0NTY3ODkwIiwibmFtZSI6IkpvaG4gRG9lIiwiaWF0IjoxNTE2MjM5MDIyfQ.SflKxwRJSMeKKF2QT4fwpMeJf36POk6yJV_adQssw5c\",\"organization\":{\"name\":\"Acme Organization\",\"sso_config\":{\"kind\":\"AzureSSOConfig\",\"tenant_id\":\"b3a17773-05cc-4431-9560-433fb4613da8\"}},\"entitlement\":{\"external_id\":\"1111-2222-3333-4444\",\"name\":\"Acme Prod Entitlement\",\"plan_id\":\"confluent-cloud-payg-prod\",\"product_id\":\"confluent-cloud-kafka-service-azure\",\"usage_reporting_id\":\"1111-2222-3333-4444\",\"resource_id\":\"1111-2222-3333-4444\",\"organization\":{\"id\":\"string\",\"environment\":\"string\"}}}"); + + CURLcode ret = curl_easy_perform(hnd); + - lang: C# + source: |- + var client = new RestClient("https://api.confluent.cloud/partner/v2/signup/link"); + var request = new RestRequest(Method.POST); + request.AddHeader("content-type", "application/json"); + request.AddHeader("Authorization", "Bearer REPLACE_BEARER_TOKEN"); + request.AddParameter("application/json", "{\"token\":\"eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiIxMjM0NTY3ODkwIiwibmFtZSI6IkpvaG4gRG9lIiwiaWF0IjoxNTE2MjM5MDIyfQ.SflKxwRJSMeKKF2QT4fwpMeJf36POk6yJV_adQssw5c\",\"organization\":{\"name\":\"Acme Organization\",\"sso_config\":{\"kind\":\"AzureSSOConfig\",\"tenant_id\":\"b3a17773-05cc-4431-9560-433fb4613da8\"}},\"entitlement\":{\"external_id\":\"1111-2222-3333-4444\",\"name\":\"Acme Prod Entitlement\",\"plan_id\":\"confluent-cloud-payg-prod\",\"product_id\":\"confluent-cloud-kafka-service-azure\",\"usage_reporting_id\":\"1111-2222-3333-4444\",\"resource_id\":\"1111-2222-3333-4444\",\"organization\":{\"id\":\"string\",\"environment\":\"string\"}}}", ParameterType.RequestBody); + IRestResponse response = client.Execute(request); diff --git a/providers/src/confluent/v00.00.00000/services/pipelines.yaml b/providers/src/confluent/v00.00.00000/services/pipelines.yaml new file mode 100644 index 00000000..20fb45c0 --- /dev/null +++ b/providers/src/confluent/v00.00.00000/services/pipelines.yaml @@ -0,0 +1,3844 @@ +openapi: 3.0.0 +servers: + - url: 'https://api.confluent.cloud' + description: Confluent Cloud API +info: + version: '' + contact: + name: Confluent Cloud + url: 'https://www.confluent.io/cloud-contact-us/' + email: support@confluent.io + x-api-id: 46234552-5833-42eb-ba0f-883ad3f70d2b + x-audience: external-public + x-logo: + url: 'https://assets.confluent.io/m/5ec23aa91903c00b/' + title: Confluent Cloud APIs - pipelines + description: pipelines +tags: + - name: API Keys (iam/v2) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + `ApiKey` objects represent access to different parts of Confluent Cloud. Some types + of API keys represent access to a single cluster/resource such as a Kafka cluster, + Schema Registry cluster or a ksqlDB cluster. Cloud API Keys represent access to resources within an organization + that are not tied to a specific cluster, such as the Org API, IAM API, Metrics API or Connect API. + + The API allows you to list, create, update and delete your API Keys. + + + Related guide: [API Keys in Confluent Cloud](https://docs.confluent.io/cloud/current/client-apps/api-keys.html). + + ## The API Keys Model + + + ## Quotas and Limits + This resource is subject to the [following quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): + + | Quota | Description | + | --- | --- | + | `apikeys_per_org` | API Keys in one Confluent Cloud organization | + - name: Environments (org/v2) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + `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](https://docs.confluent.io/cloud/current/access-management/environments.html). + + ## The Environments Model + + + ## Quotas and Limits + This resource is subject to the [following quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): + + | Quota | Description | + | --- | --- | + | `environments_per_org` | Environments in one Confluent Cloud organization | + - name: Organizations (org/v2) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + `Organization` objects represent a customer organization. An organization contains all customer + resources (e.g., Environments, Kafka Clusters, Service Accounts, API Keys) and is tied to a billing + agreement (including any annual commitment or support plan). + + The API allows you to list, view, and update your organizations. + + + Related guide: [Organizations for Confluent Cloud](https://docs.confluent.io/cloud/current/access-management/hierarchy/organizations/cloud-organization.html). + + ## The Organizations Model + + + ## Quotas and Limits + This resource is subject to the [following quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): + + | Quota | Description | + | --- | --- | + | `organizations_per_user` | Confluent Cloud organizations a user belongs to | + - name: Users (iam/v2) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + `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](https://docs.confluent.io/cloud/current/access-management/user-account.html). + + ## The Users Model + + + ## Quotas and Limits + This resource is subject to the [following quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): + + | Quota | Description | + | --- | --- | + | `users_per_org` | Users in one Confluent Cloud organization | + - name: Service Accounts (iam/v2) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + `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](https://docs.confluent.io/cloud/current/access-management/service-account.html). + + ## The Service Accounts Model + + + ## Quotas and Limits + This resource is subject to the [following quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): + + | Quota | Description | + | --- | --- | + | `service_accounts_per_org` | Service Accounts in one Confluent Cloud organization | + - name: Invitations (iam/v2) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + `Invitation` objects represent invitations to invite users to join your organizations in Confluent Cloud. + + The API allows you to list all your invitations, as well as create, read, and delete a specified invitation. + + + Related guide: [User invitations in Confluent Cloud](https://docs.confluent.io/cloud/current/access-management/identity/user-accounts.html). + + ## The Invitations Model + + + ## Quotas and Limits + This resource is subject to the [following quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): + + | Quota | Description | + | --- | --- | + | `invitations_per_org` | Invitations in a Confluent Cloud organization | + - name: IP Groups (iam/v2) + description: |- + [![Limited Availability](https://img.shields.io/badge/Lifecycle%20Stage-Limited%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) [![Request Access To IP Groups API](https://img.shields.io/badge/-Request%20Access%20To%20IP%20Groups%20API-%23bc8540)](mailto:cloud-support@confluent.io?subject=Request%20to%20join%20IP%20Filtering%20API%20Limited%20Access&body=I%E2%80%99d%20like%20to%20join%20the%20Confluent%20Cloud%20API%20Limited%20Access%20for%20IP%20Filtering.%0AMy%20Cloud%20Organization%20ID%20is%20%3Cretrieve%20from%20https%3A//confluent.cloud/settings/billing/payment%3E.%0A) + + Definitions of networks which can be named and referred by IP blocks, commonly used to attach to IP Filter rules. + + + ## The IP Groups Model + + - name: IP Filters (iam/v2) + description: |- + [![Limited Availability](https://img.shields.io/badge/Lifecycle%20Stage-Limited%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) [![Request Access To IP Filters API](https://img.shields.io/badge/-Request%20Access%20To%20IP%20Filters%20API-%23bc8540)](mailto:ccloud-api-access+iam-v2-limited-availability@confluent.io?subject=Request%20to%20join%20iam/v2%20API%20Limited%20Availability&body=I%E2%80%99d%20like%20to%20join%20the%20Confluent%20Cloud%20API%20Limited%20Availability%20for%20iam/v2%20to%20provide%20early%20feedback%21%20My%20Cloud%20Organization%20ID%20is%20%3Cretrieve%20from%20https%3A//confluent.cloud/settings/billing/payment%3E.) + + `IP Filter` objects are bindings between IP Groups and Confluent resource(s). + For example, a binding between "CorpNet" and "Management APIs" will enforce that + access must come from one of the CIDR blocks associated with CorpNet. + If there are multiple IP filters bound to a resource, a request matching any of the CIDR blocks + for any of the IP Group will allow the request. + If there are no IP Filters for a resource, then access will be granted to requests originating + from any IP Address. + + + ## The IP Filters Model + + - name: Role Bindings (iam/v2) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + A role binding grants a Principal a role on resources that match a pattern. + + The API allows you to perform create, delete, and list operations on role bindings. + + + Related guide: [Role-Based Access Control (RBAC)](https://docs.confluent.io/cloud/current/access-management/access-control/cloud-rbac.html). + + ## The Role Bindings Model + + - name: Subscriptions (notifications/v1) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + `Subscription` objects represent the intent of the customers to get notifications of particular types. + A subscription is created for a particular `NotificationType` and the user will get notifications on the + `Integrations` that are provided while creating the subscription. + + This API allows you to create, retrieve, and update subscriptions, + as well as to view the list of all your subscriptions. You can also delete subscriptions + with RECOMMENDED or OPTIONAL notification types. Subscriptions with REQUIRED notification types cannot be deleted. + + + Related guide: [Cloud Notifications](https://docs.confluent.io/cloud/current/monitoring/configure-notifications.html#notifications-for-ccloud). + + ## The Subscriptions Model + + - name: Integrations (notifications/v1) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + You can create an `Integration` to specify how we can notify you when we receive an alert/notification for + a subscription. Please note that you can only perform create, update and delete operations for integrations + of type `Webhook`, `Slack` and `MsTeams`. You cannot create, update or delete integrations of type `RoleEmail` + and `UserEmail`. + + + Related guide: [Cloud Notifications](https://docs.confluent.io/cloud/current/monitoring/configure-notifications.html#notifications-for-ccloud). + + ## The Integrations Model + + + ## Quotas and Limits + This resource is subject to the [following quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): + + | Quota | Description | + | --- | --- | + | `integrations_per_org` | Maximum number of integrations in one Confluent Cloud organization | + - name: Notification Types (notifications/v1) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + The type of notifications (and their corresponding metadata) supported by Confluent. + + + Related guide: [Cloud Notifications](https://docs.confluent.io/cloud/current/monitoring/configure-notifications.html#notifications-for-ccloud). + + ## The Notification Types Model + + - name: Clusters (cmk/v2) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + `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](https://docs.confluent.io/cloud/current/clusters/cluster-api.html). + + ## The Clusters Model + + + ## Quotas and Limits + This resource is subject to the [following quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): + + | Quota | Description | + | --- | --- | + | `kafka_clusters_per_environment` | Number of clusters in one Confluent Cloud environment | + - name: Clusters (ksqldbcm/v2) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + `Cluster` represents a ksqlDB runtime that you can issue queries to using its API endpoint. + It executes SQL statements and queries which under the hood get built into corresponding + Kafka Streams topologies. The API allows you to list, create, read, and delete your ksqlDB clusters. + + + Related guide: [ksqlDB in Confluent Cloud](https://docs.confluent.io/cloud/current/ksqldb/ksqldb-cluster-api.html). + + ## The Clusters Model + + + ## Quotas and Limits + This resource is subject to the following quotas: + + | Quota | Description | + | --- | --- | + | `ksql.limits.max_apps_per_cluster` | Clusters in one Confluent Cloud Kafka Cluster. | + - name: Connectors (connect/v1) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + API for Managed Connectors or Custom Connectors in Confluent Cloud. + + The API allows you to list, create, get, update and delete a Managed Connector or Custom Connector in Confluent Cloud. + + Connect metrics are available through the [Metrics v2 API](https://api.telemetry.confluent.cloud/docs#tag/Version-2). + + Related guide: [Confluent Cloud API and Managed Connectors](https://docs.confluent.io/cloud/current/connectors/connect-api-section.html). + - name: Lifecycle (connect/v1) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + API for managing the lifecycle for a Managed Connector or Custom Connector in Confluent Cloud. Operations currently supported are Pause and Resume. + - name: Status (connect/v1) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + API for requesting the status or the tasks for a Managed Connector or Custom Connector in Confluent Cloud. + - name: Managed Connector Plugins (connect/v1) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + API for Managed connectors in Confluent Cloud. + - name: Offsets (connect/v1) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + API for managing the offsets for a Managed Connector. + + Related guide: [Manage Connector Offsets](https://docs.confluent.io/cloud/current/connectors/offsets.html#manage-offsets-for-fully-managed-connectors-in-ccloud) + - name: Custom Connector Plugins (connect/v1) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + CustomConnectorPlugins objects represent Custom Connector Plugins on Confluent Cloud. + The API allows you to list, create, read, update, and delete your Custom Connector Plugins. + Related guide: + [Custom Connector Plugin API](https://docs.confluent.io/cloud/current/connectors/connect-api-section.html). + + + ## The Custom Connector Plugins Model + + - name: Presigned Urls (connect/v1) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + Request a presigned upload URL for new Custom Connector Plugin. Note that + the URL policy expires in one hour. If the policy expires, you can request + a new presigned upload URL. + + Related guide: + [Custom Connector Plugin API](https://docs.confluent.io/cloud/current/connectors/connect-api-section.html). + + + ## The Presigned Urls Model + + - name: Cluster (v3) + description: '[![Generally Available](https://img.shields.io/badge/Lifecycle%20Stage-Generally%20Available-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy)' + - name: Configs (v3) + description: '[![Generally Available](https://img.shields.io/badge/Lifecycle%20Stage-Generally%20Available-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy)' + - name: ACL (v3) + description: '[![Generally Available](https://img.shields.io/badge/Lifecycle%20Stage-Generally%20Available-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy)' + - name: Consumer Group (v3) + description: '[![Generally Available](https://img.shields.io/badge/Lifecycle%20Stage-Generally%20Available-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy)' + - name: Partition (v3) + description: '[![Generally Available](https://img.shields.io/badge/Lifecycle%20Stage-Generally%20Available-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy)' + - name: Topic (v3) + description: '[![Generally Available](https://img.shields.io/badge/Lifecycle%20Stage-Generally%20Available-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy)' + - name: Records (v3) + description: '[![Generally Available](https://img.shields.io/badge/Lifecycle%20Stage-Generally%20Available-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy)' + - name: Cluster Linking (v3) + description: '[![Generally Available](https://img.shields.io/badge/Lifecycle%20Stage-Generally%20Available-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy)' + - name: Applied Quotas (service-quota/v1) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + A `quota` object represents a quota configuration for a specific Confluent Cloud resource. + Use this API to retrieve an individual quota or list of quotas for a given scope. + + + Related guide: [Service Quotas for Confluent Cloud](https://docs.confluent.io/cloud/current/quotas/index.html). + + ## The Applied Quotas Model + + - name: Scopes (service-quota/v1) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + Gets a list of all available scopes for applied quotas. + + + Related guide: [Quota Scopes](https://docs.confluent.io/cloud/current/quotas/quotas.html#query-for-scopes). + + ## The Scopes Model + + - name: Entitlements (partner/v2) + description: | + [![Early Access](https://img.shields.io/badge/Lifecycle%20Stage-Early%20Access-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) [![Request Access To Partner v2](https://img.shields.io/badge/-Request%20Access%20To%20Partner%20v2-%23bc8540)](mailto:ccloud-api-access+partner-v2-early-access@confluent.io?subject=Request%20to%20join%20partner/v2%20API%20Early%20Access&body=I%E2%80%99d%20like%20to%20join%20the%20Confluent%20Cloud%20API%20Early%20Access%20for%20partner/v2%20to%20provide%20early%20feedback%21%20My%20Cloud%20Organization%20ID%20is%20%3Cretrieve%20from%20https%3A//confluent.cloud/settings/billing/payment%3E.) + + `Entitlement` objects represent metadata about a marketplace entitlement. + + An entitlement includes metadata about a marketplace purchase + (start date, end date, billing information, partner IDs, etc). + The API allows partners to create, read, and list entitlements. (Unless you + need entitlement creation and customer registration to be separate, + we recommend using the Signup API to create an organization and entitlement + at the same time) + + The API only allows authorized partners to interact with the Entitlements API. + - name: Regions (srcm/v2) + description: |- + [![Deprecated](https://img.shields.io/badge/Lifecycle%20Stage-Deprecated-%23ff005c)](#section/Versioning/API-Lifecycle-Policy) + + `Region` objects represent cloud provider regions available when placing Schema Registry clusters. + The API allows you to list Schema Registry regions. + + + Related guides: + * [Confluent Cloud providers and region support](https://docs.confluent.io/cloud/current/stream-governance/packages.html#cloud-providers-and-region-support). + * [srcm/v3 Migration Guide](https://docs.confluent.io/cloud/current/stream-governance/packages.html#deprecation-of-srcm-v2-clusters-and-regions-apis-and-upgrade-guide). + + + ## The Regions Model + + - name: Clusters (srcm/v2) + description: |- + [![Deprecated](https://img.shields.io/badge/Lifecycle%20Stage-Deprecated-%23ff005c)](#section/Versioning/API-Lifecycle-Policy) + + `Clusters` objects represent Schema Registry Clusters on Confluent Cloud. + + The API allows you to list, create, read, and delete your Schema Registry clusters. + + + Related guides: + * [Confluent Cloud Schema Registry Cluster APIs](https://docs.confluent.io/cloud/current/stream-governance/clusters-regions-api.html#schema-registry-cluster-management). + * [srcm/v3 Migration Guide](https://docs.confluent.io/cloud/current/stream-governance/packages.html#deprecation-of-srcm-v2-clusters-and-regions-apis-and-upgrade-guide). + + + ## The Clusters Model + + - name: Clusters (srcm/v3) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + `Clusters` objects represent Schema Registry Clusters on Confluent Cloud. + + The API allows you to list and read your Schema Registry clusters. + + + Related guide: [Confluent Cloud Schema Registry Cluster APIs](https://docs.confluent.io/cloud/current/stream-governance/clusters-regions-api.html#schema-registry-cluster-management). + + ## The Clusters Model + + - name: Compatibility (v1) + description: |- + [![Generally Available](https://img.shields.io/badge/Lifecycle%20Stage-Generally%20Available-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + The API allows you to test schema compatibility. + + Related guide: [Manage Schemas in Confluent Cloud](https://docs.confluent.io/cloud/current/sr/schemas-manage.html#manage-schemas-in-ccloud). + - name: Config (v1) + description: |- + [![Generally Available](https://img.shields.io/badge/Lifecycle%20Stage-Generally%20Available-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + The API allows you to manage and query schema compatibility settings and cluster configurations. + + Related guide: [Manage Schemas in Confluent Cloud](https://docs.confluent.io/cloud/current/sr/schemas-manage.html#manage-schemas-in-ccloud). + - name: Contexts (v1) + description: |- + [![Generally Available](https://img.shields.io/badge/Lifecycle%20Stage-Generally%20Available-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + The API allows you to retrieve information about schema contexts. + + Related guide: [Manage Schemas in Confluent Cloud](https://docs.confluent.io/cloud/current/sr/schemas-manage.html#manage-schemas-in-ccloud). + - name: Exporters (v1) + description: |- + [![Generally Available](https://img.shields.io/badge/Lifecycle%20Stage-Generally%20Available-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + The API allows you to create, retrieve, update, and delete exporters. + + Related guide: [Manage Schemas in Confluent Cloud](https://docs.confluent.io/cloud/current/sr/schemas-manage.html#manage-schemas-in-ccloud). + - name: Modes (v1) + description: |- + [![Generally Available](https://img.shields.io/badge/Lifecycle%20Stage-Generally%20Available-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + The API allows you to create, retrieve, update, and delete schema subjects modes of operation. + + Related guide: [Manage Schemas in Confluent Cloud](https://docs.confluent.io/cloud/current/sr/schemas-manage.html#manage-schemas-in-ccloud). + - name: Schemas (v1) + description: |- + [![Generally Available](https://img.shields.io/badge/Lifecycle%20Stage-Generally%20Available-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + The API allows you to create, retrieve, update, and delete schemas. + + Related guide: [Manage Schemas in Confluent Cloud](https://docs.confluent.io/cloud/current/sr/schemas-manage.html#manage-schemas-in-ccloud). + - name: Subjects (v1) + description: |- + [![Generally Available](https://img.shields.io/badge/Lifecycle%20Stage-Generally%20Available-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + The API allows you to create, retrieve, update, and delete schema subjects and versions. + + Related guide: [Manage Schemas in Confluent Cloud](https://docs.confluent.io/cloud/current/sr/schemas-manage.html#manage-schemas-in-ccloud). + - name: Key Encryption Keys (v1) + description: |- + [![Generally Available](https://img.shields.io/badge/Lifecycle%20Stage-Generally%20Available-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + The API allows you to create, retrieve, update, and delete key encryption keys. + + Related guide: [Manage Schemas in Confluent Cloud](https://docs.confluent.io/cloud/current/sr/schemas-manage.html#manage-schemas-in-ccloud). + - name: Data Encryption Keys (v1) + description: |- + [![Generally Available](https://img.shields.io/badge/Lifecycle%20Stage-Generally%20Available-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + The API allows you to create, retrieve, update, and delete data encryption keys. + + Related guide: [Manage Schemas in Confluent Cloud](https://docs.confluent.io/cloud/current/sr/schemas-manage.html#manage-schemas-in-ccloud). + - name: Entity (v1) + description: |- + [![Generally Available](https://img.shields.io/badge/Lifecycle%20Stage-Generally%20Available-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + The API allows you to create, retrieve, update, and delete catalog entities. + + Related guide: [Catalog API Documentation](https://docs.confluent.io/cloud/current/stream-governance/stream-catalog.html#catalog-api-documentation). + - name: Search (v1) + description: |- + [![Generally Available](https://img.shields.io/badge/Lifecycle%20Stage-Generally%20Available-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + The API allows you to search for entities. + + Related guide: [Catalog API Documentation](https://docs.confluent.io/cloud/current/stream-governance/stream-catalog.html#catalog-api-documentation). + - name: Types (v1) + description: |- + [![Generally Available](https://img.shields.io/badge/Lifecycle%20Stage-Generally%20Available-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + The API allows you to create, retrieve, update, and delete catalog types such as tag definitions. + + Related guide: [Catalog API Documentation](https://docs.confluent.io/cloud/current/stream-governance/stream-catalog.html#catalog-api-documentation). + - name: Provider Shared Resources (cdx/v1) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + `ProviderSharedResource` object contains details of the data stream + (topic, schema registry subjects, sharing metadata) that you have shared through Stream Sharing. + + + ## The Provider Shared Resources Model + + - name: Provider Shares (cdx/v1) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + `ProviderShare` object respresents the share that you have created through Stream Sharing. + + + Related guide: [Provider Stream Shares in Confluent Cloud](https://docs.confluent.io/cloud/current/stream-sharing/produce-shared-data.html#stream-shares). + + ## The Provider Shares Model + + - name: Consumer Shared Resources (cdx/v1) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + `ConsumerSharedResource` object contains details of the data stream + (topic, schema registry subjects, sharing metadata) that you received through Stream Sharing. + + + ## The Consumer Shared Resources Model + + - name: Consumer Shares (cdx/v1) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + `ConsumerShare` object respresents the share that you received through Stream Sharing. + + + Related guide: [Consumer Stream Shares in Confluent Cloud](https://docs.confluent.io/cloud/current/stream-sharing/consume-shared-data.html). + + ## The Consumer Shares Model + + - name: Shared Tokens (cdx/v1) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + Encrypted Token shared with consumer + + + ## The Shared Tokens Model + + - name: Opt Ins (cdx/v1) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + Stream sharing opt in options + + ## The Opt Ins Model + + - name: Organizations (partner/v2) + description: | + [![Early Access](https://img.shields.io/badge/Lifecycle%20Stage-Early%20Access-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) [![Request Access To Partner v2](https://img.shields.io/badge/-Request%20Access%20To%20Partner%20v2-%23bc8540)](mailto:ccloud-api-access+partner-v2-early-access@confluent.io?subject=Request%20to%20join%20partner/v2%20API%20Early%20Access&body=I%E2%80%99d%20like%20to%20join%20the%20Confluent%20Cloud%20API%20Early%20Access%20for%20partner/v2%20to%20provide%20early%20feedback%21%20My%20Cloud%20Organization%20ID%20is%20%3Cretrieve%20from%20https%3A//confluent.cloud/settings/billing/payment%3E.) + + `Organizations` objects represent an entire Confluent Cloud organization. + Partners are allowed to get an organization they have signed up or + list all organizations they have signed up. + - name: Signup (partner/v2) + description: | + [![Early Access](https://img.shields.io/badge/Lifecycle%20Stage-Early%20Access-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) [![Request Access To Partner v2](https://img.shields.io/badge/-Request%20Access%20To%20Partner%20v2-%23bc8540)](mailto:ccloud-api-access+partner-v2-early-access@confluent.io?subject=Request%20to%20join%20partner/v2%20API%20Early%20Access&body=I%E2%80%99d%20like%20to%20join%20the%20Confluent%20Cloud%20API%20Early%20Access%20for%20partner/v2%20to%20provide%20early%20feedback%21%20My%20Cloud%20Organization%20ID%20is%20%3Cretrieve%20from%20https%3A//confluent.cloud/settings/billing/payment%3E.) + + `Signup` APIs can only be performed by partners. + - name: Networks (networking/v1) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + `Network` represents a network (VPC) in Confluent Cloud. All Networks exist within Confluent-managed cloud + provider accounts. Dedicated networks support more networking options but can only contain Dedicated clusters. + Shared networks can contain any cluster type. + + The API allows you to list, create, read, update, and delete your networks. + + + Related guide: [APIs to manage networks in Confluent Cloud](https://docs.confluent.io/cloud/current/networking/overview.html). + + ## The Networks Model + + + ## Quotas and Limits + This resource is subject to the [following quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): + + | Quota | Description | + | --- | --- | + | `dedicated_networks_per_environment` | Number of dedicated networks per Confluent Cloud environment | + - name: Peerings (networking/v1) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + Add or remove VPC/VNet peering connections between your VPC/VNet and Confluent Cloud. + + Related guides: + * [Use VPC peering connections with Confluent Cloud on AWS](https://docs.confluent.io/cloud/current/networking/peering/aws-peering.html). + * [Use VNet peering connections with Confluent Cloud on Azure](https://docs.confluent.io/cloud/current/networking/peering/azure-peering.html). + * [Use VPC peering connections with Confluent Cloud on Google Cloud](https://docs.confluent.io/cloud/current/networking/peering/gcp-peering.html). + + + ## The Peerings Model + + + ## Quotas and Limits + This resource is subject to the [following quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): + + | Quota | Description | + | --- | --- | + | `peerings_per_network` | Number of peerings per network | + - name: Transit Gateway Attachments (networking/v1) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + AWS Transit Gateway Attachments + + Related guide: [APIs to manage AWS Transit Gateway Attachments](https://docs.confluent.io/cloud/current/networking/aws-transit-gateway.html). + + ## The Transit Gateway Attachments Model + + + ## Quotas and Limits + This resource is subject to the [following quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): + + | Quota | Description | + | --- | --- | + | `tgw_attachments_per_network` | Number of TGW attachments per network | + - name: Private Link Accesses (networking/v1) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + Add or remove access to PrivateLink endpoints by AWS account, Azure subscription and GCP project ID. + + Related guides: + * [Use Google Cloud Private Service Connect with Confluent Cloud](https://docs.confluent.io/cloud/current/networking/private-links/gcp-private-service-connect.html). + * [Use Azure Private Link with Confluent Cloud](https://docs.confluent.io/cloud/current/networking/private-links/azure-privatelink.html). + * [Use AWS PrivateLink with Confluent Cloud](https://docs.confluent.io/cloud/current/networking/private-links/aws-privatelink.html). + + + ## The Private Link Accesses Model + + + ## Quotas and Limits + This resource is subject to the [following quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): + + | Quota | Description | + | --- | --- | + | `private_link_accounts_per_network` | Number of AWS accounts per network | + | `private_link_subscriptions_per_network` | Number of Azure subscriptions per network | + | `private_service_connect_projects_per_network` | Number of GCP projects per network | + - name: Network Link Services (networking/v1) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + Network Link Service is associated with a Private Link Confluent Cloud Network. + It enables connectivity from other Private Link Confluent Cloud Networks based on + the configured accept policies. + + + Related guide: [Network Linking Overview](https://docs.confluent.io/cloud/current/networking/network-linking.html). + + ## The Network Link Services Model + + + ## Quotas and Limits + This resource is subject to the [following quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): + + | Quota | Description | + | --- | --- | + | `network_link_service_per_network` | Number of network link services per network | + - name: Network Link Endpoints (networking/v1) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + A Network Link Enpoint is associated with a Private Link Confluent Cloud Network at the origin and a + Network Link Service (associated with another Private Link Confluent Cloud Network) at the target. + It enables connectivity between the origin network and the target network. + It can only be associated with a Private Link network. + + + Related guide: [Network Linking Overview](https://docs.confluent.io/cloud/current/networking/network-linking.html). + + ## The Network Link Endpoints Model + + + ## Quotas and Limits + This resource is subject to the [following quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): + + | Quota | Description | + | --- | --- | + | `network_link_endpoints_per_network` | Number of network link endpoints per network | + - name: Network Link Service Associations (networking/v1) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + List of incoming Network Link Enpoints associated with the Network Link Service. + + + Related guide: [Network Linking Overview](https://docs.confluent.io/cloud/current/networking/network-linking.html). + + ## The Network Link Service Associations Model + + - name: Gateways (networking/v1) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + A gateway is a resource that defines network access to Confluent cloud resources. + + + ## The Gateways Model + + - name: IP Addresses (networking/v1) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + IP Addresses + + Related guide: [Use Public Egress IP addresses on Confluent Cloud](https://docs.confluent.io/cloud/current/networking/static-egress-ip-addresses.html) + + ## The IP Addresses Model + + - name: Private Link Attachments (networking/v1) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + PrivateLink attachment objects represent reservations to establish PrivateLink connections + to a cloud region in order to access resources that belong to a Confluent Cloud Environment. + The API allows you to list, create, read update and delete your PrivateLink attachments. + + + ## The Private Link Attachments Model + + + ## Quotas and Limits + This resource is subject to the [following quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): + + | Quota | Description | + | --- | --- | + | `private_link_attachments_per_environment` | Number of PrivateLink Attachments per environment | + - name: Private Link Attachment Connections (networking/v1) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + PrivateLink attachment connection objects represent connections established to a cloud region + in order to access resources that belong to a Confluent Cloud Environment. + The API allows you to list, create, read update and delete your PrivateLink attachment connections. + + + ## The Private Link Attachment Connections Model + + - name: Identity Providers (iam/v2) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + `IdentityProvider` objects represent external OAuth-OIDC providers in Confluent Cloud. + + The API allows you to list, create, read, update, and delete your Identity Provider. + + + Related guide: [OAuth for Confluent Cloud](https://docs.confluent.io/cloud/current/access-management/authenticate/oauth/overview.html). + + ## The Identity Providers Model + + + ## Quotas and Limits + This resource is subject to the [following quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): + + | Quota | Description | + | --- | --- | + | `identity_providers_per_org` | Number of OAuth identity providers per organization | + | `public_keys_per_provider` | Number of public keys saved per identity provider | + - name: Jwks (iam/v2) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + `JWKS` objects represent public key sets for a specific OAuth/OpenID Connect provider within + Confluent Cloud. + + The API allows you to refresh JWKS public key data. + + + Related guide: [OAuth for Confluent Cloud](https://docs.confluent.io/cloud/current/access-management/authenticate/oauth/overview.html). + + ## The Jwks Model + + - name: Identity Pools (iam/v2) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + `IdentityPool` objects represent groups of identities tied to a given a `IdentityProvider` + that authorizes them to Confluent Cloud resources. + + It provides a mapping functionality of your `Identity Provider` user to a Confluent identity pool that + is then used to provide access to Confluent Resources. + + + Related guide: [Use identity pools with your OAuth provider](https://docs.confluent.io/cloud/current/access-management/authenticate/oauth/identity-pools.html). + + ## The Identity Pools Model + + + ## Quotas and Limits + This resource is subject to the [following quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): + + | Quota | Description | + | --- | --- | + | `identity_pools_per_provider` | Number of Identity Pools per Identity Provider | + - name: OAuth Tokens (sts/v1) + description: | + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + OAuth Token is a [JSON Web Token (JWT)](https://www.rfc-editor.org/rfc/rfc7519) that enables the use of + external identities to access Confluent Cloud APIs + - name: Client Quotas (kafka-quotas/v1) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + `ClientQuota` objects represent Client Quotas you can set at the service account level. + + The API allows you to list, create, read, update, and delete your client quotas. + + + Related guide: [Client Quotas in Confluent Cloud](https://docs.confluent.io/cloud/current/clusters/client-quotas.html). + + ## The Client Quotas Model + + - name: Pipelines (sd/v1) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + `Pipeline` objects represent information about a user-defined pipeline of Confluent Cloud components. + The pipeline's content is available separately. + + The API allows you to create, retrieve, update, and delete your pipelines, + as well as list all of your pipelines for the particular environment and Kafka cluster. + + + Related guide: [Pipelines in Confluent Cloud](https://docs.confluent.io/cloud/current/stream-designer/). + + ## The Pipelines Model + + + ## Quotas and Limits + This resource is subject to the [following quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): + + | Quota | Description | + | --- | --- | + | `pipelines_per_org` | Pipelines in one Confluent Cloud organization | + | `pipelines_per_cluster` | Pipelines in one Confluent Cloud Kafka cluster | + - name: Keys (byok/v1) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + `Key` objects represent customer managed keys on dedicated Confluent Cloud clusters. + + Keys are used to protect data at rest stored in your dedicated Confluent Cloud clusters on AWS, Azure, and GCP. + This API allows you to upload and retrieve self-managed keys on Confluent Cloud. + + + Related guide: [Confluent Cloud Bring Your Own Key (BYOK) Management API](https://docs.confluent.io/cloud/current/clusters/byok/index.html). + + ## The Keys Model + + + ## Quotas and Limits + This resource is subject to the [following quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): + + | Quota | Description | + | --- | --- | + | `byok.max_keys.per_org` | BYOK keys in one Confluent Cloud organisation. | + - name: Costs (billing/v1) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + `Cost` objects represent the aggregated billing costs for an organization + + + Related guide: [Retrieve costs for a range of dates](https://docs.confluent.io/cloud/current/billing/overview.html#retrieve-costs-for-a-range-of-dates). + + ## The Costs Model + + - name: Group Mappings (iam/v2/sso) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + `GroupMapping` objects establish relationships between user groups in your SSO + identity provider and specific RBAC roles in Confluent Cloud. + + Group mappings enable automated and secure access control to Confluent Cloud resources, + reducing administrative workload by streamlining user provisioning and authorization. + + + Related guide: [Use group mappings with your SSO identity provider](https://docs.confluent.io/cloud/current/access-management/authenticate/sso/group-mapping/overview.html). + + ## The Group Mappings Model + + + ## Quotas and Limits + This resource is subject to the [following quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): + + | Quota | Description | + | --- | --- | + | `group_mappings_per_org` | Number of group mappings per organization | + - name: Compute Pools (fcpm/v2) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + A Compute Pool represents a set of compute resources that is used to run your Queries. + The resources (CPUs, memory,…) provided by a Compute Pool are shared between all Queries that use it. + + + ## The Compute Pools Model + + - name: Regions (fcpm/v2) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + `Region` objects represent cloud provider regions available when placing Flink compute pools. + The API allows you to list Flink regions. + + + ## The Regions Model + + - name: Statements (sql/v1) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + `Statement` represents a core resource used to model SQL statements for execution. + A statement generalizes DDL, DML, DQL, etc., but doesn’t attempt to handle session + management or any higher-level functionality. + The API allows you to list, create, read, and delete your statements. + ## The Statements Model + + - name: Statement Results (sql/v1) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + `StatementResult` represents a result of a `Statement` resource. + The API allows you to read your statement's results. + ## The Statement Results Model + + - name: Statement Exceptions (sql/v1) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + `StatementException` represents an exception of a `Statement` resource. + The API allows you to read your statement's exceptions. + ## The Statement Exceptions Model + + - name: Connections (sql/v1) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + `Connection` represents a core resource used to model SQL connections for execution. + A connection generalizes DDL, DML, DQL, etc., but doesn’t attempt to handle session + management or any higher-level functionality. + The API allows you to list, create, read, and delete your connections. + ## The Connections Model + + - name: DNS Forwarders (networking/v1) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + Add, remove, and update DNS forwarder for your gateway. + + Related guides: + * [Use VPC peering connections with Confluent Cloud on AWS](https://docs.confluent.io/cloud/current/networking/peering/aws-peering.html). + * [Use VNet peering connections with Confluent Cloud on Azure](https://docs.confluent.io/cloud/current/networking/peering/azure-peering.html). + + + ## The DNS Forwarders Model + + - name: Access Points (networking/v1) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + AccessPoint objects represent network connections in and out of Gateways. + This API allows you to list, create, read, update, and delete your access points. + + + ## The Access Points Model + + - name: DNS Records (networking/v1) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + DNS record objects are associated with Confluent Cloud networking resources. This API allows you to list, create, read, update, and delete your DNS records. + + ## The DNS Records Model + + - name: Certificate Authorities (iam/v2) + description: |- + [![Limited Availability](https://img.shields.io/badge/Lifecycle%20Stage-Limited%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + `CertificateAuthority` objects represent signing certificate authorities in Confluent Cloud. + + The API allows you to list, create, read, update, and delete your Certificate Authority. + + + Related guide: [Manage certificate authorities used for client authentication with X.509 certificates.](https://docs.confluent.io/cloud/current/access-management/authenticate/mtls/overview.html). + + ## The Certificate Authorities Model + + + ## Quotas and Limits + This resource is subject to the [following quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): + + | Quota | Description | + | --- | --- | + | `certificate_authorities_per_org` | Number of certificate authorities per organization | + - name: Certificate Identity Pools (iam/v2) + description: |- + [![Limited Availability](https://img.shields.io/badge/Lifecycle%20Stage-Limited%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + `Identitypool` objects represent workload identities in Confluent Cloud. + + The API allows you to list, create, read, update, and delete your identity pools associated + with Certificate Authorities + + + Related guide: [Manage Certificate Identity Pools for Granular Client Access Management](https://docs.confluent.io/cloud/current/access-management/authenticate/mtls/configure.html#step-2-create-certificate-identity-pools-for-granular-access-control). + + ## The Certificate Identity Pools Model + + + ## Quotas and Limits + This resource is subject to the [following quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): + + | Quota | Description | + | --- | --- | + | `identity_pools_per_certificate_authority` | Number of Identity Pools per Certificate Authority | + - name: Integrations (pim/v1) + description: |- + [![Early Access](https://img.shields.io/badge/Lifecycle%20Stage-Early%20Access-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) [![Request Access To Provider Integration](https://img.shields.io/badge/-Request%20Access%20To%20Provider%20Integration-%23bc8540)](mailto:ccloud-api-access+pim-v1-early-access@confluent.io?subject=Request%20to%20join%20pim/v1%20API%20Early%20Access&body=I%E2%80%99d%20like%20to%20join%20the%20Confluent%20Cloud%20API%20Early%20Access%20for%20pim/v1%20to%20provide%20early%20feedback%21%20My%20Cloud%20Organization%20ID%20is%20%3Cretrieve%20from%20https%3A//confluent.cloud/settings/billing/payment%3E.) + + `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, and delete individual integrations, and also obtain a + list of all your provider integrations. + + + Related guide: [Provider Integration in Confluent Cloud](https://docs.confluent.io/home/overview.html). + + ## The Integrations Model + + - name: Flink Artifacts (artifact/v1) + description: |- + [![Early Access](https://img.shields.io/badge/Lifecycle%20Stage-Early%20Access-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) [![Request Access To Flink Artifact API EA](https://img.shields.io/badge/-Request%20Access%20To%20Flink%20Artifact%20API%20EA-%23bc8540)](mailto:ccloud-api-access+artifact-v1-early-access@confluent.io?subject=Request%20to%20join%20artifact/v1%20API%20Early%20Access&body=I%E2%80%99d%20like%20to%20join%20the%20Confluent%20Cloud%20API%20Early%20Access%20for%20artifact/v1%20to%20provide%20early%20feedback%21%20My%20Cloud%20Organization%20ID%20is%20%3Cretrieve%20from%20https%3A//confluent.cloud/settings/billing/payment%3E.) + + FlinkArtifact objects represent Flink Artifacts on Confluent Cloud. + + + ## The Flink Artifacts Model + + - name: Presigned Urls (artifact/v1) + description: |- + [![Early Access](https://img.shields.io/badge/Lifecycle%20Stage-Early%20Access-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) [![Request Access To Flink Artifact API EA](https://img.shields.io/badge/-Request%20Access%20To%20Flink%20Artifact%20API%20EA-%23bc8540)](mailto:ccloud-api-access+artifact-v1-early-access@confluent.io?subject=Request%20to%20join%20artifact/v1%20API%20Early%20Access&body=I%E2%80%99d%20like%20to%20join%20the%20Confluent%20Cloud%20API%20Early%20Access%20for%20artifact/v1%20to%20provide%20early%20feedback%21%20My%20Cloud%20Organization%20ID%20is%20%3Cretrieve%20from%20https%3A//confluent.cloud/settings/billing/payment%3E.) + + Request a presigned upload URL for new Flink Artifact. Note that + the URL policy expires in one hour. If the policy expires, you can request + a new presigned upload URL. + + + ## The Presigned Urls Model + + - name: Flink Artifact Versions (artifact/v1) + description: |- + [![Early Access](https://img.shields.io/badge/Lifecycle%20Stage-Early%20Access-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) [![Request Access To Flink Artifact API EA](https://img.shields.io/badge/-Request%20Access%20To%20Flink%20Artifact%20API%20EA-%23bc8540)](mailto:ccloud-api-access+artifact-v1-early-access@confluent.io?subject=Request%20to%20join%20artifact/v1%20API%20Early%20Access&body=I%E2%80%99d%20like%20to%20join%20the%20Confluent%20Cloud%20API%20Early%20Access%20for%20artifact/v1%20to%20provide%20early%20feedback%21%20My%20Cloud%20Organization%20ID%20is%20%3Cretrieve%20from%20https%3A//confluent.cloud/settings/billing/payment%3E.) + + FlinkArtifactVersion objects represent Flink Artifact Versions on Confluent Cloud. + + + ## The Flink Artifact Versions Model + +components: + schemas: + SearchFilter: + description: Filter a collection by a string search + type: string + sd.v1.PipelineList: + type: object + description: |- + `Pipeline` objects represent information about a user-defined pipeline of Confluent Cloud components. + The pipeline's content is available separately. + + The API allows you to create, retrieve, update, and delete your pipelines, + as well as list all of your pipelines for the particular environment and Kafka cluster. + + + Related guide: [Pipelines in Confluent Cloud](https://docs.confluent.io/cloud/current/stream-designer/). + + ## The Pipelines Model + + + ## Quotas and Limits + This resource is subject to the [following quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): + + | Quota | Description | + | --- | --- | + | `pipelines_per_org` | Pipelines in one Confluent Cloud organization | + | `pipelines_per_cluster` | Pipelines in one Confluent Cloud Kafka cluster | + required: + - api_version + - kind + - metadata + - data + properties: + api_version: + type: string + enum: + - sd/v1 + 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: + - PipelineList + metadata: + allOf: + - $ref: '#/components/schemas/ListMeta' + - properties: + first: + example: 'https://api.confluent.cloud/sd/v1/pipelines' + last: + example: 'https://api.confluent.cloud/sd/v1/pipelines?page_token=bcAOehAY8F16YD84Z1wT' + prev: + example: 'https://api.confluent.cloud/sd/v1/pipelines?page_token=YIXRY97wWYmwzrax4dld' + next: + example: 'https://api.confluent.cloud/sd/v1/pipelines?page_token=UvmDWOB1iwfAIBPj6EYb' + data: + type: array + description: A data property that contains an array of resource items. Each entry in the array is a separate resource. + items: + allOf: + - $ref: '#/components/schemas/sd.v1.Pipeline' + - type: object + required: + - id + - metadata + - spec + properties: + spec: + type: object + required: + - display_name + - environment + - kafka_cluster + uniqueItems: true + ListMeta: + type: object + description: ListMeta describes metadata that resource collections may have + properties: + first: + description: 'A link to the first page of results. If a response does not contain a first link, then direct navigation to the first page is not supported.' + type: string + 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 + sd.v1.Pipeline: + type: object + description: |- + `Pipeline` objects represent information about a user-defined pipeline of Confluent Cloud components. + The pipeline's content is available separately. + + The API allows you to create, retrieve, update, and delete your pipelines, + as well as list all of your pipelines for the particular environment and Kafka cluster. + + + Related guide: [Pipelines in Confluent Cloud](https://docs.confluent.io/cloud/current/stream-designer/). + + ## The Pipelines Model + + + ## Quotas and Limits + This resource is subject to the [following quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): + + | Quota | Description | + | --- | --- | + | `pipelines_per_org` | Pipelines in one Confluent Cloud organization | + | `pipelines_per_cluster` | Pipelines in one Confluent Cloud Kafka cluster | + properties: + api_version: + type: string + enum: + - sd/v1 + 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: + - Pipeline + 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 + metadata: + allOf: + - $ref: '#/components/schemas/ObjectMeta' + - properties: + self: + example: 'https://api.confluent.cloud/sd/v1/pipelines/pipe-12345' + resource_name: + example: 'crn://confluent.cloud/organization=9bb441c4-edef-46ac-8a41-c49e44a3fd9a/pipeline=pipe-12345' + spec: + $ref: '#/components/schemas/sd.v1.PipelineSpec' + status: + $ref: '#/components/schemas/sd.v1.PipelineStatus' + AclOperation: + type: string + x-extensible-enum: + - UNKNOWN + - ANY + - ALL + - READ + - WRITE + - CREATE + - DELETE + - ALTER + - DESCRIBE + - CLUSTER_ACTION + - DESCRIBE_CONFIGS + - ALTER_CONFIGS + - IDEMPOTENT_WRITE + AclPatternType: + type: string + x-extensible-enum: + - UNKNOWN + - ANY + - MATCH + - LITERAL + - PREFIXED + AclPermission: + type: string + x-extensible-enum: + - UNKNOWN + - ANY + - DENY + - ALLOW + AclResourceType: + type: string + enum: + - UNKNOWN + - ANY + - TOPIC + - GROUP + - CLUSTER + - TRANSACTIONAL_ID + - DELEGATION_TOKEN + BrokerTaskType: + type: string + enum: + - add-broker + - remove-broker + MirrorTopicStatus: + enum: + - ACTIVE + - FAILED + - LINK_FAILED + - LINK_PAUSED + - PAUSED + - PENDING_STOPPED + - SOURCE_UNAVAILABLE + - STOPPED + - PENDING_MIRROR + - PENDING_SYNCHRONIZE + - PENDING_SETUP_FOR_RESTORE + - PENDING_RESTORE + type: string + Failure: + type: object + description: Provides information about problems encountered while performing an operation. + required: + - errors + properties: + errors: + description: List of errors which caused this operation to fail + type: array + items: + $ref: '#/components/schemas/Error' + uniqueItems: true + AlterConfigBatchRequestData: + type: object + required: + - data + properties: + data: + type: array + items: + type: object + required: + - name + properties: + name: + type: string + value: + type: string + nullable: true + operation: + type: string + x-extensible-enum: + - SET + - DELETE + nullable: true + validate_only: + type: boolean + CreateAclRequestData: + type: object + required: + - resource_type + - resource_name + - pattern_type + - principal + - host + - operation + - permission + properties: + resource_type: + $ref: '#/components/schemas/AclResourceType' + resource_name: + type: string + pattern_type: + $ref: '#/components/schemas/AclPatternType' + principal: + type: string + host: + type: string + operation: + $ref: '#/components/schemas/AclOperation' + permission: + $ref: '#/components/schemas/AclPermission' + CreateAclRequestDataList: + allOf: + - type: object + required: + - data + properties: + data: + type: array + items: + $ref: '#/components/schemas/CreateAclRequestData' + CreateTopicRequestData: + type: object + required: + - topic_name + properties: + topic_name: + type: string + partitions_count: + type: integer + replication_factor: + type: integer + configs: + type: array + items: + type: object + required: + - name + properties: + name: + type: string + value: + type: string + nullable: true + validate_only: + type: boolean + ProduceRequest: + type: object + properties: + partition_id: + type: integer + nullable: true + format: int32 + headers: + type: array + items: + $ref: '#/components/schemas/ProduceRequestHeader' + key: + $ref: '#/components/schemas/ProduceRequestData' + value: + $ref: '#/components/schemas/ProduceRequestData' + timestamp: + type: string + format: date-time + nullable: true + UpdateConfigRequestData: + type: object + properties: + value: + type: string + nullable: true + CreateLinkRequestData: + properties: + source_cluster_id: + type: string + destination_cluster_id: + type: string + remote_cluster_id: + description: The expected remote cluster ID. + type: string + cluster_link_id: + description: 'The expected cluster link ID. Can be provided when creating the second side of a bidirectional link for validating the link ID is as expected. If it''s not provided, it''s inferred from the remote cluster.' + type: string + configs: + items: + $ref: '#/components/schemas/ConfigData' + type: array + type: object + UpdateLinkConfigRequestData: + properties: + value: + type: string + required: + - value + type: object + CreateMirrorTopicRequestData: + properties: + source_topic_name: + type: string + mirror_topic_name: + type: string + replication_factor: + type: integer + configs: + type: array + items: + $ref: '#/components/schemas/ConfigData' + required: + - source_topic_name + type: object + AlterMirrorsRequestData: + properties: + mirror_topic_names: + description: The mirror topics specified as a list of topic names. + type: array + items: + type: string + mirror_topic_name_pattern: + description: The mirror topics specified as a pattern. + type: string + type: object + RemoveBrokersRequestData: + properties: + broker_ids: + type: array + items: + type: integer + required: + - broker_ids + type: object + BrokerReplicaExclusionBatchRequestData: + type: object + required: + - data + properties: + data: + type: array + items: + $ref: '#/components/schemas/BrokerReplicaExclusionRequestData' + ObjectMeta: + description: 'ObjectMeta is metadata that all persisted resources must have, which includes all objects users must create.' + required: + - self + properties: + self: + description: 'Self is a Uniform Resource Locator (URL) at which an object can be addressed. This URL encodes the service location, API version, and other particulars necessary to locate the resource at a point in time' + type: string + format: uri + readOnly: true + example: 'https://api.confluent.cloud/v2/kafka-clusters/lkc-f3a90de' + resource_name: + description: Resource Name is a Uniform Resource Identifier (URI) that is globally unique across space and time. It is represented as a Confluent Resource Name + type: string + format: uri + readOnly: true + example: 'crn://confluent.cloud/kafka=lkc-f3a90de' + created_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: The date and time at which this object was created. It is represented in RFC3339 format and is in UTC. + updated_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: The date and time at which this object was last updated. It is represented in RFC3339 format and is in UTC. + deleted_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: The date and time at which this object was (or will be) deleted. It is represented in RFC3339 format and is in UTC. + readOnly: true + sd.v1.PipelineSpec: + type: object + description: The desired state of the Pipeline + properties: + display_name: + type: string + pattern: '^[a-zA-Z0-9-_.!~*''()]{1,64}$' + maxLength: 64 + example: MyFirstPipeline + description: The name of the pipeline. + description: + type: string + example: My first pipeline + description: The description of the pipeline. + retained_topic_names: + type: array + items: + type: string + description: | + A list of Kafka topic names from the activated pipeline to be retained when + this pipeline is deactivated. + example: + - topic1 + - topic2 + activated: + type: boolean + default: false + description: The desired state of the pipeline. + activation_privilege: + type: boolean + default: false + description: Whether the pipeline has privileges to be activated. + source_code: + type: object + description: A map of source code format and statements that define this pipeline. + allOf: + - $ref: '#/components/schemas/sd.v1.SourceCodeObject' + secrets: + type: object + example: + secret_name_1: secret1 + secret_name_2: secret2 + description: A map of secrets used in the pipeline source code. + additionalProperties: + type: string + environment: + allOf: + - $ref: '#/components/schemas/ObjectReference' + description: The environment to which this belongs. + kafka_cluster: + allOf: + - $ref: '#/components/schemas/ObjectReference' + description: The kafka_cluster to which this belongs. + ksql_cluster: + allOf: + - $ref: '#/components/schemas/ObjectReference' + description: The ksql_cluster associated with this object. + x-immutable: false + stream_governance_cluster: + allOf: + - $ref: '#/components/schemas/ObjectReference' + description: The stream_governance_cluster associated with this object. + x-immutable: false + x-enable-id: true + x-enable-listmeta: true + x-enable-objectmeta: true + sd.v1.PipelineStatus: + description: The status of the Pipeline + type: object + properties: + state: + type: string + x-extensible-enums: + - DRAFT + - ACTIVATING + - DEACTIVATING + - ACTIVE + - FAILED + - DELETED + description: | + The current state of the pipeline.: + DRAFT: the pipeline is a draft and not activated yet; + ACTIVATING: the pipeline activation is in progress; + DEACTIVATING: the pipeline deactivation is in progress; + ACTIVE: the pipeline is actived and running; + FAILED: the pipeline activation or deactivation failed; + DELETED: the pipeline is deleted + readOnly: true + topic_count: + type: integer + format: int32 + description: The number of Kafka topics defined in the pipeline. + readOnly: true + connector_count: + type: integer + format: int32 + description: The number of connectors defined in the pipeline. + readOnly: true + query_count: + type: integer + format: int32 + description: The number of KSQL queries defined in the pipeline. + readOnly: true + readOnly: true + Error: + type: object + description: Describes a particular error encountered while performing an operation. + properties: + id: + description: A unique identifier for this particular occurrence of the problem. + type: string + maxLength: 255 + status: + description: 'The HTTP status code applicable to this problem, expressed as a string value.' + type: string + code: + description: 'An application-specific error code, expressed as a string value.' + type: string + title: + description: 'A short, human-readable summary of the problem. It **SHOULD NOT** change from occurrence to occurrence of the problem, except for purposes of localization.' + type: string + detail: + description: A human-readable explanation specific to this occurrence of the problem. + type: string + source: + type: object + description: 'If this error was caused by a particular part of the API request, the source will point to the query string parameter or request body property that caused it.' + properties: + pointer: + description: 'A JSON Pointer [RFC6901] to the associated entity in the request document [e.g. "/spec" for a spec object, or "/spec/title" for a specific field].' + type: string + parameter: + description: A string indicating which query parameter caused the error. + type: string + error_code: + type: integer + format: int32 + message: + type: string + nullable: true + additionalProperties: false + ProduceRequestHeader: + type: object + required: + - name + properties: + name: + type: string + value: + type: string + format: byte + nullable: true + ProduceRequestData: + type: object + properties: + type: + type: string + x-extensible-enum: + - BINARY + - JSON + - STRING + data: + $ref: '#/components/schemas/AnyValue' + nullable: true + ConfigData: + example: + name: name + value: value + properties: + name: + type: string + value: + nullable: true + type: string + required: + - name + - value + BrokerReplicaExclusionRequestData: + type: object + required: + - broker_id + - reason + properties: + broker_id: + type: integer + reason: + type: string + sd.v1.SourceCodeObject: + type: object + description: A object containing pipeline's source code definition. + properties: + sql: + type: string + description: A list of KSQL statements that defines a pipeline. + example: | + CREATE STREAM `upstream` (id INTEGER, name STRING) + WITH (kafka_topic = 'topic', partitions=1, value_format='JSON'); + CREATE STREAM `downstream` AS SELECT * FROM upstream; + required: + - sql + ObjectReference: + type: object + description: ObjectReference provides information for you to locate the referred object + required: + - id + - related + - resource_name + properties: + id: + type: string + description: ID of the referred resource + minLength: 1 + maxLength: 255 + environment: + type: string + description: 'Environment of the referred resource, if env-scoped' + minLength: 1 + maxLength: 255 + related: + type: string + format: uri + description: API URL for accessing or modifying the referred object + minLength: 1 + readOnly: true + resource_name: + type: string + format: uri + description: CRN reference to the referred resource + minLength: 1 + readOnly: true + api_version: + type: string + description: API group and version of the referred resource + minLength: 1 + readOnly: true + kind: + type: string + description: Kind of the referred resource + minLength: 1 + readOnly: true + AnyValue: + nullable: true + parameters: + AclHost: + name: host + description: The ACL host. + in: query + required: false + schema: + type: string + AclOperation: + name: operation + description: The ACL operation. + in: query + required: false + schema: + $ref: '#/components/schemas/AclOperation' + AclOperationRequired: + name: operation + description: The ACL operation. + in: query + required: true + schema: + $ref: '#/components/schemas/AclOperation' + AclPatternType: + name: pattern_type + description: The ACL pattern type. + in: query + required: false + schema: + $ref: '#/components/schemas/AclPatternType' + AclPatternTypeRequired: + name: pattern_type + description: The ACL pattern type. + in: query + required: true + schema: + $ref: '#/components/schemas/AclPatternType' + AclPermission: + name: permission + description: The ACL permission. + in: query + required: false + schema: + $ref: '#/components/schemas/AclPermission' + AclPermissionRequired: + name: permission + description: The ACL permission. + in: query + required: true + schema: + $ref: '#/components/schemas/AclPermission' + AclPrincipal: + name: principal + description: The ACL principal. This is the Service Account name or user name. + in: query + required: false + schema: + type: string + AclResourceName: + name: resource_name + description: The ACL resource name. + in: query + required: false + schema: + type: string + AclResourceType: + name: resource_type + description: The ACL resource type. + in: query + required: false + schema: + $ref: '#/components/schemas/AclResourceType' + AclResourceTypeRequired: + name: resource_type + description: The ACL resource type. + in: query + required: true + schema: + $ref: '#/components/schemas/AclResourceType' + BrokerId: + name: broker_id + description: The Kafka broker ID. + in: path + required: true + schema: + type: integer + example: 1 + ClusterId: + name: cluster_id + description: The Kafka cluster ID. + in: path + required: true + schema: + type: string + example: cluster-1 + ConfigName: + name: name + description: The configuration parameter name. + in: path + required: true + schema: + type: string + example: compression.type + ConsumerGroupId: + name: consumer_group_id + description: The consumer group ID. + in: path + required: true + schema: + type: string + example: consumer-group-1 + ConsumerId: + name: consumer_id + description: The consumer ID. + in: path + required: true + schema: + type: string + example: consumer-1 + IncludeAuthorizedOperations: + name: include_authorized_operations + description: Specify if authorized operations should be included in the response. + in: query + required: false + schema: + type: boolean + PartitionId: + name: partition_id + description: The partition ID. + in: path + required: true + schema: + type: integer + example: 0 + TopicName: + name: topic_name + description: The topic name. + in: path + required: true + schema: + type: string + example: topic-1 + BrokerTaskType: + name: task_type + description: The Kafka broker task type. + in: path + required: true + schema: + $ref: '#/components/schemas/BrokerTaskType' + example: remove-broker + ShouldShutdown: + name: should_shutdown + description: 'To shutdown the broker or not, Default: true' + in: query + required: false + schema: + type: boolean + example: true + ValidateOnly: + name: validate_only + description: 'To validate the action can be performed successfully or not. Default: false' + in: query + required: false + schema: + type: boolean + example: false + ValidateLink: + name: validate_link + description: 'To synchronously validate that the source cluster ID is expected and the dest cluster has the permission to read topics in the source cluster. Default: true' + in: query + required: false + schema: + type: boolean + example: false + IncludeTasks: + name: include_tasks + description: 'Whether to include cluster linking tasks in the response. Default: false' + in: query + required: false + schema: + type: boolean + example: false + IncludeStateTransitionErrors: + name: include_state_transition_errors + description: 'Whether to include mirror state transition errors in the response. Default: false' + in: query + required: false + schema: + type: boolean + example: false + Force: + name: force + description: 'Force the action. Default: false' + in: query + required: false + schema: + type: boolean + example: false + IncludePartitionLevelTruncationData: + name: include_partition_level_truncation_data + description: 'Whether to include partition level truncation information when truncating and restoring a topic in the response. Default: false' + in: query + required: false + schema: + type: boolean + example: false + LinkName: + name: link_name + description: The link name + in: path + required: true + schema: + type: string + example: link-sb1 + LinkConfigName: + name: config_name + description: The link config name + in: path + required: true + schema: + type: string + example: consumer.offset.sync.enable + MirrorTopicStatus: + name: mirror_status + description: 'The status of the mirror topic. If not specified, all mirror topics will be returned.' + in: query + required: false + schema: + $ref: '#/components/schemas/MirrorTopicStatus' + example: ACTIVE + MirrorTopicName: + name: mirror_topic_name + description: Cluster Linking mirror topic name + in: path + required: true + schema: + type: string + example: topic-1 + QueryParamLinkName: + name: link_name + description: The link name + in: query + required: true + schema: + type: string + example: link-sb1 + responses: + BadRequestError: + description: Bad Request + headers: + X-Request-Id: + schema: + type: string + description: The unique identifier for the API request. + content: + application/json: + schema: + $ref: '#/components/schemas/Failure' + example: + errors: + - id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d + status: '400' + code: invalid_filter + title: Invalid Filter + detail: The 'delorean' resource can't be filtered by 'num_doors' + source: + parameter: num_doors + UnauthenticatedError: + x-summary: Unauthorized + description: The request lacks valid authentication credentials for this resource. + headers: + X-Request-Id: + schema: + type: string + description: The unique identifier for the API request. + WWW-Authenticate: + schema: + type: string + description: The unique identifier for the API request. + example: 'Basic error="invalid_key", error_description="The API Key is invalid"' + content: + application/json: + schema: + $ref: '#/components/schemas/Failure' + example: + errors: + - id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d + status: '401' + code: user_unauthenticated + title: Authentication Required + detail: Valid authentication credentials must be provided + UnauthorizedError: + x-summary: Forbidden + description: The access credentials were considered insufficient to grant access + headers: + X-Request-Id: + schema: + type: string + description: The unique identifier for the API request. + content: + application/json: + schema: + $ref: '#/components/schemas/Failure' + example: + errors: + - id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d + status: '403' + code: user_unauthorized + title: User Access Unauthorized + detail: The user 'mcfly' is not allowed to access the 'delorean' resource without the 'plutonium' role. + RateLimitError: + description: Rate Limit Exceeded + headers: + X-Request-Id: + schema: + type: string + description: The unique identifier for the API request. + X-RateLimit-Limit: + schema: + type: integer + description: The maximum number of requests you're permitted to make per time period. + X-RateLimit-Remaining: + schema: + type: integer + description: The number of requests remaining in the current rate limit window. + X-RateLimit-Reset: + schema: + type: integer + description: |- + The relative time in seconds until the current rate-limit window resets. + + **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. + DefaultSystemError: + description: 'Oops, something went wrong!' + headers: + X-Request-Id: + schema: + type: string + description: The unique identifier for the API request. + content: + application/json: + schema: + $ref: '#/components/schemas/Failure' + example: + errors: + - id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d + status: '500' + code: out_of_gas + title: DeLorean Out Of Gas + detail: 'The DeLorean has run out of gas, but Doc Brown will fill ''er up for you asap' + OverQuotaError: + x-summary: Over Quota + description: The request would exceed one or more quotas. + headers: + X-Request-Id: + schema: + type: string + description: The unique identifier for the API request. + content: + application/json: + schema: + $ref: '#/components/schemas/Failure' + example: + errors: + - id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d + status: '402' + code: quota_exceeded + title: Kafka Clusters Per Org Quota Exceeded + detail: 'The request would exceed the quota: kafka_clusters_per_environment' + ConflictError: + x-summary: Conflict + description: The request is in conflict with the current server state + headers: + X-Request-Id: + schema: + type: string + description: The unique identifier for the API request. + Location: + schema: + type: string + format: uri + example: 'https://api.confluent.cloud/{object}/{id}' + description: Resource URI of conflicting resource + content: + application/json: + schema: + $ref: '#/components/schemas/Failure' + example: + errors: + - id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d + status: '409' + code: resource_already_exists + title: Resource Already exists + detail: The entitlement '91e3e86f-fca6-4f14-98f5-a48e64113ce2' already exists. + ValidationError: + description: Validation Failed + headers: + X-Request-Id: + schema: + type: string + description: The unique identifier for the API request. + content: + application/json: + schema: + $ref: '#/components/schemas/Failure' + example: + errors: + - status: '422' + code: invalid_configuration + id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d + title: Validation Failed + detail: 'The property ''/cluster/storage_size'' of type string did not match the following type: integer' + source: + pointer: /cluster/storage_size + - status: '422' + code: invalid_configuration + id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d + title: Validation Failed + detail: 'The property ''/cluster/storage_size'' of type string did not match the following type: integer' + source: + pointer: /cluster/storage_size + - status: '422' + code: invalid_configuration + id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d + title: Validation Failed + detail: 'The property ''/cluster/storage_size'' of type string did not match the following type: integer' + source: + pointer: /cluster/storage_size + - status: '422' + code: invalid_configuration + id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d + title: Validation Failed + detail: 'The property ''/cluster/storage_size'' of type string did not match the following type: integer' + source: + pointer: /cluster/storage_size + - status: '422' + code: invalid_configuration + id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d + title: Validation Failed + detail: 'The property ''/cluster/storage_size'' of type string did not match the following type: integer' + source: + pointer: /cluster/storage_size + - status: '422' + code: invalid_configuration + id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d + title: Validation Failed + detail: 'The property ''/cluster/storage_size'' of type string did not match the following type: integer' + source: + pointer: /cluster/storage_size + - status: '422' + code: invalid_configuration + id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d + title: Validation Failed + detail: 'The property ''/cluster/storage_size'' of type string did not match the following type: integer' + source: + pointer: /cluster/storage_size + - status: '422' + code: invalid_configuration + id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d + title: Validation Failed + detail: 'The property ''/cluster/storage_size'' of type string did not match the following type: integer' + source: + pointer: /cluster/storage_size + - status: '422' + code: invalid_configuration + id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d + title: Validation Failed + detail: 'The property ''/cluster/storage_size'' of type string did not match the following type: integer' + source: + pointer: /cluster/storage_size + - status: '422' + code: invalid_configuration + id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d + title: Validation Failed + detail: 'The property ''/cluster/storage_size'' of type string did not match the following type: integer' + source: + pointer: /cluster/storage_size + - status: '422' + code: invalid_configuration + id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d + title: Validation Failed + detail: 'The property ''/cluster/storage_size'' of type string did not match the following type: integer' + source: + pointer: /cluster/storage_size + - status: '422' + code: invalid_configuration + id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d + title: Validation Failed + detail: 'The property ''/cluster/storage_size'' of type string did not match the following type: integer' + source: + pointer: /cluster/storage_size + - status: '422' + code: invalid_configuration + id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d + title: Validation Failed + detail: 'The property ''/cluster/storage_size'' of type string did not match the following type: integer' + source: + pointer: /cluster/storage_size + - status: '422' + code: invalid_configuration + id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d + title: Validation Failed + detail: 'The property ''/cluster/storage_size'' of type string did not match the following type: integer' + source: + pointer: /cluster/storage_size + - status: '422' + code: invalid_configuration + id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d + title: Validation Failed + detail: 'The property ''/cluster/storage_size'' of type string did not match the following type: integer' + source: + pointer: /cluster/storage_size + - status: '422' + code: invalid_configuration + id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d + title: Validation Failed + detail: 'The property ''/cluster/storage_size'' of type string did not match the following type: integer' + source: + pointer: /cluster/storage_size + - status: '422' + code: invalid_configuration + id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d + title: Validation Failed + detail: 'The property ''/cluster/storage_size'' of type string did not match the following type: integer' + source: + pointer: /cluster/storage_size + - status: '422' + code: invalid_configuration + id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d + title: Validation Failed + detail: 'The property ''/cluster/storage_size'' of type string did not match the following type: integer' + source: + pointer: /cluster/storage_size + - status: '422' + code: invalid_configuration + id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d + title: Validation Failed + detail: 'The property ''/cluster/storage_size'' of type string did not match the following type: integer' + source: + pointer: /cluster/storage_size + - status: '422' + code: invalid_configuration + id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d + title: Validation Failed + detail: 'The property ''/cluster/storage_size'' of type string did not match the following type: integer' + source: + pointer: /cluster/storage_size + - status: '422' + code: invalid_configuration + id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d + title: Validation Failed + detail: 'The property ''/cluster/storage_size'' of type string did not match the following type: integer' + source: + pointer: /cluster/storage_size + - status: '422' + code: invalid_configuration + id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d + title: Validation Failed + detail: 'The property ''/cluster/storage_size'' of type string did not match the following type: integer' + source: + pointer: /cluster/storage_size + - status: '422' + code: invalid_configuration + id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d + title: Validation Failed + detail: 'The property ''/cluster/storage_size'' of type string did not match the following type: integer' + source: + pointer: /cluster/storage_size + - status: '422' + code: invalid_configuration + id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d + title: Validation Failed + detail: 'The property ''/cluster/storage_size'' of type string did not match the following type: integer' + source: + pointer: /cluster/storage_size + - status: '422' + code: invalid_configuration + id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d + title: Validation Failed + detail: 'The property ''/cluster/storage_size'' of type string did not match the following type: integer' + source: + pointer: /cluster/storage_size + - status: '422' + code: invalid_configuration + id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d + title: Validation Failed + detail: 'The property ''/cluster/storage_size'' of type string did not match the following type: integer' + source: + pointer: /cluster/storage_size + - status: '422' + code: invalid_configuration + id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d + title: Validation Failed + detail: 'The property ''/cluster/storage_size'' of type string did not match the following type: integer' + source: + pointer: /cluster/storage_size + - status: '422' + code: invalid_configuration + id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d + title: Validation Failed + detail: 'The property ''/cluster/storage_size'' of type string did not match the following type: integer' + source: + pointer: /cluster/storage_size + - status: '422' + code: invalid_configuration + id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d + title: Validation Failed + detail: 'The property ''/cluster/storage_size'' of type string did not match the following type: integer' + source: + pointer: /cluster/storage_size + - status: '422' + code: invalid_configuration + id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d + title: Validation Failed + detail: 'The property ''/cluster/storage_size'' of type string did not match the following type: integer' + source: + pointer: /cluster/storage_size + NotFoundError: + description: Not Found + headers: + X-Request-Id: + schema: + type: string + description: The unique identifier for the API request. + content: + application/json: + schema: + $ref: '#/components/schemas/Failure' + example: + errors: + - id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d + status: '404' + title: Not Found + securitySchemes: + cloud-api-key: + type: http + scheme: basic + description: Authenticate with Cloud API Keys using HTTP Basic Auth. Treat the Cloud API Key ID as the username and Cloud API Key Secret as the password. + confluent-sts-access-token: + type: oauth2 + description: Authenticate with Confluent API using this credentials (JSON Web Tokens) following OAuth 2.0. + flows: + clientCredentials: + tokenUrl: 'https://api.confluent.cloud/sts/v1/oauth2/token' + scopes: {} + api-key: + type: http + scheme: basic + description: Authenticate with API Keys using HTTP Basic Auth. Treat the API Key ID as the username and API Key Secret as the password. + resource-api-key: + type: http + scheme: basic + description: | + Authenticate with resource-specific API Keys using HTTP Basic Auth. Treat the resource-specific API Key ID + as the username and resource-specific API Key Secret as the password. + external-access-token: + type: oauth2 + description: Authenticate with OAuth 2.0. + flows: + clientCredentials: + tokenUrl: 'https:///token' + scopes: {} + oauth: + type: oauth2 + description: Authenticate with OAuth 2.0. Currently this is only supported for partner APIs. + flows: + clientCredentials: + tokenUrl: /oauth2/token + scopes: + 'partner:alter': enables partners to alter entitlements + 'partner:create': enables partners to create entitlements and signup on behalf of customers + 'partner:delete': enables partners to delete entitlements and organizations + 'partner:describe': enables partners to read and list entitlements and organizations + requestBodies: + AlterBrokerConfigBatchRequest: + description: The alter broker configuration parameter batch request. + content: + application/json: + schema: + $ref: '#/components/schemas/AlterConfigBatchRequestData' + example: + data: + - name: max.connections + operation: DELETE + - name: compression.type + value: gzip + AlterClusterConfigBatchRequest: + description: The alter cluster configuration parameter batch request. + content: + application/json: + schema: + $ref: '#/components/schemas/AlterConfigBatchRequestData' + example: + data: + - name: max.connections + operation: DELETE + - name: compression.type + value: gzip + AlterTopicConfigBatchRequest: + description: The alter topic configuration parameter batch request. + content: + application/json: + schema: + $ref: '#/components/schemas/AlterConfigBatchRequestData' + examples: + batch_alter_topic_configs: + value: + data: + - name: cleanup.policy + operation: DELETE + - name: compression.type + value: gzip + validate_only_batch_alter_topic_configs: + value: + data: + - name: cleanup.policy + operation: DELETE + - name: compression.type + value: gzip + validate_only: true + CreateAclRequest: + description: The ACL creation request. + content: + application/json: + schema: + $ref: '#/components/schemas/CreateAclRequestData' + example: + resource_type: CLUSTER + resource_name: kafka-cluster + pattern_type: LITERAL + principal: 'principalType:principalName' + host: '*' + operation: DESCRIBE + permission: DENY + BatchCreateAclRequest: + description: The batch ACL creation request. + content: + application/json: + schema: + $ref: '#/components/schemas/CreateAclRequestDataList' + example: + data: + - resource_type: CLUSTER + resource_name: kafka-cluster + pattern_type: LITERAL + principal: 'principalType:principalName' + host: '*' + operation: DESCRIBE + permission: DENY + - resource_type: TOPIC + resource_name: kafka-cluster + pattern_type: LITERAL + principal: 'principalType:principalName' + host: '*' + operation: READ + permission: ALLOW + CreateTopicRequest: + description: 'The topic creation request. Note that Confluent Cloud allows only specific replication factor values. Because of that the replication factor field should either be omitted or it should use one of the allowed values (see https://docs.confluent.io/cloud/current/client-apps/optimizing/durability.html).' + content: + application/json: + schema: + $ref: '#/components/schemas/CreateTopicRequestData' + examples: + uniform_replication: + value: + topic_name: topic-X + partitions_count: 64 + replication_factor: 3 + configs: + - name: cleanup.policy + value: compact + - name: compression.type + value: gzip + dry_run_create_topic: + value: + topic_name: topic-X + partitions_count: 64 + replication_factor: 3 + validate_only: true + ProduceRequest: + description: 'A single record to be produced to Kafka. To produce multiple records in the same request, simply concatenate the records. The delivery reports are concatenated in the same order as the records are sent.' + content: + application/json: + schema: + $ref: '#/components/schemas/ProduceRequest' + examples: + binary_and_json: + description: 'If using type, one of "BINARY", "JSON" or "STRING" is required.' + value: + partition_id: 1 + headers: + - name: Header-1 + value: SGVhZGVyLTE= + - name: Header-2 + value: SGVhZGVyLTI= + key: + type: BINARY + data: Zm9vYmFy + value: + type: JSON + data: + foo: bar + timestamp: '2021-02-05T19:14:42Z' + string: + description: 'If using type, one of "BINARY", "JSON" or "STRING" is required.' + value: + value: + type: STRING + data: My message + empty_value: + description: key or value can be omitted entirely. + value: + key: + data: 1000 + UpdateBrokerConfigRequest: + description: The broker configuration parameter update request. + content: + application/json: + schema: + $ref: '#/components/schemas/UpdateConfigRequestData' + example: + value: gzip + UpdateClusterConfigRequest: + description: The cluster configuration parameter update request. + content: + application/json: + schema: + $ref: '#/components/schemas/UpdateConfigRequestData' + example: + value: gzip + UpdateTopicConfigRequest: + description: The topic configuration parameter update request. + content: + application/json: + schema: + $ref: '#/components/schemas/UpdateConfigRequestData' + example: + value: gzip + CreateLinkRequest: + description: Create a cluster link + content: + application/json: + schema: + $ref: '#/components/schemas/CreateLinkRequestData' + examples: + destination_initiated_link: + description: Create a destination initiated cluster link + value: + source_cluster_id: cluster-1 + configs: + - name: bootstrap.servers + value: cluster-1-bootstrap-server + - name: acl.sync.enable + value: 'false' + - name: consumer.offset.sync.ms + value: '30000' + - name: sasl.mechanism + value: PLAIN + - name: sasl.protocol + value: SASL_SSL + - name: sasl.jaas.config + value: sasl.jaas.config=org.apache.kafka.common.security.plain.PlainLoginModule required username='' password=''; + source_initiated_link_at_source_cluster: + description: Create a source initiated cluster link at source cluster + value: + destination_cluster_id: cluster-2 + configs: + - name: bootstrap.servers + value: cluster-2-bootstrap-server + - name: link.mode + value: SOURCE + - name: sasl.mechanism + value: PLAIN + - name: sasl.protocol + value: SASL_SSL + - name: sasl.jaas.config + value: sasl.jaas.config=org.apache.kafka.common.security.plain.PlainLoginModule required username='' password=''; + source_initiated_link_at_destination_cluster: + description: Create a source initiated cluster link at destination cluster + value: + destination_cluster_id: cluster-1 + configs: + - name: bootstrap.servers + value: cluster-1-bootstrap-server + - name: link.mode + value: DESTINATION + - name: connection.mode + value: INBOUND + - name: acl.sync.enable + value: 'false' + - name: sasl.mechanism + value: PLAIN + - name: sasl.protocol + value: SASL_SSL + - name: sasl.jaas.config + value: sasl.jaas.config=org.apache.kafka.common.security.plain.PlainLoginModule required username='' password=''; + bidirectional_link_east: + description: Create a bidirectional cluster link in east + value: + remote_cluster_id: cluster-west + configs: + - name: bootstrap.servers + value: cluster-west-bootstrap-server + - name: link.mode + value: BIDIRECTIONAL + - name: cluster.link.prefix + value: west. + - name: sasl.mechanism + value: PLAIN + - name: sasl.protocol + value: SASL_SSL + - name: sasl.jaas.config + value: sasl.jaas.config=org.apache.kafka.common.security.plain.PlainLoginModule required username='' password=''; + bidirectional_link_west: + description: Create a bidirectional cluster link in west + value: + remote_cluster_id: cluster-east + cluster_link_id: eEBkTffYSESld6EO898x3w + configs: + - name: bootstrap.servers + value: cluster-east-bootstrap-server + - name: link.mode + value: BIDIRECTIONAL + - name: cluster.link.prefix + value: east. + - name: sasl.mechanism + value: PLAIN + - name: sasl.protocol + value: SASL_SSL + - name: sasl.jaas.config + value: sasl.jaas.config=org.apache.kafka.common.security.plain.PlainLoginModule required username='' password=''; + UpdateLinkConfigRequest: + content: + application/json: + example: + value: '300000' + schema: + $ref: '#/components/schemas/UpdateLinkConfigRequestData' + description: Link config value to update + AlterLinkConfigBatchRequest: + content: + application/json: + example: + data: + - name: cleanup.policy + operation: DELETE + - name: compression.type + value: gzip + schema: + $ref: '#/components/schemas/AlterConfigBatchRequestData' + CreateMirrorTopicRequest: + description: 'Name and configs of the topics mirroring from and mirroring to. Note that Confluent Cloud allows only specific replication factor values. Because of that the replication factor field should either be omitted or it should use one of the allowed values (see https://docs.confluent.io/cloud/current/client-apps/optimizing/durability.html).' + content: + application/json: + schema: + $ref: '#/components/schemas/CreateMirrorTopicRequestData' + examples: + generic_example: + description: Generic example of creating a mirror topic + value: + source_topic_name: topic-1 + configs: + - name: unclean.leader.election.enable + value: 'true' + replication_factor: 1 + example_with_mirror_topic_name: + description: Example using optional mirror_topic_name flag + value: + source_topic_name: topic-1 + mirror_topic_name: link1_topic-1 + configs: + - name: unclean.leader.election.enable + value: 'true' + replication_factor: 3 + AlterMirrorsRequest: + description: Mirror topics to be altered. + content: + application/json: + schema: + $ref: '#/components/schemas/AlterMirrorsRequestData' + examples: + mirror_topic_names: + description: Example using mirror topic names + value: + mirror_topic_names: + - topic-1 + - topic-2 + mirror_topic_name_pattern: + description: Example using mirror topic name pattern + value: + mirror_topic_name_pattern: .* + RemoveBrokersRequest: + content: + application/json: + example: + broker_ids: + - 1 + - 2 + - 3 + schema: + $ref: '#/components/schemas/RemoveBrokersRequestData' + description: Broker ids to remove + BrokerReplicaExclusionBatchRequest: + description: Alter Broker Replica Exclusions. + content: + application/json: + schema: + $ref: '#/components/schemas/BrokerReplicaExclusionBatchRequestData' + example: + data: + - broker_id: 1 + reason: The broker is to be removed. + - broker_id: 2 + reason: The broker is to be removed. + x-stackQL-resources: + pipelines: + id: confluent.pipelines.pipelines + name: pipelines + title: Pipelines + methods: + list_sd_v1pipelines: + operation: + $ref: '#/paths/~1sd~1v1~1pipelines/get' + response: + mediaType: application/json + openAPIDocKey: '200' + objectKey: $.data + create_sd_v1pipeline: + operation: + $ref: '#/paths/~1sd~1v1~1pipelines/post' + response: + mediaType: application/json + openAPIDocKey: '202' + get_sd_v1pipeline: + operation: + $ref: '#/paths/~1sd~1v1~1pipelines~1{id}/get' + response: + mediaType: application/json + openAPIDocKey: '200' + update_sd_v1pipeline: + operation: + $ref: '#/paths/~1sd~1v1~1pipelines~1{id}/patch' + response: + mediaType: application/json + openAPIDocKey: '200' + delete_sd_v1pipeline: + operation: + $ref: '#/paths/~1sd~1v1~1pipelines~1{id}/delete' + response: + mediaType: application/json + openAPIDocKey: '204' + sqlVerbs: + select: + - $ref: '#/components/x-stackQL-resources/pipelines/methods/get_sd_v1pipeline' + - $ref: '#/components/x-stackQL-resources/pipelines/methods/list_sd_v1pipelines' + insert: + - $ref: '#/components/x-stackQL-resources/pipelines/methods/create_sd_v1pipeline' + update: + - $ref: '#/components/x-stackQL-resources/pipelines/methods/update_sd_v1pipeline' + replace: [] + delete: + - $ref: '#/components/x-stackQL-resources/pipelines/methods/delete_sd_v1pipeline' +paths: + /sd/v1/pipelines: + get: + operationId: listSdV1Pipelines + summary: List of Pipelines + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + Retrieve a sorted, filtered, paginated list of all pipelines. + parameters: + - name: environment + in: query + required: true + schema: + $ref: '#/components/schemas/SearchFilter' + example: env-00000 + description: Filter the results by exact match for environment. + - name: spec.kafka_cluster + in: query + required: true + schema: + $ref: '#/components/schemas/SearchFilter' + example: lkc-00000 + description: Filter the results by exact match for spec.kafka_cluster. + - name: page_size + in: query + required: false + schema: + type: integer + default: 100 + 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: + - Pipelines (sd/v1) + security: + - cloud-api-key: [] + - confluent-sts-access-token: [] + responses: + '200': + description: Pipeline. + content: + application/json: + schema: + allOf: + - $ref: '#/components/schemas/sd.v1.PipelineList' + - type: object + properties: + data: + type: array + items: + properties: + spec: + type: object + properties: + environment: + example: + id: env-00000 + related: 'https://api.confluent.cloud/org/v2/environments/env-00000' + resource_name: 'https://api.confluent.cloud/organization=9bb441c4-edef-46ac-8a41-c49e44a3fd9a/environment=env-00000' + kafka_cluster: + example: + id: lkc-00000 + related: 'https://api.confluent.cloud/cmk/v2/clusters/lkc-00000' + resource_name: 'https://api.confluent.cloud/organization=9bb441c4-edef-46ac-8a41-c49e44a3fd9a/environment=env-abc123/cloud-cluster=lkc-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. + + **Important:** This differs from Github and Twitter's same-named header which uses UTC epoch seconds. We use relative time to avoid client/server time synchronization issues. + '400': + $ref: '#/components/responses/BadRequestError' + '401': + $ref: '#/components/responses/UnauthenticatedError' + '403': + $ref: '#/components/responses/UnauthorizedError' + '429': + $ref: '#/components/responses/RateLimitError' + '500': + $ref: '#/components/responses/DefaultSystemError' + x-codeSamples: + - lang: Shell + source: |- + curl --request GET \ + --url 'https://api.confluent.cloud/sd/v1/pipelines?environment=env-00000&spec.kafka_cluster=lkc-00000' \ + --header 'Authorization: Basic REPLACE_BASIC_AUTH' + - lang: Java + source: |- + OkHttpClient client = new OkHttpClient(); + + Request request = new Request.Builder() + .url("https://api.confluent.cloud/sd/v1/pipelines?environment=env-00000&spec.kafka_cluster=lkc-00000") + .get() + .addHeader("Authorization", "Basic REPLACE_BASIC_AUTH") + .build(); + + Response response = client.newCall(request).execute(); + - lang: Go + source: "package main\n\nimport (\n\t\"fmt\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.confluent.cloud/sd/v1/pipelines?environment=env-00000&spec.kafka_cluster=lkc-00000\"\n\n\treq, _ := http.NewRequest(\"GET\", url, nil)\n\n\treq.Header.Add(\"Authorization\", \"Basic REPLACE_BASIC_AUTH\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}" + - lang: Python + source: |- + import http.client + + conn = http.client.HTTPSConnection("api.confluent.cloud") + + headers = { 'Authorization': "Basic REPLACE_BASIC_AUTH" } + + conn.request("GET", "/sd/v1/pipelines?environment=env-00000&spec.kafka_cluster=lkc-00000", headers=headers) + + res = conn.getresponse() + data = res.read() + + print(data.decode("utf-8")) + - lang: Node + source: |- + const http = require("https"); + + const options = { + "method": "GET", + "hostname": "api.confluent.cloud", + "port": null, + "path": "/sd/v1/pipelines?environment=env-00000&spec.kafka_cluster=lkc-00000", + "headers": { + "Authorization": "Basic REPLACE_BASIC_AUTH" + } + }; + + const req = http.request(options, function (res) { + const chunks = []; + + res.on("data", function (chunk) { + chunks.push(chunk); + }); + + res.on("end", function () { + const body = Buffer.concat(chunks); + console.log(body.toString()); + }); + }); + + req.end(); + - lang: C + source: |- + CURL *hnd = curl_easy_init(); + + curl_easy_setopt(hnd, CURLOPT_CUSTOMREQUEST, "GET"); + curl_easy_setopt(hnd, CURLOPT_URL, "https://api.confluent.cloud/sd/v1/pipelines?environment=env-00000&spec.kafka_cluster=lkc-00000"); + + struct curl_slist *headers = NULL; + headers = curl_slist_append(headers, "Authorization: Basic REPLACE_BASIC_AUTH"); + curl_easy_setopt(hnd, CURLOPT_HTTPHEADER, headers); + + CURLcode ret = curl_easy_perform(hnd); + - lang: C# + source: |- + var client = new RestClient("https://api.confluent.cloud/sd/v1/pipelines?environment=env-00000&spec.kafka_cluster=lkc-00000"); + var request = new RestRequest(Method.GET); + request.AddHeader("Authorization", "Basic REPLACE_BASIC_AUTH"); + IRestResponse response = client.Execute(request); + post: + operationId: createSdV1Pipeline + summary: Create a Pipeline + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + Make a request to create a pipeline. + tags: + - Pipelines (sd/v1) + security: + - cloud-api-key: [] + - confluent-sts-access-token: [] + requestBody: + content: + application/json: + schema: + allOf: + - $ref: '#/components/schemas/sd.v1.Pipeline' + - type: object + required: + - spec + properties: + spec: + type: object + required: + - display_name + - environment + - kafka_cluster + - type: object + properties: + spec: + type: object + properties: + environment: + example: + id: env-00000 + kafka_cluster: + example: + id: lkc-00000 + responses: + '202': + description: A Pipeline is being created. + headers: + X-Request-Id: + schema: + type: string + description: The unique identifier for the API request. + X-RateLimit-Limit: + schema: + type: integer + description: The maximum number of requests you're permitted to make per time period. + X-RateLimit-Remaining: + schema: + type: integer + description: The number of requests remaining in the current rate limit window. + X-RateLimit-Reset: + schema: + type: integer + description: |- + The relative time in seconds until the current rate-limit window resets. + + **Important:** This differs from Github and Twitter's same-named header which uses UTC epoch seconds. We use relative time to avoid client/server time synchronization issues. + Location: + schema: + type: string + format: uri + example: 'https://api.confluent.cloud/sd/v1/pipelines/{id}' + description: Pipeline resource uri + content: + application/json: + schema: + allOf: + - $ref: '#/components/schemas/sd.v1.Pipeline' + - type: object + required: + - spec + properties: + spec: + type: object + required: + - display_name + - environment + - kafka_cluster + - type: object + properties: + spec: + type: object + properties: + environment: + example: + id: env-00000 + related: 'https://api.confluent.cloud/org/v2/environments/env-00000' + resource_name: 'https://api.confluent.cloud/organization=9bb441c4-edef-46ac-8a41-c49e44a3fd9a/environment=env-00000' + kafka_cluster: + example: + id: lkc-00000 + related: 'https://api.confluent.cloud/cmk/v2/clusters/lkc-00000' + resource_name: 'https://api.confluent.cloud/organization=9bb441c4-edef-46ac-8a41-c49e44a3fd9a/environment=env-abc123/cloud-cluster=lkc-00000' + '400': + $ref: '#/components/responses/BadRequestError' + '401': + $ref: '#/components/responses/UnauthenticatedError' + '402': + $ref: '#/components/responses/OverQuotaError' + '403': + $ref: '#/components/responses/UnauthorizedError' + '409': + $ref: '#/components/responses/ConflictError' + '422': + $ref: '#/components/responses/ValidationError' + '429': + $ref: '#/components/responses/RateLimitError' + '500': + $ref: '#/components/responses/DefaultSystemError' + x-codeSamples: + - lang: Shell + source: |- + curl --request POST \ + --url https://api.confluent.cloud/sd/v1/pipelines \ + --header 'Authorization: Basic REPLACE_BASIC_AUTH' \ + --header 'content-type: application/json' \ + --data '{"spec":{"display_name":"MyFirstPipeline","description":"My first pipeline","retained_topic_names":["topic1","topic2"],"activated":false,"activation_privilege":false,"source_code":{"sql":"CREATE STREAM `upstream` (id INTEGER, name STRING) + WITH (kafka_topic = '\''topic'\'', partitions=1, value_format='\''JSON'\''); + CREATE STREAM `downstream` AS SELECT * FROM upstream; + "},"secrets":{"secret_name_1":"secret1","secret_name_2":"secret2"},"environment":{"id":"env-00000","environment":"string"},"kafka_cluster":{"id":"lkc-00000","environment":"string"},"ksql_cluster":{"id":"string","environment":"string"},"stream_governance_cluster":{"id":"string","environment":"string"}}}' + - lang: Java + source: |- + OkHttpClient client = new OkHttpClient(); + + MediaType mediaType = MediaType.parse("application/json"); + RequestBody body = RequestBody.create(mediaType, "{\"spec\":{\"display_name\":\"MyFirstPipeline\",\"description\":\"My first pipeline\",\"retained_topic_names\":[\"topic1\",\"topic2\"],\"activated\":false,\"activation_privilege\":false,\"source_code\":{\"sql\":\"CREATE STREAM `upstream` (id INTEGER, name STRING)\ + WITH (kafka_topic = 'topic', partitions=1, value_format='JSON');\ + CREATE STREAM `downstream` AS SELECT * FROM upstream;\ + \"},\"secrets\":{\"secret_name_1\":\"secret1\",\"secret_name_2\":\"secret2\"},\"environment\":{\"id\":\"env-00000\",\"environment\":\"string\"},\"kafka_cluster\":{\"id\":\"lkc-00000\",\"environment\":\"string\"},\"ksql_cluster\":{\"id\":\"string\",\"environment\":\"string\"},\"stream_governance_cluster\":{\"id\":\"string\",\"environment\":\"string\"}}}"); + Request request = new Request.Builder() + .url("https://api.confluent.cloud/sd/v1/pipelines") + .post(body) + .addHeader("content-type", "application/json") + .addHeader("Authorization", "Basic REPLACE_BASIC_AUTH") + .build(); + + Response response = client.newCall(request).execute(); + - lang: Go + source: "package main\n\nimport (\n\t\"fmt\"\n\t\"strings\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.confluent.cloud/sd/v1/pipelines\"\n\n\tpayload := strings.NewReader(\"{\\\"spec\\\":{\\\"display_name\\\":\\\"MyFirstPipeline\\\",\\\"description\\\":\\\"My first pipeline\\\",\\\"retained_topic_names\\\":[\\\"topic1\\\",\\\"topic2\\\"],\\\"activated\\\":false,\\\"activation_privilege\\\":false,\\\"source_code\\\":{\\\"sql\\\":\\\"CREATE STREAM `upstream` (id INTEGER, name STRING)\\\n WITH (kafka_topic = 'topic', partitions=1, value_format='JSON');\\\nCREATE STREAM `downstream` AS SELECT * FROM upstream;\\\n\\\"},\\\"secrets\\\":{\\\"secret_name_1\\\":\\\"secret1\\\",\\\"secret_name_2\\\":\\\"secret2\\\"},\\\"environment\\\":{\\\"id\\\":\\\"env-00000\\\",\\\"environment\\\":\\\"string\\\"},\\\"kafka_cluster\\\":{\\\"id\\\":\\\"lkc-00000\\\",\\\"environment\\\":\\\"string\\\"},\\\"ksql_cluster\\\":{\\\"id\\\":\\\"string\\\",\\\"environment\\\":\\\"string\\\"},\\\"stream_governance_cluster\\\":{\\\"id\\\":\\\"string\\\",\\\"environment\\\":\\\"string\\\"}}}\")\n\n\treq, _ := http.NewRequest(\"POST\", url, payload)\n\n\treq.Header.Add(\"content-type\", \"application/json\")\n\treq.Header.Add(\"Authorization\", \"Basic REPLACE_BASIC_AUTH\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}" + - lang: Python + source: |- + import http.client + + conn = http.client.HTTPSConnection("api.confluent.cloud") + + payload = "{\"spec\":{\"display_name\":\"MyFirstPipeline\",\"description\":\"My first pipeline\",\"retained_topic_names\":[\"topic1\",\"topic2\"],\"activated\":false,\"activation_privilege\":false,\"source_code\":{\"sql\":\"CREATE STREAM `upstream` (id INTEGER, name STRING)\ + WITH (kafka_topic = 'topic', partitions=1, value_format='JSON');\ + CREATE STREAM `downstream` AS SELECT * FROM upstream;\ + \"},\"secrets\":{\"secret_name_1\":\"secret1\",\"secret_name_2\":\"secret2\"},\"environment\":{\"id\":\"env-00000\",\"environment\":\"string\"},\"kafka_cluster\":{\"id\":\"lkc-00000\",\"environment\":\"string\"},\"ksql_cluster\":{\"id\":\"string\",\"environment\":\"string\"},\"stream_governance_cluster\":{\"id\":\"string\",\"environment\":\"string\"}}}" + + headers = { + 'content-type': "application/json", + 'Authorization': "Basic REPLACE_BASIC_AUTH" + } + + conn.request("POST", "/sd/v1/pipelines", payload, headers) + + res = conn.getresponse() + data = res.read() + + print(data.decode("utf-8")) + - lang: Node + source: |- + const http = require("https"); + + const options = { + "method": "POST", + "hostname": "api.confluent.cloud", + "port": null, + "path": "/sd/v1/pipelines", + "headers": { + "content-type": "application/json", + "Authorization": "Basic REPLACE_BASIC_AUTH" + } + }; + + const req = http.request(options, function (res) { + const chunks = []; + + res.on("data", function (chunk) { + chunks.push(chunk); + }); + + res.on("end", function () { + const body = Buffer.concat(chunks); + console.log(body.toString()); + }); + }); + + req.write(JSON.stringify({ + spec: { + display_name: 'MyFirstPipeline', + description: 'My first pipeline', + retained_topic_names: ['topic1', 'topic2'], + activated: false, + activation_privilege: false, + source_code: { + sql: 'CREATE STREAM `upstream` (id INTEGER, name STRING) + WITH (kafka_topic = \'topic\', partitions=1, value_format=\'JSON\'); + CREATE STREAM `downstream` AS SELECT * FROM upstream; + ' + }, + secrets: {secret_name_1: 'secret1', secret_name_2: 'secret2'}, + environment: {id: 'env-00000', environment: 'string'}, + kafka_cluster: {id: 'lkc-00000', environment: 'string'}, + ksql_cluster: {id: 'string', environment: 'string'}, + stream_governance_cluster: {id: 'string', environment: 'string'} + } + })); + req.end(); + - lang: C + source: |- + CURL *hnd = curl_easy_init(); + + curl_easy_setopt(hnd, CURLOPT_CUSTOMREQUEST, "POST"); + curl_easy_setopt(hnd, CURLOPT_URL, "https://api.confluent.cloud/sd/v1/pipelines"); + + struct curl_slist *headers = NULL; + headers = curl_slist_append(headers, "content-type: application/json"); + headers = curl_slist_append(headers, "Authorization: Basic REPLACE_BASIC_AUTH"); + curl_easy_setopt(hnd, CURLOPT_HTTPHEADER, headers); + + curl_easy_setopt(hnd, CURLOPT_POSTFIELDS, "{\"spec\":{\"display_name\":\"MyFirstPipeline\",\"description\":\"My first pipeline\",\"retained_topic_names\":[\"topic1\",\"topic2\"],\"activated\":false,\"activation_privilege\":false,\"source_code\":{\"sql\":\"CREATE STREAM `upstream` (id INTEGER, name STRING)\ + WITH (kafka_topic = 'topic', partitions=1, value_format='JSON');\ + CREATE STREAM `downstream` AS SELECT * FROM upstream;\ + \"},\"secrets\":{\"secret_name_1\":\"secret1\",\"secret_name_2\":\"secret2\"},\"environment\":{\"id\":\"env-00000\",\"environment\":\"string\"},\"kafka_cluster\":{\"id\":\"lkc-00000\",\"environment\":\"string\"},\"ksql_cluster\":{\"id\":\"string\",\"environment\":\"string\"},\"stream_governance_cluster\":{\"id\":\"string\",\"environment\":\"string\"}}}"); + + CURLcode ret = curl_easy_perform(hnd); + - lang: C# + source: |- + var client = new RestClient("https://api.confluent.cloud/sd/v1/pipelines"); + var request = new RestRequest(Method.POST); + request.AddHeader("content-type", "application/json"); + request.AddHeader("Authorization", "Basic REPLACE_BASIC_AUTH"); + request.AddParameter("application/json", "{\"spec\":{\"display_name\":\"MyFirstPipeline\",\"description\":\"My first pipeline\",\"retained_topic_names\":[\"topic1\",\"topic2\"],\"activated\":false,\"activation_privilege\":false,\"source_code\":{\"sql\":\"CREATE STREAM `upstream` (id INTEGER, name STRING)\ + WITH (kafka_topic = 'topic', partitions=1, value_format='JSON');\ + CREATE STREAM `downstream` AS SELECT * FROM upstream;\ + \"},\"secrets\":{\"secret_name_1\":\"secret1\",\"secret_name_2\":\"secret2\"},\"environment\":{\"id\":\"env-00000\",\"environment\":\"string\"},\"kafka_cluster\":{\"id\":\"lkc-00000\",\"environment\":\"string\"},\"ksql_cluster\":{\"id\":\"string\",\"environment\":\"string\"},\"stream_governance_cluster\":{\"id\":\"string\",\"environment\":\"string\"}}}", ParameterType.RequestBody); + IRestResponse response = client.Execute(request); + '/sd/v1/pipelines/{id}': + get: + operationId: getSdV1Pipeline + summary: Read a Pipeline + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + Make a request to read a pipeline. + parameters: + - name: environment + in: query + required: true + schema: + $ref: '#/components/schemas/SearchFilter' + example: env-00000 + description: Scope the operation to the given environment. + - name: spec.kafka_cluster + in: query + required: true + schema: + $ref: '#/components/schemas/SearchFilter' + example: lkc-00000 + description: Scope the operation to the given spec.kafka_cluster. + - name: id + in: path + required: true + schema: + type: string + description: The unique identifier for the pipeline. + tags: + - Pipelines (sd/v1) + security: + - cloud-api-key: [] + - confluent-sts-access-token: [] + responses: + '200': + description: Pipeline. + content: + application/json: + schema: + allOf: + - $ref: '#/components/schemas/sd.v1.Pipeline' + - type: object + required: + - api_version + - kind + - id + - spec + properties: + spec: + type: object + required: + - display_name + - environment + - kafka_cluster + - type: object + properties: + spec: + type: object + properties: + environment: + example: + id: env-00000 + related: 'https://api.confluent.cloud/org/v2/environments/env-00000' + resource_name: 'https://api.confluent.cloud/organization=9bb441c4-edef-46ac-8a41-c49e44a3fd9a/environment=env-00000' + kafka_cluster: + example: + id: lkc-00000 + related: 'https://api.confluent.cloud/cmk/v2/clusters/lkc-00000' + resource_name: 'https://api.confluent.cloud/organization=9bb441c4-edef-46ac-8a41-c49e44a3fd9a/environment=env-abc123/cloud-cluster=lkc-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. + + **Important:** This differs from Github and Twitter's same-named header which uses UTC epoch seconds. We use relative time to avoid client/server time synchronization issues. + '400': + $ref: '#/components/responses/BadRequestError' + '401': + $ref: '#/components/responses/UnauthenticatedError' + '403': + $ref: '#/components/responses/UnauthorizedError' + '404': + $ref: '#/components/responses/NotFoundError' + '429': + $ref: '#/components/responses/RateLimitError' + '500': + $ref: '#/components/responses/DefaultSystemError' + x-codeSamples: + - lang: Shell + source: |- + curl --request GET \ + --url 'https://api.confluent.cloud/sd/v1/pipelines/{id}?environment=env-00000&spec.kafka_cluster=lkc-00000' \ + --header 'Authorization: Basic REPLACE_BASIC_AUTH' + - lang: Java + source: |- + OkHttpClient client = new OkHttpClient(); + + Request request = new Request.Builder() + .url("https://api.confluent.cloud/sd/v1/pipelines/{id}?environment=env-00000&spec.kafka_cluster=lkc-00000") + .get() + .addHeader("Authorization", "Basic REPLACE_BASIC_AUTH") + .build(); + + Response response = client.newCall(request).execute(); + - lang: Go + source: "package main\n\nimport (\n\t\"fmt\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.confluent.cloud/sd/v1/pipelines/{id}?environment=env-00000&spec.kafka_cluster=lkc-00000\"\n\n\treq, _ := http.NewRequest(\"GET\", url, nil)\n\n\treq.Header.Add(\"Authorization\", \"Basic REPLACE_BASIC_AUTH\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}" + - lang: Python + source: |- + import http.client + + conn = http.client.HTTPSConnection("api.confluent.cloud") + + headers = { 'Authorization': "Basic REPLACE_BASIC_AUTH" } + + conn.request("GET", "/sd/v1/pipelines/{id}?environment=env-00000&spec.kafka_cluster=lkc-00000", headers=headers) + + res = conn.getresponse() + data = res.read() + + print(data.decode("utf-8")) + - lang: Node + source: |- + const http = require("https"); + + const options = { + "method": "GET", + "hostname": "api.confluent.cloud", + "port": null, + "path": "/sd/v1/pipelines/{id}?environment=env-00000&spec.kafka_cluster=lkc-00000", + "headers": { + "Authorization": "Basic REPLACE_BASIC_AUTH" + } + }; + + const req = http.request(options, function (res) { + const chunks = []; + + res.on("data", function (chunk) { + chunks.push(chunk); + }); + + res.on("end", function () { + const body = Buffer.concat(chunks); + console.log(body.toString()); + }); + }); + + req.end(); + - lang: C + source: |- + CURL *hnd = curl_easy_init(); + + curl_easy_setopt(hnd, CURLOPT_CUSTOMREQUEST, "GET"); + curl_easy_setopt(hnd, CURLOPT_URL, "https://api.confluent.cloud/sd/v1/pipelines/{id}?environment=env-00000&spec.kafka_cluster=lkc-00000"); + + struct curl_slist *headers = NULL; + headers = curl_slist_append(headers, "Authorization: Basic REPLACE_BASIC_AUTH"); + curl_easy_setopt(hnd, CURLOPT_HTTPHEADER, headers); + + CURLcode ret = curl_easy_perform(hnd); + - lang: C# + source: |- + var client = new RestClient("https://api.confluent.cloud/sd/v1/pipelines/{id}?environment=env-00000&spec.kafka_cluster=lkc-00000"); + var request = new RestRequest(Method.GET); + request.AddHeader("Authorization", "Basic REPLACE_BASIC_AUTH"); + IRestResponse response = client.Execute(request); + patch: + operationId: updateSdV1Pipeline + summary: Update a Pipeline + description: |+ + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + Make a request to update a pipeline. + + parameters: + - name: id + in: path + required: true + schema: + type: string + description: The unique identifier for the pipeline. + tags: + - Pipelines (sd/v1) + security: + - cloud-api-key: [] + - confluent-sts-access-token: [] + requestBody: + content: + application/json: + schema: + allOf: + - $ref: '#/components/schemas/sd.v1.Pipeline' + - type: object + required: + - spec + properties: + spec: + type: object + required: + - environment + properties: + environment: + example: + id: env-00000 + responses: + '200': + description: Pipeline. + content: + application/json: + schema: + allOf: + - $ref: '#/components/schemas/sd.v1.Pipeline' + - type: object + required: + - api_version + - kind + - id + - spec + properties: + spec: + type: object + required: + - display_name + - environment + - kafka_cluster + - type: object + properties: + spec: + type: object + properties: + environment: + example: + id: env-00000 + related: 'https://api.confluent.cloud/org/v2/environments/env-00000' + resource_name: 'https://api.confluent.cloud/organization=9bb441c4-edef-46ac-8a41-c49e44a3fd9a/environment=env-00000' + kafka_cluster: + example: + id: lkc-00000 + related: 'https://api.confluent.cloud/cmk/v2/clusters/lkc-00000' + resource_name: 'https://api.confluent.cloud/organization=9bb441c4-edef-46ac-8a41-c49e44a3fd9a/environment=env-abc123/cloud-cluster=lkc-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. + + **Important:** This differs from Github and Twitter's same-named header which uses UTC epoch seconds. We use relative time to avoid client/server time synchronization issues. + '400': + $ref: '#/components/responses/BadRequestError' + '401': + $ref: '#/components/responses/UnauthenticatedError' + '402': + $ref: '#/components/responses/OverQuotaError' + '403': + $ref: '#/components/responses/UnauthorizedError' + '404': + $ref: '#/components/responses/NotFoundError' + '409': + $ref: '#/components/responses/ConflictError' + '422': + $ref: '#/components/responses/ValidationError' + '429': + $ref: '#/components/responses/RateLimitError' + '500': + $ref: '#/components/responses/DefaultSystemError' + x-codeSamples: + - lang: Shell + source: |- + curl --request PATCH \ + --url 'https://api.confluent.cloud/sd/v1/pipelines/{id}' \ + --header 'Authorization: Basic REPLACE_BASIC_AUTH' \ + --header 'content-type: application/json' \ + --data '{"spec":{"display_name":"MyFirstPipeline","description":"My first pipeline","retained_topic_names":["topic1","topic2"],"activated":false,"activation_privilege":false,"source_code":{"sql":"CREATE STREAM `upstream` (id INTEGER, name STRING) + WITH (kafka_topic = '\''topic'\'', partitions=1, value_format='\''JSON'\''); + CREATE STREAM `downstream` AS SELECT * FROM upstream; + "},"secrets":{"secret_name_1":"secret1","secret_name_2":"secret2"},"environment":{"id":"env-00000","environment":"string"},"kafka_cluster":{"id":"string","environment":"string"},"ksql_cluster":{"id":"string","environment":"string"},"stream_governance_cluster":{"id":"string","environment":"string"}}}' + - lang: Java + source: |- + OkHttpClient client = new OkHttpClient(); + + MediaType mediaType = MediaType.parse("application/json"); + RequestBody body = RequestBody.create(mediaType, "{\"spec\":{\"display_name\":\"MyFirstPipeline\",\"description\":\"My first pipeline\",\"retained_topic_names\":[\"topic1\",\"topic2\"],\"activated\":false,\"activation_privilege\":false,\"source_code\":{\"sql\":\"CREATE STREAM `upstream` (id INTEGER, name STRING)\ + WITH (kafka_topic = 'topic', partitions=1, value_format='JSON');\ + CREATE STREAM `downstream` AS SELECT * FROM upstream;\ + \"},\"secrets\":{\"secret_name_1\":\"secret1\",\"secret_name_2\":\"secret2\"},\"environment\":{\"id\":\"env-00000\",\"environment\":\"string\"},\"kafka_cluster\":{\"id\":\"string\",\"environment\":\"string\"},\"ksql_cluster\":{\"id\":\"string\",\"environment\":\"string\"},\"stream_governance_cluster\":{\"id\":\"string\",\"environment\":\"string\"}}}"); + Request request = new Request.Builder() + .url("https://api.confluent.cloud/sd/v1/pipelines/{id}") + .patch(body) + .addHeader("content-type", "application/json") + .addHeader("Authorization", "Basic REPLACE_BASIC_AUTH") + .build(); + + Response response = client.newCall(request).execute(); + - lang: Go + source: "package main\n\nimport (\n\t\"fmt\"\n\t\"strings\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.confluent.cloud/sd/v1/pipelines/{id}\"\n\n\tpayload := strings.NewReader(\"{\\\"spec\\\":{\\\"display_name\\\":\\\"MyFirstPipeline\\\",\\\"description\\\":\\\"My first pipeline\\\",\\\"retained_topic_names\\\":[\\\"topic1\\\",\\\"topic2\\\"],\\\"activated\\\":false,\\\"activation_privilege\\\":false,\\\"source_code\\\":{\\\"sql\\\":\\\"CREATE STREAM `upstream` (id INTEGER, name STRING)\\\n WITH (kafka_topic = 'topic', partitions=1, value_format='JSON');\\\nCREATE STREAM `downstream` AS SELECT * FROM upstream;\\\n\\\"},\\\"secrets\\\":{\\\"secret_name_1\\\":\\\"secret1\\\",\\\"secret_name_2\\\":\\\"secret2\\\"},\\\"environment\\\":{\\\"id\\\":\\\"env-00000\\\",\\\"environment\\\":\\\"string\\\"},\\\"kafka_cluster\\\":{\\\"id\\\":\\\"string\\\",\\\"environment\\\":\\\"string\\\"},\\\"ksql_cluster\\\":{\\\"id\\\":\\\"string\\\",\\\"environment\\\":\\\"string\\\"},\\\"stream_governance_cluster\\\":{\\\"id\\\":\\\"string\\\",\\\"environment\\\":\\\"string\\\"}}}\")\n\n\treq, _ := http.NewRequest(\"PATCH\", url, payload)\n\n\treq.Header.Add(\"content-type\", \"application/json\")\n\treq.Header.Add(\"Authorization\", \"Basic REPLACE_BASIC_AUTH\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}" + - lang: Python + source: |- + import http.client + + conn = http.client.HTTPSConnection("api.confluent.cloud") + + payload = "{\"spec\":{\"display_name\":\"MyFirstPipeline\",\"description\":\"My first pipeline\",\"retained_topic_names\":[\"topic1\",\"topic2\"],\"activated\":false,\"activation_privilege\":false,\"source_code\":{\"sql\":\"CREATE STREAM `upstream` (id INTEGER, name STRING)\ + WITH (kafka_topic = 'topic', partitions=1, value_format='JSON');\ + CREATE STREAM `downstream` AS SELECT * FROM upstream;\ + \"},\"secrets\":{\"secret_name_1\":\"secret1\",\"secret_name_2\":\"secret2\"},\"environment\":{\"id\":\"env-00000\",\"environment\":\"string\"},\"kafka_cluster\":{\"id\":\"string\",\"environment\":\"string\"},\"ksql_cluster\":{\"id\":\"string\",\"environment\":\"string\"},\"stream_governance_cluster\":{\"id\":\"string\",\"environment\":\"string\"}}}" + + headers = { + 'content-type': "application/json", + 'Authorization': "Basic REPLACE_BASIC_AUTH" + } + + conn.request("PATCH", "/sd/v1/pipelines/{id}", payload, headers) + + res = conn.getresponse() + data = res.read() + + print(data.decode("utf-8")) + - lang: Node + source: |- + const http = require("https"); + + const options = { + "method": "PATCH", + "hostname": "api.confluent.cloud", + "port": null, + "path": "/sd/v1/pipelines/{id}", + "headers": { + "content-type": "application/json", + "Authorization": "Basic REPLACE_BASIC_AUTH" + } + }; + + const req = http.request(options, function (res) { + const chunks = []; + + res.on("data", function (chunk) { + chunks.push(chunk); + }); + + res.on("end", function () { + const body = Buffer.concat(chunks); + console.log(body.toString()); + }); + }); + + req.write(JSON.stringify({ + spec: { + display_name: 'MyFirstPipeline', + description: 'My first pipeline', + retained_topic_names: ['topic1', 'topic2'], + activated: false, + activation_privilege: false, + source_code: { + sql: 'CREATE STREAM `upstream` (id INTEGER, name STRING) + WITH (kafka_topic = \'topic\', partitions=1, value_format=\'JSON\'); + CREATE STREAM `downstream` AS SELECT * FROM upstream; + ' + }, + secrets: {secret_name_1: 'secret1', secret_name_2: 'secret2'}, + environment: {id: 'env-00000', environment: 'string'}, + kafka_cluster: {id: 'string', environment: 'string'}, + ksql_cluster: {id: 'string', environment: 'string'}, + stream_governance_cluster: {id: 'string', environment: 'string'} + } + })); + req.end(); + - lang: C + source: |- + CURL *hnd = curl_easy_init(); + + curl_easy_setopt(hnd, CURLOPT_CUSTOMREQUEST, "PATCH"); + curl_easy_setopt(hnd, CURLOPT_URL, "https://api.confluent.cloud/sd/v1/pipelines/{id}"); + + struct curl_slist *headers = NULL; + headers = curl_slist_append(headers, "content-type: application/json"); + headers = curl_slist_append(headers, "Authorization: Basic REPLACE_BASIC_AUTH"); + curl_easy_setopt(hnd, CURLOPT_HTTPHEADER, headers); + + curl_easy_setopt(hnd, CURLOPT_POSTFIELDS, "{\"spec\":{\"display_name\":\"MyFirstPipeline\",\"description\":\"My first pipeline\",\"retained_topic_names\":[\"topic1\",\"topic2\"],\"activated\":false,\"activation_privilege\":false,\"source_code\":{\"sql\":\"CREATE STREAM `upstream` (id INTEGER, name STRING)\ + WITH (kafka_topic = 'topic', partitions=1, value_format='JSON');\ + CREATE STREAM `downstream` AS SELECT * FROM upstream;\ + \"},\"secrets\":{\"secret_name_1\":\"secret1\",\"secret_name_2\":\"secret2\"},\"environment\":{\"id\":\"env-00000\",\"environment\":\"string\"},\"kafka_cluster\":{\"id\":\"string\",\"environment\":\"string\"},\"ksql_cluster\":{\"id\":\"string\",\"environment\":\"string\"},\"stream_governance_cluster\":{\"id\":\"string\",\"environment\":\"string\"}}}"); + + CURLcode ret = curl_easy_perform(hnd); + - lang: C# + source: |- + var client = new RestClient("https://api.confluent.cloud/sd/v1/pipelines/{id}"); + var request = new RestRequest(Method.PATCH); + request.AddHeader("content-type", "application/json"); + request.AddHeader("Authorization", "Basic REPLACE_BASIC_AUTH"); + request.AddParameter("application/json", "{\"spec\":{\"display_name\":\"MyFirstPipeline\",\"description\":\"My first pipeline\",\"retained_topic_names\":[\"topic1\",\"topic2\"],\"activated\":false,\"activation_privilege\":false,\"source_code\":{\"sql\":\"CREATE STREAM `upstream` (id INTEGER, name STRING)\ + WITH (kafka_topic = 'topic', partitions=1, value_format='JSON');\ + CREATE STREAM `downstream` AS SELECT * FROM upstream;\ + \"},\"secrets\":{\"secret_name_1\":\"secret1\",\"secret_name_2\":\"secret2\"},\"environment\":{\"id\":\"env-00000\",\"environment\":\"string\"},\"kafka_cluster\":{\"id\":\"string\",\"environment\":\"string\"},\"ksql_cluster\":{\"id\":\"string\",\"environment\":\"string\"},\"stream_governance_cluster\":{\"id\":\"string\",\"environment\":\"string\"}}}", ParameterType.RequestBody); + IRestResponse response = client.Execute(request); + delete: + operationId: deleteSdV1Pipeline + summary: Delete a Pipeline + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + Make a request to delete a pipeline. + parameters: + - name: environment + in: query + required: true + schema: + $ref: '#/components/schemas/SearchFilter' + example: env-00000 + description: Scope the operation to the given environment. + - name: spec.kafka_cluster + in: query + required: true + schema: + $ref: '#/components/schemas/SearchFilter' + example: lkc-00000 + description: Scope the operation to the given spec.kafka_cluster. + - name: id + in: path + required: true + schema: + type: string + description: The unique identifier for the pipeline. + tags: + - Pipelines (sd/v1) + security: + - cloud-api-key: [] + - confluent-sts-access-token: [] + responses: + '204': + description: A Pipeline is being deleted. + headers: + X-Request-Id: + schema: + type: string + description: The unique identifier for the API request. + X-RateLimit-Limit: + schema: + type: integer + description: The maximum number of requests you're permitted to make per time period. + X-RateLimit-Remaining: + schema: + type: integer + description: The number of requests remaining in the current rate limit window. + X-RateLimit-Reset: + schema: + type: integer + description: |- + The relative time in seconds until the current rate-limit window resets. + + **Important:** This differs from Github and Twitter's same-named header which uses UTC epoch seconds. We use relative time to avoid client/server time synchronization issues. + '400': + $ref: '#/components/responses/BadRequestError' + '401': + $ref: '#/components/responses/UnauthenticatedError' + '403': + $ref: '#/components/responses/UnauthorizedError' + '404': + $ref: '#/components/responses/NotFoundError' + '429': + $ref: '#/components/responses/RateLimitError' + '500': + $ref: '#/components/responses/DefaultSystemError' + x-codeSamples: + - lang: Shell + source: |- + curl --request DELETE \ + --url 'https://api.confluent.cloud/sd/v1/pipelines/{id}?environment=env-00000&spec.kafka_cluster=lkc-00000' \ + --header 'Authorization: Basic REPLACE_BASIC_AUTH' + - lang: Java + source: |- + OkHttpClient client = new OkHttpClient(); + + Request request = new Request.Builder() + .url("https://api.confluent.cloud/sd/v1/pipelines/{id}?environment=env-00000&spec.kafka_cluster=lkc-00000") + .delete(null) + .addHeader("Authorization", "Basic REPLACE_BASIC_AUTH") + .build(); + + Response response = client.newCall(request).execute(); + - lang: Go + source: "package main\n\nimport (\n\t\"fmt\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.confluent.cloud/sd/v1/pipelines/{id}?environment=env-00000&spec.kafka_cluster=lkc-00000\"\n\n\treq, _ := http.NewRequest(\"DELETE\", url, nil)\n\n\treq.Header.Add(\"Authorization\", \"Basic REPLACE_BASIC_AUTH\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}" + - lang: Python + source: |- + import http.client + + conn = http.client.HTTPSConnection("api.confluent.cloud") + + headers = { 'Authorization': "Basic REPLACE_BASIC_AUTH" } + + conn.request("DELETE", "/sd/v1/pipelines/{id}?environment=env-00000&spec.kafka_cluster=lkc-00000", headers=headers) + + res = conn.getresponse() + data = res.read() + + print(data.decode("utf-8")) + - lang: Node + source: |- + const http = require("https"); + + const options = { + "method": "DELETE", + "hostname": "api.confluent.cloud", + "port": null, + "path": "/sd/v1/pipelines/{id}?environment=env-00000&spec.kafka_cluster=lkc-00000", + "headers": { + "Authorization": "Basic REPLACE_BASIC_AUTH" + } + }; + + const req = http.request(options, function (res) { + const chunks = []; + + res.on("data", function (chunk) { + chunks.push(chunk); + }); + + res.on("end", function () { + const body = Buffer.concat(chunks); + console.log(body.toString()); + }); + }); + + req.end(); + - lang: C + source: |- + CURL *hnd = curl_easy_init(); + + curl_easy_setopt(hnd, CURLOPT_CUSTOMREQUEST, "DELETE"); + curl_easy_setopt(hnd, CURLOPT_URL, "https://api.confluent.cloud/sd/v1/pipelines/{id}?environment=env-00000&spec.kafka_cluster=lkc-00000"); + + struct curl_slist *headers = NULL; + headers = curl_slist_append(headers, "Authorization: Basic REPLACE_BASIC_AUTH"); + curl_easy_setopt(hnd, CURLOPT_HTTPHEADER, headers); + + CURLcode ret = curl_easy_perform(hnd); + - lang: C# + source: |- + var client = new RestClient("https://api.confluent.cloud/sd/v1/pipelines/{id}?environment=env-00000&spec.kafka_cluster=lkc-00000"); + var request = new RestRequest(Method.DELETE); + request.AddHeader("Authorization", "Basic REPLACE_BASIC_AUTH"); + IRestResponse response = client.Execute(request); diff --git a/providers/src/confluent/v00.00.00000/services/provider_integrations.yaml b/providers/src/confluent/v00.00.00000/services/provider_integrations.yaml new file mode 100644 index 00000000..cc140973 --- /dev/null +++ b/providers/src/confluent/v00.00.00000/services/provider_integrations.yaml @@ -0,0 +1,3369 @@ +openapi: 3.0.0 +servers: + - url: 'https://api.confluent.cloud' + description: Confluent Cloud API +info: + version: '' + contact: + name: Confluent Cloud + url: 'https://www.confluent.io/cloud-contact-us/' + email: support@confluent.io + x-api-id: 46234552-5833-42eb-ba0f-883ad3f70d2b + x-audience: external-public + x-logo: + url: 'https://assets.confluent.io/m/5ec23aa91903c00b/' + title: Confluent Cloud APIs - provider_integrations + description: provider_integrations +tags: + - name: API Keys (iam/v2) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + `ApiKey` objects represent access to different parts of Confluent Cloud. Some types + of API keys represent access to a single cluster/resource such as a Kafka cluster, + Schema Registry cluster or a ksqlDB cluster. Cloud API Keys represent access to resources within an organization + that are not tied to a specific cluster, such as the Org API, IAM API, Metrics API or Connect API. + + The API allows you to list, create, update and delete your API Keys. + + + Related guide: [API Keys in Confluent Cloud](https://docs.confluent.io/cloud/current/client-apps/api-keys.html). + + ## The API Keys Model + + + ## Quotas and Limits + This resource is subject to the [following quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): + + | Quota | Description | + | --- | --- | + | `apikeys_per_org` | API Keys in one Confluent Cloud organization | + - name: Environments (org/v2) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + `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](https://docs.confluent.io/cloud/current/access-management/environments.html). + + ## The Environments Model + + + ## Quotas and Limits + This resource is subject to the [following quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): + + | Quota | Description | + | --- | --- | + | `environments_per_org` | Environments in one Confluent Cloud organization | + - name: Organizations (org/v2) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + `Organization` objects represent a customer organization. An organization contains all customer + resources (e.g., Environments, Kafka Clusters, Service Accounts, API Keys) and is tied to a billing + agreement (including any annual commitment or support plan). + + The API allows you to list, view, and update your organizations. + + + Related guide: [Organizations for Confluent Cloud](https://docs.confluent.io/cloud/current/access-management/hierarchy/organizations/cloud-organization.html). + + ## The Organizations Model + + + ## Quotas and Limits + This resource is subject to the [following quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): + + | Quota | Description | + | --- | --- | + | `organizations_per_user` | Confluent Cloud organizations a user belongs to | + - name: Users (iam/v2) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + `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](https://docs.confluent.io/cloud/current/access-management/user-account.html). + + ## The Users Model + + + ## Quotas and Limits + This resource is subject to the [following quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): + + | Quota | Description | + | --- | --- | + | `users_per_org` | Users in one Confluent Cloud organization | + - name: Service Accounts (iam/v2) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + `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](https://docs.confluent.io/cloud/current/access-management/service-account.html). + + ## The Service Accounts Model + + + ## Quotas and Limits + This resource is subject to the [following quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): + + | Quota | Description | + | --- | --- | + | `service_accounts_per_org` | Service Accounts in one Confluent Cloud organization | + - name: Invitations (iam/v2) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + `Invitation` objects represent invitations to invite users to join your organizations in Confluent Cloud. + + The API allows you to list all your invitations, as well as create, read, and delete a specified invitation. + + + Related guide: [User invitations in Confluent Cloud](https://docs.confluent.io/cloud/current/access-management/identity/user-accounts.html). + + ## The Invitations Model + + + ## Quotas and Limits + This resource is subject to the [following quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): + + | Quota | Description | + | --- | --- | + | `invitations_per_org` | Invitations in a Confluent Cloud organization | + - name: IP Groups (iam/v2) + description: |- + [![Limited Availability](https://img.shields.io/badge/Lifecycle%20Stage-Limited%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) [![Request Access To IP Groups API](https://img.shields.io/badge/-Request%20Access%20To%20IP%20Groups%20API-%23bc8540)](mailto:cloud-support@confluent.io?subject=Request%20to%20join%20IP%20Filtering%20API%20Limited%20Access&body=I%E2%80%99d%20like%20to%20join%20the%20Confluent%20Cloud%20API%20Limited%20Access%20for%20IP%20Filtering.%0AMy%20Cloud%20Organization%20ID%20is%20%3Cretrieve%20from%20https%3A//confluent.cloud/settings/billing/payment%3E.%0A) + + Definitions of networks which can be named and referred by IP blocks, commonly used to attach to IP Filter rules. + + + ## The IP Groups Model + + - name: IP Filters (iam/v2) + description: |- + [![Limited Availability](https://img.shields.io/badge/Lifecycle%20Stage-Limited%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) [![Request Access To IP Filters API](https://img.shields.io/badge/-Request%20Access%20To%20IP%20Filters%20API-%23bc8540)](mailto:ccloud-api-access+iam-v2-limited-availability@confluent.io?subject=Request%20to%20join%20iam/v2%20API%20Limited%20Availability&body=I%E2%80%99d%20like%20to%20join%20the%20Confluent%20Cloud%20API%20Limited%20Availability%20for%20iam/v2%20to%20provide%20early%20feedback%21%20My%20Cloud%20Organization%20ID%20is%20%3Cretrieve%20from%20https%3A//confluent.cloud/settings/billing/payment%3E.) + + `IP Filter` objects are bindings between IP Groups and Confluent resource(s). + For example, a binding between "CorpNet" and "Management APIs" will enforce that + access must come from one of the CIDR blocks associated with CorpNet. + If there are multiple IP filters bound to a resource, a request matching any of the CIDR blocks + for any of the IP Group will allow the request. + If there are no IP Filters for a resource, then access will be granted to requests originating + from any IP Address. + + + ## The IP Filters Model + + - name: Role Bindings (iam/v2) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + A role binding grants a Principal a role on resources that match a pattern. + + The API allows you to perform create, delete, and list operations on role bindings. + + + Related guide: [Role-Based Access Control (RBAC)](https://docs.confluent.io/cloud/current/access-management/access-control/cloud-rbac.html). + + ## The Role Bindings Model + + - name: Subscriptions (notifications/v1) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + `Subscription` objects represent the intent of the customers to get notifications of particular types. + A subscription is created for a particular `NotificationType` and the user will get notifications on the + `Integrations` that are provided while creating the subscription. + + This API allows you to create, retrieve, and update subscriptions, + as well as to view the list of all your subscriptions. You can also delete subscriptions + with RECOMMENDED or OPTIONAL notification types. Subscriptions with REQUIRED notification types cannot be deleted. + + + Related guide: [Cloud Notifications](https://docs.confluent.io/cloud/current/monitoring/configure-notifications.html#notifications-for-ccloud). + + ## The Subscriptions Model + + - name: Integrations (notifications/v1) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + You can create an `Integration` to specify how we can notify you when we receive an alert/notification for + a subscription. Please note that you can only perform create, update and delete operations for integrations + of type `Webhook`, `Slack` and `MsTeams`. You cannot create, update or delete integrations of type `RoleEmail` + and `UserEmail`. + + + Related guide: [Cloud Notifications](https://docs.confluent.io/cloud/current/monitoring/configure-notifications.html#notifications-for-ccloud). + + ## The Integrations Model + + + ## Quotas and Limits + This resource is subject to the [following quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): + + | Quota | Description | + | --- | --- | + | `integrations_per_org` | Maximum number of integrations in one Confluent Cloud organization | + - name: Notification Types (notifications/v1) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + The type of notifications (and their corresponding metadata) supported by Confluent. + + + Related guide: [Cloud Notifications](https://docs.confluent.io/cloud/current/monitoring/configure-notifications.html#notifications-for-ccloud). + + ## The Notification Types Model + + - name: Clusters (cmk/v2) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + `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](https://docs.confluent.io/cloud/current/clusters/cluster-api.html). + + ## The Clusters Model + + + ## Quotas and Limits + This resource is subject to the [following quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): + + | Quota | Description | + | --- | --- | + | `kafka_clusters_per_environment` | Number of clusters in one Confluent Cloud environment | + - name: Clusters (ksqldbcm/v2) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + `Cluster` represents a ksqlDB runtime that you can issue queries to using its API endpoint. + It executes SQL statements and queries which under the hood get built into corresponding + Kafka Streams topologies. The API allows you to list, create, read, and delete your ksqlDB clusters. + + + Related guide: [ksqlDB in Confluent Cloud](https://docs.confluent.io/cloud/current/ksqldb/ksqldb-cluster-api.html). + + ## The Clusters Model + + + ## Quotas and Limits + This resource is subject to the following quotas: + + | Quota | Description | + | --- | --- | + | `ksql.limits.max_apps_per_cluster` | Clusters in one Confluent Cloud Kafka Cluster. | + - name: Connectors (connect/v1) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + API for Managed Connectors or Custom Connectors in Confluent Cloud. + + The API allows you to list, create, get, update and delete a Managed Connector or Custom Connector in Confluent Cloud. + + Connect metrics are available through the [Metrics v2 API](https://api.telemetry.confluent.cloud/docs#tag/Version-2). + + Related guide: [Confluent Cloud API and Managed Connectors](https://docs.confluent.io/cloud/current/connectors/connect-api-section.html). + - name: Lifecycle (connect/v1) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + API for managing the lifecycle for a Managed Connector or Custom Connector in Confluent Cloud. Operations currently supported are Pause and Resume. + - name: Status (connect/v1) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + API for requesting the status or the tasks for a Managed Connector or Custom Connector in Confluent Cloud. + - name: Managed Connector Plugins (connect/v1) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + API for Managed connectors in Confluent Cloud. + - name: Offsets (connect/v1) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + API for managing the offsets for a Managed Connector. + + Related guide: [Manage Connector Offsets](https://docs.confluent.io/cloud/current/connectors/offsets.html#manage-offsets-for-fully-managed-connectors-in-ccloud) + - name: Custom Connector Plugins (connect/v1) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + CustomConnectorPlugins objects represent Custom Connector Plugins on Confluent Cloud. + The API allows you to list, create, read, update, and delete your Custom Connector Plugins. + Related guide: + [Custom Connector Plugin API](https://docs.confluent.io/cloud/current/connectors/connect-api-section.html). + + + ## The Custom Connector Plugins Model + + - name: Presigned Urls (connect/v1) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + Request a presigned upload URL for new Custom Connector Plugin. Note that + the URL policy expires in one hour. If the policy expires, you can request + a new presigned upload URL. + + Related guide: + [Custom Connector Plugin API](https://docs.confluent.io/cloud/current/connectors/connect-api-section.html). + + + ## The Presigned Urls Model + + - name: Cluster (v3) + description: '[![Generally Available](https://img.shields.io/badge/Lifecycle%20Stage-Generally%20Available-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy)' + - name: Configs (v3) + description: '[![Generally Available](https://img.shields.io/badge/Lifecycle%20Stage-Generally%20Available-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy)' + - name: ACL (v3) + description: '[![Generally Available](https://img.shields.io/badge/Lifecycle%20Stage-Generally%20Available-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy)' + - name: Consumer Group (v3) + description: '[![Generally Available](https://img.shields.io/badge/Lifecycle%20Stage-Generally%20Available-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy)' + - name: Partition (v3) + description: '[![Generally Available](https://img.shields.io/badge/Lifecycle%20Stage-Generally%20Available-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy)' + - name: Topic (v3) + description: '[![Generally Available](https://img.shields.io/badge/Lifecycle%20Stage-Generally%20Available-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy)' + - name: Records (v3) + description: '[![Generally Available](https://img.shields.io/badge/Lifecycle%20Stage-Generally%20Available-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy)' + - name: Cluster Linking (v3) + description: '[![Generally Available](https://img.shields.io/badge/Lifecycle%20Stage-Generally%20Available-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy)' + - name: Applied Quotas (service-quota/v1) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + A `quota` object represents a quota configuration for a specific Confluent Cloud resource. + Use this API to retrieve an individual quota or list of quotas for a given scope. + + + Related guide: [Service Quotas for Confluent Cloud](https://docs.confluent.io/cloud/current/quotas/index.html). + + ## The Applied Quotas Model + + - name: Scopes (service-quota/v1) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + Gets a list of all available scopes for applied quotas. + + + Related guide: [Quota Scopes](https://docs.confluent.io/cloud/current/quotas/quotas.html#query-for-scopes). + + ## The Scopes Model + + - name: Entitlements (partner/v2) + description: | + [![Early Access](https://img.shields.io/badge/Lifecycle%20Stage-Early%20Access-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) [![Request Access To Partner v2](https://img.shields.io/badge/-Request%20Access%20To%20Partner%20v2-%23bc8540)](mailto:ccloud-api-access+partner-v2-early-access@confluent.io?subject=Request%20to%20join%20partner/v2%20API%20Early%20Access&body=I%E2%80%99d%20like%20to%20join%20the%20Confluent%20Cloud%20API%20Early%20Access%20for%20partner/v2%20to%20provide%20early%20feedback%21%20My%20Cloud%20Organization%20ID%20is%20%3Cretrieve%20from%20https%3A//confluent.cloud/settings/billing/payment%3E.) + + `Entitlement` objects represent metadata about a marketplace entitlement. + + An entitlement includes metadata about a marketplace purchase + (start date, end date, billing information, partner IDs, etc). + The API allows partners to create, read, and list entitlements. (Unless you + need entitlement creation and customer registration to be separate, + we recommend using the Signup API to create an organization and entitlement + at the same time) + + The API only allows authorized partners to interact with the Entitlements API. + - name: Regions (srcm/v2) + description: |- + [![Deprecated](https://img.shields.io/badge/Lifecycle%20Stage-Deprecated-%23ff005c)](#section/Versioning/API-Lifecycle-Policy) + + `Region` objects represent cloud provider regions available when placing Schema Registry clusters. + The API allows you to list Schema Registry regions. + + + Related guides: + * [Confluent Cloud providers and region support](https://docs.confluent.io/cloud/current/stream-governance/packages.html#cloud-providers-and-region-support). + * [srcm/v3 Migration Guide](https://docs.confluent.io/cloud/current/stream-governance/packages.html#deprecation-of-srcm-v2-clusters-and-regions-apis-and-upgrade-guide). + + + ## The Regions Model + + - name: Clusters (srcm/v2) + description: |- + [![Deprecated](https://img.shields.io/badge/Lifecycle%20Stage-Deprecated-%23ff005c)](#section/Versioning/API-Lifecycle-Policy) + + `Clusters` objects represent Schema Registry Clusters on Confluent Cloud. + + The API allows you to list, create, read, and delete your Schema Registry clusters. + + + Related guides: + * [Confluent Cloud Schema Registry Cluster APIs](https://docs.confluent.io/cloud/current/stream-governance/clusters-regions-api.html#schema-registry-cluster-management). + * [srcm/v3 Migration Guide](https://docs.confluent.io/cloud/current/stream-governance/packages.html#deprecation-of-srcm-v2-clusters-and-regions-apis-and-upgrade-guide). + + + ## The Clusters Model + + - name: Clusters (srcm/v3) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + `Clusters` objects represent Schema Registry Clusters on Confluent Cloud. + + The API allows you to list and read your Schema Registry clusters. + + + Related guide: [Confluent Cloud Schema Registry Cluster APIs](https://docs.confluent.io/cloud/current/stream-governance/clusters-regions-api.html#schema-registry-cluster-management). + + ## The Clusters Model + + - name: Compatibility (v1) + description: |- + [![Generally Available](https://img.shields.io/badge/Lifecycle%20Stage-Generally%20Available-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + The API allows you to test schema compatibility. + + Related guide: [Manage Schemas in Confluent Cloud](https://docs.confluent.io/cloud/current/sr/schemas-manage.html#manage-schemas-in-ccloud). + - name: Config (v1) + description: |- + [![Generally Available](https://img.shields.io/badge/Lifecycle%20Stage-Generally%20Available-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + The API allows you to manage and query schema compatibility settings and cluster configurations. + + Related guide: [Manage Schemas in Confluent Cloud](https://docs.confluent.io/cloud/current/sr/schemas-manage.html#manage-schemas-in-ccloud). + - name: Contexts (v1) + description: |- + [![Generally Available](https://img.shields.io/badge/Lifecycle%20Stage-Generally%20Available-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + The API allows you to retrieve information about schema contexts. + + Related guide: [Manage Schemas in Confluent Cloud](https://docs.confluent.io/cloud/current/sr/schemas-manage.html#manage-schemas-in-ccloud). + - name: Exporters (v1) + description: |- + [![Generally Available](https://img.shields.io/badge/Lifecycle%20Stage-Generally%20Available-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + The API allows you to create, retrieve, update, and delete exporters. + + Related guide: [Manage Schemas in Confluent Cloud](https://docs.confluent.io/cloud/current/sr/schemas-manage.html#manage-schemas-in-ccloud). + - name: Modes (v1) + description: |- + [![Generally Available](https://img.shields.io/badge/Lifecycle%20Stage-Generally%20Available-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + The API allows you to create, retrieve, update, and delete schema subjects modes of operation. + + Related guide: [Manage Schemas in Confluent Cloud](https://docs.confluent.io/cloud/current/sr/schemas-manage.html#manage-schemas-in-ccloud). + - name: Schemas (v1) + description: |- + [![Generally Available](https://img.shields.io/badge/Lifecycle%20Stage-Generally%20Available-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + The API allows you to create, retrieve, update, and delete schemas. + + Related guide: [Manage Schemas in Confluent Cloud](https://docs.confluent.io/cloud/current/sr/schemas-manage.html#manage-schemas-in-ccloud). + - name: Subjects (v1) + description: |- + [![Generally Available](https://img.shields.io/badge/Lifecycle%20Stage-Generally%20Available-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + The API allows you to create, retrieve, update, and delete schema subjects and versions. + + Related guide: [Manage Schemas in Confluent Cloud](https://docs.confluent.io/cloud/current/sr/schemas-manage.html#manage-schemas-in-ccloud). + - name: Key Encryption Keys (v1) + description: |- + [![Generally Available](https://img.shields.io/badge/Lifecycle%20Stage-Generally%20Available-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + The API allows you to create, retrieve, update, and delete key encryption keys. + + Related guide: [Manage Schemas in Confluent Cloud](https://docs.confluent.io/cloud/current/sr/schemas-manage.html#manage-schemas-in-ccloud). + - name: Data Encryption Keys (v1) + description: |- + [![Generally Available](https://img.shields.io/badge/Lifecycle%20Stage-Generally%20Available-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + The API allows you to create, retrieve, update, and delete data encryption keys. + + Related guide: [Manage Schemas in Confluent Cloud](https://docs.confluent.io/cloud/current/sr/schemas-manage.html#manage-schemas-in-ccloud). + - name: Entity (v1) + description: |- + [![Generally Available](https://img.shields.io/badge/Lifecycle%20Stage-Generally%20Available-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + The API allows you to create, retrieve, update, and delete catalog entities. + + Related guide: [Catalog API Documentation](https://docs.confluent.io/cloud/current/stream-governance/stream-catalog.html#catalog-api-documentation). + - name: Search (v1) + description: |- + [![Generally Available](https://img.shields.io/badge/Lifecycle%20Stage-Generally%20Available-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + The API allows you to search for entities. + + Related guide: [Catalog API Documentation](https://docs.confluent.io/cloud/current/stream-governance/stream-catalog.html#catalog-api-documentation). + - name: Types (v1) + description: |- + [![Generally Available](https://img.shields.io/badge/Lifecycle%20Stage-Generally%20Available-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + The API allows you to create, retrieve, update, and delete catalog types such as tag definitions. + + Related guide: [Catalog API Documentation](https://docs.confluent.io/cloud/current/stream-governance/stream-catalog.html#catalog-api-documentation). + - name: Provider Shared Resources (cdx/v1) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + `ProviderSharedResource` object contains details of the data stream + (topic, schema registry subjects, sharing metadata) that you have shared through Stream Sharing. + + + ## The Provider Shared Resources Model + + - name: Provider Shares (cdx/v1) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + `ProviderShare` object respresents the share that you have created through Stream Sharing. + + + Related guide: [Provider Stream Shares in Confluent Cloud](https://docs.confluent.io/cloud/current/stream-sharing/produce-shared-data.html#stream-shares). + + ## The Provider Shares Model + + - name: Consumer Shared Resources (cdx/v1) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + `ConsumerSharedResource` object contains details of the data stream + (topic, schema registry subjects, sharing metadata) that you received through Stream Sharing. + + + ## The Consumer Shared Resources Model + + - name: Consumer Shares (cdx/v1) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + `ConsumerShare` object respresents the share that you received through Stream Sharing. + + + Related guide: [Consumer Stream Shares in Confluent Cloud](https://docs.confluent.io/cloud/current/stream-sharing/consume-shared-data.html). + + ## The Consumer Shares Model + + - name: Shared Tokens (cdx/v1) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + Encrypted Token shared with consumer + + + ## The Shared Tokens Model + + - name: Opt Ins (cdx/v1) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + Stream sharing opt in options + + ## The Opt Ins Model + + - name: Organizations (partner/v2) + description: | + [![Early Access](https://img.shields.io/badge/Lifecycle%20Stage-Early%20Access-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) [![Request Access To Partner v2](https://img.shields.io/badge/-Request%20Access%20To%20Partner%20v2-%23bc8540)](mailto:ccloud-api-access+partner-v2-early-access@confluent.io?subject=Request%20to%20join%20partner/v2%20API%20Early%20Access&body=I%E2%80%99d%20like%20to%20join%20the%20Confluent%20Cloud%20API%20Early%20Access%20for%20partner/v2%20to%20provide%20early%20feedback%21%20My%20Cloud%20Organization%20ID%20is%20%3Cretrieve%20from%20https%3A//confluent.cloud/settings/billing/payment%3E.) + + `Organizations` objects represent an entire Confluent Cloud organization. + Partners are allowed to get an organization they have signed up or + list all organizations they have signed up. + - name: Signup (partner/v2) + description: | + [![Early Access](https://img.shields.io/badge/Lifecycle%20Stage-Early%20Access-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) [![Request Access To Partner v2](https://img.shields.io/badge/-Request%20Access%20To%20Partner%20v2-%23bc8540)](mailto:ccloud-api-access+partner-v2-early-access@confluent.io?subject=Request%20to%20join%20partner/v2%20API%20Early%20Access&body=I%E2%80%99d%20like%20to%20join%20the%20Confluent%20Cloud%20API%20Early%20Access%20for%20partner/v2%20to%20provide%20early%20feedback%21%20My%20Cloud%20Organization%20ID%20is%20%3Cretrieve%20from%20https%3A//confluent.cloud/settings/billing/payment%3E.) + + `Signup` APIs can only be performed by partners. + - name: Networks (networking/v1) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + `Network` represents a network (VPC) in Confluent Cloud. All Networks exist within Confluent-managed cloud + provider accounts. Dedicated networks support more networking options but can only contain Dedicated clusters. + Shared networks can contain any cluster type. + + The API allows you to list, create, read, update, and delete your networks. + + + Related guide: [APIs to manage networks in Confluent Cloud](https://docs.confluent.io/cloud/current/networking/overview.html). + + ## The Networks Model + + + ## Quotas and Limits + This resource is subject to the [following quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): + + | Quota | Description | + | --- | --- | + | `dedicated_networks_per_environment` | Number of dedicated networks per Confluent Cloud environment | + - name: Peerings (networking/v1) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + Add or remove VPC/VNet peering connections between your VPC/VNet and Confluent Cloud. + + Related guides: + * [Use VPC peering connections with Confluent Cloud on AWS](https://docs.confluent.io/cloud/current/networking/peering/aws-peering.html). + * [Use VNet peering connections with Confluent Cloud on Azure](https://docs.confluent.io/cloud/current/networking/peering/azure-peering.html). + * [Use VPC peering connections with Confluent Cloud on Google Cloud](https://docs.confluent.io/cloud/current/networking/peering/gcp-peering.html). + + + ## The Peerings Model + + + ## Quotas and Limits + This resource is subject to the [following quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): + + | Quota | Description | + | --- | --- | + | `peerings_per_network` | Number of peerings per network | + - name: Transit Gateway Attachments (networking/v1) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + AWS Transit Gateway Attachments + + Related guide: [APIs to manage AWS Transit Gateway Attachments](https://docs.confluent.io/cloud/current/networking/aws-transit-gateway.html). + + ## The Transit Gateway Attachments Model + + + ## Quotas and Limits + This resource is subject to the [following quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): + + | Quota | Description | + | --- | --- | + | `tgw_attachments_per_network` | Number of TGW attachments per network | + - name: Private Link Accesses (networking/v1) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + Add or remove access to PrivateLink endpoints by AWS account, Azure subscription and GCP project ID. + + Related guides: + * [Use Google Cloud Private Service Connect with Confluent Cloud](https://docs.confluent.io/cloud/current/networking/private-links/gcp-private-service-connect.html). + * [Use Azure Private Link with Confluent Cloud](https://docs.confluent.io/cloud/current/networking/private-links/azure-privatelink.html). + * [Use AWS PrivateLink with Confluent Cloud](https://docs.confluent.io/cloud/current/networking/private-links/aws-privatelink.html). + + + ## The Private Link Accesses Model + + + ## Quotas and Limits + This resource is subject to the [following quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): + + | Quota | Description | + | --- | --- | + | `private_link_accounts_per_network` | Number of AWS accounts per network | + | `private_link_subscriptions_per_network` | Number of Azure subscriptions per network | + | `private_service_connect_projects_per_network` | Number of GCP projects per network | + - name: Network Link Services (networking/v1) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + Network Link Service is associated with a Private Link Confluent Cloud Network. + It enables connectivity from other Private Link Confluent Cloud Networks based on + the configured accept policies. + + + Related guide: [Network Linking Overview](https://docs.confluent.io/cloud/current/networking/network-linking.html). + + ## The Network Link Services Model + + + ## Quotas and Limits + This resource is subject to the [following quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): + + | Quota | Description | + | --- | --- | + | `network_link_service_per_network` | Number of network link services per network | + - name: Network Link Endpoints (networking/v1) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + A Network Link Enpoint is associated with a Private Link Confluent Cloud Network at the origin and a + Network Link Service (associated with another Private Link Confluent Cloud Network) at the target. + It enables connectivity between the origin network and the target network. + It can only be associated with a Private Link network. + + + Related guide: [Network Linking Overview](https://docs.confluent.io/cloud/current/networking/network-linking.html). + + ## The Network Link Endpoints Model + + + ## Quotas and Limits + This resource is subject to the [following quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): + + | Quota | Description | + | --- | --- | + | `network_link_endpoints_per_network` | Number of network link endpoints per network | + - name: Network Link Service Associations (networking/v1) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + List of incoming Network Link Enpoints associated with the Network Link Service. + + + Related guide: [Network Linking Overview](https://docs.confluent.io/cloud/current/networking/network-linking.html). + + ## The Network Link Service Associations Model + + - name: Gateways (networking/v1) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + A gateway is a resource that defines network access to Confluent cloud resources. + + + ## The Gateways Model + + - name: IP Addresses (networking/v1) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + IP Addresses + + Related guide: [Use Public Egress IP addresses on Confluent Cloud](https://docs.confluent.io/cloud/current/networking/static-egress-ip-addresses.html) + + ## The IP Addresses Model + + - name: Private Link Attachments (networking/v1) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + PrivateLink attachment objects represent reservations to establish PrivateLink connections + to a cloud region in order to access resources that belong to a Confluent Cloud Environment. + The API allows you to list, create, read update and delete your PrivateLink attachments. + + + ## The Private Link Attachments Model + + + ## Quotas and Limits + This resource is subject to the [following quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): + + | Quota | Description | + | --- | --- | + | `private_link_attachments_per_environment` | Number of PrivateLink Attachments per environment | + - name: Private Link Attachment Connections (networking/v1) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + PrivateLink attachment connection objects represent connections established to a cloud region + in order to access resources that belong to a Confluent Cloud Environment. + The API allows you to list, create, read update and delete your PrivateLink attachment connections. + + + ## The Private Link Attachment Connections Model + + - name: Identity Providers (iam/v2) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + `IdentityProvider` objects represent external OAuth-OIDC providers in Confluent Cloud. + + The API allows you to list, create, read, update, and delete your Identity Provider. + + + Related guide: [OAuth for Confluent Cloud](https://docs.confluent.io/cloud/current/access-management/authenticate/oauth/overview.html). + + ## The Identity Providers Model + + + ## Quotas and Limits + This resource is subject to the [following quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): + + | Quota | Description | + | --- | --- | + | `identity_providers_per_org` | Number of OAuth identity providers per organization | + | `public_keys_per_provider` | Number of public keys saved per identity provider | + - name: Jwks (iam/v2) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + `JWKS` objects represent public key sets for a specific OAuth/OpenID Connect provider within + Confluent Cloud. + + The API allows you to refresh JWKS public key data. + + + Related guide: [OAuth for Confluent Cloud](https://docs.confluent.io/cloud/current/access-management/authenticate/oauth/overview.html). + + ## The Jwks Model + + - name: Identity Pools (iam/v2) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + `IdentityPool` objects represent groups of identities tied to a given a `IdentityProvider` + that authorizes them to Confluent Cloud resources. + + It provides a mapping functionality of your `Identity Provider` user to a Confluent identity pool that + is then used to provide access to Confluent Resources. + + + Related guide: [Use identity pools with your OAuth provider](https://docs.confluent.io/cloud/current/access-management/authenticate/oauth/identity-pools.html). + + ## The Identity Pools Model + + + ## Quotas and Limits + This resource is subject to the [following quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): + + | Quota | Description | + | --- | --- | + | `identity_pools_per_provider` | Number of Identity Pools per Identity Provider | + - name: OAuth Tokens (sts/v1) + description: | + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + OAuth Token is a [JSON Web Token (JWT)](https://www.rfc-editor.org/rfc/rfc7519) that enables the use of + external identities to access Confluent Cloud APIs + - name: Client Quotas (kafka-quotas/v1) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + `ClientQuota` objects represent Client Quotas you can set at the service account level. + + The API allows you to list, create, read, update, and delete your client quotas. + + + Related guide: [Client Quotas in Confluent Cloud](https://docs.confluent.io/cloud/current/clusters/client-quotas.html). + + ## The Client Quotas Model + + - name: Pipelines (sd/v1) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + `Pipeline` objects represent information about a user-defined pipeline of Confluent Cloud components. + The pipeline's content is available separately. + + The API allows you to create, retrieve, update, and delete your pipelines, + as well as list all of your pipelines for the particular environment and Kafka cluster. + + + Related guide: [Pipelines in Confluent Cloud](https://docs.confluent.io/cloud/current/stream-designer/). + + ## The Pipelines Model + + + ## Quotas and Limits + This resource is subject to the [following quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): + + | Quota | Description | + | --- | --- | + | `pipelines_per_org` | Pipelines in one Confluent Cloud organization | + | `pipelines_per_cluster` | Pipelines in one Confluent Cloud Kafka cluster | + - name: Keys (byok/v1) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + `Key` objects represent customer managed keys on dedicated Confluent Cloud clusters. + + Keys are used to protect data at rest stored in your dedicated Confluent Cloud clusters on AWS, Azure, and GCP. + This API allows you to upload and retrieve self-managed keys on Confluent Cloud. + + + Related guide: [Confluent Cloud Bring Your Own Key (BYOK) Management API](https://docs.confluent.io/cloud/current/clusters/byok/index.html). + + ## The Keys Model + + + ## Quotas and Limits + This resource is subject to the [following quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): + + | Quota | Description | + | --- | --- | + | `byok.max_keys.per_org` | BYOK keys in one Confluent Cloud organisation. | + - name: Costs (billing/v1) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + `Cost` objects represent the aggregated billing costs for an organization + + + Related guide: [Retrieve costs for a range of dates](https://docs.confluent.io/cloud/current/billing/overview.html#retrieve-costs-for-a-range-of-dates). + + ## The Costs Model + + - name: Group Mappings (iam/v2/sso) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + `GroupMapping` objects establish relationships between user groups in your SSO + identity provider and specific RBAC roles in Confluent Cloud. + + Group mappings enable automated and secure access control to Confluent Cloud resources, + reducing administrative workload by streamlining user provisioning and authorization. + + + Related guide: [Use group mappings with your SSO identity provider](https://docs.confluent.io/cloud/current/access-management/authenticate/sso/group-mapping/overview.html). + + ## The Group Mappings Model + + + ## Quotas and Limits + This resource is subject to the [following quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): + + | Quota | Description | + | --- | --- | + | `group_mappings_per_org` | Number of group mappings per organization | + - name: Compute Pools (fcpm/v2) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + A Compute Pool represents a set of compute resources that is used to run your Queries. + The resources (CPUs, memory,…) provided by a Compute Pool are shared between all Queries that use it. + + + ## The Compute Pools Model + + - name: Regions (fcpm/v2) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + `Region` objects represent cloud provider regions available when placing Flink compute pools. + The API allows you to list Flink regions. + + + ## The Regions Model + + - name: Statements (sql/v1) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + `Statement` represents a core resource used to model SQL statements for execution. + A statement generalizes DDL, DML, DQL, etc., but doesn’t attempt to handle session + management or any higher-level functionality. + The API allows you to list, create, read, and delete your statements. + ## The Statements Model + + - name: Statement Results (sql/v1) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + `StatementResult` represents a result of a `Statement` resource. + The API allows you to read your statement's results. + ## The Statement Results Model + + - name: Statement Exceptions (sql/v1) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + `StatementException` represents an exception of a `Statement` resource. + The API allows you to read your statement's exceptions. + ## The Statement Exceptions Model + + - name: Connections (sql/v1) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + `Connection` represents a core resource used to model SQL connections for execution. + A connection generalizes DDL, DML, DQL, etc., but doesn’t attempt to handle session + management or any higher-level functionality. + The API allows you to list, create, read, and delete your connections. + ## The Connections Model + + - name: DNS Forwarders (networking/v1) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + Add, remove, and update DNS forwarder for your gateway. + + Related guides: + * [Use VPC peering connections with Confluent Cloud on AWS](https://docs.confluent.io/cloud/current/networking/peering/aws-peering.html). + * [Use VNet peering connections with Confluent Cloud on Azure](https://docs.confluent.io/cloud/current/networking/peering/azure-peering.html). + + + ## The DNS Forwarders Model + + - name: Access Points (networking/v1) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + AccessPoint objects represent network connections in and out of Gateways. + This API allows you to list, create, read, update, and delete your access points. + + + ## The Access Points Model + + - name: DNS Records (networking/v1) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + DNS record objects are associated with Confluent Cloud networking resources. This API allows you to list, create, read, update, and delete your DNS records. + + ## The DNS Records Model + + - name: Certificate Authorities (iam/v2) + description: |- + [![Limited Availability](https://img.shields.io/badge/Lifecycle%20Stage-Limited%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + `CertificateAuthority` objects represent signing certificate authorities in Confluent Cloud. + + The API allows you to list, create, read, update, and delete your Certificate Authority. + + + Related guide: [Manage certificate authorities used for client authentication with X.509 certificates.](https://docs.confluent.io/cloud/current/access-management/authenticate/mtls/overview.html). + + ## The Certificate Authorities Model + + + ## Quotas and Limits + This resource is subject to the [following quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): + + | Quota | Description | + | --- | --- | + | `certificate_authorities_per_org` | Number of certificate authorities per organization | + - name: Certificate Identity Pools (iam/v2) + description: |- + [![Limited Availability](https://img.shields.io/badge/Lifecycle%20Stage-Limited%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + `Identitypool` objects represent workload identities in Confluent Cloud. + + The API allows you to list, create, read, update, and delete your identity pools associated + with Certificate Authorities + + + Related guide: [Manage Certificate Identity Pools for Granular Client Access Management](https://docs.confluent.io/cloud/current/access-management/authenticate/mtls/configure.html#step-2-create-certificate-identity-pools-for-granular-access-control). + + ## The Certificate Identity Pools Model + + + ## Quotas and Limits + This resource is subject to the [following quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): + + | Quota | Description | + | --- | --- | + | `identity_pools_per_certificate_authority` | Number of Identity Pools per Certificate Authority | + - name: Integrations (pim/v1) + description: |- + [![Early Access](https://img.shields.io/badge/Lifecycle%20Stage-Early%20Access-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) [![Request Access To Provider Integration](https://img.shields.io/badge/-Request%20Access%20To%20Provider%20Integration-%23bc8540)](mailto:ccloud-api-access+pim-v1-early-access@confluent.io?subject=Request%20to%20join%20pim/v1%20API%20Early%20Access&body=I%E2%80%99d%20like%20to%20join%20the%20Confluent%20Cloud%20API%20Early%20Access%20for%20pim/v1%20to%20provide%20early%20feedback%21%20My%20Cloud%20Organization%20ID%20is%20%3Cretrieve%20from%20https%3A//confluent.cloud/settings/billing/payment%3E.) + + `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, and delete individual integrations, and also obtain a + list of all your provider integrations. + + + Related guide: [Provider Integration in Confluent Cloud](https://docs.confluent.io/home/overview.html). + + ## The Integrations Model + + - name: Flink Artifacts (artifact/v1) + description: |- + [![Early Access](https://img.shields.io/badge/Lifecycle%20Stage-Early%20Access-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) [![Request Access To Flink Artifact API EA](https://img.shields.io/badge/-Request%20Access%20To%20Flink%20Artifact%20API%20EA-%23bc8540)](mailto:ccloud-api-access+artifact-v1-early-access@confluent.io?subject=Request%20to%20join%20artifact/v1%20API%20Early%20Access&body=I%E2%80%99d%20like%20to%20join%20the%20Confluent%20Cloud%20API%20Early%20Access%20for%20artifact/v1%20to%20provide%20early%20feedback%21%20My%20Cloud%20Organization%20ID%20is%20%3Cretrieve%20from%20https%3A//confluent.cloud/settings/billing/payment%3E.) + + FlinkArtifact objects represent Flink Artifacts on Confluent Cloud. + + + ## The Flink Artifacts Model + + - name: Presigned Urls (artifact/v1) + description: |- + [![Early Access](https://img.shields.io/badge/Lifecycle%20Stage-Early%20Access-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) [![Request Access To Flink Artifact API EA](https://img.shields.io/badge/-Request%20Access%20To%20Flink%20Artifact%20API%20EA-%23bc8540)](mailto:ccloud-api-access+artifact-v1-early-access@confluent.io?subject=Request%20to%20join%20artifact/v1%20API%20Early%20Access&body=I%E2%80%99d%20like%20to%20join%20the%20Confluent%20Cloud%20API%20Early%20Access%20for%20artifact/v1%20to%20provide%20early%20feedback%21%20My%20Cloud%20Organization%20ID%20is%20%3Cretrieve%20from%20https%3A//confluent.cloud/settings/billing/payment%3E.) + + Request a presigned upload URL for new Flink Artifact. Note that + the URL policy expires in one hour. If the policy expires, you can request + a new presigned upload URL. + + + ## The Presigned Urls Model + + - name: Flink Artifact Versions (artifact/v1) + description: |- + [![Early Access](https://img.shields.io/badge/Lifecycle%20Stage-Early%20Access-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) [![Request Access To Flink Artifact API EA](https://img.shields.io/badge/-Request%20Access%20To%20Flink%20Artifact%20API%20EA-%23bc8540)](mailto:ccloud-api-access+artifact-v1-early-access@confluent.io?subject=Request%20to%20join%20artifact/v1%20API%20Early%20Access&body=I%E2%80%99d%20like%20to%20join%20the%20Confluent%20Cloud%20API%20Early%20Access%20for%20artifact/v1%20to%20provide%20early%20feedback%21%20My%20Cloud%20Organization%20ID%20is%20%3Cretrieve%20from%20https%3A//confluent.cloud/settings/billing/payment%3E.) + + FlinkArtifactVersion objects represent Flink Artifact Versions on Confluent Cloud. + + + ## The Flink Artifact Versions Model + +components: + schemas: + SearchFilter: + description: Filter a collection by a string search + type: string + pim.v1.IntegrationList: + type: object + description: |- + `Provider Integration` objects represent access to public cloud service provider (CSP) resources + that may be accessed by Confluent resources (for example, connectors). + + The API allows you to create, retrieve, and delete individual integrations, and also obtain a + list of all your provider integrations. + + + Related guide: [Provider Integration in Confluent Cloud](https://docs.confluent.io/home/overview.html). + + ## The Integrations Model + + required: + - api_version + - kind + - metadata + - data + properties: + api_version: + type: string + enum: + - pim/v1 + description: APIVersion defines the schema version of this representation of a resource. + readOnly: true + kind: + type: string + description: Kind defines the object this REST resource represents. + readOnly: true + enum: + - IntegrationList + metadata: + allOf: + - $ref: '#/components/schemas/ListMeta' + - properties: + first: + example: 'https://api.confluent.cloud/pim/v1/integrations' + last: + example: 'https://api.confluent.cloud/pim/v1/integrations?page_token=bcAOehAY8F16YD84Z1wT' + prev: + example: 'https://api.confluent.cloud/pim/v1/integrations?page_token=YIXRY97wWYmwzrax4dld' + next: + example: 'https://api.confluent.cloud/pim/v1/integrations?page_token=UvmDWOB1iwfAIBPj6EYb' + data: + type: array + description: A data property that contains an array of resource items. Each entry in the array is a separate resource. + items: + allOf: + - $ref: '#/components/schemas/pim.v1.Integration' + - type: object + required: + - id + - config + - environment + uniqueItems: true + ListMeta: + type: object + description: ListMeta describes metadata that resource collections may have + properties: + first: + description: 'A link to the first page of results. If a response does not contain a first link, then direct navigation to the first page is not supported.' + type: string + 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 + pim.v1.Integration: + type: object + description: |- + `Provider Integration` objects represent access to public cloud service provider (CSP) resources + that may be accessed by Confluent resources (for example, connectors). + + The API allows you to create, retrieve, and delete individual integrations, and also obtain a + list of all your provider integrations. + + + Related guide: [Provider Integration in Confluent Cloud](https://docs.confluent.io/home/overview.html). + + ## The Integrations Model + + properties: + api_version: + type: string + enum: + - pim/v1 + 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: s3_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: AWS + default: AWS + x-extensible-enum: + - AWS + config: + type: object + description: Cloud provider specific configs for provider integration + discriminator: + propertyName: kind + mapping: + AwsIntegrationConfig: '#/components/schemas/pim.v1.AwsIntegrationConfig' + oneOf: + - $ref: '#/components/schemas/pim.v1.AwsIntegrationConfig' + x-immutable: true + 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 + environment: + allOf: + - $ref: '#/components/schemas/GlobalObjectReference' + description: The environment to which this belongs. + x-immutable: true' + AclOperation: + type: string + x-extensible-enum: + - UNKNOWN + - ANY + - ALL + - READ + - WRITE + - CREATE + - DELETE + - ALTER + - DESCRIBE + - CLUSTER_ACTION + - DESCRIBE_CONFIGS + - ALTER_CONFIGS + - IDEMPOTENT_WRITE + AclPatternType: + type: string + x-extensible-enum: + - UNKNOWN + - ANY + - MATCH + - LITERAL + - PREFIXED + AclPermission: + type: string + x-extensible-enum: + - UNKNOWN + - ANY + - DENY + - ALLOW + AclResourceType: + type: string + enum: + - UNKNOWN + - ANY + - TOPIC + - GROUP + - CLUSTER + - TRANSACTIONAL_ID + - DELEGATION_TOKEN + BrokerTaskType: + type: string + enum: + - add-broker + - remove-broker + MirrorTopicStatus: + enum: + - ACTIVE + - FAILED + - LINK_FAILED + - LINK_PAUSED + - PAUSED + - PENDING_STOPPED + - SOURCE_UNAVAILABLE + - STOPPED + - PENDING_MIRROR + - PENDING_SYNCHRONIZE + - PENDING_SETUP_FOR_RESTORE + - PENDING_RESTORE + type: string + Failure: + type: object + description: Provides information about problems encountered while performing an operation. + required: + - errors + properties: + errors: + description: List of errors which caused this operation to fail + type: array + items: + $ref: '#/components/schemas/Error' + uniqueItems: true + AlterConfigBatchRequestData: + type: object + required: + - data + properties: + data: + type: array + items: + type: object + required: + - name + properties: + name: + type: string + value: + type: string + nullable: true + operation: + type: string + x-extensible-enum: + - SET + - DELETE + nullable: true + validate_only: + type: boolean + CreateAclRequestData: + type: object + required: + - resource_type + - resource_name + - pattern_type + - principal + - host + - operation + - permission + properties: + resource_type: + $ref: '#/components/schemas/AclResourceType' + resource_name: + type: string + pattern_type: + $ref: '#/components/schemas/AclPatternType' + principal: + type: string + host: + type: string + operation: + $ref: '#/components/schemas/AclOperation' + permission: + $ref: '#/components/schemas/AclPermission' + CreateAclRequestDataList: + allOf: + - type: object + required: + - data + properties: + data: + type: array + items: + $ref: '#/components/schemas/CreateAclRequestData' + CreateTopicRequestData: + type: object + required: + - topic_name + properties: + topic_name: + type: string + partitions_count: + type: integer + replication_factor: + type: integer + configs: + type: array + items: + type: object + required: + - name + properties: + name: + type: string + value: + type: string + nullable: true + validate_only: + type: boolean + ProduceRequest: + type: object + properties: + partition_id: + type: integer + nullable: true + format: int32 + headers: + type: array + items: + $ref: '#/components/schemas/ProduceRequestHeader' + key: + $ref: '#/components/schemas/ProduceRequestData' + value: + $ref: '#/components/schemas/ProduceRequestData' + timestamp: + type: string + format: date-time + nullable: true + UpdateConfigRequestData: + type: object + properties: + value: + type: string + nullable: true + CreateLinkRequestData: + properties: + source_cluster_id: + type: string + destination_cluster_id: + type: string + remote_cluster_id: + description: The expected remote cluster ID. + type: string + cluster_link_id: + description: 'The expected cluster link ID. Can be provided when creating the second side of a bidirectional link for validating the link ID is as expected. If it''s not provided, it''s inferred from the remote cluster.' + type: string + configs: + items: + $ref: '#/components/schemas/ConfigData' + type: array + type: object + UpdateLinkConfigRequestData: + properties: + value: + type: string + required: + - value + type: object + CreateMirrorTopicRequestData: + properties: + source_topic_name: + type: string + mirror_topic_name: + type: string + replication_factor: + type: integer + configs: + type: array + items: + $ref: '#/components/schemas/ConfigData' + required: + - source_topic_name + type: object + AlterMirrorsRequestData: + properties: + mirror_topic_names: + description: The mirror topics specified as a list of topic names. + type: array + items: + type: string + mirror_topic_name_pattern: + description: The mirror topics specified as a pattern. + type: string + type: object + RemoveBrokersRequestData: + properties: + broker_ids: + type: array + items: + type: integer + required: + - broker_ids + type: object + BrokerReplicaExclusionBatchRequestData: + type: object + required: + - data + properties: + data: + type: array + items: + $ref: '#/components/schemas/BrokerReplicaExclusionRequestData' + pim.v1.AwsIntegrationConfig: + type: object + description: | + config schema for AWS cloud service provider. + properties: + iam_role_arn: + type: string + description: | + Amazon Resource Name (ARN) that identifies the Amazon Web Services (AWS) + Identity and Access Management (IAM) role that Confluent Cloud uses to assume + customer IAM role when it accesses resources in your AWS account. + example: 'arn:aws:iam::000000000000:role/my-test-aws-role' + maxLength: 2048 + minLength: 20 + readOnly: true + external_id: + type: string + format: uuid + description: | + Unique external ID that Confluent Cloud uses when it assumes the IAM role + in your Amazon Web Services (AWS) account. + readOnly: true + customer_iam_role_arn: + type: string + description: | + Amazon Resource Name (ARN) that identifies the Amazon Web Services (AWS) + Identity and Access Management (IAM) role that Confluent Cloud assumes when + it accesses resources in your AWS account. + example: 'arn:aws:iam::000000000000:role/my-test-aws-role' + maxLength: 2048 + minLength: 20 + kind: + type: string + description: Cloud provider specific config to which access is provided through provider integration. + example: AwsIntegrationConfig + x-extensible-enum: + - AwsIntegrationConfig + required: + - kind + GlobalObjectReference: + type: object + description: ObjectReference provides information for you to locate the referred object + required: + - id + - related + - resource_name + properties: + id: + type: string + description: ID of the referred resource + minLength: 1 + maxLength: 255 + related: + type: string + format: uri + description: API URL for accessing or modifying the referred object + minLength: 1 + readOnly: true + resource_name: + type: string + format: uri + description: CRN reference to the referred resource + minLength: 1 + readOnly: true + Error: + type: object + description: Describes a particular error encountered while performing an operation. + properties: + id: + description: A unique identifier for this particular occurrence of the problem. + type: string + maxLength: 255 + status: + description: 'The HTTP status code applicable to this problem, expressed as a string value.' + type: string + code: + description: 'An application-specific error code, expressed as a string value.' + type: string + title: + description: 'A short, human-readable summary of the problem. It **SHOULD NOT** change from occurrence to occurrence of the problem, except for purposes of localization.' + type: string + detail: + description: A human-readable explanation specific to this occurrence of the problem. + type: string + source: + type: object + description: 'If this error was caused by a particular part of the API request, the source will point to the query string parameter or request body property that caused it.' + properties: + pointer: + description: 'A JSON Pointer [RFC6901] to the associated entity in the request document [e.g. "/spec" for a spec object, or "/spec/title" for a specific field].' + type: string + parameter: + description: A string indicating which query parameter caused the error. + type: string + error_code: + type: integer + format: int32 + message: + type: string + nullable: true + additionalProperties: false + ProduceRequestHeader: + type: object + required: + - name + properties: + name: + type: string + value: + type: string + format: byte + nullable: true + ProduceRequestData: + type: object + properties: + type: + type: string + x-extensible-enum: + - BINARY + - JSON + - STRING + data: + $ref: '#/components/schemas/AnyValue' + nullable: true + ConfigData: + example: + name: name + value: value + properties: + name: + type: string + value: + nullable: true + type: string + required: + - name + - value + BrokerReplicaExclusionRequestData: + type: object + required: + - broker_id + - reason + properties: + broker_id: + type: integer + reason: + type: string + AnyValue: + nullable: true + parameters: + AclHost: + name: host + description: The ACL host. + in: query + required: false + schema: + type: string + AclOperation: + name: operation + description: The ACL operation. + in: query + required: false + schema: + $ref: '#/components/schemas/AclOperation' + AclOperationRequired: + name: operation + description: The ACL operation. + in: query + required: true + schema: + $ref: '#/components/schemas/AclOperation' + AclPatternType: + name: pattern_type + description: The ACL pattern type. + in: query + required: false + schema: + $ref: '#/components/schemas/AclPatternType' + AclPatternTypeRequired: + name: pattern_type + description: The ACL pattern type. + in: query + required: true + schema: + $ref: '#/components/schemas/AclPatternType' + AclPermission: + name: permission + description: The ACL permission. + in: query + required: false + schema: + $ref: '#/components/schemas/AclPermission' + AclPermissionRequired: + name: permission + description: The ACL permission. + in: query + required: true + schema: + $ref: '#/components/schemas/AclPermission' + AclPrincipal: + name: principal + description: The ACL principal. This is the Service Account name or user name. + in: query + required: false + schema: + type: string + AclResourceName: + name: resource_name + description: The ACL resource name. + in: query + required: false + schema: + type: string + AclResourceType: + name: resource_type + description: The ACL resource type. + in: query + required: false + schema: + $ref: '#/components/schemas/AclResourceType' + AclResourceTypeRequired: + name: resource_type + description: The ACL resource type. + in: query + required: true + schema: + $ref: '#/components/schemas/AclResourceType' + BrokerId: + name: broker_id + description: The Kafka broker ID. + in: path + required: true + schema: + type: integer + example: 1 + ClusterId: + name: cluster_id + description: The Kafka cluster ID. + in: path + required: true + schema: + type: string + example: cluster-1 + ConfigName: + name: name + description: The configuration parameter name. + in: path + required: true + schema: + type: string + example: compression.type + ConsumerGroupId: + name: consumer_group_id + description: The consumer group ID. + in: path + required: true + schema: + type: string + example: consumer-group-1 + ConsumerId: + name: consumer_id + description: The consumer ID. + in: path + required: true + schema: + type: string + example: consumer-1 + IncludeAuthorizedOperations: + name: include_authorized_operations + description: Specify if authorized operations should be included in the response. + in: query + required: false + schema: + type: boolean + PartitionId: + name: partition_id + description: The partition ID. + in: path + required: true + schema: + type: integer + example: 0 + TopicName: + name: topic_name + description: The topic name. + in: path + required: true + schema: + type: string + example: topic-1 + BrokerTaskType: + name: task_type + description: The Kafka broker task type. + in: path + required: true + schema: + $ref: '#/components/schemas/BrokerTaskType' + example: remove-broker + ShouldShutdown: + name: should_shutdown + description: 'To shutdown the broker or not, Default: true' + in: query + required: false + schema: + type: boolean + example: true + ValidateOnly: + name: validate_only + description: 'To validate the action can be performed successfully or not. Default: false' + in: query + required: false + schema: + type: boolean + example: false + ValidateLink: + name: validate_link + description: 'To synchronously validate that the source cluster ID is expected and the dest cluster has the permission to read topics in the source cluster. Default: true' + in: query + required: false + schema: + type: boolean + example: false + IncludeTasks: + name: include_tasks + description: 'Whether to include cluster linking tasks in the response. Default: false' + in: query + required: false + schema: + type: boolean + example: false + IncludeStateTransitionErrors: + name: include_state_transition_errors + description: 'Whether to include mirror state transition errors in the response. Default: false' + in: query + required: false + schema: + type: boolean + example: false + Force: + name: force + description: 'Force the action. Default: false' + in: query + required: false + schema: + type: boolean + example: false + IncludePartitionLevelTruncationData: + name: include_partition_level_truncation_data + description: 'Whether to include partition level truncation information when truncating and restoring a topic in the response. Default: false' + in: query + required: false + schema: + type: boolean + example: false + LinkName: + name: link_name + description: The link name + in: path + required: true + schema: + type: string + example: link-sb1 + LinkConfigName: + name: config_name + description: The link config name + in: path + required: true + schema: + type: string + example: consumer.offset.sync.enable + MirrorTopicStatus: + name: mirror_status + description: 'The status of the mirror topic. If not specified, all mirror topics will be returned.' + in: query + required: false + schema: + $ref: '#/components/schemas/MirrorTopicStatus' + example: ACTIVE + MirrorTopicName: + name: mirror_topic_name + description: Cluster Linking mirror topic name + in: path + required: true + schema: + type: string + example: topic-1 + QueryParamLinkName: + name: link_name + description: The link name + in: query + required: true + schema: + type: string + example: link-sb1 + responses: + BadRequestError: + description: Bad Request + headers: + X-Request-Id: + schema: + type: string + description: The unique identifier for the API request. + content: + application/json: + schema: + $ref: '#/components/schemas/Failure' + example: + errors: + - id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d + status: '400' + code: invalid_filter + title: Invalid Filter + detail: The 'delorean' resource can't be filtered by 'num_doors' + source: + parameter: num_doors + UnauthenticatedError: + x-summary: Unauthorized + description: The request lacks valid authentication credentials for this resource. + headers: + X-Request-Id: + schema: + type: string + description: The unique identifier for the API request. + WWW-Authenticate: + schema: + type: string + description: The unique identifier for the API request. + example: 'Basic error="invalid_key", error_description="The API Key is invalid"' + content: + application/json: + schema: + $ref: '#/components/schemas/Failure' + example: + errors: + - id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d + status: '401' + code: user_unauthenticated + title: Authentication Required + detail: Valid authentication credentials must be provided + UnauthorizedError: + x-summary: Forbidden + description: The access credentials were considered insufficient to grant access + headers: + X-Request-Id: + schema: + type: string + description: The unique identifier for the API request. + content: + application/json: + schema: + $ref: '#/components/schemas/Failure' + example: + errors: + - id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d + status: '403' + code: user_unauthorized + title: User Access Unauthorized + detail: The user 'mcfly' is not allowed to access the 'delorean' resource without the 'plutonium' role. + RateLimitError: + description: Rate Limit Exceeded + headers: + X-Request-Id: + schema: + type: string + description: The unique identifier for the API request. + X-RateLimit-Limit: + schema: + type: integer + description: The maximum number of requests you're permitted to make per time period. + X-RateLimit-Remaining: + schema: + type: integer + description: The number of requests remaining in the current rate limit window. + X-RateLimit-Reset: + schema: + type: integer + description: |- + The relative time in seconds until the current rate-limit window resets. + + **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. + DefaultSystemError: + description: 'Oops, something went wrong!' + headers: + X-Request-Id: + schema: + type: string + description: The unique identifier for the API request. + content: + application/json: + schema: + $ref: '#/components/schemas/Failure' + example: + errors: + - id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d + status: '500' + code: out_of_gas + title: DeLorean Out Of Gas + detail: 'The DeLorean has run out of gas, but Doc Brown will fill ''er up for you asap' + ConflictError: + x-summary: Conflict + description: The request is in conflict with the current server state + headers: + X-Request-Id: + schema: + type: string + description: The unique identifier for the API request. + Location: + schema: + type: string + format: uri + example: 'https://api.confluent.cloud/{object}/{id}' + description: Resource URI of conflicting resource + content: + application/json: + schema: + $ref: '#/components/schemas/Failure' + example: + errors: + - id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d + status: '409' + code: resource_already_exists + title: Resource Already exists + detail: The entitlement '91e3e86f-fca6-4f14-98f5-a48e64113ce2' already exists. + ValidationError: + description: Validation Failed + headers: + X-Request-Id: + schema: + type: string + description: The unique identifier for the API request. + content: + application/json: + schema: + $ref: '#/components/schemas/Failure' + example: + errors: + - status: '422' + code: invalid_configuration + id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d + title: Validation Failed + detail: 'The property ''/cluster/storage_size'' of type string did not match the following type: integer' + source: + pointer: /cluster/storage_size + - status: '422' + code: invalid_configuration + id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d + title: Validation Failed + detail: 'The property ''/cluster/storage_size'' of type string did not match the following type: integer' + source: + pointer: /cluster/storage_size + - status: '422' + code: invalid_configuration + id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d + title: Validation Failed + detail: 'The property ''/cluster/storage_size'' of type string did not match the following type: integer' + source: + pointer: /cluster/storage_size + - status: '422' + code: invalid_configuration + id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d + title: Validation Failed + detail: 'The property ''/cluster/storage_size'' of type string did not match the following type: integer' + source: + pointer: /cluster/storage_size + - status: '422' + code: invalid_configuration + id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d + title: Validation Failed + detail: 'The property ''/cluster/storage_size'' of type string did not match the following type: integer' + source: + pointer: /cluster/storage_size + - status: '422' + code: invalid_configuration + id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d + title: Validation Failed + detail: 'The property ''/cluster/storage_size'' of type string did not match the following type: integer' + source: + pointer: /cluster/storage_size + - status: '422' + code: invalid_configuration + id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d + title: Validation Failed + detail: 'The property ''/cluster/storage_size'' of type string did not match the following type: integer' + source: + pointer: /cluster/storage_size + - status: '422' + code: invalid_configuration + id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d + title: Validation Failed + detail: 'The property ''/cluster/storage_size'' of type string did not match the following type: integer' + source: + pointer: /cluster/storage_size + - status: '422' + code: invalid_configuration + id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d + title: Validation Failed + detail: 'The property ''/cluster/storage_size'' of type string did not match the following type: integer' + source: + pointer: /cluster/storage_size + - status: '422' + code: invalid_configuration + id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d + title: Validation Failed + detail: 'The property ''/cluster/storage_size'' of type string did not match the following type: integer' + source: + pointer: /cluster/storage_size + - status: '422' + code: invalid_configuration + id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d + title: Validation Failed + detail: 'The property ''/cluster/storage_size'' of type string did not match the following type: integer' + source: + pointer: /cluster/storage_size + - status: '422' + code: invalid_configuration + id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d + title: Validation Failed + detail: 'The property ''/cluster/storage_size'' of type string did not match the following type: integer' + source: + pointer: /cluster/storage_size + - status: '422' + code: invalid_configuration + id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d + title: Validation Failed + detail: 'The property ''/cluster/storage_size'' of type string did not match the following type: integer' + source: + pointer: /cluster/storage_size + - status: '422' + code: invalid_configuration + id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d + title: Validation Failed + detail: 'The property ''/cluster/storage_size'' of type string did not match the following type: integer' + source: + pointer: /cluster/storage_size + - status: '422' + code: invalid_configuration + id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d + title: Validation Failed + detail: 'The property ''/cluster/storage_size'' of type string did not match the following type: integer' + source: + pointer: /cluster/storage_size + - status: '422' + code: invalid_configuration + id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d + title: Validation Failed + detail: 'The property ''/cluster/storage_size'' of type string did not match the following type: integer' + source: + pointer: /cluster/storage_size + - status: '422' + code: invalid_configuration + id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d + title: Validation Failed + detail: 'The property ''/cluster/storage_size'' of type string did not match the following type: integer' + source: + pointer: /cluster/storage_size + - status: '422' + code: invalid_configuration + id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d + title: Validation Failed + detail: 'The property ''/cluster/storage_size'' of type string did not match the following type: integer' + source: + pointer: /cluster/storage_size + - status: '422' + code: invalid_configuration + id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d + title: Validation Failed + detail: 'The property ''/cluster/storage_size'' of type string did not match the following type: integer' + source: + pointer: /cluster/storage_size + - status: '422' + code: invalid_configuration + id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d + title: Validation Failed + detail: 'The property ''/cluster/storage_size'' of type string did not match the following type: integer' + source: + pointer: /cluster/storage_size + - status: '422' + code: invalid_configuration + id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d + title: Validation Failed + detail: 'The property ''/cluster/storage_size'' of type string did not match the following type: integer' + source: + pointer: /cluster/storage_size + - status: '422' + code: invalid_configuration + id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d + title: Validation Failed + detail: 'The property ''/cluster/storage_size'' of type string did not match the following type: integer' + source: + pointer: /cluster/storage_size + - status: '422' + code: invalid_configuration + id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d + title: Validation Failed + detail: 'The property ''/cluster/storage_size'' of type string did not match the following type: integer' + source: + pointer: /cluster/storage_size + - status: '422' + code: invalid_configuration + id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d + title: Validation Failed + detail: 'The property ''/cluster/storage_size'' of type string did not match the following type: integer' + source: + pointer: /cluster/storage_size + - status: '422' + code: invalid_configuration + id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d + title: Validation Failed + detail: 'The property ''/cluster/storage_size'' of type string did not match the following type: integer' + source: + pointer: /cluster/storage_size + - status: '422' + code: invalid_configuration + id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d + title: Validation Failed + detail: 'The property ''/cluster/storage_size'' of type string did not match the following type: integer' + source: + pointer: /cluster/storage_size + - status: '422' + code: invalid_configuration + id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d + title: Validation Failed + detail: 'The property ''/cluster/storage_size'' of type string did not match the following type: integer' + source: + pointer: /cluster/storage_size + - status: '422' + code: invalid_configuration + id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d + title: Validation Failed + detail: 'The property ''/cluster/storage_size'' of type string did not match the following type: integer' + source: + pointer: /cluster/storage_size + - status: '422' + code: invalid_configuration + id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d + title: Validation Failed + detail: 'The property ''/cluster/storage_size'' of type string did not match the following type: integer' + source: + pointer: /cluster/storage_size + - status: '422' + code: invalid_configuration + id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d + title: Validation Failed + detail: 'The property ''/cluster/storage_size'' of type string did not match the following type: integer' + source: + pointer: /cluster/storage_size + NotFoundError: + description: Not Found + headers: + X-Request-Id: + schema: + type: string + description: The unique identifier for the API request. + content: + application/json: + schema: + $ref: '#/components/schemas/Failure' + example: + errors: + - id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d + status: '404' + title: Not Found + securitySchemes: + cloud-api-key: + type: http + scheme: basic + description: Authenticate with Cloud API Keys using HTTP Basic Auth. Treat the Cloud API Key ID as the username and Cloud API Key Secret as the password. + confluent-sts-access-token: + type: oauth2 + description: Authenticate with Confluent API using this credentials (JSON Web Tokens) following OAuth 2.0. + flows: + clientCredentials: + tokenUrl: 'https://api.confluent.cloud/sts/v1/oauth2/token' + scopes: {} + api-key: + type: http + scheme: basic + description: Authenticate with API Keys using HTTP Basic Auth. Treat the API Key ID as the username and API Key Secret as the password. + resource-api-key: + type: http + scheme: basic + description: | + Authenticate with resource-specific API Keys using HTTP Basic Auth. Treat the resource-specific API Key ID + as the username and resource-specific API Key Secret as the password. + external-access-token: + type: oauth2 + description: Authenticate with OAuth 2.0. + flows: + clientCredentials: + tokenUrl: 'https:///token' + scopes: {} + oauth: + type: oauth2 + description: Authenticate with OAuth 2.0. Currently this is only supported for partner APIs. + flows: + clientCredentials: + tokenUrl: /oauth2/token + scopes: + 'partner:alter': enables partners to alter entitlements + 'partner:create': enables partners to create entitlements and signup on behalf of customers + 'partner:delete': enables partners to delete entitlements and organizations + 'partner:describe': enables partners to read and list entitlements and organizations + requestBodies: + AlterBrokerConfigBatchRequest: + description: The alter broker configuration parameter batch request. + content: + application/json: + schema: + $ref: '#/components/schemas/AlterConfigBatchRequestData' + example: + data: + - name: max.connections + operation: DELETE + - name: compression.type + value: gzip + AlterClusterConfigBatchRequest: + description: The alter cluster configuration parameter batch request. + content: + application/json: + schema: + $ref: '#/components/schemas/AlterConfigBatchRequestData' + example: + data: + - name: max.connections + operation: DELETE + - name: compression.type + value: gzip + AlterTopicConfigBatchRequest: + description: The alter topic configuration parameter batch request. + content: + application/json: + schema: + $ref: '#/components/schemas/AlterConfigBatchRequestData' + examples: + batch_alter_topic_configs: + value: + data: + - name: cleanup.policy + operation: DELETE + - name: compression.type + value: gzip + validate_only_batch_alter_topic_configs: + value: + data: + - name: cleanup.policy + operation: DELETE + - name: compression.type + value: gzip + validate_only: true + CreateAclRequest: + description: The ACL creation request. + content: + application/json: + schema: + $ref: '#/components/schemas/CreateAclRequestData' + example: + resource_type: CLUSTER + resource_name: kafka-cluster + pattern_type: LITERAL + principal: 'principalType:principalName' + host: '*' + operation: DESCRIBE + permission: DENY + BatchCreateAclRequest: + description: The batch ACL creation request. + content: + application/json: + schema: + $ref: '#/components/schemas/CreateAclRequestDataList' + example: + data: + - resource_type: CLUSTER + resource_name: kafka-cluster + pattern_type: LITERAL + principal: 'principalType:principalName' + host: '*' + operation: DESCRIBE + permission: DENY + - resource_type: TOPIC + resource_name: kafka-cluster + pattern_type: LITERAL + principal: 'principalType:principalName' + host: '*' + operation: READ + permission: ALLOW + CreateTopicRequest: + description: 'The topic creation request. Note that Confluent Cloud allows only specific replication factor values. Because of that the replication factor field should either be omitted or it should use one of the allowed values (see https://docs.confluent.io/cloud/current/client-apps/optimizing/durability.html).' + content: + application/json: + schema: + $ref: '#/components/schemas/CreateTopicRequestData' + examples: + uniform_replication: + value: + topic_name: topic-X + partitions_count: 64 + replication_factor: 3 + configs: + - name: cleanup.policy + value: compact + - name: compression.type + value: gzip + dry_run_create_topic: + value: + topic_name: topic-X + partitions_count: 64 + replication_factor: 3 + validate_only: true + ProduceRequest: + description: 'A single record to be produced to Kafka. To produce multiple records in the same request, simply concatenate the records. The delivery reports are concatenated in the same order as the records are sent.' + content: + application/json: + schema: + $ref: '#/components/schemas/ProduceRequest' + examples: + binary_and_json: + description: 'If using type, one of "BINARY", "JSON" or "STRING" is required.' + value: + partition_id: 1 + headers: + - name: Header-1 + value: SGVhZGVyLTE= + - name: Header-2 + value: SGVhZGVyLTI= + key: + type: BINARY + data: Zm9vYmFy + value: + type: JSON + data: + foo: bar + timestamp: '2021-02-05T19:14:42Z' + string: + description: 'If using type, one of "BINARY", "JSON" or "STRING" is required.' + value: + value: + type: STRING + data: My message + empty_value: + description: key or value can be omitted entirely. + value: + key: + data: 1000 + UpdateBrokerConfigRequest: + description: The broker configuration parameter update request. + content: + application/json: + schema: + $ref: '#/components/schemas/UpdateConfigRequestData' + example: + value: gzip + UpdateClusterConfigRequest: + description: The cluster configuration parameter update request. + content: + application/json: + schema: + $ref: '#/components/schemas/UpdateConfigRequestData' + example: + value: gzip + UpdateTopicConfigRequest: + description: The topic configuration parameter update request. + content: + application/json: + schema: + $ref: '#/components/schemas/UpdateConfigRequestData' + example: + value: gzip + CreateLinkRequest: + description: Create a cluster link + content: + application/json: + schema: + $ref: '#/components/schemas/CreateLinkRequestData' + examples: + destination_initiated_link: + description: Create a destination initiated cluster link + value: + source_cluster_id: cluster-1 + configs: + - name: bootstrap.servers + value: cluster-1-bootstrap-server + - name: acl.sync.enable + value: 'false' + - name: consumer.offset.sync.ms + value: '30000' + - name: sasl.mechanism + value: PLAIN + - name: sasl.protocol + value: SASL_SSL + - name: sasl.jaas.config + value: sasl.jaas.config=org.apache.kafka.common.security.plain.PlainLoginModule required username='' password=''; + source_initiated_link_at_source_cluster: + description: Create a source initiated cluster link at source cluster + value: + destination_cluster_id: cluster-2 + configs: + - name: bootstrap.servers + value: cluster-2-bootstrap-server + - name: link.mode + value: SOURCE + - name: sasl.mechanism + value: PLAIN + - name: sasl.protocol + value: SASL_SSL + - name: sasl.jaas.config + value: sasl.jaas.config=org.apache.kafka.common.security.plain.PlainLoginModule required username='' password=''; + source_initiated_link_at_destination_cluster: + description: Create a source initiated cluster link at destination cluster + value: + destination_cluster_id: cluster-1 + configs: + - name: bootstrap.servers + value: cluster-1-bootstrap-server + - name: link.mode + value: DESTINATION + - name: connection.mode + value: INBOUND + - name: acl.sync.enable + value: 'false' + - name: sasl.mechanism + value: PLAIN + - name: sasl.protocol + value: SASL_SSL + - name: sasl.jaas.config + value: sasl.jaas.config=org.apache.kafka.common.security.plain.PlainLoginModule required username='' password=''; + bidirectional_link_east: + description: Create a bidirectional cluster link in east + value: + remote_cluster_id: cluster-west + configs: + - name: bootstrap.servers + value: cluster-west-bootstrap-server + - name: link.mode + value: BIDIRECTIONAL + - name: cluster.link.prefix + value: west. + - name: sasl.mechanism + value: PLAIN + - name: sasl.protocol + value: SASL_SSL + - name: sasl.jaas.config + value: sasl.jaas.config=org.apache.kafka.common.security.plain.PlainLoginModule required username='' password=''; + bidirectional_link_west: + description: Create a bidirectional cluster link in west + value: + remote_cluster_id: cluster-east + cluster_link_id: eEBkTffYSESld6EO898x3w + configs: + - name: bootstrap.servers + value: cluster-east-bootstrap-server + - name: link.mode + value: BIDIRECTIONAL + - name: cluster.link.prefix + value: east. + - name: sasl.mechanism + value: PLAIN + - name: sasl.protocol + value: SASL_SSL + - name: sasl.jaas.config + value: sasl.jaas.config=org.apache.kafka.common.security.plain.PlainLoginModule required username='' password=''; + UpdateLinkConfigRequest: + content: + application/json: + example: + value: '300000' + schema: + $ref: '#/components/schemas/UpdateLinkConfigRequestData' + description: Link config value to update + AlterLinkConfigBatchRequest: + content: + application/json: + example: + data: + - name: cleanup.policy + operation: DELETE + - name: compression.type + value: gzip + schema: + $ref: '#/components/schemas/AlterConfigBatchRequestData' + CreateMirrorTopicRequest: + description: 'Name and configs of the topics mirroring from and mirroring to. Note that Confluent Cloud allows only specific replication factor values. Because of that the replication factor field should either be omitted or it should use one of the allowed values (see https://docs.confluent.io/cloud/current/client-apps/optimizing/durability.html).' + content: + application/json: + schema: + $ref: '#/components/schemas/CreateMirrorTopicRequestData' + examples: + generic_example: + description: Generic example of creating a mirror topic + value: + source_topic_name: topic-1 + configs: + - name: unclean.leader.election.enable + value: 'true' + replication_factor: 1 + example_with_mirror_topic_name: + description: Example using optional mirror_topic_name flag + value: + source_topic_name: topic-1 + mirror_topic_name: link1_topic-1 + configs: + - name: unclean.leader.election.enable + value: 'true' + replication_factor: 3 + AlterMirrorsRequest: + description: Mirror topics to be altered. + content: + application/json: + schema: + $ref: '#/components/schemas/AlterMirrorsRequestData' + examples: + mirror_topic_names: + description: Example using mirror topic names + value: + mirror_topic_names: + - topic-1 + - topic-2 + mirror_topic_name_pattern: + description: Example using mirror topic name pattern + value: + mirror_topic_name_pattern: .* + RemoveBrokersRequest: + content: + application/json: + example: + broker_ids: + - 1 + - 2 + - 3 + schema: + $ref: '#/components/schemas/RemoveBrokersRequestData' + description: Broker ids to remove + BrokerReplicaExclusionBatchRequest: + description: Alter Broker Replica Exclusions. + content: + application/json: + schema: + $ref: '#/components/schemas/BrokerReplicaExclusionBatchRequestData' + example: + data: + - broker_id: 1 + reason: The broker is to be removed. + - broker_id: 2 + reason: The broker is to be removed. + x-stackQL-resources: + integrations: + id: confluent.provider_integrations.integrations + name: integrations + title: Integrations + methods: + list_pim_v1integrations: + operation: + $ref: '#/paths/~1pim~1v1~1integrations/get' + response: + mediaType: application/json + openAPIDocKey: '200' + objectKey: $.data + create_pim_v1integration: + operation: + $ref: '#/paths/~1pim~1v1~1integrations/post' + response: + mediaType: application/json + openAPIDocKey: '201' + get_pim_v1integration: + operation: + $ref: '#/paths/~1pim~1v1~1integrations~1{id}/get' + response: + mediaType: application/json + openAPIDocKey: '200' + delete_pim_v1integration: + operation: + $ref: '#/paths/~1pim~1v1~1integrations~1{id}/delete' + response: + mediaType: application/json + openAPIDocKey: '204' + sqlVerbs: + select: + - $ref: '#/components/x-stackQL-resources/integrations/methods/get_pim_v1integration' + - $ref: '#/components/x-stackQL-resources/integrations/methods/list_pim_v1integrations' + insert: + - $ref: '#/components/x-stackQL-resources/integrations/methods/create_pim_v1integration' + update: [] + replace: [] + delete: + - $ref: '#/components/x-stackQL-resources/integrations/methods/delete_pim_v1integration' +paths: + /pim/v1/integrations: + get: + x-request-access-name: Provider Integration + operationId: listPimV1Integrations + summary: List of Integrations + description: | + [![Early Access](https://img.shields.io/badge/Lifecycle%20Stage-Early%20Access-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) [![Request Access To Provider Integration](https://img.shields.io/badge/-Request%20Access%20To%20Provider%20Integration-%23bc8540)](mailto:ccloud-api-access+pim-v1-early-access@confluent.io?subject=Request%20to%20join%20pim/v1%20API%20Early%20Access&body=I%E2%80%99d%20like%20to%20join%20the%20Confluent%20Cloud%20API%20Early%20Access%20for%20pim/v1%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: provider + in: query + required: false + schema: + $ref: '#/components/schemas/SearchFilter' + example: AWS + description: Filter the results by exact match for provider. + - name: environment + in: query + required: true + schema: + $ref: '#/components/schemas/SearchFilter' + example: env-00000 + description: Filter the results by exact match for environment. + - name: page_size + in: query + required: false + schema: + type: integer + default: 10 + maximum: 100 + x-max-page-items: 500 + description: A pagination size for collection requests. + - name: page_token + in: query + required: false + schema: + type: string + maxLength: 255 + description: An opaque pagination token for collection requests. + tags: + - Integrations (pim/v1) + security: + - cloud-api-key: [] + - confluent-sts-access-token: [] + responses: + '200': + description: Integration. + content: + application/json: + schema: + allOf: + - $ref: '#/components/schemas/pim.v1.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. + + **Important:** This differs from Github and Twitter's same-named header which uses UTC epoch seconds. We use relative time to avoid client/server time synchronization issues. + '400': + $ref: '#/components/responses/BadRequestError' + '401': + $ref: '#/components/responses/UnauthenticatedError' + '403': + $ref: '#/components/responses/UnauthorizedError' + '429': + $ref: '#/components/responses/RateLimitError' + '500': + $ref: '#/components/responses/DefaultSystemError' + x-codeSamples: + - lang: Shell + source: |- + curl --request GET \ + --url 'https://api.confluent.cloud/pim/v1/integrations?provider=AWS&environment=env-00000' \ + --header 'Authorization: Basic REPLACE_BASIC_AUTH' + - lang: Java + source: |- + OkHttpClient client = new OkHttpClient(); + + Request request = new Request.Builder() + .url("https://api.confluent.cloud/pim/v1/integrations?provider=AWS&environment=env-00000") + .get() + .addHeader("Authorization", "Basic REPLACE_BASIC_AUTH") + .build(); + + Response response = client.newCall(request).execute(); + - lang: Go + source: "package main\n\nimport (\n\t\"fmt\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.confluent.cloud/pim/v1/integrations?provider=AWS&environment=env-00000\"\n\n\treq, _ := http.NewRequest(\"GET\", url, nil)\n\n\treq.Header.Add(\"Authorization\", \"Basic REPLACE_BASIC_AUTH\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}" + - lang: Python + source: |- + import http.client + + conn = http.client.HTTPSConnection("api.confluent.cloud") + + headers = { 'Authorization': "Basic REPLACE_BASIC_AUTH" } + + conn.request("GET", "/pim/v1/integrations?provider=AWS&environment=env-00000", headers=headers) + + res = conn.getresponse() + data = res.read() + + print(data.decode("utf-8")) + - lang: Node + source: |- + const http = require("https"); + + const options = { + "method": "GET", + "hostname": "api.confluent.cloud", + "port": null, + "path": "/pim/v1/integrations?provider=AWS&environment=env-00000", + "headers": { + "Authorization": "Basic REPLACE_BASIC_AUTH" + } + }; + + const req = http.request(options, function (res) { + const chunks = []; + + res.on("data", function (chunk) { + chunks.push(chunk); + }); + + res.on("end", function () { + const body = Buffer.concat(chunks); + console.log(body.toString()); + }); + }); + + req.end(); + - lang: C + source: |- + CURL *hnd = curl_easy_init(); + + curl_easy_setopt(hnd, CURLOPT_CUSTOMREQUEST, "GET"); + curl_easy_setopt(hnd, CURLOPT_URL, "https://api.confluent.cloud/pim/v1/integrations?provider=AWS&environment=env-00000"); + + struct curl_slist *headers = NULL; + headers = curl_slist_append(headers, "Authorization: Basic REPLACE_BASIC_AUTH"); + curl_easy_setopt(hnd, CURLOPT_HTTPHEADER, headers); + + CURLcode ret = curl_easy_perform(hnd); + - lang: C# + source: |- + var client = new RestClient("https://api.confluent.cloud/pim/v1/integrations?provider=AWS&environment=env-00000"); + var request = new RestRequest(Method.GET); + request.AddHeader("Authorization", "Basic REPLACE_BASIC_AUTH"); + IRestResponse response = client.Execute(request); + post: + x-request-access-name: Provider Integration + operationId: createPimV1Integration + summary: Create an Integration + description: |- + [![Early Access](https://img.shields.io/badge/Lifecycle%20Stage-Early%20Access-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) [![Request Access To Provider Integration](https://img.shields.io/badge/-Request%20Access%20To%20Provider%20Integration-%23bc8540)](mailto:ccloud-api-access+pim-v1-early-access@confluent.io?subject=Request%20to%20join%20pim/v1%20API%20Early%20Access&body=I%E2%80%99d%20like%20to%20join%20the%20Confluent%20Cloud%20API%20Early%20Access%20for%20pim/v1%20to%20provide%20early%20feedback%21%20My%20Cloud%20Organization%20ID%20is%20%3Cretrieve%20from%20https%3A//confluent.cloud/settings/billing/payment%3E.) + + Make a request to create an integration. + tags: + - Integrations (pim/v1) + security: + - cloud-api-key: [] + - confluent-sts-access-token: [] + requestBody: + content: + application/json: + schema: + allOf: + - $ref: '#/components/schemas/pim.v1.Integration' + - type: object + required: + - config + - environment + - type: object + properties: + environment: + example: + id: env-00000 + responses: + '201': + description: An Integration was created. + headers: + X-Request-Id: + schema: + type: string + description: The unique identifier for the API request. + X-RateLimit-Limit: + schema: + type: integer + description: The maximum number of requests you're permitted to make per time period. + X-RateLimit-Remaining: + schema: + type: integer + description: The number of requests remaining in the current rate limit window. + X-RateLimit-Reset: + schema: + type: integer + description: |- + The relative time in seconds until the current rate-limit window resets. + + **Important:** This differs from Github and Twitter's same-named header which uses UTC epoch seconds. We use relative time to avoid client/server time synchronization issues. + Location: + schema: + type: string + format: uri + example: 'https://api.confluent.cloud/pim/v1/integrations/{id}' + description: Integration resource uri + content: + application/json: + schema: + allOf: + - $ref: '#/components/schemas/pim.v1.Integration' + - type: object + required: + - config + - environment + - type: object + properties: + environment: + example: + id: env-00000 + related: 'https://api.confluent.cloud/v2/environments/env-00000' + resource_name: 'https://api.confluent.cloud/organization=9bb441c4-edef-46ac-8a41-c49e44a3fd9a/environment=env-00000' + '400': + $ref: '#/components/responses/BadRequestError' + '401': + $ref: '#/components/responses/UnauthenticatedError' + '403': + $ref: '#/components/responses/UnauthorizedError' + '409': + $ref: '#/components/responses/ConflictError' + '422': + $ref: '#/components/responses/ValidationError' + '429': + $ref: '#/components/responses/RateLimitError' + '500': + $ref: '#/components/responses/DefaultSystemError' + x-codeSamples: + - lang: Shell + source: |- + curl --request POST \ + --url https://api.confluent.cloud/pim/v1/integrations \ + --header 'Authorization: Basic REPLACE_BASIC_AUTH' \ + --header 'content-type: application/json' \ + --data '{"display_name":"s3_provider_integration","provider":"AWS","config":{"customer_iam_role_arn":"arn:aws:iam::000000000000:role/my-test-aws-role","kind":"AwsIntegrationConfig"},"environment":{"id":"env-00000"}}' + - lang: Java + source: |- + OkHttpClient client = new OkHttpClient(); + + MediaType mediaType = MediaType.parse("application/json"); + RequestBody body = RequestBody.create(mediaType, "{\"display_name\":\"s3_provider_integration\",\"provider\":\"AWS\",\"config\":{\"customer_iam_role_arn\":\"arn:aws:iam::000000000000:role/my-test-aws-role\",\"kind\":\"AwsIntegrationConfig\"},\"environment\":{\"id\":\"env-00000\"}}"); + Request request = new Request.Builder() + .url("https://api.confluent.cloud/pim/v1/integrations") + .post(body) + .addHeader("content-type", "application/json") + .addHeader("Authorization", "Basic REPLACE_BASIC_AUTH") + .build(); + + Response response = client.newCall(request).execute(); + - lang: Go + source: "package main\n\nimport (\n\t\"fmt\"\n\t\"strings\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.confluent.cloud/pim/v1/integrations\"\n\n\tpayload := strings.NewReader(\"{\\\"display_name\\\":\\\"s3_provider_integration\\\",\\\"provider\\\":\\\"AWS\\\",\\\"config\\\":{\\\"customer_iam_role_arn\\\":\\\"arn:aws:iam::000000000000:role/my-test-aws-role\\\",\\\"kind\\\":\\\"AwsIntegrationConfig\\\"},\\\"environment\\\":{\\\"id\\\":\\\"env-00000\\\"}}\")\n\n\treq, _ := http.NewRequest(\"POST\", url, payload)\n\n\treq.Header.Add(\"content-type\", \"application/json\")\n\treq.Header.Add(\"Authorization\", \"Basic REPLACE_BASIC_AUTH\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}" + - lang: Python + source: |- + import http.client + + conn = http.client.HTTPSConnection("api.confluent.cloud") + + payload = "{\"display_name\":\"s3_provider_integration\",\"provider\":\"AWS\",\"config\":{\"customer_iam_role_arn\":\"arn:aws:iam::000000000000:role/my-test-aws-role\",\"kind\":\"AwsIntegrationConfig\"},\"environment\":{\"id\":\"env-00000\"}}" + + headers = { + 'content-type': "application/json", + 'Authorization': "Basic REPLACE_BASIC_AUTH" + } + + conn.request("POST", "/pim/v1/integrations", payload, headers) + + res = conn.getresponse() + data = res.read() + + print(data.decode("utf-8")) + - lang: Node + source: |- + const http = require("https"); + + const options = { + "method": "POST", + "hostname": "api.confluent.cloud", + "port": null, + "path": "/pim/v1/integrations", + "headers": { + "content-type": "application/json", + "Authorization": "Basic REPLACE_BASIC_AUTH" + } + }; + + const req = http.request(options, function (res) { + const chunks = []; + + res.on("data", function (chunk) { + chunks.push(chunk); + }); + + res.on("end", function () { + const body = Buffer.concat(chunks); + console.log(body.toString()); + }); + }); + + req.write(JSON.stringify({ + display_name: 's3_provider_integration', + provider: 'AWS', + config: { + customer_iam_role_arn: 'arn:aws:iam::000000000000:role/my-test-aws-role', + kind: 'AwsIntegrationConfig' + }, + environment: {id: 'env-00000'} + })); + req.end(); + - lang: C + source: |- + CURL *hnd = curl_easy_init(); + + curl_easy_setopt(hnd, CURLOPT_CUSTOMREQUEST, "POST"); + curl_easy_setopt(hnd, CURLOPT_URL, "https://api.confluent.cloud/pim/v1/integrations"); + + struct curl_slist *headers = NULL; + headers = curl_slist_append(headers, "content-type: application/json"); + headers = curl_slist_append(headers, "Authorization: Basic REPLACE_BASIC_AUTH"); + curl_easy_setopt(hnd, CURLOPT_HTTPHEADER, headers); + + curl_easy_setopt(hnd, CURLOPT_POSTFIELDS, "{\"display_name\":\"s3_provider_integration\",\"provider\":\"AWS\",\"config\":{\"customer_iam_role_arn\":\"arn:aws:iam::000000000000:role/my-test-aws-role\",\"kind\":\"AwsIntegrationConfig\"},\"environment\":{\"id\":\"env-00000\"}}"); + + CURLcode ret = curl_easy_perform(hnd); + - lang: C# + source: |- + var client = new RestClient("https://api.confluent.cloud/pim/v1/integrations"); + var request = new RestRequest(Method.POST); + request.AddHeader("content-type", "application/json"); + request.AddHeader("Authorization", "Basic REPLACE_BASIC_AUTH"); + request.AddParameter("application/json", "{\"display_name\":\"s3_provider_integration\",\"provider\":\"AWS\",\"config\":{\"customer_iam_role_arn\":\"arn:aws:iam::000000000000:role/my-test-aws-role\",\"kind\":\"AwsIntegrationConfig\"},\"environment\":{\"id\":\"env-00000\"}}", ParameterType.RequestBody); + IRestResponse response = client.Execute(request); + '/pim/v1/integrations/{id}': + get: + x-request-access-name: Provider Integration + operationId: getPimV1Integration + summary: Read an Integration + description: |- + [![Early Access](https://img.shields.io/badge/Lifecycle%20Stage-Early%20Access-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) [![Request Access To Provider Integration](https://img.shields.io/badge/-Request%20Access%20To%20Provider%20Integration-%23bc8540)](mailto:ccloud-api-access+pim-v1-early-access@confluent.io?subject=Request%20to%20join%20pim/v1%20API%20Early%20Access&body=I%E2%80%99d%20like%20to%20join%20the%20Confluent%20Cloud%20API%20Early%20Access%20for%20pim/v1%20to%20provide%20early%20feedback%21%20My%20Cloud%20Organization%20ID%20is%20%3Cretrieve%20from%20https%3A//confluent.cloud/settings/billing/payment%3E.) + + Make a request to read an integration. + parameters: + - name: environment + in: query + required: true + schema: + $ref: '#/components/schemas/SearchFilter' + example: env-00000 + description: Scope the operation to the given environment. + - name: id + in: path + required: true + schema: + type: string + description: The unique identifier for the integration. + tags: + - Integrations (pim/v1) + security: + - cloud-api-key: [] + - confluent-sts-access-token: [] + responses: + '200': + description: Integration. + content: + application/json: + schema: + allOf: + - $ref: '#/components/schemas/pim.v1.Integration' + - type: object + required: + - api_version + - kind + - id + - config + - environment + - type: object + properties: + environment: + example: + id: env-00000 + related: 'https://api.confluent.cloud/v2/environments/env-00000' + resource_name: 'https://api.confluent.cloud/organization=9bb441c4-edef-46ac-8a41-c49e44a3fd9a/environment=env-00000' + headers: + X-Request-Id: + schema: + type: string + description: The unique identifier for the API request. + X-RateLimit-Limit: + schema: + type: integer + description: The maximum number of requests you're permitted to make per time period. + X-RateLimit-Remaining: + schema: + type: integer + description: The number of requests remaining in the current rate limit window. + X-RateLimit-Reset: + schema: + type: integer + description: |- + The relative time in seconds until the current rate-limit window resets. + + **Important:** This differs from Github and Twitter's same-named header which uses UTC epoch seconds. We use relative time to avoid client/server time synchronization issues. + '400': + $ref: '#/components/responses/BadRequestError' + '401': + $ref: '#/components/responses/UnauthenticatedError' + '403': + $ref: '#/components/responses/UnauthorizedError' + '404': + $ref: '#/components/responses/NotFoundError' + '429': + $ref: '#/components/responses/RateLimitError' + '500': + $ref: '#/components/responses/DefaultSystemError' + x-codeSamples: + - lang: Shell + source: |- + curl --request GET \ + --url 'https://api.confluent.cloud/pim/v1/integrations/{id}?environment=env-00000' \ + --header 'Authorization: Basic REPLACE_BASIC_AUTH' + - lang: Java + source: |- + OkHttpClient client = new OkHttpClient(); + + Request request = new Request.Builder() + .url("https://api.confluent.cloud/pim/v1/integrations/{id}?environment=env-00000") + .get() + .addHeader("Authorization", "Basic REPLACE_BASIC_AUTH") + .build(); + + Response response = client.newCall(request).execute(); + - lang: Go + source: "package main\n\nimport (\n\t\"fmt\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.confluent.cloud/pim/v1/integrations/{id}?environment=env-00000\"\n\n\treq, _ := http.NewRequest(\"GET\", url, nil)\n\n\treq.Header.Add(\"Authorization\", \"Basic REPLACE_BASIC_AUTH\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}" + - lang: Python + source: |- + import http.client + + conn = http.client.HTTPSConnection("api.confluent.cloud") + + headers = { 'Authorization': "Basic REPLACE_BASIC_AUTH" } + + conn.request("GET", "/pim/v1/integrations/{id}?environment=env-00000", headers=headers) + + res = conn.getresponse() + data = res.read() + + print(data.decode("utf-8")) + - lang: Node + source: |- + const http = require("https"); + + const options = { + "method": "GET", + "hostname": "api.confluent.cloud", + "port": null, + "path": "/pim/v1/integrations/{id}?environment=env-00000", + "headers": { + "Authorization": "Basic REPLACE_BASIC_AUTH" + } + }; + + const req = http.request(options, function (res) { + const chunks = []; + + res.on("data", function (chunk) { + chunks.push(chunk); + }); + + res.on("end", function () { + const body = Buffer.concat(chunks); + console.log(body.toString()); + }); + }); + + req.end(); + - lang: C + source: |- + CURL *hnd = curl_easy_init(); + + curl_easy_setopt(hnd, CURLOPT_CUSTOMREQUEST, "GET"); + curl_easy_setopt(hnd, CURLOPT_URL, "https://api.confluent.cloud/pim/v1/integrations/{id}?environment=env-00000"); + + struct curl_slist *headers = NULL; + headers = curl_slist_append(headers, "Authorization: Basic REPLACE_BASIC_AUTH"); + curl_easy_setopt(hnd, CURLOPT_HTTPHEADER, headers); + + CURLcode ret = curl_easy_perform(hnd); + - lang: C# + source: |- + var client = new RestClient("https://api.confluent.cloud/pim/v1/integrations/{id}?environment=env-00000"); + var request = new RestRequest(Method.GET); + request.AddHeader("Authorization", "Basic REPLACE_BASIC_AUTH"); + IRestResponse response = client.Execute(request); + delete: + x-request-access-name: Provider Integration + operationId: deletePimV1Integration + summary: Delete an Integration + description: | + [![Early Access](https://img.shields.io/badge/Lifecycle%20Stage-Early%20Access-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) [![Request Access To Provider Integration](https://img.shields.io/badge/-Request%20Access%20To%20Provider%20Integration-%23bc8540)](mailto:ccloud-api-access+pim-v1-early-access@confluent.io?subject=Request%20to%20join%20pim/v1%20API%20Early%20Access&body=I%E2%80%99d%20like%20to%20join%20the%20Confluent%20Cloud%20API%20Early%20Access%20for%20pim/v1%20to%20provide%20early%20feedback%21%20My%20Cloud%20Organization%20ID%20is%20%3Cretrieve%20from%20https%3A//confluent.cloud/settings/billing/payment%3E.) + + Make a request to delete an integration. + + This request fails if existing workloads are using this CSP integration. + parameters: + - name: environment + in: query + required: true + schema: + $ref: '#/components/schemas/SearchFilter' + example: env-00000 + description: Scope the operation to the given environment. + - name: id + in: path + required: true + schema: + type: string + description: The unique identifier for the integration. + tags: + - Integrations (pim/v1) + security: + - cloud-api-key: [] + - confluent-sts-access-token: [] + responses: + '204': + description: An Integration is being deleted. + headers: + X-Request-Id: + schema: + type: string + description: The unique identifier for the API request. + X-RateLimit-Limit: + schema: + type: integer + description: The maximum number of requests you're permitted to make per time period. + X-RateLimit-Remaining: + schema: + type: integer + description: The number of requests remaining in the current rate limit window. + X-RateLimit-Reset: + schema: + type: integer + description: |- + The relative time in seconds until the current rate-limit window resets. + + **Important:** This differs from Github and Twitter's same-named header which uses UTC epoch seconds. We use relative time to avoid client/server time synchronization issues. + '400': + $ref: '#/components/responses/BadRequestError' + '401': + $ref: '#/components/responses/UnauthenticatedError' + '403': + $ref: '#/components/responses/UnauthorizedError' + '404': + $ref: '#/components/responses/NotFoundError' + '429': + $ref: '#/components/responses/RateLimitError' + '500': + $ref: '#/components/responses/DefaultSystemError' + x-codeSamples: + - lang: Shell + source: |- + curl --request DELETE \ + --url 'https://api.confluent.cloud/pim/v1/integrations/{id}?environment=env-00000' \ + --header 'Authorization: Basic REPLACE_BASIC_AUTH' + - lang: Java + source: |- + OkHttpClient client = new OkHttpClient(); + + Request request = new Request.Builder() + .url("https://api.confluent.cloud/pim/v1/integrations/{id}?environment=env-00000") + .delete(null) + .addHeader("Authorization", "Basic REPLACE_BASIC_AUTH") + .build(); + + Response response = client.newCall(request).execute(); + - lang: Go + source: "package main\n\nimport (\n\t\"fmt\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.confluent.cloud/pim/v1/integrations/{id}?environment=env-00000\"\n\n\treq, _ := http.NewRequest(\"DELETE\", url, nil)\n\n\treq.Header.Add(\"Authorization\", \"Basic REPLACE_BASIC_AUTH\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}" + - lang: Python + source: |- + import http.client + + conn = http.client.HTTPSConnection("api.confluent.cloud") + + headers = { 'Authorization': "Basic REPLACE_BASIC_AUTH" } + + conn.request("DELETE", "/pim/v1/integrations/{id}?environment=env-00000", headers=headers) + + res = conn.getresponse() + data = res.read() + + print(data.decode("utf-8")) + - lang: Node + source: |- + const http = require("https"); + + const options = { + "method": "DELETE", + "hostname": "api.confluent.cloud", + "port": null, + "path": "/pim/v1/integrations/{id}?environment=env-00000", + "headers": { + "Authorization": "Basic REPLACE_BASIC_AUTH" + } + }; + + const req = http.request(options, function (res) { + const chunks = []; + + res.on("data", function (chunk) { + chunks.push(chunk); + }); + + res.on("end", function () { + const body = Buffer.concat(chunks); + console.log(body.toString()); + }); + }); + + req.end(); + - lang: C + source: |- + CURL *hnd = curl_easy_init(); + + curl_easy_setopt(hnd, CURLOPT_CUSTOMREQUEST, "DELETE"); + curl_easy_setopt(hnd, CURLOPT_URL, "https://api.confluent.cloud/pim/v1/integrations/{id}?environment=env-00000"); + + struct curl_slist *headers = NULL; + headers = curl_slist_append(headers, "Authorization: Basic REPLACE_BASIC_AUTH"); + curl_easy_setopt(hnd, CURLOPT_HTTPHEADER, headers); + + CURLcode ret = curl_easy_perform(hnd); + - lang: C# + source: |- + var client = new RestClient("https://api.confluent.cloud/pim/v1/integrations/{id}?environment=env-00000"); + var request = new RestRequest(Method.DELETE); + request.AddHeader("Authorization", "Basic REPLACE_BASIC_AUTH"); + IRestResponse response = client.Execute(request); diff --git a/providers/src/confluent/v00.00.00000/services/quotas.yaml b/providers/src/confluent/v00.00.00000/services/quotas.yaml new file mode 100644 index 00000000..19828d11 --- /dev/null +++ b/providers/src/confluent/v00.00.00000/services/quotas.yaml @@ -0,0 +1,4780 @@ +openapi: 3.0.0 +servers: + - url: 'https://api.confluent.cloud' + description: Confluent Cloud API +info: + version: '' + contact: + name: Confluent Cloud + url: 'https://www.confluent.io/cloud-contact-us/' + email: support@confluent.io + x-api-id: 46234552-5833-42eb-ba0f-883ad3f70d2b + x-audience: external-public + x-logo: + url: 'https://assets.confluent.io/m/5ec23aa91903c00b/' + title: Confluent Cloud APIs - quotas + description: quotas +tags: + - name: API Keys (iam/v2) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + `ApiKey` objects represent access to different parts of Confluent Cloud. Some types + of API keys represent access to a single cluster/resource such as a Kafka cluster, + Schema Registry cluster or a ksqlDB cluster. Cloud API Keys represent access to resources within an organization + that are not tied to a specific cluster, such as the Org API, IAM API, Metrics API or Connect API. + + The API allows you to list, create, update and delete your API Keys. + + + Related guide: [API Keys in Confluent Cloud](https://docs.confluent.io/cloud/current/client-apps/api-keys.html). + + ## The API Keys Model + + + ## Quotas and Limits + This resource is subject to the [following quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): + + | Quota | Description | + | --- | --- | + | `apikeys_per_org` | API Keys in one Confluent Cloud organization | + - name: Environments (org/v2) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + `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](https://docs.confluent.io/cloud/current/access-management/environments.html). + + ## The Environments Model + + + ## Quotas and Limits + This resource is subject to the [following quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): + + | Quota | Description | + | --- | --- | + | `environments_per_org` | Environments in one Confluent Cloud organization | + - name: Organizations (org/v2) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + `Organization` objects represent a customer organization. An organization contains all customer + resources (e.g., Environments, Kafka Clusters, Service Accounts, API Keys) and is tied to a billing + agreement (including any annual commitment or support plan). + + The API allows you to list, view, and update your organizations. + + + Related guide: [Organizations for Confluent Cloud](https://docs.confluent.io/cloud/current/access-management/hierarchy/organizations/cloud-organization.html). + + ## The Organizations Model + + + ## Quotas and Limits + This resource is subject to the [following quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): + + | Quota | Description | + | --- | --- | + | `organizations_per_user` | Confluent Cloud organizations a user belongs to | + - name: Users (iam/v2) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + `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](https://docs.confluent.io/cloud/current/access-management/user-account.html). + + ## The Users Model + + + ## Quotas and Limits + This resource is subject to the [following quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): + + | Quota | Description | + | --- | --- | + | `users_per_org` | Users in one Confluent Cloud organization | + - name: Service Accounts (iam/v2) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + `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](https://docs.confluent.io/cloud/current/access-management/service-account.html). + + ## The Service Accounts Model + + + ## Quotas and Limits + This resource is subject to the [following quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): + + | Quota | Description | + | --- | --- | + | `service_accounts_per_org` | Service Accounts in one Confluent Cloud organization | + - name: Invitations (iam/v2) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + `Invitation` objects represent invitations to invite users to join your organizations in Confluent Cloud. + + The API allows you to list all your invitations, as well as create, read, and delete a specified invitation. + + + Related guide: [User invitations in Confluent Cloud](https://docs.confluent.io/cloud/current/access-management/identity/user-accounts.html). + + ## The Invitations Model + + + ## Quotas and Limits + This resource is subject to the [following quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): + + | Quota | Description | + | --- | --- | + | `invitations_per_org` | Invitations in a Confluent Cloud organization | + - name: IP Groups (iam/v2) + description: |- + [![Limited Availability](https://img.shields.io/badge/Lifecycle%20Stage-Limited%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) [![Request Access To IP Groups API](https://img.shields.io/badge/-Request%20Access%20To%20IP%20Groups%20API-%23bc8540)](mailto:cloud-support@confluent.io?subject=Request%20to%20join%20IP%20Filtering%20API%20Limited%20Access&body=I%E2%80%99d%20like%20to%20join%20the%20Confluent%20Cloud%20API%20Limited%20Access%20for%20IP%20Filtering.%0AMy%20Cloud%20Organization%20ID%20is%20%3Cretrieve%20from%20https%3A//confluent.cloud/settings/billing/payment%3E.%0A) + + Definitions of networks which can be named and referred by IP blocks, commonly used to attach to IP Filter rules. + + + ## The IP Groups Model + + - name: IP Filters (iam/v2) + description: |- + [![Limited Availability](https://img.shields.io/badge/Lifecycle%20Stage-Limited%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) [![Request Access To IP Filters API](https://img.shields.io/badge/-Request%20Access%20To%20IP%20Filters%20API-%23bc8540)](mailto:ccloud-api-access+iam-v2-limited-availability@confluent.io?subject=Request%20to%20join%20iam/v2%20API%20Limited%20Availability&body=I%E2%80%99d%20like%20to%20join%20the%20Confluent%20Cloud%20API%20Limited%20Availability%20for%20iam/v2%20to%20provide%20early%20feedback%21%20My%20Cloud%20Organization%20ID%20is%20%3Cretrieve%20from%20https%3A//confluent.cloud/settings/billing/payment%3E.) + + `IP Filter` objects are bindings between IP Groups and Confluent resource(s). + For example, a binding between "CorpNet" and "Management APIs" will enforce that + access must come from one of the CIDR blocks associated with CorpNet. + If there are multiple IP filters bound to a resource, a request matching any of the CIDR blocks + for any of the IP Group will allow the request. + If there are no IP Filters for a resource, then access will be granted to requests originating + from any IP Address. + + + ## The IP Filters Model + + - name: Role Bindings (iam/v2) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + A role binding grants a Principal a role on resources that match a pattern. + + The API allows you to perform create, delete, and list operations on role bindings. + + + Related guide: [Role-Based Access Control (RBAC)](https://docs.confluent.io/cloud/current/access-management/access-control/cloud-rbac.html). + + ## The Role Bindings Model + + - name: Subscriptions (notifications/v1) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + `Subscription` objects represent the intent of the customers to get notifications of particular types. + A subscription is created for a particular `NotificationType` and the user will get notifications on the + `Integrations` that are provided while creating the subscription. + + This API allows you to create, retrieve, and update subscriptions, + as well as to view the list of all your subscriptions. You can also delete subscriptions + with RECOMMENDED or OPTIONAL notification types. Subscriptions with REQUIRED notification types cannot be deleted. + + + Related guide: [Cloud Notifications](https://docs.confluent.io/cloud/current/monitoring/configure-notifications.html#notifications-for-ccloud). + + ## The Subscriptions Model + + - name: Integrations (notifications/v1) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + You can create an `Integration` to specify how we can notify you when we receive an alert/notification for + a subscription. Please note that you can only perform create, update and delete operations for integrations + of type `Webhook`, `Slack` and `MsTeams`. You cannot create, update or delete integrations of type `RoleEmail` + and `UserEmail`. + + + Related guide: [Cloud Notifications](https://docs.confluent.io/cloud/current/monitoring/configure-notifications.html#notifications-for-ccloud). + + ## The Integrations Model + + + ## Quotas and Limits + This resource is subject to the [following quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): + + | Quota | Description | + | --- | --- | + | `integrations_per_org` | Maximum number of integrations in one Confluent Cloud organization | + - name: Notification Types (notifications/v1) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + The type of notifications (and their corresponding metadata) supported by Confluent. + + + Related guide: [Cloud Notifications](https://docs.confluent.io/cloud/current/monitoring/configure-notifications.html#notifications-for-ccloud). + + ## The Notification Types Model + + - name: Clusters (cmk/v2) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + `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](https://docs.confluent.io/cloud/current/clusters/cluster-api.html). + + ## The Clusters Model + + + ## Quotas and Limits + This resource is subject to the [following quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): + + | Quota | Description | + | --- | --- | + | `kafka_clusters_per_environment` | Number of clusters in one Confluent Cloud environment | + - name: Clusters (ksqldbcm/v2) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + `Cluster` represents a ksqlDB runtime that you can issue queries to using its API endpoint. + It executes SQL statements and queries which under the hood get built into corresponding + Kafka Streams topologies. The API allows you to list, create, read, and delete your ksqlDB clusters. + + + Related guide: [ksqlDB in Confluent Cloud](https://docs.confluent.io/cloud/current/ksqldb/ksqldb-cluster-api.html). + + ## The Clusters Model + + + ## Quotas and Limits + This resource is subject to the following quotas: + + | Quota | Description | + | --- | --- | + | `ksql.limits.max_apps_per_cluster` | Clusters in one Confluent Cloud Kafka Cluster. | + - name: Connectors (connect/v1) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + API for Managed Connectors or Custom Connectors in Confluent Cloud. + + The API allows you to list, create, get, update and delete a Managed Connector or Custom Connector in Confluent Cloud. + + Connect metrics are available through the [Metrics v2 API](https://api.telemetry.confluent.cloud/docs#tag/Version-2). + + Related guide: [Confluent Cloud API and Managed Connectors](https://docs.confluent.io/cloud/current/connectors/connect-api-section.html). + - name: Lifecycle (connect/v1) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + API for managing the lifecycle for a Managed Connector or Custom Connector in Confluent Cloud. Operations currently supported are Pause and Resume. + - name: Status (connect/v1) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + API for requesting the status or the tasks for a Managed Connector or Custom Connector in Confluent Cloud. + - name: Managed Connector Plugins (connect/v1) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + API for Managed connectors in Confluent Cloud. + - name: Offsets (connect/v1) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + API for managing the offsets for a Managed Connector. + + Related guide: [Manage Connector Offsets](https://docs.confluent.io/cloud/current/connectors/offsets.html#manage-offsets-for-fully-managed-connectors-in-ccloud) + - name: Custom Connector Plugins (connect/v1) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + CustomConnectorPlugins objects represent Custom Connector Plugins on Confluent Cloud. + The API allows you to list, create, read, update, and delete your Custom Connector Plugins. + Related guide: + [Custom Connector Plugin API](https://docs.confluent.io/cloud/current/connectors/connect-api-section.html). + + + ## The Custom Connector Plugins Model + + - name: Presigned Urls (connect/v1) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + Request a presigned upload URL for new Custom Connector Plugin. Note that + the URL policy expires in one hour. If the policy expires, you can request + a new presigned upload URL. + + Related guide: + [Custom Connector Plugin API](https://docs.confluent.io/cloud/current/connectors/connect-api-section.html). + + + ## The Presigned Urls Model + + - name: Cluster (v3) + description: '[![Generally Available](https://img.shields.io/badge/Lifecycle%20Stage-Generally%20Available-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy)' + - name: Configs (v3) + description: '[![Generally Available](https://img.shields.io/badge/Lifecycle%20Stage-Generally%20Available-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy)' + - name: ACL (v3) + description: '[![Generally Available](https://img.shields.io/badge/Lifecycle%20Stage-Generally%20Available-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy)' + - name: Consumer Group (v3) + description: '[![Generally Available](https://img.shields.io/badge/Lifecycle%20Stage-Generally%20Available-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy)' + - name: Partition (v3) + description: '[![Generally Available](https://img.shields.io/badge/Lifecycle%20Stage-Generally%20Available-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy)' + - name: Topic (v3) + description: '[![Generally Available](https://img.shields.io/badge/Lifecycle%20Stage-Generally%20Available-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy)' + - name: Records (v3) + description: '[![Generally Available](https://img.shields.io/badge/Lifecycle%20Stage-Generally%20Available-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy)' + - name: Cluster Linking (v3) + description: '[![Generally Available](https://img.shields.io/badge/Lifecycle%20Stage-Generally%20Available-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy)' + - name: Applied Quotas (service-quota/v1) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + A `quota` object represents a quota configuration for a specific Confluent Cloud resource. + Use this API to retrieve an individual quota or list of quotas for a given scope. + + + Related guide: [Service Quotas for Confluent Cloud](https://docs.confluent.io/cloud/current/quotas/index.html). + + ## The Applied Quotas Model + + - name: Scopes (service-quota/v1) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + Gets a list of all available scopes for applied quotas. + + + Related guide: [Quota Scopes](https://docs.confluent.io/cloud/current/quotas/quotas.html#query-for-scopes). + + ## The Scopes Model + + - name: Entitlements (partner/v2) + description: | + [![Early Access](https://img.shields.io/badge/Lifecycle%20Stage-Early%20Access-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) [![Request Access To Partner v2](https://img.shields.io/badge/-Request%20Access%20To%20Partner%20v2-%23bc8540)](mailto:ccloud-api-access+partner-v2-early-access@confluent.io?subject=Request%20to%20join%20partner/v2%20API%20Early%20Access&body=I%E2%80%99d%20like%20to%20join%20the%20Confluent%20Cloud%20API%20Early%20Access%20for%20partner/v2%20to%20provide%20early%20feedback%21%20My%20Cloud%20Organization%20ID%20is%20%3Cretrieve%20from%20https%3A//confluent.cloud/settings/billing/payment%3E.) + + `Entitlement` objects represent metadata about a marketplace entitlement. + + An entitlement includes metadata about a marketplace purchase + (start date, end date, billing information, partner IDs, etc). + The API allows partners to create, read, and list entitlements. (Unless you + need entitlement creation and customer registration to be separate, + we recommend using the Signup API to create an organization and entitlement + at the same time) + + The API only allows authorized partners to interact with the Entitlements API. + - name: Regions (srcm/v2) + description: |- + [![Deprecated](https://img.shields.io/badge/Lifecycle%20Stage-Deprecated-%23ff005c)](#section/Versioning/API-Lifecycle-Policy) + + `Region` objects represent cloud provider regions available when placing Schema Registry clusters. + The API allows you to list Schema Registry regions. + + + Related guides: + * [Confluent Cloud providers and region support](https://docs.confluent.io/cloud/current/stream-governance/packages.html#cloud-providers-and-region-support). + * [srcm/v3 Migration Guide](https://docs.confluent.io/cloud/current/stream-governance/packages.html#deprecation-of-srcm-v2-clusters-and-regions-apis-and-upgrade-guide). + + + ## The Regions Model + + - name: Clusters (srcm/v2) + description: |- + [![Deprecated](https://img.shields.io/badge/Lifecycle%20Stage-Deprecated-%23ff005c)](#section/Versioning/API-Lifecycle-Policy) + + `Clusters` objects represent Schema Registry Clusters on Confluent Cloud. + + The API allows you to list, create, read, and delete your Schema Registry clusters. + + + Related guides: + * [Confluent Cloud Schema Registry Cluster APIs](https://docs.confluent.io/cloud/current/stream-governance/clusters-regions-api.html#schema-registry-cluster-management). + * [srcm/v3 Migration Guide](https://docs.confluent.io/cloud/current/stream-governance/packages.html#deprecation-of-srcm-v2-clusters-and-regions-apis-and-upgrade-guide). + + + ## The Clusters Model + + - name: Clusters (srcm/v3) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + `Clusters` objects represent Schema Registry Clusters on Confluent Cloud. + + The API allows you to list and read your Schema Registry clusters. + + + Related guide: [Confluent Cloud Schema Registry Cluster APIs](https://docs.confluent.io/cloud/current/stream-governance/clusters-regions-api.html#schema-registry-cluster-management). + + ## The Clusters Model + + - name: Compatibility (v1) + description: |- + [![Generally Available](https://img.shields.io/badge/Lifecycle%20Stage-Generally%20Available-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + The API allows you to test schema compatibility. + + Related guide: [Manage Schemas in Confluent Cloud](https://docs.confluent.io/cloud/current/sr/schemas-manage.html#manage-schemas-in-ccloud). + - name: Config (v1) + description: |- + [![Generally Available](https://img.shields.io/badge/Lifecycle%20Stage-Generally%20Available-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + The API allows you to manage and query schema compatibility settings and cluster configurations. + + Related guide: [Manage Schemas in Confluent Cloud](https://docs.confluent.io/cloud/current/sr/schemas-manage.html#manage-schemas-in-ccloud). + - name: Contexts (v1) + description: |- + [![Generally Available](https://img.shields.io/badge/Lifecycle%20Stage-Generally%20Available-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + The API allows you to retrieve information about schema contexts. + + Related guide: [Manage Schemas in Confluent Cloud](https://docs.confluent.io/cloud/current/sr/schemas-manage.html#manage-schemas-in-ccloud). + - name: Exporters (v1) + description: |- + [![Generally Available](https://img.shields.io/badge/Lifecycle%20Stage-Generally%20Available-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + The API allows you to create, retrieve, update, and delete exporters. + + Related guide: [Manage Schemas in Confluent Cloud](https://docs.confluent.io/cloud/current/sr/schemas-manage.html#manage-schemas-in-ccloud). + - name: Modes (v1) + description: |- + [![Generally Available](https://img.shields.io/badge/Lifecycle%20Stage-Generally%20Available-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + The API allows you to create, retrieve, update, and delete schema subjects modes of operation. + + Related guide: [Manage Schemas in Confluent Cloud](https://docs.confluent.io/cloud/current/sr/schemas-manage.html#manage-schemas-in-ccloud). + - name: Schemas (v1) + description: |- + [![Generally Available](https://img.shields.io/badge/Lifecycle%20Stage-Generally%20Available-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + The API allows you to create, retrieve, update, and delete schemas. + + Related guide: [Manage Schemas in Confluent Cloud](https://docs.confluent.io/cloud/current/sr/schemas-manage.html#manage-schemas-in-ccloud). + - name: Subjects (v1) + description: |- + [![Generally Available](https://img.shields.io/badge/Lifecycle%20Stage-Generally%20Available-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + The API allows you to create, retrieve, update, and delete schema subjects and versions. + + Related guide: [Manage Schemas in Confluent Cloud](https://docs.confluent.io/cloud/current/sr/schemas-manage.html#manage-schemas-in-ccloud). + - name: Key Encryption Keys (v1) + description: |- + [![Generally Available](https://img.shields.io/badge/Lifecycle%20Stage-Generally%20Available-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + The API allows you to create, retrieve, update, and delete key encryption keys. + + Related guide: [Manage Schemas in Confluent Cloud](https://docs.confluent.io/cloud/current/sr/schemas-manage.html#manage-schemas-in-ccloud). + - name: Data Encryption Keys (v1) + description: |- + [![Generally Available](https://img.shields.io/badge/Lifecycle%20Stage-Generally%20Available-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + The API allows you to create, retrieve, update, and delete data encryption keys. + + Related guide: [Manage Schemas in Confluent Cloud](https://docs.confluent.io/cloud/current/sr/schemas-manage.html#manage-schemas-in-ccloud). + - name: Entity (v1) + description: |- + [![Generally Available](https://img.shields.io/badge/Lifecycle%20Stage-Generally%20Available-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + The API allows you to create, retrieve, update, and delete catalog entities. + + Related guide: [Catalog API Documentation](https://docs.confluent.io/cloud/current/stream-governance/stream-catalog.html#catalog-api-documentation). + - name: Search (v1) + description: |- + [![Generally Available](https://img.shields.io/badge/Lifecycle%20Stage-Generally%20Available-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + The API allows you to search for entities. + + Related guide: [Catalog API Documentation](https://docs.confluent.io/cloud/current/stream-governance/stream-catalog.html#catalog-api-documentation). + - name: Types (v1) + description: |- + [![Generally Available](https://img.shields.io/badge/Lifecycle%20Stage-Generally%20Available-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + The API allows you to create, retrieve, update, and delete catalog types such as tag definitions. + + Related guide: [Catalog API Documentation](https://docs.confluent.io/cloud/current/stream-governance/stream-catalog.html#catalog-api-documentation). + - name: Provider Shared Resources (cdx/v1) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + `ProviderSharedResource` object contains details of the data stream + (topic, schema registry subjects, sharing metadata) that you have shared through Stream Sharing. + + + ## The Provider Shared Resources Model + + - name: Provider Shares (cdx/v1) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + `ProviderShare` object respresents the share that you have created through Stream Sharing. + + + Related guide: [Provider Stream Shares in Confluent Cloud](https://docs.confluent.io/cloud/current/stream-sharing/produce-shared-data.html#stream-shares). + + ## The Provider Shares Model + + - name: Consumer Shared Resources (cdx/v1) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + `ConsumerSharedResource` object contains details of the data stream + (topic, schema registry subjects, sharing metadata) that you received through Stream Sharing. + + + ## The Consumer Shared Resources Model + + - name: Consumer Shares (cdx/v1) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + `ConsumerShare` object respresents the share that you received through Stream Sharing. + + + Related guide: [Consumer Stream Shares in Confluent Cloud](https://docs.confluent.io/cloud/current/stream-sharing/consume-shared-data.html). + + ## The Consumer Shares Model + + - name: Shared Tokens (cdx/v1) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + Encrypted Token shared with consumer + + + ## The Shared Tokens Model + + - name: Opt Ins (cdx/v1) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + Stream sharing opt in options + + ## The Opt Ins Model + + - name: Organizations (partner/v2) + description: | + [![Early Access](https://img.shields.io/badge/Lifecycle%20Stage-Early%20Access-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) [![Request Access To Partner v2](https://img.shields.io/badge/-Request%20Access%20To%20Partner%20v2-%23bc8540)](mailto:ccloud-api-access+partner-v2-early-access@confluent.io?subject=Request%20to%20join%20partner/v2%20API%20Early%20Access&body=I%E2%80%99d%20like%20to%20join%20the%20Confluent%20Cloud%20API%20Early%20Access%20for%20partner/v2%20to%20provide%20early%20feedback%21%20My%20Cloud%20Organization%20ID%20is%20%3Cretrieve%20from%20https%3A//confluent.cloud/settings/billing/payment%3E.) + + `Organizations` objects represent an entire Confluent Cloud organization. + Partners are allowed to get an organization they have signed up or + list all organizations they have signed up. + - name: Signup (partner/v2) + description: | + [![Early Access](https://img.shields.io/badge/Lifecycle%20Stage-Early%20Access-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) [![Request Access To Partner v2](https://img.shields.io/badge/-Request%20Access%20To%20Partner%20v2-%23bc8540)](mailto:ccloud-api-access+partner-v2-early-access@confluent.io?subject=Request%20to%20join%20partner/v2%20API%20Early%20Access&body=I%E2%80%99d%20like%20to%20join%20the%20Confluent%20Cloud%20API%20Early%20Access%20for%20partner/v2%20to%20provide%20early%20feedback%21%20My%20Cloud%20Organization%20ID%20is%20%3Cretrieve%20from%20https%3A//confluent.cloud/settings/billing/payment%3E.) + + `Signup` APIs can only be performed by partners. + - name: Networks (networking/v1) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + `Network` represents a network (VPC) in Confluent Cloud. All Networks exist within Confluent-managed cloud + provider accounts. Dedicated networks support more networking options but can only contain Dedicated clusters. + Shared networks can contain any cluster type. + + The API allows you to list, create, read, update, and delete your networks. + + + Related guide: [APIs to manage networks in Confluent Cloud](https://docs.confluent.io/cloud/current/networking/overview.html). + + ## The Networks Model + + + ## Quotas and Limits + This resource is subject to the [following quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): + + | Quota | Description | + | --- | --- | + | `dedicated_networks_per_environment` | Number of dedicated networks per Confluent Cloud environment | + - name: Peerings (networking/v1) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + Add or remove VPC/VNet peering connections between your VPC/VNet and Confluent Cloud. + + Related guides: + * [Use VPC peering connections with Confluent Cloud on AWS](https://docs.confluent.io/cloud/current/networking/peering/aws-peering.html). + * [Use VNet peering connections with Confluent Cloud on Azure](https://docs.confluent.io/cloud/current/networking/peering/azure-peering.html). + * [Use VPC peering connections with Confluent Cloud on Google Cloud](https://docs.confluent.io/cloud/current/networking/peering/gcp-peering.html). + + + ## The Peerings Model + + + ## Quotas and Limits + This resource is subject to the [following quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): + + | Quota | Description | + | --- | --- | + | `peerings_per_network` | Number of peerings per network | + - name: Transit Gateway Attachments (networking/v1) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + AWS Transit Gateway Attachments + + Related guide: [APIs to manage AWS Transit Gateway Attachments](https://docs.confluent.io/cloud/current/networking/aws-transit-gateway.html). + + ## The Transit Gateway Attachments Model + + + ## Quotas and Limits + This resource is subject to the [following quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): + + | Quota | Description | + | --- | --- | + | `tgw_attachments_per_network` | Number of TGW attachments per network | + - name: Private Link Accesses (networking/v1) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + Add or remove access to PrivateLink endpoints by AWS account, Azure subscription and GCP project ID. + + Related guides: + * [Use Google Cloud Private Service Connect with Confluent Cloud](https://docs.confluent.io/cloud/current/networking/private-links/gcp-private-service-connect.html). + * [Use Azure Private Link with Confluent Cloud](https://docs.confluent.io/cloud/current/networking/private-links/azure-privatelink.html). + * [Use AWS PrivateLink with Confluent Cloud](https://docs.confluent.io/cloud/current/networking/private-links/aws-privatelink.html). + + + ## The Private Link Accesses Model + + + ## Quotas and Limits + This resource is subject to the [following quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): + + | Quota | Description | + | --- | --- | + | `private_link_accounts_per_network` | Number of AWS accounts per network | + | `private_link_subscriptions_per_network` | Number of Azure subscriptions per network | + | `private_service_connect_projects_per_network` | Number of GCP projects per network | + - name: Network Link Services (networking/v1) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + Network Link Service is associated with a Private Link Confluent Cloud Network. + It enables connectivity from other Private Link Confluent Cloud Networks based on + the configured accept policies. + + + Related guide: [Network Linking Overview](https://docs.confluent.io/cloud/current/networking/network-linking.html). + + ## The Network Link Services Model + + + ## Quotas and Limits + This resource is subject to the [following quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): + + | Quota | Description | + | --- | --- | + | `network_link_service_per_network` | Number of network link services per network | + - name: Network Link Endpoints (networking/v1) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + A Network Link Enpoint is associated with a Private Link Confluent Cloud Network at the origin and a + Network Link Service (associated with another Private Link Confluent Cloud Network) at the target. + It enables connectivity between the origin network and the target network. + It can only be associated with a Private Link network. + + + Related guide: [Network Linking Overview](https://docs.confluent.io/cloud/current/networking/network-linking.html). + + ## The Network Link Endpoints Model + + + ## Quotas and Limits + This resource is subject to the [following quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): + + | Quota | Description | + | --- | --- | + | `network_link_endpoints_per_network` | Number of network link endpoints per network | + - name: Network Link Service Associations (networking/v1) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + List of incoming Network Link Enpoints associated with the Network Link Service. + + + Related guide: [Network Linking Overview](https://docs.confluent.io/cloud/current/networking/network-linking.html). + + ## The Network Link Service Associations Model + + - name: Gateways (networking/v1) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + A gateway is a resource that defines network access to Confluent cloud resources. + + + ## The Gateways Model + + - name: IP Addresses (networking/v1) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + IP Addresses + + Related guide: [Use Public Egress IP addresses on Confluent Cloud](https://docs.confluent.io/cloud/current/networking/static-egress-ip-addresses.html) + + ## The IP Addresses Model + + - name: Private Link Attachments (networking/v1) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + PrivateLink attachment objects represent reservations to establish PrivateLink connections + to a cloud region in order to access resources that belong to a Confluent Cloud Environment. + The API allows you to list, create, read update and delete your PrivateLink attachments. + + + ## The Private Link Attachments Model + + + ## Quotas and Limits + This resource is subject to the [following quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): + + | Quota | Description | + | --- | --- | + | `private_link_attachments_per_environment` | Number of PrivateLink Attachments per environment | + - name: Private Link Attachment Connections (networking/v1) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + PrivateLink attachment connection objects represent connections established to a cloud region + in order to access resources that belong to a Confluent Cloud Environment. + The API allows you to list, create, read update and delete your PrivateLink attachment connections. + + + ## The Private Link Attachment Connections Model + + - name: Identity Providers (iam/v2) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + `IdentityProvider` objects represent external OAuth-OIDC providers in Confluent Cloud. + + The API allows you to list, create, read, update, and delete your Identity Provider. + + + Related guide: [OAuth for Confluent Cloud](https://docs.confluent.io/cloud/current/access-management/authenticate/oauth/overview.html). + + ## The Identity Providers Model + + + ## Quotas and Limits + This resource is subject to the [following quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): + + | Quota | Description | + | --- | --- | + | `identity_providers_per_org` | Number of OAuth identity providers per organization | + | `public_keys_per_provider` | Number of public keys saved per identity provider | + - name: Jwks (iam/v2) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + `JWKS` objects represent public key sets for a specific OAuth/OpenID Connect provider within + Confluent Cloud. + + The API allows you to refresh JWKS public key data. + + + Related guide: [OAuth for Confluent Cloud](https://docs.confluent.io/cloud/current/access-management/authenticate/oauth/overview.html). + + ## The Jwks Model + + - name: Identity Pools (iam/v2) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + `IdentityPool` objects represent groups of identities tied to a given a `IdentityProvider` + that authorizes them to Confluent Cloud resources. + + It provides a mapping functionality of your `Identity Provider` user to a Confluent identity pool that + is then used to provide access to Confluent Resources. + + + Related guide: [Use identity pools with your OAuth provider](https://docs.confluent.io/cloud/current/access-management/authenticate/oauth/identity-pools.html). + + ## The Identity Pools Model + + + ## Quotas and Limits + This resource is subject to the [following quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): + + | Quota | Description | + | --- | --- | + | `identity_pools_per_provider` | Number of Identity Pools per Identity Provider | + - name: OAuth Tokens (sts/v1) + description: | + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + OAuth Token is a [JSON Web Token (JWT)](https://www.rfc-editor.org/rfc/rfc7519) that enables the use of + external identities to access Confluent Cloud APIs + - name: Client Quotas (kafka-quotas/v1) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + `ClientQuota` objects represent Client Quotas you can set at the service account level. + + The API allows you to list, create, read, update, and delete your client quotas. + + + Related guide: [Client Quotas in Confluent Cloud](https://docs.confluent.io/cloud/current/clusters/client-quotas.html). + + ## The Client Quotas Model + + - name: Pipelines (sd/v1) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + `Pipeline` objects represent information about a user-defined pipeline of Confluent Cloud components. + The pipeline's content is available separately. + + The API allows you to create, retrieve, update, and delete your pipelines, + as well as list all of your pipelines for the particular environment and Kafka cluster. + + + Related guide: [Pipelines in Confluent Cloud](https://docs.confluent.io/cloud/current/stream-designer/). + + ## The Pipelines Model + + + ## Quotas and Limits + This resource is subject to the [following quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): + + | Quota | Description | + | --- | --- | + | `pipelines_per_org` | Pipelines in one Confluent Cloud organization | + | `pipelines_per_cluster` | Pipelines in one Confluent Cloud Kafka cluster | + - name: Keys (byok/v1) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + `Key` objects represent customer managed keys on dedicated Confluent Cloud clusters. + + Keys are used to protect data at rest stored in your dedicated Confluent Cloud clusters on AWS, Azure, and GCP. + This API allows you to upload and retrieve self-managed keys on Confluent Cloud. + + + Related guide: [Confluent Cloud Bring Your Own Key (BYOK) Management API](https://docs.confluent.io/cloud/current/clusters/byok/index.html). + + ## The Keys Model + + + ## Quotas and Limits + This resource is subject to the [following quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): + + | Quota | Description | + | --- | --- | + | `byok.max_keys.per_org` | BYOK keys in one Confluent Cloud organisation. | + - name: Costs (billing/v1) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + `Cost` objects represent the aggregated billing costs for an organization + + + Related guide: [Retrieve costs for a range of dates](https://docs.confluent.io/cloud/current/billing/overview.html#retrieve-costs-for-a-range-of-dates). + + ## The Costs Model + + - name: Group Mappings (iam/v2/sso) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + `GroupMapping` objects establish relationships between user groups in your SSO + identity provider and specific RBAC roles in Confluent Cloud. + + Group mappings enable automated and secure access control to Confluent Cloud resources, + reducing administrative workload by streamlining user provisioning and authorization. + + + Related guide: [Use group mappings with your SSO identity provider](https://docs.confluent.io/cloud/current/access-management/authenticate/sso/group-mapping/overview.html). + + ## The Group Mappings Model + + + ## Quotas and Limits + This resource is subject to the [following quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): + + | Quota | Description | + | --- | --- | + | `group_mappings_per_org` | Number of group mappings per organization | + - name: Compute Pools (fcpm/v2) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + A Compute Pool represents a set of compute resources that is used to run your Queries. + The resources (CPUs, memory,…) provided by a Compute Pool are shared between all Queries that use it. + + + ## The Compute Pools Model + + - name: Regions (fcpm/v2) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + `Region` objects represent cloud provider regions available when placing Flink compute pools. + The API allows you to list Flink regions. + + + ## The Regions Model + + - name: Statements (sql/v1) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + `Statement` represents a core resource used to model SQL statements for execution. + A statement generalizes DDL, DML, DQL, etc., but doesn’t attempt to handle session + management or any higher-level functionality. + The API allows you to list, create, read, and delete your statements. + ## The Statements Model + + - name: Statement Results (sql/v1) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + `StatementResult` represents a result of a `Statement` resource. + The API allows you to read your statement's results. + ## The Statement Results Model + + - name: Statement Exceptions (sql/v1) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + `StatementException` represents an exception of a `Statement` resource. + The API allows you to read your statement's exceptions. + ## The Statement Exceptions Model + + - name: Connections (sql/v1) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + `Connection` represents a core resource used to model SQL connections for execution. + A connection generalizes DDL, DML, DQL, etc., but doesn’t attempt to handle session + management or any higher-level functionality. + The API allows you to list, create, read, and delete your connections. + ## The Connections Model + + - name: DNS Forwarders (networking/v1) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + Add, remove, and update DNS forwarder for your gateway. + + Related guides: + * [Use VPC peering connections with Confluent Cloud on AWS](https://docs.confluent.io/cloud/current/networking/peering/aws-peering.html). + * [Use VNet peering connections with Confluent Cloud on Azure](https://docs.confluent.io/cloud/current/networking/peering/azure-peering.html). + + + ## The DNS Forwarders Model + + - name: Access Points (networking/v1) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + AccessPoint objects represent network connections in and out of Gateways. + This API allows you to list, create, read, update, and delete your access points. + + + ## The Access Points Model + + - name: DNS Records (networking/v1) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + DNS record objects are associated with Confluent Cloud networking resources. This API allows you to list, create, read, update, and delete your DNS records. + + ## The DNS Records Model + + - name: Certificate Authorities (iam/v2) + description: |- + [![Limited Availability](https://img.shields.io/badge/Lifecycle%20Stage-Limited%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + `CertificateAuthority` objects represent signing certificate authorities in Confluent Cloud. + + The API allows you to list, create, read, update, and delete your Certificate Authority. + + + Related guide: [Manage certificate authorities used for client authentication with X.509 certificates.](https://docs.confluent.io/cloud/current/access-management/authenticate/mtls/overview.html). + + ## The Certificate Authorities Model + + + ## Quotas and Limits + This resource is subject to the [following quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): + + | Quota | Description | + | --- | --- | + | `certificate_authorities_per_org` | Number of certificate authorities per organization | + - name: Certificate Identity Pools (iam/v2) + description: |- + [![Limited Availability](https://img.shields.io/badge/Lifecycle%20Stage-Limited%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + `Identitypool` objects represent workload identities in Confluent Cloud. + + The API allows you to list, create, read, update, and delete your identity pools associated + with Certificate Authorities + + + Related guide: [Manage Certificate Identity Pools for Granular Client Access Management](https://docs.confluent.io/cloud/current/access-management/authenticate/mtls/configure.html#step-2-create-certificate-identity-pools-for-granular-access-control). + + ## The Certificate Identity Pools Model + + + ## Quotas and Limits + This resource is subject to the [following quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): + + | Quota | Description | + | --- | --- | + | `identity_pools_per_certificate_authority` | Number of Identity Pools per Certificate Authority | + - name: Integrations (pim/v1) + description: |- + [![Early Access](https://img.shields.io/badge/Lifecycle%20Stage-Early%20Access-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) [![Request Access To Provider Integration](https://img.shields.io/badge/-Request%20Access%20To%20Provider%20Integration-%23bc8540)](mailto:ccloud-api-access+pim-v1-early-access@confluent.io?subject=Request%20to%20join%20pim/v1%20API%20Early%20Access&body=I%E2%80%99d%20like%20to%20join%20the%20Confluent%20Cloud%20API%20Early%20Access%20for%20pim/v1%20to%20provide%20early%20feedback%21%20My%20Cloud%20Organization%20ID%20is%20%3Cretrieve%20from%20https%3A//confluent.cloud/settings/billing/payment%3E.) + + `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, and delete individual integrations, and also obtain a + list of all your provider integrations. + + + Related guide: [Provider Integration in Confluent Cloud](https://docs.confluent.io/home/overview.html). + + ## The Integrations Model + + - name: Flink Artifacts (artifact/v1) + description: |- + [![Early Access](https://img.shields.io/badge/Lifecycle%20Stage-Early%20Access-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) [![Request Access To Flink Artifact API EA](https://img.shields.io/badge/-Request%20Access%20To%20Flink%20Artifact%20API%20EA-%23bc8540)](mailto:ccloud-api-access+artifact-v1-early-access@confluent.io?subject=Request%20to%20join%20artifact/v1%20API%20Early%20Access&body=I%E2%80%99d%20like%20to%20join%20the%20Confluent%20Cloud%20API%20Early%20Access%20for%20artifact/v1%20to%20provide%20early%20feedback%21%20My%20Cloud%20Organization%20ID%20is%20%3Cretrieve%20from%20https%3A//confluent.cloud/settings/billing/payment%3E.) + + FlinkArtifact objects represent Flink Artifacts on Confluent Cloud. + + + ## The Flink Artifacts Model + + - name: Presigned Urls (artifact/v1) + description: |- + [![Early Access](https://img.shields.io/badge/Lifecycle%20Stage-Early%20Access-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) [![Request Access To Flink Artifact API EA](https://img.shields.io/badge/-Request%20Access%20To%20Flink%20Artifact%20API%20EA-%23bc8540)](mailto:ccloud-api-access+artifact-v1-early-access@confluent.io?subject=Request%20to%20join%20artifact/v1%20API%20Early%20Access&body=I%E2%80%99d%20like%20to%20join%20the%20Confluent%20Cloud%20API%20Early%20Access%20for%20artifact/v1%20to%20provide%20early%20feedback%21%20My%20Cloud%20Organization%20ID%20is%20%3Cretrieve%20from%20https%3A//confluent.cloud/settings/billing/payment%3E.) + + Request a presigned upload URL for new Flink Artifact. Note that + the URL policy expires in one hour. If the policy expires, you can request + a new presigned upload URL. + + + ## The Presigned Urls Model + + - name: Flink Artifact Versions (artifact/v1) + description: |- + [![Early Access](https://img.shields.io/badge/Lifecycle%20Stage-Early%20Access-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) [![Request Access To Flink Artifact API EA](https://img.shields.io/badge/-Request%20Access%20To%20Flink%20Artifact%20API%20EA-%23bc8540)](mailto:ccloud-api-access+artifact-v1-early-access@confluent.io?subject=Request%20to%20join%20artifact/v1%20API%20Early%20Access&body=I%E2%80%99d%20like%20to%20join%20the%20Confluent%20Cloud%20API%20Early%20Access%20for%20artifact/v1%20to%20provide%20early%20feedback%21%20My%20Cloud%20Organization%20ID%20is%20%3Cretrieve%20from%20https%3A//confluent.cloud/settings/billing/payment%3E.) + + FlinkArtifactVersion objects represent Flink Artifact Versions on Confluent Cloud. + + + ## The Flink Artifact Versions Model + +components: + schemas: + SearchFilter: + description: Filter a collection by a string search + type: string + service-quota.v1.AppliedQuotaList: + type: object + description: |- + A `quota` object represents a quota configuration for a specific Confluent Cloud resource. + Use this API to retrieve an individual quota or list of quotas for a given scope. + + + Related guide: [Service Quotas for Confluent Cloud](https://docs.confluent.io/cloud/current/quotas/index.html). + + ## The Applied Quotas Model + + required: + - api_version + - kind + - metadata + - data + properties: + api_version: + type: string + enum: + - service-quota/v1 + 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: + - AppliedQuotaList + metadata: + allOf: + - $ref: '#/components/schemas/ListMeta' + - properties: + first: + example: 'https://api.confluent.cloud/service-quota/v1/applied-quotas' + last: + example: 'https://api.confluent.cloud/service-quota/v1/applied-quotas?page_token=bcAOehAY8F16YD84Z1wT' + prev: + example: 'https://api.confluent.cloud/service-quota/v1/applied-quotas?page_token=YIXRY97wWYmwzrax4dld' + next: + example: 'https://api.confluent.cloud/service-quota/v1/applied-quotas?page_token=UvmDWOB1iwfAIBPj6EYb' + data: + type: array + description: A data property that contains an array of resource items. Each entry in the array is a separate resource. + items: + allOf: + - $ref: '#/components/schemas/service-quota.v1.AppliedQuota' + - type: object + required: + - id + - metadata + - scope + - display_name + - default_limit + - applied_limit + uniqueItems: true + ListMeta: + type: object + description: ListMeta describes metadata that resource collections may have + properties: + first: + description: 'A link to the first page of results. If a response does not contain a first link, then direct navigation to the first page is not supported.' + type: string + 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 + service-quota.v1.AppliedQuota: + type: object + description: |- + A `quota` object represents a quota configuration for a specific Confluent Cloud resource. + Use this API to retrieve an individual quota or list of quotas for a given scope. + + + Related guide: [Service Quotas for Confluent Cloud](https://docs.confluent.io/cloud/current/quotas/index.html). + + ## The Applied Quotas Model + + properties: + api_version: + type: string + enum: + - service-quota/v1 + 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: + - AppliedQuota + 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 + metadata: + allOf: + - $ref: '#/components/schemas/ObjectMeta' + - properties: + self: + example: 'https://api.confluent.cloud/service-quota/v1/applied-quotas/aq-12345' + resource_name: + example: 'crn://confluent.cloud/organization=9bb441c4-edef-46ac-8a41-c49e44a3fd9a/applied-quota=aq-12345' + scope: + type: string + description: The applied scope that this quota belongs to. + example: ORGANIZATION + x-extensible-enum: + - ORGANIZATION + - ENVIRONMENT + - NETWORK + - KAFKA_CLUSTER + - SERVICE_ACCOUNT + - USER_ACCOUNT + display_name: + type: string + example: Kafka Cluster Per Organization + description: A human-readable name for the quota type name. + x-immutable: true + default_limit: + type: integer + format: int32 + description: | + The default service quota value. + applied_limit: + type: integer + format: int32 + description: | + The latest applied service quota value, taking into account any limit adjustments. + usage: + type: integer + description: | + Show the quota usage value if the quota usage is available for this quota. + format: int32 + user: + allOf: + - $ref: '#/components/schemas/GlobalObjectReference' + description: The user associated with this object. + x-immutable: true + organization: + allOf: + - $ref: '#/components/schemas/GlobalObjectReference' + nullable: true + description: A unique organization id to associate a specific organization to this quota. + environment: + allOf: + - $ref: '#/components/schemas/GlobalObjectReference' + nullable: true + description: | + The environment ID the quota is associated with. + x-immutable: true + network: + allOf: + - $ref: '#/components/schemas/EnvScopedObjectReference' + nullable: true + description: | + The network ID the quota is associated with. + x-immutable: true + kafka_cluster: + allOf: + - $ref: '#/components/schemas/EnvScopedObjectReference' + nullable: true + description: | + The kafka cluster ID the quota is associated with. + x-immutable: true + AclOperation: + type: string + x-extensible-enum: + - UNKNOWN + - ANY + - ALL + - READ + - WRITE + - CREATE + - DELETE + - ALTER + - DESCRIBE + - CLUSTER_ACTION + - DESCRIBE_CONFIGS + - ALTER_CONFIGS + - IDEMPOTENT_WRITE + AclPatternType: + type: string + x-extensible-enum: + - UNKNOWN + - ANY + - MATCH + - LITERAL + - PREFIXED + AclPermission: + type: string + x-extensible-enum: + - UNKNOWN + - ANY + - DENY + - ALLOW + AclResourceType: + type: string + enum: + - UNKNOWN + - ANY + - TOPIC + - GROUP + - CLUSTER + - TRANSACTIONAL_ID + - DELEGATION_TOKEN + BrokerTaskType: + type: string + enum: + - add-broker + - remove-broker + MirrorTopicStatus: + enum: + - ACTIVE + - FAILED + - LINK_FAILED + - LINK_PAUSED + - PAUSED + - PENDING_STOPPED + - SOURCE_UNAVAILABLE + - STOPPED + - PENDING_MIRROR + - PENDING_SYNCHRONIZE + - PENDING_SETUP_FOR_RESTORE + - PENDING_RESTORE + type: string + Failure: + type: object + description: Provides information about problems encountered while performing an operation. + required: + - errors + properties: + errors: + description: List of errors which caused this operation to fail + type: array + items: + $ref: '#/components/schemas/Error' + uniqueItems: true + AlterConfigBatchRequestData: + type: object + required: + - data + properties: + data: + type: array + items: + type: object + required: + - name + properties: + name: + type: string + value: + type: string + nullable: true + operation: + type: string + x-extensible-enum: + - SET + - DELETE + nullable: true + validate_only: + type: boolean + CreateAclRequestData: + type: object + required: + - resource_type + - resource_name + - pattern_type + - principal + - host + - operation + - permission + properties: + resource_type: + $ref: '#/components/schemas/AclResourceType' + resource_name: + type: string + pattern_type: + $ref: '#/components/schemas/AclPatternType' + principal: + type: string + host: + type: string + operation: + $ref: '#/components/schemas/AclOperation' + permission: + $ref: '#/components/schemas/AclPermission' + CreateAclRequestDataList: + allOf: + - type: object + required: + - data + properties: + data: + type: array + items: + $ref: '#/components/schemas/CreateAclRequestData' + CreateTopicRequestData: + type: object + required: + - topic_name + properties: + topic_name: + type: string + partitions_count: + type: integer + replication_factor: + type: integer + configs: + type: array + items: + type: object + required: + - name + properties: + name: + type: string + value: + type: string + nullable: true + validate_only: + type: boolean + ProduceRequest: + type: object + properties: + partition_id: + type: integer + nullable: true + format: int32 + headers: + type: array + items: + $ref: '#/components/schemas/ProduceRequestHeader' + key: + $ref: '#/components/schemas/ProduceRequestData' + value: + $ref: '#/components/schemas/ProduceRequestData' + timestamp: + type: string + format: date-time + nullable: true + UpdateConfigRequestData: + type: object + properties: + value: + type: string + nullable: true + CreateLinkRequestData: + properties: + source_cluster_id: + type: string + destination_cluster_id: + type: string + remote_cluster_id: + description: The expected remote cluster ID. + type: string + cluster_link_id: + description: 'The expected cluster link ID. Can be provided when creating the second side of a bidirectional link for validating the link ID is as expected. If it''s not provided, it''s inferred from the remote cluster.' + type: string + configs: + items: + $ref: '#/components/schemas/ConfigData' + type: array + type: object + UpdateLinkConfigRequestData: + properties: + value: + type: string + required: + - value + type: object + CreateMirrorTopicRequestData: + properties: + source_topic_name: + type: string + mirror_topic_name: + type: string + replication_factor: + type: integer + configs: + type: array + items: + $ref: '#/components/schemas/ConfigData' + required: + - source_topic_name + type: object + AlterMirrorsRequestData: + properties: + mirror_topic_names: + description: The mirror topics specified as a list of topic names. + type: array + items: + type: string + mirror_topic_name_pattern: + description: The mirror topics specified as a pattern. + type: string + type: object + RemoveBrokersRequestData: + properties: + broker_ids: + type: array + items: + type: integer + required: + - broker_ids + type: object + BrokerReplicaExclusionBatchRequestData: + type: object + required: + - data + properties: + data: + type: array + items: + $ref: '#/components/schemas/BrokerReplicaExclusionRequestData' + ObjectMeta: + description: 'ObjectMeta is metadata that all persisted resources must have, which includes all objects users must create.' + required: + - self + properties: + self: + description: 'Self is a Uniform Resource Locator (URL) at which an object can be addressed. This URL encodes the service location, API version, and other particulars necessary to locate the resource at a point in time' + type: string + format: uri + readOnly: true + example: 'https://api.confluent.cloud/v2/kafka-clusters/lkc-f3a90de' + resource_name: + description: Resource Name is a Uniform Resource Identifier (URI) that is globally unique across space and time. It is represented as a Confluent Resource Name + type: string + format: uri + readOnly: true + example: 'crn://confluent.cloud/kafka=lkc-f3a90de' + created_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: The date and time at which this object was created. It is represented in RFC3339 format and is in UTC. + updated_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: The date and time at which this object was last updated. It is represented in RFC3339 format and is in UTC. + deleted_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: The date and time at which this object was (or will be) deleted. It is represented in RFC3339 format and is in UTC. + readOnly: true + GlobalObjectReference: + type: object + description: ObjectReference provides information for you to locate the referred object + required: + - id + - related + - resource_name + properties: + id: + type: string + description: ID of the referred resource + minLength: 1 + maxLength: 255 + related: + type: string + format: uri + description: API URL for accessing or modifying the referred object + minLength: 1 + readOnly: true + resource_name: + type: string + format: uri + description: CRN reference to the referred resource + minLength: 1 + readOnly: true + EnvScopedObjectReference: + 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 + Error: + type: object + description: Describes a particular error encountered while performing an operation. + properties: + id: + description: A unique identifier for this particular occurrence of the problem. + type: string + maxLength: 255 + status: + description: 'The HTTP status code applicable to this problem, expressed as a string value.' + type: string + code: + description: 'An application-specific error code, expressed as a string value.' + type: string + title: + description: 'A short, human-readable summary of the problem. It **SHOULD NOT** change from occurrence to occurrence of the problem, except for purposes of localization.' + type: string + detail: + description: A human-readable explanation specific to this occurrence of the problem. + type: string + source: + type: object + description: 'If this error was caused by a particular part of the API request, the source will point to the query string parameter or request body property that caused it.' + properties: + pointer: + description: 'A JSON Pointer [RFC6901] to the associated entity in the request document [e.g. "/spec" for a spec object, or "/spec/title" for a specific field].' + type: string + parameter: + description: A string indicating which query parameter caused the error. + type: string + error_code: + type: integer + format: int32 + message: + type: string + nullable: true + additionalProperties: false + ProduceRequestHeader: + type: object + required: + - name + properties: + name: + type: string + value: + type: string + format: byte + nullable: true + ProduceRequestData: + type: object + properties: + type: + type: string + x-extensible-enum: + - BINARY + - JSON + - STRING + data: + $ref: '#/components/schemas/AnyValue' + nullable: true + ConfigData: + example: + name: name + value: value + properties: + name: + type: string + value: + nullable: true + type: string + required: + - name + - value + BrokerReplicaExclusionRequestData: + type: object + required: + - broker_id + - reason + properties: + broker_id: + type: integer + reason: + type: string + AnyValue: + nullable: true + service-quota.v1.ScopeList: + type: object + description: |- + Gets a list of all available scopes for applied quotas. + + + Related guide: [Quota Scopes](https://docs.confluent.io/cloud/current/quotas/quotas.html#query-for-scopes). + + ## The Scopes Model + + required: + - api_version + - kind + - metadata + - data + properties: + api_version: + type: string + enum: + - service-quota/v1 + 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: + - ScopeList + metadata: + allOf: + - $ref: '#/components/schemas/ListMeta' + - properties: + first: + example: 'https://api.confluent.cloud/service-quota/v1/scopes' + last: + example: 'https://api.confluent.cloud/service-quota/v1/scopes?page_token=bcAOehAY8F16YD84Z1wT' + prev: + example: 'https://api.confluent.cloud/service-quota/v1/scopes?page_token=YIXRY97wWYmwzrax4dld' + next: + example: 'https://api.confluent.cloud/service-quota/v1/scopes?page_token=UvmDWOB1iwfAIBPj6EYb' + data: + type: array + description: A data property that contains an array of resource items. Each entry in the array is a separate resource. + items: + allOf: + - $ref: '#/components/schemas/service-quota.v1.Scope' + - type: object + required: + - id + - metadata + - description + uniqueItems: true + service-quota.v1.Scope: + type: object + description: |- + Gets a list of all available scopes for applied quotas. + + + Related guide: [Quota Scopes](https://docs.confluent.io/cloud/current/quotas/quotas.html#query-for-scopes). + + ## The Scopes Model + + properties: + api_version: + type: string + enum: + - service-quota/v1 + 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: + - Scope + 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 + metadata: + allOf: + - $ref: '#/components/schemas/ObjectMeta' + - properties: + self: + example: 'https://api.confluent.cloud/service-quota/v1/scopes/s-12345' + resource_name: + example: 'crn://confluent.cloud/organization=9bb441c4-edef-46ac-8a41-c49e44a3fd9a/scope=s-12345' + description: + type: string + description: the quota scope for listing quotas queries + example: ORGANIZATION scope that quotas would be applied to + kafka-quotas.v1.ClientQuotaList: + type: object + description: |- + `ClientQuota` objects represent Client Quotas you can set at the service account level. + + The API allows you to list, create, read, update, and delete your client quotas. + + + Related guide: [Client Quotas in Confluent Cloud](https://docs.confluent.io/cloud/current/clusters/client-quotas.html). + + ## The Client Quotas Model + + required: + - api_version + - kind + - metadata + - data + properties: + api_version: + type: string + enum: + - kafka-quotas/v1 + 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: + - ClientQuotaList + metadata: + allOf: + - $ref: '#/components/schemas/ListMeta' + - properties: + first: + example: 'https://api.confluent.cloud/kafka-quotas/v1/client-quotas' + last: + example: 'https://api.confluent.cloud/kafka-quotas/v1/client-quotas?page_token=bcAOehAY8F16YD84Z1wT' + prev: + example: 'https://api.confluent.cloud/kafka-quotas/v1/client-quotas?page_token=YIXRY97wWYmwzrax4dld' + next: + example: 'https://api.confluent.cloud/kafka-quotas/v1/client-quotas?page_token=UvmDWOB1iwfAIBPj6EYb' + data: + type: array + description: A data property that contains an array of resource items. Each entry in the array is a separate resource. + items: + allOf: + - $ref: '#/components/schemas/kafka-quotas.v1.ClientQuota' + - type: object + required: + - id + - metadata + - spec + properties: + spec: + type: object + required: + - display_name + - throughput + - cluster + - principals + - environment + uniqueItems: true + kafka-quotas.v1.ClientQuota: + type: object + description: |- + `ClientQuota` objects represent Client Quotas you can set at the service account level. + + The API allows you to list, create, read, update, and delete your client quotas. + + + Related guide: [Client Quotas in Confluent Cloud](https://docs.confluent.io/cloud/current/clusters/client-quotas.html). + + ## The Client Quotas Model + + properties: + api_version: + type: string + enum: + - kafka-quotas/v1 + 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: + - ClientQuota + 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 + metadata: + allOf: + - $ref: '#/components/schemas/ObjectMeta' + - properties: + self: + example: 'https://api.confluent.cloud/kafka-quotas/v1/client-quotas/cq-12345' + resource_name: + example: 'crn://confluent.cloud/organization=9bb441c4-edef-46ac-8a41-c49e44a3fd9a/client-quota=cq-12345' + spec: + $ref: '#/components/schemas/kafka-quotas.v1.ClientQuotaSpec' + kafka-quotas.v1.ClientQuotaSpec: + type: object + description: The desired state of the Client Quota + properties: + display_name: + type: string + description: The name of the client quota. + example: QuotaForSA1 + description: + type: string + example: This quota defines limits on how much the target principals can use cluster lkc-xxxxx + description: A human readable description for the client quota. + throughput: + type: object + description: Throughput for the client quota. + allOf: + - $ref: '#/components/schemas/kafka-quotas.v1.Throughput' + cluster: + allOf: + - $ref: '#/components/schemas/EnvScopedObjectReference' + description: | + The ID of the Dedicated Kafka cluster where the client quota is applied. + x-immutable: true + principals: + type: array + items: + $ref: '#/components/schemas/GlobalObjectReference' + description: | + A list of principals to apply a client quota to. + Use `""` to apply a client quota to all service accounts + (see [Control application usage with Client Quotas](https://docs.confluent.io/cloud/current/clusters/client-quotas.html#control-application-usage-with-client-quotas) for more details). + minItems: 1 + environment: + allOf: + - $ref: '#/components/schemas/GlobalObjectReference' + description: The environment to which this belongs. + x-immutable: true + x-enable-id: true + x-enable-listmeta: true + x-enable-objectmeta: true + kafka-quotas.v1.Throughput: + description: Quotas on maximum throughput + required: + - ingress_byte_rate + - egress_byte_rate + properties: + ingress_byte_rate: + type: string + format: int64 + example: '5' + description: Ingress throughput limit for principals specified in bytes per second. + egress_byte_rate: + type: string + format: int64 + example: '5' + description: Egress throughput limit for principals specified in bytes per second. + kafka-quotas.v1.ClientQuotaUpdate: + type: object + description: |- + `ClientQuota` objects represent Client Quotas you can set at the service account level. + + The API allows you to list, create, read, update, and delete your client quotas. + + + Related guide: [Client Quotas in Confluent Cloud](https://docs.confluent.io/cloud/current/clusters/client-quotas.html). + + ## The Client Quotas Model + + properties: + api_version: + type: string + enum: + - kafka-quotas/v1 + 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: + - ClientQuota + 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 + metadata: + allOf: + - $ref: '#/components/schemas/ObjectMeta' + - properties: + self: + example: 'https://api.confluent.cloud/kafka-quotas/v1/client-quotas/cq-12345' + resource_name: + example: 'crn://confluent.cloud/organization=9bb441c4-edef-46ac-8a41-c49e44a3fd9a/client-quota=cq-12345' + spec: + $ref: '#/components/schemas/kafka-quotas.v1.ClientQuotaSpecUpdate' + kafka-quotas.v1.ClientQuotaSpecUpdate: + type: object + description: The desired state of the Client Quota + properties: + display_name: + type: string + description: The name of the client quota. + example: QuotaForSA1 + description: + type: string + example: This quota defines limits on how much the target principals can use cluster lkc-xxxxx + description: A human readable description for the client quota. + throughput: + type: object + description: Throughput for the client quota. + allOf: + - $ref: '#/components/schemas/kafka-quotas.v1.Throughput' + principals: + type: array + items: + $ref: '#/components/schemas/GlobalObjectReference' + description: | + A list of principals to apply a client quota to. + Use `""` to apply a client quota to all service accounts + (see [Control application usage with Client Quotas](https://docs.confluent.io/cloud/current/clusters/client-quotas.html#control-application-usage-with-client-quotas) for more details). + minItems: 1 + x-enable-id: true + x-enable-listmeta: true + x-enable-objectmeta: true + parameters: + AclHost: + name: host + description: The ACL host. + in: query + required: false + schema: + type: string + AclOperation: + name: operation + description: The ACL operation. + in: query + required: false + schema: + $ref: '#/components/schemas/AclOperation' + AclOperationRequired: + name: operation + description: The ACL operation. + in: query + required: true + schema: + $ref: '#/components/schemas/AclOperation' + AclPatternType: + name: pattern_type + description: The ACL pattern type. + in: query + required: false + schema: + $ref: '#/components/schemas/AclPatternType' + AclPatternTypeRequired: + name: pattern_type + description: The ACL pattern type. + in: query + required: true + schema: + $ref: '#/components/schemas/AclPatternType' + AclPermission: + name: permission + description: The ACL permission. + in: query + required: false + schema: + $ref: '#/components/schemas/AclPermission' + AclPermissionRequired: + name: permission + description: The ACL permission. + in: query + required: true + schema: + $ref: '#/components/schemas/AclPermission' + AclPrincipal: + name: principal + description: The ACL principal. This is the Service Account name or user name. + in: query + required: false + schema: + type: string + AclResourceName: + name: resource_name + description: The ACL resource name. + in: query + required: false + schema: + type: string + AclResourceType: + name: resource_type + description: The ACL resource type. + in: query + required: false + schema: + $ref: '#/components/schemas/AclResourceType' + AclResourceTypeRequired: + name: resource_type + description: The ACL resource type. + in: query + required: true + schema: + $ref: '#/components/schemas/AclResourceType' + BrokerId: + name: broker_id + description: The Kafka broker ID. + in: path + required: true + schema: + type: integer + example: 1 + ClusterId: + name: cluster_id + description: The Kafka cluster ID. + in: path + required: true + schema: + type: string + example: cluster-1 + ConfigName: + name: name + description: The configuration parameter name. + in: path + required: true + schema: + type: string + example: compression.type + ConsumerGroupId: + name: consumer_group_id + description: The consumer group ID. + in: path + required: true + schema: + type: string + example: consumer-group-1 + ConsumerId: + name: consumer_id + description: The consumer ID. + in: path + required: true + schema: + type: string + example: consumer-1 + IncludeAuthorizedOperations: + name: include_authorized_operations + description: Specify if authorized operations should be included in the response. + in: query + required: false + schema: + type: boolean + PartitionId: + name: partition_id + description: The partition ID. + in: path + required: true + schema: + type: integer + example: 0 + TopicName: + name: topic_name + description: The topic name. + in: path + required: true + schema: + type: string + example: topic-1 + BrokerTaskType: + name: task_type + description: The Kafka broker task type. + in: path + required: true + schema: + $ref: '#/components/schemas/BrokerTaskType' + example: remove-broker + ShouldShutdown: + name: should_shutdown + description: 'To shutdown the broker or not, Default: true' + in: query + required: false + schema: + type: boolean + example: true + ValidateOnly: + name: validate_only + description: 'To validate the action can be performed successfully or not. Default: false' + in: query + required: false + schema: + type: boolean + example: false + ValidateLink: + name: validate_link + description: 'To synchronously validate that the source cluster ID is expected and the dest cluster has the permission to read topics in the source cluster. Default: true' + in: query + required: false + schema: + type: boolean + example: false + IncludeTasks: + name: include_tasks + description: 'Whether to include cluster linking tasks in the response. Default: false' + in: query + required: false + schema: + type: boolean + example: false + IncludeStateTransitionErrors: + name: include_state_transition_errors + description: 'Whether to include mirror state transition errors in the response. Default: false' + in: query + required: false + schema: + type: boolean + example: false + Force: + name: force + description: 'Force the action. Default: false' + in: query + required: false + schema: + type: boolean + example: false + IncludePartitionLevelTruncationData: + name: include_partition_level_truncation_data + description: 'Whether to include partition level truncation information when truncating and restoring a topic in the response. Default: false' + in: query + required: false + schema: + type: boolean + example: false + LinkName: + name: link_name + description: The link name + in: path + required: true + schema: + type: string + example: link-sb1 + LinkConfigName: + name: config_name + description: The link config name + in: path + required: true + schema: + type: string + example: consumer.offset.sync.enable + MirrorTopicStatus: + name: mirror_status + description: 'The status of the mirror topic. If not specified, all mirror topics will be returned.' + in: query + required: false + schema: + $ref: '#/components/schemas/MirrorTopicStatus' + example: ACTIVE + MirrorTopicName: + name: mirror_topic_name + description: Cluster Linking mirror topic name + in: path + required: true + schema: + type: string + example: topic-1 + QueryParamLinkName: + name: link_name + description: The link name + in: query + required: true + schema: + type: string + example: link-sb1 + responses: + BadRequestError: + description: Bad Request + headers: + X-Request-Id: + schema: + type: string + description: The unique identifier for the API request. + content: + application/json: + schema: + $ref: '#/components/schemas/Failure' + example: + errors: + - id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d + status: '400' + code: invalid_filter + title: Invalid Filter + detail: The 'delorean' resource can't be filtered by 'num_doors' + source: + parameter: num_doors + UnauthenticatedError: + x-summary: Unauthorized + description: The request lacks valid authentication credentials for this resource. + headers: + X-Request-Id: + schema: + type: string + description: The unique identifier for the API request. + WWW-Authenticate: + schema: + type: string + description: The unique identifier for the API request. + example: 'Basic error="invalid_key", error_description="The API Key is invalid"' + content: + application/json: + schema: + $ref: '#/components/schemas/Failure' + example: + errors: + - id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d + status: '401' + code: user_unauthenticated + title: Authentication Required + detail: Valid authentication credentials must be provided + UnauthorizedError: + x-summary: Forbidden + description: The access credentials were considered insufficient to grant access + headers: + X-Request-Id: + schema: + type: string + description: The unique identifier for the API request. + content: + application/json: + schema: + $ref: '#/components/schemas/Failure' + example: + errors: + - id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d + status: '403' + code: user_unauthorized + title: User Access Unauthorized + detail: The user 'mcfly' is not allowed to access the 'delorean' resource without the 'plutonium' role. + RateLimitError: + description: Rate Limit Exceeded + headers: + X-Request-Id: + schema: + type: string + description: The unique identifier for the API request. + X-RateLimit-Limit: + schema: + type: integer + description: The maximum number of requests you're permitted to make per time period. + X-RateLimit-Remaining: + schema: + type: integer + description: The number of requests remaining in the current rate limit window. + X-RateLimit-Reset: + schema: + type: integer + description: |- + The relative time in seconds until the current rate-limit window resets. + + **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. + DefaultSystemError: + description: 'Oops, something went wrong!' + headers: + X-Request-Id: + schema: + type: string + description: The unique identifier for the API request. + content: + application/json: + schema: + $ref: '#/components/schemas/Failure' + example: + errors: + - id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d + status: '500' + code: out_of_gas + title: DeLorean Out Of Gas + detail: 'The DeLorean has run out of gas, but Doc Brown will fill ''er up for you asap' + NotFoundError: + description: Not Found + headers: + X-Request-Id: + schema: + type: string + description: The unique identifier for the API request. + content: + application/json: + schema: + $ref: '#/components/schemas/Failure' + example: + errors: + - id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d + status: '404' + title: Not Found + ConflictError: + x-summary: Conflict + description: The request is in conflict with the current server state + headers: + X-Request-Id: + schema: + type: string + description: The unique identifier for the API request. + Location: + schema: + type: string + format: uri + example: 'https://api.confluent.cloud/{object}/{id}' + description: Resource URI of conflicting resource + content: + application/json: + schema: + $ref: '#/components/schemas/Failure' + example: + errors: + - id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d + status: '409' + code: resource_already_exists + title: Resource Already exists + detail: The entitlement '91e3e86f-fca6-4f14-98f5-a48e64113ce2' already exists. + ValidationError: + description: Validation Failed + headers: + X-Request-Id: + schema: + type: string + description: The unique identifier for the API request. + content: + application/json: + schema: + $ref: '#/components/schemas/Failure' + example: + errors: + - status: '422' + code: invalid_configuration + id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d + title: Validation Failed + detail: 'The property ''/cluster/storage_size'' of type string did not match the following type: integer' + source: + pointer: /cluster/storage_size + - status: '422' + code: invalid_configuration + id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d + title: Validation Failed + detail: 'The property ''/cluster/storage_size'' of type string did not match the following type: integer' + source: + pointer: /cluster/storage_size + - status: '422' + code: invalid_configuration + id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d + title: Validation Failed + detail: 'The property ''/cluster/storage_size'' of type string did not match the following type: integer' + source: + pointer: /cluster/storage_size + - status: '422' + code: invalid_configuration + id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d + title: Validation Failed + detail: 'The property ''/cluster/storage_size'' of type string did not match the following type: integer' + source: + pointer: /cluster/storage_size + - status: '422' + code: invalid_configuration + id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d + title: Validation Failed + detail: 'The property ''/cluster/storage_size'' of type string did not match the following type: integer' + source: + pointer: /cluster/storage_size + - status: '422' + code: invalid_configuration + id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d + title: Validation Failed + detail: 'The property ''/cluster/storage_size'' of type string did not match the following type: integer' + source: + pointer: /cluster/storage_size + - status: '422' + code: invalid_configuration + id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d + title: Validation Failed + detail: 'The property ''/cluster/storage_size'' of type string did not match the following type: integer' + source: + pointer: /cluster/storage_size + - status: '422' + code: invalid_configuration + id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d + title: Validation Failed + detail: 'The property ''/cluster/storage_size'' of type string did not match the following type: integer' + source: + pointer: /cluster/storage_size + - status: '422' + code: invalid_configuration + id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d + title: Validation Failed + detail: 'The property ''/cluster/storage_size'' of type string did not match the following type: integer' + source: + pointer: /cluster/storage_size + - status: '422' + code: invalid_configuration + id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d + title: Validation Failed + detail: 'The property ''/cluster/storage_size'' of type string did not match the following type: integer' + source: + pointer: /cluster/storage_size + - status: '422' + code: invalid_configuration + id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d + title: Validation Failed + detail: 'The property ''/cluster/storage_size'' of type string did not match the following type: integer' + source: + pointer: /cluster/storage_size + - status: '422' + code: invalid_configuration + id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d + title: Validation Failed + detail: 'The property ''/cluster/storage_size'' of type string did not match the following type: integer' + source: + pointer: /cluster/storage_size + - status: '422' + code: invalid_configuration + id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d + title: Validation Failed + detail: 'The property ''/cluster/storage_size'' of type string did not match the following type: integer' + source: + pointer: /cluster/storage_size + - status: '422' + code: invalid_configuration + id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d + title: Validation Failed + detail: 'The property ''/cluster/storage_size'' of type string did not match the following type: integer' + source: + pointer: /cluster/storage_size + - status: '422' + code: invalid_configuration + id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d + title: Validation Failed + detail: 'The property ''/cluster/storage_size'' of type string did not match the following type: integer' + source: + pointer: /cluster/storage_size + - status: '422' + code: invalid_configuration + id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d + title: Validation Failed + detail: 'The property ''/cluster/storage_size'' of type string did not match the following type: integer' + source: + pointer: /cluster/storage_size + - status: '422' + code: invalid_configuration + id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d + title: Validation Failed + detail: 'The property ''/cluster/storage_size'' of type string did not match the following type: integer' + source: + pointer: /cluster/storage_size + - status: '422' + code: invalid_configuration + id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d + title: Validation Failed + detail: 'The property ''/cluster/storage_size'' of type string did not match the following type: integer' + source: + pointer: /cluster/storage_size + - status: '422' + code: invalid_configuration + id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d + title: Validation Failed + detail: 'The property ''/cluster/storage_size'' of type string did not match the following type: integer' + source: + pointer: /cluster/storage_size + - status: '422' + code: invalid_configuration + id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d + title: Validation Failed + detail: 'The property ''/cluster/storage_size'' of type string did not match the following type: integer' + source: + pointer: /cluster/storage_size + - status: '422' + code: invalid_configuration + id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d + title: Validation Failed + detail: 'The property ''/cluster/storage_size'' of type string did not match the following type: integer' + source: + pointer: /cluster/storage_size + - status: '422' + code: invalid_configuration + id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d + title: Validation Failed + detail: 'The property ''/cluster/storage_size'' of type string did not match the following type: integer' + source: + pointer: /cluster/storage_size + - status: '422' + code: invalid_configuration + id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d + title: Validation Failed + detail: 'The property ''/cluster/storage_size'' of type string did not match the following type: integer' + source: + pointer: /cluster/storage_size + - status: '422' + code: invalid_configuration + id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d + title: Validation Failed + detail: 'The property ''/cluster/storage_size'' of type string did not match the following type: integer' + source: + pointer: /cluster/storage_size + - status: '422' + code: invalid_configuration + id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d + title: Validation Failed + detail: 'The property ''/cluster/storage_size'' of type string did not match the following type: integer' + source: + pointer: /cluster/storage_size + - status: '422' + code: invalid_configuration + id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d + title: Validation Failed + detail: 'The property ''/cluster/storage_size'' of type string did not match the following type: integer' + source: + pointer: /cluster/storage_size + - status: '422' + code: invalid_configuration + id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d + title: Validation Failed + detail: 'The property ''/cluster/storage_size'' of type string did not match the following type: integer' + source: + pointer: /cluster/storage_size + - status: '422' + code: invalid_configuration + id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d + title: Validation Failed + detail: 'The property ''/cluster/storage_size'' of type string did not match the following type: integer' + source: + pointer: /cluster/storage_size + - status: '422' + code: invalid_configuration + id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d + title: Validation Failed + detail: 'The property ''/cluster/storage_size'' of type string did not match the following type: integer' + source: + pointer: /cluster/storage_size + - status: '422' + code: invalid_configuration + id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d + title: Validation Failed + detail: 'The property ''/cluster/storage_size'' of type string did not match the following type: integer' + source: + pointer: /cluster/storage_size + securitySchemes: + cloud-api-key: + type: http + scheme: basic + description: Authenticate with Cloud API Keys using HTTP Basic Auth. Treat the Cloud API Key ID as the username and Cloud API Key Secret as the password. + confluent-sts-access-token: + type: oauth2 + description: Authenticate with Confluent API using this credentials (JSON Web Tokens) following OAuth 2.0. + flows: + clientCredentials: + tokenUrl: 'https://api.confluent.cloud/sts/v1/oauth2/token' + scopes: {} + api-key: + type: http + scheme: basic + description: Authenticate with API Keys using HTTP Basic Auth. Treat the API Key ID as the username and API Key Secret as the password. + resource-api-key: + type: http + scheme: basic + description: | + Authenticate with resource-specific API Keys using HTTP Basic Auth. Treat the resource-specific API Key ID + as the username and resource-specific API Key Secret as the password. + external-access-token: + type: oauth2 + description: Authenticate with OAuth 2.0. + flows: + clientCredentials: + tokenUrl: 'https:///token' + scopes: {} + oauth: + type: oauth2 + description: Authenticate with OAuth 2.0. Currently this is only supported for partner APIs. + flows: + clientCredentials: + tokenUrl: /oauth2/token + scopes: + 'partner:alter': enables partners to alter entitlements + 'partner:create': enables partners to create entitlements and signup on behalf of customers + 'partner:delete': enables partners to delete entitlements and organizations + 'partner:describe': enables partners to read and list entitlements and organizations + requestBodies: + AlterBrokerConfigBatchRequest: + description: The alter broker configuration parameter batch request. + content: + application/json: + schema: + $ref: '#/components/schemas/AlterConfigBatchRequestData' + example: + data: + - name: max.connections + operation: DELETE + - name: compression.type + value: gzip + AlterClusterConfigBatchRequest: + description: The alter cluster configuration parameter batch request. + content: + application/json: + schema: + $ref: '#/components/schemas/AlterConfigBatchRequestData' + example: + data: + - name: max.connections + operation: DELETE + - name: compression.type + value: gzip + AlterTopicConfigBatchRequest: + description: The alter topic configuration parameter batch request. + content: + application/json: + schema: + $ref: '#/components/schemas/AlterConfigBatchRequestData' + examples: + batch_alter_topic_configs: + value: + data: + - name: cleanup.policy + operation: DELETE + - name: compression.type + value: gzip + validate_only_batch_alter_topic_configs: + value: + data: + - name: cleanup.policy + operation: DELETE + - name: compression.type + value: gzip + validate_only: true + CreateAclRequest: + description: The ACL creation request. + content: + application/json: + schema: + $ref: '#/components/schemas/CreateAclRequestData' + example: + resource_type: CLUSTER + resource_name: kafka-cluster + pattern_type: LITERAL + principal: 'principalType:principalName' + host: '*' + operation: DESCRIBE + permission: DENY + BatchCreateAclRequest: + description: The batch ACL creation request. + content: + application/json: + schema: + $ref: '#/components/schemas/CreateAclRequestDataList' + example: + data: + - resource_type: CLUSTER + resource_name: kafka-cluster + pattern_type: LITERAL + principal: 'principalType:principalName' + host: '*' + operation: DESCRIBE + permission: DENY + - resource_type: TOPIC + resource_name: kafka-cluster + pattern_type: LITERAL + principal: 'principalType:principalName' + host: '*' + operation: READ + permission: ALLOW + CreateTopicRequest: + description: 'The topic creation request. Note that Confluent Cloud allows only specific replication factor values. Because of that the replication factor field should either be omitted or it should use one of the allowed values (see https://docs.confluent.io/cloud/current/client-apps/optimizing/durability.html).' + content: + application/json: + schema: + $ref: '#/components/schemas/CreateTopicRequestData' + examples: + uniform_replication: + value: + topic_name: topic-X + partitions_count: 64 + replication_factor: 3 + configs: + - name: cleanup.policy + value: compact + - name: compression.type + value: gzip + dry_run_create_topic: + value: + topic_name: topic-X + partitions_count: 64 + replication_factor: 3 + validate_only: true + ProduceRequest: + description: 'A single record to be produced to Kafka. To produce multiple records in the same request, simply concatenate the records. The delivery reports are concatenated in the same order as the records are sent.' + content: + application/json: + schema: + $ref: '#/components/schemas/ProduceRequest' + examples: + binary_and_json: + description: 'If using type, one of "BINARY", "JSON" or "STRING" is required.' + value: + partition_id: 1 + headers: + - name: Header-1 + value: SGVhZGVyLTE= + - name: Header-2 + value: SGVhZGVyLTI= + key: + type: BINARY + data: Zm9vYmFy + value: + type: JSON + data: + foo: bar + timestamp: '2021-02-05T19:14:42Z' + string: + description: 'If using type, one of "BINARY", "JSON" or "STRING" is required.' + value: + value: + type: STRING + data: My message + empty_value: + description: key or value can be omitted entirely. + value: + key: + data: 1000 + UpdateBrokerConfigRequest: + description: The broker configuration parameter update request. + content: + application/json: + schema: + $ref: '#/components/schemas/UpdateConfigRequestData' + example: + value: gzip + UpdateClusterConfigRequest: + description: The cluster configuration parameter update request. + content: + application/json: + schema: + $ref: '#/components/schemas/UpdateConfigRequestData' + example: + value: gzip + UpdateTopicConfigRequest: + description: The topic configuration parameter update request. + content: + application/json: + schema: + $ref: '#/components/schemas/UpdateConfigRequestData' + example: + value: gzip + CreateLinkRequest: + description: Create a cluster link + content: + application/json: + schema: + $ref: '#/components/schemas/CreateLinkRequestData' + examples: + destination_initiated_link: + description: Create a destination initiated cluster link + value: + source_cluster_id: cluster-1 + configs: + - name: bootstrap.servers + value: cluster-1-bootstrap-server + - name: acl.sync.enable + value: 'false' + - name: consumer.offset.sync.ms + value: '30000' + - name: sasl.mechanism + value: PLAIN + - name: sasl.protocol + value: SASL_SSL + - name: sasl.jaas.config + value: sasl.jaas.config=org.apache.kafka.common.security.plain.PlainLoginModule required username='' password=''; + source_initiated_link_at_source_cluster: + description: Create a source initiated cluster link at source cluster + value: + destination_cluster_id: cluster-2 + configs: + - name: bootstrap.servers + value: cluster-2-bootstrap-server + - name: link.mode + value: SOURCE + - name: sasl.mechanism + value: PLAIN + - name: sasl.protocol + value: SASL_SSL + - name: sasl.jaas.config + value: sasl.jaas.config=org.apache.kafka.common.security.plain.PlainLoginModule required username='' password=''; + source_initiated_link_at_destination_cluster: + description: Create a source initiated cluster link at destination cluster + value: + destination_cluster_id: cluster-1 + configs: + - name: bootstrap.servers + value: cluster-1-bootstrap-server + - name: link.mode + value: DESTINATION + - name: connection.mode + value: INBOUND + - name: acl.sync.enable + value: 'false' + - name: sasl.mechanism + value: PLAIN + - name: sasl.protocol + value: SASL_SSL + - name: sasl.jaas.config + value: sasl.jaas.config=org.apache.kafka.common.security.plain.PlainLoginModule required username='' password=''; + bidirectional_link_east: + description: Create a bidirectional cluster link in east + value: + remote_cluster_id: cluster-west + configs: + - name: bootstrap.servers + value: cluster-west-bootstrap-server + - name: link.mode + value: BIDIRECTIONAL + - name: cluster.link.prefix + value: west. + - name: sasl.mechanism + value: PLAIN + - name: sasl.protocol + value: SASL_SSL + - name: sasl.jaas.config + value: sasl.jaas.config=org.apache.kafka.common.security.plain.PlainLoginModule required username='' password=''; + bidirectional_link_west: + description: Create a bidirectional cluster link in west + value: + remote_cluster_id: cluster-east + cluster_link_id: eEBkTffYSESld6EO898x3w + configs: + - name: bootstrap.servers + value: cluster-east-bootstrap-server + - name: link.mode + value: BIDIRECTIONAL + - name: cluster.link.prefix + value: east. + - name: sasl.mechanism + value: PLAIN + - name: sasl.protocol + value: SASL_SSL + - name: sasl.jaas.config + value: sasl.jaas.config=org.apache.kafka.common.security.plain.PlainLoginModule required username='' password=''; + UpdateLinkConfigRequest: + content: + application/json: + example: + value: '300000' + schema: + $ref: '#/components/schemas/UpdateLinkConfigRequestData' + description: Link config value to update + AlterLinkConfigBatchRequest: + content: + application/json: + example: + data: + - name: cleanup.policy + operation: DELETE + - name: compression.type + value: gzip + schema: + $ref: '#/components/schemas/AlterConfigBatchRequestData' + CreateMirrorTopicRequest: + description: 'Name and configs of the topics mirroring from and mirroring to. Note that Confluent Cloud allows only specific replication factor values. Because of that the replication factor field should either be omitted or it should use one of the allowed values (see https://docs.confluent.io/cloud/current/client-apps/optimizing/durability.html).' + content: + application/json: + schema: + $ref: '#/components/schemas/CreateMirrorTopicRequestData' + examples: + generic_example: + description: Generic example of creating a mirror topic + value: + source_topic_name: topic-1 + configs: + - name: unclean.leader.election.enable + value: 'true' + replication_factor: 1 + example_with_mirror_topic_name: + description: Example using optional mirror_topic_name flag + value: + source_topic_name: topic-1 + mirror_topic_name: link1_topic-1 + configs: + - name: unclean.leader.election.enable + value: 'true' + replication_factor: 3 + AlterMirrorsRequest: + description: Mirror topics to be altered. + content: + application/json: + schema: + $ref: '#/components/schemas/AlterMirrorsRequestData' + examples: + mirror_topic_names: + description: Example using mirror topic names + value: + mirror_topic_names: + - topic-1 + - topic-2 + mirror_topic_name_pattern: + description: Example using mirror topic name pattern + value: + mirror_topic_name_pattern: .* + RemoveBrokersRequest: + content: + application/json: + example: + broker_ids: + - 1 + - 2 + - 3 + schema: + $ref: '#/components/schemas/RemoveBrokersRequestData' + description: Broker ids to remove + BrokerReplicaExclusionBatchRequest: + description: Alter Broker Replica Exclusions. + content: + application/json: + schema: + $ref: '#/components/schemas/BrokerReplicaExclusionBatchRequestData' + example: + data: + - broker_id: 1 + reason: The broker is to be removed. + - broker_id: 2 + reason: The broker is to be removed. + x-stackQL-resources: + applied_quotas: + id: confluent.quotas.applied_quotas + name: applied_quotas + title: Applied Quotas + methods: + list_service_quota_v1applied_quotas: + operation: + $ref: '#/paths/~1service-quota~1v1~1applied-quotas/get' + response: + mediaType: application/json + openAPIDocKey: '200' + objectKey: $.data + get_service_quota_v1applied_quota: + operation: + $ref: '#/paths/~1service-quota~1v1~1applied-quotas~1{id}/get' + response: + mediaType: application/json + openAPIDocKey: '200' + sqlVerbs: + select: + - $ref: '#/components/x-stackQL-resources/applied_quotas/methods/get_service_quota_v1applied_quota' + - $ref: '#/components/x-stackQL-resources/applied_quotas/methods/list_service_quota_v1applied_quotas' + insert: [] + update: [] + replace: [] + delete: [] + scopes: + id: confluent.quotas.scopes + name: scopes + title: Scopes + methods: + list_service_quota_v1scopes: + operation: + $ref: '#/paths/~1service-quota~1v1~1scopes/get' + response: + mediaType: application/json + openAPIDocKey: '200' + objectKey: $.data + get_service_quota_v1scope: + operation: + $ref: '#/paths/~1service-quota~1v1~1scopes~1{id}/get' + response: + mediaType: application/json + openAPIDocKey: '200' + sqlVerbs: + select: + - $ref: '#/components/x-stackQL-resources/scopes/methods/get_service_quota_v1scope' + - $ref: '#/components/x-stackQL-resources/scopes/methods/list_service_quota_v1scopes' + insert: [] + update: [] + replace: [] + delete: [] + client_quotas: + id: confluent.quotas.client_quotas + name: client_quotas + title: Client Quotas + methods: + list_kafka_quotas_v1client_quotas: + operation: + $ref: '#/paths/~1kafka-quotas~1v1~1client-quotas/get' + response: + mediaType: application/json + openAPIDocKey: '200' + objectKey: $.data + create_kafka_quotas_v1client_quota: + operation: + $ref: '#/paths/~1kafka-quotas~1v1~1client-quotas/post' + response: + mediaType: application/json + openAPIDocKey: '202' + get_kafka_quotas_v1client_quota: + operation: + $ref: '#/paths/~1kafka-quotas~1v1~1client-quotas~1{id}/get' + response: + mediaType: application/json + openAPIDocKey: '200' + update_kafka_quotas_v1client_quota: + operation: + $ref: '#/paths/~1kafka-quotas~1v1~1client-quotas~1{id}/patch' + response: + mediaType: application/json + openAPIDocKey: '200' + delete_kafka_quotas_v1client_quota: + operation: + $ref: '#/paths/~1kafka-quotas~1v1~1client-quotas~1{id}/delete' + response: + mediaType: application/json + openAPIDocKey: '204' + sqlVerbs: + select: + - $ref: '#/components/x-stackQL-resources/client_quotas/methods/get_kafka_quotas_v1client_quota' + - $ref: '#/components/x-stackQL-resources/client_quotas/methods/list_kafka_quotas_v1client_quotas' + insert: + - $ref: '#/components/x-stackQL-resources/client_quotas/methods/create_kafka_quotas_v1client_quota' + update: + - $ref: '#/components/x-stackQL-resources/client_quotas/methods/update_kafka_quotas_v1client_quota' + replace: [] + delete: + - $ref: '#/components/x-stackQL-resources/client_quotas/methods/delete_kafka_quotas_v1client_quota' +paths: + /service-quota/v1/applied-quotas: + get: + operationId: listServiceQuotaV1AppliedQuotas + summary: List of Applied Quotas + description: | + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + Retrieve a sorted, filtered, paginated list of all applied quotas. + + Shows all quotas for a given scope. + parameters: + - name: scope + in: query + required: true + schema: + $ref: '#/components/schemas/SearchFilter' + example: ORGANIZATION + description: | + The applied scope the quota belongs to. + - name: environment + in: query + required: false + schema: + $ref: '#/components/schemas/SearchFilter' + example: env-00000 + description: | + The environment ID the quota is associated with. + - name: network + in: query + required: false + schema: + $ref: '#/components/schemas/SearchFilter' + example: n-12034 + description: | + The network ID the quota is associated with. + - name: kafka_cluster + in: query + required: false + schema: + $ref: '#/components/schemas/SearchFilter' + example: lkc-00000 + description: | + The kafka cluster ID the quota is associated with. + - name: id + in: query + required: false + schema: + $ref: '#/components/schemas/SearchFilter' + example: iam.max_environments.per_org + description: | + The id (quota code) that this quota belongs to. + - name: page_size + in: query + required: false + schema: + type: integer + default: 10 + maximum: 200 + 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: + - Applied Quotas (service-quota/v1) + security: + - cloud-api-key: [] + - confluent-sts-access-token: [] + responses: + '200': + description: Applied Quota. + content: + application/json: + schema: + allOf: + - $ref: '#/components/schemas/service-quota.v1.AppliedQuotaList' + - type: object + properties: + data: + type: array + items: + properties: + user: + example: + id: u-4voj5e + related: 'https://api.confluent.cloud/v2/users/u-4voj5e' + resource_name: 'https://api.confluent.cloud/organization=9bb441c4-edef-46ac-8a41-c49e44a3fd9a/user=u-4voj5e' + organization: + nullable: true + example: + id: b3a17773-05cc-4431-9560-433fb4613da8 + related: 'https://api.confluent.cloud/partner/v2/organizations/b3a17773-05cc-4431-9560-433fb4613da8' + resource_name: 'https://api.confluent.cloud/organization=b3a17773-05cc-4431-9560-433fb4613da8' + environment: + nullable: true + example: + id: env-00000 + related: 'https://api.confluent.cloud/org/v2/environments/env-00000' + resource_name: 'https://api.confluent.cloud/organization=9bb441c4-edef-46ac-8a41-c49e44a3fd9a/environment=env-00000' + network: + nullable: true + example: + id: n-12034 + related: 'https://api.confluent.cloud/networking/v1/networks/n-12034' + resource_name: 'https://api.confluent.cloud/organization=9bb441c4-edef-46ac-8a41-c49e44a3fd9a/environment=env-abc123/network=n-12034' + kafka_cluster: + nullable: true + example: + id: lkc-00000 + related: 'https://api.confluent.cloud/cmk/v2/clusters/lkc-00000' + resource_name: 'https://api.confluent.cloud/organization=9bb441c4-edef-46ac-8a41-c49e44a3fd9a/environment=env-abc123/cloud-cluster=lkc-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. + + **Important:** This differs from Github and Twitter's same-named header which uses UTC epoch seconds. We use relative time to avoid client/server time synchronization issues. + '400': + $ref: '#/components/responses/BadRequestError' + '401': + $ref: '#/components/responses/UnauthenticatedError' + '403': + $ref: '#/components/responses/UnauthorizedError' + '429': + $ref: '#/components/responses/RateLimitError' + '500': + $ref: '#/components/responses/DefaultSystemError' + x-codeSamples: + - lang: Shell + source: |- + curl --request GET \ + --url 'https://api.confluent.cloud/service-quota/v1/applied-quotas?scope=ORGANIZATION&environment=env-00000&network=n-12034&kafka_cluster=lkc-00000&id=iam.max_environments.per_org' \ + --header 'Authorization: Basic REPLACE_BASIC_AUTH' + - lang: Java + source: |- + OkHttpClient client = new OkHttpClient(); + + Request request = new Request.Builder() + .url("https://api.confluent.cloud/service-quota/v1/applied-quotas?scope=ORGANIZATION&environment=env-00000&network=n-12034&kafka_cluster=lkc-00000&id=iam.max_environments.per_org") + .get() + .addHeader("Authorization", "Basic REPLACE_BASIC_AUTH") + .build(); + + Response response = client.newCall(request).execute(); + - lang: Go + source: "package main\n\nimport (\n\t\"fmt\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.confluent.cloud/service-quota/v1/applied-quotas?scope=ORGANIZATION&environment=env-00000&network=n-12034&kafka_cluster=lkc-00000&id=iam.max_environments.per_org\"\n\n\treq, _ := http.NewRequest(\"GET\", url, nil)\n\n\treq.Header.Add(\"Authorization\", \"Basic REPLACE_BASIC_AUTH\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}" + - lang: Python + source: |- + import http.client + + conn = http.client.HTTPSConnection("api.confluent.cloud") + + headers = { 'Authorization': "Basic REPLACE_BASIC_AUTH" } + + conn.request("GET", "/service-quota/v1/applied-quotas?scope=ORGANIZATION&environment=env-00000&network=n-12034&kafka_cluster=lkc-00000&id=iam.max_environments.per_org", headers=headers) + + res = conn.getresponse() + data = res.read() + + print(data.decode("utf-8")) + - lang: Node + source: |- + const http = require("https"); + + const options = { + "method": "GET", + "hostname": "api.confluent.cloud", + "port": null, + "path": "/service-quota/v1/applied-quotas?scope=ORGANIZATION&environment=env-00000&network=n-12034&kafka_cluster=lkc-00000&id=iam.max_environments.per_org", + "headers": { + "Authorization": "Basic REPLACE_BASIC_AUTH" + } + }; + + const req = http.request(options, function (res) { + const chunks = []; + + res.on("data", function (chunk) { + chunks.push(chunk); + }); + + res.on("end", function () { + const body = Buffer.concat(chunks); + console.log(body.toString()); + }); + }); + + req.end(); + - lang: C + source: |- + CURL *hnd = curl_easy_init(); + + curl_easy_setopt(hnd, CURLOPT_CUSTOMREQUEST, "GET"); + curl_easy_setopt(hnd, CURLOPT_URL, "https://api.confluent.cloud/service-quota/v1/applied-quotas?scope=ORGANIZATION&environment=env-00000&network=n-12034&kafka_cluster=lkc-00000&id=iam.max_environments.per_org"); + + struct curl_slist *headers = NULL; + headers = curl_slist_append(headers, "Authorization: Basic REPLACE_BASIC_AUTH"); + curl_easy_setopt(hnd, CURLOPT_HTTPHEADER, headers); + + CURLcode ret = curl_easy_perform(hnd); + - lang: C# + source: |- + var client = new RestClient("https://api.confluent.cloud/service-quota/v1/applied-quotas?scope=ORGANIZATION&environment=env-00000&network=n-12034&kafka_cluster=lkc-00000&id=iam.max_environments.per_org"); + var request = new RestRequest(Method.GET); + request.AddHeader("Authorization", "Basic REPLACE_BASIC_AUTH"); + IRestResponse response = client.Execute(request); + '/service-quota/v1/applied-quotas/{id}': + get: + operationId: getServiceQuotaV1AppliedQuota + summary: Read an Applied Quota + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + Make a request to read an applied quota. + parameters: + - name: environment + in: query + required: false + schema: + $ref: '#/components/schemas/SearchFilter' + example: env-00000 + description: | + The environment ID the quota is associated with. + This field is only required when retrieving a single quota and + the scope of quota is "ENVIRONMENT" or "NETWORK" or "KAFKA_CLUSTER". + - name: network + in: query + required: false + schema: + $ref: '#/components/schemas/SearchFilter' + example: n-12034 + description: | + The network ID the quota is associated with. + This field is only required when retrieving a single quota and + the scope of quota is "NETWORK". + - name: kafka_cluster + in: query + required: false + schema: + $ref: '#/components/schemas/SearchFilter' + example: lkc-00000 + description: | + The kafka cluster ID the quota is associated with. + This field is required only when the scope of quota is "KAFKA_CLUSTER". + - name: id + in: path + required: true + schema: + type: string + description: The unique identifier for the applied quota. + tags: + - Applied Quotas (service-quota/v1) + security: + - cloud-api-key: [] + - confluent-sts-access-token: [] + responses: + '200': + description: Applied Quota. + content: + application/json: + schema: + allOf: + - $ref: '#/components/schemas/service-quota.v1.AppliedQuota' + - type: object + required: + - api_version + - kind + - id + - scope + - display_name + - default_limit + - applied_limit + - type: object + properties: + user: + example: + id: u-4voj5e + related: 'https://api.confluent.cloud/v2/users/u-4voj5e' + resource_name: 'https://api.confluent.cloud/organization=9bb441c4-edef-46ac-8a41-c49e44a3fd9a/user=u-4voj5e' + organization: + nullable: true + example: + id: b3a17773-05cc-4431-9560-433fb4613da8 + related: 'https://api.confluent.cloud/partner/v2/organizations/b3a17773-05cc-4431-9560-433fb4613da8' + resource_name: 'https://api.confluent.cloud/organization=b3a17773-05cc-4431-9560-433fb4613da8' + environment: + nullable: true + example: + id: env-00000 + related: 'https://api.confluent.cloud/org/v2/environments/env-00000' + resource_name: 'https://api.confluent.cloud/organization=9bb441c4-edef-46ac-8a41-c49e44a3fd9a/environment=env-00000' + network: + nullable: true + example: + id: n-12034 + related: 'https://api.confluent.cloud/networking/v1/networks/n-12034' + resource_name: 'https://api.confluent.cloud/organization=9bb441c4-edef-46ac-8a41-c49e44a3fd9a/environment=env-abc123/network=n-12034' + kafka_cluster: + nullable: true + example: + id: lkc-00000 + related: 'https://api.confluent.cloud/cmk/v2/clusters/lkc-00000' + resource_name: 'https://api.confluent.cloud/organization=9bb441c4-edef-46ac-8a41-c49e44a3fd9a/environment=env-abc123/cloud-cluster=lkc-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. + + **Important:** This differs from Github and Twitter's same-named header which uses UTC epoch seconds. We use relative time to avoid client/server time synchronization issues. + '400': + $ref: '#/components/responses/BadRequestError' + '401': + $ref: '#/components/responses/UnauthenticatedError' + '403': + $ref: '#/components/responses/UnauthorizedError' + '404': + $ref: '#/components/responses/NotFoundError' + '429': + $ref: '#/components/responses/RateLimitError' + '500': + $ref: '#/components/responses/DefaultSystemError' + x-codeSamples: + - lang: Shell + source: |- + curl --request GET \ + --url 'https://api.confluent.cloud/service-quota/v1/applied-quotas/{id}?environment=env-00000&network=n-12034&kafka_cluster=lkc-00000' \ + --header 'Authorization: Basic REPLACE_BASIC_AUTH' + - lang: Java + source: |- + OkHttpClient client = new OkHttpClient(); + + Request request = new Request.Builder() + .url("https://api.confluent.cloud/service-quota/v1/applied-quotas/{id}?environment=env-00000&network=n-12034&kafka_cluster=lkc-00000") + .get() + .addHeader("Authorization", "Basic REPLACE_BASIC_AUTH") + .build(); + + Response response = client.newCall(request).execute(); + - lang: Go + source: "package main\n\nimport (\n\t\"fmt\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.confluent.cloud/service-quota/v1/applied-quotas/{id}?environment=env-00000&network=n-12034&kafka_cluster=lkc-00000\"\n\n\treq, _ := http.NewRequest(\"GET\", url, nil)\n\n\treq.Header.Add(\"Authorization\", \"Basic REPLACE_BASIC_AUTH\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}" + - lang: Python + source: |- + import http.client + + conn = http.client.HTTPSConnection("api.confluent.cloud") + + headers = { 'Authorization': "Basic REPLACE_BASIC_AUTH" } + + conn.request("GET", "/service-quota/v1/applied-quotas/{id}?environment=env-00000&network=n-12034&kafka_cluster=lkc-00000", headers=headers) + + res = conn.getresponse() + data = res.read() + + print(data.decode("utf-8")) + - lang: Node + source: |- + const http = require("https"); + + const options = { + "method": "GET", + "hostname": "api.confluent.cloud", + "port": null, + "path": "/service-quota/v1/applied-quotas/{id}?environment=env-00000&network=n-12034&kafka_cluster=lkc-00000", + "headers": { + "Authorization": "Basic REPLACE_BASIC_AUTH" + } + }; + + const req = http.request(options, function (res) { + const chunks = []; + + res.on("data", function (chunk) { + chunks.push(chunk); + }); + + res.on("end", function () { + const body = Buffer.concat(chunks); + console.log(body.toString()); + }); + }); + + req.end(); + - lang: C + source: |- + CURL *hnd = curl_easy_init(); + + curl_easy_setopt(hnd, CURLOPT_CUSTOMREQUEST, "GET"); + curl_easy_setopt(hnd, CURLOPT_URL, "https://api.confluent.cloud/service-quota/v1/applied-quotas/{id}?environment=env-00000&network=n-12034&kafka_cluster=lkc-00000"); + + struct curl_slist *headers = NULL; + headers = curl_slist_append(headers, "Authorization: Basic REPLACE_BASIC_AUTH"); + curl_easy_setopt(hnd, CURLOPT_HTTPHEADER, headers); + + CURLcode ret = curl_easy_perform(hnd); + - lang: C# + source: |- + var client = new RestClient("https://api.confluent.cloud/service-quota/v1/applied-quotas/{id}?environment=env-00000&network=n-12034&kafka_cluster=lkc-00000"); + var request = new RestRequest(Method.GET); + request.AddHeader("Authorization", "Basic REPLACE_BASIC_AUTH"); + IRestResponse response = client.Execute(request); + /service-quota/v1/scopes: + get: + operationId: listServiceQuotaV1Scopes + summary: List of Scopes + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + Retrieve a sorted, filtered, paginated list of all scopes. + parameters: + - name: page_size + in: query + required: false + schema: + type: integer + default: 10 + maximum: 200 + 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: + - Scopes (service-quota/v1) + security: + - cloud-api-key: [] + - confluent-sts-access-token: [] + responses: + '200': + description: Scope. + content: + application/json: + schema: + allOf: + - $ref: '#/components/schemas/service-quota.v1.ScopeList' + 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. + + **Important:** This differs from Github and Twitter's same-named header which uses UTC epoch seconds. We use relative time to avoid client/server time synchronization issues. + '400': + $ref: '#/components/responses/BadRequestError' + '401': + $ref: '#/components/responses/UnauthenticatedError' + '403': + $ref: '#/components/responses/UnauthorizedError' + '429': + $ref: '#/components/responses/RateLimitError' + '500': + $ref: '#/components/responses/DefaultSystemError' + x-codeSamples: + - lang: Shell + source: |- + curl --request GET \ + --url https://api.confluent.cloud/service-quota/v1/scopes \ + --header 'Authorization: Basic REPLACE_BASIC_AUTH' + - lang: Java + source: |- + OkHttpClient client = new OkHttpClient(); + + Request request = new Request.Builder() + .url("https://api.confluent.cloud/service-quota/v1/scopes") + .get() + .addHeader("Authorization", "Basic REPLACE_BASIC_AUTH") + .build(); + + Response response = client.newCall(request).execute(); + - lang: Go + source: "package main\n\nimport (\n\t\"fmt\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.confluent.cloud/service-quota/v1/scopes\"\n\n\treq, _ := http.NewRequest(\"GET\", url, nil)\n\n\treq.Header.Add(\"Authorization\", \"Basic REPLACE_BASIC_AUTH\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}" + - lang: Python + source: |- + import http.client + + conn = http.client.HTTPSConnection("api.confluent.cloud") + + headers = { 'Authorization': "Basic REPLACE_BASIC_AUTH" } + + conn.request("GET", "/service-quota/v1/scopes", headers=headers) + + res = conn.getresponse() + data = res.read() + + print(data.decode("utf-8")) + - lang: Node + source: |- + const http = require("https"); + + const options = { + "method": "GET", + "hostname": "api.confluent.cloud", + "port": null, + "path": "/service-quota/v1/scopes", + "headers": { + "Authorization": "Basic REPLACE_BASIC_AUTH" + } + }; + + const req = http.request(options, function (res) { + const chunks = []; + + res.on("data", function (chunk) { + chunks.push(chunk); + }); + + res.on("end", function () { + const body = Buffer.concat(chunks); + console.log(body.toString()); + }); + }); + + req.end(); + - lang: C + source: |- + CURL *hnd = curl_easy_init(); + + curl_easy_setopt(hnd, CURLOPT_CUSTOMREQUEST, "GET"); + curl_easy_setopt(hnd, CURLOPT_URL, "https://api.confluent.cloud/service-quota/v1/scopes"); + + struct curl_slist *headers = NULL; + headers = curl_slist_append(headers, "Authorization: Basic REPLACE_BASIC_AUTH"); + curl_easy_setopt(hnd, CURLOPT_HTTPHEADER, headers); + + CURLcode ret = curl_easy_perform(hnd); + - lang: C# + source: |- + var client = new RestClient("https://api.confluent.cloud/service-quota/v1/scopes"); + var request = new RestRequest(Method.GET); + request.AddHeader("Authorization", "Basic REPLACE_BASIC_AUTH"); + IRestResponse response = client.Execute(request); + '/service-quota/v1/scopes/{id}': + get: + operationId: getServiceQuotaV1Scope + summary: Read a Scope + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + Make a request to read a scope. + parameters: + - name: id + in: path + required: true + schema: + type: string + description: The unique identifier for the scope. + tags: + - Scopes (service-quota/v1) + security: + - cloud-api-key: [] + - confluent-sts-access-token: [] + responses: + '200': + description: Scope. + content: + application/json: + schema: + allOf: + - $ref: '#/components/schemas/service-quota.v1.Scope' + - type: object + required: + - api_version + - kind + - id + - description + 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. + + **Important:** This differs from Github and Twitter's same-named header which uses UTC epoch seconds. We use relative time to avoid client/server time synchronization issues. + '400': + $ref: '#/components/responses/BadRequestError' + '401': + $ref: '#/components/responses/UnauthenticatedError' + '403': + $ref: '#/components/responses/UnauthorizedError' + '404': + $ref: '#/components/responses/NotFoundError' + '429': + $ref: '#/components/responses/RateLimitError' + '500': + $ref: '#/components/responses/DefaultSystemError' + x-codeSamples: + - lang: Shell + source: |- + curl --request GET \ + --url 'https://api.confluent.cloud/service-quota/v1/scopes/{id}' \ + --header 'Authorization: Basic REPLACE_BASIC_AUTH' + - lang: Java + source: |- + OkHttpClient client = new OkHttpClient(); + + Request request = new Request.Builder() + .url("https://api.confluent.cloud/service-quota/v1/scopes/{id}") + .get() + .addHeader("Authorization", "Basic REPLACE_BASIC_AUTH") + .build(); + + Response response = client.newCall(request).execute(); + - lang: Go + source: "package main\n\nimport (\n\t\"fmt\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.confluent.cloud/service-quota/v1/scopes/{id}\"\n\n\treq, _ := http.NewRequest(\"GET\", url, nil)\n\n\treq.Header.Add(\"Authorization\", \"Basic REPLACE_BASIC_AUTH\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}" + - lang: Python + source: |- + import http.client + + conn = http.client.HTTPSConnection("api.confluent.cloud") + + headers = { 'Authorization': "Basic REPLACE_BASIC_AUTH" } + + conn.request("GET", "/service-quota/v1/scopes/{id}", headers=headers) + + res = conn.getresponse() + data = res.read() + + print(data.decode("utf-8")) + - lang: Node + source: |- + const http = require("https"); + + const options = { + "method": "GET", + "hostname": "api.confluent.cloud", + "port": null, + "path": "/service-quota/v1/scopes/{id}", + "headers": { + "Authorization": "Basic REPLACE_BASIC_AUTH" + } + }; + + const req = http.request(options, function (res) { + const chunks = []; + + res.on("data", function (chunk) { + chunks.push(chunk); + }); + + res.on("end", function () { + const body = Buffer.concat(chunks); + console.log(body.toString()); + }); + }); + + req.end(); + - lang: C + source: |- + CURL *hnd = curl_easy_init(); + + curl_easy_setopt(hnd, CURLOPT_CUSTOMREQUEST, "GET"); + curl_easy_setopt(hnd, CURLOPT_URL, "https://api.confluent.cloud/service-quota/v1/scopes/{id}"); + + struct curl_slist *headers = NULL; + headers = curl_slist_append(headers, "Authorization: Basic REPLACE_BASIC_AUTH"); + curl_easy_setopt(hnd, CURLOPT_HTTPHEADER, headers); + + CURLcode ret = curl_easy_perform(hnd); + - lang: C# + source: |- + var client = new RestClient("https://api.confluent.cloud/service-quota/v1/scopes/{id}"); + var request = new RestRequest(Method.GET); + request.AddHeader("Authorization", "Basic REPLACE_BASIC_AUTH"); + IRestResponse response = client.Execute(request); + /kafka-quotas/v1/client-quotas: + get: + operationId: listKafkaQuotasV1ClientQuotas + summary: List of Client Quotas + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + Retrieve a sorted, filtered, paginated list of all client quotas. + parameters: + - name: spec.cluster + in: query + required: true + schema: + $ref: '#/components/schemas/SearchFilter' + example: lkc-xxxxx + description: Filter the results by exact match for spec.cluster. + - name: environment + in: query + required: true + schema: + $ref: '#/components/schemas/SearchFilter' + example: env-xxxxx + 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: + - Client Quotas (kafka-quotas/v1) + security: + - cloud-api-key: [] + - confluent-sts-access-token: [] + responses: + '200': + description: Client Quota. + content: + application/json: + schema: + allOf: + - $ref: '#/components/schemas/kafka-quotas.v1.ClientQuotaList' + - type: object + properties: + data: + type: array + items: + properties: + spec: + type: object + properties: + cluster: + example: + id: lkc-xxxxx + related: 'https://api.confluent.cloud/cmk/v2/clusters/lkc-xxxxx' + resource_name: 'https://api.confluent.cloud/organization=9bb441c4-edef-46ac-8a41-c49e44a3fd9a/environment=env-abc123/cloud-cluster=lkc-xxxxx' + environment: + example: + - id: env-xxxxx + related: 'https://api.confluent.cloud/v2/environments/env-xxxxx' + resource_name: 'https://api.confluent.cloud/organization=9bb441c4-edef-46ac-8a41-c49e44a3fd9a/environment=env-xxxxx' + 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. + + **Important:** This differs from Github and Twitter's same-named header which uses UTC epoch seconds. We use relative time to avoid client/server time synchronization issues. + '400': + $ref: '#/components/responses/BadRequestError' + '401': + $ref: '#/components/responses/UnauthenticatedError' + '403': + $ref: '#/components/responses/UnauthorizedError' + '429': + $ref: '#/components/responses/RateLimitError' + '500': + $ref: '#/components/responses/DefaultSystemError' + x-codeSamples: + - lang: Shell + source: |- + curl --request GET \ + --url 'https://api.confluent.cloud/kafka-quotas/v1/client-quotas?spec.cluster=lkc-xxxxx&environment=env-xxxxx' \ + --header 'Authorization: Basic REPLACE_BASIC_AUTH' + - lang: Java + source: |- + OkHttpClient client = new OkHttpClient(); + + Request request = new Request.Builder() + .url("https://api.confluent.cloud/kafka-quotas/v1/client-quotas?spec.cluster=lkc-xxxxx&environment=env-xxxxx") + .get() + .addHeader("Authorization", "Basic REPLACE_BASIC_AUTH") + .build(); + + Response response = client.newCall(request).execute(); + - lang: Go + source: "package main\n\nimport (\n\t\"fmt\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.confluent.cloud/kafka-quotas/v1/client-quotas?spec.cluster=lkc-xxxxx&environment=env-xxxxx\"\n\n\treq, _ := http.NewRequest(\"GET\", url, nil)\n\n\treq.Header.Add(\"Authorization\", \"Basic REPLACE_BASIC_AUTH\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}" + - lang: Python + source: |- + import http.client + + conn = http.client.HTTPSConnection("api.confluent.cloud") + + headers = { 'Authorization': "Basic REPLACE_BASIC_AUTH" } + + conn.request("GET", "/kafka-quotas/v1/client-quotas?spec.cluster=lkc-xxxxx&environment=env-xxxxx", headers=headers) + + res = conn.getresponse() + data = res.read() + + print(data.decode("utf-8")) + - lang: Node + source: |- + const http = require("https"); + + const options = { + "method": "GET", + "hostname": "api.confluent.cloud", + "port": null, + "path": "/kafka-quotas/v1/client-quotas?spec.cluster=lkc-xxxxx&environment=env-xxxxx", + "headers": { + "Authorization": "Basic REPLACE_BASIC_AUTH" + } + }; + + const req = http.request(options, function (res) { + const chunks = []; + + res.on("data", function (chunk) { + chunks.push(chunk); + }); + + res.on("end", function () { + const body = Buffer.concat(chunks); + console.log(body.toString()); + }); + }); + + req.end(); + - lang: C + source: |- + CURL *hnd = curl_easy_init(); + + curl_easy_setopt(hnd, CURLOPT_CUSTOMREQUEST, "GET"); + curl_easy_setopt(hnd, CURLOPT_URL, "https://api.confluent.cloud/kafka-quotas/v1/client-quotas?spec.cluster=lkc-xxxxx&environment=env-xxxxx"); + + struct curl_slist *headers = NULL; + headers = curl_slist_append(headers, "Authorization: Basic REPLACE_BASIC_AUTH"); + curl_easy_setopt(hnd, CURLOPT_HTTPHEADER, headers); + + CURLcode ret = curl_easy_perform(hnd); + - lang: C# + source: |- + var client = new RestClient("https://api.confluent.cloud/kafka-quotas/v1/client-quotas?spec.cluster=lkc-xxxxx&environment=env-xxxxx"); + var request = new RestRequest(Method.GET); + request.AddHeader("Authorization", "Basic REPLACE_BASIC_AUTH"); + IRestResponse response = client.Execute(request); + post: + operationId: createKafkaQuotasV1ClientQuota + summary: Create a Client Quota + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + Make a request to create a client quota. + tags: + - Client Quotas (kafka-quotas/v1) + security: + - cloud-api-key: [] + - confluent-sts-access-token: [] + requestBody: + content: + application/json: + schema: + allOf: + - $ref: '#/components/schemas/kafka-quotas.v1.ClientQuota' + - type: object + required: + - spec + properties: + spec: + type: object + required: + - display_name + - throughput + - cluster + - principals + - environment + - type: object + properties: + spec: + type: object + properties: + cluster: + example: + id: lkc-xxxxx + environment: + example: + - id: env-xxxxx + responses: + '202': + description: A Client Quota is being created. + headers: + X-Request-Id: + schema: + type: string + description: The unique identifier for the API request. + X-RateLimit-Limit: + schema: + type: integer + description: The maximum number of requests you're permitted to make per time period. + X-RateLimit-Remaining: + schema: + type: integer + description: The number of requests remaining in the current rate limit window. + X-RateLimit-Reset: + schema: + type: integer + description: |- + The relative time in seconds until the current rate-limit window resets. + + **Important:** This differs from Github and Twitter's same-named header which uses UTC epoch seconds. We use relative time to avoid client/server time synchronization issues. + Location: + schema: + type: string + format: uri + example: 'https://api.confluent.cloud/kafka-quotas/v1/client-quotas/{id}' + description: ClientQuota resource uri + content: + application/json: + schema: + allOf: + - $ref: '#/components/schemas/kafka-quotas.v1.ClientQuota' + - type: object + required: + - spec + properties: + spec: + type: object + required: + - display_name + - throughput + - cluster + - principals + - environment + - type: object + properties: + spec: + type: object + properties: + cluster: + example: + id: lkc-xxxxx + related: 'https://api.confluent.cloud/cmk/v2/clusters/lkc-xxxxx' + resource_name: 'https://api.confluent.cloud/organization=9bb441c4-edef-46ac-8a41-c49e44a3fd9a/environment=env-abc123/cloud-cluster=lkc-xxxxx' + environment: + example: + - id: env-xxxxx + related: 'https://api.confluent.cloud/v2/environments/env-xxxxx' + resource_name: 'https://api.confluent.cloud/organization=9bb441c4-edef-46ac-8a41-c49e44a3fd9a/environment=env-xxxxx' + '400': + $ref: '#/components/responses/BadRequestError' + '401': + $ref: '#/components/responses/UnauthenticatedError' + '403': + $ref: '#/components/responses/UnauthorizedError' + '409': + $ref: '#/components/responses/ConflictError' + '422': + $ref: '#/components/responses/ValidationError' + '429': + $ref: '#/components/responses/RateLimitError' + '500': + $ref: '#/components/responses/DefaultSystemError' + x-codeSamples: + - lang: Shell + source: |- + curl --request POST \ + --url https://api.confluent.cloud/kafka-quotas/v1/client-quotas \ + --header 'Authorization: Basic REPLACE_BASIC_AUTH' \ + --header 'content-type: application/json' \ + --data '{"spec":{"display_name":"QuotaForSA1","description":"This quota defines limits on how much the target principals can use cluster lkc-xxxxx","throughput":{"ingress_byte_rate":"5","egress_byte_rate":"5"},"cluster":{"id":"lkc-xxxxx","environment":"string"},"principals":[{"id":"string"}],"environment":[{"id":"env-xxxxx"}]}}' + - lang: Java + source: |- + OkHttpClient client = new OkHttpClient(); + + MediaType mediaType = MediaType.parse("application/json"); + RequestBody body = RequestBody.create(mediaType, "{\"spec\":{\"display_name\":\"QuotaForSA1\",\"description\":\"This quota defines limits on how much the target principals can use cluster lkc-xxxxx\",\"throughput\":{\"ingress_byte_rate\":\"5\",\"egress_byte_rate\":\"5\"},\"cluster\":{\"id\":\"lkc-xxxxx\",\"environment\":\"string\"},\"principals\":[{\"id\":\"string\"}],\"environment\":[{\"id\":\"env-xxxxx\"}]}}"); + Request request = new Request.Builder() + .url("https://api.confluent.cloud/kafka-quotas/v1/client-quotas") + .post(body) + .addHeader("content-type", "application/json") + .addHeader("Authorization", "Basic REPLACE_BASIC_AUTH") + .build(); + + Response response = client.newCall(request).execute(); + - lang: Go + source: "package main\n\nimport (\n\t\"fmt\"\n\t\"strings\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.confluent.cloud/kafka-quotas/v1/client-quotas\"\n\n\tpayload := strings.NewReader(\"{\\\"spec\\\":{\\\"display_name\\\":\\\"QuotaForSA1\\\",\\\"description\\\":\\\"This quota defines limits on how much the target principals can use cluster lkc-xxxxx\\\",\\\"throughput\\\":{\\\"ingress_byte_rate\\\":\\\"5\\\",\\\"egress_byte_rate\\\":\\\"5\\\"},\\\"cluster\\\":{\\\"id\\\":\\\"lkc-xxxxx\\\",\\\"environment\\\":\\\"string\\\"},\\\"principals\\\":[{\\\"id\\\":\\\"string\\\"}],\\\"environment\\\":[{\\\"id\\\":\\\"env-xxxxx\\\"}]}}\")\n\n\treq, _ := http.NewRequest(\"POST\", url, payload)\n\n\treq.Header.Add(\"content-type\", \"application/json\")\n\treq.Header.Add(\"Authorization\", \"Basic REPLACE_BASIC_AUTH\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}" + - lang: Python + source: |- + import http.client + + conn = http.client.HTTPSConnection("api.confluent.cloud") + + payload = "{\"spec\":{\"display_name\":\"QuotaForSA1\",\"description\":\"This quota defines limits on how much the target principals can use cluster lkc-xxxxx\",\"throughput\":{\"ingress_byte_rate\":\"5\",\"egress_byte_rate\":\"5\"},\"cluster\":{\"id\":\"lkc-xxxxx\",\"environment\":\"string\"},\"principals\":[{\"id\":\"string\"}],\"environment\":[{\"id\":\"env-xxxxx\"}]}}" + + headers = { + 'content-type': "application/json", + 'Authorization': "Basic REPLACE_BASIC_AUTH" + } + + conn.request("POST", "/kafka-quotas/v1/client-quotas", payload, headers) + + res = conn.getresponse() + data = res.read() + + print(data.decode("utf-8")) + - lang: Node + source: |- + const http = require("https"); + + const options = { + "method": "POST", + "hostname": "api.confluent.cloud", + "port": null, + "path": "/kafka-quotas/v1/client-quotas", + "headers": { + "content-type": "application/json", + "Authorization": "Basic REPLACE_BASIC_AUTH" + } + }; + + const req = http.request(options, function (res) { + const chunks = []; + + res.on("data", function (chunk) { + chunks.push(chunk); + }); + + res.on("end", function () { + const body = Buffer.concat(chunks); + console.log(body.toString()); + }); + }); + + req.write(JSON.stringify({ + spec: { + display_name: 'QuotaForSA1', + description: 'This quota defines limits on how much the target principals can use cluster lkc-xxxxx', + throughput: {ingress_byte_rate: '5', egress_byte_rate: '5'}, + cluster: {id: 'lkc-xxxxx', environment: 'string'}, + principals: [{id: 'string'}], + environment: [{id: 'env-xxxxx'}] + } + })); + req.end(); + - lang: C + source: |- + CURL *hnd = curl_easy_init(); + + curl_easy_setopt(hnd, CURLOPT_CUSTOMREQUEST, "POST"); + curl_easy_setopt(hnd, CURLOPT_URL, "https://api.confluent.cloud/kafka-quotas/v1/client-quotas"); + + struct curl_slist *headers = NULL; + headers = curl_slist_append(headers, "content-type: application/json"); + headers = curl_slist_append(headers, "Authorization: Basic REPLACE_BASIC_AUTH"); + curl_easy_setopt(hnd, CURLOPT_HTTPHEADER, headers); + + curl_easy_setopt(hnd, CURLOPT_POSTFIELDS, "{\"spec\":{\"display_name\":\"QuotaForSA1\",\"description\":\"This quota defines limits on how much the target principals can use cluster lkc-xxxxx\",\"throughput\":{\"ingress_byte_rate\":\"5\",\"egress_byte_rate\":\"5\"},\"cluster\":{\"id\":\"lkc-xxxxx\",\"environment\":\"string\"},\"principals\":[{\"id\":\"string\"}],\"environment\":[{\"id\":\"env-xxxxx\"}]}}"); + + CURLcode ret = curl_easy_perform(hnd); + - lang: C# + source: |- + var client = new RestClient("https://api.confluent.cloud/kafka-quotas/v1/client-quotas"); + var request = new RestRequest(Method.POST); + request.AddHeader("content-type", "application/json"); + request.AddHeader("Authorization", "Basic REPLACE_BASIC_AUTH"); + request.AddParameter("application/json", "{\"spec\":{\"display_name\":\"QuotaForSA1\",\"description\":\"This quota defines limits on how much the target principals can use cluster lkc-xxxxx\",\"throughput\":{\"ingress_byte_rate\":\"5\",\"egress_byte_rate\":\"5\"},\"cluster\":{\"id\":\"lkc-xxxxx\",\"environment\":\"string\"},\"principals\":[{\"id\":\"string\"}],\"environment\":[{\"id\":\"env-xxxxx\"}]}}", ParameterType.RequestBody); + IRestResponse response = client.Execute(request); + '/kafka-quotas/v1/client-quotas/{id}': + get: + operationId: getKafkaQuotasV1ClientQuota + summary: Read a Client Quota + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + Make a request to read a client quota. + parameters: + - name: id + in: path + required: true + schema: + type: string + description: The unique identifier for the client quota. + tags: + - Client Quotas (kafka-quotas/v1) + security: + - cloud-api-key: [] + - confluent-sts-access-token: [] + responses: + '200': + description: Client Quota. + content: + application/json: + schema: + allOf: + - $ref: '#/components/schemas/kafka-quotas.v1.ClientQuota' + - type: object + required: + - api_version + - kind + - id + - spec + properties: + spec: + type: object + required: + - display_name + - throughput + - cluster + - principals + - environment + - type: object + properties: + spec: + type: object + properties: + cluster: + example: + id: lkc-xxxxx + related: 'https://api.confluent.cloud/cmk/v2/clusters/lkc-xxxxx' + resource_name: 'https://api.confluent.cloud/organization=9bb441c4-edef-46ac-8a41-c49e44a3fd9a/environment=env-abc123/cloud-cluster=lkc-xxxxx' + environment: + example: + - id: env-xxxxx + related: 'https://api.confluent.cloud/v2/environments/env-xxxxx' + resource_name: 'https://api.confluent.cloud/organization=9bb441c4-edef-46ac-8a41-c49e44a3fd9a/environment=env-xxxxx' + 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. + + **Important:** This differs from Github and Twitter's same-named header which uses UTC epoch seconds. We use relative time to avoid client/server time synchronization issues. + '400': + $ref: '#/components/responses/BadRequestError' + '401': + $ref: '#/components/responses/UnauthenticatedError' + '403': + $ref: '#/components/responses/UnauthorizedError' + '404': + $ref: '#/components/responses/NotFoundError' + '429': + $ref: '#/components/responses/RateLimitError' + '500': + $ref: '#/components/responses/DefaultSystemError' + x-codeSamples: + - lang: Shell + source: |- + curl --request GET \ + --url 'https://api.confluent.cloud/kafka-quotas/v1/client-quotas/{id}' \ + --header 'Authorization: Basic REPLACE_BASIC_AUTH' + - lang: Java + source: |- + OkHttpClient client = new OkHttpClient(); + + Request request = new Request.Builder() + .url("https://api.confluent.cloud/kafka-quotas/v1/client-quotas/{id}") + .get() + .addHeader("Authorization", "Basic REPLACE_BASIC_AUTH") + .build(); + + Response response = client.newCall(request).execute(); + - lang: Go + source: "package main\n\nimport (\n\t\"fmt\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.confluent.cloud/kafka-quotas/v1/client-quotas/{id}\"\n\n\treq, _ := http.NewRequest(\"GET\", url, nil)\n\n\treq.Header.Add(\"Authorization\", \"Basic REPLACE_BASIC_AUTH\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}" + - lang: Python + source: |- + import http.client + + conn = http.client.HTTPSConnection("api.confluent.cloud") + + headers = { 'Authorization': "Basic REPLACE_BASIC_AUTH" } + + conn.request("GET", "/kafka-quotas/v1/client-quotas/{id}", headers=headers) + + res = conn.getresponse() + data = res.read() + + print(data.decode("utf-8")) + - lang: Node + source: |- + const http = require("https"); + + const options = { + "method": "GET", + "hostname": "api.confluent.cloud", + "port": null, + "path": "/kafka-quotas/v1/client-quotas/{id}", + "headers": { + "Authorization": "Basic REPLACE_BASIC_AUTH" + } + }; + + const req = http.request(options, function (res) { + const chunks = []; + + res.on("data", function (chunk) { + chunks.push(chunk); + }); + + res.on("end", function () { + const body = Buffer.concat(chunks); + console.log(body.toString()); + }); + }); + + req.end(); + - lang: C + source: |- + CURL *hnd = curl_easy_init(); + + curl_easy_setopt(hnd, CURLOPT_CUSTOMREQUEST, "GET"); + curl_easy_setopt(hnd, CURLOPT_URL, "https://api.confluent.cloud/kafka-quotas/v1/client-quotas/{id}"); + + struct curl_slist *headers = NULL; + headers = curl_slist_append(headers, "Authorization: Basic REPLACE_BASIC_AUTH"); + curl_easy_setopt(hnd, CURLOPT_HTTPHEADER, headers); + + CURLcode ret = curl_easy_perform(hnd); + - lang: C# + source: |- + var client = new RestClient("https://api.confluent.cloud/kafka-quotas/v1/client-quotas/{id}"); + var request = new RestRequest(Method.GET); + request.AddHeader("Authorization", "Basic REPLACE_BASIC_AUTH"); + IRestResponse response = client.Execute(request); + patch: + operationId: updateKafkaQuotasV1ClientQuota + summary: Update a Client Quota + description: |+ + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + Make a request to update a client quota. + + parameters: + - name: id + in: path + required: true + schema: + type: string + description: The unique identifier for the client quota. + tags: + - Client Quotas (kafka-quotas/v1) + security: + - cloud-api-key: [] + - confluent-sts-access-token: [] + requestBody: + content: + application/json: + schema: + allOf: + - $ref: '#/components/schemas/kafka-quotas.v1.ClientQuotaUpdate' + - type: object + required: + - spec + properties: + spec: + type: object + required: + - environment + properties: + environment: + example: + id: env-00000 + responses: + '200': + description: Client Quota. + content: + application/json: + schema: + allOf: + - $ref: '#/components/schemas/kafka-quotas.v1.ClientQuota' + - type: object + required: + - api_version + - kind + - id + - spec + properties: + spec: + type: object + required: + - display_name + - throughput + - cluster + - principals + - environment + - type: object + properties: + spec: + type: object + properties: + cluster: + example: + id: lkc-xxxxx + related: 'https://api.confluent.cloud/cmk/v2/clusters/lkc-xxxxx' + resource_name: 'https://api.confluent.cloud/organization=9bb441c4-edef-46ac-8a41-c49e44a3fd9a/environment=env-abc123/cloud-cluster=lkc-xxxxx' + environment: + example: + - id: env-xxxxx + related: 'https://api.confluent.cloud/v2/environments/env-xxxxx' + resource_name: 'https://api.confluent.cloud/organization=9bb441c4-edef-46ac-8a41-c49e44a3fd9a/environment=env-xxxxx' + 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. + + **Important:** This differs from Github and Twitter's same-named header which uses UTC epoch seconds. We use relative time to avoid client/server time synchronization issues. + '400': + $ref: '#/components/responses/BadRequestError' + '401': + $ref: '#/components/responses/UnauthenticatedError' + '403': + $ref: '#/components/responses/UnauthorizedError' + '404': + $ref: '#/components/responses/NotFoundError' + '409': + $ref: '#/components/responses/ConflictError' + '422': + $ref: '#/components/responses/ValidationError' + '429': + $ref: '#/components/responses/RateLimitError' + '500': + $ref: '#/components/responses/DefaultSystemError' + x-codeSamples: + - lang: Shell + source: |- + curl --request PATCH \ + --url 'https://api.confluent.cloud/kafka-quotas/v1/client-quotas/{id}' \ + --header 'Authorization: Basic REPLACE_BASIC_AUTH' \ + --header 'content-type: application/json' \ + --data '{"spec":{"display_name":"QuotaForSA1","description":"This quota defines limits on how much the target principals can use cluster lkc-xxxxx","throughput":{"ingress_byte_rate":"5","egress_byte_rate":"5"},"cluster":{"id":"string","environment":"string"},"principals":[{"id":"string"}],"environment":{"id":"env-00000"}}}' + - lang: Java + source: |- + OkHttpClient client = new OkHttpClient(); + + MediaType mediaType = MediaType.parse("application/json"); + RequestBody body = RequestBody.create(mediaType, "{\"spec\":{\"display_name\":\"QuotaForSA1\",\"description\":\"This quota defines limits on how much the target principals can use cluster lkc-xxxxx\",\"throughput\":{\"ingress_byte_rate\":\"5\",\"egress_byte_rate\":\"5\"},\"cluster\":{\"id\":\"string\",\"environment\":\"string\"},\"principals\":[{\"id\":\"string\"}],\"environment\":{\"id\":\"env-00000\"}}}"); + Request request = new Request.Builder() + .url("https://api.confluent.cloud/kafka-quotas/v1/client-quotas/{id}") + .patch(body) + .addHeader("content-type", "application/json") + .addHeader("Authorization", "Basic REPLACE_BASIC_AUTH") + .build(); + + Response response = client.newCall(request).execute(); + - lang: Go + source: "package main\n\nimport (\n\t\"fmt\"\n\t\"strings\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.confluent.cloud/kafka-quotas/v1/client-quotas/{id}\"\n\n\tpayload := strings.NewReader(\"{\\\"spec\\\":{\\\"display_name\\\":\\\"QuotaForSA1\\\",\\\"description\\\":\\\"This quota defines limits on how much the target principals can use cluster lkc-xxxxx\\\",\\\"throughput\\\":{\\\"ingress_byte_rate\\\":\\\"5\\\",\\\"egress_byte_rate\\\":\\\"5\\\"},\\\"cluster\\\":{\\\"id\\\":\\\"string\\\",\\\"environment\\\":\\\"string\\\"},\\\"principals\\\":[{\\\"id\\\":\\\"string\\\"}],\\\"environment\\\":{\\\"id\\\":\\\"env-00000\\\"}}}\")\n\n\treq, _ := http.NewRequest(\"PATCH\", url, payload)\n\n\treq.Header.Add(\"content-type\", \"application/json\")\n\treq.Header.Add(\"Authorization\", \"Basic REPLACE_BASIC_AUTH\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}" + - lang: Python + source: |- + import http.client + + conn = http.client.HTTPSConnection("api.confluent.cloud") + + payload = "{\"spec\":{\"display_name\":\"QuotaForSA1\",\"description\":\"This quota defines limits on how much the target principals can use cluster lkc-xxxxx\",\"throughput\":{\"ingress_byte_rate\":\"5\",\"egress_byte_rate\":\"5\"},\"cluster\":{\"id\":\"string\",\"environment\":\"string\"},\"principals\":[{\"id\":\"string\"}],\"environment\":{\"id\":\"env-00000\"}}}" + + headers = { + 'content-type': "application/json", + 'Authorization': "Basic REPLACE_BASIC_AUTH" + } + + conn.request("PATCH", "/kafka-quotas/v1/client-quotas/{id}", payload, headers) + + res = conn.getresponse() + data = res.read() + + print(data.decode("utf-8")) + - lang: Node + source: |- + const http = require("https"); + + const options = { + "method": "PATCH", + "hostname": "api.confluent.cloud", + "port": null, + "path": "/kafka-quotas/v1/client-quotas/{id}", + "headers": { + "content-type": "application/json", + "Authorization": "Basic REPLACE_BASIC_AUTH" + } + }; + + const req = http.request(options, function (res) { + const chunks = []; + + res.on("data", function (chunk) { + chunks.push(chunk); + }); + + res.on("end", function () { + const body = Buffer.concat(chunks); + console.log(body.toString()); + }); + }); + + req.write(JSON.stringify({ + spec: { + display_name: 'QuotaForSA1', + description: 'This quota defines limits on how much the target principals can use cluster lkc-xxxxx', + throughput: {ingress_byte_rate: '5', egress_byte_rate: '5'}, + cluster: {id: 'string', environment: 'string'}, + principals: [{id: 'string'}], + environment: {id: 'env-00000'} + } + })); + req.end(); + - lang: C + source: |- + CURL *hnd = curl_easy_init(); + + curl_easy_setopt(hnd, CURLOPT_CUSTOMREQUEST, "PATCH"); + curl_easy_setopt(hnd, CURLOPT_URL, "https://api.confluent.cloud/kafka-quotas/v1/client-quotas/{id}"); + + struct curl_slist *headers = NULL; + headers = curl_slist_append(headers, "content-type: application/json"); + headers = curl_slist_append(headers, "Authorization: Basic REPLACE_BASIC_AUTH"); + curl_easy_setopt(hnd, CURLOPT_HTTPHEADER, headers); + + curl_easy_setopt(hnd, CURLOPT_POSTFIELDS, "{\"spec\":{\"display_name\":\"QuotaForSA1\",\"description\":\"This quota defines limits on how much the target principals can use cluster lkc-xxxxx\",\"throughput\":{\"ingress_byte_rate\":\"5\",\"egress_byte_rate\":\"5\"},\"cluster\":{\"id\":\"string\",\"environment\":\"string\"},\"principals\":[{\"id\":\"string\"}],\"environment\":{\"id\":\"env-00000\"}}}"); + + CURLcode ret = curl_easy_perform(hnd); + - lang: C# + source: |- + var client = new RestClient("https://api.confluent.cloud/kafka-quotas/v1/client-quotas/{id}"); + var request = new RestRequest(Method.PATCH); + request.AddHeader("content-type", "application/json"); + request.AddHeader("Authorization", "Basic REPLACE_BASIC_AUTH"); + request.AddParameter("application/json", "{\"spec\":{\"display_name\":\"QuotaForSA1\",\"description\":\"This quota defines limits on how much the target principals can use cluster lkc-xxxxx\",\"throughput\":{\"ingress_byte_rate\":\"5\",\"egress_byte_rate\":\"5\"},\"cluster\":{\"id\":\"string\",\"environment\":\"string\"},\"principals\":[{\"id\":\"string\"}],\"environment\":{\"id\":\"env-00000\"}}}", ParameterType.RequestBody); + IRestResponse response = client.Execute(request); + delete: + operationId: deleteKafkaQuotasV1ClientQuota + summary: Delete a Client Quota + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + Make a request to delete a client quota. + parameters: + - name: id + in: path + required: true + schema: + type: string + description: The unique identifier for the client quota. + tags: + - Client Quotas (kafka-quotas/v1) + security: + - cloud-api-key: [] + - confluent-sts-access-token: [] + responses: + '204': + description: A Client Quota is being deleted. + headers: + X-Request-Id: + schema: + type: string + description: The unique identifier for the API request. + X-RateLimit-Limit: + schema: + type: integer + description: The maximum number of requests you're permitted to make per time period. + X-RateLimit-Remaining: + schema: + type: integer + description: The number of requests remaining in the current rate limit window. + X-RateLimit-Reset: + schema: + type: integer + description: |- + The relative time in seconds until the current rate-limit window resets. + + **Important:** This differs from Github and Twitter's same-named header which uses UTC epoch seconds. We use relative time to avoid client/server time synchronization issues. + '400': + $ref: '#/components/responses/BadRequestError' + '401': + $ref: '#/components/responses/UnauthenticatedError' + '403': + $ref: '#/components/responses/UnauthorizedError' + '404': + $ref: '#/components/responses/NotFoundError' + '429': + $ref: '#/components/responses/RateLimitError' + '500': + $ref: '#/components/responses/DefaultSystemError' + x-codeSamples: + - lang: Shell + source: |- + curl --request DELETE \ + --url 'https://api.confluent.cloud/kafka-quotas/v1/client-quotas/{id}' \ + --header 'Authorization: Basic REPLACE_BASIC_AUTH' + - lang: Java + source: |- + OkHttpClient client = new OkHttpClient(); + + Request request = new Request.Builder() + .url("https://api.confluent.cloud/kafka-quotas/v1/client-quotas/{id}") + .delete(null) + .addHeader("Authorization", "Basic REPLACE_BASIC_AUTH") + .build(); + + Response response = client.newCall(request).execute(); + - lang: Go + source: "package main\n\nimport (\n\t\"fmt\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.confluent.cloud/kafka-quotas/v1/client-quotas/{id}\"\n\n\treq, _ := http.NewRequest(\"DELETE\", url, nil)\n\n\treq.Header.Add(\"Authorization\", \"Basic REPLACE_BASIC_AUTH\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}" + - lang: Python + source: |- + import http.client + + conn = http.client.HTTPSConnection("api.confluent.cloud") + + headers = { 'Authorization': "Basic REPLACE_BASIC_AUTH" } + + conn.request("DELETE", "/kafka-quotas/v1/client-quotas/{id}", headers=headers) + + res = conn.getresponse() + data = res.read() + + print(data.decode("utf-8")) + - lang: Node + source: |- + const http = require("https"); + + const options = { + "method": "DELETE", + "hostname": "api.confluent.cloud", + "port": null, + "path": "/kafka-quotas/v1/client-quotas/{id}", + "headers": { + "Authorization": "Basic REPLACE_BASIC_AUTH" + } + }; + + const req = http.request(options, function (res) { + const chunks = []; + + res.on("data", function (chunk) { + chunks.push(chunk); + }); + + res.on("end", function () { + const body = Buffer.concat(chunks); + console.log(body.toString()); + }); + }); + + req.end(); + - lang: C + source: |- + CURL *hnd = curl_easy_init(); + + curl_easy_setopt(hnd, CURLOPT_CUSTOMREQUEST, "DELETE"); + curl_easy_setopt(hnd, CURLOPT_URL, "https://api.confluent.cloud/kafka-quotas/v1/client-quotas/{id}"); + + struct curl_slist *headers = NULL; + headers = curl_slist_append(headers, "Authorization: Basic REPLACE_BASIC_AUTH"); + curl_easy_setopt(hnd, CURLOPT_HTTPHEADER, headers); + + CURLcode ret = curl_easy_perform(hnd); + - lang: C# + source: |- + var client = new RestClient("https://api.confluent.cloud/kafka-quotas/v1/client-quotas/{id}"); + var request = new RestRequest(Method.DELETE); + request.AddHeader("Authorization", "Basic REPLACE_BASIC_AUTH"); + IRestResponse response = client.Execute(request); diff --git a/providers/src/confluent/v00.00.00000/services/schema_registry.yaml b/providers/src/confluent/v00.00.00000/services/schema_registry.yaml new file mode 100644 index 00000000..504b6e97 --- /dev/null +++ b/providers/src/confluent/v00.00.00000/services/schema_registry.yaml @@ -0,0 +1,9326 @@ +openapi: 3.0.0 +servers: + - url: 'https://api.confluent.cloud' + description: Confluent Cloud API +info: + version: '' + contact: + name: Confluent Cloud + url: 'https://www.confluent.io/cloud-contact-us/' + email: support@confluent.io + x-api-id: 46234552-5833-42eb-ba0f-883ad3f70d2b + x-audience: external-public + x-logo: + url: 'https://assets.confluent.io/m/5ec23aa91903c00b/' + title: Confluent Cloud APIs - schema_registry + description: schema_registry +tags: + - name: API Keys (iam/v2) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + `ApiKey` objects represent access to different parts of Confluent Cloud. Some types + of API keys represent access to a single cluster/resource such as a Kafka cluster, + Schema Registry cluster or a ksqlDB cluster. Cloud API Keys represent access to resources within an organization + that are not tied to a specific cluster, such as the Org API, IAM API, Metrics API or Connect API. + + The API allows you to list, create, update and delete your API Keys. + + + Related guide: [API Keys in Confluent Cloud](https://docs.confluent.io/cloud/current/client-apps/api-keys.html). + + ## The API Keys Model + + + ## Quotas and Limits + This resource is subject to the [following quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): + + | Quota | Description | + | --- | --- | + | `apikeys_per_org` | API Keys in one Confluent Cloud organization | + - name: Environments (org/v2) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + `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](https://docs.confluent.io/cloud/current/access-management/environments.html). + + ## The Environments Model + + + ## Quotas and Limits + This resource is subject to the [following quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): + + | Quota | Description | + | --- | --- | + | `environments_per_org` | Environments in one Confluent Cloud organization | + - name: Organizations (org/v2) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + `Organization` objects represent a customer organization. An organization contains all customer + resources (e.g., Environments, Kafka Clusters, Service Accounts, API Keys) and is tied to a billing + agreement (including any annual commitment or support plan). + + The API allows you to list, view, and update your organizations. + + + Related guide: [Organizations for Confluent Cloud](https://docs.confluent.io/cloud/current/access-management/hierarchy/organizations/cloud-organization.html). + + ## The Organizations Model + + + ## Quotas and Limits + This resource is subject to the [following quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): + + | Quota | Description | + | --- | --- | + | `organizations_per_user` | Confluent Cloud organizations a user belongs to | + - name: Users (iam/v2) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + `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](https://docs.confluent.io/cloud/current/access-management/user-account.html). + + ## The Users Model + + + ## Quotas and Limits + This resource is subject to the [following quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): + + | Quota | Description | + | --- | --- | + | `users_per_org` | Users in one Confluent Cloud organization | + - name: Service Accounts (iam/v2) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + `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](https://docs.confluent.io/cloud/current/access-management/service-account.html). + + ## The Service Accounts Model + + + ## Quotas and Limits + This resource is subject to the [following quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): + + | Quota | Description | + | --- | --- | + | `service_accounts_per_org` | Service Accounts in one Confluent Cloud organization | + - name: Invitations (iam/v2) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + `Invitation` objects represent invitations to invite users to join your organizations in Confluent Cloud. + + The API allows you to list all your invitations, as well as create, read, and delete a specified invitation. + + + Related guide: [User invitations in Confluent Cloud](https://docs.confluent.io/cloud/current/access-management/identity/user-accounts.html). + + ## The Invitations Model + + + ## Quotas and Limits + This resource is subject to the [following quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): + + | Quota | Description | + | --- | --- | + | `invitations_per_org` | Invitations in a Confluent Cloud organization | + - name: IP Groups (iam/v2) + description: |- + [![Limited Availability](https://img.shields.io/badge/Lifecycle%20Stage-Limited%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) [![Request Access To IP Groups API](https://img.shields.io/badge/-Request%20Access%20To%20IP%20Groups%20API-%23bc8540)](mailto:cloud-support@confluent.io?subject=Request%20to%20join%20IP%20Filtering%20API%20Limited%20Access&body=I%E2%80%99d%20like%20to%20join%20the%20Confluent%20Cloud%20API%20Limited%20Access%20for%20IP%20Filtering.%0AMy%20Cloud%20Organization%20ID%20is%20%3Cretrieve%20from%20https%3A//confluent.cloud/settings/billing/payment%3E.%0A) + + Definitions of networks which can be named and referred by IP blocks, commonly used to attach to IP Filter rules. + + + ## The IP Groups Model + + - name: IP Filters (iam/v2) + description: |- + [![Limited Availability](https://img.shields.io/badge/Lifecycle%20Stage-Limited%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) [![Request Access To IP Filters API](https://img.shields.io/badge/-Request%20Access%20To%20IP%20Filters%20API-%23bc8540)](mailto:ccloud-api-access+iam-v2-limited-availability@confluent.io?subject=Request%20to%20join%20iam/v2%20API%20Limited%20Availability&body=I%E2%80%99d%20like%20to%20join%20the%20Confluent%20Cloud%20API%20Limited%20Availability%20for%20iam/v2%20to%20provide%20early%20feedback%21%20My%20Cloud%20Organization%20ID%20is%20%3Cretrieve%20from%20https%3A//confluent.cloud/settings/billing/payment%3E.) + + `IP Filter` objects are bindings between IP Groups and Confluent resource(s). + For example, a binding between "CorpNet" and "Management APIs" will enforce that + access must come from one of the CIDR blocks associated with CorpNet. + If there are multiple IP filters bound to a resource, a request matching any of the CIDR blocks + for any of the IP Group will allow the request. + If there are no IP Filters for a resource, then access will be granted to requests originating + from any IP Address. + + + ## The IP Filters Model + + - name: Role Bindings (iam/v2) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + A role binding grants a Principal a role on resources that match a pattern. + + The API allows you to perform create, delete, and list operations on role bindings. + + + Related guide: [Role-Based Access Control (RBAC)](https://docs.confluent.io/cloud/current/access-management/access-control/cloud-rbac.html). + + ## The Role Bindings Model + + - name: Subscriptions (notifications/v1) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + `Subscription` objects represent the intent of the customers to get notifications of particular types. + A subscription is created for a particular `NotificationType` and the user will get notifications on the + `Integrations` that are provided while creating the subscription. + + This API allows you to create, retrieve, and update subscriptions, + as well as to view the list of all your subscriptions. You can also delete subscriptions + with RECOMMENDED or OPTIONAL notification types. Subscriptions with REQUIRED notification types cannot be deleted. + + + Related guide: [Cloud Notifications](https://docs.confluent.io/cloud/current/monitoring/configure-notifications.html#notifications-for-ccloud). + + ## The Subscriptions Model + + - name: Integrations (notifications/v1) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + You can create an `Integration` to specify how we can notify you when we receive an alert/notification for + a subscription. Please note that you can only perform create, update and delete operations for integrations + of type `Webhook`, `Slack` and `MsTeams`. You cannot create, update or delete integrations of type `RoleEmail` + and `UserEmail`. + + + Related guide: [Cloud Notifications](https://docs.confluent.io/cloud/current/monitoring/configure-notifications.html#notifications-for-ccloud). + + ## The Integrations Model + + + ## Quotas and Limits + This resource is subject to the [following quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): + + | Quota | Description | + | --- | --- | + | `integrations_per_org` | Maximum number of integrations in one Confluent Cloud organization | + - name: Notification Types (notifications/v1) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + The type of notifications (and their corresponding metadata) supported by Confluent. + + + Related guide: [Cloud Notifications](https://docs.confluent.io/cloud/current/monitoring/configure-notifications.html#notifications-for-ccloud). + + ## The Notification Types Model + + - name: Clusters (cmk/v2) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + `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](https://docs.confluent.io/cloud/current/clusters/cluster-api.html). + + ## The Clusters Model + + + ## Quotas and Limits + This resource is subject to the [following quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): + + | Quota | Description | + | --- | --- | + | `kafka_clusters_per_environment` | Number of clusters in one Confluent Cloud environment | + - name: Clusters (ksqldbcm/v2) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + `Cluster` represents a ksqlDB runtime that you can issue queries to using its API endpoint. + It executes SQL statements and queries which under the hood get built into corresponding + Kafka Streams topologies. The API allows you to list, create, read, and delete your ksqlDB clusters. + + + Related guide: [ksqlDB in Confluent Cloud](https://docs.confluent.io/cloud/current/ksqldb/ksqldb-cluster-api.html). + + ## The Clusters Model + + + ## Quotas and Limits + This resource is subject to the following quotas: + + | Quota | Description | + | --- | --- | + | `ksql.limits.max_apps_per_cluster` | Clusters in one Confluent Cloud Kafka Cluster. | + - name: Connectors (connect/v1) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + API for Managed Connectors or Custom Connectors in Confluent Cloud. + + The API allows you to list, create, get, update and delete a Managed Connector or Custom Connector in Confluent Cloud. + + Connect metrics are available through the [Metrics v2 API](https://api.telemetry.confluent.cloud/docs#tag/Version-2). + + Related guide: [Confluent Cloud API and Managed Connectors](https://docs.confluent.io/cloud/current/connectors/connect-api-section.html). + - name: Lifecycle (connect/v1) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + API for managing the lifecycle for a Managed Connector or Custom Connector in Confluent Cloud. Operations currently supported are Pause and Resume. + - name: Status (connect/v1) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + API for requesting the status or the tasks for a Managed Connector or Custom Connector in Confluent Cloud. + - name: Managed Connector Plugins (connect/v1) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + API for Managed connectors in Confluent Cloud. + - name: Offsets (connect/v1) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + API for managing the offsets for a Managed Connector. + + Related guide: [Manage Connector Offsets](https://docs.confluent.io/cloud/current/connectors/offsets.html#manage-offsets-for-fully-managed-connectors-in-ccloud) + - name: Custom Connector Plugins (connect/v1) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + CustomConnectorPlugins objects represent Custom Connector Plugins on Confluent Cloud. + The API allows you to list, create, read, update, and delete your Custom Connector Plugins. + Related guide: + [Custom Connector Plugin API](https://docs.confluent.io/cloud/current/connectors/connect-api-section.html). + + + ## The Custom Connector Plugins Model + + - name: Presigned Urls (connect/v1) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + Request a presigned upload URL for new Custom Connector Plugin. Note that + the URL policy expires in one hour. If the policy expires, you can request + a new presigned upload URL. + + Related guide: + [Custom Connector Plugin API](https://docs.confluent.io/cloud/current/connectors/connect-api-section.html). + + + ## The Presigned Urls Model + + - name: Cluster (v3) + description: '[![Generally Available](https://img.shields.io/badge/Lifecycle%20Stage-Generally%20Available-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy)' + - name: Configs (v3) + description: '[![Generally Available](https://img.shields.io/badge/Lifecycle%20Stage-Generally%20Available-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy)' + - name: ACL (v3) + description: '[![Generally Available](https://img.shields.io/badge/Lifecycle%20Stage-Generally%20Available-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy)' + - name: Consumer Group (v3) + description: '[![Generally Available](https://img.shields.io/badge/Lifecycle%20Stage-Generally%20Available-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy)' + - name: Partition (v3) + description: '[![Generally Available](https://img.shields.io/badge/Lifecycle%20Stage-Generally%20Available-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy)' + - name: Topic (v3) + description: '[![Generally Available](https://img.shields.io/badge/Lifecycle%20Stage-Generally%20Available-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy)' + - name: Records (v3) + description: '[![Generally Available](https://img.shields.io/badge/Lifecycle%20Stage-Generally%20Available-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy)' + - name: Cluster Linking (v3) + description: '[![Generally Available](https://img.shields.io/badge/Lifecycle%20Stage-Generally%20Available-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy)' + - name: Applied Quotas (service-quota/v1) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + A `quota` object represents a quota configuration for a specific Confluent Cloud resource. + Use this API to retrieve an individual quota or list of quotas for a given scope. + + + Related guide: [Service Quotas for Confluent Cloud](https://docs.confluent.io/cloud/current/quotas/index.html). + + ## The Applied Quotas Model + + - name: Scopes (service-quota/v1) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + Gets a list of all available scopes for applied quotas. + + + Related guide: [Quota Scopes](https://docs.confluent.io/cloud/current/quotas/quotas.html#query-for-scopes). + + ## The Scopes Model + + - name: Entitlements (partner/v2) + description: | + [![Early Access](https://img.shields.io/badge/Lifecycle%20Stage-Early%20Access-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) [![Request Access To Partner v2](https://img.shields.io/badge/-Request%20Access%20To%20Partner%20v2-%23bc8540)](mailto:ccloud-api-access+partner-v2-early-access@confluent.io?subject=Request%20to%20join%20partner/v2%20API%20Early%20Access&body=I%E2%80%99d%20like%20to%20join%20the%20Confluent%20Cloud%20API%20Early%20Access%20for%20partner/v2%20to%20provide%20early%20feedback%21%20My%20Cloud%20Organization%20ID%20is%20%3Cretrieve%20from%20https%3A//confluent.cloud/settings/billing/payment%3E.) + + `Entitlement` objects represent metadata about a marketplace entitlement. + + An entitlement includes metadata about a marketplace purchase + (start date, end date, billing information, partner IDs, etc). + The API allows partners to create, read, and list entitlements. (Unless you + need entitlement creation and customer registration to be separate, + we recommend using the Signup API to create an organization and entitlement + at the same time) + + The API only allows authorized partners to interact with the Entitlements API. + - name: Regions (srcm/v2) + description: |- + [![Deprecated](https://img.shields.io/badge/Lifecycle%20Stage-Deprecated-%23ff005c)](#section/Versioning/API-Lifecycle-Policy) + + `Region` objects represent cloud provider regions available when placing Schema Registry clusters. + The API allows you to list Schema Registry regions. + + + Related guides: + * [Confluent Cloud providers and region support](https://docs.confluent.io/cloud/current/stream-governance/packages.html#cloud-providers-and-region-support). + * [srcm/v3 Migration Guide](https://docs.confluent.io/cloud/current/stream-governance/packages.html#deprecation-of-srcm-v2-clusters-and-regions-apis-and-upgrade-guide). + + + ## The Regions Model + + - name: Clusters (srcm/v2) + description: |- + [![Deprecated](https://img.shields.io/badge/Lifecycle%20Stage-Deprecated-%23ff005c)](#section/Versioning/API-Lifecycle-Policy) + + `Clusters` objects represent Schema Registry Clusters on Confluent Cloud. + + The API allows you to list, create, read, and delete your Schema Registry clusters. + + + Related guides: + * [Confluent Cloud Schema Registry Cluster APIs](https://docs.confluent.io/cloud/current/stream-governance/clusters-regions-api.html#schema-registry-cluster-management). + * [srcm/v3 Migration Guide](https://docs.confluent.io/cloud/current/stream-governance/packages.html#deprecation-of-srcm-v2-clusters-and-regions-apis-and-upgrade-guide). + + + ## The Clusters Model + + - name: Clusters (srcm/v3) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + `Clusters` objects represent Schema Registry Clusters on Confluent Cloud. + + The API allows you to list and read your Schema Registry clusters. + + + Related guide: [Confluent Cloud Schema Registry Cluster APIs](https://docs.confluent.io/cloud/current/stream-governance/clusters-regions-api.html#schema-registry-cluster-management). + + ## The Clusters Model + + - name: Compatibility (v1) + description: |- + [![Generally Available](https://img.shields.io/badge/Lifecycle%20Stage-Generally%20Available-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + The API allows you to test schema compatibility. + + Related guide: [Manage Schemas in Confluent Cloud](https://docs.confluent.io/cloud/current/sr/schemas-manage.html#manage-schemas-in-ccloud). + - name: Config (v1) + description: |- + [![Generally Available](https://img.shields.io/badge/Lifecycle%20Stage-Generally%20Available-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + The API allows you to manage and query schema compatibility settings and cluster configurations. + + Related guide: [Manage Schemas in Confluent Cloud](https://docs.confluent.io/cloud/current/sr/schemas-manage.html#manage-schemas-in-ccloud). + - name: Contexts (v1) + description: |- + [![Generally Available](https://img.shields.io/badge/Lifecycle%20Stage-Generally%20Available-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + The API allows you to retrieve information about schema contexts. + + Related guide: [Manage Schemas in Confluent Cloud](https://docs.confluent.io/cloud/current/sr/schemas-manage.html#manage-schemas-in-ccloud). + - name: Exporters (v1) + description: |- + [![Generally Available](https://img.shields.io/badge/Lifecycle%20Stage-Generally%20Available-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + The API allows you to create, retrieve, update, and delete exporters. + + Related guide: [Manage Schemas in Confluent Cloud](https://docs.confluent.io/cloud/current/sr/schemas-manage.html#manage-schemas-in-ccloud). + - name: Modes (v1) + description: |- + [![Generally Available](https://img.shields.io/badge/Lifecycle%20Stage-Generally%20Available-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + The API allows you to create, retrieve, update, and delete schema subjects modes of operation. + + Related guide: [Manage Schemas in Confluent Cloud](https://docs.confluent.io/cloud/current/sr/schemas-manage.html#manage-schemas-in-ccloud). + - name: Schemas (v1) + description: |- + [![Generally Available](https://img.shields.io/badge/Lifecycle%20Stage-Generally%20Available-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + The API allows you to create, retrieve, update, and delete schemas. + + Related guide: [Manage Schemas in Confluent Cloud](https://docs.confluent.io/cloud/current/sr/schemas-manage.html#manage-schemas-in-ccloud). + - name: Subjects (v1) + description: |- + [![Generally Available](https://img.shields.io/badge/Lifecycle%20Stage-Generally%20Available-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + The API allows you to create, retrieve, update, and delete schema subjects and versions. + + Related guide: [Manage Schemas in Confluent Cloud](https://docs.confluent.io/cloud/current/sr/schemas-manage.html#manage-schemas-in-ccloud). + - name: Key Encryption Keys (v1) + description: |- + [![Generally Available](https://img.shields.io/badge/Lifecycle%20Stage-Generally%20Available-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + The API allows you to create, retrieve, update, and delete key encryption keys. + + Related guide: [Manage Schemas in Confluent Cloud](https://docs.confluent.io/cloud/current/sr/schemas-manage.html#manage-schemas-in-ccloud). + - name: Data Encryption Keys (v1) + description: |- + [![Generally Available](https://img.shields.io/badge/Lifecycle%20Stage-Generally%20Available-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + The API allows you to create, retrieve, update, and delete data encryption keys. + + Related guide: [Manage Schemas in Confluent Cloud](https://docs.confluent.io/cloud/current/sr/schemas-manage.html#manage-schemas-in-ccloud). + - name: Entity (v1) + description: |- + [![Generally Available](https://img.shields.io/badge/Lifecycle%20Stage-Generally%20Available-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + The API allows you to create, retrieve, update, and delete catalog entities. + + Related guide: [Catalog API Documentation](https://docs.confluent.io/cloud/current/stream-governance/stream-catalog.html#catalog-api-documentation). + - name: Search (v1) + description: |- + [![Generally Available](https://img.shields.io/badge/Lifecycle%20Stage-Generally%20Available-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + The API allows you to search for entities. + + Related guide: [Catalog API Documentation](https://docs.confluent.io/cloud/current/stream-governance/stream-catalog.html#catalog-api-documentation). + - name: Types (v1) + description: |- + [![Generally Available](https://img.shields.io/badge/Lifecycle%20Stage-Generally%20Available-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + The API allows you to create, retrieve, update, and delete catalog types such as tag definitions. + + Related guide: [Catalog API Documentation](https://docs.confluent.io/cloud/current/stream-governance/stream-catalog.html#catalog-api-documentation). + - name: Provider Shared Resources (cdx/v1) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + `ProviderSharedResource` object contains details of the data stream + (topic, schema registry subjects, sharing metadata) that you have shared through Stream Sharing. + + + ## The Provider Shared Resources Model + + - name: Provider Shares (cdx/v1) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + `ProviderShare` object respresents the share that you have created through Stream Sharing. + + + Related guide: [Provider Stream Shares in Confluent Cloud](https://docs.confluent.io/cloud/current/stream-sharing/produce-shared-data.html#stream-shares). + + ## The Provider Shares Model + + - name: Consumer Shared Resources (cdx/v1) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + `ConsumerSharedResource` object contains details of the data stream + (topic, schema registry subjects, sharing metadata) that you received through Stream Sharing. + + + ## The Consumer Shared Resources Model + + - name: Consumer Shares (cdx/v1) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + `ConsumerShare` object respresents the share that you received through Stream Sharing. + + + Related guide: [Consumer Stream Shares in Confluent Cloud](https://docs.confluent.io/cloud/current/stream-sharing/consume-shared-data.html). + + ## The Consumer Shares Model + + - name: Shared Tokens (cdx/v1) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + Encrypted Token shared with consumer + + + ## The Shared Tokens Model + + - name: Opt Ins (cdx/v1) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + Stream sharing opt in options + + ## The Opt Ins Model + + - name: Organizations (partner/v2) + description: | + [![Early Access](https://img.shields.io/badge/Lifecycle%20Stage-Early%20Access-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) [![Request Access To Partner v2](https://img.shields.io/badge/-Request%20Access%20To%20Partner%20v2-%23bc8540)](mailto:ccloud-api-access+partner-v2-early-access@confluent.io?subject=Request%20to%20join%20partner/v2%20API%20Early%20Access&body=I%E2%80%99d%20like%20to%20join%20the%20Confluent%20Cloud%20API%20Early%20Access%20for%20partner/v2%20to%20provide%20early%20feedback%21%20My%20Cloud%20Organization%20ID%20is%20%3Cretrieve%20from%20https%3A//confluent.cloud/settings/billing/payment%3E.) + + `Organizations` objects represent an entire Confluent Cloud organization. + Partners are allowed to get an organization they have signed up or + list all organizations they have signed up. + - name: Signup (partner/v2) + description: | + [![Early Access](https://img.shields.io/badge/Lifecycle%20Stage-Early%20Access-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) [![Request Access To Partner v2](https://img.shields.io/badge/-Request%20Access%20To%20Partner%20v2-%23bc8540)](mailto:ccloud-api-access+partner-v2-early-access@confluent.io?subject=Request%20to%20join%20partner/v2%20API%20Early%20Access&body=I%E2%80%99d%20like%20to%20join%20the%20Confluent%20Cloud%20API%20Early%20Access%20for%20partner/v2%20to%20provide%20early%20feedback%21%20My%20Cloud%20Organization%20ID%20is%20%3Cretrieve%20from%20https%3A//confluent.cloud/settings/billing/payment%3E.) + + `Signup` APIs can only be performed by partners. + - name: Networks (networking/v1) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + `Network` represents a network (VPC) in Confluent Cloud. All Networks exist within Confluent-managed cloud + provider accounts. Dedicated networks support more networking options but can only contain Dedicated clusters. + Shared networks can contain any cluster type. + + The API allows you to list, create, read, update, and delete your networks. + + + Related guide: [APIs to manage networks in Confluent Cloud](https://docs.confluent.io/cloud/current/networking/overview.html). + + ## The Networks Model + + + ## Quotas and Limits + This resource is subject to the [following quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): + + | Quota | Description | + | --- | --- | + | `dedicated_networks_per_environment` | Number of dedicated networks per Confluent Cloud environment | + - name: Peerings (networking/v1) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + Add or remove VPC/VNet peering connections between your VPC/VNet and Confluent Cloud. + + Related guides: + * [Use VPC peering connections with Confluent Cloud on AWS](https://docs.confluent.io/cloud/current/networking/peering/aws-peering.html). + * [Use VNet peering connections with Confluent Cloud on Azure](https://docs.confluent.io/cloud/current/networking/peering/azure-peering.html). + * [Use VPC peering connections with Confluent Cloud on Google Cloud](https://docs.confluent.io/cloud/current/networking/peering/gcp-peering.html). + + + ## The Peerings Model + + + ## Quotas and Limits + This resource is subject to the [following quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): + + | Quota | Description | + | --- | --- | + | `peerings_per_network` | Number of peerings per network | + - name: Transit Gateway Attachments (networking/v1) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + AWS Transit Gateway Attachments + + Related guide: [APIs to manage AWS Transit Gateway Attachments](https://docs.confluent.io/cloud/current/networking/aws-transit-gateway.html). + + ## The Transit Gateway Attachments Model + + + ## Quotas and Limits + This resource is subject to the [following quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): + + | Quota | Description | + | --- | --- | + | `tgw_attachments_per_network` | Number of TGW attachments per network | + - name: Private Link Accesses (networking/v1) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + Add or remove access to PrivateLink endpoints by AWS account, Azure subscription and GCP project ID. + + Related guides: + * [Use Google Cloud Private Service Connect with Confluent Cloud](https://docs.confluent.io/cloud/current/networking/private-links/gcp-private-service-connect.html). + * [Use Azure Private Link with Confluent Cloud](https://docs.confluent.io/cloud/current/networking/private-links/azure-privatelink.html). + * [Use AWS PrivateLink with Confluent Cloud](https://docs.confluent.io/cloud/current/networking/private-links/aws-privatelink.html). + + + ## The Private Link Accesses Model + + + ## Quotas and Limits + This resource is subject to the [following quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): + + | Quota | Description | + | --- | --- | + | `private_link_accounts_per_network` | Number of AWS accounts per network | + | `private_link_subscriptions_per_network` | Number of Azure subscriptions per network | + | `private_service_connect_projects_per_network` | Number of GCP projects per network | + - name: Network Link Services (networking/v1) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + Network Link Service is associated with a Private Link Confluent Cloud Network. + It enables connectivity from other Private Link Confluent Cloud Networks based on + the configured accept policies. + + + Related guide: [Network Linking Overview](https://docs.confluent.io/cloud/current/networking/network-linking.html). + + ## The Network Link Services Model + + + ## Quotas and Limits + This resource is subject to the [following quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): + + | Quota | Description | + | --- | --- | + | `network_link_service_per_network` | Number of network link services per network | + - name: Network Link Endpoints (networking/v1) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + A Network Link Enpoint is associated with a Private Link Confluent Cloud Network at the origin and a + Network Link Service (associated with another Private Link Confluent Cloud Network) at the target. + It enables connectivity between the origin network and the target network. + It can only be associated with a Private Link network. + + + Related guide: [Network Linking Overview](https://docs.confluent.io/cloud/current/networking/network-linking.html). + + ## The Network Link Endpoints Model + + + ## Quotas and Limits + This resource is subject to the [following quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): + + | Quota | Description | + | --- | --- | + | `network_link_endpoints_per_network` | Number of network link endpoints per network | + - name: Network Link Service Associations (networking/v1) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + List of incoming Network Link Enpoints associated with the Network Link Service. + + + Related guide: [Network Linking Overview](https://docs.confluent.io/cloud/current/networking/network-linking.html). + + ## The Network Link Service Associations Model + + - name: Gateways (networking/v1) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + A gateway is a resource that defines network access to Confluent cloud resources. + + + ## The Gateways Model + + - name: IP Addresses (networking/v1) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + IP Addresses + + Related guide: [Use Public Egress IP addresses on Confluent Cloud](https://docs.confluent.io/cloud/current/networking/static-egress-ip-addresses.html) + + ## The IP Addresses Model + + - name: Private Link Attachments (networking/v1) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + PrivateLink attachment objects represent reservations to establish PrivateLink connections + to a cloud region in order to access resources that belong to a Confluent Cloud Environment. + The API allows you to list, create, read update and delete your PrivateLink attachments. + + + ## The Private Link Attachments Model + + + ## Quotas and Limits + This resource is subject to the [following quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): + + | Quota | Description | + | --- | --- | + | `private_link_attachments_per_environment` | Number of PrivateLink Attachments per environment | + - name: Private Link Attachment Connections (networking/v1) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + PrivateLink attachment connection objects represent connections established to a cloud region + in order to access resources that belong to a Confluent Cloud Environment. + The API allows you to list, create, read update and delete your PrivateLink attachment connections. + + + ## The Private Link Attachment Connections Model + + - name: Identity Providers (iam/v2) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + `IdentityProvider` objects represent external OAuth-OIDC providers in Confluent Cloud. + + The API allows you to list, create, read, update, and delete your Identity Provider. + + + Related guide: [OAuth for Confluent Cloud](https://docs.confluent.io/cloud/current/access-management/authenticate/oauth/overview.html). + + ## The Identity Providers Model + + + ## Quotas and Limits + This resource is subject to the [following quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): + + | Quota | Description | + | --- | --- | + | `identity_providers_per_org` | Number of OAuth identity providers per organization | + | `public_keys_per_provider` | Number of public keys saved per identity provider | + - name: Jwks (iam/v2) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + `JWKS` objects represent public key sets for a specific OAuth/OpenID Connect provider within + Confluent Cloud. + + The API allows you to refresh JWKS public key data. + + + Related guide: [OAuth for Confluent Cloud](https://docs.confluent.io/cloud/current/access-management/authenticate/oauth/overview.html). + + ## The Jwks Model + + - name: Identity Pools (iam/v2) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + `IdentityPool` objects represent groups of identities tied to a given a `IdentityProvider` + that authorizes them to Confluent Cloud resources. + + It provides a mapping functionality of your `Identity Provider` user to a Confluent identity pool that + is then used to provide access to Confluent Resources. + + + Related guide: [Use identity pools with your OAuth provider](https://docs.confluent.io/cloud/current/access-management/authenticate/oauth/identity-pools.html). + + ## The Identity Pools Model + + + ## Quotas and Limits + This resource is subject to the [following quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): + + | Quota | Description | + | --- | --- | + | `identity_pools_per_provider` | Number of Identity Pools per Identity Provider | + - name: OAuth Tokens (sts/v1) + description: | + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + OAuth Token is a [JSON Web Token (JWT)](https://www.rfc-editor.org/rfc/rfc7519) that enables the use of + external identities to access Confluent Cloud APIs + - name: Client Quotas (kafka-quotas/v1) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + `ClientQuota` objects represent Client Quotas you can set at the service account level. + + The API allows you to list, create, read, update, and delete your client quotas. + + + Related guide: [Client Quotas in Confluent Cloud](https://docs.confluent.io/cloud/current/clusters/client-quotas.html). + + ## The Client Quotas Model + + - name: Pipelines (sd/v1) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + `Pipeline` objects represent information about a user-defined pipeline of Confluent Cloud components. + The pipeline's content is available separately. + + The API allows you to create, retrieve, update, and delete your pipelines, + as well as list all of your pipelines for the particular environment and Kafka cluster. + + + Related guide: [Pipelines in Confluent Cloud](https://docs.confluent.io/cloud/current/stream-designer/). + + ## The Pipelines Model + + + ## Quotas and Limits + This resource is subject to the [following quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): + + | Quota | Description | + | --- | --- | + | `pipelines_per_org` | Pipelines in one Confluent Cloud organization | + | `pipelines_per_cluster` | Pipelines in one Confluent Cloud Kafka cluster | + - name: Keys (byok/v1) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + `Key` objects represent customer managed keys on dedicated Confluent Cloud clusters. + + Keys are used to protect data at rest stored in your dedicated Confluent Cloud clusters on AWS, Azure, and GCP. + This API allows you to upload and retrieve self-managed keys on Confluent Cloud. + + + Related guide: [Confluent Cloud Bring Your Own Key (BYOK) Management API](https://docs.confluent.io/cloud/current/clusters/byok/index.html). + + ## The Keys Model + + + ## Quotas and Limits + This resource is subject to the [following quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): + + | Quota | Description | + | --- | --- | + | `byok.max_keys.per_org` | BYOK keys in one Confluent Cloud organisation. | + - name: Costs (billing/v1) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + `Cost` objects represent the aggregated billing costs for an organization + + + Related guide: [Retrieve costs for a range of dates](https://docs.confluent.io/cloud/current/billing/overview.html#retrieve-costs-for-a-range-of-dates). + + ## The Costs Model + + - name: Group Mappings (iam/v2/sso) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + `GroupMapping` objects establish relationships between user groups in your SSO + identity provider and specific RBAC roles in Confluent Cloud. + + Group mappings enable automated and secure access control to Confluent Cloud resources, + reducing administrative workload by streamlining user provisioning and authorization. + + + Related guide: [Use group mappings with your SSO identity provider](https://docs.confluent.io/cloud/current/access-management/authenticate/sso/group-mapping/overview.html). + + ## The Group Mappings Model + + + ## Quotas and Limits + This resource is subject to the [following quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): + + | Quota | Description | + | --- | --- | + | `group_mappings_per_org` | Number of group mappings per organization | + - name: Compute Pools (fcpm/v2) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + A Compute Pool represents a set of compute resources that is used to run your Queries. + The resources (CPUs, memory,…) provided by a Compute Pool are shared between all Queries that use it. + + + ## The Compute Pools Model + + - name: Regions (fcpm/v2) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + `Region` objects represent cloud provider regions available when placing Flink compute pools. + The API allows you to list Flink regions. + + + ## The Regions Model + + - name: Statements (sql/v1) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + `Statement` represents a core resource used to model SQL statements for execution. + A statement generalizes DDL, DML, DQL, etc., but doesn’t attempt to handle session + management or any higher-level functionality. + The API allows you to list, create, read, and delete your statements. + ## The Statements Model + + - name: Statement Results (sql/v1) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + `StatementResult` represents a result of a `Statement` resource. + The API allows you to read your statement's results. + ## The Statement Results Model + + - name: Statement Exceptions (sql/v1) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + `StatementException` represents an exception of a `Statement` resource. + The API allows you to read your statement's exceptions. + ## The Statement Exceptions Model + + - name: Connections (sql/v1) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + `Connection` represents a core resource used to model SQL connections for execution. + A connection generalizes DDL, DML, DQL, etc., but doesn’t attempt to handle session + management or any higher-level functionality. + The API allows you to list, create, read, and delete your connections. + ## The Connections Model + + - name: DNS Forwarders (networking/v1) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + Add, remove, and update DNS forwarder for your gateway. + + Related guides: + * [Use VPC peering connections with Confluent Cloud on AWS](https://docs.confluent.io/cloud/current/networking/peering/aws-peering.html). + * [Use VNet peering connections with Confluent Cloud on Azure](https://docs.confluent.io/cloud/current/networking/peering/azure-peering.html). + + + ## The DNS Forwarders Model + + - name: Access Points (networking/v1) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + AccessPoint objects represent network connections in and out of Gateways. + This API allows you to list, create, read, update, and delete your access points. + + + ## The Access Points Model + + - name: DNS Records (networking/v1) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + DNS record objects are associated with Confluent Cloud networking resources. This API allows you to list, create, read, update, and delete your DNS records. + + ## The DNS Records Model + + - name: Certificate Authorities (iam/v2) + description: |- + [![Limited Availability](https://img.shields.io/badge/Lifecycle%20Stage-Limited%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + `CertificateAuthority` objects represent signing certificate authorities in Confluent Cloud. + + The API allows you to list, create, read, update, and delete your Certificate Authority. + + + Related guide: [Manage certificate authorities used for client authentication with X.509 certificates.](https://docs.confluent.io/cloud/current/access-management/authenticate/mtls/overview.html). + + ## The Certificate Authorities Model + + + ## Quotas and Limits + This resource is subject to the [following quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): + + | Quota | Description | + | --- | --- | + | `certificate_authorities_per_org` | Number of certificate authorities per organization | + - name: Certificate Identity Pools (iam/v2) + description: |- + [![Limited Availability](https://img.shields.io/badge/Lifecycle%20Stage-Limited%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + `Identitypool` objects represent workload identities in Confluent Cloud. + + The API allows you to list, create, read, update, and delete your identity pools associated + with Certificate Authorities + + + Related guide: [Manage Certificate Identity Pools for Granular Client Access Management](https://docs.confluent.io/cloud/current/access-management/authenticate/mtls/configure.html#step-2-create-certificate-identity-pools-for-granular-access-control). + + ## The Certificate Identity Pools Model + + + ## Quotas and Limits + This resource is subject to the [following quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): + + | Quota | Description | + | --- | --- | + | `identity_pools_per_certificate_authority` | Number of Identity Pools per Certificate Authority | + - name: Integrations (pim/v1) + description: |- + [![Early Access](https://img.shields.io/badge/Lifecycle%20Stage-Early%20Access-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) [![Request Access To Provider Integration](https://img.shields.io/badge/-Request%20Access%20To%20Provider%20Integration-%23bc8540)](mailto:ccloud-api-access+pim-v1-early-access@confluent.io?subject=Request%20to%20join%20pim/v1%20API%20Early%20Access&body=I%E2%80%99d%20like%20to%20join%20the%20Confluent%20Cloud%20API%20Early%20Access%20for%20pim/v1%20to%20provide%20early%20feedback%21%20My%20Cloud%20Organization%20ID%20is%20%3Cretrieve%20from%20https%3A//confluent.cloud/settings/billing/payment%3E.) + + `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, and delete individual integrations, and also obtain a + list of all your provider integrations. + + + Related guide: [Provider Integration in Confluent Cloud](https://docs.confluent.io/home/overview.html). + + ## The Integrations Model + + - name: Flink Artifacts (artifact/v1) + description: |- + [![Early Access](https://img.shields.io/badge/Lifecycle%20Stage-Early%20Access-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) [![Request Access To Flink Artifact API EA](https://img.shields.io/badge/-Request%20Access%20To%20Flink%20Artifact%20API%20EA-%23bc8540)](mailto:ccloud-api-access+artifact-v1-early-access@confluent.io?subject=Request%20to%20join%20artifact/v1%20API%20Early%20Access&body=I%E2%80%99d%20like%20to%20join%20the%20Confluent%20Cloud%20API%20Early%20Access%20for%20artifact/v1%20to%20provide%20early%20feedback%21%20My%20Cloud%20Organization%20ID%20is%20%3Cretrieve%20from%20https%3A//confluent.cloud/settings/billing/payment%3E.) + + FlinkArtifact objects represent Flink Artifacts on Confluent Cloud. + + + ## The Flink Artifacts Model + + - name: Presigned Urls (artifact/v1) + description: |- + [![Early Access](https://img.shields.io/badge/Lifecycle%20Stage-Early%20Access-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) [![Request Access To Flink Artifact API EA](https://img.shields.io/badge/-Request%20Access%20To%20Flink%20Artifact%20API%20EA-%23bc8540)](mailto:ccloud-api-access+artifact-v1-early-access@confluent.io?subject=Request%20to%20join%20artifact/v1%20API%20Early%20Access&body=I%E2%80%99d%20like%20to%20join%20the%20Confluent%20Cloud%20API%20Early%20Access%20for%20artifact/v1%20to%20provide%20early%20feedback%21%20My%20Cloud%20Organization%20ID%20is%20%3Cretrieve%20from%20https%3A//confluent.cloud/settings/billing/payment%3E.) + + Request a presigned upload URL for new Flink Artifact. Note that + the URL policy expires in one hour. If the policy expires, you can request + a new presigned upload URL. + + + ## The Presigned Urls Model + + - name: Flink Artifact Versions (artifact/v1) + description: |- + [![Early Access](https://img.shields.io/badge/Lifecycle%20Stage-Early%20Access-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) [![Request Access To Flink Artifact API EA](https://img.shields.io/badge/-Request%20Access%20To%20Flink%20Artifact%20API%20EA-%23bc8540)](mailto:ccloud-api-access+artifact-v1-early-access@confluent.io?subject=Request%20to%20join%20artifact/v1%20API%20Early%20Access&body=I%E2%80%99d%20like%20to%20join%20the%20Confluent%20Cloud%20API%20Early%20Access%20for%20artifact/v1%20to%20provide%20early%20feedback%21%20My%20Cloud%20Organization%20ID%20is%20%3Cretrieve%20from%20https%3A//confluent.cloud/settings/billing/payment%3E.) + + FlinkArtifactVersion objects represent Flink Artifact Versions on Confluent Cloud. + + + ## The Flink Artifact Versions Model + +components: + schemas: + ClusterConfig: + type: object + properties: + maxSchemas: + type: integer + description: Maximum number of registered schemas allowed + format: int32 + example: 20000 + maxRequestsPerSec: + type: integer + description: Maximum number of allowed requests per second + format: int32 + example: 25 + description: Cluster Config + AclOperation: + type: string + x-extensible-enum: + - UNKNOWN + - ANY + - ALL + - READ + - WRITE + - CREATE + - DELETE + - ALTER + - DESCRIBE + - CLUSTER_ACTION + - DESCRIBE_CONFIGS + - ALTER_CONFIGS + - IDEMPOTENT_WRITE + AclPatternType: + type: string + x-extensible-enum: + - UNKNOWN + - ANY + - MATCH + - LITERAL + - PREFIXED + AclPermission: + type: string + x-extensible-enum: + - UNKNOWN + - ANY + - DENY + - ALLOW + AclResourceType: + type: string + enum: + - UNKNOWN + - ANY + - TOPIC + - GROUP + - CLUSTER + - TRANSACTIONAL_ID + - DELEGATION_TOKEN + BrokerTaskType: + type: string + enum: + - add-broker + - remove-broker + MirrorTopicStatus: + enum: + - ACTIVE + - FAILED + - LINK_FAILED + - LINK_PAUSED + - PAUSED + - PENDING_STOPPED + - SOURCE_UNAVAILABLE + - STOPPED + - PENDING_MIRROR + - PENDING_SYNCHRONIZE + - PENDING_SETUP_FOR_RESTORE + - PENDING_RESTORE + type: string + ErrorMessage: + type: object + properties: + error_code: + type: integer + description: The error code + format: int32 + message: + type: string + description: The error message + description: Error message of this operation + AlterConfigBatchRequestData: + type: object + required: + - data + properties: + data: + type: array + items: + type: object + required: + - name + properties: + name: + type: string + value: + type: string + nullable: true + operation: + type: string + x-extensible-enum: + - SET + - DELETE + nullable: true + validate_only: + type: boolean + CreateAclRequestData: + type: object + required: + - resource_type + - resource_name + - pattern_type + - principal + - host + - operation + - permission + properties: + resource_type: + $ref: '#/components/schemas/AclResourceType' + resource_name: + type: string + pattern_type: + $ref: '#/components/schemas/AclPatternType' + principal: + type: string + host: + type: string + operation: + $ref: '#/components/schemas/AclOperation' + permission: + $ref: '#/components/schemas/AclPermission' + CreateAclRequestDataList: + allOf: + - type: object + required: + - data + properties: + data: + type: array + items: + $ref: '#/components/schemas/CreateAclRequestData' + CreateTopicRequestData: + type: object + required: + - topic_name + properties: + topic_name: + type: string + partitions_count: + type: integer + replication_factor: + type: integer + configs: + type: array + items: + type: object + required: + - name + properties: + name: + type: string + value: + type: string + nullable: true + validate_only: + type: boolean + ProduceRequest: + type: object + properties: + partition_id: + type: integer + nullable: true + format: int32 + headers: + type: array + items: + $ref: '#/components/schemas/ProduceRequestHeader' + key: + $ref: '#/components/schemas/ProduceRequestData' + value: + $ref: '#/components/schemas/ProduceRequestData' + timestamp: + type: string + format: date-time + nullable: true + UpdateConfigRequestData: + type: object + properties: + value: + type: string + nullable: true + CreateLinkRequestData: + properties: + source_cluster_id: + type: string + destination_cluster_id: + type: string + remote_cluster_id: + description: The expected remote cluster ID. + type: string + cluster_link_id: + description: 'The expected cluster link ID. Can be provided when creating the second side of a bidirectional link for validating the link ID is as expected. If it''s not provided, it''s inferred from the remote cluster.' + type: string + configs: + items: + $ref: '#/components/schemas/ConfigData' + type: array + type: object + UpdateLinkConfigRequestData: + properties: + value: + type: string + required: + - value + type: object + CreateMirrorTopicRequestData: + properties: + source_topic_name: + type: string + mirror_topic_name: + type: string + replication_factor: + type: integer + configs: + type: array + items: + $ref: '#/components/schemas/ConfigData' + required: + - source_topic_name + type: object + AlterMirrorsRequestData: + properties: + mirror_topic_names: + description: The mirror topics specified as a list of topic names. + type: array + items: + type: string + mirror_topic_name_pattern: + description: The mirror topics specified as a pattern. + type: string + type: object + RemoveBrokersRequestData: + properties: + broker_ids: + type: array + items: + type: integer + required: + - broker_ids + type: object + BrokerReplicaExclusionBatchRequestData: + type: object + required: + - data + properties: + data: + type: array + items: + $ref: '#/components/schemas/BrokerReplicaExclusionRequestData' + ProduceRequestHeader: + type: object + required: + - name + properties: + name: + type: string + value: + type: string + format: byte + nullable: true + ProduceRequestData: + type: object + properties: + type: + type: string + x-extensible-enum: + - BINARY + - JSON + - STRING + data: + $ref: '#/components/schemas/AnyValue' + nullable: true + ConfigData: + example: + name: name + value: value + properties: + name: + type: string + value: + nullable: true + type: string + required: + - name + - value + BrokerReplicaExclusionRequestData: + type: object + required: + - broker_id + - reason + properties: + broker_id: + type: integer + reason: + type: string + AnyValue: + nullable: true + RegisterSchemaRequest: + type: object + properties: + version: + type: integer + description: Version number + format: int32 + id: + type: integer + description: Globally unique identifier of the schema + format: int32 + schemaType: + type: string + description: Schema type + references: + type: array + description: References to other schemas + items: + $ref: '#/components/schemas/SchemaReference' + schema: + type: string + description: Schema definition string + metadata: + $ref: '#/components/schemas/Metadata' + ruleSet: + $ref: '#/components/schemas/RuleSet' + description: Schema register request + CompatibilityCheckResponse: + type: object + properties: + is_compatible: + type: boolean + description: Whether the compared schemas are compatible + messages: + type: array + description: Error messages + example: [] + items: + type: string + description: Error messages + example: '[]' + description: Compatibility check response + SchemaReference: + type: object + properties: + name: + type: string + description: Reference name + example: io.confluent.kafka.example.User + subject: + type: string + description: Name of the referenced subject + example: User + version: + type: integer + description: Version number of the referenced subject + format: int32 + example: 1 + description: Schema reference + Metadata: + description: User-defined metadata + nullable: true + properties: + tags: + additionalProperties: + items: + type: string + type: array + uniqueItems: true + type: object + properties: + additionalProperties: + type: string + type: object + sensitive: + items: + type: string + type: array + uniqueItems: true + type: object + RuleSet: + description: Schema rule set + nullable: true + properties: + migrationRules: + items: + $ref: '#/components/schemas/Rule' + type: array + domainRules: + items: + $ref: '#/components/schemas/Rule' + type: array + type: object + Rule: + description: Rule + properties: + name: + description: Rule name + type: string + doc: + description: Rule doc + type: string + kind: + description: Rule kind + enum: + - TRANSFORM + - CONDITION + type: string + mode: + description: Rule mode + enum: + - UPGRADE + - DOWNGRADE + - UPDOWN + - WRITE + - READ + - WRITEREAD + type: string + type: + description: Rule type + type: string + tags: + description: The tags to which this rule applies + items: + description: The tags to which this rule applies + type: string + type: array + uniqueItems: true + params: + additionalProperties: + description: Optional params for the rule + type: string + description: Optional params for the rule + type: object + expr: + description: Rule expression + type: string + onSuccess: + description: Rule action on success + type: string + onFailure: + description: Rule action on failure + type: string + disabled: + description: Whether the rule is disabled + type: boolean + type: object + Config: + type: object + properties: + alias: + type: string + description: |- + If alias is specified, then this subject is an alias for the subject + named by the alias. That means that any reference to this subject + will be replaced by the alias. + normalize: + type: boolean + description: |- + If true, then schemas are automatically normalized when registered or + when passed during lookups. This means that clients do not have to + pass the "normalize" query parameter to have normalization occur. + compatibilityLevel: + type: string + description: Compatibility Level + example: FULL_TRANSITIVE + x-extensible-enum: + - BACKWARD + - BACKWARD_TRANSITIVE + - FORWARD + - FORWARD_TRANSITIVE + - FULL + - FULL_TRANSITIVE + - NONE + compatibilityGroup: + type: string + description: |- + Only schemas that belong to the same compatibility group will be + checked for compatibility. + defaultMetadata: + type: object + description: Default value for the metadata to be used during schema registration. + properties: + properties: + type: object + description: The metadata properties and their new values + overrideMetadata: + type: object + description: Override value for the metadata to be used during schema registration. + properties: + properties: + type: object + description: The metadata properties and their new values + defaultRuleSet: + type: object + description: Default value for the ruleSet to be used during schema registration. + properties: + properties: + type: object + description: The metadata properties and their new values + overrideRuleSet: + type: object + description: Override value for the ruleSet to be used during schema registration. + properties: + properties: + type: object + description: The metadata properties and their new values + description: Config + ConfigUpdateRequest: + type: object + properties: + alias: + type: string + description: |- + If alias is specified, then this subject is an alias for the subject + named by the alias. That means that any reference to this subject + will be replaced by the alias. + normalize: + type: boolean + description: |- + If true, then schemas are automatically normalized when registered + or when passed during lookups. This means that clients do not have + to pass the "normalize" query parameter to have normalization occur. + compatibility: + type: string + description: Compatibility Level + example: FULL_TRANSITIVE + x-extensible-enum: + - BACKWARD + - BACKWARD_TRANSITIVE + - FORWARD + - FORWARD_TRANSITIVE + - FULL + - FULL_TRANSITIVE + - NONE + compatibilityGroup: + type: string + description: |- + Only schemas that belong to the same compatibility group will be + checked for compatibility. + defaultMetadata: + type: object + description: Default value for the metadata to be used during schema registration. + properties: + properties: + type: object + description: The metadata properties and their new values + overrideMetadata: + type: object + description: Override value for the metadata to be used during schema registration. + properties: + properties: + type: object + description: The metadata properties and their new values + defaultRuleSet: + type: object + description: Default value for the ruleSet to be used during schema registration. + properties: + properties: + type: object + description: The metadata properties and their new values + overrideRuleSet: + type: object + description: Override value for the ruleSet to be used during schema registration. + properties: + properties: + type: object + description: The metadata properties and their new values + description: Config update request + ExporterReference: + type: object + properties: + name: + type: string + description: Name of the exporter + example: test-exporter + contextType: + description: 'Context type of the exporter. One of CUSTOM, NONE or AUTO (default)' + type: string + example: CUSTOM + x-extensible-enum: + - CUSTOM + - AUTO + - NONE + context: + type: string + description: Customized context of the exporter if contextType equals CUSTOM. + example: User + subjects: + type: array + description: Name of each exporter subject + items: + type: string + subjectRenameFormat: + type: string + description: 'Format string for the subject name in the destination cluster, which may contain ${subject} as a placeholder for the originating subject name. For example, dc_${subject} for the subject orders will map to the destination subject name dc_orders.' + config: + type: object + description: The map containing exporter’s configurations + additionalProperties: + type: string + description: The format for a typical exporter object + ExporterResponse: + type: object + properties: + name: + type: string + description: Name of the exporter + example: test-exporter + description: Exporter register response + ExporterUpdateRequest: + type: object + properties: + contextType: + description: 'Context type of the exporter. One of CUSTOM, NONE or AUTO (default)' + type: string + example: CUSTOM + x-extensible-enum: + - CUSTOM + - AUTO + - NONE + context: + type: string + description: Customized context of the exporter if contextType equals CUSTOM. + example: User + subjects: + type: array + description: Name of each exporter subject + items: + type: string + subjectRenameFormat: + type: string + description: 'Format string for the subject name in the destination cluster, which may contain ${subject} as a placeholder for the originating subject name. For example, dc_${subject} for the subject orders will map to the destination subject name dc_orders.' + config: + type: object + description: The map containing exporter’s configurations + additionalProperties: + type: string + description: Exporter update request + ExporterStatusResponse: + type: object + properties: + name: + description: Name of exporter. + type: string + example: test-exporter + state: + type: string + description: 'State of the exporter. Could be STARTING, RUNNING or PAUSED' + example: RUNNING + x-extensible-enum: + - STARTING + - RUNNING + - PAUSED + offset: + type: integer + description: Offset of the exporter + format: int64 + example: 100 + ts: + type: integer + description: Timestamp of the exporter + format: int64 + example: 1631206325 + trace: + description: Error trace of the exporter + type: string + example: '' + description: Exporter status get request + ExporterConfigResponse: + type: object + properties: + schema.registry.url: + description: Config SR URL + type: string + example: + basic.auth.credentials.source: + description: Config SR Auth + type: string + example: USER_INFO + basic.auth.user.info: + description: Config SR User Info + type: string + description: The map containing exporter’s configurations + Mode: + type: object + properties: + mode: + type: string + description: Schema Registry operating mode + example: READWRITE + x-extensible-enum: + - READWRITE + - READONLY + - READONLY_OVERRIDE + - IMPORT + description: Schema Registry operating mode + ModeUpdateRequest: + type: object + properties: + mode: + type: string + description: Schema Registry operating mode + example: READWRITE + x-extensible-enum: + - READWRITE + - READONLY + - READONLY_OVERRIDE + - IMPORT + description: Mode update request + SchemaString: + type: object + properties: + schemaType: + type: string + description: Schema type + example: AVRO + schema: + type: string + description: Schema string identified by the ID + example: '{"schema": "{"type": "string"}"}' + references: + type: array + description: References to other schemas + items: + $ref: '#/components/schemas/SchemaReference' + maxId: + type: integer + description: Maximum ID + format: int32 + example: 1 + description: Schema definition + Schema: + type: object + properties: + subject: + type: string + description: Name of the subject + example: User + version: + type: integer + description: Version number + format: int32 + example: 1 + id: + type: integer + description: Globally unique identifier of the schema + format: int32 + example: 100001 + schemaType: + type: string + description: Schema type + example: AVRO + references: + type: array + description: References to other schemas + items: + $ref: '#/components/schemas/SchemaReference' + schema: + type: string + description: Schema definition string + example: '{"schema": "{"type": "string"}"}' + metadata: + $ref: '#/components/schemas/Metadata' + ruleSet: + $ref: '#/components/schemas/RuleSet' + description: Schema + SubjectVersion: + type: object + properties: + subject: + type: string + description: Name of the subject + example: User + version: + type: integer + description: Version number + format: int32 + example: 1 + description: Subject version pair + RegisterSchemaResponse: + type: object + properties: + id: + type: integer + description: Globally unique identifier of the schema + format: int32 + example: 100001 + description: Schema register response + parameters: + AclHost: + name: host + description: The ACL host. + in: query + required: false + schema: + type: string + AclOperation: + name: operation + description: The ACL operation. + in: query + required: false + schema: + $ref: '#/components/schemas/AclOperation' + AclOperationRequired: + name: operation + description: The ACL operation. + in: query + required: true + schema: + $ref: '#/components/schemas/AclOperation' + AclPatternType: + name: pattern_type + description: The ACL pattern type. + in: query + required: false + schema: + $ref: '#/components/schemas/AclPatternType' + AclPatternTypeRequired: + name: pattern_type + description: The ACL pattern type. + in: query + required: true + schema: + $ref: '#/components/schemas/AclPatternType' + AclPermission: + name: permission + description: The ACL permission. + in: query + required: false + schema: + $ref: '#/components/schemas/AclPermission' + AclPermissionRequired: + name: permission + description: The ACL permission. + in: query + required: true + schema: + $ref: '#/components/schemas/AclPermission' + AclPrincipal: + name: principal + description: The ACL principal. This is the Service Account name or user name. + in: query + required: false + schema: + type: string + AclResourceName: + name: resource_name + description: The ACL resource name. + in: query + required: false + schema: + type: string + AclResourceType: + name: resource_type + description: The ACL resource type. + in: query + required: false + schema: + $ref: '#/components/schemas/AclResourceType' + AclResourceTypeRequired: + name: resource_type + description: The ACL resource type. + in: query + required: true + schema: + $ref: '#/components/schemas/AclResourceType' + BrokerId: + name: broker_id + description: The Kafka broker ID. + in: path + required: true + schema: + type: integer + example: 1 + ClusterId: + name: cluster_id + description: The Kafka cluster ID. + in: path + required: true + schema: + type: string + example: cluster-1 + ConfigName: + name: name + description: The configuration parameter name. + in: path + required: true + schema: + type: string + example: compression.type + ConsumerGroupId: + name: consumer_group_id + description: The consumer group ID. + in: path + required: true + schema: + type: string + example: consumer-group-1 + ConsumerId: + name: consumer_id + description: The consumer ID. + in: path + required: true + schema: + type: string + example: consumer-1 + IncludeAuthorizedOperations: + name: include_authorized_operations + description: Specify if authorized operations should be included in the response. + in: query + required: false + schema: + type: boolean + PartitionId: + name: partition_id + description: The partition ID. + in: path + required: true + schema: + type: integer + example: 0 + TopicName: + name: topic_name + description: The topic name. + in: path + required: true + schema: + type: string + example: topic-1 + BrokerTaskType: + name: task_type + description: The Kafka broker task type. + in: path + required: true + schema: + $ref: '#/components/schemas/BrokerTaskType' + example: remove-broker + ShouldShutdown: + name: should_shutdown + description: 'To shutdown the broker or not, Default: true' + in: query + required: false + schema: + type: boolean + example: true + ValidateOnly: + name: validate_only + description: 'To validate the action can be performed successfully or not. Default: false' + in: query + required: false + schema: + type: boolean + example: false + ValidateLink: + name: validate_link + description: 'To synchronously validate that the source cluster ID is expected and the dest cluster has the permission to read topics in the source cluster. Default: true' + in: query + required: false + schema: + type: boolean + example: false + IncludeTasks: + name: include_tasks + description: 'Whether to include cluster linking tasks in the response. Default: false' + in: query + required: false + schema: + type: boolean + example: false + IncludeStateTransitionErrors: + name: include_state_transition_errors + description: 'Whether to include mirror state transition errors in the response. Default: false' + in: query + required: false + schema: + type: boolean + example: false + Force: + name: force + description: 'Force the action. Default: false' + in: query + required: false + schema: + type: boolean + example: false + IncludePartitionLevelTruncationData: + name: include_partition_level_truncation_data + description: 'Whether to include partition level truncation information when truncating and restoring a topic in the response. Default: false' + in: query + required: false + schema: + type: boolean + example: false + LinkName: + name: link_name + description: The link name + in: path + required: true + schema: + type: string + example: link-sb1 + LinkConfigName: + name: config_name + description: The link config name + in: path + required: true + schema: + type: string + example: consumer.offset.sync.enable + MirrorTopicStatus: + name: mirror_status + description: 'The status of the mirror topic. If not specified, all mirror topics will be returned.' + in: query + required: false + schema: + $ref: '#/components/schemas/MirrorTopicStatus' + example: ACTIVE + MirrorTopicName: + name: mirror_topic_name + description: Cluster Linking mirror topic name + in: path + required: true + schema: + type: string + example: topic-1 + QueryParamLinkName: + name: link_name + description: The link name + in: query + required: true + schema: + type: string + example: link-sb1 + responses: + schemaregistry.v1.BadRequestError: + description: Bad Request + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorMessage' + example: + error_code: 400 + message: Bad Request + schemaregistry.v1.UnauthorizedError: + description: Unauthorized + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorMessage' + example: + error_code: 401 + message: Unauthorized + schemaregistry.v1.ForbiddenError: + description: Forbidden + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorMessage' + example: + error_code: 403 + message: Forbidden + RateLimitError: + description: Rate Limit Exceeded + headers: + X-Request-Id: + schema: + type: string + description: The unique identifier for the API request. + X-RateLimit-Limit: + schema: + type: integer + description: The maximum number of requests you're permitted to make per time period. + X-RateLimit-Remaining: + schema: + type: integer + description: The number of requests remaining in the current rate limit window. + X-RateLimit-Reset: + schema: + type: integer + description: |- + The relative time in seconds until the current rate-limit window resets. + + **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. + schemaregistry.v1.DefaultSystemError: + description: Internal Server Error + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorMessage' + example: + error_code: 500 + message: 'Oops, something went wrong' + schemaregistry.v1.AccountNotFoundError: + description: Not Found + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorMessage' + example: + error_code: 404 + message: account not found + securitySchemes: + cloud-api-key: + type: http + scheme: basic + description: Authenticate with Cloud API Keys using HTTP Basic Auth. Treat the Cloud API Key ID as the username and Cloud API Key Secret as the password. + confluent-sts-access-token: + type: oauth2 + description: Authenticate with Confluent API using this credentials (JSON Web Tokens) following OAuth 2.0. + flows: + clientCredentials: + tokenUrl: 'https://api.confluent.cloud/sts/v1/oauth2/token' + scopes: {} + api-key: + type: http + scheme: basic + description: Authenticate with API Keys using HTTP Basic Auth. Treat the API Key ID as the username and API Key Secret as the password. + resource-api-key: + type: http + scheme: basic + description: | + Authenticate with resource-specific API Keys using HTTP Basic Auth. Treat the resource-specific API Key ID + as the username and resource-specific API Key Secret as the password. + external-access-token: + type: oauth2 + description: Authenticate with OAuth 2.0. + flows: + clientCredentials: + tokenUrl: 'https:///token' + scopes: {} + oauth: + type: oauth2 + description: Authenticate with OAuth 2.0. Currently this is only supported for partner APIs. + flows: + clientCredentials: + tokenUrl: /oauth2/token + scopes: + 'partner:alter': enables partners to alter entitlements + 'partner:create': enables partners to create entitlements and signup on behalf of customers + 'partner:delete': enables partners to delete entitlements and organizations + 'partner:describe': enables partners to read and list entitlements and organizations + requestBodies: + AlterBrokerConfigBatchRequest: + description: The alter broker configuration parameter batch request. + content: + application/json: + schema: + $ref: '#/components/schemas/AlterConfigBatchRequestData' + example: + data: + - name: max.connections + operation: DELETE + - name: compression.type + value: gzip + AlterClusterConfigBatchRequest: + description: The alter cluster configuration parameter batch request. + content: + application/json: + schema: + $ref: '#/components/schemas/AlterConfigBatchRequestData' + example: + data: + - name: max.connections + operation: DELETE + - name: compression.type + value: gzip + AlterTopicConfigBatchRequest: + description: The alter topic configuration parameter batch request. + content: + application/json: + schema: + $ref: '#/components/schemas/AlterConfigBatchRequestData' + examples: + batch_alter_topic_configs: + value: + data: + - name: cleanup.policy + operation: DELETE + - name: compression.type + value: gzip + validate_only_batch_alter_topic_configs: + value: + data: + - name: cleanup.policy + operation: DELETE + - name: compression.type + value: gzip + validate_only: true + CreateAclRequest: + description: The ACL creation request. + content: + application/json: + schema: + $ref: '#/components/schemas/CreateAclRequestData' + example: + resource_type: CLUSTER + resource_name: kafka-cluster + pattern_type: LITERAL + principal: 'principalType:principalName' + host: '*' + operation: DESCRIBE + permission: DENY + BatchCreateAclRequest: + description: The batch ACL creation request. + content: + application/json: + schema: + $ref: '#/components/schemas/CreateAclRequestDataList' + example: + data: + - resource_type: CLUSTER + resource_name: kafka-cluster + pattern_type: LITERAL + principal: 'principalType:principalName' + host: '*' + operation: DESCRIBE + permission: DENY + - resource_type: TOPIC + resource_name: kafka-cluster + pattern_type: LITERAL + principal: 'principalType:principalName' + host: '*' + operation: READ + permission: ALLOW + CreateTopicRequest: + description: 'The topic creation request. Note that Confluent Cloud allows only specific replication factor values. Because of that the replication factor field should either be omitted or it should use one of the allowed values (see https://docs.confluent.io/cloud/current/client-apps/optimizing/durability.html).' + content: + application/json: + schema: + $ref: '#/components/schemas/CreateTopicRequestData' + examples: + uniform_replication: + value: + topic_name: topic-X + partitions_count: 64 + replication_factor: 3 + configs: + - name: cleanup.policy + value: compact + - name: compression.type + value: gzip + dry_run_create_topic: + value: + topic_name: topic-X + partitions_count: 64 + replication_factor: 3 + validate_only: true + ProduceRequest: + description: 'A single record to be produced to Kafka. To produce multiple records in the same request, simply concatenate the records. The delivery reports are concatenated in the same order as the records are sent.' + content: + application/json: + schema: + $ref: '#/components/schemas/ProduceRequest' + examples: + binary_and_json: + description: 'If using type, one of "BINARY", "JSON" or "STRING" is required.' + value: + partition_id: 1 + headers: + - name: Header-1 + value: SGVhZGVyLTE= + - name: Header-2 + value: SGVhZGVyLTI= + key: + type: BINARY + data: Zm9vYmFy + value: + type: JSON + data: + foo: bar + timestamp: '2021-02-05T19:14:42Z' + string: + description: 'If using type, one of "BINARY", "JSON" or "STRING" is required.' + value: + value: + type: STRING + data: My message + empty_value: + description: key or value can be omitted entirely. + value: + key: + data: 1000 + UpdateBrokerConfigRequest: + description: The broker configuration parameter update request. + content: + application/json: + schema: + $ref: '#/components/schemas/UpdateConfigRequestData' + example: + value: gzip + UpdateClusterConfigRequest: + description: The cluster configuration parameter update request. + content: + application/json: + schema: + $ref: '#/components/schemas/UpdateConfigRequestData' + example: + value: gzip + UpdateTopicConfigRequest: + description: The topic configuration parameter update request. + content: + application/json: + schema: + $ref: '#/components/schemas/UpdateConfigRequestData' + example: + value: gzip + CreateLinkRequest: + description: Create a cluster link + content: + application/json: + schema: + $ref: '#/components/schemas/CreateLinkRequestData' + examples: + destination_initiated_link: + description: Create a destination initiated cluster link + value: + source_cluster_id: cluster-1 + configs: + - name: bootstrap.servers + value: cluster-1-bootstrap-server + - name: acl.sync.enable + value: 'false' + - name: consumer.offset.sync.ms + value: '30000' + - name: sasl.mechanism + value: PLAIN + - name: sasl.protocol + value: SASL_SSL + - name: sasl.jaas.config + value: sasl.jaas.config=org.apache.kafka.common.security.plain.PlainLoginModule required username='' password=''; + source_initiated_link_at_source_cluster: + description: Create a source initiated cluster link at source cluster + value: + destination_cluster_id: cluster-2 + configs: + - name: bootstrap.servers + value: cluster-2-bootstrap-server + - name: link.mode + value: SOURCE + - name: sasl.mechanism + value: PLAIN + - name: sasl.protocol + value: SASL_SSL + - name: sasl.jaas.config + value: sasl.jaas.config=org.apache.kafka.common.security.plain.PlainLoginModule required username='' password=''; + source_initiated_link_at_destination_cluster: + description: Create a source initiated cluster link at destination cluster + value: + destination_cluster_id: cluster-1 + configs: + - name: bootstrap.servers + value: cluster-1-bootstrap-server + - name: link.mode + value: DESTINATION + - name: connection.mode + value: INBOUND + - name: acl.sync.enable + value: 'false' + - name: sasl.mechanism + value: PLAIN + - name: sasl.protocol + value: SASL_SSL + - name: sasl.jaas.config + value: sasl.jaas.config=org.apache.kafka.common.security.plain.PlainLoginModule required username='' password=''; + bidirectional_link_east: + description: Create a bidirectional cluster link in east + value: + remote_cluster_id: cluster-west + configs: + - name: bootstrap.servers + value: cluster-west-bootstrap-server + - name: link.mode + value: BIDIRECTIONAL + - name: cluster.link.prefix + value: west. + - name: sasl.mechanism + value: PLAIN + - name: sasl.protocol + value: SASL_SSL + - name: sasl.jaas.config + value: sasl.jaas.config=org.apache.kafka.common.security.plain.PlainLoginModule required username='' password=''; + bidirectional_link_west: + description: Create a bidirectional cluster link in west + value: + remote_cluster_id: cluster-east + cluster_link_id: eEBkTffYSESld6EO898x3w + configs: + - name: bootstrap.servers + value: cluster-east-bootstrap-server + - name: link.mode + value: BIDIRECTIONAL + - name: cluster.link.prefix + value: east. + - name: sasl.mechanism + value: PLAIN + - name: sasl.protocol + value: SASL_SSL + - name: sasl.jaas.config + value: sasl.jaas.config=org.apache.kafka.common.security.plain.PlainLoginModule required username='' password=''; + UpdateLinkConfigRequest: + content: + application/json: + example: + value: '300000' + schema: + $ref: '#/components/schemas/UpdateLinkConfigRequestData' + description: Link config value to update + AlterLinkConfigBatchRequest: + content: + application/json: + example: + data: + - name: cleanup.policy + operation: DELETE + - name: compression.type + value: gzip + schema: + $ref: '#/components/schemas/AlterConfigBatchRequestData' + CreateMirrorTopicRequest: + description: 'Name and configs of the topics mirroring from and mirroring to. Note that Confluent Cloud allows only specific replication factor values. Because of that the replication factor field should either be omitted or it should use one of the allowed values (see https://docs.confluent.io/cloud/current/client-apps/optimizing/durability.html).' + content: + application/json: + schema: + $ref: '#/components/schemas/CreateMirrorTopicRequestData' + examples: + generic_example: + description: Generic example of creating a mirror topic + value: + source_topic_name: topic-1 + configs: + - name: unclean.leader.election.enable + value: 'true' + replication_factor: 1 + example_with_mirror_topic_name: + description: Example using optional mirror_topic_name flag + value: + source_topic_name: topic-1 + mirror_topic_name: link1_topic-1 + configs: + - name: unclean.leader.election.enable + value: 'true' + replication_factor: 3 + AlterMirrorsRequest: + description: Mirror topics to be altered. + content: + application/json: + schema: + $ref: '#/components/schemas/AlterMirrorsRequestData' + examples: + mirror_topic_names: + description: Example using mirror topic names + value: + mirror_topic_names: + - topic-1 + - topic-2 + mirror_topic_name_pattern: + description: Example using mirror topic name pattern + value: + mirror_topic_name_pattern: .* + RemoveBrokersRequest: + content: + application/json: + example: + broker_ids: + - 1 + - 2 + - 3 + schema: + $ref: '#/components/schemas/RemoveBrokersRequestData' + description: Broker ids to remove + BrokerReplicaExclusionBatchRequest: + description: Alter Broker Replica Exclusions. + content: + application/json: + schema: + $ref: '#/components/schemas/BrokerReplicaExclusionBatchRequestData' + example: + data: + - broker_id: 1 + reason: The broker is to be removed. + - broker_id: 2 + reason: The broker is to be removed. + x-stackQL-resources: + cluster_config: + id: confluent.schema_registry.cluster_config + name: cluster_config + title: Cluster Config + methods: + get_cluster_config: + operation: + $ref: '#/paths/~1clusterconfig/get' + response: + mediaType: application/json; qs=0.5 + openAPIDocKey: '200' + schemaRef: '#/components/schemas/ClusterConfig' + sqlVerbs: + select: + - $ref: '#/components/x-stackQL-resources/cluster_config/methods/get_cluster_config' + insert: [] + update: [] + replace: [] + delete: [] + compatibilities: + id: confluent.schema_registry.compatibilities + name: compatibilities + title: Compatibilities + methods: + test_compatibility_by_subject_name: + operation: + $ref: '#/paths/~1compatibility~1subjects~1{subject}~1versions~1{version}/post' + response: + mediaType: application/json; qs=0.5 + openAPIDocKey: '200' + schemaRef: '#/components/schemas/CompatibilityCheckResponse' + test_compatibility_for_subject: + operation: + $ref: '#/paths/~1compatibility~1subjects~1{subject}~1versions/post' + response: + mediaType: application/json; qs=0.5 + openAPIDocKey: '200' + schemaRef: '#/components/schemas/CompatibilityCheckResponse' + sqlVerbs: + select: [] + insert: [] + update: [] + replace: [] + delete: [] + subject_level_config: + id: confluent.schema_registry.subject_level_config + name: subject_level_config + title: Subject Level Config + methods: + get_subject_level_config: + operation: + $ref: '#/paths/~1config~1{subject}/get' + response: + mediaType: application/json; qs=0.5 + openAPIDocKey: '200' + schemaRef: '#/components/schemas/Config' + update_subject_level_config: + operation: + $ref: '#/paths/~1config~1{subject}/put' + response: + mediaType: application/json; qs=0.5 + openAPIDocKey: '200' + schemaRef: '#/components/schemas/ConfigUpdateRequest' + delete_subject_config: + operation: + $ref: '#/paths/~1config~1{subject}/delete' + response: + mediaType: application/json; qs=0.5 + openAPIDocKey: '200' + sqlVerbs: + select: + - $ref: '#/components/x-stackQL-resources/subject_level_config/methods/get_subject_level_config' + insert: [] + update: [] + replace: [] + delete: + - $ref: '#/components/x-stackQL-resources/subject_level_config/methods/delete_subject_config' + top_level_config: + id: confluent.schema_registry.top_level_config + name: top_level_config + title: Top Level Config + methods: + get_top_level_config: + operation: + $ref: '#/paths/~1config/get' + response: + mediaType: application/json; qs=0.5 + openAPIDocKey: '200' + schemaRef: '#/components/schemas/Config' + update_top_level_config: + operation: + $ref: '#/paths/~1config/put' + response: + mediaType: application/json; qs=0.5 + openAPIDocKey: '200' + schemaRef: '#/components/schemas/ConfigUpdateRequest' + delete_top_level_config: + operation: + $ref: '#/paths/~1config/delete' + response: + mediaType: application/json; qs=0.5 + openAPIDocKey: '200' + sqlVerbs: + select: + - $ref: '#/components/x-stackQL-resources/top_level_config/methods/get_top_level_config' + insert: [] + update: [] + replace: [] + delete: + - $ref: '#/components/x-stackQL-resources/top_level_config/methods/delete_top_level_config' + exporters: + id: confluent.schema_registry.exporters + name: exporters + title: Exporters + methods: + list_exporters: + operation: + $ref: '#/paths/~1exporters/get' + response: + mediaType: application/json + openAPIDocKey: '200' + register_exporter: + operation: + $ref: '#/paths/~1exporters/post' + response: + mediaType: application/json; qs=0.5 + openAPIDocKey: '200' + schemaRef: '#/components/schemas/ExporterResponse' + get_exporter_info_by_name: + operation: + $ref: '#/paths/~1exporters~1{name}/get' + response: + mediaType: application/json + openAPIDocKey: '200' + update_exporter_info: + operation: + $ref: '#/paths/~1exporters~1{name}/put' + response: + mediaType: application/json + openAPIDocKey: '200' + delete_exporter: + operation: + $ref: '#/paths/~1exporters~1{name}/delete' + response: + mediaType: application/json + openAPIDocKey: '204' + get_exporter_status_by_name: + operation: + $ref: '#/paths/~1exporters~1{name}~1status/get' + response: + mediaType: application/json + openAPIDocKey: '200' + get_exporter_config_by_name: + operation: + $ref: '#/paths/~1exporters~1{name}~1config/get' + response: + mediaType: application/json + openAPIDocKey: '200' + update_exporter_config_by_name: + operation: + $ref: '#/paths/~1exporters~1{name}~1config/put' + response: + mediaType: application/json + openAPIDocKey: '200' + pause_exporter_by_name: + operation: + $ref: '#/paths/~1exporters~1{name}~1pause/put' + response: + mediaType: application/json + openAPIDocKey: '200' + reset_exporter_by_name: + operation: + $ref: '#/paths/~1exporters~1{name}~1reset/put' + response: + mediaType: application/json + openAPIDocKey: '200' + resume_exporter_by_name: + operation: + $ref: '#/paths/~1exporters~1{name}~1resume/put' + response: + mediaType: application/json + openAPIDocKey: '200' + sqlVerbs: + select: [] + insert: [] + update: [] + replace: [] + delete: + - $ref: '#/components/x-stackQL-resources/exporters/methods/delete_exporter' + contexts: + id: confluent.schema_registry.contexts + name: contexts + title: Contexts + methods: + list_contexts: + operation: + $ref: '#/paths/~1contexts/get' + response: + mediaType: application/json; qs=0.5 + openAPIDocKey: '200' + sqlVerbs: + select: [] + insert: [] + update: [] + replace: [] + delete: [] + modes: + id: confluent.schema_registry.modes + name: modes + title: Modes + methods: + get_mode: + operation: + $ref: '#/paths/~1mode~1{subject}/get' + response: + mediaType: application/json; qs=0.5 + openAPIDocKey: '200' + schemaRef: '#/components/schemas/Mode' + update_mode: + operation: + $ref: '#/paths/~1mode~1{subject}/put' + response: + mediaType: application/json; qs=0.5 + openAPIDocKey: '200' + schemaRef: '#/components/schemas/ModeUpdateRequest' + delete_subject_mode: + operation: + $ref: '#/paths/~1mode~1{subject}/delete' + response: + mediaType: application/json; qs=0.5 + openAPIDocKey: '200' + schemaRef: '#/components/schemas/Mode' + get_top_level_mode: + operation: + $ref: '#/paths/~1mode/get' + response: + mediaType: application/json; qs=0.5 + openAPIDocKey: '200' + schemaRef: '#/components/schemas/Mode' + update_top_level_mode: + operation: + $ref: '#/paths/~1mode/put' + response: + mediaType: application/json; qs=0.5 + openAPIDocKey: '200' + schemaRef: '#/components/schemas/ModeUpdateRequest' + sqlVerbs: + select: + - $ref: '#/components/x-stackQL-resources/modes/methods/get_mode' + - $ref: '#/components/x-stackQL-resources/modes/methods/get_top_level_mode' + insert: [] + update: [] + replace: [] + delete: + - $ref: '#/components/x-stackQL-resources/modes/methods/delete_subject_mode' + schemas: + id: confluent.schema_registry.schemas + name: schemas + title: Schemas + methods: + get_schema: + operation: + $ref: '#/paths/~1schemas~1ids~1{id}/get' + response: + mediaType: application/json; qs=0.5 + openAPIDocKey: '200' + schemaRef: '#/components/schemas/SchemaString' + get_schema_only: + operation: + $ref: '#/paths/~1schemas~1ids~1{id}~1schema/get' + response: + mediaType: application/json; qs=0.5 + openAPIDocKey: '200' + get_schemas: + operation: + $ref: '#/paths/~1schemas/get' + response: + mediaType: application/json; qs=0.5 + openAPIDocKey: '200' + get_subjects: + operation: + $ref: '#/paths/~1schemas~1ids~1{id}~1subjects/get' + response: + mediaType: application/json; qs=0.5 + openAPIDocKey: '200' + sqlVerbs: + select: + - $ref: '#/components/x-stackQL-resources/schemas/methods/get_schema' + - $ref: '#/components/x-stackQL-resources/schemas/methods/get_schemas' + insert: [] + update: [] + replace: [] + delete: [] + types: + id: confluent.schema_registry.types + name: types + title: Types + methods: + get_schema_types: + operation: + $ref: '#/paths/~1schemas~1types/get' + response: + mediaType: application/json; qs=0.5 + openAPIDocKey: '200' + sqlVerbs: + select: [] + insert: [] + update: [] + replace: [] + delete: [] + versions: + id: confluent.schema_registry.versions + name: versions + title: Versions + methods: + get_versions: + operation: + $ref: '#/paths/~1schemas~1ids~1{id}~1versions/get' + response: + mediaType: application/json; qs=0.5 + openAPIDocKey: '200' + list_versions: + operation: + $ref: '#/paths/~1subjects~1{subject}~1versions/get' + response: + mediaType: application/json; qs=0.5 + openAPIDocKey: '200' + sqlVerbs: + select: + - $ref: '#/components/x-stackQL-resources/versions/methods/get_versions' + insert: [] + update: [] + replace: [] + delete: [] + subjects: + id: confluent.schema_registry.subjects + name: subjects + title: Subjects + methods: + get_schema_by_version: + operation: + $ref: '#/paths/~1subjects~1{subject}~1versions~1{version}/get' + response: + mediaType: application/json; qs=0.5 + openAPIDocKey: '200' + schemaRef: '#/components/schemas/Schema' + delete_schema_version: + operation: + $ref: '#/paths/~1subjects~1{subject}~1versions~1{version}/delete' + response: + mediaType: application/json; qs=0.5 + openAPIDocKey: '200' + get_referenced_by: + operation: + $ref: '#/paths/~1subjects~1{subject}~1versions~1{version}~1referencedby/get' + response: + mediaType: application/json; qs=0.5 + openAPIDocKey: '200' + get_schema_only_1: + operation: + $ref: '#/paths/~1subjects~1{subject}~1versions~1{version}~1schema/get' + response: + mediaType: application/json; qs=0.5 + openAPIDocKey: '200' + register: + operation: + $ref: '#/paths/~1subjects~1{subject}~1versions/post' + response: + mediaType: application/json; qs=0.5 + openAPIDocKey: '200' + schemaRef: '#/components/schemas/RegisterSchemaResponse' + look_up_schema_under_subject: + operation: + $ref: '#/paths/~1subjects~1{subject}/post' + response: + mediaType: application/json; qs=0.5 + openAPIDocKey: '200' + schemaRef: '#/components/schemas/Schema' + delete_subject: + operation: + $ref: '#/paths/~1subjects~1{subject}/delete' + response: + mediaType: application/json; qs=0.5 + openAPIDocKey: '200' + list: + operation: + $ref: '#/paths/~1subjects/get' + response: + mediaType: application/json; qs=0.5 + openAPIDocKey: '200' + sqlVerbs: + select: + - $ref: '#/components/x-stackQL-resources/subjects/methods/get_schema_by_version' + insert: [] + update: [] + replace: [] + delete: + - $ref: '#/components/x-stackQL-resources/subjects/methods/delete_schema_version' + - $ref: '#/components/x-stackQL-resources/subjects/methods/delete_subject' +paths: + /clusterconfig: + get: + tags: + - Config (v1) + summary: Get cluster config + description: Retrieves cluster config information. + operationId: getClusterConfig + responses: + '200': + description: The cluster config + content: + application/vnd.schemaregistry.v1+json: + schema: + $ref: '#/components/schemas/ClusterConfig' + application/vnd.schemaregistry+json; qs=0.9: + schema: + $ref: '#/components/schemas/ClusterConfig' + application/json; qs=0.5: + schema: + $ref: '#/components/schemas/ClusterConfig' + '400': + $ref: '#/components/responses/schemaregistry.v1.BadRequestError' + '401': + $ref: '#/components/responses/schemaregistry.v1.UnauthorizedError' + '403': + $ref: '#/components/responses/schemaregistry.v1.ForbiddenError' + '429': + $ref: '#/components/responses/RateLimitError' + '500': + $ref: '#/components/responses/schemaregistry.v1.DefaultSystemError' + security: + - resource-api-key: [] + - external-access-token: [] + x-codeSamples: + - lang: Shell + source: |- + curl --request GET \ + --url https://psrc-00000.region.provider.confluent.cloud/clusterconfig \ + --header 'Authorization: Basic REPLACE_BASIC_AUTH' + - lang: Java + source: |- + OkHttpClient client = new OkHttpClient(); + + Request request = new Request.Builder() + .url("https://psrc-00000.region.provider.confluent.cloud/clusterconfig") + .get() + .addHeader("Authorization", "Basic REPLACE_BASIC_AUTH") + .build(); + + Response response = client.newCall(request).execute(); + - lang: Go + source: "package main\n\nimport (\n\t\"fmt\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://psrc-00000.region.provider.confluent.cloud/clusterconfig\"\n\n\treq, _ := http.NewRequest(\"GET\", url, nil)\n\n\treq.Header.Add(\"Authorization\", \"Basic REPLACE_BASIC_AUTH\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}" + - lang: Python + source: |- + import http.client + + conn = http.client.HTTPSConnection("psrc-00000.region.provider.confluent.cloud") + + headers = { 'Authorization': "Basic REPLACE_BASIC_AUTH" } + + conn.request("GET", "/clusterconfig", headers=headers) + + res = conn.getresponse() + data = res.read() + + print(data.decode("utf-8")) + - lang: Node + source: |- + const http = require("https"); + + const options = { + "method": "GET", + "hostname": "psrc-00000.region.provider.confluent.cloud", + "port": null, + "path": "/clusterconfig", + "headers": { + "Authorization": "Basic REPLACE_BASIC_AUTH" + } + }; + + const req = http.request(options, function (res) { + const chunks = []; + + res.on("data", function (chunk) { + chunks.push(chunk); + }); + + res.on("end", function () { + const body = Buffer.concat(chunks); + console.log(body.toString()); + }); + }); + + req.end(); + - lang: C + source: |- + CURL *hnd = curl_easy_init(); + + curl_easy_setopt(hnd, CURLOPT_CUSTOMREQUEST, "GET"); + curl_easy_setopt(hnd, CURLOPT_URL, "https://psrc-00000.region.provider.confluent.cloud/clusterconfig"); + + struct curl_slist *headers = NULL; + headers = curl_slist_append(headers, "Authorization: Basic REPLACE_BASIC_AUTH"); + curl_easy_setopt(hnd, CURLOPT_HTTPHEADER, headers); + + CURLcode ret = curl_easy_perform(hnd); + - lang: C# + source: |- + var client = new RestClient("https://psrc-00000.region.provider.confluent.cloud/clusterconfig"); + var request = new RestRequest(Method.GET); + request.AddHeader("Authorization", "Basic REPLACE_BASIC_AUTH"); + IRestResponse response = client.Execute(request); + '/compatibility/subjects/{subject}/versions/{version}': + post: + tags: + - Compatibility (v1) + summary: Test schema compatibility against a particular schema subject-version + description: 'Test input schema against a particular version of a subject''s schema for compatibility. The compatibility level applied for the check is the configured compatibility level for the subject (http:get:: /config/(string: subject)). If this subject''s compatibility level was never changed, then the global compatibility level applies (http:get:: /config).' + operationId: testCompatibilityBySubjectName + parameters: + - name: subject + in: path + description: Subject of the schema version against which compatibility is to be tested + required: true + schema: + type: string + - name: version + in: path + description: 'Version of the subject''s schema against which compatibility is to be tested. Valid values for versionId are between [1,2^31-1] or the string "latest"."latest" checks compatibility of the input schema with the last registered schema under the specified subject' + required: true + schema: + type: string + - name: verbose + in: query + description: Whether to return detailed error messages + schema: + type: boolean + requestBody: + description: Schema + content: + application/vnd.schemaregistry.v1+json: + schema: + $ref: '#/components/schemas/RegisterSchemaRequest' + application/vnd.schemaregistry+json: + schema: + $ref: '#/components/schemas/RegisterSchemaRequest' + application/json: + schema: + $ref: '#/components/schemas/RegisterSchemaRequest' + application/octet-stream: + schema: + $ref: '#/components/schemas/RegisterSchemaRequest' + required: true + responses: + '200': + description: Compatibility check result. + content: + application/vnd.schemaregistry.v1+json: + schema: + $ref: '#/components/schemas/CompatibilityCheckResponse' + application/vnd.schemaregistry+json; qs=0.9: + schema: + $ref: '#/components/schemas/CompatibilityCheckResponse' + application/json; qs=0.5: + schema: + $ref: '#/components/schemas/CompatibilityCheckResponse' + '400': + $ref: '#/components/responses/schemaregistry.v1.BadRequestError' + '401': + $ref: '#/components/responses/schemaregistry.v1.UnauthorizedError' + '403': + $ref: '#/components/responses/schemaregistry.v1.ForbiddenError' + '404': + description: Not Found. Error code 40401 indicates subject not found. Error code 40402 indicates version not found. + content: + application/vnd.schemaregistry.v1+json: + schema: + $ref: '#/components/schemas/ErrorMessage' + application/vnd.schemaregistry+json; qs=0.9: + schema: + $ref: '#/components/schemas/ErrorMessage' + application/json; qs=0.5: + schema: + $ref: '#/components/schemas/ErrorMessage' + '422': + description: Unprocessable entity. Error code 42201 indicates an invalid schema or schema type. Error code 42202 indicates an invalid version. + content: + application/vnd.schemaregistry.v1+json: + schema: + $ref: '#/components/schemas/ErrorMessage' + application/vnd.schemaregistry+json; qs=0.9: + schema: + $ref: '#/components/schemas/ErrorMessage' + application/json; qs=0.5: + schema: + $ref: '#/components/schemas/ErrorMessage' + '429': + $ref: '#/components/responses/RateLimitError' + '500': + description: Internal Server Error. Error code 50001 indicates a failure in the backend data store. + content: + application/vnd.schemaregistry.v1+json: + schema: + $ref: '#/components/schemas/ErrorMessage' + application/vnd.schemaregistry+json; qs=0.9: + schema: + $ref: '#/components/schemas/ErrorMessage' + application/json; qs=0.5: + schema: + $ref: '#/components/schemas/ErrorMessage' + security: + - resource-api-key: [] + - external-access-token: [] + x-codeSamples: + - lang: Shell + source: |- + curl --request POST \ + --url 'https://psrc-00000.region.provider.confluent.cloud/compatibility/subjects/{subject}/versions/{version}' \ + --header 'Authorization: Basic REPLACE_BASIC_AUTH' \ + --header 'content-type: application/octet-stream' \ + --data '{"version":0,"id":0,"schemaType":"string","references":[{"name":"io.confluent.kafka.example.User","subject":"User","version":1}],"schema":"string","metadata":{"tags":{"property1":["string"],"property2":["string"]},"properties":{"property1":"string","property2":"string"},"sensitive":["string"]},"ruleSet":{"migrationRules":[{"name":"string","doc":"string","kind":"TRANSFORM","mode":"UPGRADE","type":"string","tags":["string"],"params":{"property1":"string","property2":"string"},"expr":"string","onSuccess":"string","onFailure":"string","disabled":true}],"domainRules":[{"name":"string","doc":"string","kind":"TRANSFORM","mode":"UPGRADE","type":"string","tags":["string"],"params":{"property1":"string","property2":"string"},"expr":"string","onSuccess":"string","onFailure":"string","disabled":true}]}}' + - lang: Java + source: |- + OkHttpClient client = new OkHttpClient(); + + MediaType mediaType = MediaType.parse("application/json"); + RequestBody body = RequestBody.create(mediaType, "{\"version\":0,\"id\":0,\"schemaType\":\"string\",\"references\":[{\"name\":\"io.confluent.kafka.example.User\",\"subject\":\"User\",\"version\":1}],\"schema\":\"string\",\"metadata\":{\"tags\":{\"property1\":[\"string\"],\"property2\":[\"string\"]},\"properties\":{\"property1\":\"string\",\"property2\":\"string\"},\"sensitive\":[\"string\"]},\"ruleSet\":{\"migrationRules\":[{\"name\":\"string\",\"doc\":\"string\",\"kind\":\"TRANSFORM\",\"mode\":\"UPGRADE\",\"type\":\"string\",\"tags\":[\"string\"],\"params\":{\"property1\":\"string\",\"property2\":\"string\"},\"expr\":\"string\",\"onSuccess\":\"string\",\"onFailure\":\"string\",\"disabled\":true}],\"domainRules\":[{\"name\":\"string\",\"doc\":\"string\",\"kind\":\"TRANSFORM\",\"mode\":\"UPGRADE\",\"type\":\"string\",\"tags\":[\"string\"],\"params\":{\"property1\":\"string\",\"property2\":\"string\"},\"expr\":\"string\",\"onSuccess\":\"string\",\"onFailure\":\"string\",\"disabled\":true}]}}"); + Request request = new Request.Builder() + .url("https://psrc-00000.region.provider.confluent.cloud/compatibility/subjects/{subject}/versions/{version}") + .post(body) + .addHeader("content-type", "application/octet-stream") + .addHeader("Authorization", "Basic REPLACE_BASIC_AUTH") + .build(); + + Response response = client.newCall(request).execute(); + - lang: Go + source: "package main\n\nimport (\n\t\"fmt\"\n\t\"strings\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://psrc-00000.region.provider.confluent.cloud/compatibility/subjects/{subject}/versions/{version}\"\n\n\tpayload := strings.NewReader(\"{\\\"version\\\":0,\\\"id\\\":0,\\\"schemaType\\\":\\\"string\\\",\\\"references\\\":[{\\\"name\\\":\\\"io.confluent.kafka.example.User\\\",\\\"subject\\\":\\\"User\\\",\\\"version\\\":1}],\\\"schema\\\":\\\"string\\\",\\\"metadata\\\":{\\\"tags\\\":{\\\"property1\\\":[\\\"string\\\"],\\\"property2\\\":[\\\"string\\\"]},\\\"properties\\\":{\\\"property1\\\":\\\"string\\\",\\\"property2\\\":\\\"string\\\"},\\\"sensitive\\\":[\\\"string\\\"]},\\\"ruleSet\\\":{\\\"migrationRules\\\":[{\\\"name\\\":\\\"string\\\",\\\"doc\\\":\\\"string\\\",\\\"kind\\\":\\\"TRANSFORM\\\",\\\"mode\\\":\\\"UPGRADE\\\",\\\"type\\\":\\\"string\\\",\\\"tags\\\":[\\\"string\\\"],\\\"params\\\":{\\\"property1\\\":\\\"string\\\",\\\"property2\\\":\\\"string\\\"},\\\"expr\\\":\\\"string\\\",\\\"onSuccess\\\":\\\"string\\\",\\\"onFailure\\\":\\\"string\\\",\\\"disabled\\\":true}],\\\"domainRules\\\":[{\\\"name\\\":\\\"string\\\",\\\"doc\\\":\\\"string\\\",\\\"kind\\\":\\\"TRANSFORM\\\",\\\"mode\\\":\\\"UPGRADE\\\",\\\"type\\\":\\\"string\\\",\\\"tags\\\":[\\\"string\\\"],\\\"params\\\":{\\\"property1\\\":\\\"string\\\",\\\"property2\\\":\\\"string\\\"},\\\"expr\\\":\\\"string\\\",\\\"onSuccess\\\":\\\"string\\\",\\\"onFailure\\\":\\\"string\\\",\\\"disabled\\\":true}]}}\")\n\n\treq, _ := http.NewRequest(\"POST\", url, payload)\n\n\treq.Header.Add(\"content-type\", \"application/octet-stream\")\n\treq.Header.Add(\"Authorization\", \"Basic REPLACE_BASIC_AUTH\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}" + - lang: Python + source: |- + import http.client + + conn = http.client.HTTPSConnection("psrc-00000.region.provider.confluent.cloud") + + payload = "{\"version\":0,\"id\":0,\"schemaType\":\"string\",\"references\":[{\"name\":\"io.confluent.kafka.example.User\",\"subject\":\"User\",\"version\":1}],\"schema\":\"string\",\"metadata\":{\"tags\":{\"property1\":[\"string\"],\"property2\":[\"string\"]},\"properties\":{\"property1\":\"string\",\"property2\":\"string\"},\"sensitive\":[\"string\"]},\"ruleSet\":{\"migrationRules\":[{\"name\":\"string\",\"doc\":\"string\",\"kind\":\"TRANSFORM\",\"mode\":\"UPGRADE\",\"type\":\"string\",\"tags\":[\"string\"],\"params\":{\"property1\":\"string\",\"property2\":\"string\"},\"expr\":\"string\",\"onSuccess\":\"string\",\"onFailure\":\"string\",\"disabled\":true}],\"domainRules\":[{\"name\":\"string\",\"doc\":\"string\",\"kind\":\"TRANSFORM\",\"mode\":\"UPGRADE\",\"type\":\"string\",\"tags\":[\"string\"],\"params\":{\"property1\":\"string\",\"property2\":\"string\"},\"expr\":\"string\",\"onSuccess\":\"string\",\"onFailure\":\"string\",\"disabled\":true}]}}" + + headers = { + 'content-type': "application/octet-stream", + 'Authorization': "Basic REPLACE_BASIC_AUTH" + } + + conn.request("POST", "/compatibility/subjects/{subject}/versions/{version}", payload, headers) + + res = conn.getresponse() + data = res.read() + + print(data.decode("utf-8")) + - lang: Node + source: |- + const http = require("https"); + + const options = { + "method": "POST", + "hostname": "psrc-00000.region.provider.confluent.cloud", + "port": null, + "path": "/compatibility/subjects/{subject}/versions/{version}", + "headers": { + "content-type": "application/octet-stream", + "Authorization": "Basic REPLACE_BASIC_AUTH" + } + }; + + const req = http.request(options, function (res) { + const chunks = []; + + res.on("data", function (chunk) { + chunks.push(chunk); + }); + + res.on("end", function () { + const body = Buffer.concat(chunks); + console.log(body.toString()); + }); + }); + + req.write(JSON.stringify({ + version: 0, + id: 0, + schemaType: 'string', + references: [{name: 'io.confluent.kafka.example.User', subject: 'User', version: 1}], + schema: 'string', + metadata: { + tags: {property1: ['string'], property2: ['string']}, + properties: {property1: 'string', property2: 'string'}, + sensitive: ['string'] + }, + ruleSet: { + migrationRules: [ + { + name: 'string', + doc: 'string', + kind: 'TRANSFORM', + mode: 'UPGRADE', + type: 'string', + tags: ['string'], + params: {property1: 'string', property2: 'string'}, + expr: 'string', + onSuccess: 'string', + onFailure: 'string', + disabled: true + } + ], + domainRules: [ + { + name: 'string', + doc: 'string', + kind: 'TRANSFORM', + mode: 'UPGRADE', + type: 'string', + tags: ['string'], + params: {property1: 'string', property2: 'string'}, + expr: 'string', + onSuccess: 'string', + onFailure: 'string', + disabled: true + } + ] + } + })); + req.end(); + - lang: C + source: |- + CURL *hnd = curl_easy_init(); + + curl_easy_setopt(hnd, CURLOPT_CUSTOMREQUEST, "POST"); + curl_easy_setopt(hnd, CURLOPT_URL, "https://psrc-00000.region.provider.confluent.cloud/compatibility/subjects/{subject}/versions/{version}"); + + struct curl_slist *headers = NULL; + headers = curl_slist_append(headers, "content-type: application/octet-stream"); + headers = curl_slist_append(headers, "Authorization: Basic REPLACE_BASIC_AUTH"); + curl_easy_setopt(hnd, CURLOPT_HTTPHEADER, headers); + + curl_easy_setopt(hnd, CURLOPT_POSTFIELDS, "{\"version\":0,\"id\":0,\"schemaType\":\"string\",\"references\":[{\"name\":\"io.confluent.kafka.example.User\",\"subject\":\"User\",\"version\":1}],\"schema\":\"string\",\"metadata\":{\"tags\":{\"property1\":[\"string\"],\"property2\":[\"string\"]},\"properties\":{\"property1\":\"string\",\"property2\":\"string\"},\"sensitive\":[\"string\"]},\"ruleSet\":{\"migrationRules\":[{\"name\":\"string\",\"doc\":\"string\",\"kind\":\"TRANSFORM\",\"mode\":\"UPGRADE\",\"type\":\"string\",\"tags\":[\"string\"],\"params\":{\"property1\":\"string\",\"property2\":\"string\"},\"expr\":\"string\",\"onSuccess\":\"string\",\"onFailure\":\"string\",\"disabled\":true}],\"domainRules\":[{\"name\":\"string\",\"doc\":\"string\",\"kind\":\"TRANSFORM\",\"mode\":\"UPGRADE\",\"type\":\"string\",\"tags\":[\"string\"],\"params\":{\"property1\":\"string\",\"property2\":\"string\"},\"expr\":\"string\",\"onSuccess\":\"string\",\"onFailure\":\"string\",\"disabled\":true}]}}"); + + CURLcode ret = curl_easy_perform(hnd); + - lang: C# + source: |- + var client = new RestClient("https://psrc-00000.region.provider.confluent.cloud/compatibility/subjects/{subject}/versions/{version}"); + var request = new RestRequest(Method.POST); + request.AddHeader("content-type", "application/octet-stream"); + request.AddHeader("Authorization", "Basic REPLACE_BASIC_AUTH"); + request.AddParameter("application/octet-stream", "{\"version\":0,\"id\":0,\"schemaType\":\"string\",\"references\":[{\"name\":\"io.confluent.kafka.example.User\",\"subject\":\"User\",\"version\":1}],\"schema\":\"string\",\"metadata\":{\"tags\":{\"property1\":[\"string\"],\"property2\":[\"string\"]},\"properties\":{\"property1\":\"string\",\"property2\":\"string\"},\"sensitive\":[\"string\"]},\"ruleSet\":{\"migrationRules\":[{\"name\":\"string\",\"doc\":\"string\",\"kind\":\"TRANSFORM\",\"mode\":\"UPGRADE\",\"type\":\"string\",\"tags\":[\"string\"],\"params\":{\"property1\":\"string\",\"property2\":\"string\"},\"expr\":\"string\",\"onSuccess\":\"string\",\"onFailure\":\"string\",\"disabled\":true}],\"domainRules\":[{\"name\":\"string\",\"doc\":\"string\",\"kind\":\"TRANSFORM\",\"mode\":\"UPGRADE\",\"type\":\"string\",\"tags\":[\"string\"],\"params\":{\"property1\":\"string\",\"property2\":\"string\"},\"expr\":\"string\",\"onSuccess\":\"string\",\"onFailure\":\"string\",\"disabled\":true}]}}", ParameterType.RequestBody); + IRestResponse response = client.Execute(request); + '/compatibility/subjects/{subject}/versions': + post: + tags: + - Compatibility (v1) + summary: Test schema compatibility against all schemas under a subject + description: 'Test input schema against a subject''s schemas for compatibility, based on the configured compatibility level of the subject. In other words, it will perform the same compatibility check as register for that subject. The compatibility level applied for the check is the configured compatibility level for the subject (http:get:: /config/(string: subject)). If this subject''s compatibility level was never changed, then the global compatibility level applies (http:get:: /config).' + operationId: testCompatibilityForSubject + parameters: + - name: subject + in: path + description: Subject of the schema version against which compatibility is to be tested + required: true + schema: + type: string + - name: verbose + in: query + description: Whether to return detailed error messages + schema: + type: boolean + requestBody: + description: Schema + content: + application/vnd.schemaregistry.v1+json: + schema: + $ref: '#/components/schemas/RegisterSchemaRequest' + application/vnd.schemaregistry+json: + schema: + $ref: '#/components/schemas/RegisterSchemaRequest' + application/json: + schema: + $ref: '#/components/schemas/RegisterSchemaRequest' + application/octet-stream: + schema: + $ref: '#/components/schemas/RegisterSchemaRequest' + required: true + responses: + '200': + description: Compatibility check result. + content: + application/vnd.schemaregistry.v1+json: + schema: + $ref: '#/components/schemas/CompatibilityCheckResponse' + application/vnd.schemaregistry+json; qs=0.9: + schema: + $ref: '#/components/schemas/CompatibilityCheckResponse' + application/json; qs=0.5: + schema: + $ref: '#/components/schemas/CompatibilityCheckResponse' + '400': + $ref: '#/components/responses/schemaregistry.v1.BadRequestError' + '401': + $ref: '#/components/responses/schemaregistry.v1.UnauthorizedError' + '403': + $ref: '#/components/responses/schemaregistry.v1.ForbiddenError' + '429': + $ref: '#/components/responses/RateLimitError' + '500': + description: Internal Server Error. Error code 50001 indicates a failure in the backend data store. + content: + application/vnd.schemaregistry.v1+json: + schema: + $ref: '#/components/schemas/ErrorMessage' + application/vnd.schemaregistry+json; qs=0.9: + schema: + $ref: '#/components/schemas/ErrorMessage' + application/json; qs=0.5: + schema: + $ref: '#/components/schemas/ErrorMessage' + security: + - resource-api-key: [] + - external-access-token: [] + x-codeSamples: + - lang: Shell + source: |- + curl --request POST \ + --url 'https://psrc-00000.region.provider.confluent.cloud/compatibility/subjects/{subject}/versions' \ + --header 'Authorization: Basic REPLACE_BASIC_AUTH' \ + --header 'content-type: application/octet-stream' \ + --data '{"version":0,"id":0,"schemaType":"string","references":[{"name":"io.confluent.kafka.example.User","subject":"User","version":1}],"schema":"string","metadata":{"tags":{"property1":["string"],"property2":["string"]},"properties":{"property1":"string","property2":"string"},"sensitive":["string"]},"ruleSet":{"migrationRules":[{"name":"string","doc":"string","kind":"TRANSFORM","mode":"UPGRADE","type":"string","tags":["string"],"params":{"property1":"string","property2":"string"},"expr":"string","onSuccess":"string","onFailure":"string","disabled":true}],"domainRules":[{"name":"string","doc":"string","kind":"TRANSFORM","mode":"UPGRADE","type":"string","tags":["string"],"params":{"property1":"string","property2":"string"},"expr":"string","onSuccess":"string","onFailure":"string","disabled":true}]}}' + - lang: Java + source: |- + OkHttpClient client = new OkHttpClient(); + + MediaType mediaType = MediaType.parse("application/json"); + RequestBody body = RequestBody.create(mediaType, "{\"version\":0,\"id\":0,\"schemaType\":\"string\",\"references\":[{\"name\":\"io.confluent.kafka.example.User\",\"subject\":\"User\",\"version\":1}],\"schema\":\"string\",\"metadata\":{\"tags\":{\"property1\":[\"string\"],\"property2\":[\"string\"]},\"properties\":{\"property1\":\"string\",\"property2\":\"string\"},\"sensitive\":[\"string\"]},\"ruleSet\":{\"migrationRules\":[{\"name\":\"string\",\"doc\":\"string\",\"kind\":\"TRANSFORM\",\"mode\":\"UPGRADE\",\"type\":\"string\",\"tags\":[\"string\"],\"params\":{\"property1\":\"string\",\"property2\":\"string\"},\"expr\":\"string\",\"onSuccess\":\"string\",\"onFailure\":\"string\",\"disabled\":true}],\"domainRules\":[{\"name\":\"string\",\"doc\":\"string\",\"kind\":\"TRANSFORM\",\"mode\":\"UPGRADE\",\"type\":\"string\",\"tags\":[\"string\"],\"params\":{\"property1\":\"string\",\"property2\":\"string\"},\"expr\":\"string\",\"onSuccess\":\"string\",\"onFailure\":\"string\",\"disabled\":true}]}}"); + Request request = new Request.Builder() + .url("https://psrc-00000.region.provider.confluent.cloud/compatibility/subjects/{subject}/versions") + .post(body) + .addHeader("content-type", "application/octet-stream") + .addHeader("Authorization", "Basic REPLACE_BASIC_AUTH") + .build(); + + Response response = client.newCall(request).execute(); + - lang: Go + source: "package main\n\nimport (\n\t\"fmt\"\n\t\"strings\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://psrc-00000.region.provider.confluent.cloud/compatibility/subjects/{subject}/versions\"\n\n\tpayload := strings.NewReader(\"{\\\"version\\\":0,\\\"id\\\":0,\\\"schemaType\\\":\\\"string\\\",\\\"references\\\":[{\\\"name\\\":\\\"io.confluent.kafka.example.User\\\",\\\"subject\\\":\\\"User\\\",\\\"version\\\":1}],\\\"schema\\\":\\\"string\\\",\\\"metadata\\\":{\\\"tags\\\":{\\\"property1\\\":[\\\"string\\\"],\\\"property2\\\":[\\\"string\\\"]},\\\"properties\\\":{\\\"property1\\\":\\\"string\\\",\\\"property2\\\":\\\"string\\\"},\\\"sensitive\\\":[\\\"string\\\"]},\\\"ruleSet\\\":{\\\"migrationRules\\\":[{\\\"name\\\":\\\"string\\\",\\\"doc\\\":\\\"string\\\",\\\"kind\\\":\\\"TRANSFORM\\\",\\\"mode\\\":\\\"UPGRADE\\\",\\\"type\\\":\\\"string\\\",\\\"tags\\\":[\\\"string\\\"],\\\"params\\\":{\\\"property1\\\":\\\"string\\\",\\\"property2\\\":\\\"string\\\"},\\\"expr\\\":\\\"string\\\",\\\"onSuccess\\\":\\\"string\\\",\\\"onFailure\\\":\\\"string\\\",\\\"disabled\\\":true}],\\\"domainRules\\\":[{\\\"name\\\":\\\"string\\\",\\\"doc\\\":\\\"string\\\",\\\"kind\\\":\\\"TRANSFORM\\\",\\\"mode\\\":\\\"UPGRADE\\\",\\\"type\\\":\\\"string\\\",\\\"tags\\\":[\\\"string\\\"],\\\"params\\\":{\\\"property1\\\":\\\"string\\\",\\\"property2\\\":\\\"string\\\"},\\\"expr\\\":\\\"string\\\",\\\"onSuccess\\\":\\\"string\\\",\\\"onFailure\\\":\\\"string\\\",\\\"disabled\\\":true}]}}\")\n\n\treq, _ := http.NewRequest(\"POST\", url, payload)\n\n\treq.Header.Add(\"content-type\", \"application/octet-stream\")\n\treq.Header.Add(\"Authorization\", \"Basic REPLACE_BASIC_AUTH\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}" + - lang: Python + source: |- + import http.client + + conn = http.client.HTTPSConnection("psrc-00000.region.provider.confluent.cloud") + + payload = "{\"version\":0,\"id\":0,\"schemaType\":\"string\",\"references\":[{\"name\":\"io.confluent.kafka.example.User\",\"subject\":\"User\",\"version\":1}],\"schema\":\"string\",\"metadata\":{\"tags\":{\"property1\":[\"string\"],\"property2\":[\"string\"]},\"properties\":{\"property1\":\"string\",\"property2\":\"string\"},\"sensitive\":[\"string\"]},\"ruleSet\":{\"migrationRules\":[{\"name\":\"string\",\"doc\":\"string\",\"kind\":\"TRANSFORM\",\"mode\":\"UPGRADE\",\"type\":\"string\",\"tags\":[\"string\"],\"params\":{\"property1\":\"string\",\"property2\":\"string\"},\"expr\":\"string\",\"onSuccess\":\"string\",\"onFailure\":\"string\",\"disabled\":true}],\"domainRules\":[{\"name\":\"string\",\"doc\":\"string\",\"kind\":\"TRANSFORM\",\"mode\":\"UPGRADE\",\"type\":\"string\",\"tags\":[\"string\"],\"params\":{\"property1\":\"string\",\"property2\":\"string\"},\"expr\":\"string\",\"onSuccess\":\"string\",\"onFailure\":\"string\",\"disabled\":true}]}}" + + headers = { + 'content-type': "application/octet-stream", + 'Authorization': "Basic REPLACE_BASIC_AUTH" + } + + conn.request("POST", "/compatibility/subjects/{subject}/versions", payload, headers) + + res = conn.getresponse() + data = res.read() + + print(data.decode("utf-8")) + - lang: Node + source: |- + const http = require("https"); + + const options = { + "method": "POST", + "hostname": "psrc-00000.region.provider.confluent.cloud", + "port": null, + "path": "/compatibility/subjects/{subject}/versions", + "headers": { + "content-type": "application/octet-stream", + "Authorization": "Basic REPLACE_BASIC_AUTH" + } + }; + + const req = http.request(options, function (res) { + const chunks = []; + + res.on("data", function (chunk) { + chunks.push(chunk); + }); + + res.on("end", function () { + const body = Buffer.concat(chunks); + console.log(body.toString()); + }); + }); + + req.write(JSON.stringify({ + version: 0, + id: 0, + schemaType: 'string', + references: [{name: 'io.confluent.kafka.example.User', subject: 'User', version: 1}], + schema: 'string', + metadata: { + tags: {property1: ['string'], property2: ['string']}, + properties: {property1: 'string', property2: 'string'}, + sensitive: ['string'] + }, + ruleSet: { + migrationRules: [ + { + name: 'string', + doc: 'string', + kind: 'TRANSFORM', + mode: 'UPGRADE', + type: 'string', + tags: ['string'], + params: {property1: 'string', property2: 'string'}, + expr: 'string', + onSuccess: 'string', + onFailure: 'string', + disabled: true + } + ], + domainRules: [ + { + name: 'string', + doc: 'string', + kind: 'TRANSFORM', + mode: 'UPGRADE', + type: 'string', + tags: ['string'], + params: {property1: 'string', property2: 'string'}, + expr: 'string', + onSuccess: 'string', + onFailure: 'string', + disabled: true + } + ] + } + })); + req.end(); + - lang: C + source: |- + CURL *hnd = curl_easy_init(); + + curl_easy_setopt(hnd, CURLOPT_CUSTOMREQUEST, "POST"); + curl_easy_setopt(hnd, CURLOPT_URL, "https://psrc-00000.region.provider.confluent.cloud/compatibility/subjects/{subject}/versions"); + + struct curl_slist *headers = NULL; + headers = curl_slist_append(headers, "content-type: application/octet-stream"); + headers = curl_slist_append(headers, "Authorization: Basic REPLACE_BASIC_AUTH"); + curl_easy_setopt(hnd, CURLOPT_HTTPHEADER, headers); + + curl_easy_setopt(hnd, CURLOPT_POSTFIELDS, "{\"version\":0,\"id\":0,\"schemaType\":\"string\",\"references\":[{\"name\":\"io.confluent.kafka.example.User\",\"subject\":\"User\",\"version\":1}],\"schema\":\"string\",\"metadata\":{\"tags\":{\"property1\":[\"string\"],\"property2\":[\"string\"]},\"properties\":{\"property1\":\"string\",\"property2\":\"string\"},\"sensitive\":[\"string\"]},\"ruleSet\":{\"migrationRules\":[{\"name\":\"string\",\"doc\":\"string\",\"kind\":\"TRANSFORM\",\"mode\":\"UPGRADE\",\"type\":\"string\",\"tags\":[\"string\"],\"params\":{\"property1\":\"string\",\"property2\":\"string\"},\"expr\":\"string\",\"onSuccess\":\"string\",\"onFailure\":\"string\",\"disabled\":true}],\"domainRules\":[{\"name\":\"string\",\"doc\":\"string\",\"kind\":\"TRANSFORM\",\"mode\":\"UPGRADE\",\"type\":\"string\",\"tags\":[\"string\"],\"params\":{\"property1\":\"string\",\"property2\":\"string\"},\"expr\":\"string\",\"onSuccess\":\"string\",\"onFailure\":\"string\",\"disabled\":true}]}}"); + + CURLcode ret = curl_easy_perform(hnd); + - lang: C# + source: |- + var client = new RestClient("https://psrc-00000.region.provider.confluent.cloud/compatibility/subjects/{subject}/versions"); + var request = new RestRequest(Method.POST); + request.AddHeader("content-type", "application/octet-stream"); + request.AddHeader("Authorization", "Basic REPLACE_BASIC_AUTH"); + request.AddParameter("application/octet-stream", "{\"version\":0,\"id\":0,\"schemaType\":\"string\",\"references\":[{\"name\":\"io.confluent.kafka.example.User\",\"subject\":\"User\",\"version\":1}],\"schema\":\"string\",\"metadata\":{\"tags\":{\"property1\":[\"string\"],\"property2\":[\"string\"]},\"properties\":{\"property1\":\"string\",\"property2\":\"string\"},\"sensitive\":[\"string\"]},\"ruleSet\":{\"migrationRules\":[{\"name\":\"string\",\"doc\":\"string\",\"kind\":\"TRANSFORM\",\"mode\":\"UPGRADE\",\"type\":\"string\",\"tags\":[\"string\"],\"params\":{\"property1\":\"string\",\"property2\":\"string\"},\"expr\":\"string\",\"onSuccess\":\"string\",\"onFailure\":\"string\",\"disabled\":true}],\"domainRules\":[{\"name\":\"string\",\"doc\":\"string\",\"kind\":\"TRANSFORM\",\"mode\":\"UPGRADE\",\"type\":\"string\",\"tags\":[\"string\"],\"params\":{\"property1\":\"string\",\"property2\":\"string\"},\"expr\":\"string\",\"onSuccess\":\"string\",\"onFailure\":\"string\",\"disabled\":true}]}}", ParameterType.RequestBody); + IRestResponse response = client.Execute(request); + '/config/{subject}': + get: + tags: + - Config (v1) + summary: Get subject compatibility level + description: |- + Retrieves compatibility level, compatibility group, normalization, + default metadata, and rule set for a subject. + operationId: getSubjectLevelConfig + parameters: + - name: subject + in: path + description: Name of the subject + required: true + schema: + type: string + - name: defaultToGlobal + in: query + description: Whether to return the global compatibility level if subject compatibility level not found + schema: + type: boolean + responses: + '200': + description: The subject compatibility level. + content: + application/vnd.schemaregistry.v1+json: + schema: + $ref: '#/components/schemas/Config' + application/vnd.schemaregistry+json; qs=0.9: + schema: + $ref: '#/components/schemas/Config' + application/json; qs=0.5: + schema: + $ref: '#/components/schemas/Config' + '400': + $ref: '#/components/responses/schemaregistry.v1.BadRequestError' + '401': + $ref: '#/components/responses/schemaregistry.v1.UnauthorizedError' + '403': + $ref: '#/components/responses/schemaregistry.v1.ForbiddenError' + '404': + description: Not Found. Error code 40401 indicates subject not found. + content: + application/vnd.schemaregistry.v1+json: + schema: + $ref: '#/components/schemas/ErrorMessage' + application/vnd.schemaregistry+json; qs=0.9: + schema: + $ref: '#/components/schemas/ErrorMessage' + application/json; qs=0.5: + schema: + $ref: '#/components/schemas/ErrorMessage' + '429': + $ref: '#/components/responses/RateLimitError' + '500': + description: Internal Server Error. Error code 50001 indicates a failure in the backend data store. + content: + application/vnd.schemaregistry.v1+json: + schema: + $ref: '#/components/schemas/ErrorMessage' + application/vnd.schemaregistry+json; qs=0.9: + schema: + $ref: '#/components/schemas/ErrorMessage' + application/json; qs=0.5: + schema: + $ref: '#/components/schemas/ErrorMessage' + security: + - resource-api-key: [] + - external-access-token: [] + x-codeSamples: + - lang: Shell + source: |- + curl --request GET \ + --url 'https://psrc-00000.region.provider.confluent.cloud/config/{subject}' \ + --header 'Authorization: Basic REPLACE_BASIC_AUTH' + - lang: Java + source: |- + OkHttpClient client = new OkHttpClient(); + + Request request = new Request.Builder() + .url("https://psrc-00000.region.provider.confluent.cloud/config/{subject}") + .get() + .addHeader("Authorization", "Basic REPLACE_BASIC_AUTH") + .build(); + + Response response = client.newCall(request).execute(); + - lang: Go + source: "package main\n\nimport (\n\t\"fmt\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://psrc-00000.region.provider.confluent.cloud/config/{subject}\"\n\n\treq, _ := http.NewRequest(\"GET\", url, nil)\n\n\treq.Header.Add(\"Authorization\", \"Basic REPLACE_BASIC_AUTH\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}" + - lang: Python + source: |- + import http.client + + conn = http.client.HTTPSConnection("psrc-00000.region.provider.confluent.cloud") + + headers = { 'Authorization': "Basic REPLACE_BASIC_AUTH" } + + conn.request("GET", "/config/{subject}", headers=headers) + + res = conn.getresponse() + data = res.read() + + print(data.decode("utf-8")) + - lang: Node + source: |- + const http = require("https"); + + const options = { + "method": "GET", + "hostname": "psrc-00000.region.provider.confluent.cloud", + "port": null, + "path": "/config/{subject}", + "headers": { + "Authorization": "Basic REPLACE_BASIC_AUTH" + } + }; + + const req = http.request(options, function (res) { + const chunks = []; + + res.on("data", function (chunk) { + chunks.push(chunk); + }); + + res.on("end", function () { + const body = Buffer.concat(chunks); + console.log(body.toString()); + }); + }); + + req.end(); + - lang: C + source: |- + CURL *hnd = curl_easy_init(); + + curl_easy_setopt(hnd, CURLOPT_CUSTOMREQUEST, "GET"); + curl_easy_setopt(hnd, CURLOPT_URL, "https://psrc-00000.region.provider.confluent.cloud/config/{subject}"); + + struct curl_slist *headers = NULL; + headers = curl_slist_append(headers, "Authorization: Basic REPLACE_BASIC_AUTH"); + curl_easy_setopt(hnd, CURLOPT_HTTPHEADER, headers); + + CURLcode ret = curl_easy_perform(hnd); + - lang: C# + source: |- + var client = new RestClient("https://psrc-00000.region.provider.confluent.cloud/config/{subject}"); + var request = new RestRequest(Method.GET); + request.AddHeader("Authorization", "Basic REPLACE_BASIC_AUTH"); + IRestResponse response = client.Execute(request); + put: + tags: + - Config (v1) + summary: Update subject compatibility level + description: |- + Update compatibility level, compatibility group, normalization, + default metadata, and rule set for the specified subject. On success, + echoes the original request back to the client. + operationId: updateSubjectLevelConfig + parameters: + - name: subject + in: path + description: Name of the subject + required: true + schema: + type: string + requestBody: + description: Config Update Request + content: + application/vnd.schemaregistry.v1+json: + schema: + $ref: '#/components/schemas/ConfigUpdateRequest' + application/vnd.schemaregistry+json: + schema: + $ref: '#/components/schemas/ConfigUpdateRequest' + application/json: + schema: + $ref: '#/components/schemas/ConfigUpdateRequest' + application/octet-stream: + schema: + $ref: '#/components/schemas/ConfigUpdateRequest' + required: true + responses: + '200': + description: The original request. + content: + application/vnd.schemaregistry.v1+json: + schema: + $ref: '#/components/schemas/ConfigUpdateRequest' + application/vnd.schemaregistry+json; qs=0.9: + schema: + $ref: '#/components/schemas/ConfigUpdateRequest' + application/json; qs=0.5: + schema: + $ref: '#/components/schemas/ConfigUpdateRequest' + '400': + $ref: '#/components/responses/schemaregistry.v1.BadRequestError' + '401': + $ref: '#/components/responses/schemaregistry.v1.UnauthorizedError' + '403': + $ref: '#/components/responses/schemaregistry.v1.ForbiddenError' + '422': + description: Unprocessable Entity. Error code 42203 indicates invalid compatibility level. + content: + application/vnd.schemaregistry.v1+json: + schema: + $ref: '#/components/schemas/ErrorMessage' + application/vnd.schemaregistry+json; qs=0.9: + schema: + $ref: '#/components/schemas/ErrorMessage' + application/json; qs=0.5: + schema: + $ref: '#/components/schemas/ErrorMessage' + '429': + $ref: '#/components/responses/RateLimitError' + '500': + description: Internal Server Error. Error code 50001 indicates a failure in the backend data store. Error code 50003 indicates a failure forwarding the request to the primary. + content: + application/vnd.schemaregistry.v1+json: + schema: + $ref: '#/components/schemas/ErrorMessage' + application/vnd.schemaregistry+json; qs=0.9: + schema: + $ref: '#/components/schemas/ErrorMessage' + application/json; qs=0.5: + schema: + $ref: '#/components/schemas/ErrorMessage' + security: + - resource-api-key: [] + - external-access-token: [] + x-codeSamples: + - lang: Shell + source: |- + curl --request PUT \ + --url 'https://psrc-00000.region.provider.confluent.cloud/config/{subject}' \ + --header 'Authorization: Basic REPLACE_BASIC_AUTH' \ + --header 'content-type: application/octet-stream' \ + --data '{"alias":"string","normalize":true,"compatibility":"FULL_TRANSITIVE","compatibilityGroup":"string","defaultMetadata":{"properties":{}},"overrideMetadata":{"properties":{}},"defaultRuleSet":{"properties":{}},"overrideRuleSet":{"properties":{}}}' + - lang: Java + source: |- + OkHttpClient client = new OkHttpClient(); + + MediaType mediaType = MediaType.parse("application/json"); + RequestBody body = RequestBody.create(mediaType, "{\"alias\":\"string\",\"normalize\":true,\"compatibility\":\"FULL_TRANSITIVE\",\"compatibilityGroup\":\"string\",\"defaultMetadata\":{\"properties\":{}},\"overrideMetadata\":{\"properties\":{}},\"defaultRuleSet\":{\"properties\":{}},\"overrideRuleSet\":{\"properties\":{}}}"); + Request request = new Request.Builder() + .url("https://psrc-00000.region.provider.confluent.cloud/config/{subject}") + .put(body) + .addHeader("content-type", "application/octet-stream") + .addHeader("Authorization", "Basic REPLACE_BASIC_AUTH") + .build(); + + Response response = client.newCall(request).execute(); + - lang: Go + source: "package main\n\nimport (\n\t\"fmt\"\n\t\"strings\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://psrc-00000.region.provider.confluent.cloud/config/{subject}\"\n\n\tpayload := strings.NewReader(\"{\\\"alias\\\":\\\"string\\\",\\\"normalize\\\":true,\\\"compatibility\\\":\\\"FULL_TRANSITIVE\\\",\\\"compatibilityGroup\\\":\\\"string\\\",\\\"defaultMetadata\\\":{\\\"properties\\\":{}},\\\"overrideMetadata\\\":{\\\"properties\\\":{}},\\\"defaultRuleSet\\\":{\\\"properties\\\":{}},\\\"overrideRuleSet\\\":{\\\"properties\\\":{}}}\")\n\n\treq, _ := http.NewRequest(\"PUT\", url, payload)\n\n\treq.Header.Add(\"content-type\", \"application/octet-stream\")\n\treq.Header.Add(\"Authorization\", \"Basic REPLACE_BASIC_AUTH\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}" + - lang: Python + source: |- + import http.client + + conn = http.client.HTTPSConnection("psrc-00000.region.provider.confluent.cloud") + + payload = "{\"alias\":\"string\",\"normalize\":true,\"compatibility\":\"FULL_TRANSITIVE\",\"compatibilityGroup\":\"string\",\"defaultMetadata\":{\"properties\":{}},\"overrideMetadata\":{\"properties\":{}},\"defaultRuleSet\":{\"properties\":{}},\"overrideRuleSet\":{\"properties\":{}}}" + + headers = { + 'content-type': "application/octet-stream", + 'Authorization': "Basic REPLACE_BASIC_AUTH" + } + + conn.request("PUT", "/config/{subject}", payload, headers) + + res = conn.getresponse() + data = res.read() + + print(data.decode("utf-8")) + - lang: Node + source: |- + const http = require("https"); + + const options = { + "method": "PUT", + "hostname": "psrc-00000.region.provider.confluent.cloud", + "port": null, + "path": "/config/{subject}", + "headers": { + "content-type": "application/octet-stream", + "Authorization": "Basic REPLACE_BASIC_AUTH" + } + }; + + const req = http.request(options, function (res) { + const chunks = []; + + res.on("data", function (chunk) { + chunks.push(chunk); + }); + + res.on("end", function () { + const body = Buffer.concat(chunks); + console.log(body.toString()); + }); + }); + + req.write(JSON.stringify({ + alias: 'string', + normalize: true, + compatibility: 'FULL_TRANSITIVE', + compatibilityGroup: 'string', + defaultMetadata: {properties: {}}, + overrideMetadata: {properties: {}}, + defaultRuleSet: {properties: {}}, + overrideRuleSet: {properties: {}} + })); + req.end(); + - lang: C + source: |- + CURL *hnd = curl_easy_init(); + + curl_easy_setopt(hnd, CURLOPT_CUSTOMREQUEST, "PUT"); + curl_easy_setopt(hnd, CURLOPT_URL, "https://psrc-00000.region.provider.confluent.cloud/config/{subject}"); + + struct curl_slist *headers = NULL; + headers = curl_slist_append(headers, "content-type: application/octet-stream"); + headers = curl_slist_append(headers, "Authorization: Basic REPLACE_BASIC_AUTH"); + curl_easy_setopt(hnd, CURLOPT_HTTPHEADER, headers); + + curl_easy_setopt(hnd, CURLOPT_POSTFIELDS, "{\"alias\":\"string\",\"normalize\":true,\"compatibility\":\"FULL_TRANSITIVE\",\"compatibilityGroup\":\"string\",\"defaultMetadata\":{\"properties\":{}},\"overrideMetadata\":{\"properties\":{}},\"defaultRuleSet\":{\"properties\":{}},\"overrideRuleSet\":{\"properties\":{}}}"); + + CURLcode ret = curl_easy_perform(hnd); + - lang: C# + source: |- + var client = new RestClient("https://psrc-00000.region.provider.confluent.cloud/config/{subject}"); + var request = new RestRequest(Method.PUT); + request.AddHeader("content-type", "application/octet-stream"); + request.AddHeader("Authorization", "Basic REPLACE_BASIC_AUTH"); + request.AddParameter("application/octet-stream", "{\"alias\":\"string\",\"normalize\":true,\"compatibility\":\"FULL_TRANSITIVE\",\"compatibilityGroup\":\"string\",\"defaultMetadata\":{\"properties\":{}},\"overrideMetadata\":{\"properties\":{}},\"defaultRuleSet\":{\"properties\":{}},\"overrideRuleSet\":{\"properties\":{}}}", ParameterType.RequestBody); + IRestResponse response = client.Execute(request); + delete: + tags: + - Config (v1) + summary: Delete subject compatibility level + description: Deletes the specified subject-level compatibility level config and reverts to the global default. + operationId: deleteSubjectConfig + parameters: + - name: subject + in: path + description: Name of the subject + required: true + schema: + type: string + responses: + '200': + description: Operation succeeded. Returns old compatibility level. + content: + application/vnd.schemaregistry.v1+json: + schema: + type: string + x-extensible-enum: + - NONE + - BACKWARD + - BACKWARD_TRANSITIVE + - FORWARD + - FORWARD_TRANSITIVE + - FULL + - FULL_TRANSITIVE + example: FULL_TRANSITIVE + application/vnd.schemaregistry+json; qs=0.9: + schema: + type: string + x-extensible-enum: + - NONE + - BACKWARD + - BACKWARD_TRANSITIVE + - FORWARD + - FORWARD_TRANSITIVE + - FULL + - FULL_TRANSITIVE + example: FULL_TRANSITIVE + application/json; qs=0.5: + schema: + type: string + x-extensible-enum: + - NONE + - BACKWARD + - BACKWARD_TRANSITIVE + - FORWARD + - FORWARD_TRANSITIVE + - FULL + - FULL_TRANSITIVE + example: FULL_TRANSITIVE + '400': + $ref: '#/components/responses/schemaregistry.v1.BadRequestError' + '401': + $ref: '#/components/responses/schemaregistry.v1.UnauthorizedError' + '403': + $ref: '#/components/responses/schemaregistry.v1.ForbiddenError' + '404': + description: Not Found. Error code 40401 indicates subject not found. + content: + application/vnd.schemaregistry.v1+json: + schema: + $ref: '#/components/schemas/ErrorMessage' + application/vnd.schemaregistry+json; qs=0.9: + schema: + $ref: '#/components/schemas/ErrorMessage' + application/json; qs=0.5: + schema: + $ref: '#/components/schemas/ErrorMessage' + '429': + $ref: '#/components/responses/RateLimitError' + '500': + description: Internal Server Error. Error code 50001 indicates a failure in the backend data store. + content: + application/vnd.schemaregistry.v1+json: + schema: + $ref: '#/components/schemas/ErrorMessage' + application/vnd.schemaregistry+json; qs=0.9: + schema: + $ref: '#/components/schemas/ErrorMessage' + application/json; qs=0.5: + schema: + $ref: '#/components/schemas/ErrorMessage' + security: + - resource-api-key: [] + - external-access-token: [] + x-codeSamples: + - lang: Shell + source: |- + curl --request DELETE \ + --url 'https://psrc-00000.region.provider.confluent.cloud/config/{subject}' \ + --header 'Authorization: Basic REPLACE_BASIC_AUTH' + - lang: Java + source: |- + OkHttpClient client = new OkHttpClient(); + + Request request = new Request.Builder() + .url("https://psrc-00000.region.provider.confluent.cloud/config/{subject}") + .delete(null) + .addHeader("Authorization", "Basic REPLACE_BASIC_AUTH") + .build(); + + Response response = client.newCall(request).execute(); + - lang: Go + source: "package main\n\nimport (\n\t\"fmt\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://psrc-00000.region.provider.confluent.cloud/config/{subject}\"\n\n\treq, _ := http.NewRequest(\"DELETE\", url, nil)\n\n\treq.Header.Add(\"Authorization\", \"Basic REPLACE_BASIC_AUTH\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}" + - lang: Python + source: |- + import http.client + + conn = http.client.HTTPSConnection("psrc-00000.region.provider.confluent.cloud") + + headers = { 'Authorization': "Basic REPLACE_BASIC_AUTH" } + + conn.request("DELETE", "/config/{subject}", headers=headers) + + res = conn.getresponse() + data = res.read() + + print(data.decode("utf-8")) + - lang: Node + source: |- + const http = require("https"); + + const options = { + "method": "DELETE", + "hostname": "psrc-00000.region.provider.confluent.cloud", + "port": null, + "path": "/config/{subject}", + "headers": { + "Authorization": "Basic REPLACE_BASIC_AUTH" + } + }; + + const req = http.request(options, function (res) { + const chunks = []; + + res.on("data", function (chunk) { + chunks.push(chunk); + }); + + res.on("end", function () { + const body = Buffer.concat(chunks); + console.log(body.toString()); + }); + }); + + req.end(); + - lang: C + source: |- + CURL *hnd = curl_easy_init(); + + curl_easy_setopt(hnd, CURLOPT_CUSTOMREQUEST, "DELETE"); + curl_easy_setopt(hnd, CURLOPT_URL, "https://psrc-00000.region.provider.confluent.cloud/config/{subject}"); + + struct curl_slist *headers = NULL; + headers = curl_slist_append(headers, "Authorization: Basic REPLACE_BASIC_AUTH"); + curl_easy_setopt(hnd, CURLOPT_HTTPHEADER, headers); + + CURLcode ret = curl_easy_perform(hnd); + - lang: C# + source: |- + var client = new RestClient("https://psrc-00000.region.provider.confluent.cloud/config/{subject}"); + var request = new RestRequest(Method.DELETE); + request.AddHeader("Authorization", "Basic REPLACE_BASIC_AUTH"); + IRestResponse response = client.Execute(request); + /config: + get: + tags: + - Config (v1) + summary: Get global compatibility level + description: |- + Retrieves the global compatibility level, compatibility group, + normalization, default metadata, and rule set. + operationId: getTopLevelConfig + responses: + '200': + description: The global compatibility level. + content: + application/vnd.schemaregistry.v1+json: + schema: + $ref: '#/components/schemas/Config' + application/vnd.schemaregistry+json; qs=0.9: + schema: + $ref: '#/components/schemas/Config' + application/json; qs=0.5: + schema: + $ref: '#/components/schemas/Config' + '400': + $ref: '#/components/responses/schemaregistry.v1.BadRequestError' + '401': + $ref: '#/components/responses/schemaregistry.v1.UnauthorizedError' + '403': + $ref: '#/components/responses/schemaregistry.v1.ForbiddenError' + '429': + $ref: '#/components/responses/RateLimitError' + '500': + description: Internal Server Error. Error code 50001 indicates a failure in the backend data store. + content: + application/vnd.schemaregistry.v1+json: + schema: + $ref: '#/components/schemas/ErrorMessage' + application/vnd.schemaregistry+json; qs=0.9: + schema: + $ref: '#/components/schemas/ErrorMessage' + application/json; qs=0.5: + schema: + $ref: '#/components/schemas/ErrorMessage' + security: + - resource-api-key: [] + - external-access-token: [] + x-codeSamples: + - lang: Shell + source: |- + curl --request GET \ + --url https://psrc-00000.region.provider.confluent.cloud/config \ + --header 'Authorization: Basic REPLACE_BASIC_AUTH' + - lang: Java + source: |- + OkHttpClient client = new OkHttpClient(); + + Request request = new Request.Builder() + .url("https://psrc-00000.region.provider.confluent.cloud/config") + .get() + .addHeader("Authorization", "Basic REPLACE_BASIC_AUTH") + .build(); + + Response response = client.newCall(request).execute(); + - lang: Go + source: "package main\n\nimport (\n\t\"fmt\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://psrc-00000.region.provider.confluent.cloud/config\"\n\n\treq, _ := http.NewRequest(\"GET\", url, nil)\n\n\treq.Header.Add(\"Authorization\", \"Basic REPLACE_BASIC_AUTH\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}" + - lang: Python + source: |- + import http.client + + conn = http.client.HTTPSConnection("psrc-00000.region.provider.confluent.cloud") + + headers = { 'Authorization': "Basic REPLACE_BASIC_AUTH" } + + conn.request("GET", "/config", headers=headers) + + res = conn.getresponse() + data = res.read() + + print(data.decode("utf-8")) + - lang: Node + source: |- + const http = require("https"); + + const options = { + "method": "GET", + "hostname": "psrc-00000.region.provider.confluent.cloud", + "port": null, + "path": "/config", + "headers": { + "Authorization": "Basic REPLACE_BASIC_AUTH" + } + }; + + const req = http.request(options, function (res) { + const chunks = []; + + res.on("data", function (chunk) { + chunks.push(chunk); + }); + + res.on("end", function () { + const body = Buffer.concat(chunks); + console.log(body.toString()); + }); + }); + + req.end(); + - lang: C + source: |- + CURL *hnd = curl_easy_init(); + + curl_easy_setopt(hnd, CURLOPT_CUSTOMREQUEST, "GET"); + curl_easy_setopt(hnd, CURLOPT_URL, "https://psrc-00000.region.provider.confluent.cloud/config"); + + struct curl_slist *headers = NULL; + headers = curl_slist_append(headers, "Authorization: Basic REPLACE_BASIC_AUTH"); + curl_easy_setopt(hnd, CURLOPT_HTTPHEADER, headers); + + CURLcode ret = curl_easy_perform(hnd); + - lang: C# + source: |- + var client = new RestClient("https://psrc-00000.region.provider.confluent.cloud/config"); + var request = new RestRequest(Method.GET); + request.AddHeader("Authorization", "Basic REPLACE_BASIC_AUTH"); + IRestResponse response = client.Execute(request); + put: + tags: + - Config (v1) + summary: Update global compatibility level + description: |- + Updates the global compatibility level, compatibility group, + schema normalization, default metadata, and rule set. On success, echoes the + original request back to the client. + operationId: updateTopLevelConfig + requestBody: + description: Config Update Request + content: + application/vnd.schemaregistry.v1+json: + schema: + $ref: '#/components/schemas/ConfigUpdateRequest' + application/vnd.schemaregistry+json: + schema: + $ref: '#/components/schemas/ConfigUpdateRequest' + application/json: + schema: + $ref: '#/components/schemas/ConfigUpdateRequest' + application/octet-stream: + schema: + $ref: '#/components/schemas/ConfigUpdateRequest' + required: true + responses: + '200': + description: The original request. + content: + application/vnd.schemaregistry.v1+json: + schema: + $ref: '#/components/schemas/ConfigUpdateRequest' + application/vnd.schemaregistry+json; qs=0.9: + schema: + $ref: '#/components/schemas/ConfigUpdateRequest' + application/json; qs=0.5: + schema: + $ref: '#/components/schemas/ConfigUpdateRequest' + '400': + $ref: '#/components/responses/schemaregistry.v1.BadRequestError' + '401': + $ref: '#/components/responses/schemaregistry.v1.UnauthorizedError' + '403': + $ref: '#/components/responses/schemaregistry.v1.ForbiddenError' + '422': + description: Unprocessable Entity. Error code 42203 indicates invalid compatibility level. + content: + application/vnd.schemaregistry.v1+json: + schema: + $ref: '#/components/schemas/ErrorMessage' + application/vnd.schemaregistry+json; qs=0.9: + schema: + $ref: '#/components/schemas/ErrorMessage' + application/json; qs=0.5: + schema: + $ref: '#/components/schemas/ErrorMessage' + '429': + $ref: '#/components/responses/RateLimitError' + '500': + description: Internal Server Error. Error code 50001 indicates a failure in the backend data store. Error code 50003 indicates a failure forwarding the request to the primary. + content: + application/vnd.schemaregistry.v1+json: + schema: + $ref: '#/components/schemas/ErrorMessage' + application/vnd.schemaregistry+json; qs=0.9: + schema: + $ref: '#/components/schemas/ErrorMessage' + application/json; qs=0.5: + schema: + $ref: '#/components/schemas/ErrorMessage' + security: + - resource-api-key: [] + - external-access-token: [] + x-codeSamples: + - lang: Shell + source: |- + curl --request PUT \ + --url https://psrc-00000.region.provider.confluent.cloud/config \ + --header 'Authorization: Basic REPLACE_BASIC_AUTH' \ + --header 'content-type: application/octet-stream' \ + --data '{"alias":"string","normalize":true,"compatibility":"FULL_TRANSITIVE","compatibilityGroup":"string","defaultMetadata":{"properties":{}},"overrideMetadata":{"properties":{}},"defaultRuleSet":{"properties":{}},"overrideRuleSet":{"properties":{}}}' + - lang: Java + source: |- + OkHttpClient client = new OkHttpClient(); + + MediaType mediaType = MediaType.parse("application/json"); + RequestBody body = RequestBody.create(mediaType, "{\"alias\":\"string\",\"normalize\":true,\"compatibility\":\"FULL_TRANSITIVE\",\"compatibilityGroup\":\"string\",\"defaultMetadata\":{\"properties\":{}},\"overrideMetadata\":{\"properties\":{}},\"defaultRuleSet\":{\"properties\":{}},\"overrideRuleSet\":{\"properties\":{}}}"); + Request request = new Request.Builder() + .url("https://psrc-00000.region.provider.confluent.cloud/config") + .put(body) + .addHeader("content-type", "application/octet-stream") + .addHeader("Authorization", "Basic REPLACE_BASIC_AUTH") + .build(); + + Response response = client.newCall(request).execute(); + - lang: Go + source: "package main\n\nimport (\n\t\"fmt\"\n\t\"strings\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://psrc-00000.region.provider.confluent.cloud/config\"\n\n\tpayload := strings.NewReader(\"{\\\"alias\\\":\\\"string\\\",\\\"normalize\\\":true,\\\"compatibility\\\":\\\"FULL_TRANSITIVE\\\",\\\"compatibilityGroup\\\":\\\"string\\\",\\\"defaultMetadata\\\":{\\\"properties\\\":{}},\\\"overrideMetadata\\\":{\\\"properties\\\":{}},\\\"defaultRuleSet\\\":{\\\"properties\\\":{}},\\\"overrideRuleSet\\\":{\\\"properties\\\":{}}}\")\n\n\treq, _ := http.NewRequest(\"PUT\", url, payload)\n\n\treq.Header.Add(\"content-type\", \"application/octet-stream\")\n\treq.Header.Add(\"Authorization\", \"Basic REPLACE_BASIC_AUTH\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}" + - lang: Python + source: |- + import http.client + + conn = http.client.HTTPSConnection("psrc-00000.region.provider.confluent.cloud") + + payload = "{\"alias\":\"string\",\"normalize\":true,\"compatibility\":\"FULL_TRANSITIVE\",\"compatibilityGroup\":\"string\",\"defaultMetadata\":{\"properties\":{}},\"overrideMetadata\":{\"properties\":{}},\"defaultRuleSet\":{\"properties\":{}},\"overrideRuleSet\":{\"properties\":{}}}" + + headers = { + 'content-type': "application/octet-stream", + 'Authorization': "Basic REPLACE_BASIC_AUTH" + } + + conn.request("PUT", "/config", payload, headers) + + res = conn.getresponse() + data = res.read() + + print(data.decode("utf-8")) + - lang: Node + source: |- + const http = require("https"); + + const options = { + "method": "PUT", + "hostname": "psrc-00000.region.provider.confluent.cloud", + "port": null, + "path": "/config", + "headers": { + "content-type": "application/octet-stream", + "Authorization": "Basic REPLACE_BASIC_AUTH" + } + }; + + const req = http.request(options, function (res) { + const chunks = []; + + res.on("data", function (chunk) { + chunks.push(chunk); + }); + + res.on("end", function () { + const body = Buffer.concat(chunks); + console.log(body.toString()); + }); + }); + + req.write(JSON.stringify({ + alias: 'string', + normalize: true, + compatibility: 'FULL_TRANSITIVE', + compatibilityGroup: 'string', + defaultMetadata: {properties: {}}, + overrideMetadata: {properties: {}}, + defaultRuleSet: {properties: {}}, + overrideRuleSet: {properties: {}} + })); + req.end(); + - lang: C + source: |- + CURL *hnd = curl_easy_init(); + + curl_easy_setopt(hnd, CURLOPT_CUSTOMREQUEST, "PUT"); + curl_easy_setopt(hnd, CURLOPT_URL, "https://psrc-00000.region.provider.confluent.cloud/config"); + + struct curl_slist *headers = NULL; + headers = curl_slist_append(headers, "content-type: application/octet-stream"); + headers = curl_slist_append(headers, "Authorization: Basic REPLACE_BASIC_AUTH"); + curl_easy_setopt(hnd, CURLOPT_HTTPHEADER, headers); + + curl_easy_setopt(hnd, CURLOPT_POSTFIELDS, "{\"alias\":\"string\",\"normalize\":true,\"compatibility\":\"FULL_TRANSITIVE\",\"compatibilityGroup\":\"string\",\"defaultMetadata\":{\"properties\":{}},\"overrideMetadata\":{\"properties\":{}},\"defaultRuleSet\":{\"properties\":{}},\"overrideRuleSet\":{\"properties\":{}}}"); + + CURLcode ret = curl_easy_perform(hnd); + - lang: C# + source: |- + var client = new RestClient("https://psrc-00000.region.provider.confluent.cloud/config"); + var request = new RestRequest(Method.PUT); + request.AddHeader("content-type", "application/octet-stream"); + request.AddHeader("Authorization", "Basic REPLACE_BASIC_AUTH"); + request.AddParameter("application/octet-stream", "{\"alias\":\"string\",\"normalize\":true,\"compatibility\":\"FULL_TRANSITIVE\",\"compatibilityGroup\":\"string\",\"defaultMetadata\":{\"properties\":{}},\"overrideMetadata\":{\"properties\":{}},\"defaultRuleSet\":{\"properties\":{}},\"overrideRuleSet\":{\"properties\":{}}}", ParameterType.RequestBody); + IRestResponse response = client.Execute(request); + delete: + tags: + - Config (v1) + summary: Delete global compatibility level + description: Deletes the global compatibility level config and reverts to the default. + operationId: deleteTopLevelConfig + responses: + '200': + description: Operation succeeded. Returns old global compatibility level. + content: + application/vnd.schemaregistry.v1+json: + schema: + type: string + x-extensible-enum: + - NONE + - BACKWARD + - BACKWARD_TRANSITIVE + - FORWARD + - FORWARD_TRANSITIVE + - FULL + - FULL_TRANSITIVE + example: FULL_TRANSITIVE + application/vnd.schemaregistry+json; qs=0.9: + schema: + type: string + x-extensible-enum: + - NONE + - BACKWARD + - BACKWARD_TRANSITIVE + - FORWARD + - FORWARD_TRANSITIVE + - FULL + - FULL_TRANSITIVE + example: FULL_TRANSITIVE + application/json; qs=0.5: + schema: + type: string + x-extensible-enum: + - NONE + - BACKWARD + - BACKWARD_TRANSITIVE + - FORWARD + - FORWARD_TRANSITIVE + - FULL + - FULL_TRANSITIVE + example: FULL_TRANSITIVE + '400': + $ref: '#/components/responses/schemaregistry.v1.BadRequestError' + '401': + $ref: '#/components/responses/schemaregistry.v1.UnauthorizedError' + '403': + $ref: '#/components/responses/schemaregistry.v1.ForbiddenError' + '429': + $ref: '#/components/responses/RateLimitError' + '500': + description: Internal Server Error. Error code 50001 indicates a failure in the backend data store. + content: + application/vnd.schemaregistry.v1+json: + schema: + $ref: '#/components/schemas/ErrorMessage' + application/vnd.schemaregistry+json; qs=0.9: + schema: + $ref: '#/components/schemas/ErrorMessage' + application/json; qs=0.5: + schema: + $ref: '#/components/schemas/ErrorMessage' + security: + - resource-api-key: [] + - external-access-token: [] + x-codeSamples: + - lang: Shell + source: |- + curl --request DELETE \ + --url https://psrc-00000.region.provider.confluent.cloud/config \ + --header 'Authorization: Basic REPLACE_BASIC_AUTH' + - lang: Java + source: |- + OkHttpClient client = new OkHttpClient(); + + Request request = new Request.Builder() + .url("https://psrc-00000.region.provider.confluent.cloud/config") + .delete(null) + .addHeader("Authorization", "Basic REPLACE_BASIC_AUTH") + .build(); + + Response response = client.newCall(request).execute(); + - lang: Go + source: "package main\n\nimport (\n\t\"fmt\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://psrc-00000.region.provider.confluent.cloud/config\"\n\n\treq, _ := http.NewRequest(\"DELETE\", url, nil)\n\n\treq.Header.Add(\"Authorization\", \"Basic REPLACE_BASIC_AUTH\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}" + - lang: Python + source: |- + import http.client + + conn = http.client.HTTPSConnection("psrc-00000.region.provider.confluent.cloud") + + headers = { 'Authorization': "Basic REPLACE_BASIC_AUTH" } + + conn.request("DELETE", "/config", headers=headers) + + res = conn.getresponse() + data = res.read() + + print(data.decode("utf-8")) + - lang: Node + source: |- + const http = require("https"); + + const options = { + "method": "DELETE", + "hostname": "psrc-00000.region.provider.confluent.cloud", + "port": null, + "path": "/config", + "headers": { + "Authorization": "Basic REPLACE_BASIC_AUTH" + } + }; + + const req = http.request(options, function (res) { + const chunks = []; + + res.on("data", function (chunk) { + chunks.push(chunk); + }); + + res.on("end", function () { + const body = Buffer.concat(chunks); + console.log(body.toString()); + }); + }); + + req.end(); + - lang: C + source: |- + CURL *hnd = curl_easy_init(); + + curl_easy_setopt(hnd, CURLOPT_CUSTOMREQUEST, "DELETE"); + curl_easy_setopt(hnd, CURLOPT_URL, "https://psrc-00000.region.provider.confluent.cloud/config"); + + struct curl_slist *headers = NULL; + headers = curl_slist_append(headers, "Authorization: Basic REPLACE_BASIC_AUTH"); + curl_easy_setopt(hnd, CURLOPT_HTTPHEADER, headers); + + CURLcode ret = curl_easy_perform(hnd); + - lang: C# + source: |- + var client = new RestClient("https://psrc-00000.region.provider.confluent.cloud/config"); + var request = new RestRequest(Method.DELETE); + request.AddHeader("Authorization", "Basic REPLACE_BASIC_AUTH"); + IRestResponse response = client.Execute(request); + /exporters: + get: + tags: + - Exporters (v1) + summary: Gets all schema exporters + description: Retrieves a list of schema exporters that have been created. + operationId: listExporters + responses: + '200': + description: Name of the exporter + content: + application/vnd.schemaregistry.v1+json: + schema: + type: array + items: + type: string + example: '["exporter1", "exporter2"]' + '400': + $ref: '#/components/responses/schemaregistry.v1.BadRequestError' + '401': + $ref: '#/components/responses/schemaregistry.v1.UnauthorizedError' + '403': + $ref: '#/components/responses/schemaregistry.v1.ForbiddenError' + '429': + $ref: '#/components/responses/RateLimitError' + '500': + $ref: '#/components/responses/schemaregistry.v1.DefaultSystemError' + security: + - resource-api-key: [] + - external-access-token: [] + x-codeSamples: + - lang: Shell + source: |- + curl --request GET \ + --url https://psrc-00000.region.provider.confluent.cloud/exporters \ + --header 'Authorization: Basic REPLACE_BASIC_AUTH' + - lang: Java + source: |- + OkHttpClient client = new OkHttpClient(); + + Request request = new Request.Builder() + .url("https://psrc-00000.region.provider.confluent.cloud/exporters") + .get() + .addHeader("Authorization", "Basic REPLACE_BASIC_AUTH") + .build(); + + Response response = client.newCall(request).execute(); + - lang: Go + source: "package main\n\nimport (\n\t\"fmt\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://psrc-00000.region.provider.confluent.cloud/exporters\"\n\n\treq, _ := http.NewRequest(\"GET\", url, nil)\n\n\treq.Header.Add(\"Authorization\", \"Basic REPLACE_BASIC_AUTH\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}" + - lang: Python + source: |- + import http.client + + conn = http.client.HTTPSConnection("psrc-00000.region.provider.confluent.cloud") + + headers = { 'Authorization': "Basic REPLACE_BASIC_AUTH" } + + conn.request("GET", "/exporters", headers=headers) + + res = conn.getresponse() + data = res.read() + + print(data.decode("utf-8")) + - lang: Node + source: |- + const http = require("https"); + + const options = { + "method": "GET", + "hostname": "psrc-00000.region.provider.confluent.cloud", + "port": null, + "path": "/exporters", + "headers": { + "Authorization": "Basic REPLACE_BASIC_AUTH" + } + }; + + const req = http.request(options, function (res) { + const chunks = []; + + res.on("data", function (chunk) { + chunks.push(chunk); + }); + + res.on("end", function () { + const body = Buffer.concat(chunks); + console.log(body.toString()); + }); + }); + + req.end(); + - lang: C + source: |- + CURL *hnd = curl_easy_init(); + + curl_easy_setopt(hnd, CURLOPT_CUSTOMREQUEST, "GET"); + curl_easy_setopt(hnd, CURLOPT_URL, "https://psrc-00000.region.provider.confluent.cloud/exporters"); + + struct curl_slist *headers = NULL; + headers = curl_slist_append(headers, "Authorization: Basic REPLACE_BASIC_AUTH"); + curl_easy_setopt(hnd, CURLOPT_HTTPHEADER, headers); + + CURLcode ret = curl_easy_perform(hnd); + - lang: C# + source: |- + var client = new RestClient("https://psrc-00000.region.provider.confluent.cloud/exporters"); + var request = new RestRequest(Method.GET); + request.AddHeader("Authorization", "Basic REPLACE_BASIC_AUTH"); + IRestResponse response = client.Execute(request); + post: + tags: + - Exporters (v1) + summary: Creates a new schema exporter + description: Creates a new schema exporter. All attributes in request body are optional except config. + operationId: registerExporter + requestBody: + description: Schema + content: + application/vnd.schemaregistry.v1+json: + schema: + $ref: '#/components/schemas/ExporterReference' + application/vnd.schemaregistry+json: + schema: + $ref: '#/components/schemas/ExporterReference' + application/json: + schema: + $ref: '#/components/schemas/ExporterReference' + required: true + responses: + '200': + description: Schema successfully registered. + content: + application/json; qs=0.5: + schema: + $ref: '#/components/schemas/ExporterResponse' + '400': + $ref: '#/components/responses/schemaregistry.v1.BadRequestError' + '401': + $ref: '#/components/responses/schemaregistry.v1.UnauthorizedError' + '403': + $ref: '#/components/responses/schemaregistry.v1.ForbiddenError' + '409': + description: Conflict. Error code 40950 – Missing or invalid exporter name \ Error code 40951 – Missing or invalid exporter config \ Error code 40952 – Invalid exporter subjects \ Error code 40960 – Exporter already exists \ Error code 40964 – Too many exporters + content: + application/vnd.schemaregistry.v1+json: + schema: + $ref: '#/components/schemas/ErrorMessage' + application/vnd.schemaregistry+json; qs=0.9: + schema: + $ref: '#/components/schemas/ErrorMessage' + application/json; qs=0.5: + schema: + $ref: '#/components/schemas/ErrorMessage' + '429': + $ref: '#/components/responses/RateLimitError' + '500': + $ref: '#/components/responses/schemaregistry.v1.DefaultSystemError' + security: + - resource-api-key: [] + - external-access-token: [] + x-codeSamples: + - lang: Shell + source: |- + curl --request POST \ + --url https://psrc-00000.region.provider.confluent.cloud/exporters \ + --header 'Authorization: Basic REPLACE_BASIC_AUTH' \ + --header 'content-type: application/json' \ + --data '{"name":"test-exporter","contextType":"CUSTOM","context":"User","subjects":["string"],"subjectRenameFormat":"string","config":{"property1":"string","property2":"string"}}' + - lang: Java + source: |- + OkHttpClient client = new OkHttpClient(); + + MediaType mediaType = MediaType.parse("application/json"); + RequestBody body = RequestBody.create(mediaType, "{\"name\":\"test-exporter\",\"contextType\":\"CUSTOM\",\"context\":\"User\",\"subjects\":[\"string\"],\"subjectRenameFormat\":\"string\",\"config\":{\"property1\":\"string\",\"property2\":\"string\"}}"); + Request request = new Request.Builder() + .url("https://psrc-00000.region.provider.confluent.cloud/exporters") + .post(body) + .addHeader("content-type", "application/json") + .addHeader("Authorization", "Basic REPLACE_BASIC_AUTH") + .build(); + + Response response = client.newCall(request).execute(); + - lang: Go + source: "package main\n\nimport (\n\t\"fmt\"\n\t\"strings\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://psrc-00000.region.provider.confluent.cloud/exporters\"\n\n\tpayload := strings.NewReader(\"{\\\"name\\\":\\\"test-exporter\\\",\\\"contextType\\\":\\\"CUSTOM\\\",\\\"context\\\":\\\"User\\\",\\\"subjects\\\":[\\\"string\\\"],\\\"subjectRenameFormat\\\":\\\"string\\\",\\\"config\\\":{\\\"property1\\\":\\\"string\\\",\\\"property2\\\":\\\"string\\\"}}\")\n\n\treq, _ := http.NewRequest(\"POST\", url, payload)\n\n\treq.Header.Add(\"content-type\", \"application/json\")\n\treq.Header.Add(\"Authorization\", \"Basic REPLACE_BASIC_AUTH\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}" + - lang: Python + source: |- + import http.client + + conn = http.client.HTTPSConnection("psrc-00000.region.provider.confluent.cloud") + + payload = "{\"name\":\"test-exporter\",\"contextType\":\"CUSTOM\",\"context\":\"User\",\"subjects\":[\"string\"],\"subjectRenameFormat\":\"string\",\"config\":{\"property1\":\"string\",\"property2\":\"string\"}}" + + headers = { + 'content-type': "application/json", + 'Authorization': "Basic REPLACE_BASIC_AUTH" + } + + conn.request("POST", "/exporters", payload, headers) + + res = conn.getresponse() + data = res.read() + + print(data.decode("utf-8")) + - lang: Node + source: |- + const http = require("https"); + + const options = { + "method": "POST", + "hostname": "psrc-00000.region.provider.confluent.cloud", + "port": null, + "path": "/exporters", + "headers": { + "content-type": "application/json", + "Authorization": "Basic REPLACE_BASIC_AUTH" + } + }; + + const req = http.request(options, function (res) { + const chunks = []; + + res.on("data", function (chunk) { + chunks.push(chunk); + }); + + res.on("end", function () { + const body = Buffer.concat(chunks); + console.log(body.toString()); + }); + }); + + req.write(JSON.stringify({ + name: 'test-exporter', + contextType: 'CUSTOM', + context: 'User', + subjects: ['string'], + subjectRenameFormat: 'string', + config: {property1: 'string', property2: 'string'} + })); + req.end(); + - lang: C + source: |- + CURL *hnd = curl_easy_init(); + + curl_easy_setopt(hnd, CURLOPT_CUSTOMREQUEST, "POST"); + curl_easy_setopt(hnd, CURLOPT_URL, "https://psrc-00000.region.provider.confluent.cloud/exporters"); + + struct curl_slist *headers = NULL; + headers = curl_slist_append(headers, "content-type: application/json"); + headers = curl_slist_append(headers, "Authorization: Basic REPLACE_BASIC_AUTH"); + curl_easy_setopt(hnd, CURLOPT_HTTPHEADER, headers); + + curl_easy_setopt(hnd, CURLOPT_POSTFIELDS, "{\"name\":\"test-exporter\",\"contextType\":\"CUSTOM\",\"context\":\"User\",\"subjects\":[\"string\"],\"subjectRenameFormat\":\"string\",\"config\":{\"property1\":\"string\",\"property2\":\"string\"}}"); + + CURLcode ret = curl_easy_perform(hnd); + - lang: C# + source: |- + var client = new RestClient("https://psrc-00000.region.provider.confluent.cloud/exporters"); + var request = new RestRequest(Method.POST); + request.AddHeader("content-type", "application/json"); + request.AddHeader("Authorization", "Basic REPLACE_BASIC_AUTH"); + request.AddParameter("application/json", "{\"name\":\"test-exporter\",\"contextType\":\"CUSTOM\",\"context\":\"User\",\"subjects\":[\"string\"],\"subjectRenameFormat\":\"string\",\"config\":{\"property1\":\"string\",\"property2\":\"string\"}}", ParameterType.RequestBody); + IRestResponse response = client.Execute(request); + '/exporters/{name}': + get: + tags: + - Exporters (v1) + summary: Gets schema exporter by name + description: Retrieves the information of the schema exporter. + operationId: getExporterInfoByName + parameters: + - name: name + in: path + description: Name of the exporter + required: true + schema: + type: string + responses: + '200': + description: The original request. + content: + application/vnd.schemaregistry.v1+json: + schema: + $ref: '#/components/schemas/ExporterReference' + '400': + $ref: '#/components/responses/schemaregistry.v1.BadRequestError' + '401': + $ref: '#/components/responses/schemaregistry.v1.UnauthorizedError' + '403': + $ref: '#/components/responses/schemaregistry.v1.ForbiddenError' + '404': + description: Not Found. Error code 40450 – Exporter not found + content: + application/vnd.schemaregistry.v1+json: + schema: + $ref: '#/components/schemas/ErrorMessage' + '429': + $ref: '#/components/responses/RateLimitError' + '500': + $ref: '#/components/responses/schemaregistry.v1.DefaultSystemError' + security: + - resource-api-key: [] + - external-access-token: [] + x-codeSamples: + - lang: Shell + source: |- + curl --request GET \ + --url 'https://psrc-00000.region.provider.confluent.cloud/exporters/{name}' \ + --header 'Authorization: Basic REPLACE_BASIC_AUTH' + - lang: Java + source: |- + OkHttpClient client = new OkHttpClient(); + + Request request = new Request.Builder() + .url("https://psrc-00000.region.provider.confluent.cloud/exporters/{name}") + .get() + .addHeader("Authorization", "Basic REPLACE_BASIC_AUTH") + .build(); + + Response response = client.newCall(request).execute(); + - lang: Go + source: "package main\n\nimport (\n\t\"fmt\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://psrc-00000.region.provider.confluent.cloud/exporters/{name}\"\n\n\treq, _ := http.NewRequest(\"GET\", url, nil)\n\n\treq.Header.Add(\"Authorization\", \"Basic REPLACE_BASIC_AUTH\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}" + - lang: Python + source: |- + import http.client + + conn = http.client.HTTPSConnection("psrc-00000.region.provider.confluent.cloud") + + headers = { 'Authorization': "Basic REPLACE_BASIC_AUTH" } + + conn.request("GET", "/exporters/{name}", headers=headers) + + res = conn.getresponse() + data = res.read() + + print(data.decode("utf-8")) + - lang: Node + source: |- + const http = require("https"); + + const options = { + "method": "GET", + "hostname": "psrc-00000.region.provider.confluent.cloud", + "port": null, + "path": "/exporters/{name}", + "headers": { + "Authorization": "Basic REPLACE_BASIC_AUTH" + } + }; + + const req = http.request(options, function (res) { + const chunks = []; + + res.on("data", function (chunk) { + chunks.push(chunk); + }); + + res.on("end", function () { + const body = Buffer.concat(chunks); + console.log(body.toString()); + }); + }); + + req.end(); + - lang: C + source: |- + CURL *hnd = curl_easy_init(); + + curl_easy_setopt(hnd, CURLOPT_CUSTOMREQUEST, "GET"); + curl_easy_setopt(hnd, CURLOPT_URL, "https://psrc-00000.region.provider.confluent.cloud/exporters/{name}"); + + struct curl_slist *headers = NULL; + headers = curl_slist_append(headers, "Authorization: Basic REPLACE_BASIC_AUTH"); + curl_easy_setopt(hnd, CURLOPT_HTTPHEADER, headers); + + CURLcode ret = curl_easy_perform(hnd); + - lang: C# + source: |- + var client = new RestClient("https://psrc-00000.region.provider.confluent.cloud/exporters/{name}"); + var request = new RestRequest(Method.GET); + request.AddHeader("Authorization", "Basic REPLACE_BASIC_AUTH"); + IRestResponse response = client.Execute(request); + put: + tags: + - Exporters (v1) + summary: Update schema exporter by name + description: Updates the information or configurations of the schema exporter. All attributes in request body are optional. + operationId: updateExporterInfo + parameters: + - name: name + in: path + description: Name of the exporter + required: true + schema: + type: string + requestBody: + description: Exporter Update Request + content: + application/vnd.schemaregistry.v1+json: + schema: + $ref: '#/components/schemas/ExporterUpdateRequest' + application/vnd.schemaregistry+json: + schema: + $ref: '#/components/schemas/ExporterUpdateRequest' + application/json: + schema: + $ref: '#/components/schemas/ExporterUpdateRequest' + required: true + responses: + '200': + description: The original request. + content: + application/vnd.schemaregistry.v1+json: + schema: + $ref: '#/components/schemas/ExporterResponse' + '400': + $ref: '#/components/responses/schemaregistry.v1.BadRequestError' + '401': + $ref: '#/components/responses/schemaregistry.v1.UnauthorizedError' + '403': + $ref: '#/components/responses/schemaregistry.v1.ForbiddenError' + '404': + description: Not Found. Error code 40401 indicates subject not found. + content: + application/vnd.schemaregistry.v1+json: + schema: + $ref: '#/components/schemas/ErrorMessage' + '409': + description: Invalid. Error code 40952 – Invalid exporter subjects. Error code 40963 – Exporter not paused. + content: + application/vnd.schemaregistry.v1+json: + schema: + $ref: '#/components/schemas/ErrorMessage' + '429': + $ref: '#/components/responses/RateLimitError' + '500': + $ref: '#/components/responses/schemaregistry.v1.DefaultSystemError' + security: + - resource-api-key: [] + - external-access-token: [] + x-codeSamples: + - lang: Shell + source: |- + curl --request PUT \ + --url 'https://psrc-00000.region.provider.confluent.cloud/exporters/{name}' \ + --header 'Authorization: Basic REPLACE_BASIC_AUTH' \ + --header 'content-type: application/json' \ + --data '{"contextType":"CUSTOM","context":"User","subjects":["string"],"subjectRenameFormat":"string","config":{"property1":"string","property2":"string"}}' + - lang: Java + source: |- + OkHttpClient client = new OkHttpClient(); + + MediaType mediaType = MediaType.parse("application/json"); + RequestBody body = RequestBody.create(mediaType, "{\"contextType\":\"CUSTOM\",\"context\":\"User\",\"subjects\":[\"string\"],\"subjectRenameFormat\":\"string\",\"config\":{\"property1\":\"string\",\"property2\":\"string\"}}"); + Request request = new Request.Builder() + .url("https://psrc-00000.region.provider.confluent.cloud/exporters/{name}") + .put(body) + .addHeader("content-type", "application/json") + .addHeader("Authorization", "Basic REPLACE_BASIC_AUTH") + .build(); + + Response response = client.newCall(request).execute(); + - lang: Go + source: "package main\n\nimport (\n\t\"fmt\"\n\t\"strings\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://psrc-00000.region.provider.confluent.cloud/exporters/{name}\"\n\n\tpayload := strings.NewReader(\"{\\\"contextType\\\":\\\"CUSTOM\\\",\\\"context\\\":\\\"User\\\",\\\"subjects\\\":[\\\"string\\\"],\\\"subjectRenameFormat\\\":\\\"string\\\",\\\"config\\\":{\\\"property1\\\":\\\"string\\\",\\\"property2\\\":\\\"string\\\"}}\")\n\n\treq, _ := http.NewRequest(\"PUT\", url, payload)\n\n\treq.Header.Add(\"content-type\", \"application/json\")\n\treq.Header.Add(\"Authorization\", \"Basic REPLACE_BASIC_AUTH\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}" + - lang: Python + source: |- + import http.client + + conn = http.client.HTTPSConnection("psrc-00000.region.provider.confluent.cloud") + + payload = "{\"contextType\":\"CUSTOM\",\"context\":\"User\",\"subjects\":[\"string\"],\"subjectRenameFormat\":\"string\",\"config\":{\"property1\":\"string\",\"property2\":\"string\"}}" + + headers = { + 'content-type': "application/json", + 'Authorization': "Basic REPLACE_BASIC_AUTH" + } + + conn.request("PUT", "/exporters/{name}", payload, headers) + + res = conn.getresponse() + data = res.read() + + print(data.decode("utf-8")) + - lang: Node + source: |- + const http = require("https"); + + const options = { + "method": "PUT", + "hostname": "psrc-00000.region.provider.confluent.cloud", + "port": null, + "path": "/exporters/{name}", + "headers": { + "content-type": "application/json", + "Authorization": "Basic REPLACE_BASIC_AUTH" + } + }; + + const req = http.request(options, function (res) { + const chunks = []; + + res.on("data", function (chunk) { + chunks.push(chunk); + }); + + res.on("end", function () { + const body = Buffer.concat(chunks); + console.log(body.toString()); + }); + }); + + req.write(JSON.stringify({ + contextType: 'CUSTOM', + context: 'User', + subjects: ['string'], + subjectRenameFormat: 'string', + config: {property1: 'string', property2: 'string'} + })); + req.end(); + - lang: C + source: |- + CURL *hnd = curl_easy_init(); + + curl_easy_setopt(hnd, CURLOPT_CUSTOMREQUEST, "PUT"); + curl_easy_setopt(hnd, CURLOPT_URL, "https://psrc-00000.region.provider.confluent.cloud/exporters/{name}"); + + struct curl_slist *headers = NULL; + headers = curl_slist_append(headers, "content-type: application/json"); + headers = curl_slist_append(headers, "Authorization: Basic REPLACE_BASIC_AUTH"); + curl_easy_setopt(hnd, CURLOPT_HTTPHEADER, headers); + + curl_easy_setopt(hnd, CURLOPT_POSTFIELDS, "{\"contextType\":\"CUSTOM\",\"context\":\"User\",\"subjects\":[\"string\"],\"subjectRenameFormat\":\"string\",\"config\":{\"property1\":\"string\",\"property2\":\"string\"}}"); + + CURLcode ret = curl_easy_perform(hnd); + - lang: C# + source: |- + var client = new RestClient("https://psrc-00000.region.provider.confluent.cloud/exporters/{name}"); + var request = new RestRequest(Method.PUT); + request.AddHeader("content-type", "application/json"); + request.AddHeader("Authorization", "Basic REPLACE_BASIC_AUTH"); + request.AddParameter("application/json", "{\"contextType\":\"CUSTOM\",\"context\":\"User\",\"subjects\":[\"string\"],\"subjectRenameFormat\":\"string\",\"config\":{\"property1\":\"string\",\"property2\":\"string\"}}", ParameterType.RequestBody); + IRestResponse response = client.Execute(request); + delete: + tags: + - Exporters (v1) + summary: Delete schema exporter by name + description: Deletes the schema exporter. + operationId: deleteExporter + parameters: + - name: name + in: path + description: Name of the exporter + required: true + schema: + type: string + responses: + '204': + description: No content. + '400': + $ref: '#/components/responses/schemaregistry.v1.BadRequestError' + '401': + $ref: '#/components/responses/schemaregistry.v1.UnauthorizedError' + '403': + $ref: '#/components/responses/schemaregistry.v1.ForbiddenError' + '404': + $ref: '#/components/responses/schemaregistry.v1.AccountNotFoundError' + '429': + $ref: '#/components/responses/RateLimitError' + '500': + $ref: '#/components/responses/schemaregistry.v1.DefaultSystemError' + security: + - resource-api-key: [] + - external-access-token: [] + x-codeSamples: + - lang: Shell + source: |- + curl --request DELETE \ + --url 'https://psrc-00000.region.provider.confluent.cloud/exporters/{name}' \ + --header 'Authorization: Basic REPLACE_BASIC_AUTH' + - lang: Java + source: |- + OkHttpClient client = new OkHttpClient(); + + Request request = new Request.Builder() + .url("https://psrc-00000.region.provider.confluent.cloud/exporters/{name}") + .delete(null) + .addHeader("Authorization", "Basic REPLACE_BASIC_AUTH") + .build(); + + Response response = client.newCall(request).execute(); + - lang: Go + source: "package main\n\nimport (\n\t\"fmt\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://psrc-00000.region.provider.confluent.cloud/exporters/{name}\"\n\n\treq, _ := http.NewRequest(\"DELETE\", url, nil)\n\n\treq.Header.Add(\"Authorization\", \"Basic REPLACE_BASIC_AUTH\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}" + - lang: Python + source: |- + import http.client + + conn = http.client.HTTPSConnection("psrc-00000.region.provider.confluent.cloud") + + headers = { 'Authorization': "Basic REPLACE_BASIC_AUTH" } + + conn.request("DELETE", "/exporters/{name}", headers=headers) + + res = conn.getresponse() + data = res.read() + + print(data.decode("utf-8")) + - lang: Node + source: |- + const http = require("https"); + + const options = { + "method": "DELETE", + "hostname": "psrc-00000.region.provider.confluent.cloud", + "port": null, + "path": "/exporters/{name}", + "headers": { + "Authorization": "Basic REPLACE_BASIC_AUTH" + } + }; + + const req = http.request(options, function (res) { + const chunks = []; + + res.on("data", function (chunk) { + chunks.push(chunk); + }); + + res.on("end", function () { + const body = Buffer.concat(chunks); + console.log(body.toString()); + }); + }); + + req.end(); + - lang: C + source: |- + CURL *hnd = curl_easy_init(); + + curl_easy_setopt(hnd, CURLOPT_CUSTOMREQUEST, "DELETE"); + curl_easy_setopt(hnd, CURLOPT_URL, "https://psrc-00000.region.provider.confluent.cloud/exporters/{name}"); + + struct curl_slist *headers = NULL; + headers = curl_slist_append(headers, "Authorization: Basic REPLACE_BASIC_AUTH"); + curl_easy_setopt(hnd, CURLOPT_HTTPHEADER, headers); + + CURLcode ret = curl_easy_perform(hnd); + - lang: C# + source: |- + var client = new RestClient("https://psrc-00000.region.provider.confluent.cloud/exporters/{name}"); + var request = new RestRequest(Method.DELETE); + request.AddHeader("Authorization", "Basic REPLACE_BASIC_AUTH"); + IRestResponse response = client.Execute(request); + '/exporters/{name}/status': + get: + tags: + - Exporters (v1) + summary: Gets schema exporter status by name + description: Retrieves the status of the schema exporter. + operationId: getExporterStatusByName + parameters: + - name: name + in: path + description: Name of the exporter + required: true + schema: + type: string + responses: + '200': + description: The original request. + content: + application/vnd.schemaregistry.v1+json: + schema: + $ref: '#/components/schemas/ExporterStatusResponse' + '400': + $ref: '#/components/responses/schemaregistry.v1.BadRequestError' + '401': + $ref: '#/components/responses/schemaregistry.v1.UnauthorizedError' + '403': + $ref: '#/components/responses/schemaregistry.v1.ForbiddenError' + '404': + description: Not Found. Error code 40450 – Exporter not found + content: + application/vnd.schemaregistry.v1+json: + schema: + $ref: '#/components/schemas/ErrorMessage' + '429': + $ref: '#/components/responses/RateLimitError' + '500': + $ref: '#/components/responses/schemaregistry.v1.DefaultSystemError' + security: + - resource-api-key: [] + - external-access-token: [] + x-codeSamples: + - lang: Shell + source: |- + curl --request GET \ + --url 'https://psrc-00000.region.provider.confluent.cloud/exporters/{name}/status' \ + --header 'Authorization: Basic REPLACE_BASIC_AUTH' + - lang: Java + source: |- + OkHttpClient client = new OkHttpClient(); + + Request request = new Request.Builder() + .url("https://psrc-00000.region.provider.confluent.cloud/exporters/{name}/status") + .get() + .addHeader("Authorization", "Basic REPLACE_BASIC_AUTH") + .build(); + + Response response = client.newCall(request).execute(); + - lang: Go + source: "package main\n\nimport (\n\t\"fmt\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://psrc-00000.region.provider.confluent.cloud/exporters/{name}/status\"\n\n\treq, _ := http.NewRequest(\"GET\", url, nil)\n\n\treq.Header.Add(\"Authorization\", \"Basic REPLACE_BASIC_AUTH\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}" + - lang: Python + source: |- + import http.client + + conn = http.client.HTTPSConnection("psrc-00000.region.provider.confluent.cloud") + + headers = { 'Authorization': "Basic REPLACE_BASIC_AUTH" } + + conn.request("GET", "/exporters/{name}/status", headers=headers) + + res = conn.getresponse() + data = res.read() + + print(data.decode("utf-8")) + - lang: Node + source: |- + const http = require("https"); + + const options = { + "method": "GET", + "hostname": "psrc-00000.region.provider.confluent.cloud", + "port": null, + "path": "/exporters/{name}/status", + "headers": { + "Authorization": "Basic REPLACE_BASIC_AUTH" + } + }; + + const req = http.request(options, function (res) { + const chunks = []; + + res.on("data", function (chunk) { + chunks.push(chunk); + }); + + res.on("end", function () { + const body = Buffer.concat(chunks); + console.log(body.toString()); + }); + }); + + req.end(); + - lang: C + source: |- + CURL *hnd = curl_easy_init(); + + curl_easy_setopt(hnd, CURLOPT_CUSTOMREQUEST, "GET"); + curl_easy_setopt(hnd, CURLOPT_URL, "https://psrc-00000.region.provider.confluent.cloud/exporters/{name}/status"); + + struct curl_slist *headers = NULL; + headers = curl_slist_append(headers, "Authorization: Basic REPLACE_BASIC_AUTH"); + curl_easy_setopt(hnd, CURLOPT_HTTPHEADER, headers); + + CURLcode ret = curl_easy_perform(hnd); + - lang: C# + source: |- + var client = new RestClient("https://psrc-00000.region.provider.confluent.cloud/exporters/{name}/status"); + var request = new RestRequest(Method.GET); + request.AddHeader("Authorization", "Basic REPLACE_BASIC_AUTH"); + IRestResponse response = client.Execute(request); + '/exporters/{name}/config': + get: + tags: + - Exporters (v1) + summary: Gets schema exporter config by name + description: Retrieves the config of the schema exporter. + operationId: getExporterConfigByName + parameters: + - name: name + in: path + description: Name of the exporter + required: true + schema: + type: string + responses: + '200': + description: The original request + content: + application/vnd.schemaregistry.v1+json: + schema: + $ref: '#/components/schemas/ExporterConfigResponse' + '400': + $ref: '#/components/responses/schemaregistry.v1.BadRequestError' + '401': + $ref: '#/components/responses/schemaregistry.v1.UnauthorizedError' + '403': + $ref: '#/components/responses/schemaregistry.v1.ForbiddenError' + '404': + description: Not Found. Error code 40450 – Exporter not found + content: + application/vnd.schemaregistry.v1+json: + schema: + $ref: '#/components/schemas/ErrorMessage' + '429': + $ref: '#/components/responses/RateLimitError' + '500': + $ref: '#/components/responses/schemaregistry.v1.DefaultSystemError' + security: + - resource-api-key: [] + - external-access-token: [] + x-codeSamples: + - lang: Shell + source: |- + curl --request GET \ + --url 'https://psrc-00000.region.provider.confluent.cloud/exporters/{name}/config' \ + --header 'Authorization: Basic REPLACE_BASIC_AUTH' + - lang: Java + source: |- + OkHttpClient client = new OkHttpClient(); + + Request request = new Request.Builder() + .url("https://psrc-00000.region.provider.confluent.cloud/exporters/{name}/config") + .get() + .addHeader("Authorization", "Basic REPLACE_BASIC_AUTH") + .build(); + + Response response = client.newCall(request).execute(); + - lang: Go + source: "package main\n\nimport (\n\t\"fmt\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://psrc-00000.region.provider.confluent.cloud/exporters/{name}/config\"\n\n\treq, _ := http.NewRequest(\"GET\", url, nil)\n\n\treq.Header.Add(\"Authorization\", \"Basic REPLACE_BASIC_AUTH\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}" + - lang: Python + source: |- + import http.client + + conn = http.client.HTTPSConnection("psrc-00000.region.provider.confluent.cloud") + + headers = { 'Authorization': "Basic REPLACE_BASIC_AUTH" } + + conn.request("GET", "/exporters/{name}/config", headers=headers) + + res = conn.getresponse() + data = res.read() + + print(data.decode("utf-8")) + - lang: Node + source: |- + const http = require("https"); + + const options = { + "method": "GET", + "hostname": "psrc-00000.region.provider.confluent.cloud", + "port": null, + "path": "/exporters/{name}/config", + "headers": { + "Authorization": "Basic REPLACE_BASIC_AUTH" + } + }; + + const req = http.request(options, function (res) { + const chunks = []; + + res.on("data", function (chunk) { + chunks.push(chunk); + }); + + res.on("end", function () { + const body = Buffer.concat(chunks); + console.log(body.toString()); + }); + }); + + req.end(); + - lang: C + source: |- + CURL *hnd = curl_easy_init(); + + curl_easy_setopt(hnd, CURLOPT_CUSTOMREQUEST, "GET"); + curl_easy_setopt(hnd, CURLOPT_URL, "https://psrc-00000.region.provider.confluent.cloud/exporters/{name}/config"); + + struct curl_slist *headers = NULL; + headers = curl_slist_append(headers, "Authorization: Basic REPLACE_BASIC_AUTH"); + curl_easy_setopt(hnd, CURLOPT_HTTPHEADER, headers); + + CURLcode ret = curl_easy_perform(hnd); + - lang: C# + source: |- + var client = new RestClient("https://psrc-00000.region.provider.confluent.cloud/exporters/{name}/config"); + var request = new RestRequest(Method.GET); + request.AddHeader("Authorization", "Basic REPLACE_BASIC_AUTH"); + IRestResponse response = client.Execute(request); + put: + tags: + - Exporters (v1) + summary: Update schema exporter config by name + description: Retrieves the config of the schema exporter. + operationId: updateExporterConfigByName + parameters: + - name: name + in: path + description: Name of the exporter + required: true + schema: + type: string + requestBody: + description: Exporter Update Request + content: + application/vnd.schemaregistry.v1+json: + schema: + $ref: '#/components/schemas/ExporterConfigResponse' + application/vnd.schemaregistry+json: + schema: + $ref: '#/components/schemas/ExporterConfigResponse' + application/json: + schema: + $ref: '#/components/schemas/ExporterConfigResponse' + required: true + responses: + '200': + description: The original request. + content: + application/vnd.schemaregistry.v1+json: + schema: + $ref: '#/components/schemas/ExporterResponse' + '400': + $ref: '#/components/responses/schemaregistry.v1.BadRequestError' + '401': + $ref: '#/components/responses/schemaregistry.v1.UnauthorizedError' + '403': + $ref: '#/components/responses/schemaregistry.v1.ForbiddenError' + '404': + description: Not Found. Error code 40401 indicates subject not found. + content: + application/vnd.schemaregistry.v1+json: + schema: + $ref: '#/components/schemas/ErrorMessage' + '409': + description: Invalid. Error code 40952 – Invalid exporter subjects. Error code 40963 – Exporter not paused. + content: + application/vnd.schemaregistry.v1+json: + schema: + $ref: '#/components/schemas/ErrorMessage' + '429': + $ref: '#/components/responses/RateLimitError' + '500': + $ref: '#/components/responses/schemaregistry.v1.DefaultSystemError' + security: + - resource-api-key: [] + - external-access-token: [] + x-codeSamples: + - lang: Shell + source: |- + curl --request PUT \ + --url 'https://psrc-00000.region.provider.confluent.cloud/exporters/{name}/config' \ + --header 'Authorization: Basic REPLACE_BASIC_AUTH' \ + --header 'content-type: application/json' \ + --data '{"schema.registry.url":"","basic.auth.credentials.source":"USER_INFO","basic.auth.user.info":"string"}' + - lang: Java + source: |- + OkHttpClient client = new OkHttpClient(); + + MediaType mediaType = MediaType.parse("application/json"); + RequestBody body = RequestBody.create(mediaType, "{\"schema.registry.url\":\"\",\"basic.auth.credentials.source\":\"USER_INFO\",\"basic.auth.user.info\":\"string\"}"); + Request request = new Request.Builder() + .url("https://psrc-00000.region.provider.confluent.cloud/exporters/{name}/config") + .put(body) + .addHeader("content-type", "application/json") + .addHeader("Authorization", "Basic REPLACE_BASIC_AUTH") + .build(); + + Response response = client.newCall(request).execute(); + - lang: Go + source: "package main\n\nimport (\n\t\"fmt\"\n\t\"strings\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://psrc-00000.region.provider.confluent.cloud/exporters/{name}/config\"\n\n\tpayload := strings.NewReader(\"{\\\"schema.registry.url\\\":\\\"\\\",\\\"basic.auth.credentials.source\\\":\\\"USER_INFO\\\",\\\"basic.auth.user.info\\\":\\\"string\\\"}\")\n\n\treq, _ := http.NewRequest(\"PUT\", url, payload)\n\n\treq.Header.Add(\"content-type\", \"application/json\")\n\treq.Header.Add(\"Authorization\", \"Basic REPLACE_BASIC_AUTH\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}" + - lang: Python + source: |- + import http.client + + conn = http.client.HTTPSConnection("psrc-00000.region.provider.confluent.cloud") + + payload = "{\"schema.registry.url\":\"\",\"basic.auth.credentials.source\":\"USER_INFO\",\"basic.auth.user.info\":\"string\"}" + + headers = { + 'content-type': "application/json", + 'Authorization': "Basic REPLACE_BASIC_AUTH" + } + + conn.request("PUT", "/exporters/{name}/config", payload, headers) + + res = conn.getresponse() + data = res.read() + + print(data.decode("utf-8")) + - lang: Node + source: |- + const http = require("https"); + + const options = { + "method": "PUT", + "hostname": "psrc-00000.region.provider.confluent.cloud", + "port": null, + "path": "/exporters/{name}/config", + "headers": { + "content-type": "application/json", + "Authorization": "Basic REPLACE_BASIC_AUTH" + } + }; + + const req = http.request(options, function (res) { + const chunks = []; + + res.on("data", function (chunk) { + chunks.push(chunk); + }); + + res.on("end", function () { + const body = Buffer.concat(chunks); + console.log(body.toString()); + }); + }); + + req.write(JSON.stringify({ + 'schema.registry.url': '', + 'basic.auth.credentials.source': 'USER_INFO', + 'basic.auth.user.info': 'string' + })); + req.end(); + - lang: C + source: |- + CURL *hnd = curl_easy_init(); + + curl_easy_setopt(hnd, CURLOPT_CUSTOMREQUEST, "PUT"); + curl_easy_setopt(hnd, CURLOPT_URL, "https://psrc-00000.region.provider.confluent.cloud/exporters/{name}/config"); + + struct curl_slist *headers = NULL; + headers = curl_slist_append(headers, "content-type: application/json"); + headers = curl_slist_append(headers, "Authorization: Basic REPLACE_BASIC_AUTH"); + curl_easy_setopt(hnd, CURLOPT_HTTPHEADER, headers); + + curl_easy_setopt(hnd, CURLOPT_POSTFIELDS, "{\"schema.registry.url\":\"\",\"basic.auth.credentials.source\":\"USER_INFO\",\"basic.auth.user.info\":\"string\"}"); + + CURLcode ret = curl_easy_perform(hnd); + - lang: C# + source: |- + var client = new RestClient("https://psrc-00000.region.provider.confluent.cloud/exporters/{name}/config"); + var request = new RestRequest(Method.PUT); + request.AddHeader("content-type", "application/json"); + request.AddHeader("Authorization", "Basic REPLACE_BASIC_AUTH"); + request.AddParameter("application/json", "{\"schema.registry.url\":\"\",\"basic.auth.credentials.source\":\"USER_INFO\",\"basic.auth.user.info\":\"string\"}", ParameterType.RequestBody); + IRestResponse response = client.Execute(request); + '/exporters/{name}/pause': + put: + tags: + - Exporters (v1) + summary: Pause schema exporter by name + description: Pauses the state of the schema exporter. + operationId: pauseExporterByName + parameters: + - name: name + in: path + description: Name of the exporter + required: true + schema: + type: string + responses: + '200': + description: The original request. + content: + application/vnd.schemaregistry.v1+json: + schema: + $ref: '#/components/schemas/ExporterResponse' + '400': + $ref: '#/components/responses/schemaregistry.v1.BadRequestError' + '401': + $ref: '#/components/responses/schemaregistry.v1.UnauthorizedError' + '403': + $ref: '#/components/responses/schemaregistry.v1.ForbiddenError' + '404': + description: Not Found. Error code 40401 indicates subject not found. + content: + application/vnd.schemaregistry.v1+json: + schema: + $ref: '#/components/schemas/ErrorMessage' + '409': + description: Invalid. Error code 40952 – Invalid exporter subjects. Error code 40963 – Exporter not paused. + content: + application/vnd.schemaregistry.v1+json: + schema: + $ref: '#/components/schemas/ErrorMessage' + '429': + $ref: '#/components/responses/RateLimitError' + '500': + $ref: '#/components/responses/schemaregistry.v1.DefaultSystemError' + security: + - resource-api-key: [] + - external-access-token: [] + x-codeSamples: + - lang: Shell + source: |- + curl --request PUT \ + --url 'https://psrc-00000.region.provider.confluent.cloud/exporters/{name}/pause' \ + --header 'Authorization: Basic REPLACE_BASIC_AUTH' + - lang: Java + source: |- + OkHttpClient client = new OkHttpClient(); + + Request request = new Request.Builder() + .url("https://psrc-00000.region.provider.confluent.cloud/exporters/{name}/pause") + .put(null) + .addHeader("Authorization", "Basic REPLACE_BASIC_AUTH") + .build(); + + Response response = client.newCall(request).execute(); + - lang: Go + source: "package main\n\nimport (\n\t\"fmt\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://psrc-00000.region.provider.confluent.cloud/exporters/{name}/pause\"\n\n\treq, _ := http.NewRequest(\"PUT\", url, nil)\n\n\treq.Header.Add(\"Authorization\", \"Basic REPLACE_BASIC_AUTH\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}" + - lang: Python + source: |- + import http.client + + conn = http.client.HTTPSConnection("psrc-00000.region.provider.confluent.cloud") + + headers = { 'Authorization': "Basic REPLACE_BASIC_AUTH" } + + conn.request("PUT", "/exporters/{name}/pause", headers=headers) + + res = conn.getresponse() + data = res.read() + + print(data.decode("utf-8")) + - lang: Node + source: |- + const http = require("https"); + + const options = { + "method": "PUT", + "hostname": "psrc-00000.region.provider.confluent.cloud", + "port": null, + "path": "/exporters/{name}/pause", + "headers": { + "Authorization": "Basic REPLACE_BASIC_AUTH" + } + }; + + const req = http.request(options, function (res) { + const chunks = []; + + res.on("data", function (chunk) { + chunks.push(chunk); + }); + + res.on("end", function () { + const body = Buffer.concat(chunks); + console.log(body.toString()); + }); + }); + + req.end(); + - lang: C + source: |- + CURL *hnd = curl_easy_init(); + + curl_easy_setopt(hnd, CURLOPT_CUSTOMREQUEST, "PUT"); + curl_easy_setopt(hnd, CURLOPT_URL, "https://psrc-00000.region.provider.confluent.cloud/exporters/{name}/pause"); + + struct curl_slist *headers = NULL; + headers = curl_slist_append(headers, "Authorization: Basic REPLACE_BASIC_AUTH"); + curl_easy_setopt(hnd, CURLOPT_HTTPHEADER, headers); + + CURLcode ret = curl_easy_perform(hnd); + - lang: C# + source: |- + var client = new RestClient("https://psrc-00000.region.provider.confluent.cloud/exporters/{name}/pause"); + var request = new RestRequest(Method.PUT); + request.AddHeader("Authorization", "Basic REPLACE_BASIC_AUTH"); + IRestResponse response = client.Execute(request); + '/exporters/{name}/reset': + put: + tags: + - Exporters (v1) + summary: Reset schema exporter by name + description: Reset the state of the schema exporter. + operationId: resetExporterByName + parameters: + - name: name + in: path + description: Name of the exporter + required: true + schema: + type: string + responses: + '200': + description: The original request. + content: + application/vnd.schemaregistry.v1+json: + schema: + $ref: '#/components/schemas/ExporterResponse' + '400': + $ref: '#/components/responses/schemaregistry.v1.BadRequestError' + '401': + $ref: '#/components/responses/schemaregistry.v1.UnauthorizedError' + '403': + $ref: '#/components/responses/schemaregistry.v1.ForbiddenError' + '404': + description: Not Found. Error code 40450 – Exporter not found + content: + application/vnd.schemaregistry.v1+json: + schema: + $ref: '#/components/schemas/ErrorMessage' + '409': + description: Invalid. Error code 40963 – Exporter not paused. + content: + application/vnd.schemaregistry.v1+json: + schema: + $ref: '#/components/schemas/ErrorMessage' + '429': + $ref: '#/components/responses/RateLimitError' + '500': + $ref: '#/components/responses/schemaregistry.v1.DefaultSystemError' + security: + - resource-api-key: [] + - external-access-token: [] + x-codeSamples: + - lang: Shell + source: |- + curl --request PUT \ + --url 'https://psrc-00000.region.provider.confluent.cloud/exporters/{name}/reset' \ + --header 'Authorization: Basic REPLACE_BASIC_AUTH' + - lang: Java + source: |- + OkHttpClient client = new OkHttpClient(); + + Request request = new Request.Builder() + .url("https://psrc-00000.region.provider.confluent.cloud/exporters/{name}/reset") + .put(null) + .addHeader("Authorization", "Basic REPLACE_BASIC_AUTH") + .build(); + + Response response = client.newCall(request).execute(); + - lang: Go + source: "package main\n\nimport (\n\t\"fmt\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://psrc-00000.region.provider.confluent.cloud/exporters/{name}/reset\"\n\n\treq, _ := http.NewRequest(\"PUT\", url, nil)\n\n\treq.Header.Add(\"Authorization\", \"Basic REPLACE_BASIC_AUTH\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}" + - lang: Python + source: |- + import http.client + + conn = http.client.HTTPSConnection("psrc-00000.region.provider.confluent.cloud") + + headers = { 'Authorization': "Basic REPLACE_BASIC_AUTH" } + + conn.request("PUT", "/exporters/{name}/reset", headers=headers) + + res = conn.getresponse() + data = res.read() + + print(data.decode("utf-8")) + - lang: Node + source: |- + const http = require("https"); + + const options = { + "method": "PUT", + "hostname": "psrc-00000.region.provider.confluent.cloud", + "port": null, + "path": "/exporters/{name}/reset", + "headers": { + "Authorization": "Basic REPLACE_BASIC_AUTH" + } + }; + + const req = http.request(options, function (res) { + const chunks = []; + + res.on("data", function (chunk) { + chunks.push(chunk); + }); + + res.on("end", function () { + const body = Buffer.concat(chunks); + console.log(body.toString()); + }); + }); + + req.end(); + - lang: C + source: |- + CURL *hnd = curl_easy_init(); + + curl_easy_setopt(hnd, CURLOPT_CUSTOMREQUEST, "PUT"); + curl_easy_setopt(hnd, CURLOPT_URL, "https://psrc-00000.region.provider.confluent.cloud/exporters/{name}/reset"); + + struct curl_slist *headers = NULL; + headers = curl_slist_append(headers, "Authorization: Basic REPLACE_BASIC_AUTH"); + curl_easy_setopt(hnd, CURLOPT_HTTPHEADER, headers); + + CURLcode ret = curl_easy_perform(hnd); + - lang: C# + source: |- + var client = new RestClient("https://psrc-00000.region.provider.confluent.cloud/exporters/{name}/reset"); + var request = new RestRequest(Method.PUT); + request.AddHeader("Authorization", "Basic REPLACE_BASIC_AUTH"); + IRestResponse response = client.Execute(request); + '/exporters/{name}/resume': + put: + tags: + - Exporters (v1) + summary: Resume schema exporter by name + description: Resume running of the schema exporter. + operationId: resumeExporterByName + parameters: + - name: name + in: path + description: Name of the exporter + required: true + schema: + type: string + responses: + '200': + description: The original request. + content: + application/vnd.schemaregistry.v1+json: + schema: + $ref: '#/components/schemas/ExporterResponse' + '400': + $ref: '#/components/responses/schemaregistry.v1.BadRequestError' + '401': + $ref: '#/components/responses/schemaregistry.v1.UnauthorizedError' + '403': + $ref: '#/components/responses/schemaregistry.v1.ForbiddenError' + '404': + description: Not Found. Error code 40450 indicates subject not found. + content: + application/vnd.schemaregistry.v1+json: + schema: + $ref: '#/components/schemas/ErrorMessage' + '409': + description: Invalid. Error code 40961 – Exporter already running. + content: + application/vnd.schemaregistry.v1+json: + schema: + $ref: '#/components/schemas/ErrorMessage' + '429': + $ref: '#/components/responses/RateLimitError' + '500': + $ref: '#/components/responses/schemaregistry.v1.DefaultSystemError' + security: + - resource-api-key: [] + - external-access-token: [] + x-codeSamples: + - lang: Shell + source: |- + curl --request PUT \ + --url 'https://psrc-00000.region.provider.confluent.cloud/exporters/{name}/resume' \ + --header 'Authorization: Basic REPLACE_BASIC_AUTH' + - lang: Java + source: |- + OkHttpClient client = new OkHttpClient(); + + Request request = new Request.Builder() + .url("https://psrc-00000.region.provider.confluent.cloud/exporters/{name}/resume") + .put(null) + .addHeader("Authorization", "Basic REPLACE_BASIC_AUTH") + .build(); + + Response response = client.newCall(request).execute(); + - lang: Go + source: "package main\n\nimport (\n\t\"fmt\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://psrc-00000.region.provider.confluent.cloud/exporters/{name}/resume\"\n\n\treq, _ := http.NewRequest(\"PUT\", url, nil)\n\n\treq.Header.Add(\"Authorization\", \"Basic REPLACE_BASIC_AUTH\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}" + - lang: Python + source: |- + import http.client + + conn = http.client.HTTPSConnection("psrc-00000.region.provider.confluent.cloud") + + headers = { 'Authorization': "Basic REPLACE_BASIC_AUTH" } + + conn.request("PUT", "/exporters/{name}/resume", headers=headers) + + res = conn.getresponse() + data = res.read() + + print(data.decode("utf-8")) + - lang: Node + source: |- + const http = require("https"); + + const options = { + "method": "PUT", + "hostname": "psrc-00000.region.provider.confluent.cloud", + "port": null, + "path": "/exporters/{name}/resume", + "headers": { + "Authorization": "Basic REPLACE_BASIC_AUTH" + } + }; + + const req = http.request(options, function (res) { + const chunks = []; + + res.on("data", function (chunk) { + chunks.push(chunk); + }); + + res.on("end", function () { + const body = Buffer.concat(chunks); + console.log(body.toString()); + }); + }); + + req.end(); + - lang: C + source: |- + CURL *hnd = curl_easy_init(); + + curl_easy_setopt(hnd, CURLOPT_CUSTOMREQUEST, "PUT"); + curl_easy_setopt(hnd, CURLOPT_URL, "https://psrc-00000.region.provider.confluent.cloud/exporters/{name}/resume"); + + struct curl_slist *headers = NULL; + headers = curl_slist_append(headers, "Authorization: Basic REPLACE_BASIC_AUTH"); + curl_easy_setopt(hnd, CURLOPT_HTTPHEADER, headers); + + CURLcode ret = curl_easy_perform(hnd); + - lang: C# + source: |- + var client = new RestClient("https://psrc-00000.region.provider.confluent.cloud/exporters/{name}/resume"); + var request = new RestRequest(Method.PUT); + request.AddHeader("Authorization", "Basic REPLACE_BASIC_AUTH"); + IRestResponse response = client.Execute(request); + /contexts: + get: + tags: + - Contexts (v1) + summary: List contexts + description: Retrieves a list of contexts. + operationId: listContexts + responses: + '200': + description: The contexts. + content: + application/vnd.schemaregistry.v1+json: + schema: + type: array + items: + type: string + example: . + application/vnd.schemaregistry+json; qs=0.9: + schema: + type: array + items: + type: string + example: . + application/json; qs=0.5: + schema: + type: array + items: + type: string + example: . + '400': + $ref: '#/components/responses/schemaregistry.v1.BadRequestError' + '401': + $ref: '#/components/responses/schemaregistry.v1.UnauthorizedError' + '403': + $ref: '#/components/responses/schemaregistry.v1.ForbiddenError' + '429': + $ref: '#/components/responses/RateLimitError' + '500': + description: 'Internal Server Error. Error code 50001 indicates a failure in the backend data store. ' + content: + application/vnd.schemaregistry.v1+json: + schema: + $ref: '#/components/schemas/ErrorMessage' + application/vnd.schemaregistry+json; qs=0.9: + schema: + $ref: '#/components/schemas/ErrorMessage' + application/json; qs=0.5: + schema: + $ref: '#/components/schemas/ErrorMessage' + security: + - resource-api-key: [] + - external-access-token: [] + x-codeSamples: + - lang: Shell + source: |- + curl --request GET \ + --url https://psrc-00000.region.provider.confluent.cloud/contexts \ + --header 'Authorization: Basic REPLACE_BASIC_AUTH' + - lang: Java + source: |- + OkHttpClient client = new OkHttpClient(); + + Request request = new Request.Builder() + .url("https://psrc-00000.region.provider.confluent.cloud/contexts") + .get() + .addHeader("Authorization", "Basic REPLACE_BASIC_AUTH") + .build(); + + Response response = client.newCall(request).execute(); + - lang: Go + source: "package main\n\nimport (\n\t\"fmt\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://psrc-00000.region.provider.confluent.cloud/contexts\"\n\n\treq, _ := http.NewRequest(\"GET\", url, nil)\n\n\treq.Header.Add(\"Authorization\", \"Basic REPLACE_BASIC_AUTH\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}" + - lang: Python + source: |- + import http.client + + conn = http.client.HTTPSConnection("psrc-00000.region.provider.confluent.cloud") + + headers = { 'Authorization': "Basic REPLACE_BASIC_AUTH" } + + conn.request("GET", "/contexts", headers=headers) + + res = conn.getresponse() + data = res.read() + + print(data.decode("utf-8")) + - lang: Node + source: |- + const http = require("https"); + + const options = { + "method": "GET", + "hostname": "psrc-00000.region.provider.confluent.cloud", + "port": null, + "path": "/contexts", + "headers": { + "Authorization": "Basic REPLACE_BASIC_AUTH" + } + }; + + const req = http.request(options, function (res) { + const chunks = []; + + res.on("data", function (chunk) { + chunks.push(chunk); + }); + + res.on("end", function () { + const body = Buffer.concat(chunks); + console.log(body.toString()); + }); + }); + + req.end(); + - lang: C + source: |- + CURL *hnd = curl_easy_init(); + + curl_easy_setopt(hnd, CURLOPT_CUSTOMREQUEST, "GET"); + curl_easy_setopt(hnd, CURLOPT_URL, "https://psrc-00000.region.provider.confluent.cloud/contexts"); + + struct curl_slist *headers = NULL; + headers = curl_slist_append(headers, "Authorization: Basic REPLACE_BASIC_AUTH"); + curl_easy_setopt(hnd, CURLOPT_HTTPHEADER, headers); + + CURLcode ret = curl_easy_perform(hnd); + - lang: C# + source: |- + var client = new RestClient("https://psrc-00000.region.provider.confluent.cloud/contexts"); + var request = new RestRequest(Method.GET); + request.AddHeader("Authorization", "Basic REPLACE_BASIC_AUTH"); + IRestResponse response = client.Execute(request); + '/mode/{subject}': + get: + tags: + - Modes (v1) + summary: Get subject mode + description: Retrieves the subject mode. + operationId: getMode + parameters: + - name: subject + in: path + description: Name of the subject + required: true + schema: + type: string + - name: defaultToGlobal + in: query + description: Whether to return the global mode if subject mode not found + schema: + type: boolean + responses: + '200': + description: The subject mode. + content: + application/vnd.schemaregistry.v1+json: + schema: + $ref: '#/components/schemas/Mode' + application/vnd.schemaregistry+json; qs=0.9: + schema: + $ref: '#/components/schemas/Mode' + application/json; qs=0.5: + schema: + $ref: '#/components/schemas/Mode' + '400': + $ref: '#/components/responses/schemaregistry.v1.BadRequestError' + '401': + $ref: '#/components/responses/schemaregistry.v1.UnauthorizedError' + '403': + $ref: '#/components/responses/schemaregistry.v1.ForbiddenError' + '404': + description: Not Found. Error code 40401 indicates subject not found. + content: + application/vnd.schemaregistry.v1+json: + schema: + $ref: '#/components/schemas/ErrorMessage' + application/vnd.schemaregistry+json; qs=0.9: + schema: + $ref: '#/components/schemas/ErrorMessage' + application/json; qs=0.5: + schema: + $ref: '#/components/schemas/ErrorMessage' + '429': + $ref: '#/components/responses/RateLimitError' + '500': + description: Internal Server Error. Error code 50001 indicates a failure in the backend data store. + content: + application/vnd.schemaregistry.v1+json: + schema: + $ref: '#/components/schemas/ErrorMessage' + application/vnd.schemaregistry+json; qs=0.9: + schema: + $ref: '#/components/schemas/ErrorMessage' + application/json; qs=0.5: + schema: + $ref: '#/components/schemas/ErrorMessage' + security: + - resource-api-key: [] + - external-access-token: [] + x-codeSamples: + - lang: Shell + source: |- + curl --request GET \ + --url 'https://psrc-00000.region.provider.confluent.cloud/mode/{subject}' \ + --header 'Authorization: Basic REPLACE_BASIC_AUTH' + - lang: Java + source: |- + OkHttpClient client = new OkHttpClient(); + + Request request = new Request.Builder() + .url("https://psrc-00000.region.provider.confluent.cloud/mode/{subject}") + .get() + .addHeader("Authorization", "Basic REPLACE_BASIC_AUTH") + .build(); + + Response response = client.newCall(request).execute(); + - lang: Go + source: "package main\n\nimport (\n\t\"fmt\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://psrc-00000.region.provider.confluent.cloud/mode/{subject}\"\n\n\treq, _ := http.NewRequest(\"GET\", url, nil)\n\n\treq.Header.Add(\"Authorization\", \"Basic REPLACE_BASIC_AUTH\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}" + - lang: Python + source: |- + import http.client + + conn = http.client.HTTPSConnection("psrc-00000.region.provider.confluent.cloud") + + headers = { 'Authorization': "Basic REPLACE_BASIC_AUTH" } + + conn.request("GET", "/mode/{subject}", headers=headers) + + res = conn.getresponse() + data = res.read() + + print(data.decode("utf-8")) + - lang: Node + source: |- + const http = require("https"); + + const options = { + "method": "GET", + "hostname": "psrc-00000.region.provider.confluent.cloud", + "port": null, + "path": "/mode/{subject}", + "headers": { + "Authorization": "Basic REPLACE_BASIC_AUTH" + } + }; + + const req = http.request(options, function (res) { + const chunks = []; + + res.on("data", function (chunk) { + chunks.push(chunk); + }); + + res.on("end", function () { + const body = Buffer.concat(chunks); + console.log(body.toString()); + }); + }); + + req.end(); + - lang: C + source: |- + CURL *hnd = curl_easy_init(); + + curl_easy_setopt(hnd, CURLOPT_CUSTOMREQUEST, "GET"); + curl_easy_setopt(hnd, CURLOPT_URL, "https://psrc-00000.region.provider.confluent.cloud/mode/{subject}"); + + struct curl_slist *headers = NULL; + headers = curl_slist_append(headers, "Authorization: Basic REPLACE_BASIC_AUTH"); + curl_easy_setopt(hnd, CURLOPT_HTTPHEADER, headers); + + CURLcode ret = curl_easy_perform(hnd); + - lang: C# + source: |- + var client = new RestClient("https://psrc-00000.region.provider.confluent.cloud/mode/{subject}"); + var request = new RestRequest(Method.GET); + request.AddHeader("Authorization", "Basic REPLACE_BASIC_AUTH"); + IRestResponse response = client.Execute(request); + put: + tags: + - Modes (v1) + summary: Update subject mode + description: 'Update mode for the specified subject. On success, echoes the original request back to the client.' + operationId: updateMode + parameters: + - name: subject + in: path + description: Name of the subject + required: true + schema: + type: string + - name: force + in: query + description: Whether to force update if setting mode to IMPORT and schemas currently exist + schema: + type: boolean + requestBody: + description: Update Request + content: + application/vnd.schemaregistry.v1+json: + schema: + $ref: '#/components/schemas/ModeUpdateRequest' + application/vnd.schemaregistry+json: + schema: + $ref: '#/components/schemas/ModeUpdateRequest' + application/json: + schema: + $ref: '#/components/schemas/ModeUpdateRequest' + application/octet-stream: + schema: + $ref: '#/components/schemas/ModeUpdateRequest' + required: true + responses: + '200': + description: The original request. + content: + application/vnd.schemaregistry.v1+json: + schema: + $ref: '#/components/schemas/ModeUpdateRequest' + application/vnd.schemaregistry+json; qs=0.9: + schema: + $ref: '#/components/schemas/ModeUpdateRequest' + application/json; qs=0.5: + schema: + $ref: '#/components/schemas/ModeUpdateRequest' + '400': + $ref: '#/components/responses/schemaregistry.v1.BadRequestError' + '401': + $ref: '#/components/responses/schemaregistry.v1.UnauthorizedError' + '403': + $ref: '#/components/responses/schemaregistry.v1.ForbiddenError' + '422': + description: Unprocessable Entity. Error code 42204 indicates an invalid mode. Error code 42205 indicates operation not permitted. + content: + application/vnd.schemaregistry.v1+json: + schema: + $ref: '#/components/schemas/ErrorMessage' + application/vnd.schemaregistry+json; qs=0.9: + schema: + $ref: '#/components/schemas/ErrorMessage' + application/json; qs=0.5: + schema: + $ref: '#/components/schemas/ErrorMessage' + '429': + $ref: '#/components/responses/RateLimitError' + '500': + description: Internal Server Error. Error code 50001 indicates a failure in the backend data store. Error code 50003 indicates a failure forwarding the request to the primary. Error code 50004 indicates unknown leader. + content: + application/vnd.schemaregistry.v1+json: + schema: + $ref: '#/components/schemas/ErrorMessage' + application/vnd.schemaregistry+json; qs=0.9: + schema: + $ref: '#/components/schemas/ErrorMessage' + application/json; qs=0.5: + schema: + $ref: '#/components/schemas/ErrorMessage' + security: + - resource-api-key: [] + - external-access-token: [] + x-codeSamples: + - lang: Shell + source: |- + curl --request PUT \ + --url 'https://psrc-00000.region.provider.confluent.cloud/mode/{subject}' \ + --header 'Authorization: Basic REPLACE_BASIC_AUTH' \ + --header 'content-type: application/octet-stream' \ + --data '{"mode":"READWRITE"}' + - lang: Java + source: |- + OkHttpClient client = new OkHttpClient(); + + MediaType mediaType = MediaType.parse("application/json"); + RequestBody body = RequestBody.create(mediaType, "{\"mode\":\"READWRITE\"}"); + Request request = new Request.Builder() + .url("https://psrc-00000.region.provider.confluent.cloud/mode/{subject}") + .put(body) + .addHeader("content-type", "application/octet-stream") + .addHeader("Authorization", "Basic REPLACE_BASIC_AUTH") + .build(); + + Response response = client.newCall(request).execute(); + - lang: Go + source: "package main\n\nimport (\n\t\"fmt\"\n\t\"strings\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://psrc-00000.region.provider.confluent.cloud/mode/{subject}\"\n\n\tpayload := strings.NewReader(\"{\\\"mode\\\":\\\"READWRITE\\\"}\")\n\n\treq, _ := http.NewRequest(\"PUT\", url, payload)\n\n\treq.Header.Add(\"content-type\", \"application/octet-stream\")\n\treq.Header.Add(\"Authorization\", \"Basic REPLACE_BASIC_AUTH\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}" + - lang: Python + source: |- + import http.client + + conn = http.client.HTTPSConnection("psrc-00000.region.provider.confluent.cloud") + + payload = "{\"mode\":\"READWRITE\"}" + + headers = { + 'content-type': "application/octet-stream", + 'Authorization': "Basic REPLACE_BASIC_AUTH" + } + + conn.request("PUT", "/mode/{subject}", payload, headers) + + res = conn.getresponse() + data = res.read() + + print(data.decode("utf-8")) + - lang: Node + source: |- + const http = require("https"); + + const options = { + "method": "PUT", + "hostname": "psrc-00000.region.provider.confluent.cloud", + "port": null, + "path": "/mode/{subject}", + "headers": { + "content-type": "application/octet-stream", + "Authorization": "Basic REPLACE_BASIC_AUTH" + } + }; + + const req = http.request(options, function (res) { + const chunks = []; + + res.on("data", function (chunk) { + chunks.push(chunk); + }); + + res.on("end", function () { + const body = Buffer.concat(chunks); + console.log(body.toString()); + }); + }); + + req.write(JSON.stringify({mode: 'READWRITE'})); + req.end(); + - lang: C + source: |- + CURL *hnd = curl_easy_init(); + + curl_easy_setopt(hnd, CURLOPT_CUSTOMREQUEST, "PUT"); + curl_easy_setopt(hnd, CURLOPT_URL, "https://psrc-00000.region.provider.confluent.cloud/mode/{subject}"); + + struct curl_slist *headers = NULL; + headers = curl_slist_append(headers, "content-type: application/octet-stream"); + headers = curl_slist_append(headers, "Authorization: Basic REPLACE_BASIC_AUTH"); + curl_easy_setopt(hnd, CURLOPT_HTTPHEADER, headers); + + curl_easy_setopt(hnd, CURLOPT_POSTFIELDS, "{\"mode\":\"READWRITE\"}"); + + CURLcode ret = curl_easy_perform(hnd); + - lang: C# + source: |- + var client = new RestClient("https://psrc-00000.region.provider.confluent.cloud/mode/{subject}"); + var request = new RestRequest(Method.PUT); + request.AddHeader("content-type", "application/octet-stream"); + request.AddHeader("Authorization", "Basic REPLACE_BASIC_AUTH"); + request.AddParameter("application/octet-stream", "{\"mode\":\"READWRITE\"}", ParameterType.RequestBody); + IRestResponse response = client.Execute(request); + delete: + tags: + - Modes (v1) + summary: Delete subject mode + description: Deletes the specified subject-level mode and reverts to the global default. + operationId: deleteSubjectMode + parameters: + - name: subject + in: path + description: Name of the subject + required: true + schema: + type: string + responses: + '200': + description: Operation succeeded. Returns old mode. + content: + application/vnd.schemaregistry.v1+json: + schema: + $ref: '#/components/schemas/Mode' + application/vnd.schemaregistry+json; qs=0.9: + schema: + $ref: '#/components/schemas/Mode' + application/json; qs=0.5: + schema: + $ref: '#/components/schemas/Mode' + '400': + $ref: '#/components/responses/schemaregistry.v1.BadRequestError' + '401': + $ref: '#/components/responses/schemaregistry.v1.UnauthorizedError' + '403': + $ref: '#/components/responses/schemaregistry.v1.ForbiddenError' + '404': + description: Not Found. Error code 40401 indicates subject not found. + content: + application/vnd.schemaregistry.v1+json: + schema: + $ref: '#/components/schemas/ErrorMessage' + application/vnd.schemaregistry+json; qs=0.9: + schema: + $ref: '#/components/schemas/ErrorMessage' + application/json; qs=0.5: + schema: + $ref: '#/components/schemas/ErrorMessage' + '429': + $ref: '#/components/responses/RateLimitError' + '500': + description: Internal Server Error. Error code 50001 indicates a failure in the backend data store. + content: + application/vnd.schemaregistry.v1+json: + schema: + $ref: '#/components/schemas/ErrorMessage' + application/vnd.schemaregistry+json; qs=0.9: + schema: + $ref: '#/components/schemas/ErrorMessage' + application/json; qs=0.5: + schema: + $ref: '#/components/schemas/ErrorMessage' + security: + - resource-api-key: [] + - external-access-token: [] + x-codeSamples: + - lang: Shell + source: |- + curl --request DELETE \ + --url 'https://psrc-00000.region.provider.confluent.cloud/mode/{subject}' \ + --header 'Authorization: Basic REPLACE_BASIC_AUTH' + - lang: Java + source: |- + OkHttpClient client = new OkHttpClient(); + + Request request = new Request.Builder() + .url("https://psrc-00000.region.provider.confluent.cloud/mode/{subject}") + .delete(null) + .addHeader("Authorization", "Basic REPLACE_BASIC_AUTH") + .build(); + + Response response = client.newCall(request).execute(); + - lang: Go + source: "package main\n\nimport (\n\t\"fmt\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://psrc-00000.region.provider.confluent.cloud/mode/{subject}\"\n\n\treq, _ := http.NewRequest(\"DELETE\", url, nil)\n\n\treq.Header.Add(\"Authorization\", \"Basic REPLACE_BASIC_AUTH\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}" + - lang: Python + source: |- + import http.client + + conn = http.client.HTTPSConnection("psrc-00000.region.provider.confluent.cloud") + + headers = { 'Authorization': "Basic REPLACE_BASIC_AUTH" } + + conn.request("DELETE", "/mode/{subject}", headers=headers) + + res = conn.getresponse() + data = res.read() + + print(data.decode("utf-8")) + - lang: Node + source: |- + const http = require("https"); + + const options = { + "method": "DELETE", + "hostname": "psrc-00000.region.provider.confluent.cloud", + "port": null, + "path": "/mode/{subject}", + "headers": { + "Authorization": "Basic REPLACE_BASIC_AUTH" + } + }; + + const req = http.request(options, function (res) { + const chunks = []; + + res.on("data", function (chunk) { + chunks.push(chunk); + }); + + res.on("end", function () { + const body = Buffer.concat(chunks); + console.log(body.toString()); + }); + }); + + req.end(); + - lang: C + source: |- + CURL *hnd = curl_easy_init(); + + curl_easy_setopt(hnd, CURLOPT_CUSTOMREQUEST, "DELETE"); + curl_easy_setopt(hnd, CURLOPT_URL, "https://psrc-00000.region.provider.confluent.cloud/mode/{subject}"); + + struct curl_slist *headers = NULL; + headers = curl_slist_append(headers, "Authorization: Basic REPLACE_BASIC_AUTH"); + curl_easy_setopt(hnd, CURLOPT_HTTPHEADER, headers); + + CURLcode ret = curl_easy_perform(hnd); + - lang: C# + source: |- + var client = new RestClient("https://psrc-00000.region.provider.confluent.cloud/mode/{subject}"); + var request = new RestRequest(Method.DELETE); + request.AddHeader("Authorization", "Basic REPLACE_BASIC_AUTH"); + IRestResponse response = client.Execute(request); + /mode: + get: + tags: + - Modes (v1) + summary: Get global mode + description: Retrieves global mode. + operationId: getTopLevelMode + responses: + '200': + description: The global mode + content: + application/vnd.schemaregistry.v1+json: + schema: + $ref: '#/components/schemas/Mode' + application/vnd.schemaregistry+json; qs=0.9: + schema: + $ref: '#/components/schemas/Mode' + application/json; qs=0.5: + schema: + $ref: '#/components/schemas/Mode' + '400': + $ref: '#/components/responses/schemaregistry.v1.BadRequestError' + '401': + $ref: '#/components/responses/schemaregistry.v1.UnauthorizedError' + '403': + $ref: '#/components/responses/schemaregistry.v1.ForbiddenError' + '429': + $ref: '#/components/responses/RateLimitError' + '500': + description: Error code 50001 -- Error in the backend data store + security: + - resource-api-key: [] + - external-access-token: [] + x-codeSamples: + - lang: Shell + source: |- + curl --request GET \ + --url https://psrc-00000.region.provider.confluent.cloud/mode \ + --header 'Authorization: Basic REPLACE_BASIC_AUTH' + - lang: Java + source: |- + OkHttpClient client = new OkHttpClient(); + + Request request = new Request.Builder() + .url("https://psrc-00000.region.provider.confluent.cloud/mode") + .get() + .addHeader("Authorization", "Basic REPLACE_BASIC_AUTH") + .build(); + + Response response = client.newCall(request).execute(); + - lang: Go + source: "package main\n\nimport (\n\t\"fmt\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://psrc-00000.region.provider.confluent.cloud/mode\"\n\n\treq, _ := http.NewRequest(\"GET\", url, nil)\n\n\treq.Header.Add(\"Authorization\", \"Basic REPLACE_BASIC_AUTH\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}" + - lang: Python + source: |- + import http.client + + conn = http.client.HTTPSConnection("psrc-00000.region.provider.confluent.cloud") + + headers = { 'Authorization': "Basic REPLACE_BASIC_AUTH" } + + conn.request("GET", "/mode", headers=headers) + + res = conn.getresponse() + data = res.read() + + print(data.decode("utf-8")) + - lang: Node + source: |- + const http = require("https"); + + const options = { + "method": "GET", + "hostname": "psrc-00000.region.provider.confluent.cloud", + "port": null, + "path": "/mode", + "headers": { + "Authorization": "Basic REPLACE_BASIC_AUTH" + } + }; + + const req = http.request(options, function (res) { + const chunks = []; + + res.on("data", function (chunk) { + chunks.push(chunk); + }); + + res.on("end", function () { + const body = Buffer.concat(chunks); + console.log(body.toString()); + }); + }); + + req.end(); + - lang: C + source: |- + CURL *hnd = curl_easy_init(); + + curl_easy_setopt(hnd, CURLOPT_CUSTOMREQUEST, "GET"); + curl_easy_setopt(hnd, CURLOPT_URL, "https://psrc-00000.region.provider.confluent.cloud/mode"); + + struct curl_slist *headers = NULL; + headers = curl_slist_append(headers, "Authorization: Basic REPLACE_BASIC_AUTH"); + curl_easy_setopt(hnd, CURLOPT_HTTPHEADER, headers); + + CURLcode ret = curl_easy_perform(hnd); + - lang: C# + source: |- + var client = new RestClient("https://psrc-00000.region.provider.confluent.cloud/mode"); + var request = new RestRequest(Method.GET); + request.AddHeader("Authorization", "Basic REPLACE_BASIC_AUTH"); + IRestResponse response = client.Execute(request); + put: + tags: + - Modes (v1) + summary: Update global mode + description: 'Update global mode. On success, echoes the original request back to the client.' + operationId: updateTopLevelMode + parameters: + - name: force + in: query + description: Whether to force update if setting mode to IMPORT and schemas currently exist + schema: + type: boolean + requestBody: + description: Update Request + content: + application/vnd.schemaregistry.v1+json: + schema: + $ref: '#/components/schemas/ModeUpdateRequest' + application/vnd.schemaregistry+json: + schema: + $ref: '#/components/schemas/ModeUpdateRequest' + application/json: + schema: + $ref: '#/components/schemas/ModeUpdateRequest' + application/octet-stream: + schema: + $ref: '#/components/schemas/ModeUpdateRequest' + required: true + responses: + '200': + description: The original request. + content: + application/vnd.schemaregistry.v1+json: + schema: + $ref: '#/components/schemas/ModeUpdateRequest' + application/vnd.schemaregistry+json; qs=0.9: + schema: + $ref: '#/components/schemas/ModeUpdateRequest' + application/json; qs=0.5: + schema: + $ref: '#/components/schemas/ModeUpdateRequest' + '400': + $ref: '#/components/responses/schemaregistry.v1.BadRequestError' + '401': + $ref: '#/components/responses/schemaregistry.v1.UnauthorizedError' + '403': + $ref: '#/components/responses/schemaregistry.v1.ForbiddenError' + '422': + description: Unprocessable Entity. Error code 42204 indicates an invalid mode. Error code 42205 indicates operation not permitted. + content: + application/vnd.schemaregistry.v1+json: + schema: + $ref: '#/components/schemas/ErrorMessage' + application/vnd.schemaregistry+json; qs=0.9: + schema: + $ref: '#/components/schemas/ErrorMessage' + application/json; qs=0.5: + schema: + $ref: '#/components/schemas/ErrorMessage' + '429': + $ref: '#/components/responses/RateLimitError' + '500': + description: Internal Server Error. Error code 50001 indicates a failure in the backend data store. Error code 50003 indicates a failure forwarding the request to the primary. Error code 50004 indicates unknown leader. + content: + application/vnd.schemaregistry.v1+json: + schema: + $ref: '#/components/schemas/ErrorMessage' + application/vnd.schemaregistry+json; qs=0.9: + schema: + $ref: '#/components/schemas/ErrorMessage' + application/json; qs=0.5: + schema: + $ref: '#/components/schemas/ErrorMessage' + security: + - resource-api-key: [] + - external-access-token: [] + x-codeSamples: + - lang: Shell + source: |- + curl --request PUT \ + --url https://psrc-00000.region.provider.confluent.cloud/mode \ + --header 'Authorization: Basic REPLACE_BASIC_AUTH' \ + --header 'content-type: application/octet-stream' \ + --data '{"mode":"READWRITE"}' + - lang: Java + source: |- + OkHttpClient client = new OkHttpClient(); + + MediaType mediaType = MediaType.parse("application/json"); + RequestBody body = RequestBody.create(mediaType, "{\"mode\":\"READWRITE\"}"); + Request request = new Request.Builder() + .url("https://psrc-00000.region.provider.confluent.cloud/mode") + .put(body) + .addHeader("content-type", "application/octet-stream") + .addHeader("Authorization", "Basic REPLACE_BASIC_AUTH") + .build(); + + Response response = client.newCall(request).execute(); + - lang: Go + source: "package main\n\nimport (\n\t\"fmt\"\n\t\"strings\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://psrc-00000.region.provider.confluent.cloud/mode\"\n\n\tpayload := strings.NewReader(\"{\\\"mode\\\":\\\"READWRITE\\\"}\")\n\n\treq, _ := http.NewRequest(\"PUT\", url, payload)\n\n\treq.Header.Add(\"content-type\", \"application/octet-stream\")\n\treq.Header.Add(\"Authorization\", \"Basic REPLACE_BASIC_AUTH\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}" + - lang: Python + source: |- + import http.client + + conn = http.client.HTTPSConnection("psrc-00000.region.provider.confluent.cloud") + + payload = "{\"mode\":\"READWRITE\"}" + + headers = { + 'content-type': "application/octet-stream", + 'Authorization': "Basic REPLACE_BASIC_AUTH" + } + + conn.request("PUT", "/mode", payload, headers) + + res = conn.getresponse() + data = res.read() + + print(data.decode("utf-8")) + - lang: Node + source: |- + const http = require("https"); + + const options = { + "method": "PUT", + "hostname": "psrc-00000.region.provider.confluent.cloud", + "port": null, + "path": "/mode", + "headers": { + "content-type": "application/octet-stream", + "Authorization": "Basic REPLACE_BASIC_AUTH" + } + }; + + const req = http.request(options, function (res) { + const chunks = []; + + res.on("data", function (chunk) { + chunks.push(chunk); + }); + + res.on("end", function () { + const body = Buffer.concat(chunks); + console.log(body.toString()); + }); + }); + + req.write(JSON.stringify({mode: 'READWRITE'})); + req.end(); + - lang: C + source: |- + CURL *hnd = curl_easy_init(); + + curl_easy_setopt(hnd, CURLOPT_CUSTOMREQUEST, "PUT"); + curl_easy_setopt(hnd, CURLOPT_URL, "https://psrc-00000.region.provider.confluent.cloud/mode"); + + struct curl_slist *headers = NULL; + headers = curl_slist_append(headers, "content-type: application/octet-stream"); + headers = curl_slist_append(headers, "Authorization: Basic REPLACE_BASIC_AUTH"); + curl_easy_setopt(hnd, CURLOPT_HTTPHEADER, headers); + + curl_easy_setopt(hnd, CURLOPT_POSTFIELDS, "{\"mode\":\"READWRITE\"}"); + + CURLcode ret = curl_easy_perform(hnd); + - lang: C# + source: |- + var client = new RestClient("https://psrc-00000.region.provider.confluent.cloud/mode"); + var request = new RestRequest(Method.PUT); + request.AddHeader("content-type", "application/octet-stream"); + request.AddHeader("Authorization", "Basic REPLACE_BASIC_AUTH"); + request.AddParameter("application/octet-stream", "{\"mode\":\"READWRITE\"}", ParameterType.RequestBody); + IRestResponse response = client.Execute(request); + '/schemas/ids/{id}': + get: + tags: + - Schemas (v1) + summary: Get schema string by ID + description: Retrieves the schema string identified by the input ID. + operationId: getSchema + parameters: + - name: id + in: path + description: Globally unique identifier of the schema + required: true + schema: + type: integer + format: int32 + - name: subject + in: query + description: Name of the subject + schema: + type: string + - name: format + in: query + description: 'Desired output format, dependent on schema type' + schema: + type: string + default: '' + - name: fetchMaxId + in: query + description: Whether to fetch the maximum schema identifier that exists + schema: + type: boolean + default: false + responses: + '200': + description: The schema string. + content: + application/vnd.schemaregistry.v1+json: + schema: + $ref: '#/components/schemas/SchemaString' + application/vnd.schemaregistry+json; qs=0.9: + schema: + $ref: '#/components/schemas/SchemaString' + application/json; qs=0.5: + schema: + $ref: '#/components/schemas/SchemaString' + '400': + $ref: '#/components/responses/schemaregistry.v1.BadRequestError' + '401': + $ref: '#/components/responses/schemaregistry.v1.UnauthorizedError' + '403': + $ref: '#/components/responses/schemaregistry.v1.ForbiddenError' + '404': + description: Not Found. Error code 40403 indicates schema not found. + content: + application/vnd.schemaregistry.v1+json: + schema: + $ref: '#/components/schemas/ErrorMessage' + application/vnd.schemaregistry+json; qs=0.9: + schema: + $ref: '#/components/schemas/ErrorMessage' + application/json; qs=0.5: + schema: + $ref: '#/components/schemas/ErrorMessage' + '429': + $ref: '#/components/responses/RateLimitError' + '500': + description: Internal Server Error. Error code 50001 indicates a failure in the backend data store. + content: + application/vnd.schemaregistry.v1+json: + schema: + $ref: '#/components/schemas/ErrorMessage' + application/vnd.schemaregistry+json; qs=0.9: + schema: + $ref: '#/components/schemas/ErrorMessage' + application/json; qs=0.5: + schema: + $ref: '#/components/schemas/ErrorMessage' + security: + - resource-api-key: [] + - external-access-token: [] + x-codeSamples: + - lang: Shell + source: |- + curl --request GET \ + --url 'https://psrc-00000.region.provider.confluent.cloud/schemas/ids/{id}' \ + --header 'Authorization: Basic REPLACE_BASIC_AUTH' + - lang: Java + source: |- + OkHttpClient client = new OkHttpClient(); + + Request request = new Request.Builder() + .url("https://psrc-00000.region.provider.confluent.cloud/schemas/ids/{id}") + .get() + .addHeader("Authorization", "Basic REPLACE_BASIC_AUTH") + .build(); + + Response response = client.newCall(request).execute(); + - lang: Go + source: "package main\n\nimport (\n\t\"fmt\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://psrc-00000.region.provider.confluent.cloud/schemas/ids/{id}\"\n\n\treq, _ := http.NewRequest(\"GET\", url, nil)\n\n\treq.Header.Add(\"Authorization\", \"Basic REPLACE_BASIC_AUTH\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}" + - lang: Python + source: |- + import http.client + + conn = http.client.HTTPSConnection("psrc-00000.region.provider.confluent.cloud") + + headers = { 'Authorization': "Basic REPLACE_BASIC_AUTH" } + + conn.request("GET", "/schemas/ids/{id}", headers=headers) + + res = conn.getresponse() + data = res.read() + + print(data.decode("utf-8")) + - lang: Node + source: |- + const http = require("https"); + + const options = { + "method": "GET", + "hostname": "psrc-00000.region.provider.confluent.cloud", + "port": null, + "path": "/schemas/ids/{id}", + "headers": { + "Authorization": "Basic REPLACE_BASIC_AUTH" + } + }; + + const req = http.request(options, function (res) { + const chunks = []; + + res.on("data", function (chunk) { + chunks.push(chunk); + }); + + res.on("end", function () { + const body = Buffer.concat(chunks); + console.log(body.toString()); + }); + }); + + req.end(); + - lang: C + source: |- + CURL *hnd = curl_easy_init(); + + curl_easy_setopt(hnd, CURLOPT_CUSTOMREQUEST, "GET"); + curl_easy_setopt(hnd, CURLOPT_URL, "https://psrc-00000.region.provider.confluent.cloud/schemas/ids/{id}"); + + struct curl_slist *headers = NULL; + headers = curl_slist_append(headers, "Authorization: Basic REPLACE_BASIC_AUTH"); + curl_easy_setopt(hnd, CURLOPT_HTTPHEADER, headers); + + CURLcode ret = curl_easy_perform(hnd); + - lang: C# + source: |- + var client = new RestClient("https://psrc-00000.region.provider.confluent.cloud/schemas/ids/{id}"); + var request = new RestRequest(Method.GET); + request.AddHeader("Authorization", "Basic REPLACE_BASIC_AUTH"); + IRestResponse response = client.Execute(request); + '/schemas/ids/{id}/schema': + get: + tags: + - Schemas (v1) + summary: Get schema by ID + description: Retrieves the schema identified by the input ID. + operationId: getSchemaOnly + parameters: + - name: id + in: path + description: Globally unique identifier of the schema + required: true + schema: + type: integer + format: int32 + - name: subject + in: query + description: Name of the subject + schema: + type: string + - name: format + in: query + description: 'Desired output format, dependent on schema type' + schema: + type: string + default: '' + responses: + '200': + description: Raw schema string. + content: + application/vnd.schemaregistry.v1+json: + schema: + type: string + example: '{"schema": "{"type": "string"}"}' + application/vnd.schemaregistry+json; qs=0.9: + schema: + type: string + example: '{"schema": "{"type": "string"}"}' + application/json; qs=0.5: + schema: + type: string + example: '{"schema": "{"type": "string"}"}' + '400': + $ref: '#/components/responses/schemaregistry.v1.BadRequestError' + '401': + $ref: '#/components/responses/schemaregistry.v1.UnauthorizedError' + '403': + $ref: '#/components/responses/schemaregistry.v1.ForbiddenError' + '404': + description: Not Found. Error code 40403 indicates schema not found. + content: + application/vnd.schemaregistry.v1+json: + schema: + $ref: '#/components/schemas/ErrorMessage' + application/vnd.schemaregistry+json; qs=0.9: + schema: + $ref: '#/components/schemas/ErrorMessage' + application/json; qs=0.5: + schema: + $ref: '#/components/schemas/ErrorMessage' + '429': + $ref: '#/components/responses/RateLimitError' + '500': + description: Internal Server Error. Error code 50001 indicates a failure in the backend data store. + content: + application/vnd.schemaregistry.v1+json: + schema: + $ref: '#/components/schemas/ErrorMessage' + application/vnd.schemaregistry+json; qs=0.9: + schema: + $ref: '#/components/schemas/ErrorMessage' + application/json; qs=0.5: + schema: + $ref: '#/components/schemas/ErrorMessage' + security: + - resource-api-key: [] + - external-access-token: [] + x-codeSamples: + - lang: Shell + source: |- + curl --request GET \ + --url 'https://psrc-00000.region.provider.confluent.cloud/schemas/ids/{id}/schema' \ + --header 'Authorization: Basic REPLACE_BASIC_AUTH' + - lang: Java + source: |- + OkHttpClient client = new OkHttpClient(); + + Request request = new Request.Builder() + .url("https://psrc-00000.region.provider.confluent.cloud/schemas/ids/{id}/schema") + .get() + .addHeader("Authorization", "Basic REPLACE_BASIC_AUTH") + .build(); + + Response response = client.newCall(request).execute(); + - lang: Go + source: "package main\n\nimport (\n\t\"fmt\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://psrc-00000.region.provider.confluent.cloud/schemas/ids/{id}/schema\"\n\n\treq, _ := http.NewRequest(\"GET\", url, nil)\n\n\treq.Header.Add(\"Authorization\", \"Basic REPLACE_BASIC_AUTH\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}" + - lang: Python + source: |- + import http.client + + conn = http.client.HTTPSConnection("psrc-00000.region.provider.confluent.cloud") + + headers = { 'Authorization': "Basic REPLACE_BASIC_AUTH" } + + conn.request("GET", "/schemas/ids/{id}/schema", headers=headers) + + res = conn.getresponse() + data = res.read() + + print(data.decode("utf-8")) + - lang: Node + source: |- + const http = require("https"); + + const options = { + "method": "GET", + "hostname": "psrc-00000.region.provider.confluent.cloud", + "port": null, + "path": "/schemas/ids/{id}/schema", + "headers": { + "Authorization": "Basic REPLACE_BASIC_AUTH" + } + }; + + const req = http.request(options, function (res) { + const chunks = []; + + res.on("data", function (chunk) { + chunks.push(chunk); + }); + + res.on("end", function () { + const body = Buffer.concat(chunks); + console.log(body.toString()); + }); + }); + + req.end(); + - lang: C + source: |- + CURL *hnd = curl_easy_init(); + + curl_easy_setopt(hnd, CURLOPT_CUSTOMREQUEST, "GET"); + curl_easy_setopt(hnd, CURLOPT_URL, "https://psrc-00000.region.provider.confluent.cloud/schemas/ids/{id}/schema"); + + struct curl_slist *headers = NULL; + headers = curl_slist_append(headers, "Authorization: Basic REPLACE_BASIC_AUTH"); + curl_easy_setopt(hnd, CURLOPT_HTTPHEADER, headers); + + CURLcode ret = curl_easy_perform(hnd); + - lang: C# + source: |- + var client = new RestClient("https://psrc-00000.region.provider.confluent.cloud/schemas/ids/{id}/schema"); + var request = new RestRequest(Method.GET); + request.AddHeader("Authorization", "Basic REPLACE_BASIC_AUTH"); + IRestResponse response = client.Execute(request); + /schemas/types: + get: + tags: + - Schemas (v1) + summary: List supported schema types + description: Retrieve the schema types supported by this registry. + operationId: getSchemaTypes + responses: + '200': + description: List of supported schema types. + content: + application/vnd.schemaregistry.v1+json: + schema: + type: array + items: + type: string + example: AVRO + application/vnd.schemaregistry+json; qs=0.9: + schema: + type: array + items: + type: string + example: AVRO + application/json; qs=0.5: + schema: + type: array + items: + type: string + example: AVRO + '400': + $ref: '#/components/responses/schemaregistry.v1.BadRequestError' + '401': + $ref: '#/components/responses/schemaregistry.v1.UnauthorizedError' + '403': + $ref: '#/components/responses/schemaregistry.v1.ForbiddenError' + '429': + $ref: '#/components/responses/RateLimitError' + '500': + description: Internal Server Error. Error code 50001 indicates a failure in the backend data store. + content: + application/vnd.schemaregistry.v1+json: + schema: + $ref: '#/components/schemas/ErrorMessage' + application/vnd.schemaregistry+json; qs=0.9: + schema: + $ref: '#/components/schemas/ErrorMessage' + application/json; qs=0.5: + schema: + $ref: '#/components/schemas/ErrorMessage' + security: + - resource-api-key: [] + - external-access-token: [] + x-codeSamples: + - lang: Shell + source: |- + curl --request GET \ + --url https://psrc-00000.region.provider.confluent.cloud/schemas/types \ + --header 'Authorization: Basic REPLACE_BASIC_AUTH' + - lang: Java + source: |- + OkHttpClient client = new OkHttpClient(); + + Request request = new Request.Builder() + .url("https://psrc-00000.region.provider.confluent.cloud/schemas/types") + .get() + .addHeader("Authorization", "Basic REPLACE_BASIC_AUTH") + .build(); + + Response response = client.newCall(request).execute(); + - lang: Go + source: "package main\n\nimport (\n\t\"fmt\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://psrc-00000.region.provider.confluent.cloud/schemas/types\"\n\n\treq, _ := http.NewRequest(\"GET\", url, nil)\n\n\treq.Header.Add(\"Authorization\", \"Basic REPLACE_BASIC_AUTH\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}" + - lang: Python + source: |- + import http.client + + conn = http.client.HTTPSConnection("psrc-00000.region.provider.confluent.cloud") + + headers = { 'Authorization': "Basic REPLACE_BASIC_AUTH" } + + conn.request("GET", "/schemas/types", headers=headers) + + res = conn.getresponse() + data = res.read() + + print(data.decode("utf-8")) + - lang: Node + source: |- + const http = require("https"); + + const options = { + "method": "GET", + "hostname": "psrc-00000.region.provider.confluent.cloud", + "port": null, + "path": "/schemas/types", + "headers": { + "Authorization": "Basic REPLACE_BASIC_AUTH" + } + }; + + const req = http.request(options, function (res) { + const chunks = []; + + res.on("data", function (chunk) { + chunks.push(chunk); + }); + + res.on("end", function () { + const body = Buffer.concat(chunks); + console.log(body.toString()); + }); + }); + + req.end(); + - lang: C + source: |- + CURL *hnd = curl_easy_init(); + + curl_easy_setopt(hnd, CURLOPT_CUSTOMREQUEST, "GET"); + curl_easy_setopt(hnd, CURLOPT_URL, "https://psrc-00000.region.provider.confluent.cloud/schemas/types"); + + struct curl_slist *headers = NULL; + headers = curl_slist_append(headers, "Authorization: Basic REPLACE_BASIC_AUTH"); + curl_easy_setopt(hnd, CURLOPT_HTTPHEADER, headers); + + CURLcode ret = curl_easy_perform(hnd); + - lang: C# + source: |- + var client = new RestClient("https://psrc-00000.region.provider.confluent.cloud/schemas/types"); + var request = new RestRequest(Method.GET); + request.AddHeader("Authorization", "Basic REPLACE_BASIC_AUTH"); + IRestResponse response = client.Execute(request); + /schemas: + get: + tags: + - Schemas (v1) + summary: List schemas + description: Get the schemas matching the specified parameters. + operationId: getSchemas + parameters: + - name: subjectPrefix + in: query + description: Filters results by the respective subject prefix + schema: + type: string + default: '' + - name: deleted + in: query + description: Whether to return soft deleted schemas + schema: + type: boolean + default: false + - name: latestOnly + in: query + description: Whether to return latest schema versions only for each matching subject + schema: + type: boolean + default: false + - name: offset + in: query + description: Pagination offset for results + schema: + type: integer + format: int32 + default: 0 + - name: limit + in: query + description: Pagination size for results. Ignored if negative + schema: + type: integer + format: int32 + default: -1 + responses: + '200': + description: List of schemas matching the specified parameters. + content: + application/vnd.schemaregistry.v1+json: + schema: + type: array + items: + $ref: '#/components/schemas/Schema' + application/vnd.schemaregistry+json; qs=0.9: + schema: + type: array + items: + $ref: '#/components/schemas/Schema' + application/json; qs=0.5: + schema: + type: array + items: + $ref: '#/components/schemas/Schema' + '400': + $ref: '#/components/responses/schemaregistry.v1.BadRequestError' + '401': + $ref: '#/components/responses/schemaregistry.v1.UnauthorizedError' + '403': + $ref: '#/components/responses/schemaregistry.v1.ForbiddenError' + '429': + $ref: '#/components/responses/RateLimitError' + '500': + description: Internal Server Error. Error code 50001 indicates a failure in the backend data store. + content: + application/vnd.schemaregistry.v1+json: + schema: + $ref: '#/components/schemas/ErrorMessage' + application/vnd.schemaregistry+json; qs=0.9: + schema: + $ref: '#/components/schemas/ErrorMessage' + application/json; qs=0.5: + schema: + $ref: '#/components/schemas/ErrorMessage' + security: + - resource-api-key: [] + - external-access-token: [] + x-codeSamples: + - lang: Shell + source: |- + curl --request GET \ + --url https://psrc-00000.region.provider.confluent.cloud/schemas \ + --header 'Authorization: Basic REPLACE_BASIC_AUTH' + - lang: Java + source: |- + OkHttpClient client = new OkHttpClient(); + + Request request = new Request.Builder() + .url("https://psrc-00000.region.provider.confluent.cloud/schemas") + .get() + .addHeader("Authorization", "Basic REPLACE_BASIC_AUTH") + .build(); + + Response response = client.newCall(request).execute(); + - lang: Go + source: "package main\n\nimport (\n\t\"fmt\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://psrc-00000.region.provider.confluent.cloud/schemas\"\n\n\treq, _ := http.NewRequest(\"GET\", url, nil)\n\n\treq.Header.Add(\"Authorization\", \"Basic REPLACE_BASIC_AUTH\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}" + - lang: Python + source: |- + import http.client + + conn = http.client.HTTPSConnection("psrc-00000.region.provider.confluent.cloud") + + headers = { 'Authorization': "Basic REPLACE_BASIC_AUTH" } + + conn.request("GET", "/schemas", headers=headers) + + res = conn.getresponse() + data = res.read() + + print(data.decode("utf-8")) + - lang: Node + source: |- + const http = require("https"); + + const options = { + "method": "GET", + "hostname": "psrc-00000.region.provider.confluent.cloud", + "port": null, + "path": "/schemas", + "headers": { + "Authorization": "Basic REPLACE_BASIC_AUTH" + } + }; + + const req = http.request(options, function (res) { + const chunks = []; + + res.on("data", function (chunk) { + chunks.push(chunk); + }); + + res.on("end", function () { + const body = Buffer.concat(chunks); + console.log(body.toString()); + }); + }); + + req.end(); + - lang: C + source: |- + CURL *hnd = curl_easy_init(); + + curl_easy_setopt(hnd, CURLOPT_CUSTOMREQUEST, "GET"); + curl_easy_setopt(hnd, CURLOPT_URL, "https://psrc-00000.region.provider.confluent.cloud/schemas"); + + struct curl_slist *headers = NULL; + headers = curl_slist_append(headers, "Authorization: Basic REPLACE_BASIC_AUTH"); + curl_easy_setopt(hnd, CURLOPT_HTTPHEADER, headers); + + CURLcode ret = curl_easy_perform(hnd); + - lang: C# + source: |- + var client = new RestClient("https://psrc-00000.region.provider.confluent.cloud/schemas"); + var request = new RestRequest(Method.GET); + request.AddHeader("Authorization", "Basic REPLACE_BASIC_AUTH"); + IRestResponse response = client.Execute(request); + '/schemas/ids/{id}/subjects': + get: + tags: + - Schemas (v1) + summary: List subjects associated to schema ID + description: Retrieves all the subjects associated with a particular schema ID. + operationId: getSubjects + parameters: + - name: id + in: path + description: Globally unique identifier of the schema + required: true + schema: + type: integer + format: int32 + - name: subject + in: query + description: Filters results by the respective subject + schema: + type: string + - name: deleted + in: query + description: Whether to include subjects where the schema was deleted + schema: + type: boolean + responses: + '200': + description: List of subjects matching the specified parameters. + content: + application/vnd.schemaregistry.v1+json: + schema: + type: array + items: + type: string + example: User + application/vnd.schemaregistry+json; qs=0.9: + schema: + type: array + items: + type: string + example: User + application/json; qs=0.5: + schema: + type: array + items: + type: string + example: User + '400': + $ref: '#/components/responses/schemaregistry.v1.BadRequestError' + '401': + $ref: '#/components/responses/schemaregistry.v1.UnauthorizedError' + '403': + $ref: '#/components/responses/schemaregistry.v1.ForbiddenError' + '404': + description: Not Found. Error code 40403 indicates schema not found. + content: + application/vnd.schemaregistry.v1+json: + schema: + $ref: '#/components/schemas/ErrorMessage' + application/vnd.schemaregistry+json; qs=0.9: + schema: + $ref: '#/components/schemas/ErrorMessage' + application/json; qs=0.5: + schema: + $ref: '#/components/schemas/ErrorMessage' + '429': + $ref: '#/components/responses/RateLimitError' + '500': + description: Internal Server Error. Error code 50001 indicates a failure in the backend data store. + content: + application/vnd.schemaregistry.v1+json: + schema: + $ref: '#/components/schemas/ErrorMessage' + application/vnd.schemaregistry+json; qs=0.9: + schema: + $ref: '#/components/schemas/ErrorMessage' + application/json; qs=0.5: + schema: + $ref: '#/components/schemas/ErrorMessage' + security: + - resource-api-key: [] + - external-access-token: [] + x-codeSamples: + - lang: Shell + source: |- + curl --request GET \ + --url 'https://psrc-00000.region.provider.confluent.cloud/schemas/ids/{id}/subjects' \ + --header 'Authorization: Basic REPLACE_BASIC_AUTH' + - lang: Java + source: |- + OkHttpClient client = new OkHttpClient(); + + Request request = new Request.Builder() + .url("https://psrc-00000.region.provider.confluent.cloud/schemas/ids/{id}/subjects") + .get() + .addHeader("Authorization", "Basic REPLACE_BASIC_AUTH") + .build(); + + Response response = client.newCall(request).execute(); + - lang: Go + source: "package main\n\nimport (\n\t\"fmt\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://psrc-00000.region.provider.confluent.cloud/schemas/ids/{id}/subjects\"\n\n\treq, _ := http.NewRequest(\"GET\", url, nil)\n\n\treq.Header.Add(\"Authorization\", \"Basic REPLACE_BASIC_AUTH\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}" + - lang: Python + source: |- + import http.client + + conn = http.client.HTTPSConnection("psrc-00000.region.provider.confluent.cloud") + + headers = { 'Authorization': "Basic REPLACE_BASIC_AUTH" } + + conn.request("GET", "/schemas/ids/{id}/subjects", headers=headers) + + res = conn.getresponse() + data = res.read() + + print(data.decode("utf-8")) + - lang: Node + source: |- + const http = require("https"); + + const options = { + "method": "GET", + "hostname": "psrc-00000.region.provider.confluent.cloud", + "port": null, + "path": "/schemas/ids/{id}/subjects", + "headers": { + "Authorization": "Basic REPLACE_BASIC_AUTH" + } + }; + + const req = http.request(options, function (res) { + const chunks = []; + + res.on("data", function (chunk) { + chunks.push(chunk); + }); + + res.on("end", function () { + const body = Buffer.concat(chunks); + console.log(body.toString()); + }); + }); + + req.end(); + - lang: C + source: |- + CURL *hnd = curl_easy_init(); + + curl_easy_setopt(hnd, CURLOPT_CUSTOMREQUEST, "GET"); + curl_easy_setopt(hnd, CURLOPT_URL, "https://psrc-00000.region.provider.confluent.cloud/schemas/ids/{id}/subjects"); + + struct curl_slist *headers = NULL; + headers = curl_slist_append(headers, "Authorization: Basic REPLACE_BASIC_AUTH"); + curl_easy_setopt(hnd, CURLOPT_HTTPHEADER, headers); + + CURLcode ret = curl_easy_perform(hnd); + - lang: C# + source: |- + var client = new RestClient("https://psrc-00000.region.provider.confluent.cloud/schemas/ids/{id}/subjects"); + var request = new RestRequest(Method.GET); + request.AddHeader("Authorization", "Basic REPLACE_BASIC_AUTH"); + IRestResponse response = client.Execute(request); + '/schemas/ids/{id}/versions': + get: + tags: + - Schemas (v1) + summary: List subject-versions associated to schema ID + description: Get all the subject-version pairs associated with the input ID. + operationId: getVersions + parameters: + - name: id + in: path + description: Globally unique identifier of the schema + required: true + schema: + type: integer + format: int32 + - name: subject + in: query + description: Filters results by the respective subject + schema: + type: string + - name: deleted + in: query + description: Whether to include subject versions where the schema was deleted + schema: + type: boolean + responses: + '200': + description: List of subject versions matching the specified parameters. + content: + application/vnd.schemaregistry.v1+json: + schema: + type: array + items: + $ref: '#/components/schemas/SubjectVersion' + application/vnd.schemaregistry+json; qs=0.9: + schema: + type: array + items: + $ref: '#/components/schemas/SubjectVersion' + application/json; qs=0.5: + schema: + type: array + items: + $ref: '#/components/schemas/SubjectVersion' + '400': + $ref: '#/components/responses/schemaregistry.v1.BadRequestError' + '401': + $ref: '#/components/responses/schemaregistry.v1.UnauthorizedError' + '403': + $ref: '#/components/responses/schemaregistry.v1.ForbiddenError' + '404': + description: Not Found. Error code 40403 indicates schema not found. + content: + application/vnd.schemaregistry.v1+json: + schema: + $ref: '#/components/schemas/ErrorMessage' + application/vnd.schemaregistry+json; qs=0.9: + schema: + $ref: '#/components/schemas/ErrorMessage' + application/json; qs=0.5: + schema: + $ref: '#/components/schemas/ErrorMessage' + '429': + $ref: '#/components/responses/RateLimitError' + '500': + description: Internal Server Error. Error code 50001 indicates a failure in the backend data store. + content: + application/vnd.schemaregistry.v1+json: + schema: + $ref: '#/components/schemas/ErrorMessage' + application/vnd.schemaregistry+json; qs=0.9: + schema: + $ref: '#/components/schemas/ErrorMessage' + application/json; qs=0.5: + schema: + $ref: '#/components/schemas/ErrorMessage' + security: + - resource-api-key: [] + - external-access-token: [] + x-codeSamples: + - lang: Shell + source: |- + curl --request GET \ + --url 'https://psrc-00000.region.provider.confluent.cloud/schemas/ids/{id}/versions' \ + --header 'Authorization: Basic REPLACE_BASIC_AUTH' + - lang: Java + source: |- + OkHttpClient client = new OkHttpClient(); + + Request request = new Request.Builder() + .url("https://psrc-00000.region.provider.confluent.cloud/schemas/ids/{id}/versions") + .get() + .addHeader("Authorization", "Basic REPLACE_BASIC_AUTH") + .build(); + + Response response = client.newCall(request).execute(); + - lang: Go + source: "package main\n\nimport (\n\t\"fmt\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://psrc-00000.region.provider.confluent.cloud/schemas/ids/{id}/versions\"\n\n\treq, _ := http.NewRequest(\"GET\", url, nil)\n\n\treq.Header.Add(\"Authorization\", \"Basic REPLACE_BASIC_AUTH\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}" + - lang: Python + source: |- + import http.client + + conn = http.client.HTTPSConnection("psrc-00000.region.provider.confluent.cloud") + + headers = { 'Authorization': "Basic REPLACE_BASIC_AUTH" } + + conn.request("GET", "/schemas/ids/{id}/versions", headers=headers) + + res = conn.getresponse() + data = res.read() + + print(data.decode("utf-8")) + - lang: Node + source: |- + const http = require("https"); + + const options = { + "method": "GET", + "hostname": "psrc-00000.region.provider.confluent.cloud", + "port": null, + "path": "/schemas/ids/{id}/versions", + "headers": { + "Authorization": "Basic REPLACE_BASIC_AUTH" + } + }; + + const req = http.request(options, function (res) { + const chunks = []; + + res.on("data", function (chunk) { + chunks.push(chunk); + }); + + res.on("end", function () { + const body = Buffer.concat(chunks); + console.log(body.toString()); + }); + }); + + req.end(); + - lang: C + source: |- + CURL *hnd = curl_easy_init(); + + curl_easy_setopt(hnd, CURLOPT_CUSTOMREQUEST, "GET"); + curl_easy_setopt(hnd, CURLOPT_URL, "https://psrc-00000.region.provider.confluent.cloud/schemas/ids/{id}/versions"); + + struct curl_slist *headers = NULL; + headers = curl_slist_append(headers, "Authorization: Basic REPLACE_BASIC_AUTH"); + curl_easy_setopt(hnd, CURLOPT_HTTPHEADER, headers); + + CURLcode ret = curl_easy_perform(hnd); + - lang: C# + source: |- + var client = new RestClient("https://psrc-00000.region.provider.confluent.cloud/schemas/ids/{id}/versions"); + var request = new RestRequest(Method.GET); + request.AddHeader("Authorization", "Basic REPLACE_BASIC_AUTH"); + IRestResponse response = client.Execute(request); + '/subjects/{subject}/versions/{version}': + get: + tags: + - Subjects (v1) + summary: Get schema by version + description: Retrieves a specific version of the schema registered under this subject. + operationId: getSchemaByVersion + parameters: + - name: subject + in: path + description: Name of the subject + required: true + schema: + type: string + - name: version + in: path + description: 'Version of the schema to be returned. Valid values for versionId are between [1,2^31-1] or the string "latest". "latest" returns the last registered schema under the specified subject. Note that there may be a new latest schema that gets registered right after this request is served.' + required: true + schema: + type: string + - name: deleted + in: query + description: Whether to include deleted schema + schema: + type: boolean + responses: + '200': + description: The schema. + content: + application/vnd.schemaregistry.v1+json: + schema: + $ref: '#/components/schemas/Schema' + application/vnd.schemaregistry+json; qs=0.9: + schema: + $ref: '#/components/schemas/Schema' + application/json; qs=0.5: + schema: + $ref: '#/components/schemas/Schema' + '400': + $ref: '#/components/responses/schemaregistry.v1.BadRequestError' + '401': + $ref: '#/components/responses/schemaregistry.v1.UnauthorizedError' + '403': + $ref: '#/components/responses/schemaregistry.v1.ForbiddenError' + '404': + description: Not Found. Error code 40401 indicates subject not found. Error code 40402 indicates version not found. + content: + application/vnd.schemaregistry.v1+json: + schema: + $ref: '#/components/schemas/ErrorMessage' + application/vnd.schemaregistry+json; qs=0.9: + schema: + $ref: '#/components/schemas/ErrorMessage' + application/json; qs=0.5: + schema: + $ref: '#/components/schemas/ErrorMessage' + '422': + description: Unprocessable Entity. Error code 42202 indicates an invalid version. + content: + application/vnd.schemaregistry.v1+json: + schema: + $ref: '#/components/schemas/ErrorMessage' + application/vnd.schemaregistry+json; qs=0.9: + schema: + $ref: '#/components/schemas/ErrorMessage' + application/json; qs=0.5: + schema: + $ref: '#/components/schemas/ErrorMessage' + '429': + $ref: '#/components/responses/RateLimitError' + '500': + description: Internal Server Error. Error code 50001 indicates a failure in the backend data store. + content: + application/vnd.schemaregistry.v1+json: + schema: + $ref: '#/components/schemas/ErrorMessage' + application/vnd.schemaregistry+json; qs=0.9: + schema: + $ref: '#/components/schemas/ErrorMessage' + application/json; qs=0.5: + schema: + $ref: '#/components/schemas/ErrorMessage' + security: + - resource-api-key: [] + - external-access-token: [] + x-codeSamples: + - lang: Shell + source: |- + curl --request GET \ + --url 'https://psrc-00000.region.provider.confluent.cloud/subjects/{subject}/versions/{version}' \ + --header 'Authorization: Basic REPLACE_BASIC_AUTH' + - lang: Java + source: |- + OkHttpClient client = new OkHttpClient(); + + Request request = new Request.Builder() + .url("https://psrc-00000.region.provider.confluent.cloud/subjects/{subject}/versions/{version}") + .get() + .addHeader("Authorization", "Basic REPLACE_BASIC_AUTH") + .build(); + + Response response = client.newCall(request).execute(); + - lang: Go + source: "package main\n\nimport (\n\t\"fmt\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://psrc-00000.region.provider.confluent.cloud/subjects/{subject}/versions/{version}\"\n\n\treq, _ := http.NewRequest(\"GET\", url, nil)\n\n\treq.Header.Add(\"Authorization\", \"Basic REPLACE_BASIC_AUTH\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}" + - lang: Python + source: |- + import http.client + + conn = http.client.HTTPSConnection("psrc-00000.region.provider.confluent.cloud") + + headers = { 'Authorization': "Basic REPLACE_BASIC_AUTH" } + + conn.request("GET", "/subjects/{subject}/versions/{version}", headers=headers) + + res = conn.getresponse() + data = res.read() + + print(data.decode("utf-8")) + - lang: Node + source: |- + const http = require("https"); + + const options = { + "method": "GET", + "hostname": "psrc-00000.region.provider.confluent.cloud", + "port": null, + "path": "/subjects/{subject}/versions/{version}", + "headers": { + "Authorization": "Basic REPLACE_BASIC_AUTH" + } + }; + + const req = http.request(options, function (res) { + const chunks = []; + + res.on("data", function (chunk) { + chunks.push(chunk); + }); + + res.on("end", function () { + const body = Buffer.concat(chunks); + console.log(body.toString()); + }); + }); + + req.end(); + - lang: C + source: |- + CURL *hnd = curl_easy_init(); + + curl_easy_setopt(hnd, CURLOPT_CUSTOMREQUEST, "GET"); + curl_easy_setopt(hnd, CURLOPT_URL, "https://psrc-00000.region.provider.confluent.cloud/subjects/{subject}/versions/{version}"); + + struct curl_slist *headers = NULL; + headers = curl_slist_append(headers, "Authorization: Basic REPLACE_BASIC_AUTH"); + curl_easy_setopt(hnd, CURLOPT_HTTPHEADER, headers); + + CURLcode ret = curl_easy_perform(hnd); + - lang: C# + source: |- + var client = new RestClient("https://psrc-00000.region.provider.confluent.cloud/subjects/{subject}/versions/{version}"); + var request = new RestRequest(Method.GET); + request.AddHeader("Authorization", "Basic REPLACE_BASIC_AUTH"); + IRestResponse response = client.Execute(request); + delete: + tags: + - Subjects (v1) + summary: Delete schema version + description: 'Deletes a specific version of the schema registered under this subject. This only deletes the version and the schema ID remains intact making it still possible to decode data using the schema ID. This API is recommended to be used only in development environments or under extreme circumstances where-in, its required to delete a previously registered schema for compatibility purposes or re-register previously registered schema.' + operationId: deleteSchemaVersion + parameters: + - name: subject + in: path + description: Name of the subject + required: true + schema: + type: string + - name: version + in: path + description: 'Version of the schema to be returned. Valid values for versionId are between [1,2^31-1] or the string "latest". "latest" returns the last registered schema under the specified subject. Note that there may be a new latest schema that gets registered right after this request is served.' + required: true + schema: + type: string + - name: permanent + in: query + description: Whether to perform a permanent delete + schema: + type: boolean + responses: + '200': + description: Operation succeeded. Returns the schema version. + content: + application/vnd.schemaregistry.v1+json: + schema: + type: integer + format: int32 + example: 1 + application/vnd.schemaregistry+json; qs=0.9: + schema: + type: integer + format: int32 + example: 1 + application/json; qs=0.5: + schema: + type: integer + format: int32 + example: 1 + '400': + $ref: '#/components/responses/schemaregistry.v1.BadRequestError' + '401': + $ref: '#/components/responses/schemaregistry.v1.UnauthorizedError' + '403': + $ref: '#/components/responses/schemaregistry.v1.ForbiddenError' + '404': + description: Not Found. Error code 40401 indicates subject not found. Error code 40402 indicates version not found. + content: + application/vnd.schemaregistry.v1+json: + schema: + $ref: '#/components/schemas/ErrorMessage' + application/vnd.schemaregistry+json; qs=0.9: + schema: + $ref: '#/components/schemas/ErrorMessage' + application/json; qs=0.5: + schema: + $ref: '#/components/schemas/ErrorMessage' + '422': + description: Unprocessable Entity. Error code 42202 indicates an invalid version. + content: + application/vnd.schemaregistry.v1+json: + schema: + $ref: '#/components/schemas/ErrorMessage' + application/vnd.schemaregistry+json; qs=0.9: + schema: + $ref: '#/components/schemas/ErrorMessage' + application/json; qs=0.5: + schema: + $ref: '#/components/schemas/ErrorMessage' + '429': + $ref: '#/components/responses/RateLimitError' + '500': + description: Internal Server Error. Error code 50001 indicates a failure in the backend data store. + content: + application/vnd.schemaregistry.v1+json: + schema: + $ref: '#/components/schemas/ErrorMessage' + application/vnd.schemaregistry+json; qs=0.9: + schema: + $ref: '#/components/schemas/ErrorMessage' + application/json; qs=0.5: + schema: + $ref: '#/components/schemas/ErrorMessage' + security: + - resource-api-key: [] + - external-access-token: [] + x-codeSamples: + - lang: Shell + source: |- + curl --request DELETE \ + --url 'https://psrc-00000.region.provider.confluent.cloud/subjects/{subject}/versions/{version}' \ + --header 'Authorization: Basic REPLACE_BASIC_AUTH' + - lang: Java + source: |- + OkHttpClient client = new OkHttpClient(); + + Request request = new Request.Builder() + .url("https://psrc-00000.region.provider.confluent.cloud/subjects/{subject}/versions/{version}") + .delete(null) + .addHeader("Authorization", "Basic REPLACE_BASIC_AUTH") + .build(); + + Response response = client.newCall(request).execute(); + - lang: Go + source: "package main\n\nimport (\n\t\"fmt\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://psrc-00000.region.provider.confluent.cloud/subjects/{subject}/versions/{version}\"\n\n\treq, _ := http.NewRequest(\"DELETE\", url, nil)\n\n\treq.Header.Add(\"Authorization\", \"Basic REPLACE_BASIC_AUTH\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}" + - lang: Python + source: |- + import http.client + + conn = http.client.HTTPSConnection("psrc-00000.region.provider.confluent.cloud") + + headers = { 'Authorization': "Basic REPLACE_BASIC_AUTH" } + + conn.request("DELETE", "/subjects/{subject}/versions/{version}", headers=headers) + + res = conn.getresponse() + data = res.read() + + print(data.decode("utf-8")) + - lang: Node + source: |- + const http = require("https"); + + const options = { + "method": "DELETE", + "hostname": "psrc-00000.region.provider.confluent.cloud", + "port": null, + "path": "/subjects/{subject}/versions/{version}", + "headers": { + "Authorization": "Basic REPLACE_BASIC_AUTH" + } + }; + + const req = http.request(options, function (res) { + const chunks = []; + + res.on("data", function (chunk) { + chunks.push(chunk); + }); + + res.on("end", function () { + const body = Buffer.concat(chunks); + console.log(body.toString()); + }); + }); + + req.end(); + - lang: C + source: |- + CURL *hnd = curl_easy_init(); + + curl_easy_setopt(hnd, CURLOPT_CUSTOMREQUEST, "DELETE"); + curl_easy_setopt(hnd, CURLOPT_URL, "https://psrc-00000.region.provider.confluent.cloud/subjects/{subject}/versions/{version}"); + + struct curl_slist *headers = NULL; + headers = curl_slist_append(headers, "Authorization: Basic REPLACE_BASIC_AUTH"); + curl_easy_setopt(hnd, CURLOPT_HTTPHEADER, headers); + + CURLcode ret = curl_easy_perform(hnd); + - lang: C# + source: |- + var client = new RestClient("https://psrc-00000.region.provider.confluent.cloud/subjects/{subject}/versions/{version}"); + var request = new RestRequest(Method.DELETE); + request.AddHeader("Authorization", "Basic REPLACE_BASIC_AUTH"); + IRestResponse response = client.Execute(request); + '/subjects/{subject}/versions/{version}/referencedby': + get: + tags: + - Subjects (v1) + summary: List schemas referencing a schema + description: Retrieves the IDs of schemas that reference the specified schema. + operationId: getReferencedBy + parameters: + - name: subject + in: path + description: Name of the subject + required: true + schema: + type: string + - name: version + in: path + description: 'Version of the schema to be returned. Valid values for versionId are between [1,2^31-1] or the string "latest". "latest" returns the last registered schema under the specified subject. Note that there may be a new latest schema that gets registered right after this request is served.' + required: true + schema: + type: string + responses: + '200': + description: List of IDs for schemas that reference the specified schema. + content: + application/vnd.schemaregistry.v1+json: + schema: + type: array + items: + type: integer + format: int32 + example: 100001 + application/vnd.schemaregistry+json; qs=0.9: + schema: + type: array + items: + type: integer + format: int32 + example: 100001 + application/json; qs=0.5: + schema: + type: array + items: + type: integer + format: int32 + example: 100001 + '400': + $ref: '#/components/responses/schemaregistry.v1.BadRequestError' + '401': + $ref: '#/components/responses/schemaregistry.v1.UnauthorizedError' + '403': + $ref: '#/components/responses/schemaregistry.v1.ForbiddenError' + '404': + description: Not Found. Error code 40401 indicates subject not found. Error code 40402 indicates version not found. + content: + application/vnd.schemaregistry.v1+json: + schema: + $ref: '#/components/schemas/ErrorMessage' + application/vnd.schemaregistry+json; qs=0.9: + schema: + $ref: '#/components/schemas/ErrorMessage' + application/json; qs=0.5: + schema: + $ref: '#/components/schemas/ErrorMessage' + '422': + description: Unprocessable Entity. Error code 42202 indicates an invalid version. + content: + application/vnd.schemaregistry.v1+json: + schema: + $ref: '#/components/schemas/ErrorMessage' + application/vnd.schemaregistry+json; qs=0.9: + schema: + $ref: '#/components/schemas/ErrorMessage' + application/json; qs=0.5: + schema: + $ref: '#/components/schemas/ErrorMessage' + '429': + $ref: '#/components/responses/RateLimitError' + '500': + description: Internal Server Error. Error code 50001 indicates a failure in the backend data store. + content: + application/vnd.schemaregistry.v1+json: + schema: + $ref: '#/components/schemas/ErrorMessage' + application/vnd.schemaregistry+json; qs=0.9: + schema: + $ref: '#/components/schemas/ErrorMessage' + application/json; qs=0.5: + schema: + $ref: '#/components/schemas/ErrorMessage' + security: + - resource-api-key: [] + - external-access-token: [] + x-codeSamples: + - lang: Shell + source: |- + curl --request GET \ + --url 'https://psrc-00000.region.provider.confluent.cloud/subjects/{subject}/versions/{version}/referencedby' \ + --header 'Authorization: Basic REPLACE_BASIC_AUTH' + - lang: Java + source: |- + OkHttpClient client = new OkHttpClient(); + + Request request = new Request.Builder() + .url("https://psrc-00000.region.provider.confluent.cloud/subjects/{subject}/versions/{version}/referencedby") + .get() + .addHeader("Authorization", "Basic REPLACE_BASIC_AUTH") + .build(); + + Response response = client.newCall(request).execute(); + - lang: Go + source: "package main\n\nimport (\n\t\"fmt\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://psrc-00000.region.provider.confluent.cloud/subjects/{subject}/versions/{version}/referencedby\"\n\n\treq, _ := http.NewRequest(\"GET\", url, nil)\n\n\treq.Header.Add(\"Authorization\", \"Basic REPLACE_BASIC_AUTH\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}" + - lang: Python + source: |- + import http.client + + conn = http.client.HTTPSConnection("psrc-00000.region.provider.confluent.cloud") + + headers = { 'Authorization': "Basic REPLACE_BASIC_AUTH" } + + conn.request("GET", "/subjects/{subject}/versions/{version}/referencedby", headers=headers) + + res = conn.getresponse() + data = res.read() + + print(data.decode("utf-8")) + - lang: Node + source: |- + const http = require("https"); + + const options = { + "method": "GET", + "hostname": "psrc-00000.region.provider.confluent.cloud", + "port": null, + "path": "/subjects/{subject}/versions/{version}/referencedby", + "headers": { + "Authorization": "Basic REPLACE_BASIC_AUTH" + } + }; + + const req = http.request(options, function (res) { + const chunks = []; + + res.on("data", function (chunk) { + chunks.push(chunk); + }); + + res.on("end", function () { + const body = Buffer.concat(chunks); + console.log(body.toString()); + }); + }); + + req.end(); + - lang: C + source: |- + CURL *hnd = curl_easy_init(); + + curl_easy_setopt(hnd, CURLOPT_CUSTOMREQUEST, "GET"); + curl_easy_setopt(hnd, CURLOPT_URL, "https://psrc-00000.region.provider.confluent.cloud/subjects/{subject}/versions/{version}/referencedby"); + + struct curl_slist *headers = NULL; + headers = curl_slist_append(headers, "Authorization: Basic REPLACE_BASIC_AUTH"); + curl_easy_setopt(hnd, CURLOPT_HTTPHEADER, headers); + + CURLcode ret = curl_easy_perform(hnd); + - lang: C# + source: |- + var client = new RestClient("https://psrc-00000.region.provider.confluent.cloud/subjects/{subject}/versions/{version}/referencedby"); + var request = new RestRequest(Method.GET); + request.AddHeader("Authorization", "Basic REPLACE_BASIC_AUTH"); + IRestResponse response = client.Execute(request); + '/subjects/{subject}/versions/{version}/schema': + get: + tags: + - Subjects (v1) + summary: Get schema string by version + description: Retrieves the schema for the specified version of this subject. Only the unescaped schema string is returned. + operationId: getSchemaOnly_1 + parameters: + - name: subject + in: path + description: Name of the subject + required: true + schema: + type: string + - name: version + in: path + description: 'Version of the schema to be returned. Valid values for versionId are between [1,2^31-1] or the string "latest". "latest" returns the last registered schema under the specified subject. Note that there may be a new latest schema that gets registered right after this request is served.' + required: true + schema: + type: string + - name: deleted + in: query + description: Whether to include deleted schema + schema: + type: boolean + responses: + '200': + description: The schema string. + content: + application/vnd.schemaregistry.v1+json: + schema: + type: string + example: '{"schema": "{"type": "string"}"}' + application/vnd.schemaregistry+json; qs=0.9: + schema: + type: string + example: '{"schema": "{"type": "string"}"}' + application/json; qs=0.5: + schema: + type: string + example: '{"schema": "{"type": "string"}"}' + '400': + $ref: '#/components/responses/schemaregistry.v1.BadRequestError' + '401': + $ref: '#/components/responses/schemaregistry.v1.UnauthorizedError' + '403': + $ref: '#/components/responses/schemaregistry.v1.ForbiddenError' + '404': + description: Not Found. Error code 40401 indicates subject not found. Error code 40402 indicates version not found. + content: + application/vnd.schemaregistry.v1+json: + schema: + $ref: '#/components/schemas/ErrorMessage' + application/vnd.schemaregistry+json; qs=0.9: + schema: + $ref: '#/components/schemas/ErrorMessage' + application/json; qs=0.5: + schema: + $ref: '#/components/schemas/ErrorMessage' + '422': + description: Unprocessable Entity. Error code 42202 indicates an invalid version. + content: + application/vnd.schemaregistry.v1+json: + schema: + $ref: '#/components/schemas/ErrorMessage' + application/vnd.schemaregistry+json; qs=0.9: + schema: + $ref: '#/components/schemas/ErrorMessage' + application/json; qs=0.5: + schema: + $ref: '#/components/schemas/ErrorMessage' + '429': + $ref: '#/components/responses/RateLimitError' + '500': + description: Internal Server Error. Error code 50001 indicates a failure in the backend data store. + content: + application/vnd.schemaregistry.v1+json: + schema: + $ref: '#/components/schemas/ErrorMessage' + application/vnd.schemaregistry+json; qs=0.9: + schema: + $ref: '#/components/schemas/ErrorMessage' + application/json; qs=0.5: + schema: + $ref: '#/components/schemas/ErrorMessage' + security: + - resource-api-key: [] + - external-access-token: [] + x-codeSamples: + - lang: Shell + source: |- + curl --request GET \ + --url 'https://psrc-00000.region.provider.confluent.cloud/subjects/{subject}/versions/{version}/schema' \ + --header 'Authorization: Basic REPLACE_BASIC_AUTH' + - lang: Java + source: |- + OkHttpClient client = new OkHttpClient(); + + Request request = new Request.Builder() + .url("https://psrc-00000.region.provider.confluent.cloud/subjects/{subject}/versions/{version}/schema") + .get() + .addHeader("Authorization", "Basic REPLACE_BASIC_AUTH") + .build(); + + Response response = client.newCall(request).execute(); + - lang: Go + source: "package main\n\nimport (\n\t\"fmt\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://psrc-00000.region.provider.confluent.cloud/subjects/{subject}/versions/{version}/schema\"\n\n\treq, _ := http.NewRequest(\"GET\", url, nil)\n\n\treq.Header.Add(\"Authorization\", \"Basic REPLACE_BASIC_AUTH\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}" + - lang: Python + source: |- + import http.client + + conn = http.client.HTTPSConnection("psrc-00000.region.provider.confluent.cloud") + + headers = { 'Authorization': "Basic REPLACE_BASIC_AUTH" } + + conn.request("GET", "/subjects/{subject}/versions/{version}/schema", headers=headers) + + res = conn.getresponse() + data = res.read() + + print(data.decode("utf-8")) + - lang: Node + source: |- + const http = require("https"); + + const options = { + "method": "GET", + "hostname": "psrc-00000.region.provider.confluent.cloud", + "port": null, + "path": "/subjects/{subject}/versions/{version}/schema", + "headers": { + "Authorization": "Basic REPLACE_BASIC_AUTH" + } + }; + + const req = http.request(options, function (res) { + const chunks = []; + + res.on("data", function (chunk) { + chunks.push(chunk); + }); + + res.on("end", function () { + const body = Buffer.concat(chunks); + console.log(body.toString()); + }); + }); + + req.end(); + - lang: C + source: |- + CURL *hnd = curl_easy_init(); + + curl_easy_setopt(hnd, CURLOPT_CUSTOMREQUEST, "GET"); + curl_easy_setopt(hnd, CURLOPT_URL, "https://psrc-00000.region.provider.confluent.cloud/subjects/{subject}/versions/{version}/schema"); + + struct curl_slist *headers = NULL; + headers = curl_slist_append(headers, "Authorization: Basic REPLACE_BASIC_AUTH"); + curl_easy_setopt(hnd, CURLOPT_HTTPHEADER, headers); + + CURLcode ret = curl_easy_perform(hnd); + - lang: C# + source: |- + var client = new RestClient("https://psrc-00000.region.provider.confluent.cloud/subjects/{subject}/versions/{version}/schema"); + var request = new RestRequest(Method.GET); + request.AddHeader("Authorization", "Basic REPLACE_BASIC_AUTH"); + IRestResponse response = client.Execute(request); + '/subjects/{subject}/versions': + get: + tags: + - Subjects (v1) + summary: List versions under subject + description: Retrieves a list of versions registered under the specified subject. + operationId: listVersions + parameters: + - name: subject + in: path + description: Name of the subject + required: true + schema: + type: string + - name: deleted + in: query + description: Whether to include deleted schemas + schema: + type: boolean + responses: + '200': + description: List of version numbers matching the specified parameters. + content: + application/vnd.schemaregistry.v1+json: + schema: + type: array + items: + type: integer + format: int32 + example: 1 + application/vnd.schemaregistry+json; qs=0.9: + schema: + type: array + items: + type: integer + format: int32 + example: 1 + application/json; qs=0.5: + schema: + type: array + items: + type: integer + format: int32 + example: 1 + '400': + $ref: '#/components/responses/schemaregistry.v1.BadRequestError' + '401': + $ref: '#/components/responses/schemaregistry.v1.UnauthorizedError' + '403': + $ref: '#/components/responses/schemaregistry.v1.ForbiddenError' + '404': + description: 'Not Found. Error code 40401 indicates subject not found. ' + content: + application/vnd.schemaregistry.v1+json: + schema: + $ref: '#/components/schemas/ErrorMessage' + application/vnd.schemaregistry+json; qs=0.9: + schema: + $ref: '#/components/schemas/ErrorMessage' + application/json; qs=0.5: + schema: + $ref: '#/components/schemas/ErrorMessage' + '429': + $ref: '#/components/responses/RateLimitError' + '500': + description: Internal Server Error. Error code 50001 indicates a failure in the backend data store. + content: + application/vnd.schemaregistry.v1+json: + schema: + $ref: '#/components/schemas/ErrorMessage' + application/vnd.schemaregistry+json; qs=0.9: + schema: + $ref: '#/components/schemas/ErrorMessage' + application/json; qs=0.5: + schema: + $ref: '#/components/schemas/ErrorMessage' + security: + - resource-api-key: [] + - external-access-token: [] + x-codeSamples: + - lang: Shell + source: |- + curl --request GET \ + --url 'https://psrc-00000.region.provider.confluent.cloud/subjects/{subject}/versions' \ + --header 'Authorization: Basic REPLACE_BASIC_AUTH' + - lang: Java + source: |- + OkHttpClient client = new OkHttpClient(); + + Request request = new Request.Builder() + .url("https://psrc-00000.region.provider.confluent.cloud/subjects/{subject}/versions") + .get() + .addHeader("Authorization", "Basic REPLACE_BASIC_AUTH") + .build(); + + Response response = client.newCall(request).execute(); + - lang: Go + source: "package main\n\nimport (\n\t\"fmt\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://psrc-00000.region.provider.confluent.cloud/subjects/{subject}/versions\"\n\n\treq, _ := http.NewRequest(\"GET\", url, nil)\n\n\treq.Header.Add(\"Authorization\", \"Basic REPLACE_BASIC_AUTH\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}" + - lang: Python + source: |- + import http.client + + conn = http.client.HTTPSConnection("psrc-00000.region.provider.confluent.cloud") + + headers = { 'Authorization': "Basic REPLACE_BASIC_AUTH" } + + conn.request("GET", "/subjects/{subject}/versions", headers=headers) + + res = conn.getresponse() + data = res.read() + + print(data.decode("utf-8")) + - lang: Node + source: |- + const http = require("https"); + + const options = { + "method": "GET", + "hostname": "psrc-00000.region.provider.confluent.cloud", + "port": null, + "path": "/subjects/{subject}/versions", + "headers": { + "Authorization": "Basic REPLACE_BASIC_AUTH" + } + }; + + const req = http.request(options, function (res) { + const chunks = []; + + res.on("data", function (chunk) { + chunks.push(chunk); + }); + + res.on("end", function () { + const body = Buffer.concat(chunks); + console.log(body.toString()); + }); + }); + + req.end(); + - lang: C + source: |- + CURL *hnd = curl_easy_init(); + + curl_easy_setopt(hnd, CURLOPT_CUSTOMREQUEST, "GET"); + curl_easy_setopt(hnd, CURLOPT_URL, "https://psrc-00000.region.provider.confluent.cloud/subjects/{subject}/versions"); + + struct curl_slist *headers = NULL; + headers = curl_slist_append(headers, "Authorization: Basic REPLACE_BASIC_AUTH"); + curl_easy_setopt(hnd, CURLOPT_HTTPHEADER, headers); + + CURLcode ret = curl_easy_perform(hnd); + - lang: C# + source: |- + var client = new RestClient("https://psrc-00000.region.provider.confluent.cloud/subjects/{subject}/versions"); + var request = new RestRequest(Method.GET); + request.AddHeader("Authorization", "Basic REPLACE_BASIC_AUTH"); + IRestResponse response = client.Execute(request); + post: + tags: + - Subjects (v1) + summary: Register schema under a subject + description: |- + Register a new schema under the specified subject. If successfully registered, this returns the unique identifier of this schema in the registry. The returned identifier should be used to retrieve this schema from the schemas resource and is different from the schema's version which is associated with the subject. If the same schema is registered under a different subject, the same identifier will be returned. However, the version of the schema may be different under different subjects. + A schema should be compatible with the previously registered schema or schemas (if there are any) as per the configured compatibility level. The configured compatibility level can be obtained by issuing a GET http:get:: /config/(string: subject). If that returns null, then GET http:get:: /config + When there are multiple instances of Schema Registry running in the same cluster, the schema registration request will be forwarded to one of the instances designated as the primary. If the primary is not available, the client will get an error code indicating that the forwarding has failed. + operationId: register + parameters: + - name: subject + in: path + description: Name of the subject + required: true + schema: + type: string + - name: normalize + in: query + description: Whether to register the normalized schema + schema: + type: boolean + requestBody: + description: Schema + content: + application/vnd.schemaregistry.v1+json: + schema: + $ref: '#/components/schemas/RegisterSchemaRequest' + application/vnd.schemaregistry+json: + schema: + $ref: '#/components/schemas/RegisterSchemaRequest' + application/json: + schema: + $ref: '#/components/schemas/RegisterSchemaRequest' + application/octet-stream: + schema: + $ref: '#/components/schemas/RegisterSchemaRequest' + required: true + responses: + '200': + description: Schema successfully registered. + content: + application/vnd.schemaregistry.v1+json: + schema: + $ref: '#/components/schemas/RegisterSchemaResponse' + application/vnd.schemaregistry+json; qs=0.9: + schema: + $ref: '#/components/schemas/RegisterSchemaResponse' + application/json; qs=0.5: + schema: + $ref: '#/components/schemas/RegisterSchemaResponse' + '400': + $ref: '#/components/responses/schemaregistry.v1.BadRequestError' + '401': + $ref: '#/components/responses/schemaregistry.v1.UnauthorizedError' + '403': + $ref: '#/components/responses/schemaregistry.v1.ForbiddenError' + '409': + description: Conflict. Incompatible schema. + content: + application/vnd.schemaregistry.v1+json: + schema: + $ref: '#/components/schemas/ErrorMessage' + application/vnd.schemaregistry+json; qs=0.9: + schema: + $ref: '#/components/schemas/ErrorMessage' + application/json; qs=0.5: + schema: + $ref: '#/components/schemas/ErrorMessage' + '422': + description: 'Unprocessable entity. Error code 42201 indicates an invalid schema or schema type. ' + content: + application/vnd.schemaregistry.v1+json: + schema: + $ref: '#/components/schemas/ErrorMessage' + application/vnd.schemaregistry+json; qs=0.9: + schema: + $ref: '#/components/schemas/ErrorMessage' + application/json; qs=0.5: + schema: + $ref: '#/components/schemas/ErrorMessage' + '429': + $ref: '#/components/responses/RateLimitError' + '500': + description: Internal Server Error. Error code 50001 indicates a failure in the backend data store.Error code 50002 indicates operation timed out. Error code 50003 indicates a failure forwarding the request to the primary. + content: + application/vnd.schemaregistry.v1+json: + schema: + $ref: '#/components/schemas/ErrorMessage' + application/vnd.schemaregistry+json; qs=0.9: + schema: + $ref: '#/components/schemas/ErrorMessage' + application/json; qs=0.5: + schema: + $ref: '#/components/schemas/ErrorMessage' + security: + - resource-api-key: [] + - external-access-token: [] + x-codeSamples: + - lang: Shell + source: |- + curl --request POST \ + --url 'https://psrc-00000.region.provider.confluent.cloud/subjects/{subject}/versions' \ + --header 'Authorization: Basic REPLACE_BASIC_AUTH' \ + --header 'content-type: application/octet-stream' \ + --data '{"version":0,"id":0,"schemaType":"string","references":[{"name":"io.confluent.kafka.example.User","subject":"User","version":1}],"schema":"string","metadata":{"tags":{"property1":["string"],"property2":["string"]},"properties":{"property1":"string","property2":"string"},"sensitive":["string"]},"ruleSet":{"migrationRules":[{"name":"string","doc":"string","kind":"TRANSFORM","mode":"UPGRADE","type":"string","tags":["string"],"params":{"property1":"string","property2":"string"},"expr":"string","onSuccess":"string","onFailure":"string","disabled":true}],"domainRules":[{"name":"string","doc":"string","kind":"TRANSFORM","mode":"UPGRADE","type":"string","tags":["string"],"params":{"property1":"string","property2":"string"},"expr":"string","onSuccess":"string","onFailure":"string","disabled":true}]}}' + - lang: Java + source: |- + OkHttpClient client = new OkHttpClient(); + + MediaType mediaType = MediaType.parse("application/json"); + RequestBody body = RequestBody.create(mediaType, "{\"version\":0,\"id\":0,\"schemaType\":\"string\",\"references\":[{\"name\":\"io.confluent.kafka.example.User\",\"subject\":\"User\",\"version\":1}],\"schema\":\"string\",\"metadata\":{\"tags\":{\"property1\":[\"string\"],\"property2\":[\"string\"]},\"properties\":{\"property1\":\"string\",\"property2\":\"string\"},\"sensitive\":[\"string\"]},\"ruleSet\":{\"migrationRules\":[{\"name\":\"string\",\"doc\":\"string\",\"kind\":\"TRANSFORM\",\"mode\":\"UPGRADE\",\"type\":\"string\",\"tags\":[\"string\"],\"params\":{\"property1\":\"string\",\"property2\":\"string\"},\"expr\":\"string\",\"onSuccess\":\"string\",\"onFailure\":\"string\",\"disabled\":true}],\"domainRules\":[{\"name\":\"string\",\"doc\":\"string\",\"kind\":\"TRANSFORM\",\"mode\":\"UPGRADE\",\"type\":\"string\",\"tags\":[\"string\"],\"params\":{\"property1\":\"string\",\"property2\":\"string\"},\"expr\":\"string\",\"onSuccess\":\"string\",\"onFailure\":\"string\",\"disabled\":true}]}}"); + Request request = new Request.Builder() + .url("https://psrc-00000.region.provider.confluent.cloud/subjects/{subject}/versions") + .post(body) + .addHeader("content-type", "application/octet-stream") + .addHeader("Authorization", "Basic REPLACE_BASIC_AUTH") + .build(); + + Response response = client.newCall(request).execute(); + - lang: Go + source: "package main\n\nimport (\n\t\"fmt\"\n\t\"strings\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://psrc-00000.region.provider.confluent.cloud/subjects/{subject}/versions\"\n\n\tpayload := strings.NewReader(\"{\\\"version\\\":0,\\\"id\\\":0,\\\"schemaType\\\":\\\"string\\\",\\\"references\\\":[{\\\"name\\\":\\\"io.confluent.kafka.example.User\\\",\\\"subject\\\":\\\"User\\\",\\\"version\\\":1}],\\\"schema\\\":\\\"string\\\",\\\"metadata\\\":{\\\"tags\\\":{\\\"property1\\\":[\\\"string\\\"],\\\"property2\\\":[\\\"string\\\"]},\\\"properties\\\":{\\\"property1\\\":\\\"string\\\",\\\"property2\\\":\\\"string\\\"},\\\"sensitive\\\":[\\\"string\\\"]},\\\"ruleSet\\\":{\\\"migrationRules\\\":[{\\\"name\\\":\\\"string\\\",\\\"doc\\\":\\\"string\\\",\\\"kind\\\":\\\"TRANSFORM\\\",\\\"mode\\\":\\\"UPGRADE\\\",\\\"type\\\":\\\"string\\\",\\\"tags\\\":[\\\"string\\\"],\\\"params\\\":{\\\"property1\\\":\\\"string\\\",\\\"property2\\\":\\\"string\\\"},\\\"expr\\\":\\\"string\\\",\\\"onSuccess\\\":\\\"string\\\",\\\"onFailure\\\":\\\"string\\\",\\\"disabled\\\":true}],\\\"domainRules\\\":[{\\\"name\\\":\\\"string\\\",\\\"doc\\\":\\\"string\\\",\\\"kind\\\":\\\"TRANSFORM\\\",\\\"mode\\\":\\\"UPGRADE\\\",\\\"type\\\":\\\"string\\\",\\\"tags\\\":[\\\"string\\\"],\\\"params\\\":{\\\"property1\\\":\\\"string\\\",\\\"property2\\\":\\\"string\\\"},\\\"expr\\\":\\\"string\\\",\\\"onSuccess\\\":\\\"string\\\",\\\"onFailure\\\":\\\"string\\\",\\\"disabled\\\":true}]}}\")\n\n\treq, _ := http.NewRequest(\"POST\", url, payload)\n\n\treq.Header.Add(\"content-type\", \"application/octet-stream\")\n\treq.Header.Add(\"Authorization\", \"Basic REPLACE_BASIC_AUTH\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}" + - lang: Python + source: |- + import http.client + + conn = http.client.HTTPSConnection("psrc-00000.region.provider.confluent.cloud") + + payload = "{\"version\":0,\"id\":0,\"schemaType\":\"string\",\"references\":[{\"name\":\"io.confluent.kafka.example.User\",\"subject\":\"User\",\"version\":1}],\"schema\":\"string\",\"metadata\":{\"tags\":{\"property1\":[\"string\"],\"property2\":[\"string\"]},\"properties\":{\"property1\":\"string\",\"property2\":\"string\"},\"sensitive\":[\"string\"]},\"ruleSet\":{\"migrationRules\":[{\"name\":\"string\",\"doc\":\"string\",\"kind\":\"TRANSFORM\",\"mode\":\"UPGRADE\",\"type\":\"string\",\"tags\":[\"string\"],\"params\":{\"property1\":\"string\",\"property2\":\"string\"},\"expr\":\"string\",\"onSuccess\":\"string\",\"onFailure\":\"string\",\"disabled\":true}],\"domainRules\":[{\"name\":\"string\",\"doc\":\"string\",\"kind\":\"TRANSFORM\",\"mode\":\"UPGRADE\",\"type\":\"string\",\"tags\":[\"string\"],\"params\":{\"property1\":\"string\",\"property2\":\"string\"},\"expr\":\"string\",\"onSuccess\":\"string\",\"onFailure\":\"string\",\"disabled\":true}]}}" + + headers = { + 'content-type': "application/octet-stream", + 'Authorization': "Basic REPLACE_BASIC_AUTH" + } + + conn.request("POST", "/subjects/{subject}/versions", payload, headers) + + res = conn.getresponse() + data = res.read() + + print(data.decode("utf-8")) + - lang: Node + source: |- + const http = require("https"); + + const options = { + "method": "POST", + "hostname": "psrc-00000.region.provider.confluent.cloud", + "port": null, + "path": "/subjects/{subject}/versions", + "headers": { + "content-type": "application/octet-stream", + "Authorization": "Basic REPLACE_BASIC_AUTH" + } + }; + + const req = http.request(options, function (res) { + const chunks = []; + + res.on("data", function (chunk) { + chunks.push(chunk); + }); + + res.on("end", function () { + const body = Buffer.concat(chunks); + console.log(body.toString()); + }); + }); + + req.write(JSON.stringify({ + version: 0, + id: 0, + schemaType: 'string', + references: [{name: 'io.confluent.kafka.example.User', subject: 'User', version: 1}], + schema: 'string', + metadata: { + tags: {property1: ['string'], property2: ['string']}, + properties: {property1: 'string', property2: 'string'}, + sensitive: ['string'] + }, + ruleSet: { + migrationRules: [ + { + name: 'string', + doc: 'string', + kind: 'TRANSFORM', + mode: 'UPGRADE', + type: 'string', + tags: ['string'], + params: {property1: 'string', property2: 'string'}, + expr: 'string', + onSuccess: 'string', + onFailure: 'string', + disabled: true + } + ], + domainRules: [ + { + name: 'string', + doc: 'string', + kind: 'TRANSFORM', + mode: 'UPGRADE', + type: 'string', + tags: ['string'], + params: {property1: 'string', property2: 'string'}, + expr: 'string', + onSuccess: 'string', + onFailure: 'string', + disabled: true + } + ] + } + })); + req.end(); + - lang: C + source: |- + CURL *hnd = curl_easy_init(); + + curl_easy_setopt(hnd, CURLOPT_CUSTOMREQUEST, "POST"); + curl_easy_setopt(hnd, CURLOPT_URL, "https://psrc-00000.region.provider.confluent.cloud/subjects/{subject}/versions"); + + struct curl_slist *headers = NULL; + headers = curl_slist_append(headers, "content-type: application/octet-stream"); + headers = curl_slist_append(headers, "Authorization: Basic REPLACE_BASIC_AUTH"); + curl_easy_setopt(hnd, CURLOPT_HTTPHEADER, headers); + + curl_easy_setopt(hnd, CURLOPT_POSTFIELDS, "{\"version\":0,\"id\":0,\"schemaType\":\"string\",\"references\":[{\"name\":\"io.confluent.kafka.example.User\",\"subject\":\"User\",\"version\":1}],\"schema\":\"string\",\"metadata\":{\"tags\":{\"property1\":[\"string\"],\"property2\":[\"string\"]},\"properties\":{\"property1\":\"string\",\"property2\":\"string\"},\"sensitive\":[\"string\"]},\"ruleSet\":{\"migrationRules\":[{\"name\":\"string\",\"doc\":\"string\",\"kind\":\"TRANSFORM\",\"mode\":\"UPGRADE\",\"type\":\"string\",\"tags\":[\"string\"],\"params\":{\"property1\":\"string\",\"property2\":\"string\"},\"expr\":\"string\",\"onSuccess\":\"string\",\"onFailure\":\"string\",\"disabled\":true}],\"domainRules\":[{\"name\":\"string\",\"doc\":\"string\",\"kind\":\"TRANSFORM\",\"mode\":\"UPGRADE\",\"type\":\"string\",\"tags\":[\"string\"],\"params\":{\"property1\":\"string\",\"property2\":\"string\"},\"expr\":\"string\",\"onSuccess\":\"string\",\"onFailure\":\"string\",\"disabled\":true}]}}"); + + CURLcode ret = curl_easy_perform(hnd); + - lang: C# + source: |- + var client = new RestClient("https://psrc-00000.region.provider.confluent.cloud/subjects/{subject}/versions"); + var request = new RestRequest(Method.POST); + request.AddHeader("content-type", "application/octet-stream"); + request.AddHeader("Authorization", "Basic REPLACE_BASIC_AUTH"); + request.AddParameter("application/octet-stream", "{\"version\":0,\"id\":0,\"schemaType\":\"string\",\"references\":[{\"name\":\"io.confluent.kafka.example.User\",\"subject\":\"User\",\"version\":1}],\"schema\":\"string\",\"metadata\":{\"tags\":{\"property1\":[\"string\"],\"property2\":[\"string\"]},\"properties\":{\"property1\":\"string\",\"property2\":\"string\"},\"sensitive\":[\"string\"]},\"ruleSet\":{\"migrationRules\":[{\"name\":\"string\",\"doc\":\"string\",\"kind\":\"TRANSFORM\",\"mode\":\"UPGRADE\",\"type\":\"string\",\"tags\":[\"string\"],\"params\":{\"property1\":\"string\",\"property2\":\"string\"},\"expr\":\"string\",\"onSuccess\":\"string\",\"onFailure\":\"string\",\"disabled\":true}],\"domainRules\":[{\"name\":\"string\",\"doc\":\"string\",\"kind\":\"TRANSFORM\",\"mode\":\"UPGRADE\",\"type\":\"string\",\"tags\":[\"string\"],\"params\":{\"property1\":\"string\",\"property2\":\"string\"},\"expr\":\"string\",\"onSuccess\":\"string\",\"onFailure\":\"string\",\"disabled\":true}]}}", ParameterType.RequestBody); + IRestResponse response = client.Execute(request); + '/subjects/{subject}': + post: + tags: + - Subjects (v1) + summary: Lookup schema under subject + description: 'Check if a schema has already been registered under the specified subject. If so, this returns the schema string along with its globally unique identifier, its version under this subject and the subject name.' + operationId: lookUpSchemaUnderSubject + parameters: + - name: subject + in: path + description: Subject under which the schema will be registered + required: true + schema: + type: string + - name: normalize + in: query + description: Whether to lookup the normalized schema + schema: + type: boolean + - name: deleted + in: query + description: Whether to lookup deleted schemas + schema: + type: boolean + requestBody: + description: Schema + content: + application/vnd.schemaregistry.v1+json: + schema: + $ref: '#/components/schemas/RegisterSchemaRequest' + application/vnd.schemaregistry+json: + schema: + $ref: '#/components/schemas/RegisterSchemaRequest' + application/json: + schema: + $ref: '#/components/schemas/RegisterSchemaRequest' + application/octet-stream: + schema: + $ref: '#/components/schemas/RegisterSchemaRequest' + required: true + responses: + '200': + description: The schema. + content: + application/vnd.schemaregistry.v1+json: + schema: + $ref: '#/components/schemas/Schema' + application/vnd.schemaregistry+json; qs=0.9: + schema: + $ref: '#/components/schemas/Schema' + application/json; qs=0.5: + schema: + $ref: '#/components/schemas/Schema' + '400': + $ref: '#/components/responses/schemaregistry.v1.BadRequestError' + '401': + $ref: '#/components/responses/schemaregistry.v1.UnauthorizedError' + '403': + $ref: '#/components/responses/schemaregistry.v1.ForbiddenError' + '404': + description: Not Found. Error code 40401 indicates subject not found. Error code 40403 indicates schema not found. + content: + application/vnd.schemaregistry.v1+json: + schema: + $ref: '#/components/schemas/ErrorMessage' + application/vnd.schemaregistry+json; qs=0.9: + schema: + $ref: '#/components/schemas/ErrorMessage' + application/json; qs=0.5: + schema: + $ref: '#/components/schemas/ErrorMessage' + '429': + $ref: '#/components/responses/RateLimitError' + '500': + description: Internal Server Error. + content: + application/vnd.schemaregistry.v1+json: + schema: + $ref: '#/components/schemas/ErrorMessage' + application/vnd.schemaregistry+json; qs=0.9: + schema: + $ref: '#/components/schemas/ErrorMessage' + application/json; qs=0.5: + schema: + $ref: '#/components/schemas/ErrorMessage' + security: + - resource-api-key: [] + - external-access-token: [] + x-codeSamples: + - lang: Shell + source: |- + curl --request POST \ + --url 'https://psrc-00000.region.provider.confluent.cloud/subjects/{subject}' \ + --header 'Authorization: Basic REPLACE_BASIC_AUTH' \ + --header 'content-type: application/octet-stream' \ + --data '{"version":0,"id":0,"schemaType":"string","references":[{"name":"io.confluent.kafka.example.User","subject":"User","version":1}],"schema":"string","metadata":{"tags":{"property1":["string"],"property2":["string"]},"properties":{"property1":"string","property2":"string"},"sensitive":["string"]},"ruleSet":{"migrationRules":[{"name":"string","doc":"string","kind":"TRANSFORM","mode":"UPGRADE","type":"string","tags":["string"],"params":{"property1":"string","property2":"string"},"expr":"string","onSuccess":"string","onFailure":"string","disabled":true}],"domainRules":[{"name":"string","doc":"string","kind":"TRANSFORM","mode":"UPGRADE","type":"string","tags":["string"],"params":{"property1":"string","property2":"string"},"expr":"string","onSuccess":"string","onFailure":"string","disabled":true}]}}' + - lang: Java + source: |- + OkHttpClient client = new OkHttpClient(); + + MediaType mediaType = MediaType.parse("application/json"); + RequestBody body = RequestBody.create(mediaType, "{\"version\":0,\"id\":0,\"schemaType\":\"string\",\"references\":[{\"name\":\"io.confluent.kafka.example.User\",\"subject\":\"User\",\"version\":1}],\"schema\":\"string\",\"metadata\":{\"tags\":{\"property1\":[\"string\"],\"property2\":[\"string\"]},\"properties\":{\"property1\":\"string\",\"property2\":\"string\"},\"sensitive\":[\"string\"]},\"ruleSet\":{\"migrationRules\":[{\"name\":\"string\",\"doc\":\"string\",\"kind\":\"TRANSFORM\",\"mode\":\"UPGRADE\",\"type\":\"string\",\"tags\":[\"string\"],\"params\":{\"property1\":\"string\",\"property2\":\"string\"},\"expr\":\"string\",\"onSuccess\":\"string\",\"onFailure\":\"string\",\"disabled\":true}],\"domainRules\":[{\"name\":\"string\",\"doc\":\"string\",\"kind\":\"TRANSFORM\",\"mode\":\"UPGRADE\",\"type\":\"string\",\"tags\":[\"string\"],\"params\":{\"property1\":\"string\",\"property2\":\"string\"},\"expr\":\"string\",\"onSuccess\":\"string\",\"onFailure\":\"string\",\"disabled\":true}]}}"); + Request request = new Request.Builder() + .url("https://psrc-00000.region.provider.confluent.cloud/subjects/{subject}") + .post(body) + .addHeader("content-type", "application/octet-stream") + .addHeader("Authorization", "Basic REPLACE_BASIC_AUTH") + .build(); + + Response response = client.newCall(request).execute(); + - lang: Go + source: "package main\n\nimport (\n\t\"fmt\"\n\t\"strings\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://psrc-00000.region.provider.confluent.cloud/subjects/{subject}\"\n\n\tpayload := strings.NewReader(\"{\\\"version\\\":0,\\\"id\\\":0,\\\"schemaType\\\":\\\"string\\\",\\\"references\\\":[{\\\"name\\\":\\\"io.confluent.kafka.example.User\\\",\\\"subject\\\":\\\"User\\\",\\\"version\\\":1}],\\\"schema\\\":\\\"string\\\",\\\"metadata\\\":{\\\"tags\\\":{\\\"property1\\\":[\\\"string\\\"],\\\"property2\\\":[\\\"string\\\"]},\\\"properties\\\":{\\\"property1\\\":\\\"string\\\",\\\"property2\\\":\\\"string\\\"},\\\"sensitive\\\":[\\\"string\\\"]},\\\"ruleSet\\\":{\\\"migrationRules\\\":[{\\\"name\\\":\\\"string\\\",\\\"doc\\\":\\\"string\\\",\\\"kind\\\":\\\"TRANSFORM\\\",\\\"mode\\\":\\\"UPGRADE\\\",\\\"type\\\":\\\"string\\\",\\\"tags\\\":[\\\"string\\\"],\\\"params\\\":{\\\"property1\\\":\\\"string\\\",\\\"property2\\\":\\\"string\\\"},\\\"expr\\\":\\\"string\\\",\\\"onSuccess\\\":\\\"string\\\",\\\"onFailure\\\":\\\"string\\\",\\\"disabled\\\":true}],\\\"domainRules\\\":[{\\\"name\\\":\\\"string\\\",\\\"doc\\\":\\\"string\\\",\\\"kind\\\":\\\"TRANSFORM\\\",\\\"mode\\\":\\\"UPGRADE\\\",\\\"type\\\":\\\"string\\\",\\\"tags\\\":[\\\"string\\\"],\\\"params\\\":{\\\"property1\\\":\\\"string\\\",\\\"property2\\\":\\\"string\\\"},\\\"expr\\\":\\\"string\\\",\\\"onSuccess\\\":\\\"string\\\",\\\"onFailure\\\":\\\"string\\\",\\\"disabled\\\":true}]}}\")\n\n\treq, _ := http.NewRequest(\"POST\", url, payload)\n\n\treq.Header.Add(\"content-type\", \"application/octet-stream\")\n\treq.Header.Add(\"Authorization\", \"Basic REPLACE_BASIC_AUTH\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}" + - lang: Python + source: |- + import http.client + + conn = http.client.HTTPSConnection("psrc-00000.region.provider.confluent.cloud") + + payload = "{\"version\":0,\"id\":0,\"schemaType\":\"string\",\"references\":[{\"name\":\"io.confluent.kafka.example.User\",\"subject\":\"User\",\"version\":1}],\"schema\":\"string\",\"metadata\":{\"tags\":{\"property1\":[\"string\"],\"property2\":[\"string\"]},\"properties\":{\"property1\":\"string\",\"property2\":\"string\"},\"sensitive\":[\"string\"]},\"ruleSet\":{\"migrationRules\":[{\"name\":\"string\",\"doc\":\"string\",\"kind\":\"TRANSFORM\",\"mode\":\"UPGRADE\",\"type\":\"string\",\"tags\":[\"string\"],\"params\":{\"property1\":\"string\",\"property2\":\"string\"},\"expr\":\"string\",\"onSuccess\":\"string\",\"onFailure\":\"string\",\"disabled\":true}],\"domainRules\":[{\"name\":\"string\",\"doc\":\"string\",\"kind\":\"TRANSFORM\",\"mode\":\"UPGRADE\",\"type\":\"string\",\"tags\":[\"string\"],\"params\":{\"property1\":\"string\",\"property2\":\"string\"},\"expr\":\"string\",\"onSuccess\":\"string\",\"onFailure\":\"string\",\"disabled\":true}]}}" + + headers = { + 'content-type': "application/octet-stream", + 'Authorization': "Basic REPLACE_BASIC_AUTH" + } + + conn.request("POST", "/subjects/{subject}", payload, headers) + + res = conn.getresponse() + data = res.read() + + print(data.decode("utf-8")) + - lang: Node + source: |- + const http = require("https"); + + const options = { + "method": "POST", + "hostname": "psrc-00000.region.provider.confluent.cloud", + "port": null, + "path": "/subjects/{subject}", + "headers": { + "content-type": "application/octet-stream", + "Authorization": "Basic REPLACE_BASIC_AUTH" + } + }; + + const req = http.request(options, function (res) { + const chunks = []; + + res.on("data", function (chunk) { + chunks.push(chunk); + }); + + res.on("end", function () { + const body = Buffer.concat(chunks); + console.log(body.toString()); + }); + }); + + req.write(JSON.stringify({ + version: 0, + id: 0, + schemaType: 'string', + references: [{name: 'io.confluent.kafka.example.User', subject: 'User', version: 1}], + schema: 'string', + metadata: { + tags: {property1: ['string'], property2: ['string']}, + properties: {property1: 'string', property2: 'string'}, + sensitive: ['string'] + }, + ruleSet: { + migrationRules: [ + { + name: 'string', + doc: 'string', + kind: 'TRANSFORM', + mode: 'UPGRADE', + type: 'string', + tags: ['string'], + params: {property1: 'string', property2: 'string'}, + expr: 'string', + onSuccess: 'string', + onFailure: 'string', + disabled: true + } + ], + domainRules: [ + { + name: 'string', + doc: 'string', + kind: 'TRANSFORM', + mode: 'UPGRADE', + type: 'string', + tags: ['string'], + params: {property1: 'string', property2: 'string'}, + expr: 'string', + onSuccess: 'string', + onFailure: 'string', + disabled: true + } + ] + } + })); + req.end(); + - lang: C + source: |- + CURL *hnd = curl_easy_init(); + + curl_easy_setopt(hnd, CURLOPT_CUSTOMREQUEST, "POST"); + curl_easy_setopt(hnd, CURLOPT_URL, "https://psrc-00000.region.provider.confluent.cloud/subjects/{subject}"); + + struct curl_slist *headers = NULL; + headers = curl_slist_append(headers, "content-type: application/octet-stream"); + headers = curl_slist_append(headers, "Authorization: Basic REPLACE_BASIC_AUTH"); + curl_easy_setopt(hnd, CURLOPT_HTTPHEADER, headers); + + curl_easy_setopt(hnd, CURLOPT_POSTFIELDS, "{\"version\":0,\"id\":0,\"schemaType\":\"string\",\"references\":[{\"name\":\"io.confluent.kafka.example.User\",\"subject\":\"User\",\"version\":1}],\"schema\":\"string\",\"metadata\":{\"tags\":{\"property1\":[\"string\"],\"property2\":[\"string\"]},\"properties\":{\"property1\":\"string\",\"property2\":\"string\"},\"sensitive\":[\"string\"]},\"ruleSet\":{\"migrationRules\":[{\"name\":\"string\",\"doc\":\"string\",\"kind\":\"TRANSFORM\",\"mode\":\"UPGRADE\",\"type\":\"string\",\"tags\":[\"string\"],\"params\":{\"property1\":\"string\",\"property2\":\"string\"},\"expr\":\"string\",\"onSuccess\":\"string\",\"onFailure\":\"string\",\"disabled\":true}],\"domainRules\":[{\"name\":\"string\",\"doc\":\"string\",\"kind\":\"TRANSFORM\",\"mode\":\"UPGRADE\",\"type\":\"string\",\"tags\":[\"string\"],\"params\":{\"property1\":\"string\",\"property2\":\"string\"},\"expr\":\"string\",\"onSuccess\":\"string\",\"onFailure\":\"string\",\"disabled\":true}]}}"); + + CURLcode ret = curl_easy_perform(hnd); + - lang: C# + source: |- + var client = new RestClient("https://psrc-00000.region.provider.confluent.cloud/subjects/{subject}"); + var request = new RestRequest(Method.POST); + request.AddHeader("content-type", "application/octet-stream"); + request.AddHeader("Authorization", "Basic REPLACE_BASIC_AUTH"); + request.AddParameter("application/octet-stream", "{\"version\":0,\"id\":0,\"schemaType\":\"string\",\"references\":[{\"name\":\"io.confluent.kafka.example.User\",\"subject\":\"User\",\"version\":1}],\"schema\":\"string\",\"metadata\":{\"tags\":{\"property1\":[\"string\"],\"property2\":[\"string\"]},\"properties\":{\"property1\":\"string\",\"property2\":\"string\"},\"sensitive\":[\"string\"]},\"ruleSet\":{\"migrationRules\":[{\"name\":\"string\",\"doc\":\"string\",\"kind\":\"TRANSFORM\",\"mode\":\"UPGRADE\",\"type\":\"string\",\"tags\":[\"string\"],\"params\":{\"property1\":\"string\",\"property2\":\"string\"},\"expr\":\"string\",\"onSuccess\":\"string\",\"onFailure\":\"string\",\"disabled\":true}],\"domainRules\":[{\"name\":\"string\",\"doc\":\"string\",\"kind\":\"TRANSFORM\",\"mode\":\"UPGRADE\",\"type\":\"string\",\"tags\":[\"string\"],\"params\":{\"property1\":\"string\",\"property2\":\"string\"},\"expr\":\"string\",\"onSuccess\":\"string\",\"onFailure\":\"string\",\"disabled\":true}]}}", ParameterType.RequestBody); + IRestResponse response = client.Execute(request); + delete: + tags: + - Subjects (v1) + summary: Delete subject + description: Deletes the specified subject and its associated compatibility level if registered. It is recommended to use this API only when a topic needs to be recycled or in development environment. + operationId: deleteSubject + parameters: + - name: subject + in: path + description: Name of the subject + required: true + schema: + type: string + - name: permanent + in: query + description: Whether to perform a permanent delete + schema: + type: boolean + responses: + '200': + description: Operation succeeded. Returns list of schema versions deleted + content: + application/vnd.schemaregistry.v1+json: + schema: + type: array + items: + type: integer + format: int32 + example: 1 + application/vnd.schemaregistry+json; qs=0.9: + schema: + type: array + items: + type: integer + format: int32 + example: 1 + application/json; qs=0.5: + schema: + type: array + items: + type: integer + format: int32 + example: 1 + '400': + $ref: '#/components/responses/schemaregistry.v1.BadRequestError' + '401': + $ref: '#/components/responses/schemaregistry.v1.UnauthorizedError' + '403': + $ref: '#/components/responses/schemaregistry.v1.ForbiddenError' + '404': + description: Not Found. Error code 40401 indicates subject not found. + content: + application/vnd.schemaregistry.v1+json: + schema: + $ref: '#/components/schemas/ErrorMessage' + application/vnd.schemaregistry+json; qs=0.9: + schema: + $ref: '#/components/schemas/ErrorMessage' + application/json; qs=0.5: + schema: + $ref: '#/components/schemas/ErrorMessage' + '429': + $ref: '#/components/responses/RateLimitError' + '500': + description: Internal Server Error. Error code 50001 indicates a failure in the backend data store. + content: + application/vnd.schemaregistry.v1+json: + schema: + $ref: '#/components/schemas/ErrorMessage' + application/vnd.schemaregistry+json; qs=0.9: + schema: + $ref: '#/components/schemas/ErrorMessage' + application/json; qs=0.5: + schema: + $ref: '#/components/schemas/ErrorMessage' + security: + - resource-api-key: [] + - external-access-token: [] + x-codeSamples: + - lang: Shell + source: |- + curl --request DELETE \ + --url 'https://psrc-00000.region.provider.confluent.cloud/subjects/{subject}' \ + --header 'Authorization: Basic REPLACE_BASIC_AUTH' + - lang: Java + source: |- + OkHttpClient client = new OkHttpClient(); + + Request request = new Request.Builder() + .url("https://psrc-00000.region.provider.confluent.cloud/subjects/{subject}") + .delete(null) + .addHeader("Authorization", "Basic REPLACE_BASIC_AUTH") + .build(); + + Response response = client.newCall(request).execute(); + - lang: Go + source: "package main\n\nimport (\n\t\"fmt\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://psrc-00000.region.provider.confluent.cloud/subjects/{subject}\"\n\n\treq, _ := http.NewRequest(\"DELETE\", url, nil)\n\n\treq.Header.Add(\"Authorization\", \"Basic REPLACE_BASIC_AUTH\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}" + - lang: Python + source: |- + import http.client + + conn = http.client.HTTPSConnection("psrc-00000.region.provider.confluent.cloud") + + headers = { 'Authorization': "Basic REPLACE_BASIC_AUTH" } + + conn.request("DELETE", "/subjects/{subject}", headers=headers) + + res = conn.getresponse() + data = res.read() + + print(data.decode("utf-8")) + - lang: Node + source: |- + const http = require("https"); + + const options = { + "method": "DELETE", + "hostname": "psrc-00000.region.provider.confluent.cloud", + "port": null, + "path": "/subjects/{subject}", + "headers": { + "Authorization": "Basic REPLACE_BASIC_AUTH" + } + }; + + const req = http.request(options, function (res) { + const chunks = []; + + res.on("data", function (chunk) { + chunks.push(chunk); + }); + + res.on("end", function () { + const body = Buffer.concat(chunks); + console.log(body.toString()); + }); + }); + + req.end(); + - lang: C + source: |- + CURL *hnd = curl_easy_init(); + + curl_easy_setopt(hnd, CURLOPT_CUSTOMREQUEST, "DELETE"); + curl_easy_setopt(hnd, CURLOPT_URL, "https://psrc-00000.region.provider.confluent.cloud/subjects/{subject}"); + + struct curl_slist *headers = NULL; + headers = curl_slist_append(headers, "Authorization: Basic REPLACE_BASIC_AUTH"); + curl_easy_setopt(hnd, CURLOPT_HTTPHEADER, headers); + + CURLcode ret = curl_easy_perform(hnd); + - lang: C# + source: |- + var client = new RestClient("https://psrc-00000.region.provider.confluent.cloud/subjects/{subject}"); + var request = new RestRequest(Method.DELETE); + request.AddHeader("Authorization", "Basic REPLACE_BASIC_AUTH"); + IRestResponse response = client.Execute(request); + /subjects: + get: + tags: + - Subjects (v1) + summary: List subjects + description: Retrieves a list of registered subjects matching specified parameters. + operationId: list + parameters: + - name: subjectPrefix + in: query + description: Subject name prefix + schema: + type: string + default: ':*:' + - name: deleted + in: query + description: Whether to look up deleted subjects + schema: + type: boolean + responses: + '200': + description: List of subjects matching the specified parameters. + content: + application/vnd.schemaregistry.v1+json: + schema: + type: array + items: + type: string + example: User + application/vnd.schemaregistry+json; qs=0.9: + schema: + type: array + items: + type: string + example: User + application/json; qs=0.5: + schema: + type: array + items: + type: string + example: User + '400': + $ref: '#/components/responses/schemaregistry.v1.BadRequestError' + '401': + $ref: '#/components/responses/schemaregistry.v1.UnauthorizedError' + '403': + $ref: '#/components/responses/schemaregistry.v1.ForbiddenError' + '429': + $ref: '#/components/responses/RateLimitError' + '500': + description: Internal Server Error. Error code 50001 indicates a failure in the backend data store. + content: + application/vnd.schemaregistry.v1+json: + schema: + $ref: '#/components/schemas/ErrorMessage' + application/vnd.schemaregistry+json; qs=0.9: + schema: + $ref: '#/components/schemas/ErrorMessage' + application/json; qs=0.5: + schema: + $ref: '#/components/schemas/ErrorMessage' + security: + - resource-api-key: [] + - external-access-token: [] + x-codeSamples: + - lang: Shell + source: |- + curl --request GET \ + --url https://psrc-00000.region.provider.confluent.cloud/subjects \ + --header 'Authorization: Basic REPLACE_BASIC_AUTH' + - lang: Java + source: |- + OkHttpClient client = new OkHttpClient(); + + Request request = new Request.Builder() + .url("https://psrc-00000.region.provider.confluent.cloud/subjects") + .get() + .addHeader("Authorization", "Basic REPLACE_BASIC_AUTH") + .build(); + + Response response = client.newCall(request).execute(); + - lang: Go + source: "package main\n\nimport (\n\t\"fmt\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://psrc-00000.region.provider.confluent.cloud/subjects\"\n\n\treq, _ := http.NewRequest(\"GET\", url, nil)\n\n\treq.Header.Add(\"Authorization\", \"Basic REPLACE_BASIC_AUTH\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}" + - lang: Python + source: |- + import http.client + + conn = http.client.HTTPSConnection("psrc-00000.region.provider.confluent.cloud") + + headers = { 'Authorization': "Basic REPLACE_BASIC_AUTH" } + + conn.request("GET", "/subjects", headers=headers) + + res = conn.getresponse() + data = res.read() + + print(data.decode("utf-8")) + - lang: Node + source: |- + const http = require("https"); + + const options = { + "method": "GET", + "hostname": "psrc-00000.region.provider.confluent.cloud", + "port": null, + "path": "/subjects", + "headers": { + "Authorization": "Basic REPLACE_BASIC_AUTH" + } + }; + + const req = http.request(options, function (res) { + const chunks = []; + + res.on("data", function (chunk) { + chunks.push(chunk); + }); + + res.on("end", function () { + const body = Buffer.concat(chunks); + console.log(body.toString()); + }); + }); + + req.end(); + - lang: C + source: |- + CURL *hnd = curl_easy_init(); + + curl_easy_setopt(hnd, CURLOPT_CUSTOMREQUEST, "GET"); + curl_easy_setopt(hnd, CURLOPT_URL, "https://psrc-00000.region.provider.confluent.cloud/subjects"); + + struct curl_slist *headers = NULL; + headers = curl_slist_append(headers, "Authorization: Basic REPLACE_BASIC_AUTH"); + curl_easy_setopt(hnd, CURLOPT_HTTPHEADER, headers); + + CURLcode ret = curl_easy_perform(hnd); + - lang: C# + source: |- + var client = new RestClient("https://psrc-00000.region.provider.confluent.cloud/subjects"); + var request = new RestRequest(Method.GET); + request.AddHeader("Authorization", "Basic REPLACE_BASIC_AUTH"); + IRestResponse response = client.Execute(request); diff --git a/providers/src/confluent/v00.00.00000/services/schema_registry_clusters.yaml b/providers/src/confluent/v00.00.00000/services/schema_registry_clusters.yaml new file mode 100644 index 00000000..df61b406 --- /dev/null +++ b/providers/src/confluent/v00.00.00000/services/schema_registry_clusters.yaml @@ -0,0 +1,4799 @@ +openapi: 3.0.0 +servers: + - url: 'https://api.confluent.cloud' + description: Confluent Cloud API +info: + version: '' + contact: + name: Confluent Cloud + url: 'https://www.confluent.io/cloud-contact-us/' + email: support@confluent.io + x-api-id: 46234552-5833-42eb-ba0f-883ad3f70d2b + x-audience: external-public + x-logo: + url: 'https://assets.confluent.io/m/5ec23aa91903c00b/' + title: Confluent Cloud APIs - schema_registry_clusters + description: schema_registry_clusters +tags: + - name: API Keys (iam/v2) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + `ApiKey` objects represent access to different parts of Confluent Cloud. Some types + of API keys represent access to a single cluster/resource such as a Kafka cluster, + Schema Registry cluster or a ksqlDB cluster. Cloud API Keys represent access to resources within an organization + that are not tied to a specific cluster, such as the Org API, IAM API, Metrics API or Connect API. + + The API allows you to list, create, update and delete your API Keys. + + + Related guide: [API Keys in Confluent Cloud](https://docs.confluent.io/cloud/current/client-apps/api-keys.html). + + ## The API Keys Model + + + ## Quotas and Limits + This resource is subject to the [following quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): + + | Quota | Description | + | --- | --- | + | `apikeys_per_org` | API Keys in one Confluent Cloud organization | + - name: Environments (org/v2) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + `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](https://docs.confluent.io/cloud/current/access-management/environments.html). + + ## The Environments Model + + + ## Quotas and Limits + This resource is subject to the [following quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): + + | Quota | Description | + | --- | --- | + | `environments_per_org` | Environments in one Confluent Cloud organization | + - name: Organizations (org/v2) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + `Organization` objects represent a customer organization. An organization contains all customer + resources (e.g., Environments, Kafka Clusters, Service Accounts, API Keys) and is tied to a billing + agreement (including any annual commitment or support plan). + + The API allows you to list, view, and update your organizations. + + + Related guide: [Organizations for Confluent Cloud](https://docs.confluent.io/cloud/current/access-management/hierarchy/organizations/cloud-organization.html). + + ## The Organizations Model + + + ## Quotas and Limits + This resource is subject to the [following quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): + + | Quota | Description | + | --- | --- | + | `organizations_per_user` | Confluent Cloud organizations a user belongs to | + - name: Users (iam/v2) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + `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](https://docs.confluent.io/cloud/current/access-management/user-account.html). + + ## The Users Model + + + ## Quotas and Limits + This resource is subject to the [following quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): + + | Quota | Description | + | --- | --- | + | `users_per_org` | Users in one Confluent Cloud organization | + - name: Service Accounts (iam/v2) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + `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](https://docs.confluent.io/cloud/current/access-management/service-account.html). + + ## The Service Accounts Model + + + ## Quotas and Limits + This resource is subject to the [following quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): + + | Quota | Description | + | --- | --- | + | `service_accounts_per_org` | Service Accounts in one Confluent Cloud organization | + - name: Invitations (iam/v2) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + `Invitation` objects represent invitations to invite users to join your organizations in Confluent Cloud. + + The API allows you to list all your invitations, as well as create, read, and delete a specified invitation. + + + Related guide: [User invitations in Confluent Cloud](https://docs.confluent.io/cloud/current/access-management/identity/user-accounts.html). + + ## The Invitations Model + + + ## Quotas and Limits + This resource is subject to the [following quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): + + | Quota | Description | + | --- | --- | + | `invitations_per_org` | Invitations in a Confluent Cloud organization | + - name: IP Groups (iam/v2) + description: |- + [![Limited Availability](https://img.shields.io/badge/Lifecycle%20Stage-Limited%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) [![Request Access To IP Groups API](https://img.shields.io/badge/-Request%20Access%20To%20IP%20Groups%20API-%23bc8540)](mailto:cloud-support@confluent.io?subject=Request%20to%20join%20IP%20Filtering%20API%20Limited%20Access&body=I%E2%80%99d%20like%20to%20join%20the%20Confluent%20Cloud%20API%20Limited%20Access%20for%20IP%20Filtering.%0AMy%20Cloud%20Organization%20ID%20is%20%3Cretrieve%20from%20https%3A//confluent.cloud/settings/billing/payment%3E.%0A) + + Definitions of networks which can be named and referred by IP blocks, commonly used to attach to IP Filter rules. + + + ## The IP Groups Model + + - name: IP Filters (iam/v2) + description: |- + [![Limited Availability](https://img.shields.io/badge/Lifecycle%20Stage-Limited%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) [![Request Access To IP Filters API](https://img.shields.io/badge/-Request%20Access%20To%20IP%20Filters%20API-%23bc8540)](mailto:ccloud-api-access+iam-v2-limited-availability@confluent.io?subject=Request%20to%20join%20iam/v2%20API%20Limited%20Availability&body=I%E2%80%99d%20like%20to%20join%20the%20Confluent%20Cloud%20API%20Limited%20Availability%20for%20iam/v2%20to%20provide%20early%20feedback%21%20My%20Cloud%20Organization%20ID%20is%20%3Cretrieve%20from%20https%3A//confluent.cloud/settings/billing/payment%3E.) + + `IP Filter` objects are bindings between IP Groups and Confluent resource(s). + For example, a binding between "CorpNet" and "Management APIs" will enforce that + access must come from one of the CIDR blocks associated with CorpNet. + If there are multiple IP filters bound to a resource, a request matching any of the CIDR blocks + for any of the IP Group will allow the request. + If there are no IP Filters for a resource, then access will be granted to requests originating + from any IP Address. + + + ## The IP Filters Model + + - name: Role Bindings (iam/v2) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + A role binding grants a Principal a role on resources that match a pattern. + + The API allows you to perform create, delete, and list operations on role bindings. + + + Related guide: [Role-Based Access Control (RBAC)](https://docs.confluent.io/cloud/current/access-management/access-control/cloud-rbac.html). + + ## The Role Bindings Model + + - name: Subscriptions (notifications/v1) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + `Subscription` objects represent the intent of the customers to get notifications of particular types. + A subscription is created for a particular `NotificationType` and the user will get notifications on the + `Integrations` that are provided while creating the subscription. + + This API allows you to create, retrieve, and update subscriptions, + as well as to view the list of all your subscriptions. You can also delete subscriptions + with RECOMMENDED or OPTIONAL notification types. Subscriptions with REQUIRED notification types cannot be deleted. + + + Related guide: [Cloud Notifications](https://docs.confluent.io/cloud/current/monitoring/configure-notifications.html#notifications-for-ccloud). + + ## The Subscriptions Model + + - name: Integrations (notifications/v1) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + You can create an `Integration` to specify how we can notify you when we receive an alert/notification for + a subscription. Please note that you can only perform create, update and delete operations for integrations + of type `Webhook`, `Slack` and `MsTeams`. You cannot create, update or delete integrations of type `RoleEmail` + and `UserEmail`. + + + Related guide: [Cloud Notifications](https://docs.confluent.io/cloud/current/monitoring/configure-notifications.html#notifications-for-ccloud). + + ## The Integrations Model + + + ## Quotas and Limits + This resource is subject to the [following quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): + + | Quota | Description | + | --- | --- | + | `integrations_per_org` | Maximum number of integrations in one Confluent Cloud organization | + - name: Notification Types (notifications/v1) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + The type of notifications (and their corresponding metadata) supported by Confluent. + + + Related guide: [Cloud Notifications](https://docs.confluent.io/cloud/current/monitoring/configure-notifications.html#notifications-for-ccloud). + + ## The Notification Types Model + + - name: Clusters (cmk/v2) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + `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](https://docs.confluent.io/cloud/current/clusters/cluster-api.html). + + ## The Clusters Model + + + ## Quotas and Limits + This resource is subject to the [following quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): + + | Quota | Description | + | --- | --- | + | `kafka_clusters_per_environment` | Number of clusters in one Confluent Cloud environment | + - name: Clusters (ksqldbcm/v2) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + `Cluster` represents a ksqlDB runtime that you can issue queries to using its API endpoint. + It executes SQL statements and queries which under the hood get built into corresponding + Kafka Streams topologies. The API allows you to list, create, read, and delete your ksqlDB clusters. + + + Related guide: [ksqlDB in Confluent Cloud](https://docs.confluent.io/cloud/current/ksqldb/ksqldb-cluster-api.html). + + ## The Clusters Model + + + ## Quotas and Limits + This resource is subject to the following quotas: + + | Quota | Description | + | --- | --- | + | `ksql.limits.max_apps_per_cluster` | Clusters in one Confluent Cloud Kafka Cluster. | + - name: Connectors (connect/v1) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + API for Managed Connectors or Custom Connectors in Confluent Cloud. + + The API allows you to list, create, get, update and delete a Managed Connector or Custom Connector in Confluent Cloud. + + Connect metrics are available through the [Metrics v2 API](https://api.telemetry.confluent.cloud/docs#tag/Version-2). + + Related guide: [Confluent Cloud API and Managed Connectors](https://docs.confluent.io/cloud/current/connectors/connect-api-section.html). + - name: Lifecycle (connect/v1) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + API for managing the lifecycle for a Managed Connector or Custom Connector in Confluent Cloud. Operations currently supported are Pause and Resume. + - name: Status (connect/v1) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + API for requesting the status or the tasks for a Managed Connector or Custom Connector in Confluent Cloud. + - name: Managed Connector Plugins (connect/v1) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + API for Managed connectors in Confluent Cloud. + - name: Offsets (connect/v1) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + API for managing the offsets for a Managed Connector. + + Related guide: [Manage Connector Offsets](https://docs.confluent.io/cloud/current/connectors/offsets.html#manage-offsets-for-fully-managed-connectors-in-ccloud) + - name: Custom Connector Plugins (connect/v1) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + CustomConnectorPlugins objects represent Custom Connector Plugins on Confluent Cloud. + The API allows you to list, create, read, update, and delete your Custom Connector Plugins. + Related guide: + [Custom Connector Plugin API](https://docs.confluent.io/cloud/current/connectors/connect-api-section.html). + + + ## The Custom Connector Plugins Model + + - name: Presigned Urls (connect/v1) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + Request a presigned upload URL for new Custom Connector Plugin. Note that + the URL policy expires in one hour. If the policy expires, you can request + a new presigned upload URL. + + Related guide: + [Custom Connector Plugin API](https://docs.confluent.io/cloud/current/connectors/connect-api-section.html). + + + ## The Presigned Urls Model + + - name: Cluster (v3) + description: '[![Generally Available](https://img.shields.io/badge/Lifecycle%20Stage-Generally%20Available-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy)' + - name: Configs (v3) + description: '[![Generally Available](https://img.shields.io/badge/Lifecycle%20Stage-Generally%20Available-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy)' + - name: ACL (v3) + description: '[![Generally Available](https://img.shields.io/badge/Lifecycle%20Stage-Generally%20Available-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy)' + - name: Consumer Group (v3) + description: '[![Generally Available](https://img.shields.io/badge/Lifecycle%20Stage-Generally%20Available-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy)' + - name: Partition (v3) + description: '[![Generally Available](https://img.shields.io/badge/Lifecycle%20Stage-Generally%20Available-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy)' + - name: Topic (v3) + description: '[![Generally Available](https://img.shields.io/badge/Lifecycle%20Stage-Generally%20Available-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy)' + - name: Records (v3) + description: '[![Generally Available](https://img.shields.io/badge/Lifecycle%20Stage-Generally%20Available-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy)' + - name: Cluster Linking (v3) + description: '[![Generally Available](https://img.shields.io/badge/Lifecycle%20Stage-Generally%20Available-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy)' + - name: Applied Quotas (service-quota/v1) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + A `quota` object represents a quota configuration for a specific Confluent Cloud resource. + Use this API to retrieve an individual quota or list of quotas for a given scope. + + + Related guide: [Service Quotas for Confluent Cloud](https://docs.confluent.io/cloud/current/quotas/index.html). + + ## The Applied Quotas Model + + - name: Scopes (service-quota/v1) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + Gets a list of all available scopes for applied quotas. + + + Related guide: [Quota Scopes](https://docs.confluent.io/cloud/current/quotas/quotas.html#query-for-scopes). + + ## The Scopes Model + + - name: Entitlements (partner/v2) + description: | + [![Early Access](https://img.shields.io/badge/Lifecycle%20Stage-Early%20Access-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) [![Request Access To Partner v2](https://img.shields.io/badge/-Request%20Access%20To%20Partner%20v2-%23bc8540)](mailto:ccloud-api-access+partner-v2-early-access@confluent.io?subject=Request%20to%20join%20partner/v2%20API%20Early%20Access&body=I%E2%80%99d%20like%20to%20join%20the%20Confluent%20Cloud%20API%20Early%20Access%20for%20partner/v2%20to%20provide%20early%20feedback%21%20My%20Cloud%20Organization%20ID%20is%20%3Cretrieve%20from%20https%3A//confluent.cloud/settings/billing/payment%3E.) + + `Entitlement` objects represent metadata about a marketplace entitlement. + + An entitlement includes metadata about a marketplace purchase + (start date, end date, billing information, partner IDs, etc). + The API allows partners to create, read, and list entitlements. (Unless you + need entitlement creation and customer registration to be separate, + we recommend using the Signup API to create an organization and entitlement + at the same time) + + The API only allows authorized partners to interact with the Entitlements API. + - name: Regions (srcm/v2) + description: |- + [![Deprecated](https://img.shields.io/badge/Lifecycle%20Stage-Deprecated-%23ff005c)](#section/Versioning/API-Lifecycle-Policy) + + `Region` objects represent cloud provider regions available when placing Schema Registry clusters. + The API allows you to list Schema Registry regions. + + + Related guides: + * [Confluent Cloud providers and region support](https://docs.confluent.io/cloud/current/stream-governance/packages.html#cloud-providers-and-region-support). + * [srcm/v3 Migration Guide](https://docs.confluent.io/cloud/current/stream-governance/packages.html#deprecation-of-srcm-v2-clusters-and-regions-apis-and-upgrade-guide). + + + ## The Regions Model + + - name: Clusters (srcm/v2) + description: |- + [![Deprecated](https://img.shields.io/badge/Lifecycle%20Stage-Deprecated-%23ff005c)](#section/Versioning/API-Lifecycle-Policy) + + `Clusters` objects represent Schema Registry Clusters on Confluent Cloud. + + The API allows you to list, create, read, and delete your Schema Registry clusters. + + + Related guides: + * [Confluent Cloud Schema Registry Cluster APIs](https://docs.confluent.io/cloud/current/stream-governance/clusters-regions-api.html#schema-registry-cluster-management). + * [srcm/v3 Migration Guide](https://docs.confluent.io/cloud/current/stream-governance/packages.html#deprecation-of-srcm-v2-clusters-and-regions-apis-and-upgrade-guide). + + + ## The Clusters Model + + - name: Clusters (srcm/v3) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + `Clusters` objects represent Schema Registry Clusters on Confluent Cloud. + + The API allows you to list and read your Schema Registry clusters. + + + Related guide: [Confluent Cloud Schema Registry Cluster APIs](https://docs.confluent.io/cloud/current/stream-governance/clusters-regions-api.html#schema-registry-cluster-management). + + ## The Clusters Model + + - name: Compatibility (v1) + description: |- + [![Generally Available](https://img.shields.io/badge/Lifecycle%20Stage-Generally%20Available-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + The API allows you to test schema compatibility. + + Related guide: [Manage Schemas in Confluent Cloud](https://docs.confluent.io/cloud/current/sr/schemas-manage.html#manage-schemas-in-ccloud). + - name: Config (v1) + description: |- + [![Generally Available](https://img.shields.io/badge/Lifecycle%20Stage-Generally%20Available-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + The API allows you to manage and query schema compatibility settings and cluster configurations. + + Related guide: [Manage Schemas in Confluent Cloud](https://docs.confluent.io/cloud/current/sr/schemas-manage.html#manage-schemas-in-ccloud). + - name: Contexts (v1) + description: |- + [![Generally Available](https://img.shields.io/badge/Lifecycle%20Stage-Generally%20Available-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + The API allows you to retrieve information about schema contexts. + + Related guide: [Manage Schemas in Confluent Cloud](https://docs.confluent.io/cloud/current/sr/schemas-manage.html#manage-schemas-in-ccloud). + - name: Exporters (v1) + description: |- + [![Generally Available](https://img.shields.io/badge/Lifecycle%20Stage-Generally%20Available-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + The API allows you to create, retrieve, update, and delete exporters. + + Related guide: [Manage Schemas in Confluent Cloud](https://docs.confluent.io/cloud/current/sr/schemas-manage.html#manage-schemas-in-ccloud). + - name: Modes (v1) + description: |- + [![Generally Available](https://img.shields.io/badge/Lifecycle%20Stage-Generally%20Available-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + The API allows you to create, retrieve, update, and delete schema subjects modes of operation. + + Related guide: [Manage Schemas in Confluent Cloud](https://docs.confluent.io/cloud/current/sr/schemas-manage.html#manage-schemas-in-ccloud). + - name: Schemas (v1) + description: |- + [![Generally Available](https://img.shields.io/badge/Lifecycle%20Stage-Generally%20Available-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + The API allows you to create, retrieve, update, and delete schemas. + + Related guide: [Manage Schemas in Confluent Cloud](https://docs.confluent.io/cloud/current/sr/schemas-manage.html#manage-schemas-in-ccloud). + - name: Subjects (v1) + description: |- + [![Generally Available](https://img.shields.io/badge/Lifecycle%20Stage-Generally%20Available-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + The API allows you to create, retrieve, update, and delete schema subjects and versions. + + Related guide: [Manage Schemas in Confluent Cloud](https://docs.confluent.io/cloud/current/sr/schemas-manage.html#manage-schemas-in-ccloud). + - name: Key Encryption Keys (v1) + description: |- + [![Generally Available](https://img.shields.io/badge/Lifecycle%20Stage-Generally%20Available-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + The API allows you to create, retrieve, update, and delete key encryption keys. + + Related guide: [Manage Schemas in Confluent Cloud](https://docs.confluent.io/cloud/current/sr/schemas-manage.html#manage-schemas-in-ccloud). + - name: Data Encryption Keys (v1) + description: |- + [![Generally Available](https://img.shields.io/badge/Lifecycle%20Stage-Generally%20Available-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + The API allows you to create, retrieve, update, and delete data encryption keys. + + Related guide: [Manage Schemas in Confluent Cloud](https://docs.confluent.io/cloud/current/sr/schemas-manage.html#manage-schemas-in-ccloud). + - name: Entity (v1) + description: |- + [![Generally Available](https://img.shields.io/badge/Lifecycle%20Stage-Generally%20Available-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + The API allows you to create, retrieve, update, and delete catalog entities. + + Related guide: [Catalog API Documentation](https://docs.confluent.io/cloud/current/stream-governance/stream-catalog.html#catalog-api-documentation). + - name: Search (v1) + description: |- + [![Generally Available](https://img.shields.io/badge/Lifecycle%20Stage-Generally%20Available-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + The API allows you to search for entities. + + Related guide: [Catalog API Documentation](https://docs.confluent.io/cloud/current/stream-governance/stream-catalog.html#catalog-api-documentation). + - name: Types (v1) + description: |- + [![Generally Available](https://img.shields.io/badge/Lifecycle%20Stage-Generally%20Available-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + The API allows you to create, retrieve, update, and delete catalog types such as tag definitions. + + Related guide: [Catalog API Documentation](https://docs.confluent.io/cloud/current/stream-governance/stream-catalog.html#catalog-api-documentation). + - name: Provider Shared Resources (cdx/v1) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + `ProviderSharedResource` object contains details of the data stream + (topic, schema registry subjects, sharing metadata) that you have shared through Stream Sharing. + + + ## The Provider Shared Resources Model + + - name: Provider Shares (cdx/v1) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + `ProviderShare` object respresents the share that you have created through Stream Sharing. + + + Related guide: [Provider Stream Shares in Confluent Cloud](https://docs.confluent.io/cloud/current/stream-sharing/produce-shared-data.html#stream-shares). + + ## The Provider Shares Model + + - name: Consumer Shared Resources (cdx/v1) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + `ConsumerSharedResource` object contains details of the data stream + (topic, schema registry subjects, sharing metadata) that you received through Stream Sharing. + + + ## The Consumer Shared Resources Model + + - name: Consumer Shares (cdx/v1) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + `ConsumerShare` object respresents the share that you received through Stream Sharing. + + + Related guide: [Consumer Stream Shares in Confluent Cloud](https://docs.confluent.io/cloud/current/stream-sharing/consume-shared-data.html). + + ## The Consumer Shares Model + + - name: Shared Tokens (cdx/v1) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + Encrypted Token shared with consumer + + + ## The Shared Tokens Model + + - name: Opt Ins (cdx/v1) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + Stream sharing opt in options + + ## The Opt Ins Model + + - name: Organizations (partner/v2) + description: | + [![Early Access](https://img.shields.io/badge/Lifecycle%20Stage-Early%20Access-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) [![Request Access To Partner v2](https://img.shields.io/badge/-Request%20Access%20To%20Partner%20v2-%23bc8540)](mailto:ccloud-api-access+partner-v2-early-access@confluent.io?subject=Request%20to%20join%20partner/v2%20API%20Early%20Access&body=I%E2%80%99d%20like%20to%20join%20the%20Confluent%20Cloud%20API%20Early%20Access%20for%20partner/v2%20to%20provide%20early%20feedback%21%20My%20Cloud%20Organization%20ID%20is%20%3Cretrieve%20from%20https%3A//confluent.cloud/settings/billing/payment%3E.) + + `Organizations` objects represent an entire Confluent Cloud organization. + Partners are allowed to get an organization they have signed up or + list all organizations they have signed up. + - name: Signup (partner/v2) + description: | + [![Early Access](https://img.shields.io/badge/Lifecycle%20Stage-Early%20Access-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) [![Request Access To Partner v2](https://img.shields.io/badge/-Request%20Access%20To%20Partner%20v2-%23bc8540)](mailto:ccloud-api-access+partner-v2-early-access@confluent.io?subject=Request%20to%20join%20partner/v2%20API%20Early%20Access&body=I%E2%80%99d%20like%20to%20join%20the%20Confluent%20Cloud%20API%20Early%20Access%20for%20partner/v2%20to%20provide%20early%20feedback%21%20My%20Cloud%20Organization%20ID%20is%20%3Cretrieve%20from%20https%3A//confluent.cloud/settings/billing/payment%3E.) + + `Signup` APIs can only be performed by partners. + - name: Networks (networking/v1) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + `Network` represents a network (VPC) in Confluent Cloud. All Networks exist within Confluent-managed cloud + provider accounts. Dedicated networks support more networking options but can only contain Dedicated clusters. + Shared networks can contain any cluster type. + + The API allows you to list, create, read, update, and delete your networks. + + + Related guide: [APIs to manage networks in Confluent Cloud](https://docs.confluent.io/cloud/current/networking/overview.html). + + ## The Networks Model + + + ## Quotas and Limits + This resource is subject to the [following quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): + + | Quota | Description | + | --- | --- | + | `dedicated_networks_per_environment` | Number of dedicated networks per Confluent Cloud environment | + - name: Peerings (networking/v1) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + Add or remove VPC/VNet peering connections between your VPC/VNet and Confluent Cloud. + + Related guides: + * [Use VPC peering connections with Confluent Cloud on AWS](https://docs.confluent.io/cloud/current/networking/peering/aws-peering.html). + * [Use VNet peering connections with Confluent Cloud on Azure](https://docs.confluent.io/cloud/current/networking/peering/azure-peering.html). + * [Use VPC peering connections with Confluent Cloud on Google Cloud](https://docs.confluent.io/cloud/current/networking/peering/gcp-peering.html). + + + ## The Peerings Model + + + ## Quotas and Limits + This resource is subject to the [following quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): + + | Quota | Description | + | --- | --- | + | `peerings_per_network` | Number of peerings per network | + - name: Transit Gateway Attachments (networking/v1) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + AWS Transit Gateway Attachments + + Related guide: [APIs to manage AWS Transit Gateway Attachments](https://docs.confluent.io/cloud/current/networking/aws-transit-gateway.html). + + ## The Transit Gateway Attachments Model + + + ## Quotas and Limits + This resource is subject to the [following quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): + + | Quota | Description | + | --- | --- | + | `tgw_attachments_per_network` | Number of TGW attachments per network | + - name: Private Link Accesses (networking/v1) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + Add or remove access to PrivateLink endpoints by AWS account, Azure subscription and GCP project ID. + + Related guides: + * [Use Google Cloud Private Service Connect with Confluent Cloud](https://docs.confluent.io/cloud/current/networking/private-links/gcp-private-service-connect.html). + * [Use Azure Private Link with Confluent Cloud](https://docs.confluent.io/cloud/current/networking/private-links/azure-privatelink.html). + * [Use AWS PrivateLink with Confluent Cloud](https://docs.confluent.io/cloud/current/networking/private-links/aws-privatelink.html). + + + ## The Private Link Accesses Model + + + ## Quotas and Limits + This resource is subject to the [following quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): + + | Quota | Description | + | --- | --- | + | `private_link_accounts_per_network` | Number of AWS accounts per network | + | `private_link_subscriptions_per_network` | Number of Azure subscriptions per network | + | `private_service_connect_projects_per_network` | Number of GCP projects per network | + - name: Network Link Services (networking/v1) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + Network Link Service is associated with a Private Link Confluent Cloud Network. + It enables connectivity from other Private Link Confluent Cloud Networks based on + the configured accept policies. + + + Related guide: [Network Linking Overview](https://docs.confluent.io/cloud/current/networking/network-linking.html). + + ## The Network Link Services Model + + + ## Quotas and Limits + This resource is subject to the [following quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): + + | Quota | Description | + | --- | --- | + | `network_link_service_per_network` | Number of network link services per network | + - name: Network Link Endpoints (networking/v1) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + A Network Link Enpoint is associated with a Private Link Confluent Cloud Network at the origin and a + Network Link Service (associated with another Private Link Confluent Cloud Network) at the target. + It enables connectivity between the origin network and the target network. + It can only be associated with a Private Link network. + + + Related guide: [Network Linking Overview](https://docs.confluent.io/cloud/current/networking/network-linking.html). + + ## The Network Link Endpoints Model + + + ## Quotas and Limits + This resource is subject to the [following quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): + + | Quota | Description | + | --- | --- | + | `network_link_endpoints_per_network` | Number of network link endpoints per network | + - name: Network Link Service Associations (networking/v1) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + List of incoming Network Link Enpoints associated with the Network Link Service. + + + Related guide: [Network Linking Overview](https://docs.confluent.io/cloud/current/networking/network-linking.html). + + ## The Network Link Service Associations Model + + - name: Gateways (networking/v1) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + A gateway is a resource that defines network access to Confluent cloud resources. + + + ## The Gateways Model + + - name: IP Addresses (networking/v1) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + IP Addresses + + Related guide: [Use Public Egress IP addresses on Confluent Cloud](https://docs.confluent.io/cloud/current/networking/static-egress-ip-addresses.html) + + ## The IP Addresses Model + + - name: Private Link Attachments (networking/v1) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + PrivateLink attachment objects represent reservations to establish PrivateLink connections + to a cloud region in order to access resources that belong to a Confluent Cloud Environment. + The API allows you to list, create, read update and delete your PrivateLink attachments. + + + ## The Private Link Attachments Model + + + ## Quotas and Limits + This resource is subject to the [following quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): + + | Quota | Description | + | --- | --- | + | `private_link_attachments_per_environment` | Number of PrivateLink Attachments per environment | + - name: Private Link Attachment Connections (networking/v1) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + PrivateLink attachment connection objects represent connections established to a cloud region + in order to access resources that belong to a Confluent Cloud Environment. + The API allows you to list, create, read update and delete your PrivateLink attachment connections. + + + ## The Private Link Attachment Connections Model + + - name: Identity Providers (iam/v2) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + `IdentityProvider` objects represent external OAuth-OIDC providers in Confluent Cloud. + + The API allows you to list, create, read, update, and delete your Identity Provider. + + + Related guide: [OAuth for Confluent Cloud](https://docs.confluent.io/cloud/current/access-management/authenticate/oauth/overview.html). + + ## The Identity Providers Model + + + ## Quotas and Limits + This resource is subject to the [following quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): + + | Quota | Description | + | --- | --- | + | `identity_providers_per_org` | Number of OAuth identity providers per organization | + | `public_keys_per_provider` | Number of public keys saved per identity provider | + - name: Jwks (iam/v2) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + `JWKS` objects represent public key sets for a specific OAuth/OpenID Connect provider within + Confluent Cloud. + + The API allows you to refresh JWKS public key data. + + + Related guide: [OAuth for Confluent Cloud](https://docs.confluent.io/cloud/current/access-management/authenticate/oauth/overview.html). + + ## The Jwks Model + + - name: Identity Pools (iam/v2) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + `IdentityPool` objects represent groups of identities tied to a given a `IdentityProvider` + that authorizes them to Confluent Cloud resources. + + It provides a mapping functionality of your `Identity Provider` user to a Confluent identity pool that + is then used to provide access to Confluent Resources. + + + Related guide: [Use identity pools with your OAuth provider](https://docs.confluent.io/cloud/current/access-management/authenticate/oauth/identity-pools.html). + + ## The Identity Pools Model + + + ## Quotas and Limits + This resource is subject to the [following quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): + + | Quota | Description | + | --- | --- | + | `identity_pools_per_provider` | Number of Identity Pools per Identity Provider | + - name: OAuth Tokens (sts/v1) + description: | + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + OAuth Token is a [JSON Web Token (JWT)](https://www.rfc-editor.org/rfc/rfc7519) that enables the use of + external identities to access Confluent Cloud APIs + - name: Client Quotas (kafka-quotas/v1) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + `ClientQuota` objects represent Client Quotas you can set at the service account level. + + The API allows you to list, create, read, update, and delete your client quotas. + + + Related guide: [Client Quotas in Confluent Cloud](https://docs.confluent.io/cloud/current/clusters/client-quotas.html). + + ## The Client Quotas Model + + - name: Pipelines (sd/v1) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + `Pipeline` objects represent information about a user-defined pipeline of Confluent Cloud components. + The pipeline's content is available separately. + + The API allows you to create, retrieve, update, and delete your pipelines, + as well as list all of your pipelines for the particular environment and Kafka cluster. + + + Related guide: [Pipelines in Confluent Cloud](https://docs.confluent.io/cloud/current/stream-designer/). + + ## The Pipelines Model + + + ## Quotas and Limits + This resource is subject to the [following quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): + + | Quota | Description | + | --- | --- | + | `pipelines_per_org` | Pipelines in one Confluent Cloud organization | + | `pipelines_per_cluster` | Pipelines in one Confluent Cloud Kafka cluster | + - name: Keys (byok/v1) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + `Key` objects represent customer managed keys on dedicated Confluent Cloud clusters. + + Keys are used to protect data at rest stored in your dedicated Confluent Cloud clusters on AWS, Azure, and GCP. + This API allows you to upload and retrieve self-managed keys on Confluent Cloud. + + + Related guide: [Confluent Cloud Bring Your Own Key (BYOK) Management API](https://docs.confluent.io/cloud/current/clusters/byok/index.html). + + ## The Keys Model + + + ## Quotas and Limits + This resource is subject to the [following quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): + + | Quota | Description | + | --- | --- | + | `byok.max_keys.per_org` | BYOK keys in one Confluent Cloud organisation. | + - name: Costs (billing/v1) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + `Cost` objects represent the aggregated billing costs for an organization + + + Related guide: [Retrieve costs for a range of dates](https://docs.confluent.io/cloud/current/billing/overview.html#retrieve-costs-for-a-range-of-dates). + + ## The Costs Model + + - name: Group Mappings (iam/v2/sso) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + `GroupMapping` objects establish relationships between user groups in your SSO + identity provider and specific RBAC roles in Confluent Cloud. + + Group mappings enable automated and secure access control to Confluent Cloud resources, + reducing administrative workload by streamlining user provisioning and authorization. + + + Related guide: [Use group mappings with your SSO identity provider](https://docs.confluent.io/cloud/current/access-management/authenticate/sso/group-mapping/overview.html). + + ## The Group Mappings Model + + + ## Quotas and Limits + This resource is subject to the [following quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): + + | Quota | Description | + | --- | --- | + | `group_mappings_per_org` | Number of group mappings per organization | + - name: Compute Pools (fcpm/v2) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + A Compute Pool represents a set of compute resources that is used to run your Queries. + The resources (CPUs, memory,…) provided by a Compute Pool are shared between all Queries that use it. + + + ## The Compute Pools Model + + - name: Regions (fcpm/v2) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + `Region` objects represent cloud provider regions available when placing Flink compute pools. + The API allows you to list Flink regions. + + + ## The Regions Model + + - name: Statements (sql/v1) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + `Statement` represents a core resource used to model SQL statements for execution. + A statement generalizes DDL, DML, DQL, etc., but doesn’t attempt to handle session + management or any higher-level functionality. + The API allows you to list, create, read, and delete your statements. + ## The Statements Model + + - name: Statement Results (sql/v1) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + `StatementResult` represents a result of a `Statement` resource. + The API allows you to read your statement's results. + ## The Statement Results Model + + - name: Statement Exceptions (sql/v1) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + `StatementException` represents an exception of a `Statement` resource. + The API allows you to read your statement's exceptions. + ## The Statement Exceptions Model + + - name: Connections (sql/v1) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + `Connection` represents a core resource used to model SQL connections for execution. + A connection generalizes DDL, DML, DQL, etc., but doesn’t attempt to handle session + management or any higher-level functionality. + The API allows you to list, create, read, and delete your connections. + ## The Connections Model + + - name: DNS Forwarders (networking/v1) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + Add, remove, and update DNS forwarder for your gateway. + + Related guides: + * [Use VPC peering connections with Confluent Cloud on AWS](https://docs.confluent.io/cloud/current/networking/peering/aws-peering.html). + * [Use VNet peering connections with Confluent Cloud on Azure](https://docs.confluent.io/cloud/current/networking/peering/azure-peering.html). + + + ## The DNS Forwarders Model + + - name: Access Points (networking/v1) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + AccessPoint objects represent network connections in and out of Gateways. + This API allows you to list, create, read, update, and delete your access points. + + + ## The Access Points Model + + - name: DNS Records (networking/v1) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + DNS record objects are associated with Confluent Cloud networking resources. This API allows you to list, create, read, update, and delete your DNS records. + + ## The DNS Records Model + + - name: Certificate Authorities (iam/v2) + description: |- + [![Limited Availability](https://img.shields.io/badge/Lifecycle%20Stage-Limited%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + `CertificateAuthority` objects represent signing certificate authorities in Confluent Cloud. + + The API allows you to list, create, read, update, and delete your Certificate Authority. + + + Related guide: [Manage certificate authorities used for client authentication with X.509 certificates.](https://docs.confluent.io/cloud/current/access-management/authenticate/mtls/overview.html). + + ## The Certificate Authorities Model + + + ## Quotas and Limits + This resource is subject to the [following quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): + + | Quota | Description | + | --- | --- | + | `certificate_authorities_per_org` | Number of certificate authorities per organization | + - name: Certificate Identity Pools (iam/v2) + description: |- + [![Limited Availability](https://img.shields.io/badge/Lifecycle%20Stage-Limited%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + `Identitypool` objects represent workload identities in Confluent Cloud. + + The API allows you to list, create, read, update, and delete your identity pools associated + with Certificate Authorities + + + Related guide: [Manage Certificate Identity Pools for Granular Client Access Management](https://docs.confluent.io/cloud/current/access-management/authenticate/mtls/configure.html#step-2-create-certificate-identity-pools-for-granular-access-control). + + ## The Certificate Identity Pools Model + + + ## Quotas and Limits + This resource is subject to the [following quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): + + | Quota | Description | + | --- | --- | + | `identity_pools_per_certificate_authority` | Number of Identity Pools per Certificate Authority | + - name: Integrations (pim/v1) + description: |- + [![Early Access](https://img.shields.io/badge/Lifecycle%20Stage-Early%20Access-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) [![Request Access To Provider Integration](https://img.shields.io/badge/-Request%20Access%20To%20Provider%20Integration-%23bc8540)](mailto:ccloud-api-access+pim-v1-early-access@confluent.io?subject=Request%20to%20join%20pim/v1%20API%20Early%20Access&body=I%E2%80%99d%20like%20to%20join%20the%20Confluent%20Cloud%20API%20Early%20Access%20for%20pim/v1%20to%20provide%20early%20feedback%21%20My%20Cloud%20Organization%20ID%20is%20%3Cretrieve%20from%20https%3A//confluent.cloud/settings/billing/payment%3E.) + + `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, and delete individual integrations, and also obtain a + list of all your provider integrations. + + + Related guide: [Provider Integration in Confluent Cloud](https://docs.confluent.io/home/overview.html). + + ## The Integrations Model + + - name: Flink Artifacts (artifact/v1) + description: |- + [![Early Access](https://img.shields.io/badge/Lifecycle%20Stage-Early%20Access-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) [![Request Access To Flink Artifact API EA](https://img.shields.io/badge/-Request%20Access%20To%20Flink%20Artifact%20API%20EA-%23bc8540)](mailto:ccloud-api-access+artifact-v1-early-access@confluent.io?subject=Request%20to%20join%20artifact/v1%20API%20Early%20Access&body=I%E2%80%99d%20like%20to%20join%20the%20Confluent%20Cloud%20API%20Early%20Access%20for%20artifact/v1%20to%20provide%20early%20feedback%21%20My%20Cloud%20Organization%20ID%20is%20%3Cretrieve%20from%20https%3A//confluent.cloud/settings/billing/payment%3E.) + + FlinkArtifact objects represent Flink Artifacts on Confluent Cloud. + + + ## The Flink Artifacts Model + + - name: Presigned Urls (artifact/v1) + description: |- + [![Early Access](https://img.shields.io/badge/Lifecycle%20Stage-Early%20Access-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) [![Request Access To Flink Artifact API EA](https://img.shields.io/badge/-Request%20Access%20To%20Flink%20Artifact%20API%20EA-%23bc8540)](mailto:ccloud-api-access+artifact-v1-early-access@confluent.io?subject=Request%20to%20join%20artifact/v1%20API%20Early%20Access&body=I%E2%80%99d%20like%20to%20join%20the%20Confluent%20Cloud%20API%20Early%20Access%20for%20artifact/v1%20to%20provide%20early%20feedback%21%20My%20Cloud%20Organization%20ID%20is%20%3Cretrieve%20from%20https%3A//confluent.cloud/settings/billing/payment%3E.) + + Request a presigned upload URL for new Flink Artifact. Note that + the URL policy expires in one hour. If the policy expires, you can request + a new presigned upload URL. + + + ## The Presigned Urls Model + + - name: Flink Artifact Versions (artifact/v1) + description: |- + [![Early Access](https://img.shields.io/badge/Lifecycle%20Stage-Early%20Access-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) [![Request Access To Flink Artifact API EA](https://img.shields.io/badge/-Request%20Access%20To%20Flink%20Artifact%20API%20EA-%23bc8540)](mailto:ccloud-api-access+artifact-v1-early-access@confluent.io?subject=Request%20to%20join%20artifact/v1%20API%20Early%20Access&body=I%E2%80%99d%20like%20to%20join%20the%20Confluent%20Cloud%20API%20Early%20Access%20for%20artifact/v1%20to%20provide%20early%20feedback%21%20My%20Cloud%20Organization%20ID%20is%20%3Cretrieve%20from%20https%3A//confluent.cloud/settings/billing/payment%3E.) + + FlinkArtifactVersion objects represent Flink Artifact Versions on Confluent Cloud. + + + ## The Flink Artifact Versions Model + +components: + schemas: + SearchFilter: + description: Filter a collection by a string search + type: string + MultipleSearchFilter: + description: Filter a collection by a string search for one or more values + type: array + items: + type: string + srcm.v2.RegionList: + type: object + description: |- + `Region` objects represent cloud provider regions available when placing Schema Registry clusters. + The API allows you to list Schema Registry regions. + + + Related guides: + * [Confluent Cloud providers and region support](https://docs.confluent.io/cloud/current/stream-governance/packages.html#cloud-providers-and-region-support). + * [srcm/v3 Migration Guide](https://docs.confluent.io/cloud/current/stream-governance/packages.html#deprecation-of-srcm-v2-clusters-and-regions-apis-and-upgrade-guide). + + + ## The Regions Model + + required: + - api_version + - kind + - metadata + - data + properties: + api_version: + type: string + enum: + - srcm/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: + - RegionList + metadata: + allOf: + - $ref: '#/components/schemas/ListMeta' + - properties: + first: + example: 'https://api.confluent.cloud/srcm/v2/regions' + last: + example: 'https://api.confluent.cloud/srcm/v2/regions?page_token=bcAOehAY8F16YD84Z1wT' + prev: + example: 'https://api.confluent.cloud/srcm/v2/regions?page_token=YIXRY97wWYmwzrax4dld' + next: + example: 'https://api.confluent.cloud/srcm/v2/regions?page_token=UvmDWOB1iwfAIBPj6EYb' + data: + type: array + description: A data property that contains an array of resource items. Each entry in the array is a separate resource. + items: + allOf: + - $ref: '#/components/schemas/srcm.v2.Region' + - type: object + required: + - id + - metadata + - spec + properties: + spec: + type: object + required: + - display_name + - cloud + - region_name + - packages + uniqueItems: true + ListMeta: + type: object + description: ListMeta describes metadata that resource collections may have + properties: + first: + description: 'A link to the first page of results. If a response does not contain a first link, then direct navigation to the first page is not supported.' + type: string + 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 + srcm.v2.Region: + type: object + description: |- + `Region` objects represent cloud provider regions available when placing Schema Registry clusters. + The API allows you to list Schema Registry regions. + + + Related guides: + * [Confluent Cloud providers and region support](https://docs.confluent.io/cloud/current/stream-governance/packages.html#cloud-providers-and-region-support). + * [srcm/v3 Migration Guide](https://docs.confluent.io/cloud/current/stream-governance/packages.html#deprecation-of-srcm-v2-clusters-and-regions-apis-and-upgrade-guide). + + + ## The Regions Model + + properties: + api_version: + type: string + enum: + - srcm/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: + - Region + 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 + metadata: + allOf: + - $ref: '#/components/schemas/ObjectMeta' + - properties: + self: + example: 'https://api.confluent.cloud/srcm/v2/regions/sgreg-12345' + resource_name: + example: 'crn://confluent.cloud/organization=9bb441c4-edef-46ac-8a41-c49e44a3fd9a/region=sgreg-12345' + spec: + $ref: '#/components/schemas/srcm.v2.RegionSpec' + AclOperation: + type: string + x-extensible-enum: + - UNKNOWN + - ANY + - ALL + - READ + - WRITE + - CREATE + - DELETE + - ALTER + - DESCRIBE + - CLUSTER_ACTION + - DESCRIBE_CONFIGS + - ALTER_CONFIGS + - IDEMPOTENT_WRITE + AclPatternType: + type: string + x-extensible-enum: + - UNKNOWN + - ANY + - MATCH + - LITERAL + - PREFIXED + AclPermission: + type: string + x-extensible-enum: + - UNKNOWN + - ANY + - DENY + - ALLOW + AclResourceType: + type: string + enum: + - UNKNOWN + - ANY + - TOPIC + - GROUP + - CLUSTER + - TRANSACTIONAL_ID + - DELEGATION_TOKEN + BrokerTaskType: + type: string + enum: + - add-broker + - remove-broker + MirrorTopicStatus: + enum: + - ACTIVE + - FAILED + - LINK_FAILED + - LINK_PAUSED + - PAUSED + - PENDING_STOPPED + - SOURCE_UNAVAILABLE + - STOPPED + - PENDING_MIRROR + - PENDING_SYNCHRONIZE + - PENDING_SETUP_FOR_RESTORE + - PENDING_RESTORE + type: string + Failure: + type: object + description: Provides information about problems encountered while performing an operation. + required: + - errors + properties: + errors: + description: List of errors which caused this operation to fail + type: array + items: + $ref: '#/components/schemas/Error' + uniqueItems: true + AlterConfigBatchRequestData: + type: object + required: + - data + properties: + data: + type: array + items: + type: object + required: + - name + properties: + name: + type: string + value: + type: string + nullable: true + operation: + type: string + x-extensible-enum: + - SET + - DELETE + nullable: true + validate_only: + type: boolean + CreateAclRequestData: + type: object + required: + - resource_type + - resource_name + - pattern_type + - principal + - host + - operation + - permission + properties: + resource_type: + $ref: '#/components/schemas/AclResourceType' + resource_name: + type: string + pattern_type: + $ref: '#/components/schemas/AclPatternType' + principal: + type: string + host: + type: string + operation: + $ref: '#/components/schemas/AclOperation' + permission: + $ref: '#/components/schemas/AclPermission' + CreateAclRequestDataList: + allOf: + - type: object + required: + - data + properties: + data: + type: array + items: + $ref: '#/components/schemas/CreateAclRequestData' + CreateTopicRequestData: + type: object + required: + - topic_name + properties: + topic_name: + type: string + partitions_count: + type: integer + replication_factor: + type: integer + configs: + type: array + items: + type: object + required: + - name + properties: + name: + type: string + value: + type: string + nullable: true + validate_only: + type: boolean + ProduceRequest: + type: object + properties: + partition_id: + type: integer + nullable: true + format: int32 + headers: + type: array + items: + $ref: '#/components/schemas/ProduceRequestHeader' + key: + $ref: '#/components/schemas/ProduceRequestData' + value: + $ref: '#/components/schemas/ProduceRequestData' + timestamp: + type: string + format: date-time + nullable: true + UpdateConfigRequestData: + type: object + properties: + value: + type: string + nullable: true + CreateLinkRequestData: + properties: + source_cluster_id: + type: string + destination_cluster_id: + type: string + remote_cluster_id: + description: The expected remote cluster ID. + type: string + cluster_link_id: + description: 'The expected cluster link ID. Can be provided when creating the second side of a bidirectional link for validating the link ID is as expected. If it''s not provided, it''s inferred from the remote cluster.' + type: string + configs: + items: + $ref: '#/components/schemas/ConfigData' + type: array + type: object + UpdateLinkConfigRequestData: + properties: + value: + type: string + required: + - value + type: object + CreateMirrorTopicRequestData: + properties: + source_topic_name: + type: string + mirror_topic_name: + type: string + replication_factor: + type: integer + configs: + type: array + items: + $ref: '#/components/schemas/ConfigData' + required: + - source_topic_name + type: object + AlterMirrorsRequestData: + properties: + mirror_topic_names: + description: The mirror topics specified as a list of topic names. + type: array + items: + type: string + mirror_topic_name_pattern: + description: The mirror topics specified as a pattern. + type: string + type: object + RemoveBrokersRequestData: + properties: + broker_ids: + type: array + items: + type: integer + required: + - broker_ids + type: object + BrokerReplicaExclusionBatchRequestData: + type: object + required: + - data + properties: + data: + type: array + items: + $ref: '#/components/schemas/BrokerReplicaExclusionRequestData' + ObjectMeta: + description: 'ObjectMeta is metadata that all persisted resources must have, which includes all objects users must create.' + required: + - self + properties: + self: + description: 'Self is a Uniform Resource Locator (URL) at which an object can be addressed. This URL encodes the service location, API version, and other particulars necessary to locate the resource at a point in time' + type: string + format: uri + readOnly: true + example: 'https://api.confluent.cloud/v2/kafka-clusters/lkc-f3a90de' + resource_name: + description: Resource Name is a Uniform Resource Identifier (URI) that is globally unique across space and time. It is represented as a Confluent Resource Name + type: string + format: uri + readOnly: true + example: 'crn://confluent.cloud/kafka=lkc-f3a90de' + created_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: The date and time at which this object was created. It is represented in RFC3339 format and is in UTC. + updated_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: The date and time at which this object was last updated. It is represented in RFC3339 format and is in UTC. + deleted_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: The date and time at which this object was (or will be) deleted. It is represented in RFC3339 format and is in UTC. + readOnly: true + srcm.v2.RegionSpec: + type: object + description: The desired state of the Region + properties: + display_name: + type: string + description: The display name. + example: Ohio (us-east-2) + x-immutable: true + readOnly: true + cloud: + type: string + description: The cloud service provider that hosts the region. + x-extensible-enum: + - AWS + - GCP + - AZURE + example: AWS + x-immutable: true + readOnly: true + region_name: + type: string + description: The region name. + example: us-east-2 + x-immutable: true + readOnly: true + packages: + type: array + items: + type: string + x-extensible-enum: + - ESSENTIALS + - ADVANCED + description: List of Stream Governance packages allowing placement in this region. + example: + - ESSENTIALS + - ADVANCED + x-immutable: true + readOnly: true + x-enable-id: true + x-enable-listmeta: true + x-enable-objectmeta: true + Error: + type: object + description: Describes a particular error encountered while performing an operation. + properties: + id: + description: A unique identifier for this particular occurrence of the problem. + type: string + maxLength: 255 + status: + description: 'The HTTP status code applicable to this problem, expressed as a string value.' + type: string + code: + description: 'An application-specific error code, expressed as a string value.' + type: string + title: + description: 'A short, human-readable summary of the problem. It **SHOULD NOT** change from occurrence to occurrence of the problem, except for purposes of localization.' + type: string + detail: + description: A human-readable explanation specific to this occurrence of the problem. + type: string + source: + type: object + description: 'If this error was caused by a particular part of the API request, the source will point to the query string parameter or request body property that caused it.' + properties: + pointer: + description: 'A JSON Pointer [RFC6901] to the associated entity in the request document [e.g. "/spec" for a spec object, or "/spec/title" for a specific field].' + type: string + parameter: + description: A string indicating which query parameter caused the error. + type: string + error_code: + type: integer + format: int32 + message: + type: string + nullable: true + additionalProperties: false + ProduceRequestHeader: + type: object + required: + - name + properties: + name: + type: string + value: + type: string + format: byte + nullable: true + ProduceRequestData: + type: object + properties: + type: + type: string + x-extensible-enum: + - BINARY + - JSON + - STRING + data: + $ref: '#/components/schemas/AnyValue' + nullable: true + ConfigData: + example: + name: name + value: value + properties: + name: + type: string + value: + nullable: true + type: string + required: + - name + - value + BrokerReplicaExclusionRequestData: + type: object + required: + - broker_id + - reason + properties: + broker_id: + type: integer + reason: + type: string + AnyValue: + nullable: true + srcm.v2.ClusterList: + type: object + description: |- + `Clusters` objects represent Schema Registry Clusters on Confluent Cloud. + + The API allows you to list, create, read, and delete your Schema Registry clusters. + + + Related guides: + * [Confluent Cloud Schema Registry Cluster APIs](https://docs.confluent.io/cloud/current/stream-governance/clusters-regions-api.html#schema-registry-cluster-management). + * [srcm/v3 Migration Guide](https://docs.confluent.io/cloud/current/stream-governance/packages.html#deprecation-of-srcm-v2-clusters-and-regions-apis-and-upgrade-guide). + + + ## The Clusters Model + + required: + - api_version + - kind + - metadata + - data + properties: + api_version: + type: string + enum: + - srcm/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: + - ClusterList + metadata: + allOf: + - $ref: '#/components/schemas/ListMeta' + - properties: + first: + example: 'https://api.confluent.cloud/srcm/v2/clusters' + last: + example: 'https://api.confluent.cloud/srcm/v2/clusters?page_token=bcAOehAY8F16YD84Z1wT' + prev: + example: 'https://api.confluent.cloud/srcm/v2/clusters?page_token=YIXRY97wWYmwzrax4dld' + next: + example: 'https://api.confluent.cloud/srcm/v2/clusters?page_token=UvmDWOB1iwfAIBPj6EYb' + data: + type: array + description: A data property that contains an array of resource items. Each entry in the array is a separate resource. + items: + allOf: + - $ref: '#/components/schemas/srcm.v2.Cluster' + - type: object + required: + - id + - metadata + - spec + - status + properties: + spec: + type: object + required: + - package + - environment + - region + uniqueItems: true + srcm.v2.Cluster: + type: object + description: |- + `Clusters` objects represent Schema Registry Clusters on Confluent Cloud. + + The API allows you to list, create, read, and delete your Schema Registry clusters. + + + Related guides: + * [Confluent Cloud Schema Registry Cluster APIs](https://docs.confluent.io/cloud/current/stream-governance/clusters-regions-api.html#schema-registry-cluster-management). + * [srcm/v3 Migration Guide](https://docs.confluent.io/cloud/current/stream-governance/packages.html#deprecation-of-srcm-v2-clusters-and-regions-apis-and-upgrade-guide). + + + ## The Clusters Model + + properties: + api_version: + type: string + enum: + - srcm/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: + - Cluster + 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 + metadata: + allOf: + - $ref: '#/components/schemas/ObjectMeta' + - properties: + self: + example: 'https://api.confluent.cloud/srcm/v2/clusters/lsrc-12345' + resource_name: + example: 'crn://confluent.cloud/organization=9bb441c4-edef-46ac-8a41-c49e44a3fd9a/environment=env-abc123/cloud-cluster=lsrc-12345' + spec: + $ref: '#/components/schemas/srcm.v2.ClusterSpec' + status: + $ref: '#/components/schemas/srcm.v2.ClusterStatus' + srcm.v2.ClusterSpec: + type: object + description: The desired state of the Cluster + properties: + display_name: + type: string + description: The cluster name. + example: Stream Governance package + x-immutable: true + readOnly: true + package: + type: string + description: | + The billing package. + + Note: Clusters can be upgraded from ESSENTIALS to ADVANCED, but cannot be + downgraded from ADVANCED to ESSENTIALS. + x-extensible-enum: + - ESSENTIALS + - ADVANCED + example: ESSENTIALS + http_endpoint: + type: string + description: The cluster HTTP request URL. + format: uri + example: 'https://psrc-00000.us-central1.gcp.confluent.cloud' + x-immutable: true + readOnly: true + environment: + allOf: + - $ref: '#/components/schemas/GlobalObjectReference' + description: The environment to which this belongs. + region: + allOf: + - $ref: '#/components/schemas/GlobalObjectReference' + description: The region to which this belongs. + x-immutable: true + x-enable-id: true + x-enable-listmeta: true + x-enable-objectmeta: true + srcm.v2.ClusterStatus: + type: object + required: + - phase + description: The status of the Cluster + properties: + phase: + type: string + x-extensible-enum: + - PROVISIONING + - PROVISIONED + - FAILED + description: | + The lifecyle phase of the cluster: + + PROVISIONED: cluster is provisioned; + + PROVISIONING: cluster provisioning is in progress; + + FAILED: provisioning failed + + Note: Schema Registry Cluster Management is handled through the org/v2 Environments API as of srcm/v3. + readOnly: true + example: PROVISIONED + readOnly: true + GlobalObjectReference: + type: object + description: ObjectReference provides information for you to locate the referred object + required: + - id + - related + - resource_name + properties: + id: + type: string + description: ID of the referred resource + minLength: 1 + maxLength: 255 + related: + type: string + format: uri + description: API URL for accessing or modifying the referred object + minLength: 1 + readOnly: true + resource_name: + type: string + format: uri + description: CRN reference to the referred resource + minLength: 1 + readOnly: true + srcm.v2.ClusterUpdate: + type: object + description: |- + `Clusters` objects represent Schema Registry Clusters on Confluent Cloud. + + The API allows you to list, create, read, and delete your Schema Registry clusters. + + + Related guides: + * [Confluent Cloud Schema Registry Cluster APIs](https://docs.confluent.io/cloud/current/stream-governance/clusters-regions-api.html#schema-registry-cluster-management). + * [srcm/v3 Migration Guide](https://docs.confluent.io/cloud/current/stream-governance/packages.html#deprecation-of-srcm-v2-clusters-and-regions-apis-and-upgrade-guide). + + + ## The Clusters Model + + properties: + api_version: + type: string + enum: + - srcm/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: + - Cluster + 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 + metadata: + allOf: + - $ref: '#/components/schemas/ObjectMeta' + - properties: + self: + example: 'https://api.confluent.cloud/srcm/v2/clusters/lsrc-12345' + resource_name: + example: 'crn://confluent.cloud/organization=9bb441c4-edef-46ac-8a41-c49e44a3fd9a/environment=env-abc123/cloud-cluster=lsrc-12345' + spec: + $ref: '#/components/schemas/srcm.v2.ClusterSpecUpdate' + status: + $ref: '#/components/schemas/srcm.v2.ClusterStatus' + srcm.v2.ClusterSpecUpdate: + type: object + description: The desired state of the Cluster + properties: + package: + type: string + description: | + The billing package. + + Note: Clusters can be upgraded from ESSENTIALS to ADVANCED, but cannot be + downgraded from ADVANCED to ESSENTIALS. + x-extensible-enum: + - ESSENTIALS + - ADVANCED + example: ESSENTIALS + environment: + allOf: + - $ref: '#/components/schemas/GlobalObjectReference' + description: The environment to which this belongs. + x-enable-id: true + x-enable-listmeta: true + x-enable-objectmeta: true + srcm.v3.ClusterList: + type: object + description: |- + `Clusters` objects represent Schema Registry Clusters on Confluent Cloud. + + The API allows you to list and read your Schema Registry clusters. + + + Related guide: [Confluent Cloud Schema Registry Cluster APIs](https://docs.confluent.io/cloud/current/stream-governance/clusters-regions-api.html#schema-registry-cluster-management). + + ## The Clusters Model + + required: + - api_version + - kind + - metadata + - data + properties: + api_version: + type: string + enum: + - srcm/v3 + 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: + - ClusterList + metadata: + allOf: + - $ref: '#/components/schemas/ListMeta' + - properties: + first: + example: 'https://api.confluent.cloud/srcm/v3/clusters' + last: + example: 'https://api.confluent.cloud/srcm/v3/clusters?page_token=bcAOehAY8F16YD84Z1wT' + prev: + example: 'https://api.confluent.cloud/srcm/v3/clusters?page_token=YIXRY97wWYmwzrax4dld' + next: + example: 'https://api.confluent.cloud/srcm/v3/clusters?page_token=UvmDWOB1iwfAIBPj6EYb' + data: + type: array + description: A data property that contains an array of resource items. Each entry in the array is a separate resource. + items: + allOf: + - $ref: '#/components/schemas/srcm.v3.Cluster' + - type: object + required: + - id + - metadata + - spec + - status + properties: + spec: + type: object + required: + - package + - cloud + - region + - environment + uniqueItems: true + srcm.v3.Cluster: + type: object + description: |- + `Clusters` objects represent Schema Registry Clusters on Confluent Cloud. + + The API allows you to list and read your Schema Registry clusters. + + + Related guide: [Confluent Cloud Schema Registry Cluster APIs](https://docs.confluent.io/cloud/current/stream-governance/clusters-regions-api.html#schema-registry-cluster-management). + + ## The Clusters Model + + properties: + api_version: + type: string + enum: + - srcm/v3 + 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: + - Cluster + 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 + metadata: + allOf: + - $ref: '#/components/schemas/ObjectMeta' + - properties: + self: + example: 'https://api.confluent.cloud/srcm/v3/clusters/lsrc-12345' + resource_name: + example: 'crn://confluent.cloud/organization=9bb441c4-edef-46ac-8a41-c49e44a3fd9a/environment=env-abc123/cloud-cluster=lsrc-12345' + spec: + $ref: '#/components/schemas/srcm.v3.ClusterSpec' + status: + $ref: '#/components/schemas/srcm.v3.ClusterStatus' + srcm.v3.ClusterSpec: + type: object + description: The desired state of the Cluster + properties: + display_name: + type: string + description: The cluster name. + example: Stream Governance package + x-immutable: true + readOnly: true + package: + type: string + description: | + The billing package. + + Note: Clusters can be upgraded from ESSENTIALS to ADVANCED, but cannot be + downgraded from ADVANCED to ESSENTIALS. + x-extensible-enum: + - ESSENTIALS + - ADVANCED + example: ESSENTIALS + http_endpoint: + type: string + description: The cluster HTTP request URL. + format: uri + example: 'https://psrc-00000.us-central1.gcp.confluent.cloud' + x-immutable: true + readOnly: true + cloud: + type: string + description: The cloud service provider in which the cluster is running. + x-extensible-enum: + - AWS + - GCP + - AZURE + example: GCP + x-immutable: true + region: + type: string + description: The cloud service provider region where the cluster is running. + example: us-east4 + x-immutable: true + environment: + allOf: + - $ref: '#/components/schemas/GlobalObjectReference' + description: The environment to which this belongs. + x-immutable: true + x-enable-id: true + x-enable-listmeta: true + x-enable-objectmeta: true + srcm.v3.ClusterStatus: + type: object + required: + - phase + description: The status of the Cluster + properties: + phase: + type: string + x-extensible-enum: + - PROVISIONING + - PROVISIONED + - FAILED + description: | + The lifecyle phase of the cluster: + + PROVISIONED: cluster is provisioned; + + PROVISIONING: cluster provisioning is in progress; + + FAILED: provisioning failed + readOnly: true + example: PROVISIONED + readOnly: true + parameters: + AclHost: + name: host + description: The ACL host. + in: query + required: false + schema: + type: string + AclOperation: + name: operation + description: The ACL operation. + in: query + required: false + schema: + $ref: '#/components/schemas/AclOperation' + AclOperationRequired: + name: operation + description: The ACL operation. + in: query + required: true + schema: + $ref: '#/components/schemas/AclOperation' + AclPatternType: + name: pattern_type + description: The ACL pattern type. + in: query + required: false + schema: + $ref: '#/components/schemas/AclPatternType' + AclPatternTypeRequired: + name: pattern_type + description: The ACL pattern type. + in: query + required: true + schema: + $ref: '#/components/schemas/AclPatternType' + AclPermission: + name: permission + description: The ACL permission. + in: query + required: false + schema: + $ref: '#/components/schemas/AclPermission' + AclPermissionRequired: + name: permission + description: The ACL permission. + in: query + required: true + schema: + $ref: '#/components/schemas/AclPermission' + AclPrincipal: + name: principal + description: The ACL principal. This is the Service Account name or user name. + in: query + required: false + schema: + type: string + AclResourceName: + name: resource_name + description: The ACL resource name. + in: query + required: false + schema: + type: string + AclResourceType: + name: resource_type + description: The ACL resource type. + in: query + required: false + schema: + $ref: '#/components/schemas/AclResourceType' + AclResourceTypeRequired: + name: resource_type + description: The ACL resource type. + in: query + required: true + schema: + $ref: '#/components/schemas/AclResourceType' + BrokerId: + name: broker_id + description: The Kafka broker ID. + in: path + required: true + schema: + type: integer + example: 1 + ClusterId: + name: cluster_id + description: The Kafka cluster ID. + in: path + required: true + schema: + type: string + example: cluster-1 + ConfigName: + name: name + description: The configuration parameter name. + in: path + required: true + schema: + type: string + example: compression.type + ConsumerGroupId: + name: consumer_group_id + description: The consumer group ID. + in: path + required: true + schema: + type: string + example: consumer-group-1 + ConsumerId: + name: consumer_id + description: The consumer ID. + in: path + required: true + schema: + type: string + example: consumer-1 + IncludeAuthorizedOperations: + name: include_authorized_operations + description: Specify if authorized operations should be included in the response. + in: query + required: false + schema: + type: boolean + PartitionId: + name: partition_id + description: The partition ID. + in: path + required: true + schema: + type: integer + example: 0 + TopicName: + name: topic_name + description: The topic name. + in: path + required: true + schema: + type: string + example: topic-1 + BrokerTaskType: + name: task_type + description: The Kafka broker task type. + in: path + required: true + schema: + $ref: '#/components/schemas/BrokerTaskType' + example: remove-broker + ShouldShutdown: + name: should_shutdown + description: 'To shutdown the broker or not, Default: true' + in: query + required: false + schema: + type: boolean + example: true + ValidateOnly: + name: validate_only + description: 'To validate the action can be performed successfully or not. Default: false' + in: query + required: false + schema: + type: boolean + example: false + ValidateLink: + name: validate_link + description: 'To synchronously validate that the source cluster ID is expected and the dest cluster has the permission to read topics in the source cluster. Default: true' + in: query + required: false + schema: + type: boolean + example: false + IncludeTasks: + name: include_tasks + description: 'Whether to include cluster linking tasks in the response. Default: false' + in: query + required: false + schema: + type: boolean + example: false + IncludeStateTransitionErrors: + name: include_state_transition_errors + description: 'Whether to include mirror state transition errors in the response. Default: false' + in: query + required: false + schema: + type: boolean + example: false + Force: + name: force + description: 'Force the action. Default: false' + in: query + required: false + schema: + type: boolean + example: false + IncludePartitionLevelTruncationData: + name: include_partition_level_truncation_data + description: 'Whether to include partition level truncation information when truncating and restoring a topic in the response. Default: false' + in: query + required: false + schema: + type: boolean + example: false + LinkName: + name: link_name + description: The link name + in: path + required: true + schema: + type: string + example: link-sb1 + LinkConfigName: + name: config_name + description: The link config name + in: path + required: true + schema: + type: string + example: consumer.offset.sync.enable + MirrorTopicStatus: + name: mirror_status + description: 'The status of the mirror topic. If not specified, all mirror topics will be returned.' + in: query + required: false + schema: + $ref: '#/components/schemas/MirrorTopicStatus' + example: ACTIVE + MirrorTopicName: + name: mirror_topic_name + description: Cluster Linking mirror topic name + in: path + required: true + schema: + type: string + example: topic-1 + QueryParamLinkName: + name: link_name + description: The link name + in: query + required: true + schema: + type: string + example: link-sb1 + responses: + BadRequestError: + description: Bad Request + headers: + X-Request-Id: + schema: + type: string + description: The unique identifier for the API request. + content: + application/json: + schema: + $ref: '#/components/schemas/Failure' + example: + errors: + - id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d + status: '400' + code: invalid_filter + title: Invalid Filter + detail: The 'delorean' resource can't be filtered by 'num_doors' + source: + parameter: num_doors + UnauthenticatedError: + x-summary: Unauthorized + description: The request lacks valid authentication credentials for this resource. + headers: + X-Request-Id: + schema: + type: string + description: The unique identifier for the API request. + WWW-Authenticate: + schema: + type: string + description: The unique identifier for the API request. + example: 'Basic error="invalid_key", error_description="The API Key is invalid"' + content: + application/json: + schema: + $ref: '#/components/schemas/Failure' + example: + errors: + - id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d + status: '401' + code: user_unauthenticated + title: Authentication Required + detail: Valid authentication credentials must be provided + UnauthorizedError: + x-summary: Forbidden + description: The access credentials were considered insufficient to grant access + headers: + X-Request-Id: + schema: + type: string + description: The unique identifier for the API request. + content: + application/json: + schema: + $ref: '#/components/schemas/Failure' + example: + errors: + - id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d + status: '403' + code: user_unauthorized + title: User Access Unauthorized + detail: The user 'mcfly' is not allowed to access the 'delorean' resource without the 'plutonium' role. + RateLimitError: + description: Rate Limit Exceeded + headers: + X-Request-Id: + schema: + type: string + description: The unique identifier for the API request. + X-RateLimit-Limit: + schema: + type: integer + description: The maximum number of requests you're permitted to make per time period. + X-RateLimit-Remaining: + schema: + type: integer + description: The number of requests remaining in the current rate limit window. + X-RateLimit-Reset: + schema: + type: integer + description: |- + The relative time in seconds until the current rate-limit window resets. + + **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. + DefaultSystemError: + description: 'Oops, something went wrong!' + headers: + X-Request-Id: + schema: + type: string + description: The unique identifier for the API request. + content: + application/json: + schema: + $ref: '#/components/schemas/Failure' + example: + errors: + - id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d + status: '500' + code: out_of_gas + title: DeLorean Out Of Gas + detail: 'The DeLorean has run out of gas, but Doc Brown will fill ''er up for you asap' + NotFoundError: + description: Not Found + headers: + X-Request-Id: + schema: + type: string + description: The unique identifier for the API request. + content: + application/json: + schema: + $ref: '#/components/schemas/Failure' + example: + errors: + - id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d + status: '404' + title: Not Found + ConflictError: + x-summary: Conflict + description: The request is in conflict with the current server state + headers: + X-Request-Id: + schema: + type: string + description: The unique identifier for the API request. + Location: + schema: + type: string + format: uri + example: 'https://api.confluent.cloud/{object}/{id}' + description: Resource URI of conflicting resource + content: + application/json: + schema: + $ref: '#/components/schemas/Failure' + example: + errors: + - id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d + status: '409' + code: resource_already_exists + title: Resource Already exists + detail: The entitlement '91e3e86f-fca6-4f14-98f5-a48e64113ce2' already exists. + ValidationError: + description: Validation Failed + headers: + X-Request-Id: + schema: + type: string + description: The unique identifier for the API request. + content: + application/json: + schema: + $ref: '#/components/schemas/Failure' + example: + errors: + - status: '422' + code: invalid_configuration + id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d + title: Validation Failed + detail: 'The property ''/cluster/storage_size'' of type string did not match the following type: integer' + source: + pointer: /cluster/storage_size + - status: '422' + code: invalid_configuration + id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d + title: Validation Failed + detail: 'The property ''/cluster/storage_size'' of type string did not match the following type: integer' + source: + pointer: /cluster/storage_size + - status: '422' + code: invalid_configuration + id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d + title: Validation Failed + detail: 'The property ''/cluster/storage_size'' of type string did not match the following type: integer' + source: + pointer: /cluster/storage_size + - status: '422' + code: invalid_configuration + id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d + title: Validation Failed + detail: 'The property ''/cluster/storage_size'' of type string did not match the following type: integer' + source: + pointer: /cluster/storage_size + - status: '422' + code: invalid_configuration + id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d + title: Validation Failed + detail: 'The property ''/cluster/storage_size'' of type string did not match the following type: integer' + source: + pointer: /cluster/storage_size + - status: '422' + code: invalid_configuration + id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d + title: Validation Failed + detail: 'The property ''/cluster/storage_size'' of type string did not match the following type: integer' + source: + pointer: /cluster/storage_size + - status: '422' + code: invalid_configuration + id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d + title: Validation Failed + detail: 'The property ''/cluster/storage_size'' of type string did not match the following type: integer' + source: + pointer: /cluster/storage_size + - status: '422' + code: invalid_configuration + id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d + title: Validation Failed + detail: 'The property ''/cluster/storage_size'' of type string did not match the following type: integer' + source: + pointer: /cluster/storage_size + - status: '422' + code: invalid_configuration + id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d + title: Validation Failed + detail: 'The property ''/cluster/storage_size'' of type string did not match the following type: integer' + source: + pointer: /cluster/storage_size + - status: '422' + code: invalid_configuration + id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d + title: Validation Failed + detail: 'The property ''/cluster/storage_size'' of type string did not match the following type: integer' + source: + pointer: /cluster/storage_size + - status: '422' + code: invalid_configuration + id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d + title: Validation Failed + detail: 'The property ''/cluster/storage_size'' of type string did not match the following type: integer' + source: + pointer: /cluster/storage_size + - status: '422' + code: invalid_configuration + id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d + title: Validation Failed + detail: 'The property ''/cluster/storage_size'' of type string did not match the following type: integer' + source: + pointer: /cluster/storage_size + - status: '422' + code: invalid_configuration + id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d + title: Validation Failed + detail: 'The property ''/cluster/storage_size'' of type string did not match the following type: integer' + source: + pointer: /cluster/storage_size + - status: '422' + code: invalid_configuration + id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d + title: Validation Failed + detail: 'The property ''/cluster/storage_size'' of type string did not match the following type: integer' + source: + pointer: /cluster/storage_size + - status: '422' + code: invalid_configuration + id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d + title: Validation Failed + detail: 'The property ''/cluster/storage_size'' of type string did not match the following type: integer' + source: + pointer: /cluster/storage_size + - status: '422' + code: invalid_configuration + id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d + title: Validation Failed + detail: 'The property ''/cluster/storage_size'' of type string did not match the following type: integer' + source: + pointer: /cluster/storage_size + - status: '422' + code: invalid_configuration + id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d + title: Validation Failed + detail: 'The property ''/cluster/storage_size'' of type string did not match the following type: integer' + source: + pointer: /cluster/storage_size + - status: '422' + code: invalid_configuration + id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d + title: Validation Failed + detail: 'The property ''/cluster/storage_size'' of type string did not match the following type: integer' + source: + pointer: /cluster/storage_size + - status: '422' + code: invalid_configuration + id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d + title: Validation Failed + detail: 'The property ''/cluster/storage_size'' of type string did not match the following type: integer' + source: + pointer: /cluster/storage_size + - status: '422' + code: invalid_configuration + id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d + title: Validation Failed + detail: 'The property ''/cluster/storage_size'' of type string did not match the following type: integer' + source: + pointer: /cluster/storage_size + - status: '422' + code: invalid_configuration + id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d + title: Validation Failed + detail: 'The property ''/cluster/storage_size'' of type string did not match the following type: integer' + source: + pointer: /cluster/storage_size + - status: '422' + code: invalid_configuration + id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d + title: Validation Failed + detail: 'The property ''/cluster/storage_size'' of type string did not match the following type: integer' + source: + pointer: /cluster/storage_size + - status: '422' + code: invalid_configuration + id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d + title: Validation Failed + detail: 'The property ''/cluster/storage_size'' of type string did not match the following type: integer' + source: + pointer: /cluster/storage_size + - status: '422' + code: invalid_configuration + id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d + title: Validation Failed + detail: 'The property ''/cluster/storage_size'' of type string did not match the following type: integer' + source: + pointer: /cluster/storage_size + - status: '422' + code: invalid_configuration + id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d + title: Validation Failed + detail: 'The property ''/cluster/storage_size'' of type string did not match the following type: integer' + source: + pointer: /cluster/storage_size + - status: '422' + code: invalid_configuration + id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d + title: Validation Failed + detail: 'The property ''/cluster/storage_size'' of type string did not match the following type: integer' + source: + pointer: /cluster/storage_size + - status: '422' + code: invalid_configuration + id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d + title: Validation Failed + detail: 'The property ''/cluster/storage_size'' of type string did not match the following type: integer' + source: + pointer: /cluster/storage_size + - status: '422' + code: invalid_configuration + id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d + title: Validation Failed + detail: 'The property ''/cluster/storage_size'' of type string did not match the following type: integer' + source: + pointer: /cluster/storage_size + - status: '422' + code: invalid_configuration + id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d + title: Validation Failed + detail: 'The property ''/cluster/storage_size'' of type string did not match the following type: integer' + source: + pointer: /cluster/storage_size + - status: '422' + code: invalid_configuration + id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d + title: Validation Failed + detail: 'The property ''/cluster/storage_size'' of type string did not match the following type: integer' + source: + pointer: /cluster/storage_size + securitySchemes: + cloud-api-key: + type: http + scheme: basic + description: Authenticate with Cloud API Keys using HTTP Basic Auth. Treat the Cloud API Key ID as the username and Cloud API Key Secret as the password. + confluent-sts-access-token: + type: oauth2 + description: Authenticate with Confluent API using this credentials (JSON Web Tokens) following OAuth 2.0. + flows: + clientCredentials: + tokenUrl: 'https://api.confluent.cloud/sts/v1/oauth2/token' + scopes: {} + api-key: + type: http + scheme: basic + description: Authenticate with API Keys using HTTP Basic Auth. Treat the API Key ID as the username and API Key Secret as the password. + resource-api-key: + type: http + scheme: basic + description: | + Authenticate with resource-specific API Keys using HTTP Basic Auth. Treat the resource-specific API Key ID + as the username and resource-specific API Key Secret as the password. + external-access-token: + type: oauth2 + description: Authenticate with OAuth 2.0. + flows: + clientCredentials: + tokenUrl: 'https:///token' + scopes: {} + oauth: + type: oauth2 + description: Authenticate with OAuth 2.0. Currently this is only supported for partner APIs. + flows: + clientCredentials: + tokenUrl: /oauth2/token + scopes: + 'partner:alter': enables partners to alter entitlements + 'partner:create': enables partners to create entitlements and signup on behalf of customers + 'partner:delete': enables partners to delete entitlements and organizations + 'partner:describe': enables partners to read and list entitlements and organizations + requestBodies: + AlterBrokerConfigBatchRequest: + description: The alter broker configuration parameter batch request. + content: + application/json: + schema: + $ref: '#/components/schemas/AlterConfigBatchRequestData' + example: + data: + - name: max.connections + operation: DELETE + - name: compression.type + value: gzip + AlterClusterConfigBatchRequest: + description: The alter cluster configuration parameter batch request. + content: + application/json: + schema: + $ref: '#/components/schemas/AlterConfigBatchRequestData' + example: + data: + - name: max.connections + operation: DELETE + - name: compression.type + value: gzip + AlterTopicConfigBatchRequest: + description: The alter topic configuration parameter batch request. + content: + application/json: + schema: + $ref: '#/components/schemas/AlterConfigBatchRequestData' + examples: + batch_alter_topic_configs: + value: + data: + - name: cleanup.policy + operation: DELETE + - name: compression.type + value: gzip + validate_only_batch_alter_topic_configs: + value: + data: + - name: cleanup.policy + operation: DELETE + - name: compression.type + value: gzip + validate_only: true + CreateAclRequest: + description: The ACL creation request. + content: + application/json: + schema: + $ref: '#/components/schemas/CreateAclRequestData' + example: + resource_type: CLUSTER + resource_name: kafka-cluster + pattern_type: LITERAL + principal: 'principalType:principalName' + host: '*' + operation: DESCRIBE + permission: DENY + BatchCreateAclRequest: + description: The batch ACL creation request. + content: + application/json: + schema: + $ref: '#/components/schemas/CreateAclRequestDataList' + example: + data: + - resource_type: CLUSTER + resource_name: kafka-cluster + pattern_type: LITERAL + principal: 'principalType:principalName' + host: '*' + operation: DESCRIBE + permission: DENY + - resource_type: TOPIC + resource_name: kafka-cluster + pattern_type: LITERAL + principal: 'principalType:principalName' + host: '*' + operation: READ + permission: ALLOW + CreateTopicRequest: + description: 'The topic creation request. Note that Confluent Cloud allows only specific replication factor values. Because of that the replication factor field should either be omitted or it should use one of the allowed values (see https://docs.confluent.io/cloud/current/client-apps/optimizing/durability.html).' + content: + application/json: + schema: + $ref: '#/components/schemas/CreateTopicRequestData' + examples: + uniform_replication: + value: + topic_name: topic-X + partitions_count: 64 + replication_factor: 3 + configs: + - name: cleanup.policy + value: compact + - name: compression.type + value: gzip + dry_run_create_topic: + value: + topic_name: topic-X + partitions_count: 64 + replication_factor: 3 + validate_only: true + ProduceRequest: + description: 'A single record to be produced to Kafka. To produce multiple records in the same request, simply concatenate the records. The delivery reports are concatenated in the same order as the records are sent.' + content: + application/json: + schema: + $ref: '#/components/schemas/ProduceRequest' + examples: + binary_and_json: + description: 'If using type, one of "BINARY", "JSON" or "STRING" is required.' + value: + partition_id: 1 + headers: + - name: Header-1 + value: SGVhZGVyLTE= + - name: Header-2 + value: SGVhZGVyLTI= + key: + type: BINARY + data: Zm9vYmFy + value: + type: JSON + data: + foo: bar + timestamp: '2021-02-05T19:14:42Z' + string: + description: 'If using type, one of "BINARY", "JSON" or "STRING" is required.' + value: + value: + type: STRING + data: My message + empty_value: + description: key or value can be omitted entirely. + value: + key: + data: 1000 + UpdateBrokerConfigRequest: + description: The broker configuration parameter update request. + content: + application/json: + schema: + $ref: '#/components/schemas/UpdateConfigRequestData' + example: + value: gzip + UpdateClusterConfigRequest: + description: The cluster configuration parameter update request. + content: + application/json: + schema: + $ref: '#/components/schemas/UpdateConfigRequestData' + example: + value: gzip + UpdateTopicConfigRequest: + description: The topic configuration parameter update request. + content: + application/json: + schema: + $ref: '#/components/schemas/UpdateConfigRequestData' + example: + value: gzip + CreateLinkRequest: + description: Create a cluster link + content: + application/json: + schema: + $ref: '#/components/schemas/CreateLinkRequestData' + examples: + destination_initiated_link: + description: Create a destination initiated cluster link + value: + source_cluster_id: cluster-1 + configs: + - name: bootstrap.servers + value: cluster-1-bootstrap-server + - name: acl.sync.enable + value: 'false' + - name: consumer.offset.sync.ms + value: '30000' + - name: sasl.mechanism + value: PLAIN + - name: sasl.protocol + value: SASL_SSL + - name: sasl.jaas.config + value: sasl.jaas.config=org.apache.kafka.common.security.plain.PlainLoginModule required username='' password=''; + source_initiated_link_at_source_cluster: + description: Create a source initiated cluster link at source cluster + value: + destination_cluster_id: cluster-2 + configs: + - name: bootstrap.servers + value: cluster-2-bootstrap-server + - name: link.mode + value: SOURCE + - name: sasl.mechanism + value: PLAIN + - name: sasl.protocol + value: SASL_SSL + - name: sasl.jaas.config + value: sasl.jaas.config=org.apache.kafka.common.security.plain.PlainLoginModule required username='' password=''; + source_initiated_link_at_destination_cluster: + description: Create a source initiated cluster link at destination cluster + value: + destination_cluster_id: cluster-1 + configs: + - name: bootstrap.servers + value: cluster-1-bootstrap-server + - name: link.mode + value: DESTINATION + - name: connection.mode + value: INBOUND + - name: acl.sync.enable + value: 'false' + - name: sasl.mechanism + value: PLAIN + - name: sasl.protocol + value: SASL_SSL + - name: sasl.jaas.config + value: sasl.jaas.config=org.apache.kafka.common.security.plain.PlainLoginModule required username='' password=''; + bidirectional_link_east: + description: Create a bidirectional cluster link in east + value: + remote_cluster_id: cluster-west + configs: + - name: bootstrap.servers + value: cluster-west-bootstrap-server + - name: link.mode + value: BIDIRECTIONAL + - name: cluster.link.prefix + value: west. + - name: sasl.mechanism + value: PLAIN + - name: sasl.protocol + value: SASL_SSL + - name: sasl.jaas.config + value: sasl.jaas.config=org.apache.kafka.common.security.plain.PlainLoginModule required username='' password=''; + bidirectional_link_west: + description: Create a bidirectional cluster link in west + value: + remote_cluster_id: cluster-east + cluster_link_id: eEBkTffYSESld6EO898x3w + configs: + - name: bootstrap.servers + value: cluster-east-bootstrap-server + - name: link.mode + value: BIDIRECTIONAL + - name: cluster.link.prefix + value: east. + - name: sasl.mechanism + value: PLAIN + - name: sasl.protocol + value: SASL_SSL + - name: sasl.jaas.config + value: sasl.jaas.config=org.apache.kafka.common.security.plain.PlainLoginModule required username='' password=''; + UpdateLinkConfigRequest: + content: + application/json: + example: + value: '300000' + schema: + $ref: '#/components/schemas/UpdateLinkConfigRequestData' + description: Link config value to update + AlterLinkConfigBatchRequest: + content: + application/json: + example: + data: + - name: cleanup.policy + operation: DELETE + - name: compression.type + value: gzip + schema: + $ref: '#/components/schemas/AlterConfigBatchRequestData' + CreateMirrorTopicRequest: + description: 'Name and configs of the topics mirroring from and mirroring to. Note that Confluent Cloud allows only specific replication factor values. Because of that the replication factor field should either be omitted or it should use one of the allowed values (see https://docs.confluent.io/cloud/current/client-apps/optimizing/durability.html).' + content: + application/json: + schema: + $ref: '#/components/schemas/CreateMirrorTopicRequestData' + examples: + generic_example: + description: Generic example of creating a mirror topic + value: + source_topic_name: topic-1 + configs: + - name: unclean.leader.election.enable + value: 'true' + replication_factor: 1 + example_with_mirror_topic_name: + description: Example using optional mirror_topic_name flag + value: + source_topic_name: topic-1 + mirror_topic_name: link1_topic-1 + configs: + - name: unclean.leader.election.enable + value: 'true' + replication_factor: 3 + AlterMirrorsRequest: + description: Mirror topics to be altered. + content: + application/json: + schema: + $ref: '#/components/schemas/AlterMirrorsRequestData' + examples: + mirror_topic_names: + description: Example using mirror topic names + value: + mirror_topic_names: + - topic-1 + - topic-2 + mirror_topic_name_pattern: + description: Example using mirror topic name pattern + value: + mirror_topic_name_pattern: .* + RemoveBrokersRequest: + content: + application/json: + example: + broker_ids: + - 1 + - 2 + - 3 + schema: + $ref: '#/components/schemas/RemoveBrokersRequestData' + description: Broker ids to remove + BrokerReplicaExclusionBatchRequest: + description: Alter Broker Replica Exclusions. + content: + application/json: + schema: + $ref: '#/components/schemas/BrokerReplicaExclusionBatchRequestData' + example: + data: + - broker_id: 1 + reason: The broker is to be removed. + - broker_id: 2 + reason: The broker is to be removed. + x-stackQL-resources: + regions: + id: confluent.schema_registry_clusters.regions + name: regions + title: Regions + methods: + list_srcm_v2regions: + operation: + $ref: '#/paths/~1srcm~1v2~1regions/get' + response: + mediaType: application/json + openAPIDocKey: '200' + objectKey: $.data + get_srcm_v2region: + operation: + $ref: '#/paths/~1srcm~1v2~1regions~1{id}/get' + response: + mediaType: application/json + openAPIDocKey: '200' + sqlVerbs: + select: + - $ref: '#/components/x-stackQL-resources/regions/methods/get_srcm_v2region' + - $ref: '#/components/x-stackQL-resources/regions/methods/list_srcm_v2regions' + insert: [] + update: [] + replace: [] + delete: [] + v2_clusters: + id: confluent.schema_registry_clusters.v2_clusters + name: v2_clusters + title: V2 Clusters + methods: + list_srcm_v2clusters: + operation: + $ref: '#/paths/~1srcm~1v2~1clusters/get' + response: + mediaType: application/json + openAPIDocKey: '200' + objectKey: $.data + create_srcm_v2cluster: + operation: + $ref: '#/paths/~1srcm~1v2~1clusters/post' + response: + mediaType: application/json + openAPIDocKey: '202' + get_srcm_v2cluster: + operation: + $ref: '#/paths/~1srcm~1v2~1clusters~1{id}/get' + response: + mediaType: application/json + openAPIDocKey: '200' + update_srcm_v2cluster: + operation: + $ref: '#/paths/~1srcm~1v2~1clusters~1{id}/patch' + response: + mediaType: application/json + openAPIDocKey: '200' + delete_srcm_v2cluster: + operation: + $ref: '#/paths/~1srcm~1v2~1clusters~1{id}/delete' + response: + mediaType: application/json + openAPIDocKey: '204' + sqlVerbs: + select: + - $ref: '#/components/x-stackQL-resources/v2_clusters/methods/get_srcm_v2cluster' + - $ref: '#/components/x-stackQL-resources/v2_clusters/methods/list_srcm_v2clusters' + insert: + - $ref: '#/components/x-stackQL-resources/v2_clusters/methods/create_srcm_v2cluster' + update: + - $ref: '#/components/x-stackQL-resources/v2_clusters/methods/update_srcm_v2cluster' + replace: [] + delete: + - $ref: '#/components/x-stackQL-resources/v2_clusters/methods/delete_srcm_v2cluster' + v3_clusters: + id: confluent.schema_registry_clusters.v3_clusters + name: v3_clusters + title: V3 Clusters + methods: + list_srcm_v3clusters: + operation: + $ref: '#/paths/~1srcm~1v3~1clusters/get' + response: + mediaType: application/json + openAPIDocKey: '200' + objectKey: $.data + get_srcm_v3cluster: + operation: + $ref: '#/paths/~1srcm~1v3~1clusters~1{id}/get' + response: + mediaType: application/json + openAPIDocKey: '200' + sqlVerbs: + select: + - $ref: '#/components/x-stackQL-resources/v3_clusters/methods/get_srcm_v3cluster' + - $ref: '#/components/x-stackQL-resources/v3_clusters/methods/list_srcm_v3clusters' + insert: [] + update: [] + replace: [] + delete: [] +paths: + /srcm/v2/regions: + get: + deprecated: true + x-deprecated-at: '20240801T00:00:00Z' + x-sunset-at: '20250228T00:00:00Z' + operationId: listSrcmV2Regions + summary: List of Regions + description: |- + [![Deprecated](https://img.shields.io/badge/Lifecycle%20Stage-Deprecated-%23ff005c)](#section/Versioning/API-Lifecycle-Policy) + + Retrieve a sorted, filtered, paginated list of all regions. + parameters: + - name: spec.cloud + in: query + required: false + schema: + $ref: '#/components/schemas/SearchFilter' + example: AWS + description: Filter the results by exact match for spec.cloud. + - name: spec.region_name + in: query + required: false + schema: + $ref: '#/components/schemas/SearchFilter' + example: us-east-2 + description: Filter the results by exact match for spec.region_name. + - name: spec.packages + in: query + required: false + schema: + $ref: '#/components/schemas/MultipleSearchFilter' + example: + - ESSENTIALS + - ADVANCED + description: Filter the results by exact match for spec.packages. Pass multiple times to see results matching any of the values. + style: form + explode: true + - 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: + - Regions (srcm/v2) + security: + - cloud-api-key: [] + - confluent-sts-access-token: [] + responses: + '200': + description: Region. + content: + application/json: + schema: + allOf: + - $ref: '#/components/schemas/srcm.v2.RegionList' + 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. + + **Important:** This differs from Github and Twitter's same-named header which uses UTC epoch seconds. We use relative time to avoid client/server time synchronization issues. + '400': + $ref: '#/components/responses/BadRequestError' + '401': + $ref: '#/components/responses/UnauthenticatedError' + '403': + $ref: '#/components/responses/UnauthorizedError' + '429': + $ref: '#/components/responses/RateLimitError' + '500': + $ref: '#/components/responses/DefaultSystemError' + x-codeSamples: + - lang: Shell + source: |- + curl --request GET \ + --url 'https://api.confluent.cloud/srcm/v2/regions?spec.cloud=AWS&spec.region_name=us-east-2&spec.packages=ESSENTIALS,ADVANCED' \ + --header 'Authorization: Basic REPLACE_BASIC_AUTH' + - lang: Java + source: |- + OkHttpClient client = new OkHttpClient(); + + Request request = new Request.Builder() + .url("https://api.confluent.cloud/srcm/v2/regions?spec.cloud=AWS&spec.region_name=us-east-2&spec.packages=ESSENTIALS,ADVANCED") + .get() + .addHeader("Authorization", "Basic REPLACE_BASIC_AUTH") + .build(); + + Response response = client.newCall(request).execute(); + - lang: Go + source: "package main\n\nimport (\n\t\"fmt\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.confluent.cloud/srcm/v2/regions?spec.cloud=AWS&spec.region_name=us-east-2&spec.packages=ESSENTIALS,ADVANCED\"\n\n\treq, _ := http.NewRequest(\"GET\", url, nil)\n\n\treq.Header.Add(\"Authorization\", \"Basic REPLACE_BASIC_AUTH\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}" + - lang: Python + source: |- + import http.client + + conn = http.client.HTTPSConnection("api.confluent.cloud") + + headers = { 'Authorization': "Basic REPLACE_BASIC_AUTH" } + + conn.request("GET", "/srcm/v2/regions?spec.cloud=AWS&spec.region_name=us-east-2&spec.packages=ESSENTIALS,ADVANCED", headers=headers) + + res = conn.getresponse() + data = res.read() + + print(data.decode("utf-8")) + - lang: Node + source: |- + const http = require("https"); + + const options = { + "method": "GET", + "hostname": "api.confluent.cloud", + "port": null, + "path": "/srcm/v2/regions?spec.cloud=AWS&spec.region_name=us-east-2&spec.packages=ESSENTIALS,ADVANCED", + "headers": { + "Authorization": "Basic REPLACE_BASIC_AUTH" + } + }; + + const req = http.request(options, function (res) { + const chunks = []; + + res.on("data", function (chunk) { + chunks.push(chunk); + }); + + res.on("end", function () { + const body = Buffer.concat(chunks); + console.log(body.toString()); + }); + }); + + req.end(); + - lang: C + source: |- + CURL *hnd = curl_easy_init(); + + curl_easy_setopt(hnd, CURLOPT_CUSTOMREQUEST, "GET"); + curl_easy_setopt(hnd, CURLOPT_URL, "https://api.confluent.cloud/srcm/v2/regions?spec.cloud=AWS&spec.region_name=us-east-2&spec.packages=ESSENTIALS,ADVANCED"); + + struct curl_slist *headers = NULL; + headers = curl_slist_append(headers, "Authorization: Basic REPLACE_BASIC_AUTH"); + curl_easy_setopt(hnd, CURLOPT_HTTPHEADER, headers); + + CURLcode ret = curl_easy_perform(hnd); + - lang: C# + source: |- + var client = new RestClient("https://api.confluent.cloud/srcm/v2/regions?spec.cloud=AWS&spec.region_name=us-east-2&spec.packages=ESSENTIALS,ADVANCED"); + var request = new RestRequest(Method.GET); + request.AddHeader("Authorization", "Basic REPLACE_BASIC_AUTH"); + IRestResponse response = client.Execute(request); + '/srcm/v2/regions/{id}': + get: + deprecated: true + x-deprecated-at: '20240801T00:00:00Z' + x-sunset-at: '20250228T00:00:00Z' + operationId: getSrcmV2Region + summary: Read a Region + description: |- + [![Deprecated](https://img.shields.io/badge/Lifecycle%20Stage-Deprecated-%23ff005c)](#section/Versioning/API-Lifecycle-Policy) + + Make a request to read a region. + parameters: + - name: id + in: path + required: true + schema: + type: string + description: The unique identifier for the region. + tags: + - Regions (srcm/v2) + security: + - cloud-api-key: [] + - confluent-sts-access-token: [] + responses: + '200': + description: Region. + content: + application/json: + schema: + allOf: + - $ref: '#/components/schemas/srcm.v2.Region' + - type: object + required: + - api_version + - kind + - id + - spec + properties: + spec: + type: object + required: + - display_name + - cloud + - region_name + - packages + 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. + + **Important:** This differs from Github and Twitter's same-named header which uses UTC epoch seconds. We use relative time to avoid client/server time synchronization issues. + '400': + $ref: '#/components/responses/BadRequestError' + '401': + $ref: '#/components/responses/UnauthenticatedError' + '403': + $ref: '#/components/responses/UnauthorizedError' + '404': + $ref: '#/components/responses/NotFoundError' + '429': + $ref: '#/components/responses/RateLimitError' + '500': + $ref: '#/components/responses/DefaultSystemError' + x-codeSamples: + - lang: Shell + source: |- + curl --request GET \ + --url 'https://api.confluent.cloud/srcm/v2/regions/{id}' \ + --header 'Authorization: Basic REPLACE_BASIC_AUTH' + - lang: Java + source: |- + OkHttpClient client = new OkHttpClient(); + + Request request = new Request.Builder() + .url("https://api.confluent.cloud/srcm/v2/regions/{id}") + .get() + .addHeader("Authorization", "Basic REPLACE_BASIC_AUTH") + .build(); + + Response response = client.newCall(request).execute(); + - lang: Go + source: "package main\n\nimport (\n\t\"fmt\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.confluent.cloud/srcm/v2/regions/{id}\"\n\n\treq, _ := http.NewRequest(\"GET\", url, nil)\n\n\treq.Header.Add(\"Authorization\", \"Basic REPLACE_BASIC_AUTH\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}" + - lang: Python + source: |- + import http.client + + conn = http.client.HTTPSConnection("api.confluent.cloud") + + headers = { 'Authorization': "Basic REPLACE_BASIC_AUTH" } + + conn.request("GET", "/srcm/v2/regions/{id}", headers=headers) + + res = conn.getresponse() + data = res.read() + + print(data.decode("utf-8")) + - lang: Node + source: |- + const http = require("https"); + + const options = { + "method": "GET", + "hostname": "api.confluent.cloud", + "port": null, + "path": "/srcm/v2/regions/{id}", + "headers": { + "Authorization": "Basic REPLACE_BASIC_AUTH" + } + }; + + const req = http.request(options, function (res) { + const chunks = []; + + res.on("data", function (chunk) { + chunks.push(chunk); + }); + + res.on("end", function () { + const body = Buffer.concat(chunks); + console.log(body.toString()); + }); + }); + + req.end(); + - lang: C + source: |- + CURL *hnd = curl_easy_init(); + + curl_easy_setopt(hnd, CURLOPT_CUSTOMREQUEST, "GET"); + curl_easy_setopt(hnd, CURLOPT_URL, "https://api.confluent.cloud/srcm/v2/regions/{id}"); + + struct curl_slist *headers = NULL; + headers = curl_slist_append(headers, "Authorization: Basic REPLACE_BASIC_AUTH"); + curl_easy_setopt(hnd, CURLOPT_HTTPHEADER, headers); + + CURLcode ret = curl_easy_perform(hnd); + - lang: C# + source: |- + var client = new RestClient("https://api.confluent.cloud/srcm/v2/regions/{id}"); + var request = new RestRequest(Method.GET); + request.AddHeader("Authorization", "Basic REPLACE_BASIC_AUTH"); + IRestResponse response = client.Execute(request); + /srcm/v2/clusters: + get: + deprecated: true + x-deprecated-at: '20240801T00:00:00Z' + x-sunset-at: '20250228T00:00:00Z' + operationId: listSrcmV2Clusters + summary: List of Clusters + description: |- + [![Deprecated](https://img.shields.io/badge/Lifecycle%20Stage-Deprecated-%23ff005c)](#section/Versioning/API-Lifecycle-Policy) + + Retrieve a sorted, filtered, paginated list of all clusters. + parameters: + - name: environment + in: query + required: true + schema: + $ref: '#/components/schemas/SearchFilter' + example: env-00000 + description: Filter the results by exact match for environment. + - name: page_size + in: query + required: false + schema: + type: integer + default: 10 + maximum: 100 + x-max-page-items: 500 + description: A pagination size for collection requests. + - name: page_token + in: query + required: false + schema: + type: string + maxLength: 255 + description: An opaque pagination token for collection requests. + tags: + - Clusters (srcm/v2) + security: + - cloud-api-key: [] + - confluent-sts-access-token: [] + responses: + '200': + description: Cluster. + content: + application/json: + schema: + allOf: + - $ref: '#/components/schemas/srcm.v2.ClusterList' + - type: object + properties: + data: + type: array + items: + properties: + spec: + type: object + properties: + environment: + example: + id: env-00000 + related: 'https://api.confluent.cloud/v2/environments/env-00000' + resource_name: 'https://api.confluent.cloud/organization=9bb441c4-edef-46ac-8a41-c49e44a3fd9a/environment=env-00000' + region: + example: + id: sgreg-00000 + related: 'https://api.confluent.cloud/srcm/v2/regions/sgreg-00000' + resource_name: 'https://api.confluent.cloud/organization=9bb441c4-edef-46ac-8a41-c49e44a3fd9a/region=sgreg-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. + + **Important:** This differs from Github and Twitter's same-named header which uses UTC epoch seconds. We use relative time to avoid client/server time synchronization issues. + '400': + $ref: '#/components/responses/BadRequestError' + '401': + $ref: '#/components/responses/UnauthenticatedError' + '403': + $ref: '#/components/responses/UnauthorizedError' + '429': + $ref: '#/components/responses/RateLimitError' + '500': + $ref: '#/components/responses/DefaultSystemError' + x-codeSamples: + - lang: Shell + source: |- + curl --request GET \ + --url 'https://api.confluent.cloud/srcm/v2/clusters?environment=env-00000' \ + --header 'Authorization: Basic REPLACE_BASIC_AUTH' + - lang: Java + source: |- + OkHttpClient client = new OkHttpClient(); + + Request request = new Request.Builder() + .url("https://api.confluent.cloud/srcm/v2/clusters?environment=env-00000") + .get() + .addHeader("Authorization", "Basic REPLACE_BASIC_AUTH") + .build(); + + Response response = client.newCall(request).execute(); + - lang: Go + source: "package main\n\nimport (\n\t\"fmt\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.confluent.cloud/srcm/v2/clusters?environment=env-00000\"\n\n\treq, _ := http.NewRequest(\"GET\", url, nil)\n\n\treq.Header.Add(\"Authorization\", \"Basic REPLACE_BASIC_AUTH\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}" + - lang: Python + source: |- + import http.client + + conn = http.client.HTTPSConnection("api.confluent.cloud") + + headers = { 'Authorization': "Basic REPLACE_BASIC_AUTH" } + + conn.request("GET", "/srcm/v2/clusters?environment=env-00000", headers=headers) + + res = conn.getresponse() + data = res.read() + + print(data.decode("utf-8")) + - lang: Node + source: |- + const http = require("https"); + + const options = { + "method": "GET", + "hostname": "api.confluent.cloud", + "port": null, + "path": "/srcm/v2/clusters?environment=env-00000", + "headers": { + "Authorization": "Basic REPLACE_BASIC_AUTH" + } + }; + + const req = http.request(options, function (res) { + const chunks = []; + + res.on("data", function (chunk) { + chunks.push(chunk); + }); + + res.on("end", function () { + const body = Buffer.concat(chunks); + console.log(body.toString()); + }); + }); + + req.end(); + - lang: C + source: |- + CURL *hnd = curl_easy_init(); + + curl_easy_setopt(hnd, CURLOPT_CUSTOMREQUEST, "GET"); + curl_easy_setopt(hnd, CURLOPT_URL, "https://api.confluent.cloud/srcm/v2/clusters?environment=env-00000"); + + struct curl_slist *headers = NULL; + headers = curl_slist_append(headers, "Authorization: Basic REPLACE_BASIC_AUTH"); + curl_easy_setopt(hnd, CURLOPT_HTTPHEADER, headers); + + CURLcode ret = curl_easy_perform(hnd); + - lang: C# + source: |- + var client = new RestClient("https://api.confluent.cloud/srcm/v2/clusters?environment=env-00000"); + var request = new RestRequest(Method.GET); + request.AddHeader("Authorization", "Basic REPLACE_BASIC_AUTH"); + IRestResponse response = client.Execute(request); + post: + deprecated: true + x-deprecated-at: '20240801T00:00:00Z' + x-sunset-at: '20250228T00:00:00Z' + operationId: createSrcmV2Cluster + summary: Create a Cluster + description: |- + [![Deprecated](https://img.shields.io/badge/Lifecycle%20Stage-Deprecated-%23ff005c)](#section/Versioning/API-Lifecycle-Policy) + + Make a request to create a cluster. + tags: + - Clusters (srcm/v2) + security: + - cloud-api-key: [] + - confluent-sts-access-token: [] + requestBody: + content: + application/json: + schema: + allOf: + - $ref: '#/components/schemas/srcm.v2.Cluster' + - type: object + required: + - spec + properties: + spec: + type: object + required: + - package + - environment + - region + - type: object + properties: + spec: + type: object + properties: + environment: + example: + id: env-00000 + region: + example: + id: sgreg-00000 + responses: + '202': + description: A Cluster is being created. + headers: + X-Request-Id: + schema: + type: string + description: The unique identifier for the API request. + X-RateLimit-Limit: + schema: + type: integer + description: The maximum number of requests you're permitted to make per time period. + X-RateLimit-Remaining: + schema: + type: integer + description: The number of requests remaining in the current rate limit window. + X-RateLimit-Reset: + schema: + type: integer + description: |- + The relative time in seconds until the current rate-limit window resets. + + **Important:** This differs from Github and Twitter's same-named header which uses UTC epoch seconds. We use relative time to avoid client/server time synchronization issues. + Location: + schema: + type: string + format: uri + example: 'https://api.confluent.cloud/srcm/v2/clusters/{id}' + description: Cluster resource uri + content: + application/json: + schema: + allOf: + - $ref: '#/components/schemas/srcm.v2.Cluster' + - type: object + required: + - spec + - status + properties: + spec: + type: object + required: + - package + - environment + - region + - type: object + properties: + spec: + type: object + properties: + environment: + example: + id: env-00000 + related: 'https://api.confluent.cloud/v2/environments/env-00000' + resource_name: 'https://api.confluent.cloud/organization=9bb441c4-edef-46ac-8a41-c49e44a3fd9a/environment=env-00000' + region: + example: + id: sgreg-00000 + related: 'https://api.confluent.cloud/srcm/v2/regions/sgreg-00000' + resource_name: 'https://api.confluent.cloud/organization=9bb441c4-edef-46ac-8a41-c49e44a3fd9a/region=sgreg-00000' + '400': + $ref: '#/components/responses/BadRequestError' + '401': + $ref: '#/components/responses/UnauthenticatedError' + '403': + $ref: '#/components/responses/UnauthorizedError' + '409': + $ref: '#/components/responses/ConflictError' + '422': + $ref: '#/components/responses/ValidationError' + '429': + $ref: '#/components/responses/RateLimitError' + '500': + $ref: '#/components/responses/DefaultSystemError' + x-codeSamples: + - lang: Shell + source: |- + curl --request POST \ + --url https://api.confluent.cloud/srcm/v2/clusters \ + --header 'Authorization: Basic REPLACE_BASIC_AUTH' \ + --header 'content-type: application/json' \ + --data '{"spec":{"package":"ESSENTIALS","environment":{"id":"env-00000"},"region":{"id":"sgreg-00000"}}}' + - lang: Java + source: |- + OkHttpClient client = new OkHttpClient(); + + MediaType mediaType = MediaType.parse("application/json"); + RequestBody body = RequestBody.create(mediaType, "{\"spec\":{\"package\":\"ESSENTIALS\",\"environment\":{\"id\":\"env-00000\"},\"region\":{\"id\":\"sgreg-00000\"}}}"); + Request request = new Request.Builder() + .url("https://api.confluent.cloud/srcm/v2/clusters") + .post(body) + .addHeader("content-type", "application/json") + .addHeader("Authorization", "Basic REPLACE_BASIC_AUTH") + .build(); + + Response response = client.newCall(request).execute(); + - lang: Go + source: "package main\n\nimport (\n\t\"fmt\"\n\t\"strings\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.confluent.cloud/srcm/v2/clusters\"\n\n\tpayload := strings.NewReader(\"{\\\"spec\\\":{\\\"package\\\":\\\"ESSENTIALS\\\",\\\"environment\\\":{\\\"id\\\":\\\"env-00000\\\"},\\\"region\\\":{\\\"id\\\":\\\"sgreg-00000\\\"}}}\")\n\n\treq, _ := http.NewRequest(\"POST\", url, payload)\n\n\treq.Header.Add(\"content-type\", \"application/json\")\n\treq.Header.Add(\"Authorization\", \"Basic REPLACE_BASIC_AUTH\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}" + - lang: Python + source: |- + import http.client + + conn = http.client.HTTPSConnection("api.confluent.cloud") + + payload = "{\"spec\":{\"package\":\"ESSENTIALS\",\"environment\":{\"id\":\"env-00000\"},\"region\":{\"id\":\"sgreg-00000\"}}}" + + headers = { + 'content-type': "application/json", + 'Authorization': "Basic REPLACE_BASIC_AUTH" + } + + conn.request("POST", "/srcm/v2/clusters", payload, headers) + + res = conn.getresponse() + data = res.read() + + print(data.decode("utf-8")) + - lang: Node + source: |- + const http = require("https"); + + const options = { + "method": "POST", + "hostname": "api.confluent.cloud", + "port": null, + "path": "/srcm/v2/clusters", + "headers": { + "content-type": "application/json", + "Authorization": "Basic REPLACE_BASIC_AUTH" + } + }; + + const req = http.request(options, function (res) { + const chunks = []; + + res.on("data", function (chunk) { + chunks.push(chunk); + }); + + res.on("end", function () { + const body = Buffer.concat(chunks); + console.log(body.toString()); + }); + }); + + req.write(JSON.stringify({ + spec: { + package: 'ESSENTIALS', + environment: {id: 'env-00000'}, + region: {id: 'sgreg-00000'} + } + })); + req.end(); + - lang: C + source: |- + CURL *hnd = curl_easy_init(); + + curl_easy_setopt(hnd, CURLOPT_CUSTOMREQUEST, "POST"); + curl_easy_setopt(hnd, CURLOPT_URL, "https://api.confluent.cloud/srcm/v2/clusters"); + + struct curl_slist *headers = NULL; + headers = curl_slist_append(headers, "content-type: application/json"); + headers = curl_slist_append(headers, "Authorization: Basic REPLACE_BASIC_AUTH"); + curl_easy_setopt(hnd, CURLOPT_HTTPHEADER, headers); + + curl_easy_setopt(hnd, CURLOPT_POSTFIELDS, "{\"spec\":{\"package\":\"ESSENTIALS\",\"environment\":{\"id\":\"env-00000\"},\"region\":{\"id\":\"sgreg-00000\"}}}"); + + CURLcode ret = curl_easy_perform(hnd); + - lang: C# + source: |- + var client = new RestClient("https://api.confluent.cloud/srcm/v2/clusters"); + var request = new RestRequest(Method.POST); + request.AddHeader("content-type", "application/json"); + request.AddHeader("Authorization", "Basic REPLACE_BASIC_AUTH"); + request.AddParameter("application/json", "{\"spec\":{\"package\":\"ESSENTIALS\",\"environment\":{\"id\":\"env-00000\"},\"region\":{\"id\":\"sgreg-00000\"}}}", ParameterType.RequestBody); + IRestResponse response = client.Execute(request); + '/srcm/v2/clusters/{id}': + get: + deprecated: true + x-deprecated-at: '20240801T00:00:00Z' + x-sunset-at: '20250228T00:00:00Z' + operationId: getSrcmV2Cluster + summary: Read a Cluster + description: |- + [![Deprecated](https://img.shields.io/badge/Lifecycle%20Stage-Deprecated-%23ff005c)](#section/Versioning/API-Lifecycle-Policy) + + Make a request to read a cluster. + parameters: + - name: environment + in: query + required: true + schema: + $ref: '#/components/schemas/SearchFilter' + example: env-00000 + description: Scope the operation to the given environment. + - name: id + in: path + required: true + schema: + type: string + description: The unique identifier for the cluster. + tags: + - Clusters (srcm/v2) + security: + - cloud-api-key: [] + - confluent-sts-access-token: [] + responses: + '200': + description: Cluster. + content: + application/json: + schema: + allOf: + - $ref: '#/components/schemas/srcm.v2.Cluster' + - type: object + required: + - api_version + - kind + - id + - spec + - status + properties: + spec: + type: object + required: + - package + - environment + - region + - type: object + properties: + spec: + type: object + properties: + environment: + example: + id: env-00000 + related: 'https://api.confluent.cloud/v2/environments/env-00000' + resource_name: 'https://api.confluent.cloud/organization=9bb441c4-edef-46ac-8a41-c49e44a3fd9a/environment=env-00000' + region: + example: + id: sgreg-00000 + related: 'https://api.confluent.cloud/srcm/v2/regions/sgreg-00000' + resource_name: 'https://api.confluent.cloud/organization=9bb441c4-edef-46ac-8a41-c49e44a3fd9a/region=sgreg-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. + + **Important:** This differs from Github and Twitter's same-named header which uses UTC epoch seconds. We use relative time to avoid client/server time synchronization issues. + '400': + $ref: '#/components/responses/BadRequestError' + '401': + $ref: '#/components/responses/UnauthenticatedError' + '403': + $ref: '#/components/responses/UnauthorizedError' + '404': + $ref: '#/components/responses/NotFoundError' + '429': + $ref: '#/components/responses/RateLimitError' + '500': + $ref: '#/components/responses/DefaultSystemError' + x-codeSamples: + - lang: Shell + source: |- + curl --request GET \ + --url 'https://api.confluent.cloud/srcm/v2/clusters/{id}?environment=env-00000' \ + --header 'Authorization: Basic REPLACE_BASIC_AUTH' + - lang: Java + source: |- + OkHttpClient client = new OkHttpClient(); + + Request request = new Request.Builder() + .url("https://api.confluent.cloud/srcm/v2/clusters/{id}?environment=env-00000") + .get() + .addHeader("Authorization", "Basic REPLACE_BASIC_AUTH") + .build(); + + Response response = client.newCall(request).execute(); + - lang: Go + source: "package main\n\nimport (\n\t\"fmt\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.confluent.cloud/srcm/v2/clusters/{id}?environment=env-00000\"\n\n\treq, _ := http.NewRequest(\"GET\", url, nil)\n\n\treq.Header.Add(\"Authorization\", \"Basic REPLACE_BASIC_AUTH\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}" + - lang: Python + source: |- + import http.client + + conn = http.client.HTTPSConnection("api.confluent.cloud") + + headers = { 'Authorization': "Basic REPLACE_BASIC_AUTH" } + + conn.request("GET", "/srcm/v2/clusters/{id}?environment=env-00000", headers=headers) + + res = conn.getresponse() + data = res.read() + + print(data.decode("utf-8")) + - lang: Node + source: |- + const http = require("https"); + + const options = { + "method": "GET", + "hostname": "api.confluent.cloud", + "port": null, + "path": "/srcm/v2/clusters/{id}?environment=env-00000", + "headers": { + "Authorization": "Basic REPLACE_BASIC_AUTH" + } + }; + + const req = http.request(options, function (res) { + const chunks = []; + + res.on("data", function (chunk) { + chunks.push(chunk); + }); + + res.on("end", function () { + const body = Buffer.concat(chunks); + console.log(body.toString()); + }); + }); + + req.end(); + - lang: C + source: |- + CURL *hnd = curl_easy_init(); + + curl_easy_setopt(hnd, CURLOPT_CUSTOMREQUEST, "GET"); + curl_easy_setopt(hnd, CURLOPT_URL, "https://api.confluent.cloud/srcm/v2/clusters/{id}?environment=env-00000"); + + struct curl_slist *headers = NULL; + headers = curl_slist_append(headers, "Authorization: Basic REPLACE_BASIC_AUTH"); + curl_easy_setopt(hnd, CURLOPT_HTTPHEADER, headers); + + CURLcode ret = curl_easy_perform(hnd); + - lang: C# + source: |- + var client = new RestClient("https://api.confluent.cloud/srcm/v2/clusters/{id}?environment=env-00000"); + var request = new RestRequest(Method.GET); + request.AddHeader("Authorization", "Basic REPLACE_BASIC_AUTH"); + IRestResponse response = client.Execute(request); + patch: + deprecated: true + x-deprecated-at: '20240801T00:00:00Z' + x-sunset-at: '20250228T00:00:00Z' + operationId: updateSrcmV2Cluster + summary: Update a Cluster + description: |+ + [![Deprecated](https://img.shields.io/badge/Lifecycle%20Stage-Deprecated-%23ff005c)](#section/Versioning/API-Lifecycle-Policy) + + Make a request to update a cluster. + + parameters: + - name: id + in: path + required: true + schema: + type: string + description: The unique identifier for the cluster. + tags: + - Clusters (srcm/v2) + security: + - cloud-api-key: [] + - confluent-sts-access-token: [] + requestBody: + content: + application/json: + schema: + allOf: + - $ref: '#/components/schemas/srcm.v2.ClusterUpdate' + - type: object + required: + - spec + properties: + spec: + type: object + required: + - environment + properties: + environment: + example: + id: env-00000 + responses: + '200': + description: Cluster. + content: + application/json: + schema: + allOf: + - $ref: '#/components/schemas/srcm.v2.Cluster' + - type: object + required: + - api_version + - kind + - id + - spec + - status + properties: + spec: + type: object + required: + - package + - environment + - region + - type: object + properties: + spec: + type: object + properties: + environment: + example: + id: env-00000 + related: 'https://api.confluent.cloud/v2/environments/env-00000' + resource_name: 'https://api.confluent.cloud/organization=9bb441c4-edef-46ac-8a41-c49e44a3fd9a/environment=env-00000' + region: + example: + id: sgreg-00000 + related: 'https://api.confluent.cloud/srcm/v2/regions/sgreg-00000' + resource_name: 'https://api.confluent.cloud/organization=9bb441c4-edef-46ac-8a41-c49e44a3fd9a/region=sgreg-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. + + **Important:** This differs from Github and Twitter's same-named header which uses UTC epoch seconds. We use relative time to avoid client/server time synchronization issues. + '400': + $ref: '#/components/responses/BadRequestError' + '401': + $ref: '#/components/responses/UnauthenticatedError' + '403': + $ref: '#/components/responses/UnauthorizedError' + '404': + $ref: '#/components/responses/NotFoundError' + '409': + $ref: '#/components/responses/ConflictError' + '422': + $ref: '#/components/responses/ValidationError' + '429': + $ref: '#/components/responses/RateLimitError' + '500': + $ref: '#/components/responses/DefaultSystemError' + x-codeSamples: + - lang: Shell + source: |- + curl --request PATCH \ + --url 'https://api.confluent.cloud/srcm/v2/clusters/{id}' \ + --header 'Authorization: Basic REPLACE_BASIC_AUTH' \ + --header 'content-type: application/json' \ + --data '{"spec":{"package":"ESSENTIALS","environment":{"id":"env-00000"},"region":{"id":"string"}}}' + - lang: Java + source: |- + OkHttpClient client = new OkHttpClient(); + + MediaType mediaType = MediaType.parse("application/json"); + RequestBody body = RequestBody.create(mediaType, "{\"spec\":{\"package\":\"ESSENTIALS\",\"environment\":{\"id\":\"env-00000\"},\"region\":{\"id\":\"string\"}}}"); + Request request = new Request.Builder() + .url("https://api.confluent.cloud/srcm/v2/clusters/{id}") + .patch(body) + .addHeader("content-type", "application/json") + .addHeader("Authorization", "Basic REPLACE_BASIC_AUTH") + .build(); + + Response response = client.newCall(request).execute(); + - lang: Go + source: "package main\n\nimport (\n\t\"fmt\"\n\t\"strings\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.confluent.cloud/srcm/v2/clusters/{id}\"\n\n\tpayload := strings.NewReader(\"{\\\"spec\\\":{\\\"package\\\":\\\"ESSENTIALS\\\",\\\"environment\\\":{\\\"id\\\":\\\"env-00000\\\"},\\\"region\\\":{\\\"id\\\":\\\"string\\\"}}}\")\n\n\treq, _ := http.NewRequest(\"PATCH\", url, payload)\n\n\treq.Header.Add(\"content-type\", \"application/json\")\n\treq.Header.Add(\"Authorization\", \"Basic REPLACE_BASIC_AUTH\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}" + - lang: Python + source: |- + import http.client + + conn = http.client.HTTPSConnection("api.confluent.cloud") + + payload = "{\"spec\":{\"package\":\"ESSENTIALS\",\"environment\":{\"id\":\"env-00000\"},\"region\":{\"id\":\"string\"}}}" + + headers = { + 'content-type': "application/json", + 'Authorization': "Basic REPLACE_BASIC_AUTH" + } + + conn.request("PATCH", "/srcm/v2/clusters/{id}", payload, headers) + + res = conn.getresponse() + data = res.read() + + print(data.decode("utf-8")) + - lang: Node + source: |- + const http = require("https"); + + const options = { + "method": "PATCH", + "hostname": "api.confluent.cloud", + "port": null, + "path": "/srcm/v2/clusters/{id}", + "headers": { + "content-type": "application/json", + "Authorization": "Basic REPLACE_BASIC_AUTH" + } + }; + + const req = http.request(options, function (res) { + const chunks = []; + + res.on("data", function (chunk) { + chunks.push(chunk); + }); + + res.on("end", function () { + const body = Buffer.concat(chunks); + console.log(body.toString()); + }); + }); + + req.write(JSON.stringify({ + spec: {package: 'ESSENTIALS', environment: {id: 'env-00000'}, region: {id: 'string'}} + })); + req.end(); + - lang: C + source: |- + CURL *hnd = curl_easy_init(); + + curl_easy_setopt(hnd, CURLOPT_CUSTOMREQUEST, "PATCH"); + curl_easy_setopt(hnd, CURLOPT_URL, "https://api.confluent.cloud/srcm/v2/clusters/{id}"); + + struct curl_slist *headers = NULL; + headers = curl_slist_append(headers, "content-type: application/json"); + headers = curl_slist_append(headers, "Authorization: Basic REPLACE_BASIC_AUTH"); + curl_easy_setopt(hnd, CURLOPT_HTTPHEADER, headers); + + curl_easy_setopt(hnd, CURLOPT_POSTFIELDS, "{\"spec\":{\"package\":\"ESSENTIALS\",\"environment\":{\"id\":\"env-00000\"},\"region\":{\"id\":\"string\"}}}"); + + CURLcode ret = curl_easy_perform(hnd); + - lang: C# + source: |- + var client = new RestClient("https://api.confluent.cloud/srcm/v2/clusters/{id}"); + var request = new RestRequest(Method.PATCH); + request.AddHeader("content-type", "application/json"); + request.AddHeader("Authorization", "Basic REPLACE_BASIC_AUTH"); + request.AddParameter("application/json", "{\"spec\":{\"package\":\"ESSENTIALS\",\"environment\":{\"id\":\"env-00000\"},\"region\":{\"id\":\"string\"}}}", ParameterType.RequestBody); + IRestResponse response = client.Execute(request); + delete: + deprecated: true + x-deprecated-at: '20240801T00:00:00Z' + x-sunset-at: '20250228T00:00:00Z' + operationId: deleteSrcmV2Cluster + summary: Delete a Cluster + description: |- + [![Deprecated](https://img.shields.io/badge/Lifecycle%20Stage-Deprecated-%23ff005c)](#section/Versioning/API-Lifecycle-Policy) + + Make a request to delete a cluster. + parameters: + - name: environment + in: query + required: true + schema: + $ref: '#/components/schemas/SearchFilter' + example: env-00000 + description: Scope the operation to the given environment. + - name: id + in: path + required: true + schema: + type: string + description: The unique identifier for the cluster. + tags: + - Clusters (srcm/v2) + security: + - cloud-api-key: [] + - confluent-sts-access-token: [] + responses: + '204': + description: A Cluster is being deleted. + headers: + X-Request-Id: + schema: + type: string + description: The unique identifier for the API request. + X-RateLimit-Limit: + schema: + type: integer + description: The maximum number of requests you're permitted to make per time period. + X-RateLimit-Remaining: + schema: + type: integer + description: The number of requests remaining in the current rate limit window. + X-RateLimit-Reset: + schema: + type: integer + description: |- + The relative time in seconds until the current rate-limit window resets. + + **Important:** This differs from Github and Twitter's same-named header which uses UTC epoch seconds. We use relative time to avoid client/server time synchronization issues. + '400': + $ref: '#/components/responses/BadRequestError' + '401': + $ref: '#/components/responses/UnauthenticatedError' + '403': + $ref: '#/components/responses/UnauthorizedError' + '404': + $ref: '#/components/responses/NotFoundError' + '429': + $ref: '#/components/responses/RateLimitError' + '500': + $ref: '#/components/responses/DefaultSystemError' + x-codeSamples: + - lang: Shell + source: |- + curl --request DELETE \ + --url 'https://api.confluent.cloud/srcm/v2/clusters/{id}?environment=env-00000' \ + --header 'Authorization: Basic REPLACE_BASIC_AUTH' + - lang: Java + source: |- + OkHttpClient client = new OkHttpClient(); + + Request request = new Request.Builder() + .url("https://api.confluent.cloud/srcm/v2/clusters/{id}?environment=env-00000") + .delete(null) + .addHeader("Authorization", "Basic REPLACE_BASIC_AUTH") + .build(); + + Response response = client.newCall(request).execute(); + - lang: Go + source: "package main\n\nimport (\n\t\"fmt\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.confluent.cloud/srcm/v2/clusters/{id}?environment=env-00000\"\n\n\treq, _ := http.NewRequest(\"DELETE\", url, nil)\n\n\treq.Header.Add(\"Authorization\", \"Basic REPLACE_BASIC_AUTH\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}" + - lang: Python + source: |- + import http.client + + conn = http.client.HTTPSConnection("api.confluent.cloud") + + headers = { 'Authorization': "Basic REPLACE_BASIC_AUTH" } + + conn.request("DELETE", "/srcm/v2/clusters/{id}?environment=env-00000", headers=headers) + + res = conn.getresponse() + data = res.read() + + print(data.decode("utf-8")) + - lang: Node + source: |- + const http = require("https"); + + const options = { + "method": "DELETE", + "hostname": "api.confluent.cloud", + "port": null, + "path": "/srcm/v2/clusters/{id}?environment=env-00000", + "headers": { + "Authorization": "Basic REPLACE_BASIC_AUTH" + } + }; + + const req = http.request(options, function (res) { + const chunks = []; + + res.on("data", function (chunk) { + chunks.push(chunk); + }); + + res.on("end", function () { + const body = Buffer.concat(chunks); + console.log(body.toString()); + }); + }); + + req.end(); + - lang: C + source: |- + CURL *hnd = curl_easy_init(); + + curl_easy_setopt(hnd, CURLOPT_CUSTOMREQUEST, "DELETE"); + curl_easy_setopt(hnd, CURLOPT_URL, "https://api.confluent.cloud/srcm/v2/clusters/{id}?environment=env-00000"); + + struct curl_slist *headers = NULL; + headers = curl_slist_append(headers, "Authorization: Basic REPLACE_BASIC_AUTH"); + curl_easy_setopt(hnd, CURLOPT_HTTPHEADER, headers); + + CURLcode ret = curl_easy_perform(hnd); + - lang: C# + source: |- + var client = new RestClient("https://api.confluent.cloud/srcm/v2/clusters/{id}?environment=env-00000"); + var request = new RestRequest(Method.DELETE); + request.AddHeader("Authorization", "Basic REPLACE_BASIC_AUTH"); + IRestResponse response = client.Execute(request); + /srcm/v3/clusters: + get: + operationId: listSrcmV3Clusters + summary: List of Clusters + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + Retrieve a sorted, filtered, paginated list of all clusters. + parameters: + - name: environment + in: query + required: true + schema: + $ref: '#/components/schemas/SearchFilter' + example: env-00000 + description: Filter the results by exact match for environment. + - name: page_size + in: query + required: false + schema: + type: integer + default: 10 + maximum: 100 + x-max-page-items: 500 + description: A pagination size for collection requests. + - name: page_token + in: query + required: false + schema: + type: string + maxLength: 255 + description: An opaque pagination token for collection requests. + tags: + - Clusters (srcm/v3) + security: + - cloud-api-key: [] + responses: + '200': + description: Cluster. + content: + application/json: + schema: + allOf: + - $ref: '#/components/schemas/srcm.v3.ClusterList' + - type: object + properties: + data: + type: array + items: + properties: + spec: + type: object + properties: + environment: + example: + id: env-00000 + related: 'https://api.confluent.cloud/v2/environments/env-00000' + resource_name: 'https://api.confluent.cloud/organization=9bb441c4-edef-46ac-8a41-c49e44a3fd9a/environment=env-00000' + headers: + X-Request-Id: + schema: + type: string + description: The unique identifier for the API request. + X-RateLimit-Limit: + schema: + type: integer + description: The maximum number of requests you're permitted to make per time period. + X-RateLimit-Remaining: + schema: + type: integer + description: The number of requests remaining in the current rate limit window. + X-RateLimit-Reset: + schema: + type: integer + description: |- + The relative time in seconds until the current rate-limit window resets. + + **Important:** This differs from Github and Twitter's same-named header which uses UTC epoch seconds. We use relative time to avoid client/server time synchronization issues. + '400': + $ref: '#/components/responses/BadRequestError' + '401': + $ref: '#/components/responses/UnauthenticatedError' + '403': + $ref: '#/components/responses/UnauthorizedError' + '429': + $ref: '#/components/responses/RateLimitError' + '500': + $ref: '#/components/responses/DefaultSystemError' + x-codeSamples: + - lang: Shell + source: |- + curl --request GET \ + --url 'https://api.confluent.cloud/srcm/v3/clusters?environment=env-00000' \ + --header 'Authorization: Basic REPLACE_BASIC_AUTH' + - lang: Java + source: |- + OkHttpClient client = new OkHttpClient(); + + Request request = new Request.Builder() + .url("https://api.confluent.cloud/srcm/v3/clusters?environment=env-00000") + .get() + .addHeader("Authorization", "Basic REPLACE_BASIC_AUTH") + .build(); + + Response response = client.newCall(request).execute(); + - lang: Go + source: "package main\n\nimport (\n\t\"fmt\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.confluent.cloud/srcm/v3/clusters?environment=env-00000\"\n\n\treq, _ := http.NewRequest(\"GET\", url, nil)\n\n\treq.Header.Add(\"Authorization\", \"Basic REPLACE_BASIC_AUTH\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}" + - lang: Python + source: |- + import http.client + + conn = http.client.HTTPSConnection("api.confluent.cloud") + + headers = { 'Authorization': "Basic REPLACE_BASIC_AUTH" } + + conn.request("GET", "/srcm/v3/clusters?environment=env-00000", headers=headers) + + res = conn.getresponse() + data = res.read() + + print(data.decode("utf-8")) + - lang: Node + source: |- + const http = require("https"); + + const options = { + "method": "GET", + "hostname": "api.confluent.cloud", + "port": null, + "path": "/srcm/v3/clusters?environment=env-00000", + "headers": { + "Authorization": "Basic REPLACE_BASIC_AUTH" + } + }; + + const req = http.request(options, function (res) { + const chunks = []; + + res.on("data", function (chunk) { + chunks.push(chunk); + }); + + res.on("end", function () { + const body = Buffer.concat(chunks); + console.log(body.toString()); + }); + }); + + req.end(); + - lang: C + source: |- + CURL *hnd = curl_easy_init(); + + curl_easy_setopt(hnd, CURLOPT_CUSTOMREQUEST, "GET"); + curl_easy_setopt(hnd, CURLOPT_URL, "https://api.confluent.cloud/srcm/v3/clusters?environment=env-00000"); + + struct curl_slist *headers = NULL; + headers = curl_slist_append(headers, "Authorization: Basic REPLACE_BASIC_AUTH"); + curl_easy_setopt(hnd, CURLOPT_HTTPHEADER, headers); + + CURLcode ret = curl_easy_perform(hnd); + - lang: C# + source: |- + var client = new RestClient("https://api.confluent.cloud/srcm/v3/clusters?environment=env-00000"); + var request = new RestRequest(Method.GET); + request.AddHeader("Authorization", "Basic REPLACE_BASIC_AUTH"); + IRestResponse response = client.Execute(request); + '/srcm/v3/clusters/{id}': + get: + operationId: getSrcmV3Cluster + summary: Read a Cluster + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + Make a request to read a cluster. + parameters: + - name: environment + in: query + required: true + schema: + $ref: '#/components/schemas/SearchFilter' + example: env-00000 + description: Scope the operation to the given environment. + - name: id + in: path + required: true + schema: + type: string + description: The unique identifier for the cluster. + tags: + - Clusters (srcm/v3) + security: + - cloud-api-key: [] + responses: + '200': + description: Cluster. + content: + application/json: + schema: + allOf: + - $ref: '#/components/schemas/srcm.v3.Cluster' + - type: object + required: + - api_version + - kind + - id + - spec + - status + properties: + spec: + type: object + required: + - package + - cloud + - region + - environment + - type: object + properties: + spec: + type: object + properties: + environment: + example: + id: env-00000 + related: 'https://api.confluent.cloud/v2/environments/env-00000' + resource_name: 'https://api.confluent.cloud/organization=9bb441c4-edef-46ac-8a41-c49e44a3fd9a/environment=env-00000' + headers: + X-Request-Id: + schema: + type: string + description: The unique identifier for the API request. + X-RateLimit-Limit: + schema: + type: integer + description: The maximum number of requests you're permitted to make per time period. + X-RateLimit-Remaining: + schema: + type: integer + description: The number of requests remaining in the current rate limit window. + X-RateLimit-Reset: + schema: + type: integer + description: |- + The relative time in seconds until the current rate-limit window resets. + + **Important:** This differs from Github and Twitter's same-named header which uses UTC epoch seconds. We use relative time to avoid client/server time synchronization issues. + '400': + $ref: '#/components/responses/BadRequestError' + '401': + $ref: '#/components/responses/UnauthenticatedError' + '403': + $ref: '#/components/responses/UnauthorizedError' + '404': + $ref: '#/components/responses/NotFoundError' + '429': + $ref: '#/components/responses/RateLimitError' + '500': + $ref: '#/components/responses/DefaultSystemError' + x-codeSamples: + - lang: Shell + source: |- + curl --request GET \ + --url 'https://api.confluent.cloud/srcm/v3/clusters/{id}?environment=env-00000' \ + --header 'Authorization: Basic REPLACE_BASIC_AUTH' + - lang: Java + source: |- + OkHttpClient client = new OkHttpClient(); + + Request request = new Request.Builder() + .url("https://api.confluent.cloud/srcm/v3/clusters/{id}?environment=env-00000") + .get() + .addHeader("Authorization", "Basic REPLACE_BASIC_AUTH") + .build(); + + Response response = client.newCall(request).execute(); + - lang: Go + source: "package main\n\nimport (\n\t\"fmt\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.confluent.cloud/srcm/v3/clusters/{id}?environment=env-00000\"\n\n\treq, _ := http.NewRequest(\"GET\", url, nil)\n\n\treq.Header.Add(\"Authorization\", \"Basic REPLACE_BASIC_AUTH\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}" + - lang: Python + source: |- + import http.client + + conn = http.client.HTTPSConnection("api.confluent.cloud") + + headers = { 'Authorization': "Basic REPLACE_BASIC_AUTH" } + + conn.request("GET", "/srcm/v3/clusters/{id}?environment=env-00000", headers=headers) + + res = conn.getresponse() + data = res.read() + + print(data.decode("utf-8")) + - lang: Node + source: |- + const http = require("https"); + + const options = { + "method": "GET", + "hostname": "api.confluent.cloud", + "port": null, + "path": "/srcm/v3/clusters/{id}?environment=env-00000", + "headers": { + "Authorization": "Basic REPLACE_BASIC_AUTH" + } + }; + + const req = http.request(options, function (res) { + const chunks = []; + + res.on("data", function (chunk) { + chunks.push(chunk); + }); + + res.on("end", function () { + const body = Buffer.concat(chunks); + console.log(body.toString()); + }); + }); + + req.end(); + - lang: C + source: |- + CURL *hnd = curl_easy_init(); + + curl_easy_setopt(hnd, CURLOPT_CUSTOMREQUEST, "GET"); + curl_easy_setopt(hnd, CURLOPT_URL, "https://api.confluent.cloud/srcm/v3/clusters/{id}?environment=env-00000"); + + struct curl_slist *headers = NULL; + headers = curl_slist_append(headers, "Authorization: Basic REPLACE_BASIC_AUTH"); + curl_easy_setopt(hnd, CURLOPT_HTTPHEADER, headers); + + CURLcode ret = curl_easy_perform(hnd); + - lang: C# + source: |- + var client = new RestClient("https://api.confluent.cloud/srcm/v3/clusters/{id}?environment=env-00000"); + var request = new RestRequest(Method.GET); + request.AddHeader("Authorization", "Basic REPLACE_BASIC_AUTH"); + IRestResponse response = client.Execute(request); diff --git a/providers/src/confluent/v00.00.00000/services/sql.yaml b/providers/src/confluent/v00.00.00000/services/sql.yaml new file mode 100644 index 00000000..ff0879af --- /dev/null +++ b/providers/src/confluent/v00.00.00000/services/sql.yaml @@ -0,0 +1,5603 @@ +openapi: 3.0.0 +servers: + - url: 'https://api.confluent.cloud' + description: Confluent Cloud API +info: + version: '' + contact: + name: Confluent Cloud + url: 'https://www.confluent.io/cloud-contact-us/' + email: support@confluent.io + x-api-id: 46234552-5833-42eb-ba0f-883ad3f70d2b + x-audience: external-public + x-logo: + url: 'https://assets.confluent.io/m/5ec23aa91903c00b/' + title: Confluent Cloud APIs - sql + description: sql +tags: + - name: API Keys (iam/v2) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + `ApiKey` objects represent access to different parts of Confluent Cloud. Some types + of API keys represent access to a single cluster/resource such as a Kafka cluster, + Schema Registry cluster or a ksqlDB cluster. Cloud API Keys represent access to resources within an organization + that are not tied to a specific cluster, such as the Org API, IAM API, Metrics API or Connect API. + + The API allows you to list, create, update and delete your API Keys. + + + Related guide: [API Keys in Confluent Cloud](https://docs.confluent.io/cloud/current/client-apps/api-keys.html). + + ## The API Keys Model + + + ## Quotas and Limits + This resource is subject to the [following quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): + + | Quota | Description | + | --- | --- | + | `apikeys_per_org` | API Keys in one Confluent Cloud organization | + - name: Environments (org/v2) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + `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](https://docs.confluent.io/cloud/current/access-management/environments.html). + + ## The Environments Model + + + ## Quotas and Limits + This resource is subject to the [following quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): + + | Quota | Description | + | --- | --- | + | `environments_per_org` | Environments in one Confluent Cloud organization | + - name: Organizations (org/v2) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + `Organization` objects represent a customer organization. An organization contains all customer + resources (e.g., Environments, Kafka Clusters, Service Accounts, API Keys) and is tied to a billing + agreement (including any annual commitment or support plan). + + The API allows you to list, view, and update your organizations. + + + Related guide: [Organizations for Confluent Cloud](https://docs.confluent.io/cloud/current/access-management/hierarchy/organizations/cloud-organization.html). + + ## The Organizations Model + + + ## Quotas and Limits + This resource is subject to the [following quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): + + | Quota | Description | + | --- | --- | + | `organizations_per_user` | Confluent Cloud organizations a user belongs to | + - name: Users (iam/v2) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + `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](https://docs.confluent.io/cloud/current/access-management/user-account.html). + + ## The Users Model + + + ## Quotas and Limits + This resource is subject to the [following quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): + + | Quota | Description | + | --- | --- | + | `users_per_org` | Users in one Confluent Cloud organization | + - name: Service Accounts (iam/v2) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + `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](https://docs.confluent.io/cloud/current/access-management/service-account.html). + + ## The Service Accounts Model + + + ## Quotas and Limits + This resource is subject to the [following quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): + + | Quota | Description | + | --- | --- | + | `service_accounts_per_org` | Service Accounts in one Confluent Cloud organization | + - name: Invitations (iam/v2) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + `Invitation` objects represent invitations to invite users to join your organizations in Confluent Cloud. + + The API allows you to list all your invitations, as well as create, read, and delete a specified invitation. + + + Related guide: [User invitations in Confluent Cloud](https://docs.confluent.io/cloud/current/access-management/identity/user-accounts.html). + + ## The Invitations Model + + + ## Quotas and Limits + This resource is subject to the [following quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): + + | Quota | Description | + | --- | --- | + | `invitations_per_org` | Invitations in a Confluent Cloud organization | + - name: IP Groups (iam/v2) + description: |- + [![Limited Availability](https://img.shields.io/badge/Lifecycle%20Stage-Limited%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) [![Request Access To IP Groups API](https://img.shields.io/badge/-Request%20Access%20To%20IP%20Groups%20API-%23bc8540)](mailto:cloud-support@confluent.io?subject=Request%20to%20join%20IP%20Filtering%20API%20Limited%20Access&body=I%E2%80%99d%20like%20to%20join%20the%20Confluent%20Cloud%20API%20Limited%20Access%20for%20IP%20Filtering.%0AMy%20Cloud%20Organization%20ID%20is%20%3Cretrieve%20from%20https%3A//confluent.cloud/settings/billing/payment%3E.%0A) + + Definitions of networks which can be named and referred by IP blocks, commonly used to attach to IP Filter rules. + + + ## The IP Groups Model + + - name: IP Filters (iam/v2) + description: |- + [![Limited Availability](https://img.shields.io/badge/Lifecycle%20Stage-Limited%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) [![Request Access To IP Filters API](https://img.shields.io/badge/-Request%20Access%20To%20IP%20Filters%20API-%23bc8540)](mailto:ccloud-api-access+iam-v2-limited-availability@confluent.io?subject=Request%20to%20join%20iam/v2%20API%20Limited%20Availability&body=I%E2%80%99d%20like%20to%20join%20the%20Confluent%20Cloud%20API%20Limited%20Availability%20for%20iam/v2%20to%20provide%20early%20feedback%21%20My%20Cloud%20Organization%20ID%20is%20%3Cretrieve%20from%20https%3A//confluent.cloud/settings/billing/payment%3E.) + + `IP Filter` objects are bindings between IP Groups and Confluent resource(s). + For example, a binding between "CorpNet" and "Management APIs" will enforce that + access must come from one of the CIDR blocks associated with CorpNet. + If there are multiple IP filters bound to a resource, a request matching any of the CIDR blocks + for any of the IP Group will allow the request. + If there are no IP Filters for a resource, then access will be granted to requests originating + from any IP Address. + + + ## The IP Filters Model + + - name: Role Bindings (iam/v2) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + A role binding grants a Principal a role on resources that match a pattern. + + The API allows you to perform create, delete, and list operations on role bindings. + + + Related guide: [Role-Based Access Control (RBAC)](https://docs.confluent.io/cloud/current/access-management/access-control/cloud-rbac.html). + + ## The Role Bindings Model + + - name: Subscriptions (notifications/v1) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + `Subscription` objects represent the intent of the customers to get notifications of particular types. + A subscription is created for a particular `NotificationType` and the user will get notifications on the + `Integrations` that are provided while creating the subscription. + + This API allows you to create, retrieve, and update subscriptions, + as well as to view the list of all your subscriptions. You can also delete subscriptions + with RECOMMENDED or OPTIONAL notification types. Subscriptions with REQUIRED notification types cannot be deleted. + + + Related guide: [Cloud Notifications](https://docs.confluent.io/cloud/current/monitoring/configure-notifications.html#notifications-for-ccloud). + + ## The Subscriptions Model + + - name: Integrations (notifications/v1) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + You can create an `Integration` to specify how we can notify you when we receive an alert/notification for + a subscription. Please note that you can only perform create, update and delete operations for integrations + of type `Webhook`, `Slack` and `MsTeams`. You cannot create, update or delete integrations of type `RoleEmail` + and `UserEmail`. + + + Related guide: [Cloud Notifications](https://docs.confluent.io/cloud/current/monitoring/configure-notifications.html#notifications-for-ccloud). + + ## The Integrations Model + + + ## Quotas and Limits + This resource is subject to the [following quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): + + | Quota | Description | + | --- | --- | + | `integrations_per_org` | Maximum number of integrations in one Confluent Cloud organization | + - name: Notification Types (notifications/v1) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + The type of notifications (and their corresponding metadata) supported by Confluent. + + + Related guide: [Cloud Notifications](https://docs.confluent.io/cloud/current/monitoring/configure-notifications.html#notifications-for-ccloud). + + ## The Notification Types Model + + - name: Clusters (cmk/v2) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + `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](https://docs.confluent.io/cloud/current/clusters/cluster-api.html). + + ## The Clusters Model + + + ## Quotas and Limits + This resource is subject to the [following quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): + + | Quota | Description | + | --- | --- | + | `kafka_clusters_per_environment` | Number of clusters in one Confluent Cloud environment | + - name: Clusters (ksqldbcm/v2) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + `Cluster` represents a ksqlDB runtime that you can issue queries to using its API endpoint. + It executes SQL statements and queries which under the hood get built into corresponding + Kafka Streams topologies. The API allows you to list, create, read, and delete your ksqlDB clusters. + + + Related guide: [ksqlDB in Confluent Cloud](https://docs.confluent.io/cloud/current/ksqldb/ksqldb-cluster-api.html). + + ## The Clusters Model + + + ## Quotas and Limits + This resource is subject to the following quotas: + + | Quota | Description | + | --- | --- | + | `ksql.limits.max_apps_per_cluster` | Clusters in one Confluent Cloud Kafka Cluster. | + - name: Connectors (connect/v1) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + API for Managed Connectors or Custom Connectors in Confluent Cloud. + + The API allows you to list, create, get, update and delete a Managed Connector or Custom Connector in Confluent Cloud. + + Connect metrics are available through the [Metrics v2 API](https://api.telemetry.confluent.cloud/docs#tag/Version-2). + + Related guide: [Confluent Cloud API and Managed Connectors](https://docs.confluent.io/cloud/current/connectors/connect-api-section.html). + - name: Lifecycle (connect/v1) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + API for managing the lifecycle for a Managed Connector or Custom Connector in Confluent Cloud. Operations currently supported are Pause and Resume. + - name: Status (connect/v1) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + API for requesting the status or the tasks for a Managed Connector or Custom Connector in Confluent Cloud. + - name: Managed Connector Plugins (connect/v1) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + API for Managed connectors in Confluent Cloud. + - name: Offsets (connect/v1) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + API for managing the offsets for a Managed Connector. + + Related guide: [Manage Connector Offsets](https://docs.confluent.io/cloud/current/connectors/offsets.html#manage-offsets-for-fully-managed-connectors-in-ccloud) + - name: Custom Connector Plugins (connect/v1) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + CustomConnectorPlugins objects represent Custom Connector Plugins on Confluent Cloud. + The API allows you to list, create, read, update, and delete your Custom Connector Plugins. + Related guide: + [Custom Connector Plugin API](https://docs.confluent.io/cloud/current/connectors/connect-api-section.html). + + + ## The Custom Connector Plugins Model + + - name: Presigned Urls (connect/v1) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + Request a presigned upload URL for new Custom Connector Plugin. Note that + the URL policy expires in one hour. If the policy expires, you can request + a new presigned upload URL. + + Related guide: + [Custom Connector Plugin API](https://docs.confluent.io/cloud/current/connectors/connect-api-section.html). + + + ## The Presigned Urls Model + + - name: Cluster (v3) + description: '[![Generally Available](https://img.shields.io/badge/Lifecycle%20Stage-Generally%20Available-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy)' + - name: Configs (v3) + description: '[![Generally Available](https://img.shields.io/badge/Lifecycle%20Stage-Generally%20Available-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy)' + - name: ACL (v3) + description: '[![Generally Available](https://img.shields.io/badge/Lifecycle%20Stage-Generally%20Available-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy)' + - name: Consumer Group (v3) + description: '[![Generally Available](https://img.shields.io/badge/Lifecycle%20Stage-Generally%20Available-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy)' + - name: Partition (v3) + description: '[![Generally Available](https://img.shields.io/badge/Lifecycle%20Stage-Generally%20Available-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy)' + - name: Topic (v3) + description: '[![Generally Available](https://img.shields.io/badge/Lifecycle%20Stage-Generally%20Available-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy)' + - name: Records (v3) + description: '[![Generally Available](https://img.shields.io/badge/Lifecycle%20Stage-Generally%20Available-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy)' + - name: Cluster Linking (v3) + description: '[![Generally Available](https://img.shields.io/badge/Lifecycle%20Stage-Generally%20Available-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy)' + - name: Applied Quotas (service-quota/v1) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + A `quota` object represents a quota configuration for a specific Confluent Cloud resource. + Use this API to retrieve an individual quota or list of quotas for a given scope. + + + Related guide: [Service Quotas for Confluent Cloud](https://docs.confluent.io/cloud/current/quotas/index.html). + + ## The Applied Quotas Model + + - name: Scopes (service-quota/v1) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + Gets a list of all available scopes for applied quotas. + + + Related guide: [Quota Scopes](https://docs.confluent.io/cloud/current/quotas/quotas.html#query-for-scopes). + + ## The Scopes Model + + - name: Entitlements (partner/v2) + description: | + [![Early Access](https://img.shields.io/badge/Lifecycle%20Stage-Early%20Access-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) [![Request Access To Partner v2](https://img.shields.io/badge/-Request%20Access%20To%20Partner%20v2-%23bc8540)](mailto:ccloud-api-access+partner-v2-early-access@confluent.io?subject=Request%20to%20join%20partner/v2%20API%20Early%20Access&body=I%E2%80%99d%20like%20to%20join%20the%20Confluent%20Cloud%20API%20Early%20Access%20for%20partner/v2%20to%20provide%20early%20feedback%21%20My%20Cloud%20Organization%20ID%20is%20%3Cretrieve%20from%20https%3A//confluent.cloud/settings/billing/payment%3E.) + + `Entitlement` objects represent metadata about a marketplace entitlement. + + An entitlement includes metadata about a marketplace purchase + (start date, end date, billing information, partner IDs, etc). + The API allows partners to create, read, and list entitlements. (Unless you + need entitlement creation and customer registration to be separate, + we recommend using the Signup API to create an organization and entitlement + at the same time) + + The API only allows authorized partners to interact with the Entitlements API. + - name: Regions (srcm/v2) + description: |- + [![Deprecated](https://img.shields.io/badge/Lifecycle%20Stage-Deprecated-%23ff005c)](#section/Versioning/API-Lifecycle-Policy) + + `Region` objects represent cloud provider regions available when placing Schema Registry clusters. + The API allows you to list Schema Registry regions. + + + Related guides: + * [Confluent Cloud providers and region support](https://docs.confluent.io/cloud/current/stream-governance/packages.html#cloud-providers-and-region-support). + * [srcm/v3 Migration Guide](https://docs.confluent.io/cloud/current/stream-governance/packages.html#deprecation-of-srcm-v2-clusters-and-regions-apis-and-upgrade-guide). + + + ## The Regions Model + + - name: Clusters (srcm/v2) + description: |- + [![Deprecated](https://img.shields.io/badge/Lifecycle%20Stage-Deprecated-%23ff005c)](#section/Versioning/API-Lifecycle-Policy) + + `Clusters` objects represent Schema Registry Clusters on Confluent Cloud. + + The API allows you to list, create, read, and delete your Schema Registry clusters. + + + Related guides: + * [Confluent Cloud Schema Registry Cluster APIs](https://docs.confluent.io/cloud/current/stream-governance/clusters-regions-api.html#schema-registry-cluster-management). + * [srcm/v3 Migration Guide](https://docs.confluent.io/cloud/current/stream-governance/packages.html#deprecation-of-srcm-v2-clusters-and-regions-apis-and-upgrade-guide). + + + ## The Clusters Model + + - name: Clusters (srcm/v3) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + `Clusters` objects represent Schema Registry Clusters on Confluent Cloud. + + The API allows you to list and read your Schema Registry clusters. + + + Related guide: [Confluent Cloud Schema Registry Cluster APIs](https://docs.confluent.io/cloud/current/stream-governance/clusters-regions-api.html#schema-registry-cluster-management). + + ## The Clusters Model + + - name: Compatibility (v1) + description: |- + [![Generally Available](https://img.shields.io/badge/Lifecycle%20Stage-Generally%20Available-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + The API allows you to test schema compatibility. + + Related guide: [Manage Schemas in Confluent Cloud](https://docs.confluent.io/cloud/current/sr/schemas-manage.html#manage-schemas-in-ccloud). + - name: Config (v1) + description: |- + [![Generally Available](https://img.shields.io/badge/Lifecycle%20Stage-Generally%20Available-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + The API allows you to manage and query schema compatibility settings and cluster configurations. + + Related guide: [Manage Schemas in Confluent Cloud](https://docs.confluent.io/cloud/current/sr/schemas-manage.html#manage-schemas-in-ccloud). + - name: Contexts (v1) + description: |- + [![Generally Available](https://img.shields.io/badge/Lifecycle%20Stage-Generally%20Available-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + The API allows you to retrieve information about schema contexts. + + Related guide: [Manage Schemas in Confluent Cloud](https://docs.confluent.io/cloud/current/sr/schemas-manage.html#manage-schemas-in-ccloud). + - name: Exporters (v1) + description: |- + [![Generally Available](https://img.shields.io/badge/Lifecycle%20Stage-Generally%20Available-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + The API allows you to create, retrieve, update, and delete exporters. + + Related guide: [Manage Schemas in Confluent Cloud](https://docs.confluent.io/cloud/current/sr/schemas-manage.html#manage-schemas-in-ccloud). + - name: Modes (v1) + description: |- + [![Generally Available](https://img.shields.io/badge/Lifecycle%20Stage-Generally%20Available-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + The API allows you to create, retrieve, update, and delete schema subjects modes of operation. + + Related guide: [Manage Schemas in Confluent Cloud](https://docs.confluent.io/cloud/current/sr/schemas-manage.html#manage-schemas-in-ccloud). + - name: Schemas (v1) + description: |- + [![Generally Available](https://img.shields.io/badge/Lifecycle%20Stage-Generally%20Available-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + The API allows you to create, retrieve, update, and delete schemas. + + Related guide: [Manage Schemas in Confluent Cloud](https://docs.confluent.io/cloud/current/sr/schemas-manage.html#manage-schemas-in-ccloud). + - name: Subjects (v1) + description: |- + [![Generally Available](https://img.shields.io/badge/Lifecycle%20Stage-Generally%20Available-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + The API allows you to create, retrieve, update, and delete schema subjects and versions. + + Related guide: [Manage Schemas in Confluent Cloud](https://docs.confluent.io/cloud/current/sr/schemas-manage.html#manage-schemas-in-ccloud). + - name: Key Encryption Keys (v1) + description: |- + [![Generally Available](https://img.shields.io/badge/Lifecycle%20Stage-Generally%20Available-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + The API allows you to create, retrieve, update, and delete key encryption keys. + + Related guide: [Manage Schemas in Confluent Cloud](https://docs.confluent.io/cloud/current/sr/schemas-manage.html#manage-schemas-in-ccloud). + - name: Data Encryption Keys (v1) + description: |- + [![Generally Available](https://img.shields.io/badge/Lifecycle%20Stage-Generally%20Available-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + The API allows you to create, retrieve, update, and delete data encryption keys. + + Related guide: [Manage Schemas in Confluent Cloud](https://docs.confluent.io/cloud/current/sr/schemas-manage.html#manage-schemas-in-ccloud). + - name: Entity (v1) + description: |- + [![Generally Available](https://img.shields.io/badge/Lifecycle%20Stage-Generally%20Available-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + The API allows you to create, retrieve, update, and delete catalog entities. + + Related guide: [Catalog API Documentation](https://docs.confluent.io/cloud/current/stream-governance/stream-catalog.html#catalog-api-documentation). + - name: Search (v1) + description: |- + [![Generally Available](https://img.shields.io/badge/Lifecycle%20Stage-Generally%20Available-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + The API allows you to search for entities. + + Related guide: [Catalog API Documentation](https://docs.confluent.io/cloud/current/stream-governance/stream-catalog.html#catalog-api-documentation). + - name: Types (v1) + description: |- + [![Generally Available](https://img.shields.io/badge/Lifecycle%20Stage-Generally%20Available-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + The API allows you to create, retrieve, update, and delete catalog types such as tag definitions. + + Related guide: [Catalog API Documentation](https://docs.confluent.io/cloud/current/stream-governance/stream-catalog.html#catalog-api-documentation). + - name: Provider Shared Resources (cdx/v1) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + `ProviderSharedResource` object contains details of the data stream + (topic, schema registry subjects, sharing metadata) that you have shared through Stream Sharing. + + + ## The Provider Shared Resources Model + + - name: Provider Shares (cdx/v1) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + `ProviderShare` object respresents the share that you have created through Stream Sharing. + + + Related guide: [Provider Stream Shares in Confluent Cloud](https://docs.confluent.io/cloud/current/stream-sharing/produce-shared-data.html#stream-shares). + + ## The Provider Shares Model + + - name: Consumer Shared Resources (cdx/v1) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + `ConsumerSharedResource` object contains details of the data stream + (topic, schema registry subjects, sharing metadata) that you received through Stream Sharing. + + + ## The Consumer Shared Resources Model + + - name: Consumer Shares (cdx/v1) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + `ConsumerShare` object respresents the share that you received through Stream Sharing. + + + Related guide: [Consumer Stream Shares in Confluent Cloud](https://docs.confluent.io/cloud/current/stream-sharing/consume-shared-data.html). + + ## The Consumer Shares Model + + - name: Shared Tokens (cdx/v1) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + Encrypted Token shared with consumer + + + ## The Shared Tokens Model + + - name: Opt Ins (cdx/v1) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + Stream sharing opt in options + + ## The Opt Ins Model + + - name: Organizations (partner/v2) + description: | + [![Early Access](https://img.shields.io/badge/Lifecycle%20Stage-Early%20Access-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) [![Request Access To Partner v2](https://img.shields.io/badge/-Request%20Access%20To%20Partner%20v2-%23bc8540)](mailto:ccloud-api-access+partner-v2-early-access@confluent.io?subject=Request%20to%20join%20partner/v2%20API%20Early%20Access&body=I%E2%80%99d%20like%20to%20join%20the%20Confluent%20Cloud%20API%20Early%20Access%20for%20partner/v2%20to%20provide%20early%20feedback%21%20My%20Cloud%20Organization%20ID%20is%20%3Cretrieve%20from%20https%3A//confluent.cloud/settings/billing/payment%3E.) + + `Organizations` objects represent an entire Confluent Cloud organization. + Partners are allowed to get an organization they have signed up or + list all organizations they have signed up. + - name: Signup (partner/v2) + description: | + [![Early Access](https://img.shields.io/badge/Lifecycle%20Stage-Early%20Access-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) [![Request Access To Partner v2](https://img.shields.io/badge/-Request%20Access%20To%20Partner%20v2-%23bc8540)](mailto:ccloud-api-access+partner-v2-early-access@confluent.io?subject=Request%20to%20join%20partner/v2%20API%20Early%20Access&body=I%E2%80%99d%20like%20to%20join%20the%20Confluent%20Cloud%20API%20Early%20Access%20for%20partner/v2%20to%20provide%20early%20feedback%21%20My%20Cloud%20Organization%20ID%20is%20%3Cretrieve%20from%20https%3A//confluent.cloud/settings/billing/payment%3E.) + + `Signup` APIs can only be performed by partners. + - name: Networks (networking/v1) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + `Network` represents a network (VPC) in Confluent Cloud. All Networks exist within Confluent-managed cloud + provider accounts. Dedicated networks support more networking options but can only contain Dedicated clusters. + Shared networks can contain any cluster type. + + The API allows you to list, create, read, update, and delete your networks. + + + Related guide: [APIs to manage networks in Confluent Cloud](https://docs.confluent.io/cloud/current/networking/overview.html). + + ## The Networks Model + + + ## Quotas and Limits + This resource is subject to the [following quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): + + | Quota | Description | + | --- | --- | + | `dedicated_networks_per_environment` | Number of dedicated networks per Confluent Cloud environment | + - name: Peerings (networking/v1) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + Add or remove VPC/VNet peering connections between your VPC/VNet and Confluent Cloud. + + Related guides: + * [Use VPC peering connections with Confluent Cloud on AWS](https://docs.confluent.io/cloud/current/networking/peering/aws-peering.html). + * [Use VNet peering connections with Confluent Cloud on Azure](https://docs.confluent.io/cloud/current/networking/peering/azure-peering.html). + * [Use VPC peering connections with Confluent Cloud on Google Cloud](https://docs.confluent.io/cloud/current/networking/peering/gcp-peering.html). + + + ## The Peerings Model + + + ## Quotas and Limits + This resource is subject to the [following quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): + + | Quota | Description | + | --- | --- | + | `peerings_per_network` | Number of peerings per network | + - name: Transit Gateway Attachments (networking/v1) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + AWS Transit Gateway Attachments + + Related guide: [APIs to manage AWS Transit Gateway Attachments](https://docs.confluent.io/cloud/current/networking/aws-transit-gateway.html). + + ## The Transit Gateway Attachments Model + + + ## Quotas and Limits + This resource is subject to the [following quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): + + | Quota | Description | + | --- | --- | + | `tgw_attachments_per_network` | Number of TGW attachments per network | + - name: Private Link Accesses (networking/v1) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + Add or remove access to PrivateLink endpoints by AWS account, Azure subscription and GCP project ID. + + Related guides: + * [Use Google Cloud Private Service Connect with Confluent Cloud](https://docs.confluent.io/cloud/current/networking/private-links/gcp-private-service-connect.html). + * [Use Azure Private Link with Confluent Cloud](https://docs.confluent.io/cloud/current/networking/private-links/azure-privatelink.html). + * [Use AWS PrivateLink with Confluent Cloud](https://docs.confluent.io/cloud/current/networking/private-links/aws-privatelink.html). + + + ## The Private Link Accesses Model + + + ## Quotas and Limits + This resource is subject to the [following quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): + + | Quota | Description | + | --- | --- | + | `private_link_accounts_per_network` | Number of AWS accounts per network | + | `private_link_subscriptions_per_network` | Number of Azure subscriptions per network | + | `private_service_connect_projects_per_network` | Number of GCP projects per network | + - name: Network Link Services (networking/v1) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + Network Link Service is associated with a Private Link Confluent Cloud Network. + It enables connectivity from other Private Link Confluent Cloud Networks based on + the configured accept policies. + + + Related guide: [Network Linking Overview](https://docs.confluent.io/cloud/current/networking/network-linking.html). + + ## The Network Link Services Model + + + ## Quotas and Limits + This resource is subject to the [following quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): + + | Quota | Description | + | --- | --- | + | `network_link_service_per_network` | Number of network link services per network | + - name: Network Link Endpoints (networking/v1) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + A Network Link Enpoint is associated with a Private Link Confluent Cloud Network at the origin and a + Network Link Service (associated with another Private Link Confluent Cloud Network) at the target. + It enables connectivity between the origin network and the target network. + It can only be associated with a Private Link network. + + + Related guide: [Network Linking Overview](https://docs.confluent.io/cloud/current/networking/network-linking.html). + + ## The Network Link Endpoints Model + + + ## Quotas and Limits + This resource is subject to the [following quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): + + | Quota | Description | + | --- | --- | + | `network_link_endpoints_per_network` | Number of network link endpoints per network | + - name: Network Link Service Associations (networking/v1) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + List of incoming Network Link Enpoints associated with the Network Link Service. + + + Related guide: [Network Linking Overview](https://docs.confluent.io/cloud/current/networking/network-linking.html). + + ## The Network Link Service Associations Model + + - name: Gateways (networking/v1) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + A gateway is a resource that defines network access to Confluent cloud resources. + + + ## The Gateways Model + + - name: IP Addresses (networking/v1) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + IP Addresses + + Related guide: [Use Public Egress IP addresses on Confluent Cloud](https://docs.confluent.io/cloud/current/networking/static-egress-ip-addresses.html) + + ## The IP Addresses Model + + - name: Private Link Attachments (networking/v1) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + PrivateLink attachment objects represent reservations to establish PrivateLink connections + to a cloud region in order to access resources that belong to a Confluent Cloud Environment. + The API allows you to list, create, read update and delete your PrivateLink attachments. + + + ## The Private Link Attachments Model + + + ## Quotas and Limits + This resource is subject to the [following quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): + + | Quota | Description | + | --- | --- | + | `private_link_attachments_per_environment` | Number of PrivateLink Attachments per environment | + - name: Private Link Attachment Connections (networking/v1) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + PrivateLink attachment connection objects represent connections established to a cloud region + in order to access resources that belong to a Confluent Cloud Environment. + The API allows you to list, create, read update and delete your PrivateLink attachment connections. + + + ## The Private Link Attachment Connections Model + + - name: Identity Providers (iam/v2) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + `IdentityProvider` objects represent external OAuth-OIDC providers in Confluent Cloud. + + The API allows you to list, create, read, update, and delete your Identity Provider. + + + Related guide: [OAuth for Confluent Cloud](https://docs.confluent.io/cloud/current/access-management/authenticate/oauth/overview.html). + + ## The Identity Providers Model + + + ## Quotas and Limits + This resource is subject to the [following quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): + + | Quota | Description | + | --- | --- | + | `identity_providers_per_org` | Number of OAuth identity providers per organization | + | `public_keys_per_provider` | Number of public keys saved per identity provider | + - name: Jwks (iam/v2) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + `JWKS` objects represent public key sets for a specific OAuth/OpenID Connect provider within + Confluent Cloud. + + The API allows you to refresh JWKS public key data. + + + Related guide: [OAuth for Confluent Cloud](https://docs.confluent.io/cloud/current/access-management/authenticate/oauth/overview.html). + + ## The Jwks Model + + - name: Identity Pools (iam/v2) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + `IdentityPool` objects represent groups of identities tied to a given a `IdentityProvider` + that authorizes them to Confluent Cloud resources. + + It provides a mapping functionality of your `Identity Provider` user to a Confluent identity pool that + is then used to provide access to Confluent Resources. + + + Related guide: [Use identity pools with your OAuth provider](https://docs.confluent.io/cloud/current/access-management/authenticate/oauth/identity-pools.html). + + ## The Identity Pools Model + + + ## Quotas and Limits + This resource is subject to the [following quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): + + | Quota | Description | + | --- | --- | + | `identity_pools_per_provider` | Number of Identity Pools per Identity Provider | + - name: OAuth Tokens (sts/v1) + description: | + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + OAuth Token is a [JSON Web Token (JWT)](https://www.rfc-editor.org/rfc/rfc7519) that enables the use of + external identities to access Confluent Cloud APIs + - name: Client Quotas (kafka-quotas/v1) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + `ClientQuota` objects represent Client Quotas you can set at the service account level. + + The API allows you to list, create, read, update, and delete your client quotas. + + + Related guide: [Client Quotas in Confluent Cloud](https://docs.confluent.io/cloud/current/clusters/client-quotas.html). + + ## The Client Quotas Model + + - name: Pipelines (sd/v1) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + `Pipeline` objects represent information about a user-defined pipeline of Confluent Cloud components. + The pipeline's content is available separately. + + The API allows you to create, retrieve, update, and delete your pipelines, + as well as list all of your pipelines for the particular environment and Kafka cluster. + + + Related guide: [Pipelines in Confluent Cloud](https://docs.confluent.io/cloud/current/stream-designer/). + + ## The Pipelines Model + + + ## Quotas and Limits + This resource is subject to the [following quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): + + | Quota | Description | + | --- | --- | + | `pipelines_per_org` | Pipelines in one Confluent Cloud organization | + | `pipelines_per_cluster` | Pipelines in one Confluent Cloud Kafka cluster | + - name: Keys (byok/v1) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + `Key` objects represent customer managed keys on dedicated Confluent Cloud clusters. + + Keys are used to protect data at rest stored in your dedicated Confluent Cloud clusters on AWS, Azure, and GCP. + This API allows you to upload and retrieve self-managed keys on Confluent Cloud. + + + Related guide: [Confluent Cloud Bring Your Own Key (BYOK) Management API](https://docs.confluent.io/cloud/current/clusters/byok/index.html). + + ## The Keys Model + + + ## Quotas and Limits + This resource is subject to the [following quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): + + | Quota | Description | + | --- | --- | + | `byok.max_keys.per_org` | BYOK keys in one Confluent Cloud organisation. | + - name: Costs (billing/v1) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + `Cost` objects represent the aggregated billing costs for an organization + + + Related guide: [Retrieve costs for a range of dates](https://docs.confluent.io/cloud/current/billing/overview.html#retrieve-costs-for-a-range-of-dates). + + ## The Costs Model + + - name: Group Mappings (iam/v2/sso) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + `GroupMapping` objects establish relationships between user groups in your SSO + identity provider and specific RBAC roles in Confluent Cloud. + + Group mappings enable automated and secure access control to Confluent Cloud resources, + reducing administrative workload by streamlining user provisioning and authorization. + + + Related guide: [Use group mappings with your SSO identity provider](https://docs.confluent.io/cloud/current/access-management/authenticate/sso/group-mapping/overview.html). + + ## The Group Mappings Model + + + ## Quotas and Limits + This resource is subject to the [following quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): + + | Quota | Description | + | --- | --- | + | `group_mappings_per_org` | Number of group mappings per organization | + - name: Compute Pools (fcpm/v2) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + A Compute Pool represents a set of compute resources that is used to run your Queries. + The resources (CPUs, memory,…) provided by a Compute Pool are shared between all Queries that use it. + + + ## The Compute Pools Model + + - name: Regions (fcpm/v2) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + `Region` objects represent cloud provider regions available when placing Flink compute pools. + The API allows you to list Flink regions. + + + ## The Regions Model + + - name: Statements (sql/v1) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + `Statement` represents a core resource used to model SQL statements for execution. + A statement generalizes DDL, DML, DQL, etc., but doesn’t attempt to handle session + management or any higher-level functionality. + The API allows you to list, create, read, and delete your statements. + ## The Statements Model + + - name: Statement Results (sql/v1) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + `StatementResult` represents a result of a `Statement` resource. + The API allows you to read your statement's results. + ## The Statement Results Model + + - name: Statement Exceptions (sql/v1) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + `StatementException` represents an exception of a `Statement` resource. + The API allows you to read your statement's exceptions. + ## The Statement Exceptions Model + + - name: Connections (sql/v1) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + `Connection` represents a core resource used to model SQL connections for execution. + A connection generalizes DDL, DML, DQL, etc., but doesn’t attempt to handle session + management or any higher-level functionality. + The API allows you to list, create, read, and delete your connections. + ## The Connections Model + + - name: DNS Forwarders (networking/v1) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + Add, remove, and update DNS forwarder for your gateway. + + Related guides: + * [Use VPC peering connections with Confluent Cloud on AWS](https://docs.confluent.io/cloud/current/networking/peering/aws-peering.html). + * [Use VNet peering connections with Confluent Cloud on Azure](https://docs.confluent.io/cloud/current/networking/peering/azure-peering.html). + + + ## The DNS Forwarders Model + + - name: Access Points (networking/v1) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + AccessPoint objects represent network connections in and out of Gateways. + This API allows you to list, create, read, update, and delete your access points. + + + ## The Access Points Model + + - name: DNS Records (networking/v1) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + DNS record objects are associated with Confluent Cloud networking resources. This API allows you to list, create, read, update, and delete your DNS records. + + ## The DNS Records Model + + - name: Certificate Authorities (iam/v2) + description: |- + [![Limited Availability](https://img.shields.io/badge/Lifecycle%20Stage-Limited%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + `CertificateAuthority` objects represent signing certificate authorities in Confluent Cloud. + + The API allows you to list, create, read, update, and delete your Certificate Authority. + + + Related guide: [Manage certificate authorities used for client authentication with X.509 certificates.](https://docs.confluent.io/cloud/current/access-management/authenticate/mtls/overview.html). + + ## The Certificate Authorities Model + + + ## Quotas and Limits + This resource is subject to the [following quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): + + | Quota | Description | + | --- | --- | + | `certificate_authorities_per_org` | Number of certificate authorities per organization | + - name: Certificate Identity Pools (iam/v2) + description: |- + [![Limited Availability](https://img.shields.io/badge/Lifecycle%20Stage-Limited%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + `Identitypool` objects represent workload identities in Confluent Cloud. + + The API allows you to list, create, read, update, and delete your identity pools associated + with Certificate Authorities + + + Related guide: [Manage Certificate Identity Pools for Granular Client Access Management](https://docs.confluent.io/cloud/current/access-management/authenticate/mtls/configure.html#step-2-create-certificate-identity-pools-for-granular-access-control). + + ## The Certificate Identity Pools Model + + + ## Quotas and Limits + This resource is subject to the [following quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): + + | Quota | Description | + | --- | --- | + | `identity_pools_per_certificate_authority` | Number of Identity Pools per Certificate Authority | + - name: Integrations (pim/v1) + description: |- + [![Early Access](https://img.shields.io/badge/Lifecycle%20Stage-Early%20Access-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) [![Request Access To Provider Integration](https://img.shields.io/badge/-Request%20Access%20To%20Provider%20Integration-%23bc8540)](mailto:ccloud-api-access+pim-v1-early-access@confluent.io?subject=Request%20to%20join%20pim/v1%20API%20Early%20Access&body=I%E2%80%99d%20like%20to%20join%20the%20Confluent%20Cloud%20API%20Early%20Access%20for%20pim/v1%20to%20provide%20early%20feedback%21%20My%20Cloud%20Organization%20ID%20is%20%3Cretrieve%20from%20https%3A//confluent.cloud/settings/billing/payment%3E.) + + `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, and delete individual integrations, and also obtain a + list of all your provider integrations. + + + Related guide: [Provider Integration in Confluent Cloud](https://docs.confluent.io/home/overview.html). + + ## The Integrations Model + + - name: Flink Artifacts (artifact/v1) + description: |- + [![Early Access](https://img.shields.io/badge/Lifecycle%20Stage-Early%20Access-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) [![Request Access To Flink Artifact API EA](https://img.shields.io/badge/-Request%20Access%20To%20Flink%20Artifact%20API%20EA-%23bc8540)](mailto:ccloud-api-access+artifact-v1-early-access@confluent.io?subject=Request%20to%20join%20artifact/v1%20API%20Early%20Access&body=I%E2%80%99d%20like%20to%20join%20the%20Confluent%20Cloud%20API%20Early%20Access%20for%20artifact/v1%20to%20provide%20early%20feedback%21%20My%20Cloud%20Organization%20ID%20is%20%3Cretrieve%20from%20https%3A//confluent.cloud/settings/billing/payment%3E.) + + FlinkArtifact objects represent Flink Artifacts on Confluent Cloud. + + + ## The Flink Artifacts Model + + - name: Presigned Urls (artifact/v1) + description: |- + [![Early Access](https://img.shields.io/badge/Lifecycle%20Stage-Early%20Access-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) [![Request Access To Flink Artifact API EA](https://img.shields.io/badge/-Request%20Access%20To%20Flink%20Artifact%20API%20EA-%23bc8540)](mailto:ccloud-api-access+artifact-v1-early-access@confluent.io?subject=Request%20to%20join%20artifact/v1%20API%20Early%20Access&body=I%E2%80%99d%20like%20to%20join%20the%20Confluent%20Cloud%20API%20Early%20Access%20for%20artifact/v1%20to%20provide%20early%20feedback%21%20My%20Cloud%20Organization%20ID%20is%20%3Cretrieve%20from%20https%3A//confluent.cloud/settings/billing/payment%3E.) + + Request a presigned upload URL for new Flink Artifact. Note that + the URL policy expires in one hour. If the policy expires, you can request + a new presigned upload URL. + + + ## The Presigned Urls Model + + - name: Flink Artifact Versions (artifact/v1) + description: |- + [![Early Access](https://img.shields.io/badge/Lifecycle%20Stage-Early%20Access-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) [![Request Access To Flink Artifact API EA](https://img.shields.io/badge/-Request%20Access%20To%20Flink%20Artifact%20API%20EA-%23bc8540)](mailto:ccloud-api-access+artifact-v1-early-access@confluent.io?subject=Request%20to%20join%20artifact/v1%20API%20Early%20Access&body=I%E2%80%99d%20like%20to%20join%20the%20Confluent%20Cloud%20API%20Early%20Access%20for%20artifact/v1%20to%20provide%20early%20feedback%21%20My%20Cloud%20Organization%20ID%20is%20%3Cretrieve%20from%20https%3A//confluent.cloud/settings/billing/payment%3E.) + + FlinkArtifactVersion objects represent Flink Artifact Versions on Confluent Cloud. + + + ## The Flink Artifact Versions Model + +components: + schemas: + sql.v1.ConnectionList: + type: object + description: |- + `Connection` models a reusable endpoint and auth token to authenticate the caller to + use that endpoint. + Only `OrgAdmins` and `EnvAdmins` will have the permissions to create, update and delete `Connections`. + `FlinkDevelopers` and `ModelResourceOwners` can later reference a `Connection` resource within their Model + creation statements. + The API allows you to list, create, read, and delete your connections. + ## The Connection Model + + required: + - api_version + - kind + - metadata + - data + properties: + api_version: + type: string + enum: + - sql/v1 + description: APIVersion defines the schema version of this representation of a resource. + example: sql/v1 + kind: + type: string + description: Kind defines the object this REST resource represents. + enum: + - ConnectionList + metadata: + allOf: + - $ref: '#/components/schemas/ListMeta' + - properties: + self: + example: 'https://flink.us-west1.aws.confluent.cloud/sql/v1/environments/env-123/connections' + first: + example: 'https://flink.us-west1.aws.confluent.cloud/sql/v1/environments/env-abc123/connections' + last: + example: '' + prev: + example: '' + next: + example: 'https://flink.us-west1.aws.confluent.cloud/sql/v1/environments/env-abc123/connections?page_token=UvmDWOB1iwfAIBPj6EYb' + data: + type: array + description: A data property that contains an array of resource items. Each entry in the array is a separate resource. + items: + allOf: + - $ref: '#/components/schemas/sql.v1.Connection' + - type: object + required: + - api_version + - kind + - metadata + - spec + - status + - name + - organization_id + - environment_id + properties: + spec: + type: object + required: + - connection_type + - endpoint + uniqueItems: true + ListMeta: + type: object + description: ListMeta describes metadata that resource collections may have + properties: + first: + description: 'A link to the first page of results. If a response does not contain a first link, then direct navigation to the first page is not supported.' + type: string + 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 + sql.v1.Connection: + type: object + description: |- + `Connection` models a reusable endpoint and auth token to authenticate the caller to + use that endpoint. + Only `OrgAdmins` and `EnvAdmins` will have the permissions to create, update and delete `Connections`. + `FlinkDevelopers` and `ModelResourceOwners` can later reference a `Connection` resource within their Model + creation statements. + The API allows you to list, create, read, and delete your connections. + ## The Connections Model + + properties: + api_version: + type: string + enum: + - sql/v1 + description: APIVersion defines the schema version of this representation of a resource. + example: sql/v1 + readOnly: true + kind: + type: string + description: Kind defines the object this REST resource represents. + enum: + - Connection + readOnly: true + metadata: + allOf: + - $ref: '#/components/schemas/ObjectMeta' + - properties: + self: + example: 'https://flink.us-west1.aws.confluent.cloud/sql/v1/organizations/org-abc/environments/env-123/connections/my-openai-connection' + uid: + example: 12345678-1234-1234-1234-123456789012 + resource_version: + example: a23av + resource_name: + example: '' + name: + type: string + example: my-openai-connection + description: 'The user provided name of the resource, unique within this environment.' + pattern: '[a-z0-9]([-a-z0-9]*[a-z0-9])?(\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*' + x-immutable: true + maxLength: 100 + spec: + $ref: '#/components/schemas/sql.v1.ConnectionSpec' + status: + $ref: '#/components/schemas/sql.v1.ConnectionStatus' + AclOperation: + type: string + x-extensible-enum: + - UNKNOWN + - ANY + - ALL + - READ + - WRITE + - CREATE + - DELETE + - ALTER + - DESCRIBE + - CLUSTER_ACTION + - DESCRIBE_CONFIGS + - ALTER_CONFIGS + - IDEMPOTENT_WRITE + AclPatternType: + type: string + x-extensible-enum: + - UNKNOWN + - ANY + - MATCH + - LITERAL + - PREFIXED + AclPermission: + type: string + x-extensible-enum: + - UNKNOWN + - ANY + - DENY + - ALLOW + AclResourceType: + type: string + enum: + - UNKNOWN + - ANY + - TOPIC + - GROUP + - CLUSTER + - TRANSACTIONAL_ID + - DELEGATION_TOKEN + BrokerTaskType: + type: string + enum: + - add-broker + - remove-broker + MirrorTopicStatus: + enum: + - ACTIVE + - FAILED + - LINK_FAILED + - LINK_PAUSED + - PAUSED + - PENDING_STOPPED + - SOURCE_UNAVAILABLE + - STOPPED + - PENDING_MIRROR + - PENDING_SYNCHRONIZE + - PENDING_SETUP_FOR_RESTORE + - PENDING_RESTORE + type: string + Failure: + type: object + description: Provides information about problems encountered while performing an operation. + required: + - errors + properties: + errors: + description: List of errors which caused this operation to fail + type: array + items: + $ref: '#/components/schemas/Error' + uniqueItems: true + AlterConfigBatchRequestData: + type: object + required: + - data + properties: + data: + type: array + items: + type: object + required: + - name + properties: + name: + type: string + value: + type: string + nullable: true + operation: + type: string + x-extensible-enum: + - SET + - DELETE + nullable: true + validate_only: + type: boolean + CreateAclRequestData: + type: object + required: + - resource_type + - resource_name + - pattern_type + - principal + - host + - operation + - permission + properties: + resource_type: + $ref: '#/components/schemas/AclResourceType' + resource_name: + type: string + pattern_type: + $ref: '#/components/schemas/AclPatternType' + principal: + type: string + host: + type: string + operation: + $ref: '#/components/schemas/AclOperation' + permission: + $ref: '#/components/schemas/AclPermission' + CreateAclRequestDataList: + allOf: + - type: object + required: + - data + properties: + data: + type: array + items: + $ref: '#/components/schemas/CreateAclRequestData' + CreateTopicRequestData: + type: object + required: + - topic_name + properties: + topic_name: + type: string + partitions_count: + type: integer + replication_factor: + type: integer + configs: + type: array + items: + type: object + required: + - name + properties: + name: + type: string + value: + type: string + nullable: true + validate_only: + type: boolean + ProduceRequest: + type: object + properties: + partition_id: + type: integer + nullable: true + format: int32 + headers: + type: array + items: + $ref: '#/components/schemas/ProduceRequestHeader' + key: + $ref: '#/components/schemas/ProduceRequestData' + value: + $ref: '#/components/schemas/ProduceRequestData' + timestamp: + type: string + format: date-time + nullable: true + UpdateConfigRequestData: + type: object + properties: + value: + type: string + nullable: true + CreateLinkRequestData: + properties: + source_cluster_id: + type: string + destination_cluster_id: + type: string + remote_cluster_id: + description: The expected remote cluster ID. + type: string + cluster_link_id: + description: 'The expected cluster link ID. Can be provided when creating the second side of a bidirectional link for validating the link ID is as expected. If it''s not provided, it''s inferred from the remote cluster.' + type: string + configs: + items: + $ref: '#/components/schemas/ConfigData' + type: array + type: object + UpdateLinkConfigRequestData: + properties: + value: + type: string + required: + - value + type: object + CreateMirrorTopicRequestData: + properties: + source_topic_name: + type: string + mirror_topic_name: + type: string + replication_factor: + type: integer + configs: + type: array + items: + $ref: '#/components/schemas/ConfigData' + required: + - source_topic_name + type: object + AlterMirrorsRequestData: + properties: + mirror_topic_names: + description: The mirror topics specified as a list of topic names. + type: array + items: + type: string + mirror_topic_name_pattern: + description: The mirror topics specified as a pattern. + type: string + type: object + RemoveBrokersRequestData: + properties: + broker_ids: + type: array + items: + type: integer + required: + - broker_ids + type: object + BrokerReplicaExclusionBatchRequestData: + type: object + required: + - data + properties: + data: + type: array + items: + $ref: '#/components/schemas/BrokerReplicaExclusionRequestData' + ObjectMeta: + description: 'ObjectMeta is metadata that all persisted resources must have, which includes all objects users must create.' + required: + - self + properties: + self: + description: 'Self is a Uniform Resource Locator (URL) at which an object can be addressed. This URL encodes the service location, API version, and other particulars necessary to locate the resource at a point in time' + type: string + format: uri + readOnly: true + example: 'https://api.confluent.cloud/v2/kafka-clusters/lkc-f3a90de' + resource_name: + description: Resource Name is a Uniform Resource Identifier (URI) that is globally unique across space and time. It is represented as a Confluent Resource Name + type: string + format: uri + readOnly: true + example: 'crn://confluent.cloud/kafka=lkc-f3a90de' + created_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: The date and time at which this object was created. It is represented in RFC3339 format and is in UTC. + updated_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: The date and time at which this object was last updated. It is represented in RFC3339 format and is in UTC. + deleted_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: The date and time at which this object was (or will be) deleted. It is represented in RFC3339 format and is in UTC. + readOnly: true + sql.v1.ConnectionSpec: + type: object + description: Encapsulates the model provider access details + properties: + connection_type: + type: string + example: OPENAI + description: The type of this connection. + x-immutable: true + x-extensible-enum: + - OPENAI + - AZUREML + - AZUREOPENAI + - BEDROCK + - SAGEMAKER + - GOOGLEAI + - VERTEXAI + - MONGODB + - PINECONE + - ELASTIC + endpoint: + type: string + example: 'https://api.openai.com/v1/chat/completions' + description: The endpoint that is used to run model inferencing. + maxLength: 16384 + x-immutable: true + auth_data: + type: object + description: | + The vendor specific authentication token details + + The contents are stored as opaque bytes given in plaintext by an EnvAdmin. + In future, we would support more secure methods for distributing authentication tokens. + discriminator: + propertyName: kind + mapping: + PlaintextProvider: '#/components/schemas/sql.v1.PlaintextProvider' + oneOf: + - $ref: '#/components/schemas/sql.v1.PlaintextProvider' + x-immutable: false + x-enable-listmeta: true + x-enable-objectmeta: true + sql.v1.ConnectionStatus: + type: object + required: + - phase + description: The status of the Connection + properties: + phase: + type: string + x-extensible-enum: + - ACTIVE + - UNREACHABLE + - INVALID_AUTH + description: | + Describes the status of the connection: + + READY: The Connection is usable; + + UNREACHABLE: The Connection endpoint is unreachable; + + INVALID_AUTH: The Connection auth token is invalid; + example: READY + readOnly: true + detail: + type: string + description: Details about why connection transitioned into a given status. + example: 'Lookup failed: ai.openai.com' + readOnly: true + readOnly: true + Error: + type: object + description: Describes a particular error encountered while performing an operation. + properties: + id: + description: A unique identifier for this particular occurrence of the problem. + type: string + maxLength: 255 + status: + description: 'The HTTP status code applicable to this problem, expressed as a string value.' + type: string + code: + description: 'An application-specific error code, expressed as a string value.' + type: string + title: + description: 'A short, human-readable summary of the problem. It **SHOULD NOT** change from occurrence to occurrence of the problem, except for purposes of localization.' + type: string + detail: + description: A human-readable explanation specific to this occurrence of the problem. + type: string + source: + type: object + description: 'If this error was caused by a particular part of the API request, the source will point to the query string parameter or request body property that caused it.' + properties: + pointer: + description: 'A JSON Pointer [RFC6901] to the associated entity in the request document [e.g. "/spec" for a spec object, or "/spec/title" for a specific field].' + type: string + parameter: + description: A string indicating which query parameter caused the error. + type: string + error_code: + type: integer + format: int32 + message: + type: string + nullable: true + additionalProperties: false + ProduceRequestHeader: + type: object + required: + - name + properties: + name: + type: string + value: + type: string + format: byte + nullable: true + ProduceRequestData: + type: object + properties: + type: + type: string + x-extensible-enum: + - BINARY + - JSON + - STRING + data: + $ref: '#/components/schemas/AnyValue' + nullable: true + ConfigData: + example: + name: name + value: value + properties: + name: + type: string + value: + nullable: true + type: string + required: + - name + - value + BrokerReplicaExclusionRequestData: + type: object + required: + - broker_id + - reason + properties: + broker_id: + type: integer + reason: + type: string + sql.v1.PlaintextProvider: + type: object + description: | + Describes a sensitive piece of information passed in plaintext. + + Confluent only accepts authentication tokens of supported model providers from OrgAdmins and EnvAdmins. + For now, only 'PlainText' provider is supported. It stores authentication token details as opaque bytes in an encrypted form. + This option offers limited security as it only provides a single level of encryption. + properties: + kind: + description: | + Plaintext Provider Kind Type + type: string + enum: + - PlaintextProvider + x-immutable: true + data: + description: | + Base64 encoded opaque piece of sensitive information. + + Scoped to an endpoint of a `Connection` resource. + type: string + format: byte + AnyValue: + nullable: true + sql.v1.StatementResult: + type: object + description: |- + `Statement Result` represents a resource used to model results of SQL statements. + The API allows you to read your SQL statement result. + required: + - api_version + - kind + - metadata + - data + properties: + api_version: + type: string + enum: + - sql/v1 + description: APIVersion defines the schema version of this representation of a resource. + example: sql/v1 + kind: + type: string + description: Kind defines the object this REST resource represents. + enum: + - StatementResult + metadata: + allOf: + - $ref: '#/components/schemas/ResultListMeta' + results: + allOf: + - $ref: '#/components/schemas/sql.v1.StatementResultResults' + ResultListMeta: + type: object + description: ListMeta describes metadata that resource collections may have + properties: + self: + description: 'Self is a Uniform Resource Locator (URL) at which an object can be addressed. This URL encodes the service location, API version, and other particulars necessary to locate the resource at a point in time' + type: string + example: 'https://flink.us-west1.aws.confluent.cloud/sql/v1/environments/env-123/statements' + next: + description: A URL that can be followed to get the next batch of results. + type: string + example: 'https://flink.us-west1.aws.confluent.cloud/sql/v1/environments/env-abc123/statements?page_token=UvmDWOB1iwfAIBPj6EYb' + created_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: The date and time at which this object was created. It is represented in RFC3339 format and is in UTC. + sql.v1.StatementResultResults: + type: object + description: A results property that contains a data property that contains an array of results. + properties: + data: + type: array + description: | + A data property that contains an array of results. Each entry in the array is a separate result. + + The value of `op` attribute (if present) represents the kind of change that a row can describe in a changelog: + + `0`: represents `INSERT` (`+I`), i.e. insertion operation; + + `1`: represents `UPDATE_BEFORE` (`-U`), i.e. update operation with the previous content of the updated row. + This kind should occur together with `UPDATE_AFTER` for modelling an update that needs to retract + the previous row first. It is useful in cases of a non-idempotent update, i.e., an update of a row that is not + uniquely identifiable by a key; + + `2`: represents `UPDATE_AFTER` (`+U`), i.e. update operation with new content of the updated row; + This kind CAN occur together with `UPDATE_BEFORE` for modelling an update that + needs to retract the previous row first or it describes an idempotent update, i.e., an + update of a row that is uniquely identifiable by a key; + + `3`: represents `DELETE` (`-D`), i.e. deletion operation; + + Defaults to `0`. + items: {} + example: + - op: 0 + row: + - '101' + - Jay + - - null + - abc + - - null + - '456' + - '1990-01-12 12:00.12' + - - - null + - Alice + - - '42' + - Bob + sql.v1.StatementList: + type: object + description: |- + `Statement` represents a core resource used to model SQL statements for execution. + A statement generalizes DDL, DML, DQL, etc., but doesn’t attempt to handle session + management or any higher-level functionality. + The API allows you to list, create, read, and delete your statements. + ## The Statements Model + + required: + - api_version + - kind + - metadata + - data + properties: + api_version: + type: string + enum: + - sql/v1 + description: APIVersion defines the schema version of this representation of a resource. + example: sql/v1 + kind: + type: string + description: Kind defines the object this REST resource represents. + enum: + - StatementList + metadata: + allOf: + - $ref: '#/components/schemas/ListMeta' + - properties: + self: + example: 'https://flink.us-west1.aws.confluent.cloud/sql/v1/environments/env-123/statements' + first: + example: 'https://flink.us-west1.aws.confluent.cloud/sql/v1/environments/env-abc123/statements' + last: + example: '' + prev: + example: '' + next: + example: 'https://flink.us-west1.aws.confluent.cloud/sql/v1/environments/env-abc123/statements?page_token=UvmDWOB1iwfAIBPj6EYb' + data: + type: array + description: A data property that contains an array of resource items. Each entry in the array is a separate resource. + items: + allOf: + - $ref: '#/components/schemas/sql.v1.Statement' + - type: object + required: + - api_version + - kind + - metadata + - spec + - status + - name + - organization_id + - environment_id + properties: + spec: + type: object + required: + - statement + - compute_pool_id + uniqueItems: true + sql.v1.Statement: + type: object + description: |- + `Statement` represents a core resource used to model SQL statements for execution. + A statement generalizes DDL, DML, DQL, etc., but doesn’t attempt to handle session + management or any higher-level functionality. + The API allows you to list, create, read, and delete your statements. + ## The Statements Model + + properties: + api_version: + type: string + enum: + - sql/v1 + description: APIVersion defines the schema version of this representation of a resource. + example: sql/v1 + readOnly: true + kind: + type: string + description: Kind defines the object this REST resource represents. + enum: + - Statement + readOnly: true + metadata: + allOf: + - $ref: '#/components/schemas/StatementObjectMeta' + - properties: + self: + example: 'https://flink.us-west1.aws.confluent.cloud/sql/v1/environments/env-123/statements/my-statement' + uid: + example: 12345678-1234-1234-1234-123456789012 + resource_version: + example: a23av + resource_name: + example: '' + labels: + type: object + additionalProperties: + type: string + name: + type: string + example: sql123 + description: 'The user provided name of the resource, unique within this environment.' + pattern: '[a-z0-9]([-a-z0-9]*[a-z0-9])?(\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*' + x-immutable: true + maxLength: 100 + organization_id: + type: string + format: uuid + description: The unique identifier for the organization. + x-immutable: true + environment_id: + type: string + description: The unique identifier for the environment. + x-immutable: true + spec: + $ref: '#/components/schemas/sql.v1.StatementSpec' + status: + $ref: '#/components/schemas/sql.v1.StatementStatus' + result: + $ref: '#/components/schemas/sql.v1.StatementResult' + StatementObjectMeta: + description: The metadata of the statement. + required: + - self + properties: + self: + description: 'Self is a Uniform Resource Locator (URL) at which an object can be addressed. This URL encodes the service location, API version, and other particulars necessary to locate the resource at a point in time' + type: string + format: uri + example: 'https://flink.us-west1.aws.confluent.cloud/sql/v1/environments/env-123/statements/my-statement' + created_at: + type: string + format: date-time + example: '1996-03-19T01:02:03-04:05' + description: The date and time at which this object was created. It is represented in RFC3339 format and is in UTC. + updated_at: + type: string + format: date-time + example: '2023-03-31T00:00:00-00:00' + description: The date and time at which this object was last updated. It is represented in RFC3339 format and is in UTC. + uid: + type: string + example: 12345678-1234-1234-1234-123456789012 + description: A system generated globally unique identifier for this resource. + resource_version: + type: string + example: a23av + description: A system generated string that uniquely identifies the version of this resource. + labels: + type: object + description: A map of key-value pairs that describe the resource. + additionalProperties: + type: string + example: + user.confluent.io/hidden: 'true' + readOnly: true + sql.v1.StatementSpec: + type: object + description: The specs of the Statement + properties: + statement: + type: string + example: SELECT * FROM TABLE WHERE VALUE1 = VALUE2; + description: The raw SQL text statement. + x-immutable: true + maxLength: 131072 + properties: + type: object + example: + sql.current-catalog: my_environment + sql.current-database: my_kafka_cluster + description: A map (key-value pairs) of statement properties. + additionalProperties: + type: string + maximum: 8192 + compute_pool_id: + type: string + example: fcp-00000 + description: The id associated with the compute pool in context. + maxLength: 255 + principal: + type: string + example: sa-abc123 + description: The id of a principal this statement runs as. + maxLength: 255 + x-immutable: true + stopped: + type: boolean + description: Indicates whether the statement should be stopped. + example: false + x-enable-listmeta: true + x-enable-objectmeta: true + sql.v1.StatementStatus: + type: object + required: + - phase + description: The status of the Statement + properties: + phase: + type: string + x-extensible-enum: + - PENDING + - RUNNING + - COMPLETED + - DELETING + - FAILING + - FAILED + - STOPPED + description: | + The lifecycle phase of the submitted SQL statement: + + PENDING: SQL statement is pending execution; + + RUNNING: SQL statement execution is in progress; + + COMPLETED: SQL statement is completed; + + DELETING: SQL statement deletion is in progress; + + FAILING: SQL statement is failing; + + FAILED: SQL statement execution has failed; + + STOPPED: SQL statement execution has successfully been stopped; + example: RUNNING + readOnly: true + scaling_status: + $ref: '#/components/schemas/sql.v1.ScalingStatus' + detail: + type: string + description: Details about the execution status of this statement. + example: Statement is running successfully + readOnly: true + traits: + $ref: '#/components/schemas/sql.v1.StatementTraits' + network_kind: + type: string + x-extensible-enum: + - PUBLIC + - PRIVATE + description: | + The networking type used by the submitted SQL statement: + + PUBLIC: SQL statement is using public networking; + + PRIVATE: SQL statement is using private networking; + example: PUBLIC + readOnly: true + latest_offsets: + type: object + additionalProperties: + type: string + description: | + The last Kafka offsets that a statement has processed. Represented by a mapping from Kafka topic to a + string representation of partitions mapped to offsets. + example: + topic-1: 'partition:0,offset:100;partition:1,offset:200' + topic-2: 'partition:0,offset:50' + readOnly: true + latest_offsets_timestamp: + type: string + format: date-time + example: '2023-03-31T00:00:00-00:00' + description: The date and time at which the Kafka topic offsets were added to the statement status. It is represented in RFC3339 format and is in UTC. + readOnly: true + readOnly: true + sql.v1.ScalingStatus: + description: Scaling status for this statement. + type: object + properties: + scaling_state: + description: | + OK: The statement runs at the right scale. + + PENDING_SCALE_DOWN: The statement requires less resources, and will be scaled down in the near future. + + PENDING_SCALE_UP: The statement requires more resources, and will be scaled up in the near future. + + POOL_EXHAUSTED: The statement requires more resources, but not enough resources are available. + example: OK + readOnly: true + type: string + x-extensible-enum: + - OK + - PENDING_SCALE_DOWN + - PENDING_SCALE_UP + - POOL_EXHAUSTED + last_updated: + description: The last time the scaling status was updated. + example: '1996-03-19T01:02:03-04:05' + format: date-time + readOnly: true + type: string + readOnly: true + sql.v1.StatementTraits: + type: object + description: StatementTraits contains detailed information about the properties of a Statement + properties: + sql_kind: + type: string + description: Categorizes the SQL statement. The result is Confluent-specific but inspired by SQL. It uses underscores for separating concepts e.g. "CREATE_TABLE". + example: SELECT + is_bounded: + type: boolean + description: Indicates the special case where results of a statement are bounded. + is_append_only: + type: boolean + description: Indicates the special case where results of a statement are insert/append only. + upsert_columns: + type: array + description: Defines the column indices clients can use as upsert keys. + items: + type: integer + schema: + $ref: '#/components/schemas/sql.v1.ResultSchema' + readOnly: true + sql.v1.ResultSchema: + type: object + description: The table columns of the results schema. + properties: + columns: + type: array + description: The properties of each SQL column in the schema. + items: + $ref: '#/components/schemas/ColumnDetails' + ColumnDetails: + type: object + description: A column in the results schema. + required: + - name + - type + properties: + name: + type: string + description: The name of the SQL table column. + example: Column_Name + type: + allOf: + - $ref: '#/components/schemas/DataType' + description: JSON object in TableSchema format; describes the data returned by the results serving API. + example: + type: CHAR + nullable: true + length: 8 + DataType: + type: object + properties: + type: + type: string + description: The data type of the column. + nullable: + type: boolean + description: Indicates whether values in this column can be null. + length: + type: integer + format: int32 + description: The length of the data type. + precision: + type: integer + format: int32 + description: The precision of the data type. + scale: + type: integer + format: int32 + description: The scale of the data type. + key_type: + allOf: + - $ref: '#/components/schemas/DataType' + description: The type of the key in the data type (if applicable). + value_type: + allOf: + - $ref: '#/components/schemas/DataType' + description: The type of the value in the data type (if applicable). + element_type: + allOf: + - $ref: '#/components/schemas/DataType' + description: The type of the element in the data type (if applicable). + fields: + type: array + items: + $ref: '#/components/schemas/RowFieldType' + description: The fields of the element in the data type (if applicable). + resolution: + type: string + description: The resolution of the data type (if applicable). + fractional_precision: + type: integer + format: int32 + description: The fractional precision of the data type (if applicable). + required: + - type + - nullable + RowFieldType: + type: object + properties: + name: + type: string + description: The name of the field. + field_type: + allOf: + - $ref: '#/components/schemas/DataType' + description: The data type of the field. + description: + type: string + description: The description of the field. + required: + - name + - field_type + PatchRequest: + type: array + description: 'PatchRequest represent a json-patch request to be applied to the Statement. See https://tools.ietf.org/html/rfc6902' + items: + oneOf: + - $ref: '#/components/schemas/JsonPatchRequestAddReplace' + - $ref: '#/components/schemas/JsonPatchRequestRemove' + - $ref: '#/components/schemas/JsonPatchRequestMoveCopy' + JsonPatchRequestAddReplace: + type: object + description: This option is used to add or replace a value for a field + additionalProperties: false + required: + - value + - op + - path + properties: + path: + description: A JSON Pointer path. + type: string + value: + description: 'The value to add, replace or test.' + op: + description: The operation to perform. + type: string + enum: + - ADD + - REPLACE + - TEST + JsonPatchRequestRemove: + type: object + description: This option is used to remove a field + additionalProperties: false + required: + - op + - path + properties: + path: + description: A JSON Pointer path. + type: string + op: + description: The operation to perform. + type: string + enum: + - REMOVE + JsonPatchRequestMoveCopy: + type: object + description: This option is used to move or copy a field + additionalProperties: false + required: + - from + - op + - path + properties: + path: + description: A JSON Pointer path. + type: string + op: + description: The operation to perform. + type: string + enum: + - MOVE + - COPY + from: + description: A JSON Pointer path. + type: string + sql.v1.StatementExceptionList: + type: object + description: |- + StatementExceptionList is a list of exceptions coming from FAILED or FAILING Statements created by + the SQL Statements API. + required: + - api_version + - kind + - metadata + - data + properties: + api_version: + type: string + enum: + - sql/v1 + description: APIVersion defines the schema version of this representation of a resource. + example: sql/v1 + kind: + type: string + description: Kind defines the object this REST resource represents. + enum: + - StatementExceptionList + metadata: + allOf: + - $ref: '#/components/schemas/ExceptionListMeta' + data: + type: array + description: A data property that contains an array of resource items. Each entry in the array is a separate resource. + items: + allOf: + - $ref: '#/components/schemas/sql.v1.StatementException' + ExceptionListMeta: + type: object + description: ListMeta describes metadata that resource collections may have + properties: + self: + description: 'Self is a Uniform Resource Locator (URL) at which an object can be addressed. This URL encodes the service location, API version, and other particulars necessary to locate the resource at a point in time' + type: string + example: 'https://flink.us-west1.aws.confluent.cloud/sql/v1/environments/env-123/statements/sql123/exceptions' + sql.v1.StatementException: + type: object + properties: + kind: + type: string + description: Kind defines the object this REST resource represents. + enum: + - StatementException + name: + type: string + description: Name of the SQL statement exception. + example: java.lang.RuntimeException + readOnly: true + message: + type: string + description: Error message of the statement exception. + example: 'java.lang.RuntimeException: An error occurred' + readOnly: true + timestamp: + type: string + format: date-time + example: '2023-03-31T00:00:00-00:00' + description: The date and time at which the exception occurred. It is represented in RFC3339 format and is in UTC. + readOnly: true + x-enable-objectmeta: true + parameters: + AclHost: + name: host + description: The ACL host. + in: query + required: false + schema: + type: string + AclOperation: + name: operation + description: The ACL operation. + in: query + required: false + schema: + $ref: '#/components/schemas/AclOperation' + AclOperationRequired: + name: operation + description: The ACL operation. + in: query + required: true + schema: + $ref: '#/components/schemas/AclOperation' + AclPatternType: + name: pattern_type + description: The ACL pattern type. + in: query + required: false + schema: + $ref: '#/components/schemas/AclPatternType' + AclPatternTypeRequired: + name: pattern_type + description: The ACL pattern type. + in: query + required: true + schema: + $ref: '#/components/schemas/AclPatternType' + AclPermission: + name: permission + description: The ACL permission. + in: query + required: false + schema: + $ref: '#/components/schemas/AclPermission' + AclPermissionRequired: + name: permission + description: The ACL permission. + in: query + required: true + schema: + $ref: '#/components/schemas/AclPermission' + AclPrincipal: + name: principal + description: The ACL principal. This is the Service Account name or user name. + in: query + required: false + schema: + type: string + AclResourceName: + name: resource_name + description: The ACL resource name. + in: query + required: false + schema: + type: string + AclResourceType: + name: resource_type + description: The ACL resource type. + in: query + required: false + schema: + $ref: '#/components/schemas/AclResourceType' + AclResourceTypeRequired: + name: resource_type + description: The ACL resource type. + in: query + required: true + schema: + $ref: '#/components/schemas/AclResourceType' + BrokerId: + name: broker_id + description: The Kafka broker ID. + in: path + required: true + schema: + type: integer + example: 1 + ClusterId: + name: cluster_id + description: The Kafka cluster ID. + in: path + required: true + schema: + type: string + example: cluster-1 + ConfigName: + name: name + description: The configuration parameter name. + in: path + required: true + schema: + type: string + example: compression.type + ConsumerGroupId: + name: consumer_group_id + description: The consumer group ID. + in: path + required: true + schema: + type: string + example: consumer-group-1 + ConsumerId: + name: consumer_id + description: The consumer ID. + in: path + required: true + schema: + type: string + example: consumer-1 + IncludeAuthorizedOperations: + name: include_authorized_operations + description: Specify if authorized operations should be included in the response. + in: query + required: false + schema: + type: boolean + PartitionId: + name: partition_id + description: The partition ID. + in: path + required: true + schema: + type: integer + example: 0 + TopicName: + name: topic_name + description: The topic name. + in: path + required: true + schema: + type: string + example: topic-1 + BrokerTaskType: + name: task_type + description: The Kafka broker task type. + in: path + required: true + schema: + $ref: '#/components/schemas/BrokerTaskType' + example: remove-broker + ShouldShutdown: + name: should_shutdown + description: 'To shutdown the broker or not, Default: true' + in: query + required: false + schema: + type: boolean + example: true + ValidateOnly: + name: validate_only + description: 'To validate the action can be performed successfully or not. Default: false' + in: query + required: false + schema: + type: boolean + example: false + ValidateLink: + name: validate_link + description: 'To synchronously validate that the source cluster ID is expected and the dest cluster has the permission to read topics in the source cluster. Default: true' + in: query + required: false + schema: + type: boolean + example: false + IncludeTasks: + name: include_tasks + description: 'Whether to include cluster linking tasks in the response. Default: false' + in: query + required: false + schema: + type: boolean + example: false + IncludeStateTransitionErrors: + name: include_state_transition_errors + description: 'Whether to include mirror state transition errors in the response. Default: false' + in: query + required: false + schema: + type: boolean + example: false + Force: + name: force + description: 'Force the action. Default: false' + in: query + required: false + schema: + type: boolean + example: false + IncludePartitionLevelTruncationData: + name: include_partition_level_truncation_data + description: 'Whether to include partition level truncation information when truncating and restoring a topic in the response. Default: false' + in: query + required: false + schema: + type: boolean + example: false + LinkName: + name: link_name + description: The link name + in: path + required: true + schema: + type: string + example: link-sb1 + LinkConfigName: + name: config_name + description: The link config name + in: path + required: true + schema: + type: string + example: consumer.offset.sync.enable + MirrorTopicStatus: + name: mirror_status + description: 'The status of the mirror topic. If not specified, all mirror topics will be returned.' + in: query + required: false + schema: + $ref: '#/components/schemas/MirrorTopicStatus' + example: ACTIVE + MirrorTopicName: + name: mirror_topic_name + description: Cluster Linking mirror topic name + in: path + required: true + schema: + type: string + example: topic-1 + QueryParamLinkName: + name: link_name + description: The link name + in: query + required: true + schema: + type: string + example: link-sb1 + responses: + BadRequestError: + description: Bad Request + headers: + X-Request-Id: + schema: + type: string + description: The unique identifier for the API request. + content: + application/json: + schema: + $ref: '#/components/schemas/Failure' + example: + errors: + - id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d + status: '400' + code: invalid_filter + title: Invalid Filter + detail: The 'delorean' resource can't be filtered by 'num_doors' + source: + parameter: num_doors + UnauthenticatedError: + x-summary: Unauthorized + description: The request lacks valid authentication credentials for this resource. + headers: + X-Request-Id: + schema: + type: string + description: The unique identifier for the API request. + WWW-Authenticate: + schema: + type: string + description: The unique identifier for the API request. + example: 'Basic error="invalid_key", error_description="The API Key is invalid"' + content: + application/json: + schema: + $ref: '#/components/schemas/Failure' + example: + errors: + - id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d + status: '401' + code: user_unauthenticated + title: Authentication Required + detail: Valid authentication credentials must be provided + UnauthorizedError: + x-summary: Forbidden + description: The access credentials were considered insufficient to grant access + headers: + X-Request-Id: + schema: + type: string + description: The unique identifier for the API request. + content: + application/json: + schema: + $ref: '#/components/schemas/Failure' + example: + errors: + - id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d + status: '403' + code: user_unauthorized + title: User Access Unauthorized + detail: The user 'mcfly' is not allowed to access the 'delorean' resource without the 'plutonium' role. + NotFoundError: + description: Not Found + headers: + X-Request-Id: + schema: + type: string + description: The unique identifier for the API request. + content: + application/json: + schema: + $ref: '#/components/schemas/Failure' + example: + errors: + - id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d + status: '404' + title: Not Found + RateLimitError: + description: Rate Limit Exceeded + headers: + X-Request-Id: + schema: + type: string + description: The unique identifier for the API request. + X-RateLimit-Limit: + schema: + type: integer + description: The maximum number of requests you're permitted to make per time period. + X-RateLimit-Remaining: + schema: + type: integer + description: The number of requests remaining in the current rate limit window. + X-RateLimit-Reset: + schema: + type: integer + description: |- + The relative time in seconds until the current rate-limit window resets. + + **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. + DefaultSystemError: + description: 'Oops, something went wrong!' + headers: + X-Request-Id: + schema: + type: string + description: The unique identifier for the API request. + content: + application/json: + schema: + $ref: '#/components/schemas/Failure' + example: + errors: + - id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d + status: '500' + code: out_of_gas + title: DeLorean Out Of Gas + detail: 'The DeLorean has run out of gas, but Doc Brown will fill ''er up for you asap' + ConflictError: + x-summary: Conflict + description: The request is in conflict with the current server state + headers: + X-Request-Id: + schema: + type: string + description: The unique identifier for the API request. + Location: + schema: + type: string + format: uri + example: 'https://api.confluent.cloud/{object}/{id}' + description: Resource URI of conflicting resource + content: + application/json: + schema: + $ref: '#/components/schemas/Failure' + example: + errors: + - id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d + status: '409' + code: resource_already_exists + title: Resource Already exists + detail: The entitlement '91e3e86f-fca6-4f14-98f5-a48e64113ce2' already exists. + ValidationError: + description: Validation Failed + headers: + X-Request-Id: + schema: + type: string + description: The unique identifier for the API request. + content: + application/json: + schema: + $ref: '#/components/schemas/Failure' + example: + errors: + - status: '422' + code: invalid_configuration + id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d + title: Validation Failed + detail: 'The property ''/cluster/storage_size'' of type string did not match the following type: integer' + source: + pointer: /cluster/storage_size + - status: '422' + code: invalid_configuration + id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d + title: Validation Failed + detail: 'The property ''/cluster/storage_size'' of type string did not match the following type: integer' + source: + pointer: /cluster/storage_size + - status: '422' + code: invalid_configuration + id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d + title: Validation Failed + detail: 'The property ''/cluster/storage_size'' of type string did not match the following type: integer' + source: + pointer: /cluster/storage_size + - status: '422' + code: invalid_configuration + id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d + title: Validation Failed + detail: 'The property ''/cluster/storage_size'' of type string did not match the following type: integer' + source: + pointer: /cluster/storage_size + - status: '422' + code: invalid_configuration + id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d + title: Validation Failed + detail: 'The property ''/cluster/storage_size'' of type string did not match the following type: integer' + source: + pointer: /cluster/storage_size + - status: '422' + code: invalid_configuration + id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d + title: Validation Failed + detail: 'The property ''/cluster/storage_size'' of type string did not match the following type: integer' + source: + pointer: /cluster/storage_size + - status: '422' + code: invalid_configuration + id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d + title: Validation Failed + detail: 'The property ''/cluster/storage_size'' of type string did not match the following type: integer' + source: + pointer: /cluster/storage_size + - status: '422' + code: invalid_configuration + id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d + title: Validation Failed + detail: 'The property ''/cluster/storage_size'' of type string did not match the following type: integer' + source: + pointer: /cluster/storage_size + - status: '422' + code: invalid_configuration + id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d + title: Validation Failed + detail: 'The property ''/cluster/storage_size'' of type string did not match the following type: integer' + source: + pointer: /cluster/storage_size + - status: '422' + code: invalid_configuration + id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d + title: Validation Failed + detail: 'The property ''/cluster/storage_size'' of type string did not match the following type: integer' + source: + pointer: /cluster/storage_size + - status: '422' + code: invalid_configuration + id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d + title: Validation Failed + detail: 'The property ''/cluster/storage_size'' of type string did not match the following type: integer' + source: + pointer: /cluster/storage_size + - status: '422' + code: invalid_configuration + id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d + title: Validation Failed + detail: 'The property ''/cluster/storage_size'' of type string did not match the following type: integer' + source: + pointer: /cluster/storage_size + - status: '422' + code: invalid_configuration + id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d + title: Validation Failed + detail: 'The property ''/cluster/storage_size'' of type string did not match the following type: integer' + source: + pointer: /cluster/storage_size + - status: '422' + code: invalid_configuration + id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d + title: Validation Failed + detail: 'The property ''/cluster/storage_size'' of type string did not match the following type: integer' + source: + pointer: /cluster/storage_size + - status: '422' + code: invalid_configuration + id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d + title: Validation Failed + detail: 'The property ''/cluster/storage_size'' of type string did not match the following type: integer' + source: + pointer: /cluster/storage_size + - status: '422' + code: invalid_configuration + id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d + title: Validation Failed + detail: 'The property ''/cluster/storage_size'' of type string did not match the following type: integer' + source: + pointer: /cluster/storage_size + - status: '422' + code: invalid_configuration + id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d + title: Validation Failed + detail: 'The property ''/cluster/storage_size'' of type string did not match the following type: integer' + source: + pointer: /cluster/storage_size + - status: '422' + code: invalid_configuration + id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d + title: Validation Failed + detail: 'The property ''/cluster/storage_size'' of type string did not match the following type: integer' + source: + pointer: /cluster/storage_size + - status: '422' + code: invalid_configuration + id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d + title: Validation Failed + detail: 'The property ''/cluster/storage_size'' of type string did not match the following type: integer' + source: + pointer: /cluster/storage_size + - status: '422' + code: invalid_configuration + id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d + title: Validation Failed + detail: 'The property ''/cluster/storage_size'' of type string did not match the following type: integer' + source: + pointer: /cluster/storage_size + - status: '422' + code: invalid_configuration + id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d + title: Validation Failed + detail: 'The property ''/cluster/storage_size'' of type string did not match the following type: integer' + source: + pointer: /cluster/storage_size + - status: '422' + code: invalid_configuration + id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d + title: Validation Failed + detail: 'The property ''/cluster/storage_size'' of type string did not match the following type: integer' + source: + pointer: /cluster/storage_size + - status: '422' + code: invalid_configuration + id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d + title: Validation Failed + detail: 'The property ''/cluster/storage_size'' of type string did not match the following type: integer' + source: + pointer: /cluster/storage_size + - status: '422' + code: invalid_configuration + id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d + title: Validation Failed + detail: 'The property ''/cluster/storage_size'' of type string did not match the following type: integer' + source: + pointer: /cluster/storage_size + - status: '422' + code: invalid_configuration + id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d + title: Validation Failed + detail: 'The property ''/cluster/storage_size'' of type string did not match the following type: integer' + source: + pointer: /cluster/storage_size + - status: '422' + code: invalid_configuration + id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d + title: Validation Failed + detail: 'The property ''/cluster/storage_size'' of type string did not match the following type: integer' + source: + pointer: /cluster/storage_size + - status: '422' + code: invalid_configuration + id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d + title: Validation Failed + detail: 'The property ''/cluster/storage_size'' of type string did not match the following type: integer' + source: + pointer: /cluster/storage_size + - status: '422' + code: invalid_configuration + id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d + title: Validation Failed + detail: 'The property ''/cluster/storage_size'' of type string did not match the following type: integer' + source: + pointer: /cluster/storage_size + - status: '422' + code: invalid_configuration + id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d + title: Validation Failed + detail: 'The property ''/cluster/storage_size'' of type string did not match the following type: integer' + source: + pointer: /cluster/storage_size + - status: '422' + code: invalid_configuration + id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d + title: Validation Failed + detail: 'The property ''/cluster/storage_size'' of type string did not match the following type: integer' + source: + pointer: /cluster/storage_size + securitySchemes: + cloud-api-key: + type: http + scheme: basic + description: Authenticate with Cloud API Keys using HTTP Basic Auth. Treat the Cloud API Key ID as the username and Cloud API Key Secret as the password. + confluent-sts-access-token: + type: oauth2 + description: Authenticate with Confluent API using this credentials (JSON Web Tokens) following OAuth 2.0. + flows: + clientCredentials: + tokenUrl: 'https://api.confluent.cloud/sts/v1/oauth2/token' + scopes: {} + api-key: + type: http + scheme: basic + description: Authenticate with API Keys using HTTP Basic Auth. Treat the API Key ID as the username and API Key Secret as the password. + resource-api-key: + type: http + scheme: basic + description: | + Authenticate with resource-specific API Keys using HTTP Basic Auth. Treat the resource-specific API Key ID + as the username and resource-specific API Key Secret as the password. + external-access-token: + type: oauth2 + description: Authenticate with OAuth 2.0. + flows: + clientCredentials: + tokenUrl: 'https:///token' + scopes: {} + oauth: + type: oauth2 + description: Authenticate with OAuth 2.0. Currently this is only supported for partner APIs. + flows: + clientCredentials: + tokenUrl: /oauth2/token + scopes: + 'partner:alter': enables partners to alter entitlements + 'partner:create': enables partners to create entitlements and signup on behalf of customers + 'partner:delete': enables partners to delete entitlements and organizations + 'partner:describe': enables partners to read and list entitlements and organizations + requestBodies: + AlterBrokerConfigBatchRequest: + description: The alter broker configuration parameter batch request. + content: + application/json: + schema: + $ref: '#/components/schemas/AlterConfigBatchRequestData' + example: + data: + - name: max.connections + operation: DELETE + - name: compression.type + value: gzip + AlterClusterConfigBatchRequest: + description: The alter cluster configuration parameter batch request. + content: + application/json: + schema: + $ref: '#/components/schemas/AlterConfigBatchRequestData' + example: + data: + - name: max.connections + operation: DELETE + - name: compression.type + value: gzip + AlterTopicConfigBatchRequest: + description: The alter topic configuration parameter batch request. + content: + application/json: + schema: + $ref: '#/components/schemas/AlterConfigBatchRequestData' + examples: + batch_alter_topic_configs: + value: + data: + - name: cleanup.policy + operation: DELETE + - name: compression.type + value: gzip + validate_only_batch_alter_topic_configs: + value: + data: + - name: cleanup.policy + operation: DELETE + - name: compression.type + value: gzip + validate_only: true + CreateAclRequest: + description: The ACL creation request. + content: + application/json: + schema: + $ref: '#/components/schemas/CreateAclRequestData' + example: + resource_type: CLUSTER + resource_name: kafka-cluster + pattern_type: LITERAL + principal: 'principalType:principalName' + host: '*' + operation: DESCRIBE + permission: DENY + BatchCreateAclRequest: + description: The batch ACL creation request. + content: + application/json: + schema: + $ref: '#/components/schemas/CreateAclRequestDataList' + example: + data: + - resource_type: CLUSTER + resource_name: kafka-cluster + pattern_type: LITERAL + principal: 'principalType:principalName' + host: '*' + operation: DESCRIBE + permission: DENY + - resource_type: TOPIC + resource_name: kafka-cluster + pattern_type: LITERAL + principal: 'principalType:principalName' + host: '*' + operation: READ + permission: ALLOW + CreateTopicRequest: + description: 'The topic creation request. Note that Confluent Cloud allows only specific replication factor values. Because of that the replication factor field should either be omitted or it should use one of the allowed values (see https://docs.confluent.io/cloud/current/client-apps/optimizing/durability.html).' + content: + application/json: + schema: + $ref: '#/components/schemas/CreateTopicRequestData' + examples: + uniform_replication: + value: + topic_name: topic-X + partitions_count: 64 + replication_factor: 3 + configs: + - name: cleanup.policy + value: compact + - name: compression.type + value: gzip + dry_run_create_topic: + value: + topic_name: topic-X + partitions_count: 64 + replication_factor: 3 + validate_only: true + ProduceRequest: + description: 'A single record to be produced to Kafka. To produce multiple records in the same request, simply concatenate the records. The delivery reports are concatenated in the same order as the records are sent.' + content: + application/json: + schema: + $ref: '#/components/schemas/ProduceRequest' + examples: + binary_and_json: + description: 'If using type, one of "BINARY", "JSON" or "STRING" is required.' + value: + partition_id: 1 + headers: + - name: Header-1 + value: SGVhZGVyLTE= + - name: Header-2 + value: SGVhZGVyLTI= + key: + type: BINARY + data: Zm9vYmFy + value: + type: JSON + data: + foo: bar + timestamp: '2021-02-05T19:14:42Z' + string: + description: 'If using type, one of "BINARY", "JSON" or "STRING" is required.' + value: + value: + type: STRING + data: My message + empty_value: + description: key or value can be omitted entirely. + value: + key: + data: 1000 + UpdateBrokerConfigRequest: + description: The broker configuration parameter update request. + content: + application/json: + schema: + $ref: '#/components/schemas/UpdateConfigRequestData' + example: + value: gzip + UpdateClusterConfigRequest: + description: The cluster configuration parameter update request. + content: + application/json: + schema: + $ref: '#/components/schemas/UpdateConfigRequestData' + example: + value: gzip + UpdateTopicConfigRequest: + description: The topic configuration parameter update request. + content: + application/json: + schema: + $ref: '#/components/schemas/UpdateConfigRequestData' + example: + value: gzip + CreateLinkRequest: + description: Create a cluster link + content: + application/json: + schema: + $ref: '#/components/schemas/CreateLinkRequestData' + examples: + destination_initiated_link: + description: Create a destination initiated cluster link + value: + source_cluster_id: cluster-1 + configs: + - name: bootstrap.servers + value: cluster-1-bootstrap-server + - name: acl.sync.enable + value: 'false' + - name: consumer.offset.sync.ms + value: '30000' + - name: sasl.mechanism + value: PLAIN + - name: sasl.protocol + value: SASL_SSL + - name: sasl.jaas.config + value: sasl.jaas.config=org.apache.kafka.common.security.plain.PlainLoginModule required username='' password=''; + source_initiated_link_at_source_cluster: + description: Create a source initiated cluster link at source cluster + value: + destination_cluster_id: cluster-2 + configs: + - name: bootstrap.servers + value: cluster-2-bootstrap-server + - name: link.mode + value: SOURCE + - name: sasl.mechanism + value: PLAIN + - name: sasl.protocol + value: SASL_SSL + - name: sasl.jaas.config + value: sasl.jaas.config=org.apache.kafka.common.security.plain.PlainLoginModule required username='' password=''; + source_initiated_link_at_destination_cluster: + description: Create a source initiated cluster link at destination cluster + value: + destination_cluster_id: cluster-1 + configs: + - name: bootstrap.servers + value: cluster-1-bootstrap-server + - name: link.mode + value: DESTINATION + - name: connection.mode + value: INBOUND + - name: acl.sync.enable + value: 'false' + - name: sasl.mechanism + value: PLAIN + - name: sasl.protocol + value: SASL_SSL + - name: sasl.jaas.config + value: sasl.jaas.config=org.apache.kafka.common.security.plain.PlainLoginModule required username='' password=''; + bidirectional_link_east: + description: Create a bidirectional cluster link in east + value: + remote_cluster_id: cluster-west + configs: + - name: bootstrap.servers + value: cluster-west-bootstrap-server + - name: link.mode + value: BIDIRECTIONAL + - name: cluster.link.prefix + value: west. + - name: sasl.mechanism + value: PLAIN + - name: sasl.protocol + value: SASL_SSL + - name: sasl.jaas.config + value: sasl.jaas.config=org.apache.kafka.common.security.plain.PlainLoginModule required username='' password=''; + bidirectional_link_west: + description: Create a bidirectional cluster link in west + value: + remote_cluster_id: cluster-east + cluster_link_id: eEBkTffYSESld6EO898x3w + configs: + - name: bootstrap.servers + value: cluster-east-bootstrap-server + - name: link.mode + value: BIDIRECTIONAL + - name: cluster.link.prefix + value: east. + - name: sasl.mechanism + value: PLAIN + - name: sasl.protocol + value: SASL_SSL + - name: sasl.jaas.config + value: sasl.jaas.config=org.apache.kafka.common.security.plain.PlainLoginModule required username='' password=''; + UpdateLinkConfigRequest: + content: + application/json: + example: + value: '300000' + schema: + $ref: '#/components/schemas/UpdateLinkConfigRequestData' + description: Link config value to update + AlterLinkConfigBatchRequest: + content: + application/json: + example: + data: + - name: cleanup.policy + operation: DELETE + - name: compression.type + value: gzip + schema: + $ref: '#/components/schemas/AlterConfigBatchRequestData' + CreateMirrorTopicRequest: + description: 'Name and configs of the topics mirroring from and mirroring to. Note that Confluent Cloud allows only specific replication factor values. Because of that the replication factor field should either be omitted or it should use one of the allowed values (see https://docs.confluent.io/cloud/current/client-apps/optimizing/durability.html).' + content: + application/json: + schema: + $ref: '#/components/schemas/CreateMirrorTopicRequestData' + examples: + generic_example: + description: Generic example of creating a mirror topic + value: + source_topic_name: topic-1 + configs: + - name: unclean.leader.election.enable + value: 'true' + replication_factor: 1 + example_with_mirror_topic_name: + description: Example using optional mirror_topic_name flag + value: + source_topic_name: topic-1 + mirror_topic_name: link1_topic-1 + configs: + - name: unclean.leader.election.enable + value: 'true' + replication_factor: 3 + AlterMirrorsRequest: + description: Mirror topics to be altered. + content: + application/json: + schema: + $ref: '#/components/schemas/AlterMirrorsRequestData' + examples: + mirror_topic_names: + description: Example using mirror topic names + value: + mirror_topic_names: + - topic-1 + - topic-2 + mirror_topic_name_pattern: + description: Example using mirror topic name pattern + value: + mirror_topic_name_pattern: .* + RemoveBrokersRequest: + content: + application/json: + example: + broker_ids: + - 1 + - 2 + - 3 + schema: + $ref: '#/components/schemas/RemoveBrokersRequestData' + description: Broker ids to remove + BrokerReplicaExclusionBatchRequest: + description: Alter Broker Replica Exclusions. + content: + application/json: + schema: + $ref: '#/components/schemas/BrokerReplicaExclusionBatchRequestData' + example: + data: + - broker_id: 1 + reason: The broker is to be removed. + - broker_id: 2 + reason: The broker is to be removed. + x-stackQL-resources: + connections: + id: confluent.sql.connections + name: connections + title: Connections + methods: + list_sqlv1connections: + operation: + $ref: '#/paths/~1sql~1v1~1organizations~1{organization_id}~1environments~1{environment_id}~1connections/get' + response: + mediaType: application/json + openAPIDocKey: '200' + schemaRef: '#/components/schemas/sql.v1.ConnectionList' + objectKey: $.data + create_sqlv1connection: + operation: + $ref: '#/paths/~1sql~1v1~1organizations~1{organization_id}~1environments~1{environment_id}~1connections/post' + response: + mediaType: application/json + openAPIDocKey: '201' + get_sqlv1connection: + operation: + $ref: '#/paths/~1sql~1v1~1organizations~1{organization_id}~1environments~1{environment_id}~1connections~1{connection_name}/get' + response: + mediaType: application/json + openAPIDocKey: '200' + delete_sqlv1connection: + operation: + $ref: '#/paths/~1sql~1v1~1organizations~1{organization_id}~1environments~1{environment_id}~1connections~1{connection_name}/delete' + response: + mediaType: application/json + openAPIDocKey: '200' + update_sqlv1connection: + operation: + $ref: '#/paths/~1sql~1v1~1organizations~1{organization_id}~1environments~1{environment_id}~1connections~1{connection_name}/put' + response: + mediaType: application/json + openAPIDocKey: '200' + sqlVerbs: + select: + - $ref: '#/components/x-stackQL-resources/connections/methods/get_sqlv1connection' + - $ref: '#/components/x-stackQL-resources/connections/methods/list_sqlv1connections' + insert: + - $ref: '#/components/x-stackQL-resources/connections/methods/create_sqlv1connection' + update: [] + replace: [] + delete: + - $ref: '#/components/x-stackQL-resources/connections/methods/delete_sqlv1connection' + statement_results: + id: confluent.sql.statement_results + name: statement_results + title: Statement Results + methods: + get_sqlv1statement_result: + operation: + $ref: '#/paths/~1sql~1v1~1organizations~1{organization_id}~1environments~1{environment_id}~1statements~1{name}~1results/get' + response: + mediaType: application/json + openAPIDocKey: '200' + sqlVerbs: + select: + - $ref: '#/components/x-stackQL-resources/statement_results/methods/get_sqlv1statement_result' + insert: [] + update: [] + replace: [] + delete: [] + statements: + id: confluent.sql.statements + name: statements + title: Statements + methods: + list_sqlv1statements: + operation: + $ref: '#/paths/~1sql~1v1~1organizations~1{organization_id}~1environments~1{environment_id}~1statements/get' + response: + mediaType: application/json + openAPIDocKey: '200' + schemaRef: '#/components/schemas/sql.v1.StatementList' + objectKey: $.data + create_sqlv1statement: + operation: + $ref: '#/paths/~1sql~1v1~1organizations~1{organization_id}~1environments~1{environment_id}~1statements/post' + response: + mediaType: application/json + openAPIDocKey: '201' + get_sqlv1statement: + operation: + $ref: '#/paths/~1sql~1v1~1organizations~1{organization_id}~1environments~1{environment_id}~1statements~1{statement_name}/get' + response: + mediaType: application/json + openAPIDocKey: '200' + delete_sqlv1statement: + operation: + $ref: '#/paths/~1sql~1v1~1organizations~1{organization_id}~1environments~1{environment_id}~1statements~1{statement_name}/delete' + response: + mediaType: application/json + openAPIDocKey: '202' + update_sqlv1statement: + operation: + $ref: '#/paths/~1sql~1v1~1organizations~1{organization_id}~1environments~1{environment_id}~1statements~1{statement_name}/put' + response: + mediaType: application/json + openAPIDocKey: '202' + patch_sqlv1statement: + operation: + $ref: '#/paths/~1sql~1v1~1organizations~1{organization_id}~1environments~1{environment_id}~1statements~1{statement_name}/patch' + response: + mediaType: application/json + openAPIDocKey: '200' + sqlVerbs: + select: + - $ref: '#/components/x-stackQL-resources/statements/methods/get_sqlv1statement' + - $ref: '#/components/x-stackQL-resources/statements/methods/list_sqlv1statements' + insert: + - $ref: '#/components/x-stackQL-resources/statements/methods/create_sqlv1statement' + update: + - $ref: '#/components/x-stackQL-resources/statements/methods/patch_sqlv1statement' + replace: [] + delete: + - $ref: '#/components/x-stackQL-resources/statements/methods/delete_sqlv1statement' + statement_exceptions: + id: confluent.sql.statement_exceptions + name: statement_exceptions + title: Statement Exceptions + methods: + get_sqlv1statement_exceptions: + operation: + $ref: '#/paths/~1sql~1v1~1organizations~1{organization_id}~1environments~1{environment_id}~1statements~1{statement_name}~1exceptions/get' + response: + mediaType: application/json + openAPIDocKey: '200' + schemaRef: '#/components/schemas/sql.v1.StatementExceptionList' + objectKey: $.data + sqlVerbs: + select: + - $ref: '#/components/x-stackQL-resources/statement_exceptions/methods/get_sqlv1statement_exceptions' + insert: [] + update: [] + replace: [] + delete: [] +paths: + '/sql/v1/organizations/{organization_id}/environments/{environment_id}/connections': + get: + x-request-access-name: SQL API v1 + operationId: listSqlv1Connections + summary: List of Connections + description: |- + [![Preview](https://img.shields.io/badge/Lifecycle%20Stage-Preview-%2300afba)](#section/Versioning/API-Lifecycle-Policy) + + Retrieve a sorted, filtered and paginated list of all Connections. + parameters: + - in: path + name: organization_id + required: true + schema: + type: string + format: uuid + description: The unique identifier for the organization. + - in: path + name: environment_id + required: true + schema: + type: string + description: The unique identifier for the environment. + - name: spec.connection_type + in: query + required: false + schema: + type: string + x-extensible-enum: + - OPENAI + - AZUREML + - AZUREOPENAI + - BEDROCK + - SAGEMAKER + - GOOGLEAI + - VERTEXAI + - MONGODB + - PINECONE + - ELASTIC + description: Filter the results by exact match for spec.connection_type + - 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: + - Connections (sql/v1) + security: + - resource-api-key: [] + responses: + '200': + description: Connections. + content: + application/json: + schema: + $ref: '#/components/schemas/sql.v1.ConnectionList' + headers: + X-Request-Id: + schema: + type: string + description: The unique identifier for the API request. + '400': + $ref: '#/components/responses/BadRequestError' + '401': + $ref: '#/components/responses/UnauthenticatedError' + '403': + $ref: '#/components/responses/UnauthorizedError' + '404': + $ref: '#/components/responses/NotFoundError' + '429': + $ref: '#/components/responses/RateLimitError' + '500': + $ref: '#/components/responses/DefaultSystemError' + x-codeSamples: + - lang: Shell + source: |- + curl --request GET \ + --url 'https://flink.region.provider.confluent.cloud/sql/v1/organizations/{organization_id}/environments/{environment_id}/connections' \ + --header 'Authorization: Basic REPLACE_BASIC_AUTH' + - lang: Java + source: |- + OkHttpClient client = new OkHttpClient(); + + Request request = new Request.Builder() + .url("https://flink.region.provider.confluent.cloud/sql/v1/organizations/{organization_id}/environments/{environment_id}/connections") + .get() + .addHeader("Authorization", "Basic REPLACE_BASIC_AUTH") + .build(); + + Response response = client.newCall(request).execute(); + - lang: Go + source: "package main\n\nimport (\n\t\"fmt\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://flink.region.provider.confluent.cloud/sql/v1/organizations/{organization_id}/environments/{environment_id}/connections\"\n\n\treq, _ := http.NewRequest(\"GET\", url, nil)\n\n\treq.Header.Add(\"Authorization\", \"Basic REPLACE_BASIC_AUTH\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}" + - lang: Python + source: |- + import http.client + + conn = http.client.HTTPSConnection("flink.region.provider.confluent.cloud") + + headers = { 'Authorization': "Basic REPLACE_BASIC_AUTH" } + + conn.request("GET", "/sql/v1/organizations/{organization_id}/environments/{environment_id}/connections", headers=headers) + + res = conn.getresponse() + data = res.read() + + print(data.decode("utf-8")) + - lang: Node + source: |- + const http = require("https"); + + const options = { + "method": "GET", + "hostname": "flink.region.provider.confluent.cloud", + "port": null, + "path": "/sql/v1/organizations/{organization_id}/environments/{environment_id}/connections", + "headers": { + "Authorization": "Basic REPLACE_BASIC_AUTH" + } + }; + + const req = http.request(options, function (res) { + const chunks = []; + + res.on("data", function (chunk) { + chunks.push(chunk); + }); + + res.on("end", function () { + const body = Buffer.concat(chunks); + console.log(body.toString()); + }); + }); + + req.end(); + - lang: C + source: |- + CURL *hnd = curl_easy_init(); + + curl_easy_setopt(hnd, CURLOPT_CUSTOMREQUEST, "GET"); + curl_easy_setopt(hnd, CURLOPT_URL, "https://flink.region.provider.confluent.cloud/sql/v1/organizations/{organization_id}/environments/{environment_id}/connections"); + + struct curl_slist *headers = NULL; + headers = curl_slist_append(headers, "Authorization: Basic REPLACE_BASIC_AUTH"); + curl_easy_setopt(hnd, CURLOPT_HTTPHEADER, headers); + + CURLcode ret = curl_easy_perform(hnd); + - lang: C# + source: |- + var client = new RestClient("https://flink.region.provider.confluent.cloud/sql/v1/organizations/{organization_id}/environments/{environment_id}/connections"); + var request = new RestRequest(Method.GET); + request.AddHeader("Authorization", "Basic REPLACE_BASIC_AUTH"); + IRestResponse response = client.Execute(request); + post: + x-request-access-name: SQL API v1 + operationId: createSqlv1Connection + summary: Create a Connection + description: |- + [![Preview](https://img.shields.io/badge/Lifecycle%20Stage-Preview-%2300afba)](#section/Versioning/API-Lifecycle-Policy) + + Make a request to create a Connection. + parameters: + - in: path + name: organization_id + schema: + type: string + format: uuid + required: true + description: The unique identifier for the organization. + - in: path + name: environment_id + required: true + schema: + type: string + description: The unique identifier for the environment. + tags: + - Connections (sql/v1) + security: + - resource-api-key: [] + requestBody: + content: + application/json: + schema: + allOf: + - $ref: '#/components/schemas/sql.v1.Connection' + - type: object + required: + - spec + - name + properties: + spec: + type: object + required: + - endpoint + - connection_type + - auth_data + responses: + '201': + description: A Connection has been successfully created. + headers: + X-Request-Id: + schema: + type: string + description: The unique identifier for the API request. + Location: + schema: + type: string + format: uri + example: 'https://flink.region.provider.confluent.cloud/sql/v1/organizations/{organization_id}/environments/{environment_id}/connections/{name}' + description: Connection resource uri + content: + application/json: + schema: + allOf: + - $ref: '#/components/schemas/sql.v1.Connection' + - type: object + required: + - spec + properties: + spec: + type: object + required: + - endpoint + - connection_type + - auth_data + '400': + $ref: '#/components/responses/BadRequestError' + '401': + $ref: '#/components/responses/UnauthenticatedError' + '403': + $ref: '#/components/responses/UnauthorizedError' + '409': + $ref: '#/components/responses/ConflictError' + '422': + $ref: '#/components/responses/ValidationError' + '429': + $ref: '#/components/responses/RateLimitError' + '500': + $ref: '#/components/responses/DefaultSystemError' + x-codeSamples: + - lang: Shell + source: |- + curl --request POST \ + --url 'https://flink.region.provider.confluent.cloud/sql/v1/organizations/{organization_id}/environments/{environment_id}/connections' \ + --header 'Authorization: Basic REPLACE_BASIC_AUTH' \ + --header 'content-type: application/json' \ + --data '{"name":"my-openai-connection","spec":{"connection_type":"OPENAI","endpoint":"https://api.openai.com/v1/chat/completions","auth_data":{"kind":"PlaintextProvider","data":"string"}}}' + - lang: Java + source: |- + OkHttpClient client = new OkHttpClient(); + + MediaType mediaType = MediaType.parse("application/json"); + RequestBody body = RequestBody.create(mediaType, "{\"name\":\"my-openai-connection\",\"spec\":{\"connection_type\":\"OPENAI\",\"endpoint\":\"https://api.openai.com/v1/chat/completions\",\"auth_data\":{\"kind\":\"PlaintextProvider\",\"data\":\"string\"}}}"); + Request request = new Request.Builder() + .url("https://flink.region.provider.confluent.cloud/sql/v1/organizations/{organization_id}/environments/{environment_id}/connections") + .post(body) + .addHeader("content-type", "application/json") + .addHeader("Authorization", "Basic REPLACE_BASIC_AUTH") + .build(); + + Response response = client.newCall(request).execute(); + - lang: Go + source: "package main\n\nimport (\n\t\"fmt\"\n\t\"strings\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://flink.region.provider.confluent.cloud/sql/v1/organizations/{organization_id}/environments/{environment_id}/connections\"\n\n\tpayload := strings.NewReader(\"{\\\"name\\\":\\\"my-openai-connection\\\",\\\"spec\\\":{\\\"connection_type\\\":\\\"OPENAI\\\",\\\"endpoint\\\":\\\"https://api.openai.com/v1/chat/completions\\\",\\\"auth_data\\\":{\\\"kind\\\":\\\"PlaintextProvider\\\",\\\"data\\\":\\\"string\\\"}}}\")\n\n\treq, _ := http.NewRequest(\"POST\", url, payload)\n\n\treq.Header.Add(\"content-type\", \"application/json\")\n\treq.Header.Add(\"Authorization\", \"Basic REPLACE_BASIC_AUTH\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}" + - lang: Python + source: |- + import http.client + + conn = http.client.HTTPSConnection("flink.region.provider.confluent.cloud") + + payload = "{\"name\":\"my-openai-connection\",\"spec\":{\"connection_type\":\"OPENAI\",\"endpoint\":\"https://api.openai.com/v1/chat/completions\",\"auth_data\":{\"kind\":\"PlaintextProvider\",\"data\":\"string\"}}}" + + headers = { + 'content-type': "application/json", + 'Authorization': "Basic REPLACE_BASIC_AUTH" + } + + conn.request("POST", "/sql/v1/organizations/{organization_id}/environments/{environment_id}/connections", payload, headers) + + res = conn.getresponse() + data = res.read() + + print(data.decode("utf-8")) + - lang: Node + source: |- + const http = require("https"); + + const options = { + "method": "POST", + "hostname": "flink.region.provider.confluent.cloud", + "port": null, + "path": "/sql/v1/organizations/{organization_id}/environments/{environment_id}/connections", + "headers": { + "content-type": "application/json", + "Authorization": "Basic REPLACE_BASIC_AUTH" + } + }; + + const req = http.request(options, function (res) { + const chunks = []; + + res.on("data", function (chunk) { + chunks.push(chunk); + }); + + res.on("end", function () { + const body = Buffer.concat(chunks); + console.log(body.toString()); + }); + }); + + req.write(JSON.stringify({ + name: 'my-openai-connection', + spec: { + connection_type: 'OPENAI', + endpoint: 'https://api.openai.com/v1/chat/completions', + auth_data: {kind: 'PlaintextProvider', data: 'string'} + } + })); + req.end(); + - lang: C + source: |- + CURL *hnd = curl_easy_init(); + + curl_easy_setopt(hnd, CURLOPT_CUSTOMREQUEST, "POST"); + curl_easy_setopt(hnd, CURLOPT_URL, "https://flink.region.provider.confluent.cloud/sql/v1/organizations/{organization_id}/environments/{environment_id}/connections"); + + struct curl_slist *headers = NULL; + headers = curl_slist_append(headers, "content-type: application/json"); + headers = curl_slist_append(headers, "Authorization: Basic REPLACE_BASIC_AUTH"); + curl_easy_setopt(hnd, CURLOPT_HTTPHEADER, headers); + + curl_easy_setopt(hnd, CURLOPT_POSTFIELDS, "{\"name\":\"my-openai-connection\",\"spec\":{\"connection_type\":\"OPENAI\",\"endpoint\":\"https://api.openai.com/v1/chat/completions\",\"auth_data\":{\"kind\":\"PlaintextProvider\",\"data\":\"string\"}}}"); + + CURLcode ret = curl_easy_perform(hnd); + - lang: C# + source: |- + var client = new RestClient("https://flink.region.provider.confluent.cloud/sql/v1/organizations/{organization_id}/environments/{environment_id}/connections"); + var request = new RestRequest(Method.POST); + request.AddHeader("content-type", "application/json"); + request.AddHeader("Authorization", "Basic REPLACE_BASIC_AUTH"); + request.AddParameter("application/json", "{\"name\":\"my-openai-connection\",\"spec\":{\"connection_type\":\"OPENAI\",\"endpoint\":\"https://api.openai.com/v1/chat/completions\",\"auth_data\":{\"kind\":\"PlaintextProvider\",\"data\":\"string\"}}}", ParameterType.RequestBody); + IRestResponse response = client.Execute(request); + '/sql/v1/organizations/{organization_id}/environments/{environment_id}/connections/{connection_name}': + get: + x-request-access-name: SQL API v1 + operationId: getSqlv1Connection + summary: Read a Connection + description: |- + [![Preview](https://img.shields.io/badge/Lifecycle%20Stage-Preview-%2300afba)](#section/Versioning/API-Lifecycle-Policy) + + Make a request to read a Connection. + parameters: + - in: path + name: organization_id + schema: + type: string + format: uuid + required: true + description: The unique identifier for the organization. + - in: path + name: environment_id + required: true + schema: + type: string + description: The unique identifier for the environment. + - name: connection_name + in: path + required: true + schema: + type: string + description: The user provided name of the Connection. Unique within a region within an org and env. + tags: + - Connections (sql/v1) + security: + - resource-api-key: [] + responses: + '200': + description: Connection. + content: + application/json: + schema: + allOf: + - $ref: '#/components/schemas/sql.v1.Connection' + - type: object + required: + - api_version + - kind + - metadata + - spec + properties: + spec: + type: object + required: + - connection_type + - endpoint + - auth_data + headers: + X-Request-Id: + schema: + type: string + description: The unique identifier for the API request. + '400': + $ref: '#/components/responses/BadRequestError' + '401': + $ref: '#/components/responses/UnauthenticatedError' + '403': + $ref: '#/components/responses/UnauthorizedError' + '404': + $ref: '#/components/responses/NotFoundError' + '429': + $ref: '#/components/responses/RateLimitError' + '500': + $ref: '#/components/responses/DefaultSystemError' + x-codeSamples: + - lang: Shell + source: |- + curl --request GET \ + --url 'https://flink.region.provider.confluent.cloud/sql/v1/organizations/{organization_id}/environments/{environment_id}/connections/{connection_name}' \ + --header 'Authorization: Basic REPLACE_BASIC_AUTH' + - lang: Java + source: |- + OkHttpClient client = new OkHttpClient(); + + Request request = new Request.Builder() + .url("https://flink.region.provider.confluent.cloud/sql/v1/organizations/{organization_id}/environments/{environment_id}/connections/{connection_name}") + .get() + .addHeader("Authorization", "Basic REPLACE_BASIC_AUTH") + .build(); + + Response response = client.newCall(request).execute(); + - lang: Go + source: "package main\n\nimport (\n\t\"fmt\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://flink.region.provider.confluent.cloud/sql/v1/organizations/{organization_id}/environments/{environment_id}/connections/{connection_name}\"\n\n\treq, _ := http.NewRequest(\"GET\", url, nil)\n\n\treq.Header.Add(\"Authorization\", \"Basic REPLACE_BASIC_AUTH\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}" + - lang: Python + source: |- + import http.client + + conn = http.client.HTTPSConnection("flink.region.provider.confluent.cloud") + + headers = { 'Authorization': "Basic REPLACE_BASIC_AUTH" } + + conn.request("GET", "/sql/v1/organizations/{organization_id}/environments/{environment_id}/connections/{connection_name}", headers=headers) + + res = conn.getresponse() + data = res.read() + + print(data.decode("utf-8")) + - lang: Node + source: |- + const http = require("https"); + + const options = { + "method": "GET", + "hostname": "flink.region.provider.confluent.cloud", + "port": null, + "path": "/sql/v1/organizations/{organization_id}/environments/{environment_id}/connections/{connection_name}", + "headers": { + "Authorization": "Basic REPLACE_BASIC_AUTH" + } + }; + + const req = http.request(options, function (res) { + const chunks = []; + + res.on("data", function (chunk) { + chunks.push(chunk); + }); + + res.on("end", function () { + const body = Buffer.concat(chunks); + console.log(body.toString()); + }); + }); + + req.end(); + - lang: C + source: |- + CURL *hnd = curl_easy_init(); + + curl_easy_setopt(hnd, CURLOPT_CUSTOMREQUEST, "GET"); + curl_easy_setopt(hnd, CURLOPT_URL, "https://flink.region.provider.confluent.cloud/sql/v1/organizations/{organization_id}/environments/{environment_id}/connections/{connection_name}"); + + struct curl_slist *headers = NULL; + headers = curl_slist_append(headers, "Authorization: Basic REPLACE_BASIC_AUTH"); + curl_easy_setopt(hnd, CURLOPT_HTTPHEADER, headers); + + CURLcode ret = curl_easy_perform(hnd); + - lang: C# + source: |- + var client = new RestClient("https://flink.region.provider.confluent.cloud/sql/v1/organizations/{organization_id}/environments/{environment_id}/connections/{connection_name}"); + var request = new RestRequest(Method.GET); + request.AddHeader("Authorization", "Basic REPLACE_BASIC_AUTH"); + IRestResponse response = client.Execute(request); + delete: + x-request-access-name: SQL API v1 + operationId: deleteSqlv1Connection + summary: Delete a Connection + description: |- + [![Preview](https://img.shields.io/badge/Lifecycle%20Stage-Preview-%2300afba)](#section/Versioning/API-Lifecycle-Policy) + + Make a request to delete a statement. + parameters: + - in: path + name: organization_id + schema: + type: string + format: uuid + required: true + description: The unique identifier for the organization. + - in: path + name: environment_id + required: true + schema: + type: string + description: The unique identifier for the environment. + - name: connection_name + in: path + required: true + schema: + type: string + description: The unique identifier for the connection. + tags: + - Connections (sql/v1) + security: + - resource-api-key: [] + responses: + '200': + description: A Connection has been deleted. + headers: + X-Request-Id: + schema: + type: string + description: The unique identifier for the API request. + '400': + $ref: '#/components/responses/BadRequestError' + '401': + $ref: '#/components/responses/UnauthenticatedError' + '403': + $ref: '#/components/responses/UnauthorizedError' + '404': + $ref: '#/components/responses/NotFoundError' + '429': + $ref: '#/components/responses/RateLimitError' + '500': + $ref: '#/components/responses/DefaultSystemError' + x-codeSamples: + - lang: Shell + source: |- + curl --request DELETE \ + --url 'https://flink.region.provider.confluent.cloud/sql/v1/organizations/{organization_id}/environments/{environment_id}/connections/{connection_name}' \ + --header 'Authorization: Basic REPLACE_BASIC_AUTH' + - lang: Java + source: |- + OkHttpClient client = new OkHttpClient(); + + Request request = new Request.Builder() + .url("https://flink.region.provider.confluent.cloud/sql/v1/organizations/{organization_id}/environments/{environment_id}/connections/{connection_name}") + .delete(null) + .addHeader("Authorization", "Basic REPLACE_BASIC_AUTH") + .build(); + + Response response = client.newCall(request).execute(); + - lang: Go + source: "package main\n\nimport (\n\t\"fmt\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://flink.region.provider.confluent.cloud/sql/v1/organizations/{organization_id}/environments/{environment_id}/connections/{connection_name}\"\n\n\treq, _ := http.NewRequest(\"DELETE\", url, nil)\n\n\treq.Header.Add(\"Authorization\", \"Basic REPLACE_BASIC_AUTH\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}" + - lang: Python + source: |- + import http.client + + conn = http.client.HTTPSConnection("flink.region.provider.confluent.cloud") + + headers = { 'Authorization': "Basic REPLACE_BASIC_AUTH" } + + conn.request("DELETE", "/sql/v1/organizations/{organization_id}/environments/{environment_id}/connections/{connection_name}", headers=headers) + + res = conn.getresponse() + data = res.read() + + print(data.decode("utf-8")) + - lang: Node + source: |- + const http = require("https"); + + const options = { + "method": "DELETE", + "hostname": "flink.region.provider.confluent.cloud", + "port": null, + "path": "/sql/v1/organizations/{organization_id}/environments/{environment_id}/connections/{connection_name}", + "headers": { + "Authorization": "Basic REPLACE_BASIC_AUTH" + } + }; + + const req = http.request(options, function (res) { + const chunks = []; + + res.on("data", function (chunk) { + chunks.push(chunk); + }); + + res.on("end", function () { + const body = Buffer.concat(chunks); + console.log(body.toString()); + }); + }); + + req.end(); + - lang: C + source: |- + CURL *hnd = curl_easy_init(); + + curl_easy_setopt(hnd, CURLOPT_CUSTOMREQUEST, "DELETE"); + curl_easy_setopt(hnd, CURLOPT_URL, "https://flink.region.provider.confluent.cloud/sql/v1/organizations/{organization_id}/environments/{environment_id}/connections/{connection_name}"); + + struct curl_slist *headers = NULL; + headers = curl_slist_append(headers, "Authorization: Basic REPLACE_BASIC_AUTH"); + curl_easy_setopt(hnd, CURLOPT_HTTPHEADER, headers); + + CURLcode ret = curl_easy_perform(hnd); + - lang: C# + source: |- + var client = new RestClient("https://flink.region.provider.confluent.cloud/sql/v1/organizations/{organization_id}/environments/{environment_id}/connections/{connection_name}"); + var request = new RestRequest(Method.DELETE); + request.AddHeader("Authorization", "Basic REPLACE_BASIC_AUTH"); + IRestResponse response = client.Execute(request); + put: + x-request-access-name: SQL API v1 + operationId: updateSqlv1Connection + summary: Update a Connection + description: |- + [![Preview](https://img.shields.io/badge/Lifecycle%20Stage-Preview-%2300afba)](#section/Versioning/API-Lifecycle-Policy) + + Make a request to update a connection. + parameters: + - in: path + name: organization_id + schema: + type: string + format: uuid + required: true + description: The unique identifier for the organization. + - in: path + name: environment_id + required: true + schema: + type: string + description: The unique identifier for the environment. + - name: connection_name + in: path + required: true + schema: + type: string + description: The unique identifier for the connection. + tags: + - Connections (sql/v1) + security: + - resource-api-key: [] + responses: + '200': + description: A Connection has been updated. + headers: + X-Request-Id: + schema: + type: string + description: The unique identifier for the API request. + '400': + $ref: '#/components/responses/BadRequestError' + '401': + $ref: '#/components/responses/UnauthenticatedError' + '403': + $ref: '#/components/responses/UnauthorizedError' + '404': + $ref: '#/components/responses/NotFoundError' + '429': + $ref: '#/components/responses/RateLimitError' + '500': + $ref: '#/components/responses/DefaultSystemError' + requestBody: + content: + application/json: + schema: + allOf: + - $ref: '#/components/schemas/sql.v1.Connection' + - type: object + required: + - spec + - name + - metadata + properties: + spec: + type: object + required: + - auth_data + metadata: + type: object + required: + - resource_version + x-codeSamples: + - lang: Shell + source: |- + curl --request PUT \ + --url 'https://flink.region.provider.confluent.cloud/sql/v1/organizations/{organization_id}/environments/{environment_id}/connections/{connection_name}' \ + --header 'Authorization: Basic REPLACE_BASIC_AUTH' \ + --header 'content-type: application/json' \ + --data '{"name":"my-openai-connection","spec":{"connection_type":"OPENAI","endpoint":"https://api.openai.com/v1/chat/completions","auth_data":{"kind":"PlaintextProvider","data":"string"}},"metadata":{}}' + - lang: Java + source: |- + OkHttpClient client = new OkHttpClient(); + + MediaType mediaType = MediaType.parse("application/json"); + RequestBody body = RequestBody.create(mediaType, "{\"name\":\"my-openai-connection\",\"spec\":{\"connection_type\":\"OPENAI\",\"endpoint\":\"https://api.openai.com/v1/chat/completions\",\"auth_data\":{\"kind\":\"PlaintextProvider\",\"data\":\"string\"}},\"metadata\":{}}"); + Request request = new Request.Builder() + .url("https://flink.region.provider.confluent.cloud/sql/v1/organizations/{organization_id}/environments/{environment_id}/connections/{connection_name}") + .put(body) + .addHeader("content-type", "application/json") + .addHeader("Authorization", "Basic REPLACE_BASIC_AUTH") + .build(); + + Response response = client.newCall(request).execute(); + - lang: Go + source: "package main\n\nimport (\n\t\"fmt\"\n\t\"strings\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://flink.region.provider.confluent.cloud/sql/v1/organizations/{organization_id}/environments/{environment_id}/connections/{connection_name}\"\n\n\tpayload := strings.NewReader(\"{\\\"name\\\":\\\"my-openai-connection\\\",\\\"spec\\\":{\\\"connection_type\\\":\\\"OPENAI\\\",\\\"endpoint\\\":\\\"https://api.openai.com/v1/chat/completions\\\",\\\"auth_data\\\":{\\\"kind\\\":\\\"PlaintextProvider\\\",\\\"data\\\":\\\"string\\\"}},\\\"metadata\\\":{}}\")\n\n\treq, _ := http.NewRequest(\"PUT\", url, payload)\n\n\treq.Header.Add(\"content-type\", \"application/json\")\n\treq.Header.Add(\"Authorization\", \"Basic REPLACE_BASIC_AUTH\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}" + - lang: Python + source: |- + import http.client + + conn = http.client.HTTPSConnection("flink.region.provider.confluent.cloud") + + payload = "{\"name\":\"my-openai-connection\",\"spec\":{\"connection_type\":\"OPENAI\",\"endpoint\":\"https://api.openai.com/v1/chat/completions\",\"auth_data\":{\"kind\":\"PlaintextProvider\",\"data\":\"string\"}},\"metadata\":{}}" + + headers = { + 'content-type': "application/json", + 'Authorization': "Basic REPLACE_BASIC_AUTH" + } + + conn.request("PUT", "/sql/v1/organizations/{organization_id}/environments/{environment_id}/connections/{connection_name}", payload, headers) + + res = conn.getresponse() + data = res.read() + + print(data.decode("utf-8")) + - lang: Node + source: |- + const http = require("https"); + + const options = { + "method": "PUT", + "hostname": "flink.region.provider.confluent.cloud", + "port": null, + "path": "/sql/v1/organizations/{organization_id}/environments/{environment_id}/connections/{connection_name}", + "headers": { + "content-type": "application/json", + "Authorization": "Basic REPLACE_BASIC_AUTH" + } + }; + + const req = http.request(options, function (res) { + const chunks = []; + + res.on("data", function (chunk) { + chunks.push(chunk); + }); + + res.on("end", function () { + const body = Buffer.concat(chunks); + console.log(body.toString()); + }); + }); + + req.write(JSON.stringify({ + name: 'my-openai-connection', + spec: { + connection_type: 'OPENAI', + endpoint: 'https://api.openai.com/v1/chat/completions', + auth_data: {kind: 'PlaintextProvider', data: 'string'} + }, + metadata: {} + })); + req.end(); + - lang: C + source: |- + CURL *hnd = curl_easy_init(); + + curl_easy_setopt(hnd, CURLOPT_CUSTOMREQUEST, "PUT"); + curl_easy_setopt(hnd, CURLOPT_URL, "https://flink.region.provider.confluent.cloud/sql/v1/organizations/{organization_id}/environments/{environment_id}/connections/{connection_name}"); + + struct curl_slist *headers = NULL; + headers = curl_slist_append(headers, "content-type: application/json"); + headers = curl_slist_append(headers, "Authorization: Basic REPLACE_BASIC_AUTH"); + curl_easy_setopt(hnd, CURLOPT_HTTPHEADER, headers); + + curl_easy_setopt(hnd, CURLOPT_POSTFIELDS, "{\"name\":\"my-openai-connection\",\"spec\":{\"connection_type\":\"OPENAI\",\"endpoint\":\"https://api.openai.com/v1/chat/completions\",\"auth_data\":{\"kind\":\"PlaintextProvider\",\"data\":\"string\"}},\"metadata\":{}}"); + + CURLcode ret = curl_easy_perform(hnd); + - lang: C# + source: |- + var client = new RestClient("https://flink.region.provider.confluent.cloud/sql/v1/organizations/{organization_id}/environments/{environment_id}/connections/{connection_name}"); + var request = new RestRequest(Method.PUT); + request.AddHeader("content-type", "application/json"); + request.AddHeader("Authorization", "Basic REPLACE_BASIC_AUTH"); + request.AddParameter("application/json", "{\"name\":\"my-openai-connection\",\"spec\":{\"connection_type\":\"OPENAI\",\"endpoint\":\"https://api.openai.com/v1/chat/completions\",\"auth_data\":{\"kind\":\"PlaintextProvider\",\"data\":\"string\"}},\"metadata\":{}}", ParameterType.RequestBody); + IRestResponse response = client.Execute(request); + '/sql/v1/organizations/{organization_id}/environments/{environment_id}/statements/{name}/results': + get: + x-request-access-name: SQL API v1 + operationId: getSqlv1StatementResult + summary: Read Statement Result + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + Read Statement Result. + parameters: + - in: path + name: organization_id + schema: + type: string + format: uuid + required: true + description: The unique identifier for the organization. + - in: path + name: environment_id + required: true + schema: + type: string + description: The unique identifier for the environment. + - name: name + in: path + required: true + schema: + type: string + description: The unique identifier for the statement. + - name: page_token + in: query + required: false + schema: + type: string + maxLength: 255 + description: 'It contains the field offset in the CollectSinkFunction protocol. On the first request, it should be unset. The offset is assumed to start at 0.' + tags: + - Statement Results (sql/v1) + security: + - resource-api-key: [] + responses: + '200': + description: Statement Result. + content: + application/json: + schema: + allOf: + - $ref: '#/components/schemas/sql.v1.StatementResult' + - type: object + required: + - api_version + - kind + - metadata + - results + properties: + results: + type: object + required: + - data + headers: + X-Request-Id: + schema: + type: string + description: The unique identifier for the API request. + '400': + $ref: '#/components/responses/BadRequestError' + '401': + $ref: '#/components/responses/UnauthenticatedError' + '403': + $ref: '#/components/responses/UnauthorizedError' + '404': + $ref: '#/components/responses/NotFoundError' + '429': + $ref: '#/components/responses/RateLimitError' + '500': + $ref: '#/components/responses/DefaultSystemError' + x-codeSamples: + - lang: Shell + source: |- + curl --request GET \ + --url 'https://flink.region.provider.confluent.cloud/sql/v1/organizations/{organization_id}/environments/{environment_id}/statements/{name}/results' \ + --header 'Authorization: Basic REPLACE_BASIC_AUTH' + - lang: Java + source: |- + OkHttpClient client = new OkHttpClient(); + + Request request = new Request.Builder() + .url("https://flink.region.provider.confluent.cloud/sql/v1/organizations/{organization_id}/environments/{environment_id}/statements/{name}/results") + .get() + .addHeader("Authorization", "Basic REPLACE_BASIC_AUTH") + .build(); + + Response response = client.newCall(request).execute(); + - lang: Go + source: "package main\n\nimport (\n\t\"fmt\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://flink.region.provider.confluent.cloud/sql/v1/organizations/{organization_id}/environments/{environment_id}/statements/{name}/results\"\n\n\treq, _ := http.NewRequest(\"GET\", url, nil)\n\n\treq.Header.Add(\"Authorization\", \"Basic REPLACE_BASIC_AUTH\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}" + - lang: Python + source: |- + import http.client + + conn = http.client.HTTPSConnection("flink.region.provider.confluent.cloud") + + headers = { 'Authorization': "Basic REPLACE_BASIC_AUTH" } + + conn.request("GET", "/sql/v1/organizations/{organization_id}/environments/{environment_id}/statements/{name}/results", headers=headers) + + res = conn.getresponse() + data = res.read() + + print(data.decode("utf-8")) + - lang: Node + source: |- + const http = require("https"); + + const options = { + "method": "GET", + "hostname": "flink.region.provider.confluent.cloud", + "port": null, + "path": "/sql/v1/organizations/{organization_id}/environments/{environment_id}/statements/{name}/results", + "headers": { + "Authorization": "Basic REPLACE_BASIC_AUTH" + } + }; + + const req = http.request(options, function (res) { + const chunks = []; + + res.on("data", function (chunk) { + chunks.push(chunk); + }); + + res.on("end", function () { + const body = Buffer.concat(chunks); + console.log(body.toString()); + }); + }); + + req.end(); + - lang: C + source: |- + CURL *hnd = curl_easy_init(); + + curl_easy_setopt(hnd, CURLOPT_CUSTOMREQUEST, "GET"); + curl_easy_setopt(hnd, CURLOPT_URL, "https://flink.region.provider.confluent.cloud/sql/v1/organizations/{organization_id}/environments/{environment_id}/statements/{name}/results"); + + struct curl_slist *headers = NULL; + headers = curl_slist_append(headers, "Authorization: Basic REPLACE_BASIC_AUTH"); + curl_easy_setopt(hnd, CURLOPT_HTTPHEADER, headers); + + CURLcode ret = curl_easy_perform(hnd); + - lang: C# + source: |- + var client = new RestClient("https://flink.region.provider.confluent.cloud/sql/v1/organizations/{organization_id}/environments/{environment_id}/statements/{name}/results"); + var request = new RestRequest(Method.GET); + request.AddHeader("Authorization", "Basic REPLACE_BASIC_AUTH"); + IRestResponse response = client.Execute(request); + '/sql/v1/organizations/{organization_id}/environments/{environment_id}/statements': + get: + x-request-access-name: SQL API v1 + operationId: listSqlv1Statements + summary: List of Statements + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + Retrieve a sorted, filtered, paginated list of all statements. + parameters: + - in: path + name: organization_id + schema: + type: string + format: uuid + required: true + description: The unique identifier for the organization. + - in: path + name: environment_id + required: true + schema: + type: string + description: The unique identifier for the environment. + - name: spec.compute_pool_id + in: query + required: false + schema: + type: string + example: lfcp-00000 + description: Filter the results by exact match for spec.compute_pool. + - 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. + - name: label_selector + in: query + required: false + schema: + type: string + style: form + explode: false + description: A comma-separated label selector to filter the statements. + tags: + - Statements (sql/v1) + security: + - resource-api-key: [] + responses: + '200': + description: Statements. + content: + application/json: + schema: + $ref: '#/components/schemas/sql.v1.StatementList' + headers: + X-Request-Id: + schema: + type: string + description: The unique identifier for the API request. + '400': + $ref: '#/components/responses/BadRequestError' + '401': + $ref: '#/components/responses/UnauthenticatedError' + '403': + $ref: '#/components/responses/UnauthorizedError' + '404': + $ref: '#/components/responses/NotFoundError' + '429': + $ref: '#/components/responses/RateLimitError' + '500': + $ref: '#/components/responses/DefaultSystemError' + x-codeSamples: + - lang: Shell + source: |- + curl --request GET \ + --url 'https://flink.region.provider.confluent.cloud/sql/v1/organizations/{organization_id}/environments/{environment_id}/statements' \ + --header 'Authorization: Basic REPLACE_BASIC_AUTH' + - lang: Java + source: |- + OkHttpClient client = new OkHttpClient(); + + Request request = new Request.Builder() + .url("https://flink.region.provider.confluent.cloud/sql/v1/organizations/{organization_id}/environments/{environment_id}/statements") + .get() + .addHeader("Authorization", "Basic REPLACE_BASIC_AUTH") + .build(); + + Response response = client.newCall(request).execute(); + - lang: Go + source: "package main\n\nimport (\n\t\"fmt\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://flink.region.provider.confluent.cloud/sql/v1/organizations/{organization_id}/environments/{environment_id}/statements\"\n\n\treq, _ := http.NewRequest(\"GET\", url, nil)\n\n\treq.Header.Add(\"Authorization\", \"Basic REPLACE_BASIC_AUTH\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}" + - lang: Python + source: |- + import http.client + + conn = http.client.HTTPSConnection("flink.region.provider.confluent.cloud") + + headers = { 'Authorization': "Basic REPLACE_BASIC_AUTH" } + + conn.request("GET", "/sql/v1/organizations/{organization_id}/environments/{environment_id}/statements", headers=headers) + + res = conn.getresponse() + data = res.read() + + print(data.decode("utf-8")) + - lang: Node + source: |- + const http = require("https"); + + const options = { + "method": "GET", + "hostname": "flink.region.provider.confluent.cloud", + "port": null, + "path": "/sql/v1/organizations/{organization_id}/environments/{environment_id}/statements", + "headers": { + "Authorization": "Basic REPLACE_BASIC_AUTH" + } + }; + + const req = http.request(options, function (res) { + const chunks = []; + + res.on("data", function (chunk) { + chunks.push(chunk); + }); + + res.on("end", function () { + const body = Buffer.concat(chunks); + console.log(body.toString()); + }); + }); + + req.end(); + - lang: C + source: |- + CURL *hnd = curl_easy_init(); + + curl_easy_setopt(hnd, CURLOPT_CUSTOMREQUEST, "GET"); + curl_easy_setopt(hnd, CURLOPT_URL, "https://flink.region.provider.confluent.cloud/sql/v1/organizations/{organization_id}/environments/{environment_id}/statements"); + + struct curl_slist *headers = NULL; + headers = curl_slist_append(headers, "Authorization: Basic REPLACE_BASIC_AUTH"); + curl_easy_setopt(hnd, CURLOPT_HTTPHEADER, headers); + + CURLcode ret = curl_easy_perform(hnd); + - lang: C# + source: |- + var client = new RestClient("https://flink.region.provider.confluent.cloud/sql/v1/organizations/{organization_id}/environments/{environment_id}/statements"); + var request = new RestRequest(Method.GET); + request.AddHeader("Authorization", "Basic REPLACE_BASIC_AUTH"); + IRestResponse response = client.Execute(request); + post: + x-request-access-name: SQL API v1 + operationId: createSqlv1Statement + summary: Create a Statement + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + Make a request to create a statement. + parameters: + - in: path + name: organization_id + schema: + type: string + format: uuid + required: true + description: The unique identifier for the organization. + - in: path + name: environment_id + required: true + schema: + type: string + description: The unique identifier for the environment. + tags: + - Statements (sql/v1) + security: + - resource-api-key: [] + requestBody: + content: + application/json: + schema: + allOf: + - $ref: '#/components/schemas/sql.v1.Statement' + - type: object + required: + - spec + - name + properties: + spec: + type: object + required: + - statement + - compute_pool_id + responses: + '201': + description: A Statement is being created. + headers: + X-Request-Id: + schema: + type: string + description: The unique identifier for the API request. + Location: + schema: + type: string + format: uri + example: 'https://flink.region.provider.confluent.cloud/sql/v1/organizations/{organization_id}/environments/{environment_id}/statements/{name}' + description: Statement resource uri + content: + application/json: + schema: + allOf: + - $ref: '#/components/schemas/sql.v1.Statement' + - type: object + required: + - spec + - status + properties: + spec: + type: object + required: + - statement_name + - statement + - compute_pool_id + '400': + $ref: '#/components/responses/BadRequestError' + '401': + $ref: '#/components/responses/UnauthenticatedError' + '403': + $ref: '#/components/responses/UnauthorizedError' + '409': + $ref: '#/components/responses/ConflictError' + '422': + $ref: '#/components/responses/ValidationError' + '429': + $ref: '#/components/responses/RateLimitError' + '500': + $ref: '#/components/responses/DefaultSystemError' + x-codeSamples: + - lang: Shell + source: |- + curl --request POST \ + --url 'https://flink.region.provider.confluent.cloud/sql/v1/organizations/{organization_id}/environments/{environment_id}/statements' \ + --header 'Authorization: Basic REPLACE_BASIC_AUTH' \ + --header 'content-type: application/json' \ + --data '{"name":"sql123","organization_id":"7c60d51f-b44e-4682-87d6-449835ea4de6","environment_id":"string","spec":{"statement":"SELECT * FROM TABLE WHERE VALUE1 = VALUE2;","properties":{"sql.current-catalog":"my_environment","sql.current-database":"my_kafka_cluster"},"compute_pool_id":"fcp-00000","principal":"sa-abc123","stopped":false},"result":{"api_version":"sql/v1","kind":"StatementResult","metadata":{"self":"https://flink.us-west1.aws.confluent.cloud/sql/v1/environments/env-123/statements","next":"https://flink.us-west1.aws.confluent.cloud/sql/v1/environments/env-abc123/statements?page_token=UvmDWOB1iwfAIBPj6EYb"},"results":{"data":[{"op":0,"row":["101","Jay",[null,"abc"],[null,"456"],"1990-01-12 12:00.12",[[null,"Alice"],["42","Bob"]]]}]}}}' + - lang: Java + source: |- + OkHttpClient client = new OkHttpClient(); + + MediaType mediaType = MediaType.parse("application/json"); + RequestBody body = RequestBody.create(mediaType, "{\"name\":\"sql123\",\"organization_id\":\"7c60d51f-b44e-4682-87d6-449835ea4de6\",\"environment_id\":\"string\",\"spec\":{\"statement\":\"SELECT * FROM TABLE WHERE VALUE1 = VALUE2;\",\"properties\":{\"sql.current-catalog\":\"my_environment\",\"sql.current-database\":\"my_kafka_cluster\"},\"compute_pool_id\":\"fcp-00000\",\"principal\":\"sa-abc123\",\"stopped\":false},\"result\":{\"api_version\":\"sql/v1\",\"kind\":\"StatementResult\",\"metadata\":{\"self\":\"https://flink.us-west1.aws.confluent.cloud/sql/v1/environments/env-123/statements\",\"next\":\"https://flink.us-west1.aws.confluent.cloud/sql/v1/environments/env-abc123/statements?page_token=UvmDWOB1iwfAIBPj6EYb\"},\"results\":{\"data\":[{\"op\":0,\"row\":[\"101\",\"Jay\",[null,\"abc\"],[null,\"456\"],\"1990-01-12 12:00.12\",[[null,\"Alice\"],[\"42\",\"Bob\"]]]}]}}}"); + Request request = new Request.Builder() + .url("https://flink.region.provider.confluent.cloud/sql/v1/organizations/{organization_id}/environments/{environment_id}/statements") + .post(body) + .addHeader("content-type", "application/json") + .addHeader("Authorization", "Basic REPLACE_BASIC_AUTH") + .build(); + + Response response = client.newCall(request).execute(); + - lang: Go + source: "package main\n\nimport (\n\t\"fmt\"\n\t\"strings\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://flink.region.provider.confluent.cloud/sql/v1/organizations/{organization_id}/environments/{environment_id}/statements\"\n\n\tpayload := strings.NewReader(\"{\\\"name\\\":\\\"sql123\\\",\\\"organization_id\\\":\\\"7c60d51f-b44e-4682-87d6-449835ea4de6\\\",\\\"environment_id\\\":\\\"string\\\",\\\"spec\\\":{\\\"statement\\\":\\\"SELECT * FROM TABLE WHERE VALUE1 = VALUE2;\\\",\\\"properties\\\":{\\\"sql.current-catalog\\\":\\\"my_environment\\\",\\\"sql.current-database\\\":\\\"my_kafka_cluster\\\"},\\\"compute_pool_id\\\":\\\"fcp-00000\\\",\\\"principal\\\":\\\"sa-abc123\\\",\\\"stopped\\\":false},\\\"result\\\":{\\\"api_version\\\":\\\"sql/v1\\\",\\\"kind\\\":\\\"StatementResult\\\",\\\"metadata\\\":{\\\"self\\\":\\\"https://flink.us-west1.aws.confluent.cloud/sql/v1/environments/env-123/statements\\\",\\\"next\\\":\\\"https://flink.us-west1.aws.confluent.cloud/sql/v1/environments/env-abc123/statements?page_token=UvmDWOB1iwfAIBPj6EYb\\\"},\\\"results\\\":{\\\"data\\\":[{\\\"op\\\":0,\\\"row\\\":[\\\"101\\\",\\\"Jay\\\",[null,\\\"abc\\\"],[null,\\\"456\\\"],\\\"1990-01-12 12:00.12\\\",[[null,\\\"Alice\\\"],[\\\"42\\\",\\\"Bob\\\"]]]}]}}}\")\n\n\treq, _ := http.NewRequest(\"POST\", url, payload)\n\n\treq.Header.Add(\"content-type\", \"application/json\")\n\treq.Header.Add(\"Authorization\", \"Basic REPLACE_BASIC_AUTH\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}" + - lang: Python + source: |- + import http.client + + conn = http.client.HTTPSConnection("flink.region.provider.confluent.cloud") + + payload = "{\"name\":\"sql123\",\"organization_id\":\"7c60d51f-b44e-4682-87d6-449835ea4de6\",\"environment_id\":\"string\",\"spec\":{\"statement\":\"SELECT * FROM TABLE WHERE VALUE1 = VALUE2;\",\"properties\":{\"sql.current-catalog\":\"my_environment\",\"sql.current-database\":\"my_kafka_cluster\"},\"compute_pool_id\":\"fcp-00000\",\"principal\":\"sa-abc123\",\"stopped\":false},\"result\":{\"api_version\":\"sql/v1\",\"kind\":\"StatementResult\",\"metadata\":{\"self\":\"https://flink.us-west1.aws.confluent.cloud/sql/v1/environments/env-123/statements\",\"next\":\"https://flink.us-west1.aws.confluent.cloud/sql/v1/environments/env-abc123/statements?page_token=UvmDWOB1iwfAIBPj6EYb\"},\"results\":{\"data\":[{\"op\":0,\"row\":[\"101\",\"Jay\",[null,\"abc\"],[null,\"456\"],\"1990-01-12 12:00.12\",[[null,\"Alice\"],[\"42\",\"Bob\"]]]}]}}}" + + headers = { + 'content-type': "application/json", + 'Authorization': "Basic REPLACE_BASIC_AUTH" + } + + conn.request("POST", "/sql/v1/organizations/{organization_id}/environments/{environment_id}/statements", payload, headers) + + res = conn.getresponse() + data = res.read() + + print(data.decode("utf-8")) + - lang: Node + source: |- + const http = require("https"); + + const options = { + "method": "POST", + "hostname": "flink.region.provider.confluent.cloud", + "port": null, + "path": "/sql/v1/organizations/{organization_id}/environments/{environment_id}/statements", + "headers": { + "content-type": "application/json", + "Authorization": "Basic REPLACE_BASIC_AUTH" + } + }; + + const req = http.request(options, function (res) { + const chunks = []; + + res.on("data", function (chunk) { + chunks.push(chunk); + }); + + res.on("end", function () { + const body = Buffer.concat(chunks); + console.log(body.toString()); + }); + }); + + req.write(JSON.stringify({ + name: 'sql123', + organization_id: '7c60d51f-b44e-4682-87d6-449835ea4de6', + environment_id: 'string', + spec: { + statement: 'SELECT * FROM TABLE WHERE VALUE1 = VALUE2;', + properties: { + 'sql.current-catalog': 'my_environment', + 'sql.current-database': 'my_kafka_cluster' + }, + compute_pool_id: 'fcp-00000', + principal: 'sa-abc123', + stopped: false + }, + result: { + api_version: 'sql/v1', + kind: 'StatementResult', + metadata: { + self: 'https://flink.us-west1.aws.confluent.cloud/sql/v1/environments/env-123/statements', + next: 'https://flink.us-west1.aws.confluent.cloud/sql/v1/environments/env-abc123/statements?page_token=UvmDWOB1iwfAIBPj6EYb' + }, + results: { + data: [ + { + op: 0, + row: [ + '101', + 'Jay', + [null, 'abc'], + [null, '456'], + '1990-01-12 12:00.12', + [[null, 'Alice'], ['42', 'Bob']] + ] + } + ] + } + } + })); + req.end(); + - lang: C + source: |- + CURL *hnd = curl_easy_init(); + + curl_easy_setopt(hnd, CURLOPT_CUSTOMREQUEST, "POST"); + curl_easy_setopt(hnd, CURLOPT_URL, "https://flink.region.provider.confluent.cloud/sql/v1/organizations/{organization_id}/environments/{environment_id}/statements"); + + struct curl_slist *headers = NULL; + headers = curl_slist_append(headers, "content-type: application/json"); + headers = curl_slist_append(headers, "Authorization: Basic REPLACE_BASIC_AUTH"); + curl_easy_setopt(hnd, CURLOPT_HTTPHEADER, headers); + + curl_easy_setopt(hnd, CURLOPT_POSTFIELDS, "{\"name\":\"sql123\",\"organization_id\":\"7c60d51f-b44e-4682-87d6-449835ea4de6\",\"environment_id\":\"string\",\"spec\":{\"statement\":\"SELECT * FROM TABLE WHERE VALUE1 = VALUE2;\",\"properties\":{\"sql.current-catalog\":\"my_environment\",\"sql.current-database\":\"my_kafka_cluster\"},\"compute_pool_id\":\"fcp-00000\",\"principal\":\"sa-abc123\",\"stopped\":false},\"result\":{\"api_version\":\"sql/v1\",\"kind\":\"StatementResult\",\"metadata\":{\"self\":\"https://flink.us-west1.aws.confluent.cloud/sql/v1/environments/env-123/statements\",\"next\":\"https://flink.us-west1.aws.confluent.cloud/sql/v1/environments/env-abc123/statements?page_token=UvmDWOB1iwfAIBPj6EYb\"},\"results\":{\"data\":[{\"op\":0,\"row\":[\"101\",\"Jay\",[null,\"abc\"],[null,\"456\"],\"1990-01-12 12:00.12\",[[null,\"Alice\"],[\"42\",\"Bob\"]]]}]}}}"); + + CURLcode ret = curl_easy_perform(hnd); + - lang: C# + source: |- + var client = new RestClient("https://flink.region.provider.confluent.cloud/sql/v1/organizations/{organization_id}/environments/{environment_id}/statements"); + var request = new RestRequest(Method.POST); + request.AddHeader("content-type", "application/json"); + request.AddHeader("Authorization", "Basic REPLACE_BASIC_AUTH"); + request.AddParameter("application/json", "{\"name\":\"sql123\",\"organization_id\":\"7c60d51f-b44e-4682-87d6-449835ea4de6\",\"environment_id\":\"string\",\"spec\":{\"statement\":\"SELECT * FROM TABLE WHERE VALUE1 = VALUE2;\",\"properties\":{\"sql.current-catalog\":\"my_environment\",\"sql.current-database\":\"my_kafka_cluster\"},\"compute_pool_id\":\"fcp-00000\",\"principal\":\"sa-abc123\",\"stopped\":false},\"result\":{\"api_version\":\"sql/v1\",\"kind\":\"StatementResult\",\"metadata\":{\"self\":\"https://flink.us-west1.aws.confluent.cloud/sql/v1/environments/env-123/statements\",\"next\":\"https://flink.us-west1.aws.confluent.cloud/sql/v1/environments/env-abc123/statements?page_token=UvmDWOB1iwfAIBPj6EYb\"},\"results\":{\"data\":[{\"op\":0,\"row\":[\"101\",\"Jay\",[null,\"abc\"],[null,\"456\"],\"1990-01-12 12:00.12\",[[null,\"Alice\"],[\"42\",\"Bob\"]]]}]}}}", ParameterType.RequestBody); + IRestResponse response = client.Execute(request); + '/sql/v1/organizations/{organization_id}/environments/{environment_id}/statements/{statement_name}': + get: + x-request-access-name: SQL API v1 + operationId: getSqlv1Statement + summary: Read a Statement + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + Make a request to read a statement. + parameters: + - in: path + name: organization_id + schema: + type: string + format: uuid + required: true + description: The unique identifier for the organization. + - in: path + name: environment_id + required: true + schema: + type: string + description: The unique identifier for the environment. + - name: statement_name + in: path + required: true + schema: + type: string + description: The unique identifier for the statement. + tags: + - Statements (sql/v1) + security: + - resource-api-key: [] + responses: + '200': + description: Statement. + content: + application/json: + schema: + allOf: + - $ref: '#/components/schemas/sql.v1.Statement' + - type: object + required: + - api_version + - kind + - metadata + - spec + - status + properties: + spec: + type: object + required: + - statement_name + - statement + - compute_pool_id + headers: + X-Request-Id: + schema: + type: string + description: The unique identifier for the API request. + '400': + $ref: '#/components/responses/BadRequestError' + '401': + $ref: '#/components/responses/UnauthenticatedError' + '403': + $ref: '#/components/responses/UnauthorizedError' + '404': + $ref: '#/components/responses/NotFoundError' + '429': + $ref: '#/components/responses/RateLimitError' + '500': + $ref: '#/components/responses/DefaultSystemError' + x-codeSamples: + - lang: Shell + source: |- + curl --request GET \ + --url 'https://flink.region.provider.confluent.cloud/sql/v1/organizations/{organization_id}/environments/{environment_id}/statements/{statement_name}' \ + --header 'Authorization: Basic REPLACE_BASIC_AUTH' + - lang: Java + source: |- + OkHttpClient client = new OkHttpClient(); + + Request request = new Request.Builder() + .url("https://flink.region.provider.confluent.cloud/sql/v1/organizations/{organization_id}/environments/{environment_id}/statements/{statement_name}") + .get() + .addHeader("Authorization", "Basic REPLACE_BASIC_AUTH") + .build(); + + Response response = client.newCall(request).execute(); + - lang: Go + source: "package main\n\nimport (\n\t\"fmt\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://flink.region.provider.confluent.cloud/sql/v1/organizations/{organization_id}/environments/{environment_id}/statements/{statement_name}\"\n\n\treq, _ := http.NewRequest(\"GET\", url, nil)\n\n\treq.Header.Add(\"Authorization\", \"Basic REPLACE_BASIC_AUTH\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}" + - lang: Python + source: |- + import http.client + + conn = http.client.HTTPSConnection("flink.region.provider.confluent.cloud") + + headers = { 'Authorization': "Basic REPLACE_BASIC_AUTH" } + + conn.request("GET", "/sql/v1/organizations/{organization_id}/environments/{environment_id}/statements/{statement_name}", headers=headers) + + res = conn.getresponse() + data = res.read() + + print(data.decode("utf-8")) + - lang: Node + source: |- + const http = require("https"); + + const options = { + "method": "GET", + "hostname": "flink.region.provider.confluent.cloud", + "port": null, + "path": "/sql/v1/organizations/{organization_id}/environments/{environment_id}/statements/{statement_name}", + "headers": { + "Authorization": "Basic REPLACE_BASIC_AUTH" + } + }; + + const req = http.request(options, function (res) { + const chunks = []; + + res.on("data", function (chunk) { + chunks.push(chunk); + }); + + res.on("end", function () { + const body = Buffer.concat(chunks); + console.log(body.toString()); + }); + }); + + req.end(); + - lang: C + source: |- + CURL *hnd = curl_easy_init(); + + curl_easy_setopt(hnd, CURLOPT_CUSTOMREQUEST, "GET"); + curl_easy_setopt(hnd, CURLOPT_URL, "https://flink.region.provider.confluent.cloud/sql/v1/organizations/{organization_id}/environments/{environment_id}/statements/{statement_name}"); + + struct curl_slist *headers = NULL; + headers = curl_slist_append(headers, "Authorization: Basic REPLACE_BASIC_AUTH"); + curl_easy_setopt(hnd, CURLOPT_HTTPHEADER, headers); + + CURLcode ret = curl_easy_perform(hnd); + - lang: C# + source: |- + var client = new RestClient("https://flink.region.provider.confluent.cloud/sql/v1/organizations/{organization_id}/environments/{environment_id}/statements/{statement_name}"); + var request = new RestRequest(Method.GET); + request.AddHeader("Authorization", "Basic REPLACE_BASIC_AUTH"); + IRestResponse response = client.Execute(request); + delete: + x-request-access-name: SQL API v1 + operationId: deleteSqlv1Statement + summary: Delete a Statement + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + Make a request to delete a statement. + parameters: + - in: path + name: organization_id + schema: + type: string + format: uuid + required: true + description: The unique identifier for the organization. + - in: path + name: environment_id + required: true + schema: + type: string + description: The unique identifier for the environment. + - name: statement_name + in: path + required: true + schema: + type: string + description: The unique identifier for the statement. + tags: + - Statements (sql/v1) + security: + - resource-api-key: [] + responses: + '202': + description: A Statement is being deleted. + headers: + X-Request-Id: + schema: + type: string + description: The unique identifier for the API request. + '400': + $ref: '#/components/responses/BadRequestError' + '401': + $ref: '#/components/responses/UnauthenticatedError' + '403': + $ref: '#/components/responses/UnauthorizedError' + '404': + $ref: '#/components/responses/NotFoundError' + '429': + $ref: '#/components/responses/RateLimitError' + '500': + $ref: '#/components/responses/DefaultSystemError' + x-codeSamples: + - lang: Shell + source: |- + curl --request DELETE \ + --url 'https://flink.region.provider.confluent.cloud/sql/v1/organizations/{organization_id}/environments/{environment_id}/statements/{statement_name}' \ + --header 'Authorization: Basic REPLACE_BASIC_AUTH' + - lang: Java + source: |- + OkHttpClient client = new OkHttpClient(); + + Request request = new Request.Builder() + .url("https://flink.region.provider.confluent.cloud/sql/v1/organizations/{organization_id}/environments/{environment_id}/statements/{statement_name}") + .delete(null) + .addHeader("Authorization", "Basic REPLACE_BASIC_AUTH") + .build(); + + Response response = client.newCall(request).execute(); + - lang: Go + source: "package main\n\nimport (\n\t\"fmt\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://flink.region.provider.confluent.cloud/sql/v1/organizations/{organization_id}/environments/{environment_id}/statements/{statement_name}\"\n\n\treq, _ := http.NewRequest(\"DELETE\", url, nil)\n\n\treq.Header.Add(\"Authorization\", \"Basic REPLACE_BASIC_AUTH\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}" + - lang: Python + source: |- + import http.client + + conn = http.client.HTTPSConnection("flink.region.provider.confluent.cloud") + + headers = { 'Authorization': "Basic REPLACE_BASIC_AUTH" } + + conn.request("DELETE", "/sql/v1/organizations/{organization_id}/environments/{environment_id}/statements/{statement_name}", headers=headers) + + res = conn.getresponse() + data = res.read() + + print(data.decode("utf-8")) + - lang: Node + source: |- + const http = require("https"); + + const options = { + "method": "DELETE", + "hostname": "flink.region.provider.confluent.cloud", + "port": null, + "path": "/sql/v1/organizations/{organization_id}/environments/{environment_id}/statements/{statement_name}", + "headers": { + "Authorization": "Basic REPLACE_BASIC_AUTH" + } + }; + + const req = http.request(options, function (res) { + const chunks = []; + + res.on("data", function (chunk) { + chunks.push(chunk); + }); + + res.on("end", function () { + const body = Buffer.concat(chunks); + console.log(body.toString()); + }); + }); + + req.end(); + - lang: C + source: |- + CURL *hnd = curl_easy_init(); + + curl_easy_setopt(hnd, CURLOPT_CUSTOMREQUEST, "DELETE"); + curl_easy_setopt(hnd, CURLOPT_URL, "https://flink.region.provider.confluent.cloud/sql/v1/organizations/{organization_id}/environments/{environment_id}/statements/{statement_name}"); + + struct curl_slist *headers = NULL; + headers = curl_slist_append(headers, "Authorization: Basic REPLACE_BASIC_AUTH"); + curl_easy_setopt(hnd, CURLOPT_HTTPHEADER, headers); + + CURLcode ret = curl_easy_perform(hnd); + - lang: C# + source: |- + var client = new RestClient("https://flink.region.provider.confluent.cloud/sql/v1/organizations/{organization_id}/environments/{environment_id}/statements/{statement_name}"); + var request = new RestRequest(Method.DELETE); + request.AddHeader("Authorization", "Basic REPLACE_BASIC_AUTH"); + IRestResponse response = client.Execute(request); + put: + x-request-access-name: SQL API v1 + operationId: updateSqlv1Statement + summary: Update a Statement + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + Make a request to update a statement. + The request will fail with a 409 Conflict error if the Statement has changed since it was fetched. + In this case, do a GET, reapply the modifications, and try the update again. + parameters: + - in: path + name: organization_id + schema: + type: string + format: uuid + required: true + description: The unique identifier for the organization. + - in: path + name: environment_id + required: true + schema: + type: string + description: The unique identifier for the environment. + - name: statement_name + in: path + required: true + schema: + type: string + description: The unique identifier for the statement. + tags: + - Statements (sql/v1) + security: + - resource-api-key: [] + responses: + '202': + description: A Statement is being updated. + headers: + X-Request-Id: + schema: + type: string + description: The unique identifier for the API request. + '400': + $ref: '#/components/responses/BadRequestError' + '401': + $ref: '#/components/responses/UnauthenticatedError' + '403': + $ref: '#/components/responses/UnauthorizedError' + '404': + $ref: '#/components/responses/NotFoundError' + '429': + $ref: '#/components/responses/RateLimitError' + '500': + $ref: '#/components/responses/DefaultSystemError' + requestBody: + content: + application/json: + schema: + allOf: + - $ref: '#/components/schemas/sql.v1.Statement' + - type: object + required: + - spec + - name + - metadata + properties: + spec: + type: object + required: + - stopped + metadata: + type: object + required: + - resource_version + x-codeSamples: + - lang: Shell + source: |- + curl --request PUT \ + --url 'https://flink.region.provider.confluent.cloud/sql/v1/organizations/{organization_id}/environments/{environment_id}/statements/{statement_name}' \ + --header 'Authorization: Basic REPLACE_BASIC_AUTH' \ + --header 'content-type: application/json' \ + --data '{"name":"sql123","organization_id":"7c60d51f-b44e-4682-87d6-449835ea4de6","environment_id":"string","spec":{"statement":"SELECT * FROM TABLE WHERE VALUE1 = VALUE2;","properties":{"sql.current-catalog":"my_environment","sql.current-database":"my_kafka_cluster"},"compute_pool_id":"fcp-00000","principal":"sa-abc123","stopped":false},"result":{"api_version":"sql/v1","kind":"StatementResult","metadata":{"self":"https://flink.us-west1.aws.confluent.cloud/sql/v1/environments/env-123/statements","next":"https://flink.us-west1.aws.confluent.cloud/sql/v1/environments/env-abc123/statements?page_token=UvmDWOB1iwfAIBPj6EYb"},"results":{"data":[{"op":0,"row":["101","Jay",[null,"abc"],[null,"456"],"1990-01-12 12:00.12",[[null,"Alice"],["42","Bob"]]]}]}},"metadata":{}}' + - lang: Java + source: |- + OkHttpClient client = new OkHttpClient(); + + MediaType mediaType = MediaType.parse("application/json"); + RequestBody body = RequestBody.create(mediaType, "{\"name\":\"sql123\",\"organization_id\":\"7c60d51f-b44e-4682-87d6-449835ea4de6\",\"environment_id\":\"string\",\"spec\":{\"statement\":\"SELECT * FROM TABLE WHERE VALUE1 = VALUE2;\",\"properties\":{\"sql.current-catalog\":\"my_environment\",\"sql.current-database\":\"my_kafka_cluster\"},\"compute_pool_id\":\"fcp-00000\",\"principal\":\"sa-abc123\",\"stopped\":false},\"result\":{\"api_version\":\"sql/v1\",\"kind\":\"StatementResult\",\"metadata\":{\"self\":\"https://flink.us-west1.aws.confluent.cloud/sql/v1/environments/env-123/statements\",\"next\":\"https://flink.us-west1.aws.confluent.cloud/sql/v1/environments/env-abc123/statements?page_token=UvmDWOB1iwfAIBPj6EYb\"},\"results\":{\"data\":[{\"op\":0,\"row\":[\"101\",\"Jay\",[null,\"abc\"],[null,\"456\"],\"1990-01-12 12:00.12\",[[null,\"Alice\"],[\"42\",\"Bob\"]]]}]}},\"metadata\":{}}"); + Request request = new Request.Builder() + .url("https://flink.region.provider.confluent.cloud/sql/v1/organizations/{organization_id}/environments/{environment_id}/statements/{statement_name}") + .put(body) + .addHeader("content-type", "application/json") + .addHeader("Authorization", "Basic REPLACE_BASIC_AUTH") + .build(); + + Response response = client.newCall(request).execute(); + - lang: Go + source: "package main\n\nimport (\n\t\"fmt\"\n\t\"strings\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://flink.region.provider.confluent.cloud/sql/v1/organizations/{organization_id}/environments/{environment_id}/statements/{statement_name}\"\n\n\tpayload := strings.NewReader(\"{\\\"name\\\":\\\"sql123\\\",\\\"organization_id\\\":\\\"7c60d51f-b44e-4682-87d6-449835ea4de6\\\",\\\"environment_id\\\":\\\"string\\\",\\\"spec\\\":{\\\"statement\\\":\\\"SELECT * FROM TABLE WHERE VALUE1 = VALUE2;\\\",\\\"properties\\\":{\\\"sql.current-catalog\\\":\\\"my_environment\\\",\\\"sql.current-database\\\":\\\"my_kafka_cluster\\\"},\\\"compute_pool_id\\\":\\\"fcp-00000\\\",\\\"principal\\\":\\\"sa-abc123\\\",\\\"stopped\\\":false},\\\"result\\\":{\\\"api_version\\\":\\\"sql/v1\\\",\\\"kind\\\":\\\"StatementResult\\\",\\\"metadata\\\":{\\\"self\\\":\\\"https://flink.us-west1.aws.confluent.cloud/sql/v1/environments/env-123/statements\\\",\\\"next\\\":\\\"https://flink.us-west1.aws.confluent.cloud/sql/v1/environments/env-abc123/statements?page_token=UvmDWOB1iwfAIBPj6EYb\\\"},\\\"results\\\":{\\\"data\\\":[{\\\"op\\\":0,\\\"row\\\":[\\\"101\\\",\\\"Jay\\\",[null,\\\"abc\\\"],[null,\\\"456\\\"],\\\"1990-01-12 12:00.12\\\",[[null,\\\"Alice\\\"],[\\\"42\\\",\\\"Bob\\\"]]]}]}},\\\"metadata\\\":{}}\")\n\n\treq, _ := http.NewRequest(\"PUT\", url, payload)\n\n\treq.Header.Add(\"content-type\", \"application/json\")\n\treq.Header.Add(\"Authorization\", \"Basic REPLACE_BASIC_AUTH\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}" + - lang: Python + source: |- + import http.client + + conn = http.client.HTTPSConnection("flink.region.provider.confluent.cloud") + + payload = "{\"name\":\"sql123\",\"organization_id\":\"7c60d51f-b44e-4682-87d6-449835ea4de6\",\"environment_id\":\"string\",\"spec\":{\"statement\":\"SELECT * FROM TABLE WHERE VALUE1 = VALUE2;\",\"properties\":{\"sql.current-catalog\":\"my_environment\",\"sql.current-database\":\"my_kafka_cluster\"},\"compute_pool_id\":\"fcp-00000\",\"principal\":\"sa-abc123\",\"stopped\":false},\"result\":{\"api_version\":\"sql/v1\",\"kind\":\"StatementResult\",\"metadata\":{\"self\":\"https://flink.us-west1.aws.confluent.cloud/sql/v1/environments/env-123/statements\",\"next\":\"https://flink.us-west1.aws.confluent.cloud/sql/v1/environments/env-abc123/statements?page_token=UvmDWOB1iwfAIBPj6EYb\"},\"results\":{\"data\":[{\"op\":0,\"row\":[\"101\",\"Jay\",[null,\"abc\"],[null,\"456\"],\"1990-01-12 12:00.12\",[[null,\"Alice\"],[\"42\",\"Bob\"]]]}]}},\"metadata\":{}}" + + headers = { + 'content-type': "application/json", + 'Authorization': "Basic REPLACE_BASIC_AUTH" + } + + conn.request("PUT", "/sql/v1/organizations/{organization_id}/environments/{environment_id}/statements/{statement_name}", payload, headers) + + res = conn.getresponse() + data = res.read() + + print(data.decode("utf-8")) + - lang: Node + source: |- + const http = require("https"); + + const options = { + "method": "PUT", + "hostname": "flink.region.provider.confluent.cloud", + "port": null, + "path": "/sql/v1/organizations/{organization_id}/environments/{environment_id}/statements/{statement_name}", + "headers": { + "content-type": "application/json", + "Authorization": "Basic REPLACE_BASIC_AUTH" + } + }; + + const req = http.request(options, function (res) { + const chunks = []; + + res.on("data", function (chunk) { + chunks.push(chunk); + }); + + res.on("end", function () { + const body = Buffer.concat(chunks); + console.log(body.toString()); + }); + }); + + req.write(JSON.stringify({ + name: 'sql123', + organization_id: '7c60d51f-b44e-4682-87d6-449835ea4de6', + environment_id: 'string', + spec: { + statement: 'SELECT * FROM TABLE WHERE VALUE1 = VALUE2;', + properties: { + 'sql.current-catalog': 'my_environment', + 'sql.current-database': 'my_kafka_cluster' + }, + compute_pool_id: 'fcp-00000', + principal: 'sa-abc123', + stopped: false + }, + result: { + api_version: 'sql/v1', + kind: 'StatementResult', + metadata: { + self: 'https://flink.us-west1.aws.confluent.cloud/sql/v1/environments/env-123/statements', + next: 'https://flink.us-west1.aws.confluent.cloud/sql/v1/environments/env-abc123/statements?page_token=UvmDWOB1iwfAIBPj6EYb' + }, + results: { + data: [ + { + op: 0, + row: [ + '101', + 'Jay', + [null, 'abc'], + [null, '456'], + '1990-01-12 12:00.12', + [[null, 'Alice'], ['42', 'Bob']] + ] + } + ] + } + }, + metadata: {} + })); + req.end(); + - lang: C + source: |- + CURL *hnd = curl_easy_init(); + + curl_easy_setopt(hnd, CURLOPT_CUSTOMREQUEST, "PUT"); + curl_easy_setopt(hnd, CURLOPT_URL, "https://flink.region.provider.confluent.cloud/sql/v1/organizations/{organization_id}/environments/{environment_id}/statements/{statement_name}"); + + struct curl_slist *headers = NULL; + headers = curl_slist_append(headers, "content-type: application/json"); + headers = curl_slist_append(headers, "Authorization: Basic REPLACE_BASIC_AUTH"); + curl_easy_setopt(hnd, CURLOPT_HTTPHEADER, headers); + + curl_easy_setopt(hnd, CURLOPT_POSTFIELDS, "{\"name\":\"sql123\",\"organization_id\":\"7c60d51f-b44e-4682-87d6-449835ea4de6\",\"environment_id\":\"string\",\"spec\":{\"statement\":\"SELECT * FROM TABLE WHERE VALUE1 = VALUE2;\",\"properties\":{\"sql.current-catalog\":\"my_environment\",\"sql.current-database\":\"my_kafka_cluster\"},\"compute_pool_id\":\"fcp-00000\",\"principal\":\"sa-abc123\",\"stopped\":false},\"result\":{\"api_version\":\"sql/v1\",\"kind\":\"StatementResult\",\"metadata\":{\"self\":\"https://flink.us-west1.aws.confluent.cloud/sql/v1/environments/env-123/statements\",\"next\":\"https://flink.us-west1.aws.confluent.cloud/sql/v1/environments/env-abc123/statements?page_token=UvmDWOB1iwfAIBPj6EYb\"},\"results\":{\"data\":[{\"op\":0,\"row\":[\"101\",\"Jay\",[null,\"abc\"],[null,\"456\"],\"1990-01-12 12:00.12\",[[null,\"Alice\"],[\"42\",\"Bob\"]]]}]}},\"metadata\":{}}"); + + CURLcode ret = curl_easy_perform(hnd); + - lang: C# + source: |- + var client = new RestClient("https://flink.region.provider.confluent.cloud/sql/v1/organizations/{organization_id}/environments/{environment_id}/statements/{statement_name}"); + var request = new RestRequest(Method.PUT); + request.AddHeader("content-type", "application/json"); + request.AddHeader("Authorization", "Basic REPLACE_BASIC_AUTH"); + request.AddParameter("application/json", "{\"name\":\"sql123\",\"organization_id\":\"7c60d51f-b44e-4682-87d6-449835ea4de6\",\"environment_id\":\"string\",\"spec\":{\"statement\":\"SELECT * FROM TABLE WHERE VALUE1 = VALUE2;\",\"properties\":{\"sql.current-catalog\":\"my_environment\",\"sql.current-database\":\"my_kafka_cluster\"},\"compute_pool_id\":\"fcp-00000\",\"principal\":\"sa-abc123\",\"stopped\":false},\"result\":{\"api_version\":\"sql/v1\",\"kind\":\"StatementResult\",\"metadata\":{\"self\":\"https://flink.us-west1.aws.confluent.cloud/sql/v1/environments/env-123/statements\",\"next\":\"https://flink.us-west1.aws.confluent.cloud/sql/v1/environments/env-abc123/statements?page_token=UvmDWOB1iwfAIBPj6EYb\"},\"results\":{\"data\":[{\"op\":0,\"row\":[\"101\",\"Jay\",[null,\"abc\"],[null,\"456\"],\"1990-01-12 12:00.12\",[[null,\"Alice\"],[\"42\",\"Bob\"]]]}]}},\"metadata\":{}}", ParameterType.RequestBody); + IRestResponse response = client.Execute(request); + patch: + x-request-access-name: SQL API v1 + operationId: patchSqlv1Statement + summary: Patch a Statement + description: |- + [![Early Access](https://img.shields.io/badge/Lifecycle%20Stage-Early%20Access-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + Make a request to patch a statement. + parameters: + - in: path + name: organization_id + schema: + type: string + format: uuid + required: true + description: The unique identifier for the organization. + - in: path + name: environment_id + required: true + schema: + type: string + description: The unique identifier for the environment. + - name: statement_name + in: path + required: true + schema: + type: string + description: The unique identifier for the statement. + tags: + - Statements (sql/v1) + security: + - resource-api-key: [] + requestBody: + content: + application/json-patch+json: + schema: + $ref: '#/components/schemas/PatchRequest' + responses: + '200': + description: Patched Statement. + content: + application/json: + schema: + allOf: + - $ref: '#/components/schemas/sql.v1.Statement' + - type: object + required: + - spec + - status + properties: + spec: + type: object + required: + - statement_name + - statement + - compute_pool_id + '400': + $ref: '#/components/responses/BadRequestError' + '401': + $ref: '#/components/responses/UnauthenticatedError' + '403': + $ref: '#/components/responses/UnauthorizedError' + '404': + $ref: '#/components/responses/NotFoundError' + '409': + $ref: '#/components/responses/ConflictError' + '422': + $ref: '#/components/responses/ValidationError' + '429': + $ref: '#/components/responses/RateLimitError' + '500': + $ref: '#/components/responses/DefaultSystemError' + x-codeSamples: + - lang: Shell + source: |- + curl --request PATCH \ + --url 'https://flink.region.provider.confluent.cloud/sql/v1/organizations/{organization_id}/environments/{environment_id}/statements/{statement_name}' \ + --header 'Authorization: Basic REPLACE_BASIC_AUTH' \ + --header 'content-type: application/json-patch+json' + - lang: Java + source: |- + OkHttpClient client = new OkHttpClient(); + + Request request = new Request.Builder() + .url("https://flink.region.provider.confluent.cloud/sql/v1/organizations/{organization_id}/environments/{environment_id}/statements/{statement_name}") + .patch(null) + .addHeader("content-type", "application/json-patch+json") + .addHeader("Authorization", "Basic REPLACE_BASIC_AUTH") + .build(); + + Response response = client.newCall(request).execute(); + - lang: Go + source: "package main\n\nimport (\n\t\"fmt\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://flink.region.provider.confluent.cloud/sql/v1/organizations/{organization_id}/environments/{environment_id}/statements/{statement_name}\"\n\n\treq, _ := http.NewRequest(\"PATCH\", url, nil)\n\n\treq.Header.Add(\"content-type\", \"application/json-patch+json\")\n\treq.Header.Add(\"Authorization\", \"Basic REPLACE_BASIC_AUTH\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}" + - lang: Python + source: |- + import http.client + + conn = http.client.HTTPSConnection("flink.region.provider.confluent.cloud") + + headers = { + 'content-type': "application/json-patch+json", + 'Authorization': "Basic REPLACE_BASIC_AUTH" + } + + conn.request("PATCH", "/sql/v1/organizations/{organization_id}/environments/{environment_id}/statements/{statement_name}", headers=headers) + + res = conn.getresponse() + data = res.read() + + print(data.decode("utf-8")) + - lang: Node + source: |- + const http = require("https"); + + const options = { + "method": "PATCH", + "hostname": "flink.region.provider.confluent.cloud", + "port": null, + "path": "/sql/v1/organizations/{organization_id}/environments/{environment_id}/statements/{statement_name}", + "headers": { + "content-type": "application/json-patch+json", + "Authorization": "Basic REPLACE_BASIC_AUTH" + } + }; + + const req = http.request(options, function (res) { + const chunks = []; + + res.on("data", function (chunk) { + chunks.push(chunk); + }); + + res.on("end", function () { + const body = Buffer.concat(chunks); + console.log(body.toString()); + }); + }); + + req.end(); + - lang: C + source: |- + CURL *hnd = curl_easy_init(); + + curl_easy_setopt(hnd, CURLOPT_CUSTOMREQUEST, "PATCH"); + curl_easy_setopt(hnd, CURLOPT_URL, "https://flink.region.provider.confluent.cloud/sql/v1/organizations/{organization_id}/environments/{environment_id}/statements/{statement_name}"); + + struct curl_slist *headers = NULL; + headers = curl_slist_append(headers, "content-type: application/json-patch+json"); + headers = curl_slist_append(headers, "Authorization: Basic REPLACE_BASIC_AUTH"); + curl_easy_setopt(hnd, CURLOPT_HTTPHEADER, headers); + + CURLcode ret = curl_easy_perform(hnd); + - lang: C# + source: |- + var client = new RestClient("https://flink.region.provider.confluent.cloud/sql/v1/organizations/{organization_id}/environments/{environment_id}/statements/{statement_name}"); + var request = new RestRequest(Method.PATCH); + request.AddHeader("content-type", "application/json-patch+json"); + request.AddHeader("Authorization", "Basic REPLACE_BASIC_AUTH"); + IRestResponse response = client.Execute(request); + '/sql/v1/organizations/{organization_id}/environments/{environment_id}/statements/{statement_name}/exceptions': + get: + x-request-access-name: SQL API v1 + operationId: getSqlv1StatementExceptions + summary: List of Statement Exceptions + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + Retrieve a list of the 10 most recent statement exceptions. + parameters: + - in: path + name: organization_id + schema: + type: string + format: uuid + required: true + description: The unique identifier for the organization. + - in: path + name: environment_id + required: true + schema: + type: string + description: The unique identifier for the environment. + - name: statement_name + in: path + required: true + schema: + type: string + description: The unique identifier for the statement. + tags: + - Statement Exceptions (sql/v1) + security: + - resource-api-key: [] + responses: + '200': + description: Statement Exceptions. + content: + application/json: + schema: + $ref: '#/components/schemas/sql.v1.StatementExceptionList' + headers: + X-Request-Id: + schema: + type: string + description: The unique identifier for the API request. + '400': + $ref: '#/components/responses/BadRequestError' + '401': + $ref: '#/components/responses/UnauthenticatedError' + '403': + $ref: '#/components/responses/UnauthorizedError' + '404': + $ref: '#/components/responses/NotFoundError' + '429': + $ref: '#/components/responses/RateLimitError' + '500': + $ref: '#/components/responses/DefaultSystemError' + x-codeSamples: + - lang: Shell + source: |- + curl --request GET \ + --url 'https://flink.region.provider.confluent.cloud/sql/v1/organizations/{organization_id}/environments/{environment_id}/statements/{statement_name}/exceptions' \ + --header 'Authorization: Basic REPLACE_BASIC_AUTH' + - lang: Java + source: |- + OkHttpClient client = new OkHttpClient(); + + Request request = new Request.Builder() + .url("https://flink.region.provider.confluent.cloud/sql/v1/organizations/{organization_id}/environments/{environment_id}/statements/{statement_name}/exceptions") + .get() + .addHeader("Authorization", "Basic REPLACE_BASIC_AUTH") + .build(); + + Response response = client.newCall(request).execute(); + - lang: Go + source: "package main\n\nimport (\n\t\"fmt\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://flink.region.provider.confluent.cloud/sql/v1/organizations/{organization_id}/environments/{environment_id}/statements/{statement_name}/exceptions\"\n\n\treq, _ := http.NewRequest(\"GET\", url, nil)\n\n\treq.Header.Add(\"Authorization\", \"Basic REPLACE_BASIC_AUTH\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}" + - lang: Python + source: |- + import http.client + + conn = http.client.HTTPSConnection("flink.region.provider.confluent.cloud") + + headers = { 'Authorization': "Basic REPLACE_BASIC_AUTH" } + + conn.request("GET", "/sql/v1/organizations/{organization_id}/environments/{environment_id}/statements/{statement_name}/exceptions", headers=headers) + + res = conn.getresponse() + data = res.read() + + print(data.decode("utf-8")) + - lang: Node + source: |- + const http = require("https"); + + const options = { + "method": "GET", + "hostname": "flink.region.provider.confluent.cloud", + "port": null, + "path": "/sql/v1/organizations/{organization_id}/environments/{environment_id}/statements/{statement_name}/exceptions", + "headers": { + "Authorization": "Basic REPLACE_BASIC_AUTH" + } + }; + + const req = http.request(options, function (res) { + const chunks = []; + + res.on("data", function (chunk) { + chunks.push(chunk); + }); + + res.on("end", function () { + const body = Buffer.concat(chunks); + console.log(body.toString()); + }); + }); + + req.end(); + - lang: C + source: |- + CURL *hnd = curl_easy_init(); + + curl_easy_setopt(hnd, CURLOPT_CUSTOMREQUEST, "GET"); + curl_easy_setopt(hnd, CURLOPT_URL, "https://flink.region.provider.confluent.cloud/sql/v1/organizations/{organization_id}/environments/{environment_id}/statements/{statement_name}/exceptions"); + + struct curl_slist *headers = NULL; + headers = curl_slist_append(headers, "Authorization: Basic REPLACE_BASIC_AUTH"); + curl_easy_setopt(hnd, CURLOPT_HTTPHEADER, headers); + + CURLcode ret = curl_easy_perform(hnd); + - lang: C# + source: |- + var client = new RestClient("https://flink.region.provider.confluent.cloud/sql/v1/organizations/{organization_id}/environments/{environment_id}/statements/{statement_name}/exceptions"); + var request = new RestRequest(Method.GET); + request.AddHeader("Authorization", "Basic REPLACE_BASIC_AUTH"); + IRestResponse response = client.Execute(request); diff --git a/providers/src/confluent/v00.00.00000/services/stream_sharing.yaml b/providers/src/confluent/v00.00.00000/services/stream_sharing.yaml new file mode 100644 index 00000000..70e389e8 --- /dev/null +++ b/providers/src/confluent/v00.00.00000/services/stream_sharing.yaml @@ -0,0 +1,7236 @@ +openapi: 3.0.0 +servers: + - url: 'https://api.confluent.cloud' + description: Confluent Cloud API +info: + version: '' + contact: + name: Confluent Cloud + url: 'https://www.confluent.io/cloud-contact-us/' + email: support@confluent.io + x-api-id: 46234552-5833-42eb-ba0f-883ad3f70d2b + x-audience: external-public + x-logo: + url: 'https://assets.confluent.io/m/5ec23aa91903c00b/' + title: Confluent Cloud APIs - stream_sharing + description: stream_sharing +tags: + - name: API Keys (iam/v2) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + `ApiKey` objects represent access to different parts of Confluent Cloud. Some types + of API keys represent access to a single cluster/resource such as a Kafka cluster, + Schema Registry cluster or a ksqlDB cluster. Cloud API Keys represent access to resources within an organization + that are not tied to a specific cluster, such as the Org API, IAM API, Metrics API or Connect API. + + The API allows you to list, create, update and delete your API Keys. + + + Related guide: [API Keys in Confluent Cloud](https://docs.confluent.io/cloud/current/client-apps/api-keys.html). + + ## The API Keys Model + + + ## Quotas and Limits + This resource is subject to the [following quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): + + | Quota | Description | + | --- | --- | + | `apikeys_per_org` | API Keys in one Confluent Cloud organization | + - name: Environments (org/v2) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + `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](https://docs.confluent.io/cloud/current/access-management/environments.html). + + ## The Environments Model + + + ## Quotas and Limits + This resource is subject to the [following quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): + + | Quota | Description | + | --- | --- | + | `environments_per_org` | Environments in one Confluent Cloud organization | + - name: Organizations (org/v2) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + `Organization` objects represent a customer organization. An organization contains all customer + resources (e.g., Environments, Kafka Clusters, Service Accounts, API Keys) and is tied to a billing + agreement (including any annual commitment or support plan). + + The API allows you to list, view, and update your organizations. + + + Related guide: [Organizations for Confluent Cloud](https://docs.confluent.io/cloud/current/access-management/hierarchy/organizations/cloud-organization.html). + + ## The Organizations Model + + + ## Quotas and Limits + This resource is subject to the [following quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): + + | Quota | Description | + | --- | --- | + | `organizations_per_user` | Confluent Cloud organizations a user belongs to | + - name: Users (iam/v2) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + `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](https://docs.confluent.io/cloud/current/access-management/user-account.html). + + ## The Users Model + + + ## Quotas and Limits + This resource is subject to the [following quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): + + | Quota | Description | + | --- | --- | + | `users_per_org` | Users in one Confluent Cloud organization | + - name: Service Accounts (iam/v2) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + `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](https://docs.confluent.io/cloud/current/access-management/service-account.html). + + ## The Service Accounts Model + + + ## Quotas and Limits + This resource is subject to the [following quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): + + | Quota | Description | + | --- | --- | + | `service_accounts_per_org` | Service Accounts in one Confluent Cloud organization | + - name: Invitations (iam/v2) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + `Invitation` objects represent invitations to invite users to join your organizations in Confluent Cloud. + + The API allows you to list all your invitations, as well as create, read, and delete a specified invitation. + + + Related guide: [User invitations in Confluent Cloud](https://docs.confluent.io/cloud/current/access-management/identity/user-accounts.html). + + ## The Invitations Model + + + ## Quotas and Limits + This resource is subject to the [following quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): + + | Quota | Description | + | --- | --- | + | `invitations_per_org` | Invitations in a Confluent Cloud organization | + - name: IP Groups (iam/v2) + description: |- + [![Limited Availability](https://img.shields.io/badge/Lifecycle%20Stage-Limited%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) [![Request Access To IP Groups API](https://img.shields.io/badge/-Request%20Access%20To%20IP%20Groups%20API-%23bc8540)](mailto:cloud-support@confluent.io?subject=Request%20to%20join%20IP%20Filtering%20API%20Limited%20Access&body=I%E2%80%99d%20like%20to%20join%20the%20Confluent%20Cloud%20API%20Limited%20Access%20for%20IP%20Filtering.%0AMy%20Cloud%20Organization%20ID%20is%20%3Cretrieve%20from%20https%3A//confluent.cloud/settings/billing/payment%3E.%0A) + + Definitions of networks which can be named and referred by IP blocks, commonly used to attach to IP Filter rules. + + + ## The IP Groups Model + + - name: IP Filters (iam/v2) + description: |- + [![Limited Availability](https://img.shields.io/badge/Lifecycle%20Stage-Limited%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) [![Request Access To IP Filters API](https://img.shields.io/badge/-Request%20Access%20To%20IP%20Filters%20API-%23bc8540)](mailto:ccloud-api-access+iam-v2-limited-availability@confluent.io?subject=Request%20to%20join%20iam/v2%20API%20Limited%20Availability&body=I%E2%80%99d%20like%20to%20join%20the%20Confluent%20Cloud%20API%20Limited%20Availability%20for%20iam/v2%20to%20provide%20early%20feedback%21%20My%20Cloud%20Organization%20ID%20is%20%3Cretrieve%20from%20https%3A//confluent.cloud/settings/billing/payment%3E.) + + `IP Filter` objects are bindings between IP Groups and Confluent resource(s). + For example, a binding between "CorpNet" and "Management APIs" will enforce that + access must come from one of the CIDR blocks associated with CorpNet. + If there are multiple IP filters bound to a resource, a request matching any of the CIDR blocks + for any of the IP Group will allow the request. + If there are no IP Filters for a resource, then access will be granted to requests originating + from any IP Address. + + + ## The IP Filters Model + + - name: Role Bindings (iam/v2) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + A role binding grants a Principal a role on resources that match a pattern. + + The API allows you to perform create, delete, and list operations on role bindings. + + + Related guide: [Role-Based Access Control (RBAC)](https://docs.confluent.io/cloud/current/access-management/access-control/cloud-rbac.html). + + ## The Role Bindings Model + + - name: Subscriptions (notifications/v1) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + `Subscription` objects represent the intent of the customers to get notifications of particular types. + A subscription is created for a particular `NotificationType` and the user will get notifications on the + `Integrations` that are provided while creating the subscription. + + This API allows you to create, retrieve, and update subscriptions, + as well as to view the list of all your subscriptions. You can also delete subscriptions + with RECOMMENDED or OPTIONAL notification types. Subscriptions with REQUIRED notification types cannot be deleted. + + + Related guide: [Cloud Notifications](https://docs.confluent.io/cloud/current/monitoring/configure-notifications.html#notifications-for-ccloud). + + ## The Subscriptions Model + + - name: Integrations (notifications/v1) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + You can create an `Integration` to specify how we can notify you when we receive an alert/notification for + a subscription. Please note that you can only perform create, update and delete operations for integrations + of type `Webhook`, `Slack` and `MsTeams`. You cannot create, update or delete integrations of type `RoleEmail` + and `UserEmail`. + + + Related guide: [Cloud Notifications](https://docs.confluent.io/cloud/current/monitoring/configure-notifications.html#notifications-for-ccloud). + + ## The Integrations Model + + + ## Quotas and Limits + This resource is subject to the [following quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): + + | Quota | Description | + | --- | --- | + | `integrations_per_org` | Maximum number of integrations in one Confluent Cloud organization | + - name: Notification Types (notifications/v1) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + The type of notifications (and their corresponding metadata) supported by Confluent. + + + Related guide: [Cloud Notifications](https://docs.confluent.io/cloud/current/monitoring/configure-notifications.html#notifications-for-ccloud). + + ## The Notification Types Model + + - name: Clusters (cmk/v2) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + `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](https://docs.confluent.io/cloud/current/clusters/cluster-api.html). + + ## The Clusters Model + + + ## Quotas and Limits + This resource is subject to the [following quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): + + | Quota | Description | + | --- | --- | + | `kafka_clusters_per_environment` | Number of clusters in one Confluent Cloud environment | + - name: Clusters (ksqldbcm/v2) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + `Cluster` represents a ksqlDB runtime that you can issue queries to using its API endpoint. + It executes SQL statements and queries which under the hood get built into corresponding + Kafka Streams topologies. The API allows you to list, create, read, and delete your ksqlDB clusters. + + + Related guide: [ksqlDB in Confluent Cloud](https://docs.confluent.io/cloud/current/ksqldb/ksqldb-cluster-api.html). + + ## The Clusters Model + + + ## Quotas and Limits + This resource is subject to the following quotas: + + | Quota | Description | + | --- | --- | + | `ksql.limits.max_apps_per_cluster` | Clusters in one Confluent Cloud Kafka Cluster. | + - name: Connectors (connect/v1) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + API for Managed Connectors or Custom Connectors in Confluent Cloud. + + The API allows you to list, create, get, update and delete a Managed Connector or Custom Connector in Confluent Cloud. + + Connect metrics are available through the [Metrics v2 API](https://api.telemetry.confluent.cloud/docs#tag/Version-2). + + Related guide: [Confluent Cloud API and Managed Connectors](https://docs.confluent.io/cloud/current/connectors/connect-api-section.html). + - name: Lifecycle (connect/v1) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + API for managing the lifecycle for a Managed Connector or Custom Connector in Confluent Cloud. Operations currently supported are Pause and Resume. + - name: Status (connect/v1) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + API for requesting the status or the tasks for a Managed Connector or Custom Connector in Confluent Cloud. + - name: Managed Connector Plugins (connect/v1) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + API for Managed connectors in Confluent Cloud. + - name: Offsets (connect/v1) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + API for managing the offsets for a Managed Connector. + + Related guide: [Manage Connector Offsets](https://docs.confluent.io/cloud/current/connectors/offsets.html#manage-offsets-for-fully-managed-connectors-in-ccloud) + - name: Custom Connector Plugins (connect/v1) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + CustomConnectorPlugins objects represent Custom Connector Plugins on Confluent Cloud. + The API allows you to list, create, read, update, and delete your Custom Connector Plugins. + Related guide: + [Custom Connector Plugin API](https://docs.confluent.io/cloud/current/connectors/connect-api-section.html). + + + ## The Custom Connector Plugins Model + + - name: Presigned Urls (connect/v1) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + Request a presigned upload URL for new Custom Connector Plugin. Note that + the URL policy expires in one hour. If the policy expires, you can request + a new presigned upload URL. + + Related guide: + [Custom Connector Plugin API](https://docs.confluent.io/cloud/current/connectors/connect-api-section.html). + + + ## The Presigned Urls Model + + - name: Cluster (v3) + description: '[![Generally Available](https://img.shields.io/badge/Lifecycle%20Stage-Generally%20Available-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy)' + - name: Configs (v3) + description: '[![Generally Available](https://img.shields.io/badge/Lifecycle%20Stage-Generally%20Available-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy)' + - name: ACL (v3) + description: '[![Generally Available](https://img.shields.io/badge/Lifecycle%20Stage-Generally%20Available-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy)' + - name: Consumer Group (v3) + description: '[![Generally Available](https://img.shields.io/badge/Lifecycle%20Stage-Generally%20Available-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy)' + - name: Partition (v3) + description: '[![Generally Available](https://img.shields.io/badge/Lifecycle%20Stage-Generally%20Available-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy)' + - name: Topic (v3) + description: '[![Generally Available](https://img.shields.io/badge/Lifecycle%20Stage-Generally%20Available-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy)' + - name: Records (v3) + description: '[![Generally Available](https://img.shields.io/badge/Lifecycle%20Stage-Generally%20Available-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy)' + - name: Cluster Linking (v3) + description: '[![Generally Available](https://img.shields.io/badge/Lifecycle%20Stage-Generally%20Available-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy)' + - name: Applied Quotas (service-quota/v1) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + A `quota` object represents a quota configuration for a specific Confluent Cloud resource. + Use this API to retrieve an individual quota or list of quotas for a given scope. + + + Related guide: [Service Quotas for Confluent Cloud](https://docs.confluent.io/cloud/current/quotas/index.html). + + ## The Applied Quotas Model + + - name: Scopes (service-quota/v1) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + Gets a list of all available scopes for applied quotas. + + + Related guide: [Quota Scopes](https://docs.confluent.io/cloud/current/quotas/quotas.html#query-for-scopes). + + ## The Scopes Model + + - name: Entitlements (partner/v2) + description: | + [![Early Access](https://img.shields.io/badge/Lifecycle%20Stage-Early%20Access-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) [![Request Access To Partner v2](https://img.shields.io/badge/-Request%20Access%20To%20Partner%20v2-%23bc8540)](mailto:ccloud-api-access+partner-v2-early-access@confluent.io?subject=Request%20to%20join%20partner/v2%20API%20Early%20Access&body=I%E2%80%99d%20like%20to%20join%20the%20Confluent%20Cloud%20API%20Early%20Access%20for%20partner/v2%20to%20provide%20early%20feedback%21%20My%20Cloud%20Organization%20ID%20is%20%3Cretrieve%20from%20https%3A//confluent.cloud/settings/billing/payment%3E.) + + `Entitlement` objects represent metadata about a marketplace entitlement. + + An entitlement includes metadata about a marketplace purchase + (start date, end date, billing information, partner IDs, etc). + The API allows partners to create, read, and list entitlements. (Unless you + need entitlement creation and customer registration to be separate, + we recommend using the Signup API to create an organization and entitlement + at the same time) + + The API only allows authorized partners to interact with the Entitlements API. + - name: Regions (srcm/v2) + description: |- + [![Deprecated](https://img.shields.io/badge/Lifecycle%20Stage-Deprecated-%23ff005c)](#section/Versioning/API-Lifecycle-Policy) + + `Region` objects represent cloud provider regions available when placing Schema Registry clusters. + The API allows you to list Schema Registry regions. + + + Related guides: + * [Confluent Cloud providers and region support](https://docs.confluent.io/cloud/current/stream-governance/packages.html#cloud-providers-and-region-support). + * [srcm/v3 Migration Guide](https://docs.confluent.io/cloud/current/stream-governance/packages.html#deprecation-of-srcm-v2-clusters-and-regions-apis-and-upgrade-guide). + + + ## The Regions Model + + - name: Clusters (srcm/v2) + description: |- + [![Deprecated](https://img.shields.io/badge/Lifecycle%20Stage-Deprecated-%23ff005c)](#section/Versioning/API-Lifecycle-Policy) + + `Clusters` objects represent Schema Registry Clusters on Confluent Cloud. + + The API allows you to list, create, read, and delete your Schema Registry clusters. + + + Related guides: + * [Confluent Cloud Schema Registry Cluster APIs](https://docs.confluent.io/cloud/current/stream-governance/clusters-regions-api.html#schema-registry-cluster-management). + * [srcm/v3 Migration Guide](https://docs.confluent.io/cloud/current/stream-governance/packages.html#deprecation-of-srcm-v2-clusters-and-regions-apis-and-upgrade-guide). + + + ## The Clusters Model + + - name: Clusters (srcm/v3) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + `Clusters` objects represent Schema Registry Clusters on Confluent Cloud. + + The API allows you to list and read your Schema Registry clusters. + + + Related guide: [Confluent Cloud Schema Registry Cluster APIs](https://docs.confluent.io/cloud/current/stream-governance/clusters-regions-api.html#schema-registry-cluster-management). + + ## The Clusters Model + + - name: Compatibility (v1) + description: |- + [![Generally Available](https://img.shields.io/badge/Lifecycle%20Stage-Generally%20Available-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + The API allows you to test schema compatibility. + + Related guide: [Manage Schemas in Confluent Cloud](https://docs.confluent.io/cloud/current/sr/schemas-manage.html#manage-schemas-in-ccloud). + - name: Config (v1) + description: |- + [![Generally Available](https://img.shields.io/badge/Lifecycle%20Stage-Generally%20Available-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + The API allows you to manage and query schema compatibility settings and cluster configurations. + + Related guide: [Manage Schemas in Confluent Cloud](https://docs.confluent.io/cloud/current/sr/schemas-manage.html#manage-schemas-in-ccloud). + - name: Contexts (v1) + description: |- + [![Generally Available](https://img.shields.io/badge/Lifecycle%20Stage-Generally%20Available-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + The API allows you to retrieve information about schema contexts. + + Related guide: [Manage Schemas in Confluent Cloud](https://docs.confluent.io/cloud/current/sr/schemas-manage.html#manage-schemas-in-ccloud). + - name: Exporters (v1) + description: |- + [![Generally Available](https://img.shields.io/badge/Lifecycle%20Stage-Generally%20Available-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + The API allows you to create, retrieve, update, and delete exporters. + + Related guide: [Manage Schemas in Confluent Cloud](https://docs.confluent.io/cloud/current/sr/schemas-manage.html#manage-schemas-in-ccloud). + - name: Modes (v1) + description: |- + [![Generally Available](https://img.shields.io/badge/Lifecycle%20Stage-Generally%20Available-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + The API allows you to create, retrieve, update, and delete schema subjects modes of operation. + + Related guide: [Manage Schemas in Confluent Cloud](https://docs.confluent.io/cloud/current/sr/schemas-manage.html#manage-schemas-in-ccloud). + - name: Schemas (v1) + description: |- + [![Generally Available](https://img.shields.io/badge/Lifecycle%20Stage-Generally%20Available-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + The API allows you to create, retrieve, update, and delete schemas. + + Related guide: [Manage Schemas in Confluent Cloud](https://docs.confluent.io/cloud/current/sr/schemas-manage.html#manage-schemas-in-ccloud). + - name: Subjects (v1) + description: |- + [![Generally Available](https://img.shields.io/badge/Lifecycle%20Stage-Generally%20Available-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + The API allows you to create, retrieve, update, and delete schema subjects and versions. + + Related guide: [Manage Schemas in Confluent Cloud](https://docs.confluent.io/cloud/current/sr/schemas-manage.html#manage-schemas-in-ccloud). + - name: Key Encryption Keys (v1) + description: |- + [![Generally Available](https://img.shields.io/badge/Lifecycle%20Stage-Generally%20Available-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + The API allows you to create, retrieve, update, and delete key encryption keys. + + Related guide: [Manage Schemas in Confluent Cloud](https://docs.confluent.io/cloud/current/sr/schemas-manage.html#manage-schemas-in-ccloud). + - name: Data Encryption Keys (v1) + description: |- + [![Generally Available](https://img.shields.io/badge/Lifecycle%20Stage-Generally%20Available-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + The API allows you to create, retrieve, update, and delete data encryption keys. + + Related guide: [Manage Schemas in Confluent Cloud](https://docs.confluent.io/cloud/current/sr/schemas-manage.html#manage-schemas-in-ccloud). + - name: Entity (v1) + description: |- + [![Generally Available](https://img.shields.io/badge/Lifecycle%20Stage-Generally%20Available-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + The API allows you to create, retrieve, update, and delete catalog entities. + + Related guide: [Catalog API Documentation](https://docs.confluent.io/cloud/current/stream-governance/stream-catalog.html#catalog-api-documentation). + - name: Search (v1) + description: |- + [![Generally Available](https://img.shields.io/badge/Lifecycle%20Stage-Generally%20Available-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + The API allows you to search for entities. + + Related guide: [Catalog API Documentation](https://docs.confluent.io/cloud/current/stream-governance/stream-catalog.html#catalog-api-documentation). + - name: Types (v1) + description: |- + [![Generally Available](https://img.shields.io/badge/Lifecycle%20Stage-Generally%20Available-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + The API allows you to create, retrieve, update, and delete catalog types such as tag definitions. + + Related guide: [Catalog API Documentation](https://docs.confluent.io/cloud/current/stream-governance/stream-catalog.html#catalog-api-documentation). + - name: Provider Shared Resources (cdx/v1) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + `ProviderSharedResource` object contains details of the data stream + (topic, schema registry subjects, sharing metadata) that you have shared through Stream Sharing. + + + ## The Provider Shared Resources Model + + - name: Provider Shares (cdx/v1) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + `ProviderShare` object respresents the share that you have created through Stream Sharing. + + + Related guide: [Provider Stream Shares in Confluent Cloud](https://docs.confluent.io/cloud/current/stream-sharing/produce-shared-data.html#stream-shares). + + ## The Provider Shares Model + + - name: Consumer Shared Resources (cdx/v1) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + `ConsumerSharedResource` object contains details of the data stream + (topic, schema registry subjects, sharing metadata) that you received through Stream Sharing. + + + ## The Consumer Shared Resources Model + + - name: Consumer Shares (cdx/v1) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + `ConsumerShare` object respresents the share that you received through Stream Sharing. + + + Related guide: [Consumer Stream Shares in Confluent Cloud](https://docs.confluent.io/cloud/current/stream-sharing/consume-shared-data.html). + + ## The Consumer Shares Model + + - name: Shared Tokens (cdx/v1) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + Encrypted Token shared with consumer + + + ## The Shared Tokens Model + + - name: Opt Ins (cdx/v1) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + Stream sharing opt in options + + ## The Opt Ins Model + + - name: Organizations (partner/v2) + description: | + [![Early Access](https://img.shields.io/badge/Lifecycle%20Stage-Early%20Access-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) [![Request Access To Partner v2](https://img.shields.io/badge/-Request%20Access%20To%20Partner%20v2-%23bc8540)](mailto:ccloud-api-access+partner-v2-early-access@confluent.io?subject=Request%20to%20join%20partner/v2%20API%20Early%20Access&body=I%E2%80%99d%20like%20to%20join%20the%20Confluent%20Cloud%20API%20Early%20Access%20for%20partner/v2%20to%20provide%20early%20feedback%21%20My%20Cloud%20Organization%20ID%20is%20%3Cretrieve%20from%20https%3A//confluent.cloud/settings/billing/payment%3E.) + + `Organizations` objects represent an entire Confluent Cloud organization. + Partners are allowed to get an organization they have signed up or + list all organizations they have signed up. + - name: Signup (partner/v2) + description: | + [![Early Access](https://img.shields.io/badge/Lifecycle%20Stage-Early%20Access-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) [![Request Access To Partner v2](https://img.shields.io/badge/-Request%20Access%20To%20Partner%20v2-%23bc8540)](mailto:ccloud-api-access+partner-v2-early-access@confluent.io?subject=Request%20to%20join%20partner/v2%20API%20Early%20Access&body=I%E2%80%99d%20like%20to%20join%20the%20Confluent%20Cloud%20API%20Early%20Access%20for%20partner/v2%20to%20provide%20early%20feedback%21%20My%20Cloud%20Organization%20ID%20is%20%3Cretrieve%20from%20https%3A//confluent.cloud/settings/billing/payment%3E.) + + `Signup` APIs can only be performed by partners. + - name: Networks (networking/v1) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + `Network` represents a network (VPC) in Confluent Cloud. All Networks exist within Confluent-managed cloud + provider accounts. Dedicated networks support more networking options but can only contain Dedicated clusters. + Shared networks can contain any cluster type. + + The API allows you to list, create, read, update, and delete your networks. + + + Related guide: [APIs to manage networks in Confluent Cloud](https://docs.confluent.io/cloud/current/networking/overview.html). + + ## The Networks Model + + + ## Quotas and Limits + This resource is subject to the [following quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): + + | Quota | Description | + | --- | --- | + | `dedicated_networks_per_environment` | Number of dedicated networks per Confluent Cloud environment | + - name: Peerings (networking/v1) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + Add or remove VPC/VNet peering connections between your VPC/VNet and Confluent Cloud. + + Related guides: + * [Use VPC peering connections with Confluent Cloud on AWS](https://docs.confluent.io/cloud/current/networking/peering/aws-peering.html). + * [Use VNet peering connections with Confluent Cloud on Azure](https://docs.confluent.io/cloud/current/networking/peering/azure-peering.html). + * [Use VPC peering connections with Confluent Cloud on Google Cloud](https://docs.confluent.io/cloud/current/networking/peering/gcp-peering.html). + + + ## The Peerings Model + + + ## Quotas and Limits + This resource is subject to the [following quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): + + | Quota | Description | + | --- | --- | + | `peerings_per_network` | Number of peerings per network | + - name: Transit Gateway Attachments (networking/v1) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + AWS Transit Gateway Attachments + + Related guide: [APIs to manage AWS Transit Gateway Attachments](https://docs.confluent.io/cloud/current/networking/aws-transit-gateway.html). + + ## The Transit Gateway Attachments Model + + + ## Quotas and Limits + This resource is subject to the [following quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): + + | Quota | Description | + | --- | --- | + | `tgw_attachments_per_network` | Number of TGW attachments per network | + - name: Private Link Accesses (networking/v1) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + Add or remove access to PrivateLink endpoints by AWS account, Azure subscription and GCP project ID. + + Related guides: + * [Use Google Cloud Private Service Connect with Confluent Cloud](https://docs.confluent.io/cloud/current/networking/private-links/gcp-private-service-connect.html). + * [Use Azure Private Link with Confluent Cloud](https://docs.confluent.io/cloud/current/networking/private-links/azure-privatelink.html). + * [Use AWS PrivateLink with Confluent Cloud](https://docs.confluent.io/cloud/current/networking/private-links/aws-privatelink.html). + + + ## The Private Link Accesses Model + + + ## Quotas and Limits + This resource is subject to the [following quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): + + | Quota | Description | + | --- | --- | + | `private_link_accounts_per_network` | Number of AWS accounts per network | + | `private_link_subscriptions_per_network` | Number of Azure subscriptions per network | + | `private_service_connect_projects_per_network` | Number of GCP projects per network | + - name: Network Link Services (networking/v1) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + Network Link Service is associated with a Private Link Confluent Cloud Network. + It enables connectivity from other Private Link Confluent Cloud Networks based on + the configured accept policies. + + + Related guide: [Network Linking Overview](https://docs.confluent.io/cloud/current/networking/network-linking.html). + + ## The Network Link Services Model + + + ## Quotas and Limits + This resource is subject to the [following quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): + + | Quota | Description | + | --- | --- | + | `network_link_service_per_network` | Number of network link services per network | + - name: Network Link Endpoints (networking/v1) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + A Network Link Enpoint is associated with a Private Link Confluent Cloud Network at the origin and a + Network Link Service (associated with another Private Link Confluent Cloud Network) at the target. + It enables connectivity between the origin network and the target network. + It can only be associated with a Private Link network. + + + Related guide: [Network Linking Overview](https://docs.confluent.io/cloud/current/networking/network-linking.html). + + ## The Network Link Endpoints Model + + + ## Quotas and Limits + This resource is subject to the [following quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): + + | Quota | Description | + | --- | --- | + | `network_link_endpoints_per_network` | Number of network link endpoints per network | + - name: Network Link Service Associations (networking/v1) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + List of incoming Network Link Enpoints associated with the Network Link Service. + + + Related guide: [Network Linking Overview](https://docs.confluent.io/cloud/current/networking/network-linking.html). + + ## The Network Link Service Associations Model + + - name: Gateways (networking/v1) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + A gateway is a resource that defines network access to Confluent cloud resources. + + + ## The Gateways Model + + - name: IP Addresses (networking/v1) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + IP Addresses + + Related guide: [Use Public Egress IP addresses on Confluent Cloud](https://docs.confluent.io/cloud/current/networking/static-egress-ip-addresses.html) + + ## The IP Addresses Model + + - name: Private Link Attachments (networking/v1) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + PrivateLink attachment objects represent reservations to establish PrivateLink connections + to a cloud region in order to access resources that belong to a Confluent Cloud Environment. + The API allows you to list, create, read update and delete your PrivateLink attachments. + + + ## The Private Link Attachments Model + + + ## Quotas and Limits + This resource is subject to the [following quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): + + | Quota | Description | + | --- | --- | + | `private_link_attachments_per_environment` | Number of PrivateLink Attachments per environment | + - name: Private Link Attachment Connections (networking/v1) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + PrivateLink attachment connection objects represent connections established to a cloud region + in order to access resources that belong to a Confluent Cloud Environment. + The API allows you to list, create, read update and delete your PrivateLink attachment connections. + + + ## The Private Link Attachment Connections Model + + - name: Identity Providers (iam/v2) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + `IdentityProvider` objects represent external OAuth-OIDC providers in Confluent Cloud. + + The API allows you to list, create, read, update, and delete your Identity Provider. + + + Related guide: [OAuth for Confluent Cloud](https://docs.confluent.io/cloud/current/access-management/authenticate/oauth/overview.html). + + ## The Identity Providers Model + + + ## Quotas and Limits + This resource is subject to the [following quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): + + | Quota | Description | + | --- | --- | + | `identity_providers_per_org` | Number of OAuth identity providers per organization | + | `public_keys_per_provider` | Number of public keys saved per identity provider | + - name: Jwks (iam/v2) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + `JWKS` objects represent public key sets for a specific OAuth/OpenID Connect provider within + Confluent Cloud. + + The API allows you to refresh JWKS public key data. + + + Related guide: [OAuth for Confluent Cloud](https://docs.confluent.io/cloud/current/access-management/authenticate/oauth/overview.html). + + ## The Jwks Model + + - name: Identity Pools (iam/v2) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + `IdentityPool` objects represent groups of identities tied to a given a `IdentityProvider` + that authorizes them to Confluent Cloud resources. + + It provides a mapping functionality of your `Identity Provider` user to a Confluent identity pool that + is then used to provide access to Confluent Resources. + + + Related guide: [Use identity pools with your OAuth provider](https://docs.confluent.io/cloud/current/access-management/authenticate/oauth/identity-pools.html). + + ## The Identity Pools Model + + + ## Quotas and Limits + This resource is subject to the [following quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): + + | Quota | Description | + | --- | --- | + | `identity_pools_per_provider` | Number of Identity Pools per Identity Provider | + - name: OAuth Tokens (sts/v1) + description: | + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + OAuth Token is a [JSON Web Token (JWT)](https://www.rfc-editor.org/rfc/rfc7519) that enables the use of + external identities to access Confluent Cloud APIs + - name: Client Quotas (kafka-quotas/v1) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + `ClientQuota` objects represent Client Quotas you can set at the service account level. + + The API allows you to list, create, read, update, and delete your client quotas. + + + Related guide: [Client Quotas in Confluent Cloud](https://docs.confluent.io/cloud/current/clusters/client-quotas.html). + + ## The Client Quotas Model + + - name: Pipelines (sd/v1) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + `Pipeline` objects represent information about a user-defined pipeline of Confluent Cloud components. + The pipeline's content is available separately. + + The API allows you to create, retrieve, update, and delete your pipelines, + as well as list all of your pipelines for the particular environment and Kafka cluster. + + + Related guide: [Pipelines in Confluent Cloud](https://docs.confluent.io/cloud/current/stream-designer/). + + ## The Pipelines Model + + + ## Quotas and Limits + This resource is subject to the [following quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): + + | Quota | Description | + | --- | --- | + | `pipelines_per_org` | Pipelines in one Confluent Cloud organization | + | `pipelines_per_cluster` | Pipelines in one Confluent Cloud Kafka cluster | + - name: Keys (byok/v1) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + `Key` objects represent customer managed keys on dedicated Confluent Cloud clusters. + + Keys are used to protect data at rest stored in your dedicated Confluent Cloud clusters on AWS, Azure, and GCP. + This API allows you to upload and retrieve self-managed keys on Confluent Cloud. + + + Related guide: [Confluent Cloud Bring Your Own Key (BYOK) Management API](https://docs.confluent.io/cloud/current/clusters/byok/index.html). + + ## The Keys Model + + + ## Quotas and Limits + This resource is subject to the [following quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): + + | Quota | Description | + | --- | --- | + | `byok.max_keys.per_org` | BYOK keys in one Confluent Cloud organisation. | + - name: Costs (billing/v1) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + `Cost` objects represent the aggregated billing costs for an organization + + + Related guide: [Retrieve costs for a range of dates](https://docs.confluent.io/cloud/current/billing/overview.html#retrieve-costs-for-a-range-of-dates). + + ## The Costs Model + + - name: Group Mappings (iam/v2/sso) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + `GroupMapping` objects establish relationships between user groups in your SSO + identity provider and specific RBAC roles in Confluent Cloud. + + Group mappings enable automated and secure access control to Confluent Cloud resources, + reducing administrative workload by streamlining user provisioning and authorization. + + + Related guide: [Use group mappings with your SSO identity provider](https://docs.confluent.io/cloud/current/access-management/authenticate/sso/group-mapping/overview.html). + + ## The Group Mappings Model + + + ## Quotas and Limits + This resource is subject to the [following quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): + + | Quota | Description | + | --- | --- | + | `group_mappings_per_org` | Number of group mappings per organization | + - name: Compute Pools (fcpm/v2) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + A Compute Pool represents a set of compute resources that is used to run your Queries. + The resources (CPUs, memory,…) provided by a Compute Pool are shared between all Queries that use it. + + + ## The Compute Pools Model + + - name: Regions (fcpm/v2) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + `Region` objects represent cloud provider regions available when placing Flink compute pools. + The API allows you to list Flink regions. + + + ## The Regions Model + + - name: Statements (sql/v1) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + `Statement` represents a core resource used to model SQL statements for execution. + A statement generalizes DDL, DML, DQL, etc., but doesn’t attempt to handle session + management or any higher-level functionality. + The API allows you to list, create, read, and delete your statements. + ## The Statements Model + + - name: Statement Results (sql/v1) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + `StatementResult` represents a result of a `Statement` resource. + The API allows you to read your statement's results. + ## The Statement Results Model + + - name: Statement Exceptions (sql/v1) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + `StatementException` represents an exception of a `Statement` resource. + The API allows you to read your statement's exceptions. + ## The Statement Exceptions Model + + - name: Connections (sql/v1) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + `Connection` represents a core resource used to model SQL connections for execution. + A connection generalizes DDL, DML, DQL, etc., but doesn’t attempt to handle session + management or any higher-level functionality. + The API allows you to list, create, read, and delete your connections. + ## The Connections Model + + - name: DNS Forwarders (networking/v1) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + Add, remove, and update DNS forwarder for your gateway. + + Related guides: + * [Use VPC peering connections with Confluent Cloud on AWS](https://docs.confluent.io/cloud/current/networking/peering/aws-peering.html). + * [Use VNet peering connections with Confluent Cloud on Azure](https://docs.confluent.io/cloud/current/networking/peering/azure-peering.html). + + + ## The DNS Forwarders Model + + - name: Access Points (networking/v1) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + AccessPoint objects represent network connections in and out of Gateways. + This API allows you to list, create, read, update, and delete your access points. + + + ## The Access Points Model + + - name: DNS Records (networking/v1) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + DNS record objects are associated with Confluent Cloud networking resources. This API allows you to list, create, read, update, and delete your DNS records. + + ## The DNS Records Model + + - name: Certificate Authorities (iam/v2) + description: |- + [![Limited Availability](https://img.shields.io/badge/Lifecycle%20Stage-Limited%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + `CertificateAuthority` objects represent signing certificate authorities in Confluent Cloud. + + The API allows you to list, create, read, update, and delete your Certificate Authority. + + + Related guide: [Manage certificate authorities used for client authentication with X.509 certificates.](https://docs.confluent.io/cloud/current/access-management/authenticate/mtls/overview.html). + + ## The Certificate Authorities Model + + + ## Quotas and Limits + This resource is subject to the [following quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): + + | Quota | Description | + | --- | --- | + | `certificate_authorities_per_org` | Number of certificate authorities per organization | + - name: Certificate Identity Pools (iam/v2) + description: |- + [![Limited Availability](https://img.shields.io/badge/Lifecycle%20Stage-Limited%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + `Identitypool` objects represent workload identities in Confluent Cloud. + + The API allows you to list, create, read, update, and delete your identity pools associated + with Certificate Authorities + + + Related guide: [Manage Certificate Identity Pools for Granular Client Access Management](https://docs.confluent.io/cloud/current/access-management/authenticate/mtls/configure.html#step-2-create-certificate-identity-pools-for-granular-access-control). + + ## The Certificate Identity Pools Model + + + ## Quotas and Limits + This resource is subject to the [following quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): + + | Quota | Description | + | --- | --- | + | `identity_pools_per_certificate_authority` | Number of Identity Pools per Certificate Authority | + - name: Integrations (pim/v1) + description: |- + [![Early Access](https://img.shields.io/badge/Lifecycle%20Stage-Early%20Access-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) [![Request Access To Provider Integration](https://img.shields.io/badge/-Request%20Access%20To%20Provider%20Integration-%23bc8540)](mailto:ccloud-api-access+pim-v1-early-access@confluent.io?subject=Request%20to%20join%20pim/v1%20API%20Early%20Access&body=I%E2%80%99d%20like%20to%20join%20the%20Confluent%20Cloud%20API%20Early%20Access%20for%20pim/v1%20to%20provide%20early%20feedback%21%20My%20Cloud%20Organization%20ID%20is%20%3Cretrieve%20from%20https%3A//confluent.cloud/settings/billing/payment%3E.) + + `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, and delete individual integrations, and also obtain a + list of all your provider integrations. + + + Related guide: [Provider Integration in Confluent Cloud](https://docs.confluent.io/home/overview.html). + + ## The Integrations Model + + - name: Flink Artifacts (artifact/v1) + description: |- + [![Early Access](https://img.shields.io/badge/Lifecycle%20Stage-Early%20Access-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) [![Request Access To Flink Artifact API EA](https://img.shields.io/badge/-Request%20Access%20To%20Flink%20Artifact%20API%20EA-%23bc8540)](mailto:ccloud-api-access+artifact-v1-early-access@confluent.io?subject=Request%20to%20join%20artifact/v1%20API%20Early%20Access&body=I%E2%80%99d%20like%20to%20join%20the%20Confluent%20Cloud%20API%20Early%20Access%20for%20artifact/v1%20to%20provide%20early%20feedback%21%20My%20Cloud%20Organization%20ID%20is%20%3Cretrieve%20from%20https%3A//confluent.cloud/settings/billing/payment%3E.) + + FlinkArtifact objects represent Flink Artifacts on Confluent Cloud. + + + ## The Flink Artifacts Model + + - name: Presigned Urls (artifact/v1) + description: |- + [![Early Access](https://img.shields.io/badge/Lifecycle%20Stage-Early%20Access-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) [![Request Access To Flink Artifact API EA](https://img.shields.io/badge/-Request%20Access%20To%20Flink%20Artifact%20API%20EA-%23bc8540)](mailto:ccloud-api-access+artifact-v1-early-access@confluent.io?subject=Request%20to%20join%20artifact/v1%20API%20Early%20Access&body=I%E2%80%99d%20like%20to%20join%20the%20Confluent%20Cloud%20API%20Early%20Access%20for%20artifact/v1%20to%20provide%20early%20feedback%21%20My%20Cloud%20Organization%20ID%20is%20%3Cretrieve%20from%20https%3A//confluent.cloud/settings/billing/payment%3E.) + + Request a presigned upload URL for new Flink Artifact. Note that + the URL policy expires in one hour. If the policy expires, you can request + a new presigned upload URL. + + + ## The Presigned Urls Model + + - name: Flink Artifact Versions (artifact/v1) + description: |- + [![Early Access](https://img.shields.io/badge/Lifecycle%20Stage-Early%20Access-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) [![Request Access To Flink Artifact API EA](https://img.shields.io/badge/-Request%20Access%20To%20Flink%20Artifact%20API%20EA-%23bc8540)](mailto:ccloud-api-access+artifact-v1-early-access@confluent.io?subject=Request%20to%20join%20artifact/v1%20API%20Early%20Access&body=I%E2%80%99d%20like%20to%20join%20the%20Confluent%20Cloud%20API%20Early%20Access%20for%20artifact/v1%20to%20provide%20early%20feedback%21%20My%20Cloud%20Organization%20ID%20is%20%3Cretrieve%20from%20https%3A//confluent.cloud/settings/billing/payment%3E.) + + FlinkArtifactVersion objects represent Flink Artifact Versions on Confluent Cloud. + + + ## The Flink Artifact Versions Model + +components: + schemas: + SearchFilter: + description: Filter a collection by a string search + type: string + BooleanFilter: + type: boolean + description: Filter for whether this value is true or false. + cdx.v1.ProviderSharedResourceList: + type: object + description: |- + `ProviderSharedResource` object contains details of the data stream + (topic, schema registry subjects, sharing metadata) that you have shared through Stream Sharing. + + + ## The Provider Shared Resources Model + + required: + - api_version + - kind + - metadata + - data + properties: + api_version: + type: string + enum: + - cdx/v1 + 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: + - ProviderSharedResourceList + metadata: + allOf: + - $ref: '#/components/schemas/ListMeta' + - properties: + first: + example: 'https://api.confluent.cloud/cdx/v1/provider-shared-resources' + last: + example: 'https://api.confluent.cloud/cdx/v1/provider-shared-resources?page_token=bcAOehAY8F16YD84Z1wT' + prev: + example: 'https://api.confluent.cloud/cdx/v1/provider-shared-resources?page_token=YIXRY97wWYmwzrax4dld' + next: + example: 'https://api.confluent.cloud/cdx/v1/provider-shared-resources?page_token=UvmDWOB1iwfAIBPj6EYb' + data: + type: array + description: A data property that contains an array of resource items. Each entry in the array is a separate resource. + items: + allOf: + - $ref: '#/components/schemas/cdx.v1.ProviderSharedResource' + - type: object + required: + - id + - metadata + - display_name + - organization_name + - environment_name + - cluster_name + - cloud_cluster + uniqueItems: true + ListMeta: + type: object + description: ListMeta describes metadata that resource collections may have + properties: + first: + description: 'A link to the first page of results. If a response does not contain a first link, then direct navigation to the first page is not supported.' + type: string + 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 + cdx.v1.ProviderSharedResource: + type: object + description: |- + `ProviderSharedResource` object contains details of the data stream + (topic, schema registry subjects, sharing metadata) that you have shared through Stream Sharing. + + + ## The Provider Shared Resources Model + + properties: + api_version: + type: string + enum: + - cdx/v1 + 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: + - ProviderSharedResource + 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 + metadata: + allOf: + - $ref: '#/components/schemas/ObjectMeta' + - properties: + self: + example: 'https://api.confluent.cloud/cdx/v1/provider-shared-resources/psr-12345' + resource_name: + example: 'crn://confluent.cloud/organization=9bb441c4-edef-46ac-8a41-c49e44a3fd9a/provider-shared-resource=psr-12345' + crn: + type: string + description: Deprecated please use resources attribute. + format: uri + pattern: '^crn://.+$' + example: 'crn://confluent.cloud/environment=env-123/cloud-cluster=lkc-1111aaa/kafka=lkc-111aaa/topic=my.topic' + x-immutable: true + resources: + type: array + minItems: 1 + description: List of resource crns that are shared together + items: + type: string + description: crn that specifies the shared resource + format: uri + pattern: '^crn://.+$' + example: 'crn://confluent.cloud/environment=env-123/cloud-cluster=lkc-111aaa/kafka=lkc-111aaa/topic=my.topic' + display_name: + type: string + description: Shared resource display name + example: Stock Trades + description: + type: string + description: Description of shared resource + example: This topic provides realtime data for the orders placed through the website + x-immutable: true + readOnly: true + tags: + type: array + items: + type: string + description: list of tags + example: + - recent + - pending + x-immutable: true + readOnly: true + schemas: + type: array + items: + allOf: + - $ref: '#/components/schemas/cdx.v1.Schema' + - type: object + description: List of schemas in JSON format. This field is work in progress and subject to changes. + x-immutable: true + readOnly: true + organization_description: + type: string + description: Shared resource's organization description + example: ABC Corp is the biggest online retailer + organization_contact: + type: string + format: email + example: jane.doe@example.com + description: Email of contact person from the organization + logo_url: + type: string + format: uri + description: Resource logo url + example: 'https://confluent.cloud/api/cdx/v1/provider-shared-resources/sr-123/images/logo' + readOnly: true + organization_name: + description: Organization to which the shared resource belongs. Deprecated + example: ABC Corp + x-immutable: true + readOnly: true + environment_name: + type: string + description: The environment name of the shared resource. Deprecated + example: Public Env + x-immutable: true + readOnly: true + cluster_name: + type: string + description: The cluster display name of the shared resource. Deprecated + example: Published Trades + x-immutable: true + readOnly: true + cloud_cluster: + allOf: + - $ref: '#/components/schemas/EnvScopedObjectReference' + description: The cloud cluster to which this belongs. + x-immutable: true + AclOperation: + type: string + x-extensible-enum: + - UNKNOWN + - ANY + - ALL + - READ + - WRITE + - CREATE + - DELETE + - ALTER + - DESCRIBE + - CLUSTER_ACTION + - DESCRIBE_CONFIGS + - ALTER_CONFIGS + - IDEMPOTENT_WRITE + AclPatternType: + type: string + x-extensible-enum: + - UNKNOWN + - ANY + - MATCH + - LITERAL + - PREFIXED + AclPermission: + type: string + x-extensible-enum: + - UNKNOWN + - ANY + - DENY + - ALLOW + AclResourceType: + type: string + enum: + - UNKNOWN + - ANY + - TOPIC + - GROUP + - CLUSTER + - TRANSACTIONAL_ID + - DELEGATION_TOKEN + BrokerTaskType: + type: string + enum: + - add-broker + - remove-broker + MirrorTopicStatus: + enum: + - ACTIVE + - FAILED + - LINK_FAILED + - LINK_PAUSED + - PAUSED + - PENDING_STOPPED + - SOURCE_UNAVAILABLE + - STOPPED + - PENDING_MIRROR + - PENDING_SYNCHRONIZE + - PENDING_SETUP_FOR_RESTORE + - PENDING_RESTORE + type: string + Failure: + type: object + description: Provides information about problems encountered while performing an operation. + required: + - errors + properties: + errors: + description: List of errors which caused this operation to fail + type: array + items: + $ref: '#/components/schemas/Error' + uniqueItems: true + AlterConfigBatchRequestData: + type: object + required: + - data + properties: + data: + type: array + items: + type: object + required: + - name + properties: + name: + type: string + value: + type: string + nullable: true + operation: + type: string + x-extensible-enum: + - SET + - DELETE + nullable: true + validate_only: + type: boolean + CreateAclRequestData: + type: object + required: + - resource_type + - resource_name + - pattern_type + - principal + - host + - operation + - permission + properties: + resource_type: + $ref: '#/components/schemas/AclResourceType' + resource_name: + type: string + pattern_type: + $ref: '#/components/schemas/AclPatternType' + principal: + type: string + host: + type: string + operation: + $ref: '#/components/schemas/AclOperation' + permission: + $ref: '#/components/schemas/AclPermission' + CreateAclRequestDataList: + allOf: + - type: object + required: + - data + properties: + data: + type: array + items: + $ref: '#/components/schemas/CreateAclRequestData' + CreateTopicRequestData: + type: object + required: + - topic_name + properties: + topic_name: + type: string + partitions_count: + type: integer + replication_factor: + type: integer + configs: + type: array + items: + type: object + required: + - name + properties: + name: + type: string + value: + type: string + nullable: true + validate_only: + type: boolean + ProduceRequest: + type: object + properties: + partition_id: + type: integer + nullable: true + format: int32 + headers: + type: array + items: + $ref: '#/components/schemas/ProduceRequestHeader' + key: + $ref: '#/components/schemas/ProduceRequestData' + value: + $ref: '#/components/schemas/ProduceRequestData' + timestamp: + type: string + format: date-time + nullable: true + UpdateConfigRequestData: + type: object + properties: + value: + type: string + nullable: true + CreateLinkRequestData: + properties: + source_cluster_id: + type: string + destination_cluster_id: + type: string + remote_cluster_id: + description: The expected remote cluster ID. + type: string + cluster_link_id: + description: 'The expected cluster link ID. Can be provided when creating the second side of a bidirectional link for validating the link ID is as expected. If it''s not provided, it''s inferred from the remote cluster.' + type: string + configs: + items: + $ref: '#/components/schemas/ConfigData' + type: array + type: object + UpdateLinkConfigRequestData: + properties: + value: + type: string + required: + - value + type: object + CreateMirrorTopicRequestData: + properties: + source_topic_name: + type: string + mirror_topic_name: + type: string + replication_factor: + type: integer + configs: + type: array + items: + $ref: '#/components/schemas/ConfigData' + required: + - source_topic_name + type: object + AlterMirrorsRequestData: + properties: + mirror_topic_names: + description: The mirror topics specified as a list of topic names. + type: array + items: + type: string + mirror_topic_name_pattern: + description: The mirror topics specified as a pattern. + type: string + type: object + RemoveBrokersRequestData: + properties: + broker_ids: + type: array + items: + type: integer + required: + - broker_ids + type: object + BrokerReplicaExclusionBatchRequestData: + type: object + required: + - data + properties: + data: + type: array + items: + $ref: '#/components/schemas/BrokerReplicaExclusionRequestData' + ObjectMeta: + description: 'ObjectMeta is metadata that all persisted resources must have, which includes all objects users must create.' + required: + - self + properties: + self: + description: 'Self is a Uniform Resource Locator (URL) at which an object can be addressed. This URL encodes the service location, API version, and other particulars necessary to locate the resource at a point in time' + type: string + format: uri + readOnly: true + example: 'https://api.confluent.cloud/v2/kafka-clusters/lkc-f3a90de' + resource_name: + description: Resource Name is a Uniform Resource Identifier (URI) that is globally unique across space and time. It is represented as a Confluent Resource Name + type: string + format: uri + readOnly: true + example: 'crn://confluent.cloud/kafka=lkc-f3a90de' + created_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: The date and time at which this object was created. It is represented in RFC3339 format and is in UTC. + updated_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: The date and time at which this object was last updated. It is represented in RFC3339 format and is in UTC. + deleted_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: The date and time at which this object was (or will be) deleted. It is represented in RFC3339 format and is in UTC. + readOnly: true + cdx.v1.Schema: + type: object + properties: + subject: + type: string + description: Name of the subject + example: User + version: + type: integer + description: Version number + format: int32 + example: 1 + id: + type: integer + description: Globally unique identifier of the schema + format: int32 + example: 100001 + schema_type: + type: string + description: Schema type + example: AVRO + schema: + type: string + description: Schema definition string + example: '{"schema": "{"type": "string"}"}' + description: Schema + EnvScopedObjectReference: + 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 + Error: + type: object + description: Describes a particular error encountered while performing an operation. + properties: + id: + description: A unique identifier for this particular occurrence of the problem. + type: string + maxLength: 255 + status: + description: 'The HTTP status code applicable to this problem, expressed as a string value.' + type: string + code: + description: 'An application-specific error code, expressed as a string value.' + type: string + title: + description: 'A short, human-readable summary of the problem. It **SHOULD NOT** change from occurrence to occurrence of the problem, except for purposes of localization.' + type: string + detail: + description: A human-readable explanation specific to this occurrence of the problem. + type: string + source: + type: object + description: 'If this error was caused by a particular part of the API request, the source will point to the query string parameter or request body property that caused it.' + properties: + pointer: + description: 'A JSON Pointer [RFC6901] to the associated entity in the request document [e.g. "/spec" for a spec object, or "/spec/title" for a specific field].' + type: string + parameter: + description: A string indicating which query parameter caused the error. + type: string + error_code: + type: integer + format: int32 + message: + type: string + nullable: true + additionalProperties: false + ProduceRequestHeader: + type: object + required: + - name + properties: + name: + type: string + value: + type: string + format: byte + nullable: true + ProduceRequestData: + type: object + properties: + type: + type: string + x-extensible-enum: + - BINARY + - JSON + - STRING + data: + $ref: '#/components/schemas/AnyValue' + nullable: true + ConfigData: + example: + name: name + value: value + properties: + name: + type: string + value: + nullable: true + type: string + required: + - name + - value + BrokerReplicaExclusionRequestData: + type: object + required: + - broker_id + - reason + properties: + broker_id: + type: integer + reason: + type: string + AnyValue: + nullable: true + cdx.v1.ProviderSharedResourceUpdate: + type: object + description: |- + `ProviderSharedResource` object contains details of the data stream + (topic, schema registry subjects, sharing metadata) that you have shared through Stream Sharing. + + + ## The Provider Shared Resources Model + + properties: + api_version: + type: string + enum: + - cdx/v1 + 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: + - ProviderSharedResource + 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 + metadata: + allOf: + - $ref: '#/components/schemas/ObjectMeta' + - properties: + self: + example: 'https://api.confluent.cloud/cdx/v1/provider-shared-resources/psr-12345' + resource_name: + example: 'crn://confluent.cloud/organization=9bb441c4-edef-46ac-8a41-c49e44a3fd9a/provider-shared-resource=psr-12345' + resources: + type: array + minItems: 1 + description: List of resource crns that are shared together + items: + type: string + description: crn that specifies the shared resource + format: uri + pattern: '^crn://.+$' + example: 'crn://confluent.cloud/environment=env-123/cloud-cluster=lkc-111aaa/kafka=lkc-111aaa/topic=my.topic' + display_name: + type: string + description: Shared resource display name + example: Stock Trades + organization_description: + type: string + description: Shared resource's organization description + example: ABC Corp is the biggest online retailer + organization_contact: + type: string + format: email + example: jane.doe@example.com + description: Email of contact person from the organization + logo_url: + type: string + format: uri + description: Resource logo url + example: 'https://confluent.cloud/api/cdx/v1/provider-shared-resources/sr-123/images/logo' + readOnly: true + cdx.v1.ProviderShareList: + type: object + description: |- + `ProviderShare` object respresents the share that you have created through Stream Sharing. + + + Related guide: [Provider Stream Shares in Confluent Cloud](https://docs.confluent.io/cloud/current/stream-sharing/produce-shared-data.html#stream-shares). + + ## The Provider Shares Model + + required: + - api_version + - kind + - metadata + - data + properties: + api_version: + type: string + enum: + - cdx/v1 + 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: + - ProviderShareList + metadata: + allOf: + - $ref: '#/components/schemas/ListMeta' + - properties: + first: + example: 'https://api.confluent.cloud/cdx/v1/provider-shares' + last: + example: 'https://api.confluent.cloud/cdx/v1/provider-shares?page_token=bcAOehAY8F16YD84Z1wT' + prev: + example: 'https://api.confluent.cloud/cdx/v1/provider-shares?page_token=YIXRY97wWYmwzrax4dld' + next: + example: 'https://api.confluent.cloud/cdx/v1/provider-shares?page_token=UvmDWOB1iwfAIBPj6EYb' + data: + type: array + description: A data property that contains an array of resource items. Each entry in the array is a separate resource. + items: + allOf: + - $ref: '#/components/schemas/cdx.v1.ProviderShare' + - type: object + required: + - id + - metadata + - provider_user_name + - delivery_method + - invited_at + - invite_expires_at + - provider_user + - cloud_cluster + - status + uniqueItems: true + cdx.v1.ProviderShare: + type: object + description: |- + `ProviderShare` object respresents the share that you have created through Stream Sharing. + + + Related guide: [Provider Stream Shares in Confluent Cloud](https://docs.confluent.io/cloud/current/stream-sharing/produce-shared-data.html#stream-shares). + + ## The Provider Shares Model + + properties: + api_version: + type: string + enum: + - cdx/v1 + 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: + - ProviderShare + 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 + metadata: + allOf: + - $ref: '#/components/schemas/ObjectMeta' + - properties: + self: + example: 'https://api.confluent.cloud/cdx/v1/provider-shares/ps-12345' + resource_name: + example: 'crn://confluent.cloud/organization=9bb441c4-edef-46ac-8a41-c49e44a3fd9a/provider-share=ps-12345' + consumer_user_name: + type: string + description: Name of the consumer + example: John Doe + readOnly: true + consumer_organization_name: + type: string + description: Consumer organization name + example: Nasdaq + readOnly: true + provider_user_name: + type: string + description: Name or email of the provider user. Deprecated + example: Jane Doe + readOnly: true + delivery_method: + description: Method by which the invite will be delivered + type: string + x-extensible-enum: + - EMAIL + example: EMAIL + x-immutable: true + consumer_restriction: + description: Restrictions on the consumer that can redeem this token + discriminator: + propertyName: kind + mapping: + Email: '#/components/schemas/cdx.v1.EmailConsumerRestriction' + oneOf: + - $ref: '#/components/schemas/cdx.v1.EmailConsumerRestriction' + x-immutable: true + invited_at: + type: string + format: date-time + description: The date and time at which consumer was invited + example: '2006-01-02T15:04:05-07:00' + readOnly: true + invite_expires_at: + type: string + format: date-time + description: The date and time at which the invitation will expire. Only for invited shares + example: '2006-01-02T15:04:05-07:00' + readOnly: true + redeemed_at: + type: string + format: date-time + description: The date and time at which the invite was redeemed + example: '2006-01-02T15:04:05-07:00' + readOnly: true + provider_user: + allOf: + - $ref: '#/components/schemas/GlobalObjectReference' + description: The provider user/inviter + readOnly: true + service_account: + allOf: + - $ref: '#/components/schemas/GlobalObjectReference' + description: The service account associated with this object. + x-immutable: true + cloud_cluster: + allOf: + - $ref: '#/components/schemas/EnvScopedObjectReference' + description: The cloud cluster to which this belongs. + x-immutable: true + status: + $ref: '#/components/schemas/cdx.v1.ProviderShareStatus' + cdx.v1.EmailConsumerRestriction: + type: object + description: Consumer restrictions limits by authenticated user's email + required: + - kind + - email + properties: + kind: + description: The resource kind + type: string + enum: + - Email + email: + type: string + format: email + description: Email based matching for the consumers + GlobalObjectReference: + type: object + description: ObjectReference provides information for you to locate the referred object + required: + - id + - related + - resource_name + properties: + id: + type: string + description: ID of the referred resource + minLength: 1 + maxLength: 255 + related: + type: string + format: uri + description: API URL for accessing or modifying the referred object + minLength: 1 + readOnly: true + resource_name: + type: string + format: uri + description: CRN reference to the referred resource + minLength: 1 + readOnly: true + cdx.v1.ProviderShareStatus: + type: object + required: + - phase + description: The status of the Provider Share + properties: + phase: + type: string + x-extensible-enum: + - INVITED + - EXPIRED + - ACTIVE + - DEACTIVATED + description: Status of share + example: ACTIVE + readOnly: true + readOnly: true + cdx.v1.CreateProviderShareRequest: + type: object + description: Create share request + properties: + api_version: + type: string + enum: + - cdx/v1 + 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: + - CreateProviderShareRequest + 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 + metadata: + allOf: + - $ref: '#/components/schemas/ObjectMeta' + - properties: + self: + example: 'https://api.confluent.cloud/cdx/v1/create-provider-share-requests/cpsr-12345' + resource_name: + example: 'crn://confluent.cloud/organization=9bb441c4-edef-46ac-8a41-c49e44a3fd9a/create-provider-share-request=cpsr-12345' + delivery_method: + type: string + description: Method by which the invite will be delivered + x-extensible-enum: + - EMAIL + example: EMAIL + consumer_restriction: + description: Restrictions on the consumer that can redeem this token + discriminator: + propertyName: kind + mapping: + Email: '#/components/schemas/cdx.v1.EmailConsumerRestriction' + oneOf: + - $ref: '#/components/schemas/cdx.v1.EmailConsumerRestriction' + resources: + type: array + minItems: 1 + description: List of resource crns to be shared + items: + type: string + description: crn that specifies the sharedresource + format: uri + pattern: '^crn://.+$' + example: 'crn://confluent.cloud/environment=env-123/cloud-cluster=lkc-111aaa/kafka=lkc-111aaa/topic=my.topic' + cdx.v1.ConsumerSharedResourceList: + type: object + description: |- + `ConsumerSharedResource` object contains details of the data stream + (topic, schema registry subjects, sharing metadata) that you received through Stream Sharing. + + + ## The Consumer Shared Resources Model + + required: + - api_version + - kind + - metadata + - data + properties: + api_version: + type: string + enum: + - cdx/v1 + 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: + - ConsumerSharedResourceList + metadata: + allOf: + - $ref: '#/components/schemas/ListMeta' + - properties: + first: + example: 'https://api.confluent.cloud/cdx/v1/consumer-shared-resources' + last: + example: 'https://api.confluent.cloud/cdx/v1/consumer-shared-resources?page_token=bcAOehAY8F16YD84Z1wT' + prev: + example: 'https://api.confluent.cloud/cdx/v1/consumer-shared-resources?page_token=YIXRY97wWYmwzrax4dld' + next: + example: 'https://api.confluent.cloud/cdx/v1/consumer-shared-resources?page_token=UvmDWOB1iwfAIBPj6EYb' + data: + type: array + description: A data property that contains an array of resource items. Each entry in the array is a separate resource. + items: + allOf: + - $ref: '#/components/schemas/cdx.v1.ConsumerSharedResource' + - type: object + required: + - id + - metadata + - cloud + - display_name + - organization_name + uniqueItems: true + cdx.v1.ConsumerSharedResource: + type: object + description: |- + `ConsumerSharedResource` object contains details of the data stream + (topic, schema registry subjects, sharing metadata) that you received through Stream Sharing. + + + ## The Consumer Shared Resources Model + + properties: + api_version: + type: string + enum: + - cdx/v1 + 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: + - ConsumerSharedResource + 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 + metadata: + allOf: + - $ref: '#/components/schemas/ObjectMeta' + - properties: + self: + example: 'https://api.confluent.cloud/cdx/v1/consumer-shared-resources/csr-12345' + resource_name: + example: 'crn://confluent.cloud/organization=9bb441c4-edef-46ac-8a41-c49e44a3fd9a/consumer-shared-resource=csr-12345' + cloud: + type: string + description: The cloud service provider of the provider shared cluster. + x-extensible-enum: + - AWS + - AZURE + - GCP + example: AWS + x-immutable: true + readOnly: true + network_connection_types: + type: array + description: | + The network connection types of the provider shared cluster. If the shared cluster is on public internet, + then the list will be empty + items: + $ref: '#/components/schemas/cdx.v1.ConnectionType' + uniqueItems: true + x-immutable: true + readOnly: true + display_name: + type: string + description: Consumer resource display name + example: Stock Trades + x-immutable: true + readOnly: true + description: + type: string + description: Description of consumer resource + example: This topic provides realtime data for the orders placed through the website + x-immutable: true + readOnly: true + tags: + type: array + items: + type: string + description: list of tags + example: + - recent + - pending + x-immutable: true + readOnly: true + schemas: + type: array + items: + allOf: + - $ref: '#/components/schemas/cdx.v1.Schema' + - type: object + description: List of schemas in JSON format. This field is work in progress and subject to changes. + x-immutable: true + readOnly: true + organization_name: + type: string + description: Shared resource's organization name + example: ABC Corp + x-immutable: true + readOnly: true + organization_description: + type: string + description: Shared resource's organization description + example: ABC Corp is the biggest online retailer + x-immutable: true + readOnly: true + organization_contact: + type: string + format: email + example: jane.doe@example.com + description: Email of the shared resource's organization contact + x-immutable: true + readOnly: true + logo_url: + type: string + format: uri + description: Resource logo url + example: 'https://confluent.cloud/api/cdx/v1/consumer-shared-resources/sr-123/images/logo' + x-immutable: true + readOnly: true + cdx.v1.ConnectionType: + type: string + description: Network connection type. + x-extensible-enum: + - PRIVATELINK + example: PRIVATELINK + cdx.v1.Network: + type: object + description: The shared cluster's network configurations for consumer to setup private link + properties: + api_version: + type: string + enum: + - cdx/v1 + 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: + - Network + 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 + metadata: + allOf: + - $ref: '#/components/schemas/ObjectMeta' + - properties: + self: + example: 'https://api.confluent.cloud/cdx/v1/networks/n-12345' + resource_name: + example: 'crn://confluent.cloud/organization=9bb441c4-edef-46ac-8a41-c49e44a3fd9a/environment=env-abc123/network=n-12345' + kafka_bootstrap_url: + type: string + format: uri + description: The kafka cluster bootstrap url + example: 'SASL://pkc-xxxxx.us-west-2.aws.confluent.cloud:9092' + x-immutable: true + readOnly: true + zones: + type: array + items: + type: string + uniqueItems: true + minItems: 3 + maxItems: 3 + description: | + The 3 availability zones for this network. They can optionally be specified for AWS networks + used with PrivateLink. Otherwise, they are automatically chosen by Confluent Cloud. + + On AWS, zones are AWS [AZ IDs](https://docs.aws.amazon.com/ram/latest/userguide/working-with-az-ids.html) + (e.g. use1-az3) + + On GCP, zones are GCP [zones](https://cloud.google.com/compute/docs/regions-zones) + (e.g. us-central1-c). + + On Azure, zones are Confluent-chosen names (e.g. 1, 2, 3) since Azure does not + have universal zone identifiers. + example: + - use1-az1 + - use1-az2 + - use1-az3 + x-immutable: true + dns_domain: + type: string + description: The root DNS domain for the network if applicable. + example: 00000.us-east-1.aws.glb.confluent.cloud + readOnly: true + zonal_subdomains: + type: object + additionalProperties: + type: string + description: | + The DNS subdomain for each zone. Present on networks that support PrivateLink. Keys are zones and + values are DNS domains. + example: + use1-az1: use1-az1.00000.us-east-1.aws.confluent.cloud + use1-az4: use1-az4.00000.us-east-1.aws.confluent.cloud + use1-az5: use1-az5.00000.us-east-1.aws.confluent.cloud + readOnly: true + cloud: + oneOf: + - $ref: '#/components/schemas/cdx.v1.AwsNetwork' + - $ref: '#/components/schemas/cdx.v1.AzureNetwork' + - $ref: '#/components/schemas/cdx.v1.GcpNetwork' + description: The cloud-specific network details. These will be populated when the network reaches the READY state. + discriminator: + propertyName: kind + mapping: + AwsNetwork: '#/components/schemas/cdx.v1.AwsNetwork' + AzureNetwork: '#/components/schemas/cdx.v1.AzureNetwork' + GcpNetwork: '#/components/schemas/cdx.v1.GcpNetwork' + readOnly: true + cdx.v1.AwsNetwork: + type: object + description: The AWS network details. + required: + - kind + properties: + kind: + description: Network kind type. + type: string + enum: + - AwsNetwork + private_link_endpoint_service: + type: string + description: The AWS VPC endpoint service for the network (used for PrivateLink) if available. + example: com.amazonaws.vpce.eu-west-3.vpce-00000000000000000 + readOnly: true + cdx.v1.AzureNetwork: + type: object + description: The Azure network details. + required: + - kind + properties: + kind: + description: Network kind type. + type: string + enum: + - AzureNetwork + private_link_service_aliases: + type: object + description: | + The mapping of zones to PrivateLink Service Aliases if available. Keys are zones + and values are [Azure PrivateLink Service + Aliases](https://docs.microsoft.com/en-us/azure/private-link/private-link-service-overview#share-your-service) + additionalProperties: + type: string + example: + '1': 0-00000-privatelink-1.00000000-0000-0000-0000-000000000000.westeurope.azure.privatelinkservice + '2': 0-00000-privatelink-2.00000000-0000-0000-0000-000000000000.westeurope.azure.privatelinkservice + '3': 0-00000-privatelink-3.00000000-0000-0000-0000-000000000000.westeurope.azure.privatelinkservice + readOnly: true + cdx.v1.GcpNetwork: + type: object + description: The GCP network details. + required: + - kind + properties: + kind: + description: Network kind type. + type: string + enum: + - GcpNetwork + private_service_connect_service_attachments: + type: object + description: | + The mapping of zones to Private Service Connect Service + Attachments if available. Keys are zones and values are + [GCP Private Service Connect Service + Attachment](https://cloud.google.com/vpc/docs/configure-private-service-connect-producer#api_7) + additionalProperties: + type: string + example: + us-central1-a: projects/cc-prod/regions/us-central1/serviceAttachments/s-7jjm9-service-attachment-us-central1-a + us-central1-b: projects/cc-prod/regions/us-central1/serviceAttachments/s-7jjm9-service-attachment-us-central1-b + us-central1-c: projects/cc-prod/regions/us-central1/serviceAttachments/s-7jjm9-service-attachment-us-central1-c + readOnly: true + cdx.v1.ConsumerShareList: + type: object + description: |- + `ConsumerShare` object respresents the share that you received through Stream Sharing. + + + Related guide: [Consumer Stream Shares in Confluent Cloud](https://docs.confluent.io/cloud/current/stream-sharing/consume-shared-data.html). + + ## The Consumer Shares Model + + required: + - api_version + - kind + - metadata + - data + properties: + api_version: + type: string + enum: + - cdx/v1 + 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: + - ConsumerShareList + metadata: + allOf: + - $ref: '#/components/schemas/ListMeta' + - properties: + first: + example: 'https://api.confluent.cloud/cdx/v1/consumer-shares' + last: + example: 'https://api.confluent.cloud/cdx/v1/consumer-shares?page_token=bcAOehAY8F16YD84Z1wT' + prev: + example: 'https://api.confluent.cloud/cdx/v1/consumer-shares?page_token=YIXRY97wWYmwzrax4dld' + next: + example: 'https://api.confluent.cloud/cdx/v1/consumer-shares?page_token=UvmDWOB1iwfAIBPj6EYb' + data: + type: array + description: A data property that contains an array of resource items. Each entry in the array is a separate resource. + items: + allOf: + - $ref: '#/components/schemas/cdx.v1.ConsumerShare' + - type: object + required: + - id + - metadata + - provider_organization_name + - provider_user_name + - consumer_user + - status + uniqueItems: true + cdx.v1.ConsumerShare: + type: object + description: |- + `ConsumerShare` object respresents the share that you received through Stream Sharing. + + + Related guide: [Consumer Stream Shares in Confluent Cloud](https://docs.confluent.io/cloud/current/stream-sharing/consume-shared-data.html). + + ## The Consumer Shares Model + + properties: + api_version: + type: string + enum: + - cdx/v1 + 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: + - ConsumerShare + 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 + metadata: + allOf: + - $ref: '#/components/schemas/ObjectMeta' + - properties: + self: + example: 'https://api.confluent.cloud/cdx/v1/consumer-shares/cs-12345' + resource_name: + example: 'crn://confluent.cloud/organization=9bb441c4-edef-46ac-8a41-c49e44a3fd9a/consumer-share=cs-12345' + provider_organization_name: + type: string + description: Provider organization name + example: Nasdaq + readOnly: true + provider_user_name: + type: string + description: Name or email of the provider user + example: Jane Doe + readOnly: true + invite_expires_at: + type: string + format: date-time + description: The date and time at which the invitation will expire. Only for invited shares + example: '2006-01-02T15:04:05-07:00' + readOnly: true + consumer_organization_name: + type: string + description: Consumer organization name. Deprecated + example: Nasdaq + readOnly: true + consumer_user_name: + type: string + description: Name of the consumer. Deprecated + example: John Doe + readOnly: true + consumer_user: + allOf: + - $ref: '#/components/schemas/GlobalObjectReference' + description: The consumer user/invitee + readOnly: true + status: + $ref: '#/components/schemas/cdx.v1.ConsumerShareStatus' + cdx.v1.ConsumerShareStatus: + type: object + required: + - phase + description: The status of the Consumer Share + properties: + phase: + type: string + description: Status of share + x-extensible-enum: + - INVITED + - EXPIRED + - ACTIVE + - DEACTIVATED + example: ACTIVE + readOnly: true + readOnly: true + cdx.v1.SharedToken: + type: object + description: |- + Encrypted Token shared with consumer + + + ## The Shared Tokens Model + + properties: + api_version: + type: string + enum: + - cdx/v1 + 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: + - SharedToken + 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 + metadata: + allOf: + - $ref: '#/components/schemas/ObjectMeta' + - properties: + self: + example: 'https://api.confluent.cloud/cdx/v1/shared-tokens/st-12345' + resource_name: + example: 'crn://confluent.cloud/organization=9bb441c4-edef-46ac-8a41-c49e44a3fd9a/shared-token=st-12345' + token: + type: string + description: The encrypted token + cdx.v1.RedeemTokenRequest: + type: object + description: Redeem share with token request parameters + properties: + api_version: + type: string + enum: + - cdx/v1 + 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: + - RedeemTokenRequest + 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 + metadata: + allOf: + - $ref: '#/components/schemas/ObjectMeta' + - properties: + self: + example: 'https://api.confluent.cloud/cdx/v1/redeem-token-requests/rtr-12345' + resource_name: + example: 'crn://confluent.cloud/organization=9bb441c4-edef-46ac-8a41-c49e44a3fd9a/redeem-token-request=rtr-12345' + token: + type: string + description: The encrypted token + aws_account: + type: string + description: Consumer's AWS account ID for PrivateLink access. + example: '000000000000' + azure_subscription: + type: string + description: Consumer's Azure subscription ID for PrivateLink access. + example: 00000000-0000-0000-0000-000000000000 + gcp_project: + type: string + minLength: 1 + description: Consumer's GCP project ID for Private Service Connect access. + cdx.v1.RedeemTokenResponse: + type: object + description: Share details for the consumer org or user + properties: + api_version: + type: string + enum: + - cdx/v1 + 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: + - RedeemTokenResponse + 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 + metadata: + allOf: + - $ref: '#/components/schemas/ObjectMeta' + - properties: + self: + example: 'https://api.confluent.cloud/cdx/v1/redeem-token-responses/rtr-12345' + resource_name: + example: 'crn://confluent.cloud/organization=9bb441c4-edef-46ac-8a41-c49e44a3fd9a/redeem-token-response=rtr-12345' + api_key: + type: string + description: The api key + readOnly: true + secret: + type: string + description: The api key secret + x-redact: true + readOnly: true + kafka_bootstrap_url: + type: string + format: uri + description: The kafka cluster bootstrap url + example: 'SASL://pkc-xxxxx.us-west-2.aws.confluent.cloud:9092' + x-immutable: true + readOnly: true + schema_registry_api_key: + type: string + description: The api key for schema registry + readOnly: true + schema_registry_secret: + type: string + description: The api key secret for schema registry + x-redact: true + readOnly: true + schema_registry_url: + type: string + format: uri + description: The schema registry endpoint url + example: 'https://psrc-xxxxx.us-west-2.aws.confluent.cloud' + x-immutable: true + readOnly: true + resources: + type: array + minItems: 1 + description: List of shared resources + items: + type: object + discriminator: + propertyName: kind + mapping: + Topic: '#/components/schemas/cdx.v1.SharedTopic' + Group: '#/components/schemas/cdx.v1.SharedGroup' + Subject: '#/components/schemas/cdx.v1.SharedSubject' + oneOf: + - $ref: '#/components/schemas/cdx.v1.SharedTopic' + - $ref: '#/components/schemas/cdx.v1.SharedGroup' + - $ref: '#/components/schemas/cdx.v1.SharedSubject' + cdx.v1.SharedTopic: + type: object + description: The shared resource details + required: + - kind + - topic + properties: + kind: + description: The shared resource kind + type: string + enum: + - Topic + topic: + type: string + description: The topic name + cdx.v1.SharedGroup: + type: object + description: The shared consumer group + required: + - kind + - group_prefix + properties: + kind: + description: The resource kind + type: string + enum: + - Group + group_prefix: + type: string + description: The consumer group prefix + cdx.v1.SharedSubject: + type: object + description: The shared resource details + required: + - kind + - subject + properties: + kind: + description: The shared resource kind + type: string + enum: + - Subject + subject: + type: string + description: The subject name + cdx.v1.OptIn: + type: object + description: |- + Stream sharing opt in options + + ## The Opt Ins Model + + properties: + api_version: + type: string + enum: + - cdx/v1 + 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: + - OptIn + stream_share_enabled: + type: boolean + description: Enable stream sharing for the organization + parameters: + AclHost: + name: host + description: The ACL host. + in: query + required: false + schema: + type: string + AclOperation: + name: operation + description: The ACL operation. + in: query + required: false + schema: + $ref: '#/components/schemas/AclOperation' + AclOperationRequired: + name: operation + description: The ACL operation. + in: query + required: true + schema: + $ref: '#/components/schemas/AclOperation' + AclPatternType: + name: pattern_type + description: The ACL pattern type. + in: query + required: false + schema: + $ref: '#/components/schemas/AclPatternType' + AclPatternTypeRequired: + name: pattern_type + description: The ACL pattern type. + in: query + required: true + schema: + $ref: '#/components/schemas/AclPatternType' + AclPermission: + name: permission + description: The ACL permission. + in: query + required: false + schema: + $ref: '#/components/schemas/AclPermission' + AclPermissionRequired: + name: permission + description: The ACL permission. + in: query + required: true + schema: + $ref: '#/components/schemas/AclPermission' + AclPrincipal: + name: principal + description: The ACL principal. This is the Service Account name or user name. + in: query + required: false + schema: + type: string + AclResourceName: + name: resource_name + description: The ACL resource name. + in: query + required: false + schema: + type: string + AclResourceType: + name: resource_type + description: The ACL resource type. + in: query + required: false + schema: + $ref: '#/components/schemas/AclResourceType' + AclResourceTypeRequired: + name: resource_type + description: The ACL resource type. + in: query + required: true + schema: + $ref: '#/components/schemas/AclResourceType' + BrokerId: + name: broker_id + description: The Kafka broker ID. + in: path + required: true + schema: + type: integer + example: 1 + ClusterId: + name: cluster_id + description: The Kafka cluster ID. + in: path + required: true + schema: + type: string + example: cluster-1 + ConfigName: + name: name + description: The configuration parameter name. + in: path + required: true + schema: + type: string + example: compression.type + ConsumerGroupId: + name: consumer_group_id + description: The consumer group ID. + in: path + required: true + schema: + type: string + example: consumer-group-1 + ConsumerId: + name: consumer_id + description: The consumer ID. + in: path + required: true + schema: + type: string + example: consumer-1 + IncludeAuthorizedOperations: + name: include_authorized_operations + description: Specify if authorized operations should be included in the response. + in: query + required: false + schema: + type: boolean + PartitionId: + name: partition_id + description: The partition ID. + in: path + required: true + schema: + type: integer + example: 0 + TopicName: + name: topic_name + description: The topic name. + in: path + required: true + schema: + type: string + example: topic-1 + BrokerTaskType: + name: task_type + description: The Kafka broker task type. + in: path + required: true + schema: + $ref: '#/components/schemas/BrokerTaskType' + example: remove-broker + ShouldShutdown: + name: should_shutdown + description: 'To shutdown the broker or not, Default: true' + in: query + required: false + schema: + type: boolean + example: true + ValidateOnly: + name: validate_only + description: 'To validate the action can be performed successfully or not. Default: false' + in: query + required: false + schema: + type: boolean + example: false + ValidateLink: + name: validate_link + description: 'To synchronously validate that the source cluster ID is expected and the dest cluster has the permission to read topics in the source cluster. Default: true' + in: query + required: false + schema: + type: boolean + example: false + IncludeTasks: + name: include_tasks + description: 'Whether to include cluster linking tasks in the response. Default: false' + in: query + required: false + schema: + type: boolean + example: false + IncludeStateTransitionErrors: + name: include_state_transition_errors + description: 'Whether to include mirror state transition errors in the response. Default: false' + in: query + required: false + schema: + type: boolean + example: false + Force: + name: force + description: 'Force the action. Default: false' + in: query + required: false + schema: + type: boolean + example: false + IncludePartitionLevelTruncationData: + name: include_partition_level_truncation_data + description: 'Whether to include partition level truncation information when truncating and restoring a topic in the response. Default: false' + in: query + required: false + schema: + type: boolean + example: false + LinkName: + name: link_name + description: The link name + in: path + required: true + schema: + type: string + example: link-sb1 + LinkConfigName: + name: config_name + description: The link config name + in: path + required: true + schema: + type: string + example: consumer.offset.sync.enable + MirrorTopicStatus: + name: mirror_status + description: 'The status of the mirror topic. If not specified, all mirror topics will be returned.' + in: query + required: false + schema: + $ref: '#/components/schemas/MirrorTopicStatus' + example: ACTIVE + MirrorTopicName: + name: mirror_topic_name + description: Cluster Linking mirror topic name + in: path + required: true + schema: + type: string + example: topic-1 + QueryParamLinkName: + name: link_name + description: The link name + in: query + required: true + schema: + type: string + example: link-sb1 + responses: + BadRequestError: + description: Bad Request + headers: + X-Request-Id: + schema: + type: string + description: The unique identifier for the API request. + content: + application/json: + schema: + $ref: '#/components/schemas/Failure' + example: + errors: + - id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d + status: '400' + code: invalid_filter + title: Invalid Filter + detail: The 'delorean' resource can't be filtered by 'num_doors' + source: + parameter: num_doors + UnauthenticatedError: + x-summary: Unauthorized + description: The request lacks valid authentication credentials for this resource. + headers: + X-Request-Id: + schema: + type: string + description: The unique identifier for the API request. + WWW-Authenticate: + schema: + type: string + description: The unique identifier for the API request. + example: 'Basic error="invalid_key", error_description="The API Key is invalid"' + content: + application/json: + schema: + $ref: '#/components/schemas/Failure' + example: + errors: + - id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d + status: '401' + code: user_unauthenticated + title: Authentication Required + detail: Valid authentication credentials must be provided + UnauthorizedError: + x-summary: Forbidden + description: The access credentials were considered insufficient to grant access + headers: + X-Request-Id: + schema: + type: string + description: The unique identifier for the API request. + content: + application/json: + schema: + $ref: '#/components/schemas/Failure' + example: + errors: + - id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d + status: '403' + code: user_unauthorized + title: User Access Unauthorized + detail: The user 'mcfly' is not allowed to access the 'delorean' resource without the 'plutonium' role. + RateLimitError: + description: Rate Limit Exceeded + headers: + X-Request-Id: + schema: + type: string + description: The unique identifier for the API request. + X-RateLimit-Limit: + schema: + type: integer + description: The maximum number of requests you're permitted to make per time period. + X-RateLimit-Remaining: + schema: + type: integer + description: The number of requests remaining in the current rate limit window. + X-RateLimit-Reset: + schema: + type: integer + description: |- + The relative time in seconds until the current rate-limit window resets. + + **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. + DefaultSystemError: + description: 'Oops, something went wrong!' + headers: + X-Request-Id: + schema: + type: string + description: The unique identifier for the API request. + content: + application/json: + schema: + $ref: '#/components/schemas/Failure' + example: + errors: + - id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d + status: '500' + code: out_of_gas + title: DeLorean Out Of Gas + detail: 'The DeLorean has run out of gas, but Doc Brown will fill ''er up for you asap' + NotFoundError: + description: Not Found + headers: + X-Request-Id: + schema: + type: string + description: The unique identifier for the API request. + content: + application/json: + schema: + $ref: '#/components/schemas/Failure' + example: + errors: + - id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d + status: '404' + title: Not Found + ConflictError: + x-summary: Conflict + description: The request is in conflict with the current server state + headers: + X-Request-Id: + schema: + type: string + description: The unique identifier for the API request. + Location: + schema: + type: string + format: uri + example: 'https://api.confluent.cloud/{object}/{id}' + description: Resource URI of conflicting resource + content: + application/json: + schema: + $ref: '#/components/schemas/Failure' + example: + errors: + - id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d + status: '409' + code: resource_already_exists + title: Resource Already exists + detail: The entitlement '91e3e86f-fca6-4f14-98f5-a48e64113ce2' already exists. + ValidationError: + description: Validation Failed + headers: + X-Request-Id: + schema: + type: string + description: The unique identifier for the API request. + content: + application/json: + schema: + $ref: '#/components/schemas/Failure' + example: + errors: + - status: '422' + code: invalid_configuration + id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d + title: Validation Failed + detail: 'The property ''/cluster/storage_size'' of type string did not match the following type: integer' + source: + pointer: /cluster/storage_size + - status: '422' + code: invalid_configuration + id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d + title: Validation Failed + detail: 'The property ''/cluster/storage_size'' of type string did not match the following type: integer' + source: + pointer: /cluster/storage_size + - status: '422' + code: invalid_configuration + id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d + title: Validation Failed + detail: 'The property ''/cluster/storage_size'' of type string did not match the following type: integer' + source: + pointer: /cluster/storage_size + - status: '422' + code: invalid_configuration + id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d + title: Validation Failed + detail: 'The property ''/cluster/storage_size'' of type string did not match the following type: integer' + source: + pointer: /cluster/storage_size + - status: '422' + code: invalid_configuration + id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d + title: Validation Failed + detail: 'The property ''/cluster/storage_size'' of type string did not match the following type: integer' + source: + pointer: /cluster/storage_size + - status: '422' + code: invalid_configuration + id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d + title: Validation Failed + detail: 'The property ''/cluster/storage_size'' of type string did not match the following type: integer' + source: + pointer: /cluster/storage_size + - status: '422' + code: invalid_configuration + id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d + title: Validation Failed + detail: 'The property ''/cluster/storage_size'' of type string did not match the following type: integer' + source: + pointer: /cluster/storage_size + - status: '422' + code: invalid_configuration + id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d + title: Validation Failed + detail: 'The property ''/cluster/storage_size'' of type string did not match the following type: integer' + source: + pointer: /cluster/storage_size + - status: '422' + code: invalid_configuration + id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d + title: Validation Failed + detail: 'The property ''/cluster/storage_size'' of type string did not match the following type: integer' + source: + pointer: /cluster/storage_size + - status: '422' + code: invalid_configuration + id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d + title: Validation Failed + detail: 'The property ''/cluster/storage_size'' of type string did not match the following type: integer' + source: + pointer: /cluster/storage_size + - status: '422' + code: invalid_configuration + id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d + title: Validation Failed + detail: 'The property ''/cluster/storage_size'' of type string did not match the following type: integer' + source: + pointer: /cluster/storage_size + - status: '422' + code: invalid_configuration + id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d + title: Validation Failed + detail: 'The property ''/cluster/storage_size'' of type string did not match the following type: integer' + source: + pointer: /cluster/storage_size + - status: '422' + code: invalid_configuration + id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d + title: Validation Failed + detail: 'The property ''/cluster/storage_size'' of type string did not match the following type: integer' + source: + pointer: /cluster/storage_size + - status: '422' + code: invalid_configuration + id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d + title: Validation Failed + detail: 'The property ''/cluster/storage_size'' of type string did not match the following type: integer' + source: + pointer: /cluster/storage_size + - status: '422' + code: invalid_configuration + id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d + title: Validation Failed + detail: 'The property ''/cluster/storage_size'' of type string did not match the following type: integer' + source: + pointer: /cluster/storage_size + - status: '422' + code: invalid_configuration + id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d + title: Validation Failed + detail: 'The property ''/cluster/storage_size'' of type string did not match the following type: integer' + source: + pointer: /cluster/storage_size + - status: '422' + code: invalid_configuration + id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d + title: Validation Failed + detail: 'The property ''/cluster/storage_size'' of type string did not match the following type: integer' + source: + pointer: /cluster/storage_size + - status: '422' + code: invalid_configuration + id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d + title: Validation Failed + detail: 'The property ''/cluster/storage_size'' of type string did not match the following type: integer' + source: + pointer: /cluster/storage_size + - status: '422' + code: invalid_configuration + id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d + title: Validation Failed + detail: 'The property ''/cluster/storage_size'' of type string did not match the following type: integer' + source: + pointer: /cluster/storage_size + - status: '422' + code: invalid_configuration + id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d + title: Validation Failed + detail: 'The property ''/cluster/storage_size'' of type string did not match the following type: integer' + source: + pointer: /cluster/storage_size + - status: '422' + code: invalid_configuration + id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d + title: Validation Failed + detail: 'The property ''/cluster/storage_size'' of type string did not match the following type: integer' + source: + pointer: /cluster/storage_size + - status: '422' + code: invalid_configuration + id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d + title: Validation Failed + detail: 'The property ''/cluster/storage_size'' of type string did not match the following type: integer' + source: + pointer: /cluster/storage_size + - status: '422' + code: invalid_configuration + id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d + title: Validation Failed + detail: 'The property ''/cluster/storage_size'' of type string did not match the following type: integer' + source: + pointer: /cluster/storage_size + - status: '422' + code: invalid_configuration + id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d + title: Validation Failed + detail: 'The property ''/cluster/storage_size'' of type string did not match the following type: integer' + source: + pointer: /cluster/storage_size + - status: '422' + code: invalid_configuration + id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d + title: Validation Failed + detail: 'The property ''/cluster/storage_size'' of type string did not match the following type: integer' + source: + pointer: /cluster/storage_size + - status: '422' + code: invalid_configuration + id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d + title: Validation Failed + detail: 'The property ''/cluster/storage_size'' of type string did not match the following type: integer' + source: + pointer: /cluster/storage_size + - status: '422' + code: invalid_configuration + id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d + title: Validation Failed + detail: 'The property ''/cluster/storage_size'' of type string did not match the following type: integer' + source: + pointer: /cluster/storage_size + - status: '422' + code: invalid_configuration + id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d + title: Validation Failed + detail: 'The property ''/cluster/storage_size'' of type string did not match the following type: integer' + source: + pointer: /cluster/storage_size + - status: '422' + code: invalid_configuration + id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d + title: Validation Failed + detail: 'The property ''/cluster/storage_size'' of type string did not match the following type: integer' + source: + pointer: /cluster/storage_size + - status: '422' + code: invalid_configuration + id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d + title: Validation Failed + detail: 'The property ''/cluster/storage_size'' of type string did not match the following type: integer' + source: + pointer: /cluster/storage_size + securitySchemes: + cloud-api-key: + type: http + scheme: basic + description: Authenticate with Cloud API Keys using HTTP Basic Auth. Treat the Cloud API Key ID as the username and Cloud API Key Secret as the password. + confluent-sts-access-token: + type: oauth2 + description: Authenticate with Confluent API using this credentials (JSON Web Tokens) following OAuth 2.0. + flows: + clientCredentials: + tokenUrl: 'https://api.confluent.cloud/sts/v1/oauth2/token' + scopes: {} + api-key: + type: http + scheme: basic + description: Authenticate with API Keys using HTTP Basic Auth. Treat the API Key ID as the username and API Key Secret as the password. + resource-api-key: + type: http + scheme: basic + description: | + Authenticate with resource-specific API Keys using HTTP Basic Auth. Treat the resource-specific API Key ID + as the username and resource-specific API Key Secret as the password. + external-access-token: + type: oauth2 + description: Authenticate with OAuth 2.0. + flows: + clientCredentials: + tokenUrl: 'https:///token' + scopes: {} + oauth: + type: oauth2 + description: Authenticate with OAuth 2.0. Currently this is only supported for partner APIs. + flows: + clientCredentials: + tokenUrl: /oauth2/token + scopes: + 'partner:alter': enables partners to alter entitlements + 'partner:create': enables partners to create entitlements and signup on behalf of customers + 'partner:delete': enables partners to delete entitlements and organizations + 'partner:describe': enables partners to read and list entitlements and organizations + requestBodies: + AlterBrokerConfigBatchRequest: + description: The alter broker configuration parameter batch request. + content: + application/json: + schema: + $ref: '#/components/schemas/AlterConfigBatchRequestData' + example: + data: + - name: max.connections + operation: DELETE + - name: compression.type + value: gzip + AlterClusterConfigBatchRequest: + description: The alter cluster configuration parameter batch request. + content: + application/json: + schema: + $ref: '#/components/schemas/AlterConfigBatchRequestData' + example: + data: + - name: max.connections + operation: DELETE + - name: compression.type + value: gzip + AlterTopicConfigBatchRequest: + description: The alter topic configuration parameter batch request. + content: + application/json: + schema: + $ref: '#/components/schemas/AlterConfigBatchRequestData' + examples: + batch_alter_topic_configs: + value: + data: + - name: cleanup.policy + operation: DELETE + - name: compression.type + value: gzip + validate_only_batch_alter_topic_configs: + value: + data: + - name: cleanup.policy + operation: DELETE + - name: compression.type + value: gzip + validate_only: true + CreateAclRequest: + description: The ACL creation request. + content: + application/json: + schema: + $ref: '#/components/schemas/CreateAclRequestData' + example: + resource_type: CLUSTER + resource_name: kafka-cluster + pattern_type: LITERAL + principal: 'principalType:principalName' + host: '*' + operation: DESCRIBE + permission: DENY + BatchCreateAclRequest: + description: The batch ACL creation request. + content: + application/json: + schema: + $ref: '#/components/schemas/CreateAclRequestDataList' + example: + data: + - resource_type: CLUSTER + resource_name: kafka-cluster + pattern_type: LITERAL + principal: 'principalType:principalName' + host: '*' + operation: DESCRIBE + permission: DENY + - resource_type: TOPIC + resource_name: kafka-cluster + pattern_type: LITERAL + principal: 'principalType:principalName' + host: '*' + operation: READ + permission: ALLOW + CreateTopicRequest: + description: 'The topic creation request. Note that Confluent Cloud allows only specific replication factor values. Because of that the replication factor field should either be omitted or it should use one of the allowed values (see https://docs.confluent.io/cloud/current/client-apps/optimizing/durability.html).' + content: + application/json: + schema: + $ref: '#/components/schemas/CreateTopicRequestData' + examples: + uniform_replication: + value: + topic_name: topic-X + partitions_count: 64 + replication_factor: 3 + configs: + - name: cleanup.policy + value: compact + - name: compression.type + value: gzip + dry_run_create_topic: + value: + topic_name: topic-X + partitions_count: 64 + replication_factor: 3 + validate_only: true + ProduceRequest: + description: 'A single record to be produced to Kafka. To produce multiple records in the same request, simply concatenate the records. The delivery reports are concatenated in the same order as the records are sent.' + content: + application/json: + schema: + $ref: '#/components/schemas/ProduceRequest' + examples: + binary_and_json: + description: 'If using type, one of "BINARY", "JSON" or "STRING" is required.' + value: + partition_id: 1 + headers: + - name: Header-1 + value: SGVhZGVyLTE= + - name: Header-2 + value: SGVhZGVyLTI= + key: + type: BINARY + data: Zm9vYmFy + value: + type: JSON + data: + foo: bar + timestamp: '2021-02-05T19:14:42Z' + string: + description: 'If using type, one of "BINARY", "JSON" or "STRING" is required.' + value: + value: + type: STRING + data: My message + empty_value: + description: key or value can be omitted entirely. + value: + key: + data: 1000 + UpdateBrokerConfigRequest: + description: The broker configuration parameter update request. + content: + application/json: + schema: + $ref: '#/components/schemas/UpdateConfigRequestData' + example: + value: gzip + UpdateClusterConfigRequest: + description: The cluster configuration parameter update request. + content: + application/json: + schema: + $ref: '#/components/schemas/UpdateConfigRequestData' + example: + value: gzip + UpdateTopicConfigRequest: + description: The topic configuration parameter update request. + content: + application/json: + schema: + $ref: '#/components/schemas/UpdateConfigRequestData' + example: + value: gzip + CreateLinkRequest: + description: Create a cluster link + content: + application/json: + schema: + $ref: '#/components/schemas/CreateLinkRequestData' + examples: + destination_initiated_link: + description: Create a destination initiated cluster link + value: + source_cluster_id: cluster-1 + configs: + - name: bootstrap.servers + value: cluster-1-bootstrap-server + - name: acl.sync.enable + value: 'false' + - name: consumer.offset.sync.ms + value: '30000' + - name: sasl.mechanism + value: PLAIN + - name: sasl.protocol + value: SASL_SSL + - name: sasl.jaas.config + value: sasl.jaas.config=org.apache.kafka.common.security.plain.PlainLoginModule required username='' password=''; + source_initiated_link_at_source_cluster: + description: Create a source initiated cluster link at source cluster + value: + destination_cluster_id: cluster-2 + configs: + - name: bootstrap.servers + value: cluster-2-bootstrap-server + - name: link.mode + value: SOURCE + - name: sasl.mechanism + value: PLAIN + - name: sasl.protocol + value: SASL_SSL + - name: sasl.jaas.config + value: sasl.jaas.config=org.apache.kafka.common.security.plain.PlainLoginModule required username='' password=''; + source_initiated_link_at_destination_cluster: + description: Create a source initiated cluster link at destination cluster + value: + destination_cluster_id: cluster-1 + configs: + - name: bootstrap.servers + value: cluster-1-bootstrap-server + - name: link.mode + value: DESTINATION + - name: connection.mode + value: INBOUND + - name: acl.sync.enable + value: 'false' + - name: sasl.mechanism + value: PLAIN + - name: sasl.protocol + value: SASL_SSL + - name: sasl.jaas.config + value: sasl.jaas.config=org.apache.kafka.common.security.plain.PlainLoginModule required username='' password=''; + bidirectional_link_east: + description: Create a bidirectional cluster link in east + value: + remote_cluster_id: cluster-west + configs: + - name: bootstrap.servers + value: cluster-west-bootstrap-server + - name: link.mode + value: BIDIRECTIONAL + - name: cluster.link.prefix + value: west. + - name: sasl.mechanism + value: PLAIN + - name: sasl.protocol + value: SASL_SSL + - name: sasl.jaas.config + value: sasl.jaas.config=org.apache.kafka.common.security.plain.PlainLoginModule required username='' password=''; + bidirectional_link_west: + description: Create a bidirectional cluster link in west + value: + remote_cluster_id: cluster-east + cluster_link_id: eEBkTffYSESld6EO898x3w + configs: + - name: bootstrap.servers + value: cluster-east-bootstrap-server + - name: link.mode + value: BIDIRECTIONAL + - name: cluster.link.prefix + value: east. + - name: sasl.mechanism + value: PLAIN + - name: sasl.protocol + value: SASL_SSL + - name: sasl.jaas.config + value: sasl.jaas.config=org.apache.kafka.common.security.plain.PlainLoginModule required username='' password=''; + UpdateLinkConfigRequest: + content: + application/json: + example: + value: '300000' + schema: + $ref: '#/components/schemas/UpdateLinkConfigRequestData' + description: Link config value to update + AlterLinkConfigBatchRequest: + content: + application/json: + example: + data: + - name: cleanup.policy + operation: DELETE + - name: compression.type + value: gzip + schema: + $ref: '#/components/schemas/AlterConfigBatchRequestData' + CreateMirrorTopicRequest: + description: 'Name and configs of the topics mirroring from and mirroring to. Note that Confluent Cloud allows only specific replication factor values. Because of that the replication factor field should either be omitted or it should use one of the allowed values (see https://docs.confluent.io/cloud/current/client-apps/optimizing/durability.html).' + content: + application/json: + schema: + $ref: '#/components/schemas/CreateMirrorTopicRequestData' + examples: + generic_example: + description: Generic example of creating a mirror topic + value: + source_topic_name: topic-1 + configs: + - name: unclean.leader.election.enable + value: 'true' + replication_factor: 1 + example_with_mirror_topic_name: + description: Example using optional mirror_topic_name flag + value: + source_topic_name: topic-1 + mirror_topic_name: link1_topic-1 + configs: + - name: unclean.leader.election.enable + value: 'true' + replication_factor: 3 + AlterMirrorsRequest: + description: Mirror topics to be altered. + content: + application/json: + schema: + $ref: '#/components/schemas/AlterMirrorsRequestData' + examples: + mirror_topic_names: + description: Example using mirror topic names + value: + mirror_topic_names: + - topic-1 + - topic-2 + mirror_topic_name_pattern: + description: Example using mirror topic name pattern + value: + mirror_topic_name_pattern: .* + RemoveBrokersRequest: + content: + application/json: + example: + broker_ids: + - 1 + - 2 + - 3 + schema: + $ref: '#/components/schemas/RemoveBrokersRequestData' + description: Broker ids to remove + BrokerReplicaExclusionBatchRequest: + description: Alter Broker Replica Exclusions. + content: + application/json: + schema: + $ref: '#/components/schemas/BrokerReplicaExclusionBatchRequestData' + example: + data: + - broker_id: 1 + reason: The broker is to be removed. + - broker_id: 2 + reason: The broker is to be removed. + x-stackQL-resources: + provider_shared_resources: + id: confluent.stream_sharing.provider_shared_resources + name: provider_shared_resources + title: Provider Shared Resources + methods: + list_cdx_v1provider_shared_resources: + operation: + $ref: '#/paths/~1cdx~1v1~1provider-shared-resources/get' + response: + mediaType: application/json + openAPIDocKey: '200' + objectKey: $.data + get_cdx_v1provider_shared_resource: + operation: + $ref: '#/paths/~1cdx~1v1~1provider-shared-resources~1{id}/get' + response: + mediaType: application/json + openAPIDocKey: '200' + update_cdx_v1provider_shared_resource: + operation: + $ref: '#/paths/~1cdx~1v1~1provider-shared-resources~1{id}/patch' + response: + mediaType: application/json + openAPIDocKey: '200' + upload_image_cdx_v1provider_shared_resource: + operation: + $ref: '#/paths/~1cdx~1v1~1provider-shared-resources~1{id}~1images~1{file_name}/post' + response: + mediaType: application/json + openAPIDocKey: '201' + view_image_cdx_v1provider_shared_resource: + operation: + $ref: '#/paths/~1cdx~1v1~1provider-shared-resources~1{id}~1images~1{file_name}/get' + response: + mediaType: application/json + openAPIDocKey: '200' + delete_image_cdx_v1provider_shared_resource: + operation: + $ref: '#/paths/~1cdx~1v1~1provider-shared-resources~1{id}~1images~1{file_name}/delete' + response: + mediaType: application/json + openAPIDocKey: '204' + sqlVerbs: + select: + - $ref: '#/components/x-stackQL-resources/provider_shared_resources/methods/get_cdx_v1provider_shared_resource' + - $ref: '#/components/x-stackQL-resources/provider_shared_resources/methods/list_cdx_v1provider_shared_resources' + insert: [] + update: + - $ref: '#/components/x-stackQL-resources/provider_shared_resources/methods/update_cdx_v1provider_shared_resource' + replace: [] + delete: + - $ref: '#/components/x-stackQL-resources/provider_shared_resources/methods/delete_image_cdx_v1provider_shared_resource' + provider_shares: + id: confluent.stream_sharing.provider_shares + name: provider_shares + title: Provider Shares + methods: + list_cdx_v1provider_shares: + operation: + $ref: '#/paths/~1cdx~1v1~1provider-shares/get' + response: + mediaType: application/json + openAPIDocKey: '200' + objectKey: $.data + create_cdx_v1provider_share: + operation: + $ref: '#/paths/~1cdx~1v1~1provider-shares/post' + response: + mediaType: application/json + openAPIDocKey: '201' + schemaRef: '#/components/schemas/cdx.v1.ProviderShare' + get_cdx_v1provider_share: + operation: + $ref: '#/paths/~1cdx~1v1~1provider-shares~1{id}/get' + response: + mediaType: application/json + openAPIDocKey: '200' + delete_cdx_v1provider_share: + operation: + $ref: '#/paths/~1cdx~1v1~1provider-shares~1{id}/delete' + response: + mediaType: application/json + openAPIDocKey: '204' + resend_cdx_v1provider_share: + operation: + $ref: '#/paths/~1cdx~1v1~1provider-shares~1{id}:resend/post' + response: + mediaType: application/json + openAPIDocKey: '204' + sqlVerbs: + select: + - $ref: '#/components/x-stackQL-resources/provider_shares/methods/get_cdx_v1provider_share' + - $ref: '#/components/x-stackQL-resources/provider_shares/methods/list_cdx_v1provider_shares' + insert: + - $ref: '#/components/x-stackQL-resources/provider_shares/methods/create_cdx_v1provider_share' + update: [] + replace: [] + delete: + - $ref: '#/components/x-stackQL-resources/provider_shares/methods/delete_cdx_v1provider_share' + consumer_shared_resources: + id: confluent.stream_sharing.consumer_shared_resources + name: consumer_shared_resources + title: Consumer Shared Resources + methods: + list_cdx_v1consumer_shared_resources: + operation: + $ref: '#/paths/~1cdx~1v1~1consumer-shared-resources/get' + response: + mediaType: application/json + openAPIDocKey: '200' + objectKey: $.data + get_cdx_v1consumer_shared_resource: + operation: + $ref: '#/paths/~1cdx~1v1~1consumer-shared-resources~1{id}/get' + response: + mediaType: application/json + openAPIDocKey: '200' + image_cdx_v1consumer_shared_resource: + operation: + $ref: '#/paths/~1cdx~1v1~1consumer-shared-resources~1{id}~1images~1{file_name}/get' + response: + mediaType: application/json + openAPIDocKey: '200' + network_cdx_v1consumer_shared_resource: + operation: + $ref: '#/paths/~1cdx~1v1~1consumer-shared-resources~1{id}:network/get' + response: + mediaType: application/json + openAPIDocKey: '200' + schemaRef: '#/components/schemas/cdx.v1.Network' + sqlVerbs: + select: + - $ref: '#/components/x-stackQL-resources/consumer_shared_resources/methods/get_cdx_v1consumer_shared_resource' + - $ref: '#/components/x-stackQL-resources/consumer_shared_resources/methods/list_cdx_v1consumer_shared_resources' + insert: [] + update: [] + replace: [] + delete: [] + consumer_shares: + id: confluent.stream_sharing.consumer_shares + name: consumer_shares + title: Consumer Shares + methods: + list_cdx_v1consumer_shares: + operation: + $ref: '#/paths/~1cdx~1v1~1consumer-shares/get' + response: + mediaType: application/json + openAPIDocKey: '200' + objectKey: $.data + get_cdx_v1consumer_share: + operation: + $ref: '#/paths/~1cdx~1v1~1consumer-shares~1{id}/get' + response: + mediaType: application/json + openAPIDocKey: '200' + delete_cdx_v1consumer_share: + operation: + $ref: '#/paths/~1cdx~1v1~1consumer-shares~1{id}/delete' + response: + mediaType: application/json + openAPIDocKey: '204' + sqlVerbs: + select: + - $ref: '#/components/x-stackQL-resources/consumer_shares/methods/get_cdx_v1consumer_share' + - $ref: '#/components/x-stackQL-resources/consumer_shares/methods/list_cdx_v1consumer_shares' + insert: [] + update: [] + replace: [] + delete: + - $ref: '#/components/x-stackQL-resources/consumer_shares/methods/delete_cdx_v1consumer_share' + shared_tokens: + id: confluent.stream_sharing.shared_tokens + name: shared_tokens + title: Shared Tokens + methods: + resources_cdx_v1shared_token: + operation: + $ref: '#/paths/~1cdx~1v1~1shared-tokens:resources/post' + response: + mediaType: application/json + openAPIDocKey: '200' + redeem_cdx_v1shared_token: + operation: + $ref: '#/paths/~1cdx~1v1~1shared-tokens:redeem/post' + response: + mediaType: application/json + openAPIDocKey: '200' + schemaRef: '#/components/schemas/cdx.v1.RedeemTokenResponse' + sqlVerbs: + select: [] + insert: [] + update: [] + replace: [] + delete: [] + opt_ins: + id: confluent.stream_sharing.opt_ins + name: opt_ins + title: Opt Ins + methods: + get_cdx_v1opt_in: + operation: + $ref: '#/paths/~1cdx~1v1~1opt-in/get' + response: + mediaType: application/json + openAPIDocKey: '200' + update_cdx_v1opt_in: + operation: + $ref: '#/paths/~1cdx~1v1~1opt-in/patch' + response: + mediaType: application/json + openAPIDocKey: '200' + sqlVerbs: + select: + - $ref: '#/components/x-stackQL-resources/opt_ins/methods/get_cdx_v1opt_in' + insert: [] + update: + - $ref: '#/components/x-stackQL-resources/opt_ins/methods/update_cdx_v1opt_in' + replace: [] + delete: [] +paths: + /cdx/v1/provider-shared-resources: + get: + operationId: listCdxV1ProviderSharedResources + summary: List of Provider Shared Resources + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + Retrieve a sorted, filtered, paginated list of all provider shared resources. + parameters: + - name: stream_share + in: query + required: false + schema: + $ref: '#/components/schemas/SearchFilter' + example: ss-1234 + description: Filter the results by exact match for stream_share. + - name: crn + in: query + required: false + schema: + $ref: '#/components/schemas/SearchFilter' + example: 'crn://confluent.cloud/cloud-cluster=lkc-111aaa/kafka=lkc-111aaa/topic=my.topic' + description: Filter the results by exact match for crn. + - name: include_deleted + in: query + required: false + schema: + $ref: '#/components/schemas/BooleanFilter' + description: Include deactivated shared resources + - 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: + - Provider Shared Resources (cdx/v1) + security: + - cloud-api-key: [] + - confluent-sts-access-token: [] + responses: + '200': + description: Provider Shared Resource. + content: + application/json: + schema: + allOf: + - $ref: '#/components/schemas/cdx.v1.ProviderSharedResourceList' + - type: object + properties: + data: + type: array + items: + properties: + cloud_cluster: + example: + id: lkc-00000 + related: 'https://api.confluent.cloud/cmk/v2/clusters/lkc-00000' + resource_name: 'https://api.confluent.cloud/organization=9bb441c4-edef-46ac-8a41-c49e44a3fd9a/environment=env-abc123/cloud-cluster=lkc-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. + + **Important:** This differs from Github and Twitter's same-named header which uses UTC epoch seconds. We use relative time to avoid client/server time synchronization issues. + '400': + $ref: '#/components/responses/BadRequestError' + '401': + $ref: '#/components/responses/UnauthenticatedError' + '403': + $ref: '#/components/responses/UnauthorizedError' + '429': + $ref: '#/components/responses/RateLimitError' + '500': + $ref: '#/components/responses/DefaultSystemError' + x-codeSamples: + - lang: Shell + source: |- + curl --request GET \ + --url 'https://api.confluent.cloud/cdx/v1/provider-shared-resources?stream_share=ss-1234&crn=crn://confluent.cloud/cloud-cluster=lkc-111aaa/kafka=lkc-111aaa/topic=my.topic&include_deleted=SOME_BOOLEAN_VALUE' \ + --header 'Authorization: Basic REPLACE_BASIC_AUTH' + - lang: Java + source: |- + OkHttpClient client = new OkHttpClient(); + + Request request = new Request.Builder() + .url("https://api.confluent.cloud/cdx/v1/provider-shared-resources?stream_share=ss-1234&crn=crn://confluent.cloud/cloud-cluster=lkc-111aaa/kafka=lkc-111aaa/topic=my.topic&include_deleted=SOME_BOOLEAN_VALUE") + .get() + .addHeader("Authorization", "Basic REPLACE_BASIC_AUTH") + .build(); + + Response response = client.newCall(request).execute(); + - lang: Go + source: "package main\n\nimport (\n\t\"fmt\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.confluent.cloud/cdx/v1/provider-shared-resources?stream_share=ss-1234&crn=crn://confluent.cloud/cloud-cluster=lkc-111aaa/kafka=lkc-111aaa/topic=my.topic&include_deleted=SOME_BOOLEAN_VALUE\"\n\n\treq, _ := http.NewRequest(\"GET\", url, nil)\n\n\treq.Header.Add(\"Authorization\", \"Basic REPLACE_BASIC_AUTH\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}" + - lang: Python + source: |- + import http.client + + conn = http.client.HTTPSConnection("api.confluent.cloud") + + headers = { 'Authorization': "Basic REPLACE_BASIC_AUTH" } + + conn.request("GET", "/cdx/v1/provider-shared-resources?stream_share=ss-1234&crn=crn://confluent.cloud/cloud-cluster=lkc-111aaa/kafka=lkc-111aaa/topic=my.topic&include_deleted=SOME_BOOLEAN_VALUE", headers=headers) + + res = conn.getresponse() + data = res.read() + + print(data.decode("utf-8")) + - lang: Node + source: |- + const http = require("https"); + + const options = { + "method": "GET", + "hostname": "api.confluent.cloud", + "port": null, + "path": "/cdx/v1/provider-shared-resources?stream_share=ss-1234&crn=crn://confluent.cloud/cloud-cluster=lkc-111aaa/kafka=lkc-111aaa/topic=my.topic&include_deleted=SOME_BOOLEAN_VALUE", + "headers": { + "Authorization": "Basic REPLACE_BASIC_AUTH" + } + }; + + const req = http.request(options, function (res) { + const chunks = []; + + res.on("data", function (chunk) { + chunks.push(chunk); + }); + + res.on("end", function () { + const body = Buffer.concat(chunks); + console.log(body.toString()); + }); + }); + + req.end(); + - lang: C + source: |- + CURL *hnd = curl_easy_init(); + + curl_easy_setopt(hnd, CURLOPT_CUSTOMREQUEST, "GET"); + curl_easy_setopt(hnd, CURLOPT_URL, "https://api.confluent.cloud/cdx/v1/provider-shared-resources?stream_share=ss-1234&crn=crn://confluent.cloud/cloud-cluster=lkc-111aaa/kafka=lkc-111aaa/topic=my.topic&include_deleted=SOME_BOOLEAN_VALUE"); + + struct curl_slist *headers = NULL; + headers = curl_slist_append(headers, "Authorization: Basic REPLACE_BASIC_AUTH"); + curl_easy_setopt(hnd, CURLOPT_HTTPHEADER, headers); + + CURLcode ret = curl_easy_perform(hnd); + - lang: C# + source: |- + var client = new RestClient("https://api.confluent.cloud/cdx/v1/provider-shared-resources?stream_share=ss-1234&crn=crn://confluent.cloud/cloud-cluster=lkc-111aaa/kafka=lkc-111aaa/topic=my.topic&include_deleted=SOME_BOOLEAN_VALUE"); + var request = new RestRequest(Method.GET); + request.AddHeader("Authorization", "Basic REPLACE_BASIC_AUTH"); + IRestResponse response = client.Execute(request); + '/cdx/v1/provider-shared-resources/{id}': + get: + operationId: getCdxV1ProviderSharedResource + summary: Read a Provider Shared Resource + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + Make a request to read a provider shared resource. + parameters: + - name: id + in: path + required: true + schema: + type: string + description: The unique identifier for the provider shared resource. + tags: + - Provider Shared Resources (cdx/v1) + security: + - cloud-api-key: [] + - confluent-sts-access-token: [] + responses: + '200': + description: Provider Shared Resource. + content: + application/json: + schema: + allOf: + - $ref: '#/components/schemas/cdx.v1.ProviderSharedResource' + - type: object + required: + - api_version + - kind + - id + - display_name + - organization_name + - environment_name + - cluster_name + - cloud_cluster + - type: object + properties: + cloud_cluster: + example: + id: lkc-00000 + related: 'https://api.confluent.cloud/cmk/v2/clusters/lkc-00000' + resource_name: 'https://api.confluent.cloud/organization=9bb441c4-edef-46ac-8a41-c49e44a3fd9a/environment=env-abc123/cloud-cluster=lkc-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. + + **Important:** This differs from Github and Twitter's same-named header which uses UTC epoch seconds. We use relative time to avoid client/server time synchronization issues. + '400': + $ref: '#/components/responses/BadRequestError' + '401': + $ref: '#/components/responses/UnauthenticatedError' + '403': + $ref: '#/components/responses/UnauthorizedError' + '404': + $ref: '#/components/responses/NotFoundError' + '429': + $ref: '#/components/responses/RateLimitError' + '500': + $ref: '#/components/responses/DefaultSystemError' + x-codeSamples: + - lang: Shell + source: |- + curl --request GET \ + --url 'https://api.confluent.cloud/cdx/v1/provider-shared-resources/{id}' \ + --header 'Authorization: Basic REPLACE_BASIC_AUTH' + - lang: Java + source: |- + OkHttpClient client = new OkHttpClient(); + + Request request = new Request.Builder() + .url("https://api.confluent.cloud/cdx/v1/provider-shared-resources/{id}") + .get() + .addHeader("Authorization", "Basic REPLACE_BASIC_AUTH") + .build(); + + Response response = client.newCall(request).execute(); + - lang: Go + source: "package main\n\nimport (\n\t\"fmt\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.confluent.cloud/cdx/v1/provider-shared-resources/{id}\"\n\n\treq, _ := http.NewRequest(\"GET\", url, nil)\n\n\treq.Header.Add(\"Authorization\", \"Basic REPLACE_BASIC_AUTH\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}" + - lang: Python + source: |- + import http.client + + conn = http.client.HTTPSConnection("api.confluent.cloud") + + headers = { 'Authorization': "Basic REPLACE_BASIC_AUTH" } + + conn.request("GET", "/cdx/v1/provider-shared-resources/{id}", headers=headers) + + res = conn.getresponse() + data = res.read() + + print(data.decode("utf-8")) + - lang: Node + source: |- + const http = require("https"); + + const options = { + "method": "GET", + "hostname": "api.confluent.cloud", + "port": null, + "path": "/cdx/v1/provider-shared-resources/{id}", + "headers": { + "Authorization": "Basic REPLACE_BASIC_AUTH" + } + }; + + const req = http.request(options, function (res) { + const chunks = []; + + res.on("data", function (chunk) { + chunks.push(chunk); + }); + + res.on("end", function () { + const body = Buffer.concat(chunks); + console.log(body.toString()); + }); + }); + + req.end(); + - lang: C + source: |- + CURL *hnd = curl_easy_init(); + + curl_easy_setopt(hnd, CURLOPT_CUSTOMREQUEST, "GET"); + curl_easy_setopt(hnd, CURLOPT_URL, "https://api.confluent.cloud/cdx/v1/provider-shared-resources/{id}"); + + struct curl_slist *headers = NULL; + headers = curl_slist_append(headers, "Authorization: Basic REPLACE_BASIC_AUTH"); + curl_easy_setopt(hnd, CURLOPT_HTTPHEADER, headers); + + CURLcode ret = curl_easy_perform(hnd); + - lang: C# + source: |- + var client = new RestClient("https://api.confluent.cloud/cdx/v1/provider-shared-resources/{id}"); + var request = new RestRequest(Method.GET); + request.AddHeader("Authorization", "Basic REPLACE_BASIC_AUTH"); + IRestResponse response = client.Execute(request); + patch: + operationId: updateCdxV1ProviderSharedResource + summary: Update a Provider Shared Resource + description: |+ + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + Make a request to update a provider shared resource. + + parameters: + - name: id + in: path + required: true + schema: + type: string + description: The unique identifier for the provider shared resource. + tags: + - Provider Shared Resources (cdx/v1) + security: + - cloud-api-key: [] + - confluent-sts-access-token: [] + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/cdx.v1.ProviderSharedResourceUpdate' + responses: + '200': + description: Provider Shared Resource. + content: + application/json: + schema: + allOf: + - $ref: '#/components/schemas/cdx.v1.ProviderSharedResource' + - type: object + required: + - api_version + - kind + - id + - display_name + - organization_name + - environment_name + - cluster_name + - cloud_cluster + - type: object + properties: + cloud_cluster: + example: + id: lkc-00000 + related: 'https://api.confluent.cloud/cmk/v2/clusters/lkc-00000' + resource_name: 'https://api.confluent.cloud/organization=9bb441c4-edef-46ac-8a41-c49e44a3fd9a/environment=env-abc123/cloud-cluster=lkc-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. + + **Important:** This differs from Github and Twitter's same-named header which uses UTC epoch seconds. We use relative time to avoid client/server time synchronization issues. + '400': + $ref: '#/components/responses/BadRequestError' + '401': + $ref: '#/components/responses/UnauthenticatedError' + '403': + $ref: '#/components/responses/UnauthorizedError' + '404': + $ref: '#/components/responses/NotFoundError' + '409': + $ref: '#/components/responses/ConflictError' + '422': + $ref: '#/components/responses/ValidationError' + '429': + $ref: '#/components/responses/RateLimitError' + '500': + $ref: '#/components/responses/DefaultSystemError' + x-codeSamples: + - lang: Shell + source: |- + curl --request PATCH \ + --url 'https://api.confluent.cloud/cdx/v1/provider-shared-resources/{id}' \ + --header 'Authorization: Basic REPLACE_BASIC_AUTH' \ + --header 'content-type: application/json' \ + --data '{"crn":"crn://confluent.cloud/environment=env-123/cloud-cluster=lkc-1111aaa/kafka=lkc-111aaa/topic=my.topic","resources":["crn://confluent.cloud/environment=env-123/cloud-cluster=lkc-111aaa/kafka=lkc-111aaa/topic=my.topic"],"display_name":"Stock Trades","organization_description":"ABC Corp is the biggest online retailer","organization_contact":"jane.doe@example.com","cloud_cluster":{"id":"string","environment":"string"}}' + - lang: Java + source: |- + OkHttpClient client = new OkHttpClient(); + + MediaType mediaType = MediaType.parse("application/json"); + RequestBody body = RequestBody.create(mediaType, "{\"crn\":\"crn://confluent.cloud/environment=env-123/cloud-cluster=lkc-1111aaa/kafka=lkc-111aaa/topic=my.topic\",\"resources\":[\"crn://confluent.cloud/environment=env-123/cloud-cluster=lkc-111aaa/kafka=lkc-111aaa/topic=my.topic\"],\"display_name\":\"Stock Trades\",\"organization_description\":\"ABC Corp is the biggest online retailer\",\"organization_contact\":\"jane.doe@example.com\",\"cloud_cluster\":{\"id\":\"string\",\"environment\":\"string\"}}"); + Request request = new Request.Builder() + .url("https://api.confluent.cloud/cdx/v1/provider-shared-resources/{id}") + .patch(body) + .addHeader("content-type", "application/json") + .addHeader("Authorization", "Basic REPLACE_BASIC_AUTH") + .build(); + + Response response = client.newCall(request).execute(); + - lang: Go + source: "package main\n\nimport (\n\t\"fmt\"\n\t\"strings\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.confluent.cloud/cdx/v1/provider-shared-resources/{id}\"\n\n\tpayload := strings.NewReader(\"{\\\"crn\\\":\\\"crn://confluent.cloud/environment=env-123/cloud-cluster=lkc-1111aaa/kafka=lkc-111aaa/topic=my.topic\\\",\\\"resources\\\":[\\\"crn://confluent.cloud/environment=env-123/cloud-cluster=lkc-111aaa/kafka=lkc-111aaa/topic=my.topic\\\"],\\\"display_name\\\":\\\"Stock Trades\\\",\\\"organization_description\\\":\\\"ABC Corp is the biggest online retailer\\\",\\\"organization_contact\\\":\\\"jane.doe@example.com\\\",\\\"cloud_cluster\\\":{\\\"id\\\":\\\"string\\\",\\\"environment\\\":\\\"string\\\"}}\")\n\n\treq, _ := http.NewRequest(\"PATCH\", url, payload)\n\n\treq.Header.Add(\"content-type\", \"application/json\")\n\treq.Header.Add(\"Authorization\", \"Basic REPLACE_BASIC_AUTH\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}" + - lang: Python + source: |- + import http.client + + conn = http.client.HTTPSConnection("api.confluent.cloud") + + payload = "{\"crn\":\"crn://confluent.cloud/environment=env-123/cloud-cluster=lkc-1111aaa/kafka=lkc-111aaa/topic=my.topic\",\"resources\":[\"crn://confluent.cloud/environment=env-123/cloud-cluster=lkc-111aaa/kafka=lkc-111aaa/topic=my.topic\"],\"display_name\":\"Stock Trades\",\"organization_description\":\"ABC Corp is the biggest online retailer\",\"organization_contact\":\"jane.doe@example.com\",\"cloud_cluster\":{\"id\":\"string\",\"environment\":\"string\"}}" + + headers = { + 'content-type': "application/json", + 'Authorization': "Basic REPLACE_BASIC_AUTH" + } + + conn.request("PATCH", "/cdx/v1/provider-shared-resources/{id}", payload, headers) + + res = conn.getresponse() + data = res.read() + + print(data.decode("utf-8")) + - lang: Node + source: |- + const http = require("https"); + + const options = { + "method": "PATCH", + "hostname": "api.confluent.cloud", + "port": null, + "path": "/cdx/v1/provider-shared-resources/{id}", + "headers": { + "content-type": "application/json", + "Authorization": "Basic REPLACE_BASIC_AUTH" + } + }; + + const req = http.request(options, function (res) { + const chunks = []; + + res.on("data", function (chunk) { + chunks.push(chunk); + }); + + res.on("end", function () { + const body = Buffer.concat(chunks); + console.log(body.toString()); + }); + }); + + req.write(JSON.stringify({ + crn: 'crn://confluent.cloud/environment=env-123/cloud-cluster=lkc-1111aaa/kafka=lkc-111aaa/topic=my.topic', + resources: [ + 'crn://confluent.cloud/environment=env-123/cloud-cluster=lkc-111aaa/kafka=lkc-111aaa/topic=my.topic' + ], + display_name: 'Stock Trades', + organization_description: 'ABC Corp is the biggest online retailer', + organization_contact: 'jane.doe@example.com', + cloud_cluster: {id: 'string', environment: 'string'} + })); + req.end(); + - lang: C + source: |- + CURL *hnd = curl_easy_init(); + + curl_easy_setopt(hnd, CURLOPT_CUSTOMREQUEST, "PATCH"); + curl_easy_setopt(hnd, CURLOPT_URL, "https://api.confluent.cloud/cdx/v1/provider-shared-resources/{id}"); + + struct curl_slist *headers = NULL; + headers = curl_slist_append(headers, "content-type: application/json"); + headers = curl_slist_append(headers, "Authorization: Basic REPLACE_BASIC_AUTH"); + curl_easy_setopt(hnd, CURLOPT_HTTPHEADER, headers); + + curl_easy_setopt(hnd, CURLOPT_POSTFIELDS, "{\"crn\":\"crn://confluent.cloud/environment=env-123/cloud-cluster=lkc-1111aaa/kafka=lkc-111aaa/topic=my.topic\",\"resources\":[\"crn://confluent.cloud/environment=env-123/cloud-cluster=lkc-111aaa/kafka=lkc-111aaa/topic=my.topic\"],\"display_name\":\"Stock Trades\",\"organization_description\":\"ABC Corp is the biggest online retailer\",\"organization_contact\":\"jane.doe@example.com\",\"cloud_cluster\":{\"id\":\"string\",\"environment\":\"string\"}}"); + + CURLcode ret = curl_easy_perform(hnd); + - lang: C# + source: |- + var client = new RestClient("https://api.confluent.cloud/cdx/v1/provider-shared-resources/{id}"); + var request = new RestRequest(Method.PATCH); + request.AddHeader("content-type", "application/json"); + request.AddHeader("Authorization", "Basic REPLACE_BASIC_AUTH"); + request.AddParameter("application/json", "{\"crn\":\"crn://confluent.cloud/environment=env-123/cloud-cluster=lkc-1111aaa/kafka=lkc-111aaa/topic=my.topic\",\"resources\":[\"crn://confluent.cloud/environment=env-123/cloud-cluster=lkc-111aaa/kafka=lkc-111aaa/topic=my.topic\"],\"display_name\":\"Stock Trades\",\"organization_description\":\"ABC Corp is the biggest online retailer\",\"organization_contact\":\"jane.doe@example.com\",\"cloud_cluster\":{\"id\":\"string\",\"environment\":\"string\"}}", ParameterType.RequestBody); + IRestResponse response = client.Execute(request); + '/cdx/v1/provider-shared-resources/{id}/images/{file_name}': + post: + summary: Upload image for shared resource + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + Upload the image file for the shared resource + requestBody: + content: + image/*: + schema: + type: string + format: base64 + x-name: cdx.v1.ProviderSharedResource + operationId: upload_imageCdxV1ProviderSharedResource + parameters: + - name: id + in: path + required: true + schema: + type: string + description: The unique identifier for the provider shared resource. + - name: file_name + in: path + required: true + schema: + type: string + description: The File Name + tags: + - Provider Shared Resources (cdx/v1) + security: + - cloud-api-key: [] + - confluent-sts-access-token: [] + responses: + '201': + description: image uploaded + headers: + Location: + schema: + type: string + format: uri + example: 'https://some-subdomain.confluent.cloud/path/to/resource' + description: A URL that allows access to the image file + X-Request-Id: + schema: + type: string + description: The unique identifier for the API request. + '400': + $ref: '#/components/responses/BadRequestError' + '401': + $ref: '#/components/responses/UnauthenticatedError' + '403': + $ref: '#/components/responses/UnauthorizedError' + '404': + $ref: '#/components/responses/NotFoundError' + '429': + $ref: '#/components/responses/RateLimitError' + '500': + $ref: '#/components/responses/DefaultSystemError' + x-codeSamples: + - lang: Shell + source: |- + curl --request POST \ + --url 'https://api.confluent.cloud/cdx/v1/provider-shared-resources/{id}/images/{file_name}' \ + --header 'Authorization: Basic REPLACE_BASIC_AUTH' \ + --header 'content-type: image/*' + - lang: Java + source: |- + OkHttpClient client = new OkHttpClient(); + + Request request = new Request.Builder() + .url("https://api.confluent.cloud/cdx/v1/provider-shared-resources/{id}/images/{file_name}") + .post(null) + .addHeader("content-type", "image/*") + .addHeader("Authorization", "Basic REPLACE_BASIC_AUTH") + .build(); + + Response response = client.newCall(request).execute(); + - lang: Go + source: "package main\n\nimport (\n\t\"fmt\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.confluent.cloud/cdx/v1/provider-shared-resources/{id}/images/{file_name}\"\n\n\treq, _ := http.NewRequest(\"POST\", url, nil)\n\n\treq.Header.Add(\"content-type\", \"image/*\")\n\treq.Header.Add(\"Authorization\", \"Basic REPLACE_BASIC_AUTH\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}" + - lang: Python + source: |- + import http.client + + conn = http.client.HTTPSConnection("api.confluent.cloud") + + headers = { + 'content-type': "image/*", + 'Authorization': "Basic REPLACE_BASIC_AUTH" + } + + conn.request("POST", "/cdx/v1/provider-shared-resources/{id}/images/{file_name}", headers=headers) + + res = conn.getresponse() + data = res.read() + + print(data.decode("utf-8")) + - lang: Node + source: |- + const http = require("https"); + + const options = { + "method": "POST", + "hostname": "api.confluent.cloud", + "port": null, + "path": "/cdx/v1/provider-shared-resources/{id}/images/{file_name}", + "headers": { + "content-type": "image/*", + "Authorization": "Basic REPLACE_BASIC_AUTH" + } + }; + + const req = http.request(options, function (res) { + const chunks = []; + + res.on("data", function (chunk) { + chunks.push(chunk); + }); + + res.on("end", function () { + const body = Buffer.concat(chunks); + console.log(body.toString()); + }); + }); + + req.end(); + - lang: C + source: |- + CURL *hnd = curl_easy_init(); + + curl_easy_setopt(hnd, CURLOPT_CUSTOMREQUEST, "POST"); + curl_easy_setopt(hnd, CURLOPT_URL, "https://api.confluent.cloud/cdx/v1/provider-shared-resources/{id}/images/{file_name}"); + + struct curl_slist *headers = NULL; + headers = curl_slist_append(headers, "content-type: image/*"); + headers = curl_slist_append(headers, "Authorization: Basic REPLACE_BASIC_AUTH"); + curl_easy_setopt(hnd, CURLOPT_HTTPHEADER, headers); + + CURLcode ret = curl_easy_perform(hnd); + - lang: C# + source: |- + var client = new RestClient("https://api.confluent.cloud/cdx/v1/provider-shared-resources/{id}/images/{file_name}"); + var request = new RestRequest(Method.POST); + request.AddHeader("content-type", "image/*"); + request.AddHeader("Authorization", "Basic REPLACE_BASIC_AUTH"); + IRestResponse response = client.Execute(request); + get: + summary: Get image for shared resource + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + Returns the image file for the shared resource + x-name: cdx.v1.ProviderSharedResource + operationId: view_imageCdxV1ProviderSharedResource + parameters: + - name: id + in: path + required: true + schema: + type: string + description: The unique identifier for the provider shared resource. + - name: file_name + in: path + required: true + schema: + type: string + description: The File Name + tags: + - Provider Shared Resources (cdx/v1) + security: + - cloud-api-key: [] + - confluent-sts-access-token: [] + responses: + '200': + description: returns the image file + content: + image/*: + schema: + type: string + format: binary + '400': + $ref: '#/components/responses/BadRequestError' + '401': + $ref: '#/components/responses/UnauthenticatedError' + '403': + $ref: '#/components/responses/UnauthorizedError' + '404': + $ref: '#/components/responses/NotFoundError' + '429': + $ref: '#/components/responses/RateLimitError' + '500': + $ref: '#/components/responses/DefaultSystemError' + x-codeSamples: + - lang: Shell + source: |- + curl --request GET \ + --url 'https://api.confluent.cloud/cdx/v1/provider-shared-resources/{id}/images/{file_name}' \ + --header 'Authorization: Basic REPLACE_BASIC_AUTH' + - lang: Java + source: |- + OkHttpClient client = new OkHttpClient(); + + Request request = new Request.Builder() + .url("https://api.confluent.cloud/cdx/v1/provider-shared-resources/{id}/images/{file_name}") + .get() + .addHeader("Authorization", "Basic REPLACE_BASIC_AUTH") + .build(); + + Response response = client.newCall(request).execute(); + - lang: Go + source: "package main\n\nimport (\n\t\"fmt\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.confluent.cloud/cdx/v1/provider-shared-resources/{id}/images/{file_name}\"\n\n\treq, _ := http.NewRequest(\"GET\", url, nil)\n\n\treq.Header.Add(\"Authorization\", \"Basic REPLACE_BASIC_AUTH\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}" + - lang: Python + source: |- + import http.client + + conn = http.client.HTTPSConnection("api.confluent.cloud") + + headers = { 'Authorization': "Basic REPLACE_BASIC_AUTH" } + + conn.request("GET", "/cdx/v1/provider-shared-resources/{id}/images/{file_name}", headers=headers) + + res = conn.getresponse() + data = res.read() + + print(data.decode("utf-8")) + - lang: Node + source: |- + const http = require("https"); + + const options = { + "method": "GET", + "hostname": "api.confluent.cloud", + "port": null, + "path": "/cdx/v1/provider-shared-resources/{id}/images/{file_name}", + "headers": { + "Authorization": "Basic REPLACE_BASIC_AUTH" + } + }; + + const req = http.request(options, function (res) { + const chunks = []; + + res.on("data", function (chunk) { + chunks.push(chunk); + }); + + res.on("end", function () { + const body = Buffer.concat(chunks); + console.log(body.toString()); + }); + }); + + req.end(); + - lang: C + source: |- + CURL *hnd = curl_easy_init(); + + curl_easy_setopt(hnd, CURLOPT_CUSTOMREQUEST, "GET"); + curl_easy_setopt(hnd, CURLOPT_URL, "https://api.confluent.cloud/cdx/v1/provider-shared-resources/{id}/images/{file_name}"); + + struct curl_slist *headers = NULL; + headers = curl_slist_append(headers, "Authorization: Basic REPLACE_BASIC_AUTH"); + curl_easy_setopt(hnd, CURLOPT_HTTPHEADER, headers); + + CURLcode ret = curl_easy_perform(hnd); + - lang: C# + source: |- + var client = new RestClient("https://api.confluent.cloud/cdx/v1/provider-shared-resources/{id}/images/{file_name}"); + var request = new RestRequest(Method.GET); + request.AddHeader("Authorization", "Basic REPLACE_BASIC_AUTH"); + IRestResponse response = client.Execute(request); + delete: + summary: Delete the shared resource's image + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + Deletes the image file for the shared resource + x-name: cdx.v1.ProviderSharedResource + operationId: delete_imageCdxV1ProviderSharedResource + parameters: + - name: id + in: path + required: true + schema: + type: string + description: The unique identifier for the provider shared resource. + - name: file_name + in: path + required: true + schema: + type: string + description: The File Name + tags: + - Provider Shared Resources (cdx/v1) + security: + - cloud-api-key: [] + - confluent-sts-access-token: [] + responses: + '204': + description: No Content + '400': + $ref: '#/components/responses/BadRequestError' + '401': + $ref: '#/components/responses/UnauthenticatedError' + '403': + $ref: '#/components/responses/UnauthorizedError' + '404': + $ref: '#/components/responses/NotFoundError' + '429': + $ref: '#/components/responses/RateLimitError' + '500': + $ref: '#/components/responses/DefaultSystemError' + x-codeSamples: + - lang: Shell + source: |- + curl --request DELETE \ + --url 'https://api.confluent.cloud/cdx/v1/provider-shared-resources/{id}/images/{file_name}' \ + --header 'Authorization: Basic REPLACE_BASIC_AUTH' + - lang: Java + source: |- + OkHttpClient client = new OkHttpClient(); + + Request request = new Request.Builder() + .url("https://api.confluent.cloud/cdx/v1/provider-shared-resources/{id}/images/{file_name}") + .delete(null) + .addHeader("Authorization", "Basic REPLACE_BASIC_AUTH") + .build(); + + Response response = client.newCall(request).execute(); + - lang: Go + source: "package main\n\nimport (\n\t\"fmt\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.confluent.cloud/cdx/v1/provider-shared-resources/{id}/images/{file_name}\"\n\n\treq, _ := http.NewRequest(\"DELETE\", url, nil)\n\n\treq.Header.Add(\"Authorization\", \"Basic REPLACE_BASIC_AUTH\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}" + - lang: Python + source: |- + import http.client + + conn = http.client.HTTPSConnection("api.confluent.cloud") + + headers = { 'Authorization': "Basic REPLACE_BASIC_AUTH" } + + conn.request("DELETE", "/cdx/v1/provider-shared-resources/{id}/images/{file_name}", headers=headers) + + res = conn.getresponse() + data = res.read() + + print(data.decode("utf-8")) + - lang: Node + source: |- + const http = require("https"); + + const options = { + "method": "DELETE", + "hostname": "api.confluent.cloud", + "port": null, + "path": "/cdx/v1/provider-shared-resources/{id}/images/{file_name}", + "headers": { + "Authorization": "Basic REPLACE_BASIC_AUTH" + } + }; + + const req = http.request(options, function (res) { + const chunks = []; + + res.on("data", function (chunk) { + chunks.push(chunk); + }); + + res.on("end", function () { + const body = Buffer.concat(chunks); + console.log(body.toString()); + }); + }); + + req.end(); + - lang: C + source: |- + CURL *hnd = curl_easy_init(); + + curl_easy_setopt(hnd, CURLOPT_CUSTOMREQUEST, "DELETE"); + curl_easy_setopt(hnd, CURLOPT_URL, "https://api.confluent.cloud/cdx/v1/provider-shared-resources/{id}/images/{file_name}"); + + struct curl_slist *headers = NULL; + headers = curl_slist_append(headers, "Authorization: Basic REPLACE_BASIC_AUTH"); + curl_easy_setopt(hnd, CURLOPT_HTTPHEADER, headers); + + CURLcode ret = curl_easy_perform(hnd); + - lang: C# + source: |- + var client = new RestClient("https://api.confluent.cloud/cdx/v1/provider-shared-resources/{id}/images/{file_name}"); + var request = new RestRequest(Method.DELETE); + request.AddHeader("Authorization", "Basic REPLACE_BASIC_AUTH"); + IRestResponse response = client.Execute(request); + /cdx/v1/provider-shares: + get: + operationId: listCdxV1ProviderShares + summary: List of Provider Shares + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + Retrieve a sorted, filtered, paginated list of all provider shares. + parameters: + - name: shared_resource + in: query + required: false + schema: + $ref: '#/components/schemas/SearchFilter' + example: sr-1234 + description: Filter the results by exact match for shared_resource. + - name: crn + in: query + required: false + schema: + $ref: '#/components/schemas/SearchFilter' + example: 'crn://confluent.cloud/cloud-cluster=lkc-111aaa/kafka=lkc-111aaa/topic=my.topic' + description: Filter the results by exact match for crn. + - name: include_deleted + in: query + required: false + schema: + $ref: '#/components/schemas/BooleanFilter' + description: Include deactivated shares + - 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: + - Provider Shares (cdx/v1) + security: + - cloud-api-key: [] + - confluent-sts-access-token: [] + responses: + '200': + description: Provider Share. + content: + application/json: + schema: + allOf: + - $ref: '#/components/schemas/cdx.v1.ProviderShareList' + - type: object + properties: + data: + type: array + items: + properties: + service_account: + example: + id: sa-4voj5e + related: 'https://api.confluent.cloud/iam/v2/service-accounts/sa-4voj5e' + resource_name: 'https://api.confluent.cloud/service-account=sa-4voj5e' + cloud_cluster: + example: + id: lkc-00000 + related: 'https://api.confluent.cloud/cmk/v2/clusters/lkc-00000' + resource_name: 'https://api.confluent.cloud/organization=9bb441c4-edef-46ac-8a41-c49e44a3fd9a/environment=env-abc123/cloud-cluster=lkc-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. + + **Important:** This differs from Github and Twitter's same-named header which uses UTC epoch seconds. We use relative time to avoid client/server time synchronization issues. + '400': + $ref: '#/components/responses/BadRequestError' + '401': + $ref: '#/components/responses/UnauthenticatedError' + '403': + $ref: '#/components/responses/UnauthorizedError' + '429': + $ref: '#/components/responses/RateLimitError' + '500': + $ref: '#/components/responses/DefaultSystemError' + x-codeSamples: + - lang: Shell + source: |- + curl --request GET \ + --url 'https://api.confluent.cloud/cdx/v1/provider-shares?shared_resource=sr-1234&crn=crn://confluent.cloud/cloud-cluster=lkc-111aaa/kafka=lkc-111aaa/topic=my.topic&include_deleted=SOME_BOOLEAN_VALUE' \ + --header 'Authorization: Basic REPLACE_BASIC_AUTH' + - lang: Java + source: |- + OkHttpClient client = new OkHttpClient(); + + Request request = new Request.Builder() + .url("https://api.confluent.cloud/cdx/v1/provider-shares?shared_resource=sr-1234&crn=crn://confluent.cloud/cloud-cluster=lkc-111aaa/kafka=lkc-111aaa/topic=my.topic&include_deleted=SOME_BOOLEAN_VALUE") + .get() + .addHeader("Authorization", "Basic REPLACE_BASIC_AUTH") + .build(); + + Response response = client.newCall(request).execute(); + - lang: Go + source: "package main\n\nimport (\n\t\"fmt\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.confluent.cloud/cdx/v1/provider-shares?shared_resource=sr-1234&crn=crn://confluent.cloud/cloud-cluster=lkc-111aaa/kafka=lkc-111aaa/topic=my.topic&include_deleted=SOME_BOOLEAN_VALUE\"\n\n\treq, _ := http.NewRequest(\"GET\", url, nil)\n\n\treq.Header.Add(\"Authorization\", \"Basic REPLACE_BASIC_AUTH\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}" + - lang: Python + source: |- + import http.client + + conn = http.client.HTTPSConnection("api.confluent.cloud") + + headers = { 'Authorization': "Basic REPLACE_BASIC_AUTH" } + + conn.request("GET", "/cdx/v1/provider-shares?shared_resource=sr-1234&crn=crn://confluent.cloud/cloud-cluster=lkc-111aaa/kafka=lkc-111aaa/topic=my.topic&include_deleted=SOME_BOOLEAN_VALUE", headers=headers) + + res = conn.getresponse() + data = res.read() + + print(data.decode("utf-8")) + - lang: Node + source: |- + const http = require("https"); + + const options = { + "method": "GET", + "hostname": "api.confluent.cloud", + "port": null, + "path": "/cdx/v1/provider-shares?shared_resource=sr-1234&crn=crn://confluent.cloud/cloud-cluster=lkc-111aaa/kafka=lkc-111aaa/topic=my.topic&include_deleted=SOME_BOOLEAN_VALUE", + "headers": { + "Authorization": "Basic REPLACE_BASIC_AUTH" + } + }; + + const req = http.request(options, function (res) { + const chunks = []; + + res.on("data", function (chunk) { + chunks.push(chunk); + }); + + res.on("end", function () { + const body = Buffer.concat(chunks); + console.log(body.toString()); + }); + }); + + req.end(); + - lang: C + source: |- + CURL *hnd = curl_easy_init(); + + curl_easy_setopt(hnd, CURLOPT_CUSTOMREQUEST, "GET"); + curl_easy_setopt(hnd, CURLOPT_URL, "https://api.confluent.cloud/cdx/v1/provider-shares?shared_resource=sr-1234&crn=crn://confluent.cloud/cloud-cluster=lkc-111aaa/kafka=lkc-111aaa/topic=my.topic&include_deleted=SOME_BOOLEAN_VALUE"); + + struct curl_slist *headers = NULL; + headers = curl_slist_append(headers, "Authorization: Basic REPLACE_BASIC_AUTH"); + curl_easy_setopt(hnd, CURLOPT_HTTPHEADER, headers); + + CURLcode ret = curl_easy_perform(hnd); + - lang: C# + source: |- + var client = new RestClient("https://api.confluent.cloud/cdx/v1/provider-shares?shared_resource=sr-1234&crn=crn://confluent.cloud/cloud-cluster=lkc-111aaa/kafka=lkc-111aaa/topic=my.topic&include_deleted=SOME_BOOLEAN_VALUE"); + var request = new RestRequest(Method.GET); + request.AddHeader("Authorization", "Basic REPLACE_BASIC_AUTH"); + IRestResponse response = client.Execute(request); + post: + summary: Create a provider share + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + Creates a share based on delivery method. + requestBody: + content: + application/json: + schema: + allOf: + - $ref: '#/components/schemas/cdx.v1.CreateProviderShareRequest' + - type: object + required: + - delivery_method + - consumer_restriction + - resources + operationId: createCdxV1ProviderShare + tags: + - Provider Shares (cdx/v1) + security: + - cloud-api-key: [] + - confluent-sts-access-token: [] + responses: + '201': + description: | + Response is the provider share + headers: + Location: + schema: + type: string + format: uri + example: 'https://some-subdomain.confluent.cloud/path/to/resource' + description: A URL that allows access to the resourced named by the crn + X-Request-Id: + schema: + type: string + description: The unique identifier for the API request. + content: + application/json: + schema: + $ref: '#/components/schemas/cdx.v1.ProviderShare' + '400': + $ref: '#/components/responses/BadRequestError' + '401': + $ref: '#/components/responses/UnauthenticatedError' + '403': + $ref: '#/components/responses/UnauthorizedError' + '409': + $ref: '#/components/responses/ConflictError' + '422': + $ref: '#/components/responses/ValidationError' + '429': + $ref: '#/components/responses/RateLimitError' + '500': + $ref: '#/components/responses/DefaultSystemError' + x-codeSamples: + - lang: Shell + source: |- + curl --request POST \ + --url https://api.confluent.cloud/cdx/v1/provider-shares \ + --header 'Authorization: Basic REPLACE_BASIC_AUTH' \ + --header 'content-type: application/json' \ + --data '{"delivery_method":"EMAIL","consumer_restriction":{"kind":"Email","email":"user@example.com"},"resources":["crn://confluent.cloud/environment=env-123/cloud-cluster=lkc-111aaa/kafka=lkc-111aaa/topic=my.topic"]}' + - lang: Java + source: |- + OkHttpClient client = new OkHttpClient(); + + MediaType mediaType = MediaType.parse("application/json"); + RequestBody body = RequestBody.create(mediaType, "{\"delivery_method\":\"EMAIL\",\"consumer_restriction\":{\"kind\":\"Email\",\"email\":\"user@example.com\"},\"resources\":[\"crn://confluent.cloud/environment=env-123/cloud-cluster=lkc-111aaa/kafka=lkc-111aaa/topic=my.topic\"]}"); + Request request = new Request.Builder() + .url("https://api.confluent.cloud/cdx/v1/provider-shares") + .post(body) + .addHeader("content-type", "application/json") + .addHeader("Authorization", "Basic REPLACE_BASIC_AUTH") + .build(); + + Response response = client.newCall(request).execute(); + - lang: Go + source: "package main\n\nimport (\n\t\"fmt\"\n\t\"strings\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.confluent.cloud/cdx/v1/provider-shares\"\n\n\tpayload := strings.NewReader(\"{\\\"delivery_method\\\":\\\"EMAIL\\\",\\\"consumer_restriction\\\":{\\\"kind\\\":\\\"Email\\\",\\\"email\\\":\\\"user@example.com\\\"},\\\"resources\\\":[\\\"crn://confluent.cloud/environment=env-123/cloud-cluster=lkc-111aaa/kafka=lkc-111aaa/topic=my.topic\\\"]}\")\n\n\treq, _ := http.NewRequest(\"POST\", url, payload)\n\n\treq.Header.Add(\"content-type\", \"application/json\")\n\treq.Header.Add(\"Authorization\", \"Basic REPLACE_BASIC_AUTH\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}" + - lang: Python + source: |- + import http.client + + conn = http.client.HTTPSConnection("api.confluent.cloud") + + payload = "{\"delivery_method\":\"EMAIL\",\"consumer_restriction\":{\"kind\":\"Email\",\"email\":\"user@example.com\"},\"resources\":[\"crn://confluent.cloud/environment=env-123/cloud-cluster=lkc-111aaa/kafka=lkc-111aaa/topic=my.topic\"]}" + + headers = { + 'content-type': "application/json", + 'Authorization': "Basic REPLACE_BASIC_AUTH" + } + + conn.request("POST", "/cdx/v1/provider-shares", payload, headers) + + res = conn.getresponse() + data = res.read() + + print(data.decode("utf-8")) + - lang: Node + source: |- + const http = require("https"); + + const options = { + "method": "POST", + "hostname": "api.confluent.cloud", + "port": null, + "path": "/cdx/v1/provider-shares", + "headers": { + "content-type": "application/json", + "Authorization": "Basic REPLACE_BASIC_AUTH" + } + }; + + const req = http.request(options, function (res) { + const chunks = []; + + res.on("data", function (chunk) { + chunks.push(chunk); + }); + + res.on("end", function () { + const body = Buffer.concat(chunks); + console.log(body.toString()); + }); + }); + + req.write(JSON.stringify({ + delivery_method: 'EMAIL', + consumer_restriction: {kind: 'Email', email: 'user@example.com'}, + resources: [ + 'crn://confluent.cloud/environment=env-123/cloud-cluster=lkc-111aaa/kafka=lkc-111aaa/topic=my.topic' + ] + })); + req.end(); + - lang: C + source: |- + CURL *hnd = curl_easy_init(); + + curl_easy_setopt(hnd, CURLOPT_CUSTOMREQUEST, "POST"); + curl_easy_setopt(hnd, CURLOPT_URL, "https://api.confluent.cloud/cdx/v1/provider-shares"); + + struct curl_slist *headers = NULL; + headers = curl_slist_append(headers, "content-type: application/json"); + headers = curl_slist_append(headers, "Authorization: Basic REPLACE_BASIC_AUTH"); + curl_easy_setopt(hnd, CURLOPT_HTTPHEADER, headers); + + curl_easy_setopt(hnd, CURLOPT_POSTFIELDS, "{\"delivery_method\":\"EMAIL\",\"consumer_restriction\":{\"kind\":\"Email\",\"email\":\"user@example.com\"},\"resources\":[\"crn://confluent.cloud/environment=env-123/cloud-cluster=lkc-111aaa/kafka=lkc-111aaa/topic=my.topic\"]}"); + + CURLcode ret = curl_easy_perform(hnd); + - lang: C# + source: |- + var client = new RestClient("https://api.confluent.cloud/cdx/v1/provider-shares"); + var request = new RestRequest(Method.POST); + request.AddHeader("content-type", "application/json"); + request.AddHeader("Authorization", "Basic REPLACE_BASIC_AUTH"); + request.AddParameter("application/json", "{\"delivery_method\":\"EMAIL\",\"consumer_restriction\":{\"kind\":\"Email\",\"email\":\"user@example.com\"},\"resources\":[\"crn://confluent.cloud/environment=env-123/cloud-cluster=lkc-111aaa/kafka=lkc-111aaa/topic=my.topic\"]}", ParameterType.RequestBody); + IRestResponse response = client.Execute(request); + '/cdx/v1/provider-shares/{id}': + get: + operationId: getCdxV1ProviderShare + summary: Read a Provider Share + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + Make a request to read a provider share. + parameters: + - name: id + in: path + required: true + schema: + type: string + description: The unique identifier for the provider share. + tags: + - Provider Shares (cdx/v1) + security: + - cloud-api-key: [] + - confluent-sts-access-token: [] + responses: + '200': + description: Provider Share. + content: + application/json: + schema: + allOf: + - $ref: '#/components/schemas/cdx.v1.ProviderShare' + - type: object + required: + - api_version + - kind + - id + - provider_user_name + - delivery_method + - invited_at + - invite_expires_at + - provider_user + - cloud_cluster + - status + - type: object + properties: + service_account: + example: + id: sa-4voj5e + related: 'https://api.confluent.cloud/iam/v2/service-accounts/sa-4voj5e' + resource_name: 'https://api.confluent.cloud/service-account=sa-4voj5e' + cloud_cluster: + example: + id: lkc-00000 + related: 'https://api.confluent.cloud/cmk/v2/clusters/lkc-00000' + resource_name: 'https://api.confluent.cloud/organization=9bb441c4-edef-46ac-8a41-c49e44a3fd9a/environment=env-abc123/cloud-cluster=lkc-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. + + **Important:** This differs from Github and Twitter's same-named header which uses UTC epoch seconds. We use relative time to avoid client/server time synchronization issues. + '400': + $ref: '#/components/responses/BadRequestError' + '401': + $ref: '#/components/responses/UnauthenticatedError' + '403': + $ref: '#/components/responses/UnauthorizedError' + '404': + $ref: '#/components/responses/NotFoundError' + '429': + $ref: '#/components/responses/RateLimitError' + '500': + $ref: '#/components/responses/DefaultSystemError' + x-codeSamples: + - lang: Shell + source: |- + curl --request GET \ + --url 'https://api.confluent.cloud/cdx/v1/provider-shares/{id}' \ + --header 'Authorization: Basic REPLACE_BASIC_AUTH' + - lang: Java + source: |- + OkHttpClient client = new OkHttpClient(); + + Request request = new Request.Builder() + .url("https://api.confluent.cloud/cdx/v1/provider-shares/{id}") + .get() + .addHeader("Authorization", "Basic REPLACE_BASIC_AUTH") + .build(); + + Response response = client.newCall(request).execute(); + - lang: Go + source: "package main\n\nimport (\n\t\"fmt\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.confluent.cloud/cdx/v1/provider-shares/{id}\"\n\n\treq, _ := http.NewRequest(\"GET\", url, nil)\n\n\treq.Header.Add(\"Authorization\", \"Basic REPLACE_BASIC_AUTH\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}" + - lang: Python + source: |- + import http.client + + conn = http.client.HTTPSConnection("api.confluent.cloud") + + headers = { 'Authorization': "Basic REPLACE_BASIC_AUTH" } + + conn.request("GET", "/cdx/v1/provider-shares/{id}", headers=headers) + + res = conn.getresponse() + data = res.read() + + print(data.decode("utf-8")) + - lang: Node + source: |- + const http = require("https"); + + const options = { + "method": "GET", + "hostname": "api.confluent.cloud", + "port": null, + "path": "/cdx/v1/provider-shares/{id}", + "headers": { + "Authorization": "Basic REPLACE_BASIC_AUTH" + } + }; + + const req = http.request(options, function (res) { + const chunks = []; + + res.on("data", function (chunk) { + chunks.push(chunk); + }); + + res.on("end", function () { + const body = Buffer.concat(chunks); + console.log(body.toString()); + }); + }); + + req.end(); + - lang: C + source: |- + CURL *hnd = curl_easy_init(); + + curl_easy_setopt(hnd, CURLOPT_CUSTOMREQUEST, "GET"); + curl_easy_setopt(hnd, CURLOPT_URL, "https://api.confluent.cloud/cdx/v1/provider-shares/{id}"); + + struct curl_slist *headers = NULL; + headers = curl_slist_append(headers, "Authorization: Basic REPLACE_BASIC_AUTH"); + curl_easy_setopt(hnd, CURLOPT_HTTPHEADER, headers); + + CURLcode ret = curl_easy_perform(hnd); + - lang: C# + source: |- + var client = new RestClient("https://api.confluent.cloud/cdx/v1/provider-shares/{id}"); + var request = new RestRequest(Method.GET); + request.AddHeader("Authorization", "Basic REPLACE_BASIC_AUTH"); + IRestResponse response = client.Execute(request); + delete: + operationId: deleteCdxV1ProviderShare + summary: Delete a Provider Share + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + Make a request to delete a provider share. + parameters: + - name: id + in: path + required: true + schema: + type: string + description: The unique identifier for the provider share. + tags: + - Provider Shares (cdx/v1) + security: + - cloud-api-key: [] + - confluent-sts-access-token: [] + responses: + '204': + description: A Provider Share is being deleted. + headers: + X-Request-Id: + schema: + type: string + description: The unique identifier for the API request. + X-RateLimit-Limit: + schema: + type: integer + description: The maximum number of requests you're permitted to make per time period. + X-RateLimit-Remaining: + schema: + type: integer + description: The number of requests remaining in the current rate limit window. + X-RateLimit-Reset: + schema: + type: integer + description: |- + The relative time in seconds until the current rate-limit window resets. + + **Important:** This differs from Github and Twitter's same-named header which uses UTC epoch seconds. We use relative time to avoid client/server time synchronization issues. + '400': + $ref: '#/components/responses/BadRequestError' + '401': + $ref: '#/components/responses/UnauthenticatedError' + '403': + $ref: '#/components/responses/UnauthorizedError' + '404': + $ref: '#/components/responses/NotFoundError' + '429': + $ref: '#/components/responses/RateLimitError' + '500': + $ref: '#/components/responses/DefaultSystemError' + x-codeSamples: + - lang: Shell + source: |- + curl --request DELETE \ + --url 'https://api.confluent.cloud/cdx/v1/provider-shares/{id}' \ + --header 'Authorization: Basic REPLACE_BASIC_AUTH' + - lang: Java + source: |- + OkHttpClient client = new OkHttpClient(); + + Request request = new Request.Builder() + .url("https://api.confluent.cloud/cdx/v1/provider-shares/{id}") + .delete(null) + .addHeader("Authorization", "Basic REPLACE_BASIC_AUTH") + .build(); + + Response response = client.newCall(request).execute(); + - lang: Go + source: "package main\n\nimport (\n\t\"fmt\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.confluent.cloud/cdx/v1/provider-shares/{id}\"\n\n\treq, _ := http.NewRequest(\"DELETE\", url, nil)\n\n\treq.Header.Add(\"Authorization\", \"Basic REPLACE_BASIC_AUTH\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}" + - lang: Python + source: |- + import http.client + + conn = http.client.HTTPSConnection("api.confluent.cloud") + + headers = { 'Authorization': "Basic REPLACE_BASIC_AUTH" } + + conn.request("DELETE", "/cdx/v1/provider-shares/{id}", headers=headers) + + res = conn.getresponse() + data = res.read() + + print(data.decode("utf-8")) + - lang: Node + source: |- + const http = require("https"); + + const options = { + "method": "DELETE", + "hostname": "api.confluent.cloud", + "port": null, + "path": "/cdx/v1/provider-shares/{id}", + "headers": { + "Authorization": "Basic REPLACE_BASIC_AUTH" + } + }; + + const req = http.request(options, function (res) { + const chunks = []; + + res.on("data", function (chunk) { + chunks.push(chunk); + }); + + res.on("end", function () { + const body = Buffer.concat(chunks); + console.log(body.toString()); + }); + }); + + req.end(); + - lang: C + source: |- + CURL *hnd = curl_easy_init(); + + curl_easy_setopt(hnd, CURLOPT_CUSTOMREQUEST, "DELETE"); + curl_easy_setopt(hnd, CURLOPT_URL, "https://api.confluent.cloud/cdx/v1/provider-shares/{id}"); + + struct curl_slist *headers = NULL; + headers = curl_slist_append(headers, "Authorization: Basic REPLACE_BASIC_AUTH"); + curl_easy_setopt(hnd, CURLOPT_HTTPHEADER, headers); + + CURLcode ret = curl_easy_perform(hnd); + - lang: C# + source: |- + var client = new RestClient("https://api.confluent.cloud/cdx/v1/provider-shares/{id}"); + var request = new RestRequest(Method.DELETE); + request.AddHeader("Authorization", "Basic REPLACE_BASIC_AUTH"); + IRestResponse response = client.Execute(request); + '/cdx/v1/provider-shares/{id}:resend': + post: + summary: Resend + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + Resend provider share + x-name: cdx.v1.ProviderShare + operationId: resendCdxV1ProviderShare + parameters: + - name: id + in: path + required: true + schema: + type: string + description: The unique identifier for the provider share. + tags: + - Provider Shares (cdx/v1) + security: + - cloud-api-key: [] + - confluent-sts-access-token: [] + responses: + '204': + description: No Content + '400': + $ref: '#/components/responses/BadRequestError' + '401': + $ref: '#/components/responses/UnauthenticatedError' + '403': + $ref: '#/components/responses/UnauthorizedError' + '404': + $ref: '#/components/responses/NotFoundError' + '429': + $ref: '#/components/responses/RateLimitError' + '500': + $ref: '#/components/responses/DefaultSystemError' + x-codeSamples: + - lang: Shell + source: |- + curl --request POST \ + --url 'https://api.confluent.cloud/cdx/v1/provider-shares/{id}:resend' \ + --header 'Authorization: Basic REPLACE_BASIC_AUTH' + - lang: Java + source: |- + OkHttpClient client = new OkHttpClient(); + + Request request = new Request.Builder() + .url("https://api.confluent.cloud/cdx/v1/provider-shares/{id}:resend") + .post(null) + .addHeader("Authorization", "Basic REPLACE_BASIC_AUTH") + .build(); + + Response response = client.newCall(request).execute(); + - lang: Go + source: "package main\n\nimport (\n\t\"fmt\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.confluent.cloud/cdx/v1/provider-shares/{id}:resend\"\n\n\treq, _ := http.NewRequest(\"POST\", url, nil)\n\n\treq.Header.Add(\"Authorization\", \"Basic REPLACE_BASIC_AUTH\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}" + - lang: Python + source: |- + import http.client + + conn = http.client.HTTPSConnection("api.confluent.cloud") + + headers = { 'Authorization': "Basic REPLACE_BASIC_AUTH" } + + conn.request("POST", "/cdx/v1/provider-shares/{id}:resend", headers=headers) + + res = conn.getresponse() + data = res.read() + + print(data.decode("utf-8")) + - lang: Node + source: |- + const http = require("https"); + + const options = { + "method": "POST", + "hostname": "api.confluent.cloud", + "port": null, + "path": "/cdx/v1/provider-shares/{id}:resend", + "headers": { + "Authorization": "Basic REPLACE_BASIC_AUTH" + } + }; + + const req = http.request(options, function (res) { + const chunks = []; + + res.on("data", function (chunk) { + chunks.push(chunk); + }); + + res.on("end", function () { + const body = Buffer.concat(chunks); + console.log(body.toString()); + }); + }); + + req.end(); + - lang: C + source: |- + CURL *hnd = curl_easy_init(); + + curl_easy_setopt(hnd, CURLOPT_CUSTOMREQUEST, "POST"); + curl_easy_setopt(hnd, CURLOPT_URL, "https://api.confluent.cloud/cdx/v1/provider-shares/{id}:resend"); + + struct curl_slist *headers = NULL; + headers = curl_slist_append(headers, "Authorization: Basic REPLACE_BASIC_AUTH"); + curl_easy_setopt(hnd, CURLOPT_HTTPHEADER, headers); + + CURLcode ret = curl_easy_perform(hnd); + - lang: C# + source: |- + var client = new RestClient("https://api.confluent.cloud/cdx/v1/provider-shares/{id}:resend"); + var request = new RestRequest(Method.POST); + request.AddHeader("Authorization", "Basic REPLACE_BASIC_AUTH"); + IRestResponse response = client.Execute(request); + /cdx/v1/consumer-shared-resources: + get: + operationId: listCdxV1ConsumerSharedResources + summary: List of Consumer Shared Resources + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + Retrieve a sorted, filtered, paginated list of all consumer shared resources. + parameters: + - name: stream_share + in: query + required: false + schema: + $ref: '#/components/schemas/SearchFilter' + example: ss-1234 + description: Filter the results by exact match for stream_share. + - name: include_deleted + in: query + required: false + schema: + $ref: '#/components/schemas/BooleanFilter' + description: Include deactivated shared resources + - 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: + - Consumer Shared Resources (cdx/v1) + security: + - cloud-api-key: [] + responses: + '200': + description: Consumer Shared Resource. + content: + application/json: + schema: + allOf: + - $ref: '#/components/schemas/cdx.v1.ConsumerSharedResourceList' + 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. + + **Important:** This differs from Github and Twitter's same-named header which uses UTC epoch seconds. We use relative time to avoid client/server time synchronization issues. + '400': + $ref: '#/components/responses/BadRequestError' + '401': + $ref: '#/components/responses/UnauthenticatedError' + '403': + $ref: '#/components/responses/UnauthorizedError' + '429': + $ref: '#/components/responses/RateLimitError' + '500': + $ref: '#/components/responses/DefaultSystemError' + x-codeSamples: + - lang: Shell + source: |- + curl --request GET \ + --url 'https://api.confluent.cloud/cdx/v1/consumer-shared-resources?stream_share=ss-1234&include_deleted=SOME_BOOLEAN_VALUE' \ + --header 'Authorization: Basic REPLACE_BASIC_AUTH' + - lang: Java + source: |- + OkHttpClient client = new OkHttpClient(); + + Request request = new Request.Builder() + .url("https://api.confluent.cloud/cdx/v1/consumer-shared-resources?stream_share=ss-1234&include_deleted=SOME_BOOLEAN_VALUE") + .get() + .addHeader("Authorization", "Basic REPLACE_BASIC_AUTH") + .build(); + + Response response = client.newCall(request).execute(); + - lang: Go + source: "package main\n\nimport (\n\t\"fmt\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.confluent.cloud/cdx/v1/consumer-shared-resources?stream_share=ss-1234&include_deleted=SOME_BOOLEAN_VALUE\"\n\n\treq, _ := http.NewRequest(\"GET\", url, nil)\n\n\treq.Header.Add(\"Authorization\", \"Basic REPLACE_BASIC_AUTH\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}" + - lang: Python + source: |- + import http.client + + conn = http.client.HTTPSConnection("api.confluent.cloud") + + headers = { 'Authorization': "Basic REPLACE_BASIC_AUTH" } + + conn.request("GET", "/cdx/v1/consumer-shared-resources?stream_share=ss-1234&include_deleted=SOME_BOOLEAN_VALUE", headers=headers) + + res = conn.getresponse() + data = res.read() + + print(data.decode("utf-8")) + - lang: Node + source: |- + const http = require("https"); + + const options = { + "method": "GET", + "hostname": "api.confluent.cloud", + "port": null, + "path": "/cdx/v1/consumer-shared-resources?stream_share=ss-1234&include_deleted=SOME_BOOLEAN_VALUE", + "headers": { + "Authorization": "Basic REPLACE_BASIC_AUTH" + } + }; + + const req = http.request(options, function (res) { + const chunks = []; + + res.on("data", function (chunk) { + chunks.push(chunk); + }); + + res.on("end", function () { + const body = Buffer.concat(chunks); + console.log(body.toString()); + }); + }); + + req.end(); + - lang: C + source: |- + CURL *hnd = curl_easy_init(); + + curl_easy_setopt(hnd, CURLOPT_CUSTOMREQUEST, "GET"); + curl_easy_setopt(hnd, CURLOPT_URL, "https://api.confluent.cloud/cdx/v1/consumer-shared-resources?stream_share=ss-1234&include_deleted=SOME_BOOLEAN_VALUE"); + + struct curl_slist *headers = NULL; + headers = curl_slist_append(headers, "Authorization: Basic REPLACE_BASIC_AUTH"); + curl_easy_setopt(hnd, CURLOPT_HTTPHEADER, headers); + + CURLcode ret = curl_easy_perform(hnd); + - lang: C# + source: |- + var client = new RestClient("https://api.confluent.cloud/cdx/v1/consumer-shared-resources?stream_share=ss-1234&include_deleted=SOME_BOOLEAN_VALUE"); + var request = new RestRequest(Method.GET); + request.AddHeader("Authorization", "Basic REPLACE_BASIC_AUTH"); + IRestResponse response = client.Execute(request); + '/cdx/v1/consumer-shared-resources/{id}': + get: + operationId: getCdxV1ConsumerSharedResource + summary: Read a Consumer Shared Resource + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + Make a request to read a consumer shared resource. + parameters: + - name: id + in: path + required: true + schema: + type: string + description: The unique identifier for the consumer shared resource. + tags: + - Consumer Shared Resources (cdx/v1) + security: + - cloud-api-key: [] + responses: + '200': + description: Consumer Shared Resource. + content: + application/json: + schema: + allOf: + - $ref: '#/components/schemas/cdx.v1.ConsumerSharedResource' + - type: object + required: + - api_version + - kind + - id + - cloud + - display_name + - organization_name + 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. + + **Important:** This differs from Github and Twitter's same-named header which uses UTC epoch seconds. We use relative time to avoid client/server time synchronization issues. + '400': + $ref: '#/components/responses/BadRequestError' + '401': + $ref: '#/components/responses/UnauthenticatedError' + '403': + $ref: '#/components/responses/UnauthorizedError' + '404': + $ref: '#/components/responses/NotFoundError' + '429': + $ref: '#/components/responses/RateLimitError' + '500': + $ref: '#/components/responses/DefaultSystemError' + x-codeSamples: + - lang: Shell + source: |- + curl --request GET \ + --url 'https://api.confluent.cloud/cdx/v1/consumer-shared-resources/{id}' \ + --header 'Authorization: Basic REPLACE_BASIC_AUTH' + - lang: Java + source: |- + OkHttpClient client = new OkHttpClient(); + + Request request = new Request.Builder() + .url("https://api.confluent.cloud/cdx/v1/consumer-shared-resources/{id}") + .get() + .addHeader("Authorization", "Basic REPLACE_BASIC_AUTH") + .build(); + + Response response = client.newCall(request).execute(); + - lang: Go + source: "package main\n\nimport (\n\t\"fmt\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.confluent.cloud/cdx/v1/consumer-shared-resources/{id}\"\n\n\treq, _ := http.NewRequest(\"GET\", url, nil)\n\n\treq.Header.Add(\"Authorization\", \"Basic REPLACE_BASIC_AUTH\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}" + - lang: Python + source: |- + import http.client + + conn = http.client.HTTPSConnection("api.confluent.cloud") + + headers = { 'Authorization': "Basic REPLACE_BASIC_AUTH" } + + conn.request("GET", "/cdx/v1/consumer-shared-resources/{id}", headers=headers) + + res = conn.getresponse() + data = res.read() + + print(data.decode("utf-8")) + - lang: Node + source: |- + const http = require("https"); + + const options = { + "method": "GET", + "hostname": "api.confluent.cloud", + "port": null, + "path": "/cdx/v1/consumer-shared-resources/{id}", + "headers": { + "Authorization": "Basic REPLACE_BASIC_AUTH" + } + }; + + const req = http.request(options, function (res) { + const chunks = []; + + res.on("data", function (chunk) { + chunks.push(chunk); + }); + + res.on("end", function () { + const body = Buffer.concat(chunks); + console.log(body.toString()); + }); + }); + + req.end(); + - lang: C + source: |- + CURL *hnd = curl_easy_init(); + + curl_easy_setopt(hnd, CURLOPT_CUSTOMREQUEST, "GET"); + curl_easy_setopt(hnd, CURLOPT_URL, "https://api.confluent.cloud/cdx/v1/consumer-shared-resources/{id}"); + + struct curl_slist *headers = NULL; + headers = curl_slist_append(headers, "Authorization: Basic REPLACE_BASIC_AUTH"); + curl_easy_setopt(hnd, CURLOPT_HTTPHEADER, headers); + + CURLcode ret = curl_easy_perform(hnd); + - lang: C# + source: |- + var client = new RestClient("https://api.confluent.cloud/cdx/v1/consumer-shared-resources/{id}"); + var request = new RestRequest(Method.GET); + request.AddHeader("Authorization", "Basic REPLACE_BASIC_AUTH"); + IRestResponse response = client.Execute(request); + '/cdx/v1/consumer-shared-resources/{id}/images/{file_name}': + get: + summary: Get image for shared resource + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + Returns the image file for the shared resource + x-name: cdx.v1.ConsumerSharedResource + operationId: imageCdxV1ConsumerSharedResource + parameters: + - name: id + in: path + required: true + schema: + type: string + description: The unique identifier for the consumer shared resource. + - name: file_name + in: path + required: true + schema: + type: string + description: The File Name + tags: + - Consumer Shared Resources (cdx/v1) + security: + - cloud-api-key: [] + responses: + '200': + description: Returns the image file's binary content + content: + image/*: + schema: + type: string + format: binary + '400': + $ref: '#/components/responses/BadRequestError' + '401': + $ref: '#/components/responses/UnauthenticatedError' + '403': + $ref: '#/components/responses/UnauthorizedError' + '404': + $ref: '#/components/responses/NotFoundError' + '429': + $ref: '#/components/responses/RateLimitError' + '500': + $ref: '#/components/responses/DefaultSystemError' + x-codeSamples: + - lang: Shell + source: |- + curl --request GET \ + --url 'https://api.confluent.cloud/cdx/v1/consumer-shared-resources/{id}/images/{file_name}' \ + --header 'Authorization: Basic REPLACE_BASIC_AUTH' + - lang: Java + source: |- + OkHttpClient client = new OkHttpClient(); + + Request request = new Request.Builder() + .url("https://api.confluent.cloud/cdx/v1/consumer-shared-resources/{id}/images/{file_name}") + .get() + .addHeader("Authorization", "Basic REPLACE_BASIC_AUTH") + .build(); + + Response response = client.newCall(request).execute(); + - lang: Go + source: "package main\n\nimport (\n\t\"fmt\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.confluent.cloud/cdx/v1/consumer-shared-resources/{id}/images/{file_name}\"\n\n\treq, _ := http.NewRequest(\"GET\", url, nil)\n\n\treq.Header.Add(\"Authorization\", \"Basic REPLACE_BASIC_AUTH\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}" + - lang: Python + source: |- + import http.client + + conn = http.client.HTTPSConnection("api.confluent.cloud") + + headers = { 'Authorization': "Basic REPLACE_BASIC_AUTH" } + + conn.request("GET", "/cdx/v1/consumer-shared-resources/{id}/images/{file_name}", headers=headers) + + res = conn.getresponse() + data = res.read() + + print(data.decode("utf-8")) + - lang: Node + source: |- + const http = require("https"); + + const options = { + "method": "GET", + "hostname": "api.confluent.cloud", + "port": null, + "path": "/cdx/v1/consumer-shared-resources/{id}/images/{file_name}", + "headers": { + "Authorization": "Basic REPLACE_BASIC_AUTH" + } + }; + + const req = http.request(options, function (res) { + const chunks = []; + + res.on("data", function (chunk) { + chunks.push(chunk); + }); + + res.on("end", function () { + const body = Buffer.concat(chunks); + console.log(body.toString()); + }); + }); + + req.end(); + - lang: C + source: |- + CURL *hnd = curl_easy_init(); + + curl_easy_setopt(hnd, CURLOPT_CUSTOMREQUEST, "GET"); + curl_easy_setopt(hnd, CURLOPT_URL, "https://api.confluent.cloud/cdx/v1/consumer-shared-resources/{id}/images/{file_name}"); + + struct curl_slist *headers = NULL; + headers = curl_slist_append(headers, "Authorization: Basic REPLACE_BASIC_AUTH"); + curl_easy_setopt(hnd, CURLOPT_HTTPHEADER, headers); + + CURLcode ret = curl_easy_perform(hnd); + - lang: C# + source: |- + var client = new RestClient("https://api.confluent.cloud/cdx/v1/consumer-shared-resources/{id}/images/{file_name}"); + var request = new RestRequest(Method.GET); + request.AddHeader("Authorization", "Basic REPLACE_BASIC_AUTH"); + IRestResponse response = client.Execute(request); + '/cdx/v1/consumer-shared-resources/{id}:network': + get: + summary: Get shared resource's network configuration + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + Returns network information of the shared resource + x-name: cdx.v1.ConsumerSharedResource + operationId: networkCdxV1ConsumerSharedResource + parameters: + - name: id + in: path + required: true + schema: + type: string + description: The unique identifier for the consumer shared resource. + tags: + - Consumer Shared Resources (cdx/v1) + security: + - cloud-api-key: [] + responses: + '200': + description: The network information of the shared resource + content: + application/json: + schema: + $ref: '#/components/schemas/cdx.v1.Network' + '400': + $ref: '#/components/responses/BadRequestError' + '401': + $ref: '#/components/responses/UnauthenticatedError' + '403': + $ref: '#/components/responses/UnauthorizedError' + '404': + $ref: '#/components/responses/NotFoundError' + '429': + $ref: '#/components/responses/RateLimitError' + '500': + $ref: '#/components/responses/DefaultSystemError' + x-codeSamples: + - lang: Shell + source: |- + curl --request GET \ + --url 'https://api.confluent.cloud/cdx/v1/consumer-shared-resources/{id}:network' \ + --header 'Authorization: Basic REPLACE_BASIC_AUTH' + - lang: Java + source: |- + OkHttpClient client = new OkHttpClient(); + + Request request = new Request.Builder() + .url("https://api.confluent.cloud/cdx/v1/consumer-shared-resources/{id}:network") + .get() + .addHeader("Authorization", "Basic REPLACE_BASIC_AUTH") + .build(); + + Response response = client.newCall(request).execute(); + - lang: Go + source: "package main\n\nimport (\n\t\"fmt\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.confluent.cloud/cdx/v1/consumer-shared-resources/{id}:network\"\n\n\treq, _ := http.NewRequest(\"GET\", url, nil)\n\n\treq.Header.Add(\"Authorization\", \"Basic REPLACE_BASIC_AUTH\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}" + - lang: Python + source: |- + import http.client + + conn = http.client.HTTPSConnection("api.confluent.cloud") + + headers = { 'Authorization': "Basic REPLACE_BASIC_AUTH" } + + conn.request("GET", "/cdx/v1/consumer-shared-resources/{id}:network", headers=headers) + + res = conn.getresponse() + data = res.read() + + print(data.decode("utf-8")) + - lang: Node + source: |- + const http = require("https"); + + const options = { + "method": "GET", + "hostname": "api.confluent.cloud", + "port": null, + "path": "/cdx/v1/consumer-shared-resources/{id}:network", + "headers": { + "Authorization": "Basic REPLACE_BASIC_AUTH" + } + }; + + const req = http.request(options, function (res) { + const chunks = []; + + res.on("data", function (chunk) { + chunks.push(chunk); + }); + + res.on("end", function () { + const body = Buffer.concat(chunks); + console.log(body.toString()); + }); + }); + + req.end(); + - lang: C + source: |- + CURL *hnd = curl_easy_init(); + + curl_easy_setopt(hnd, CURLOPT_CUSTOMREQUEST, "GET"); + curl_easy_setopt(hnd, CURLOPT_URL, "https://api.confluent.cloud/cdx/v1/consumer-shared-resources/{id}:network"); + + struct curl_slist *headers = NULL; + headers = curl_slist_append(headers, "Authorization: Basic REPLACE_BASIC_AUTH"); + curl_easy_setopt(hnd, CURLOPT_HTTPHEADER, headers); + + CURLcode ret = curl_easy_perform(hnd); + - lang: C# + source: |- + var client = new RestClient("https://api.confluent.cloud/cdx/v1/consumer-shared-resources/{id}:network"); + var request = new RestRequest(Method.GET); + request.AddHeader("Authorization", "Basic REPLACE_BASIC_AUTH"); + IRestResponse response = client.Execute(request); + /cdx/v1/consumer-shares: + get: + operationId: listCdxV1ConsumerShares + summary: List of Consumer Shares + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + Retrieve a sorted, filtered, paginated list of all consumer shares. + parameters: + - name: shared_resource + in: query + required: false + schema: + $ref: '#/components/schemas/SearchFilter' + example: sr-1234 + description: Filter the results by exact match for shared_resource. + - name: include_deleted + in: query + required: false + schema: + $ref: '#/components/schemas/BooleanFilter' + description: Include deactivated shares + - 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: + - Consumer Shares (cdx/v1) + security: + - cloud-api-key: [] + responses: + '200': + description: Consumer Share. + content: + application/json: + schema: + allOf: + - $ref: '#/components/schemas/cdx.v1.ConsumerShareList' + 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. + + **Important:** This differs from Github and Twitter's same-named header which uses UTC epoch seconds. We use relative time to avoid client/server time synchronization issues. + '400': + $ref: '#/components/responses/BadRequestError' + '401': + $ref: '#/components/responses/UnauthenticatedError' + '403': + $ref: '#/components/responses/UnauthorizedError' + '429': + $ref: '#/components/responses/RateLimitError' + '500': + $ref: '#/components/responses/DefaultSystemError' + x-codeSamples: + - lang: Shell + source: |- + curl --request GET \ + --url 'https://api.confluent.cloud/cdx/v1/consumer-shares?shared_resource=sr-1234&include_deleted=SOME_BOOLEAN_VALUE' \ + --header 'Authorization: Basic REPLACE_BASIC_AUTH' + - lang: Java + source: |- + OkHttpClient client = new OkHttpClient(); + + Request request = new Request.Builder() + .url("https://api.confluent.cloud/cdx/v1/consumer-shares?shared_resource=sr-1234&include_deleted=SOME_BOOLEAN_VALUE") + .get() + .addHeader("Authorization", "Basic REPLACE_BASIC_AUTH") + .build(); + + Response response = client.newCall(request).execute(); + - lang: Go + source: "package main\n\nimport (\n\t\"fmt\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.confluent.cloud/cdx/v1/consumer-shares?shared_resource=sr-1234&include_deleted=SOME_BOOLEAN_VALUE\"\n\n\treq, _ := http.NewRequest(\"GET\", url, nil)\n\n\treq.Header.Add(\"Authorization\", \"Basic REPLACE_BASIC_AUTH\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}" + - lang: Python + source: |- + import http.client + + conn = http.client.HTTPSConnection("api.confluent.cloud") + + headers = { 'Authorization': "Basic REPLACE_BASIC_AUTH" } + + conn.request("GET", "/cdx/v1/consumer-shares?shared_resource=sr-1234&include_deleted=SOME_BOOLEAN_VALUE", headers=headers) + + res = conn.getresponse() + data = res.read() + + print(data.decode("utf-8")) + - lang: Node + source: |- + const http = require("https"); + + const options = { + "method": "GET", + "hostname": "api.confluent.cloud", + "port": null, + "path": "/cdx/v1/consumer-shares?shared_resource=sr-1234&include_deleted=SOME_BOOLEAN_VALUE", + "headers": { + "Authorization": "Basic REPLACE_BASIC_AUTH" + } + }; + + const req = http.request(options, function (res) { + const chunks = []; + + res.on("data", function (chunk) { + chunks.push(chunk); + }); + + res.on("end", function () { + const body = Buffer.concat(chunks); + console.log(body.toString()); + }); + }); + + req.end(); + - lang: C + source: |- + CURL *hnd = curl_easy_init(); + + curl_easy_setopt(hnd, CURLOPT_CUSTOMREQUEST, "GET"); + curl_easy_setopt(hnd, CURLOPT_URL, "https://api.confluent.cloud/cdx/v1/consumer-shares?shared_resource=sr-1234&include_deleted=SOME_BOOLEAN_VALUE"); + + struct curl_slist *headers = NULL; + headers = curl_slist_append(headers, "Authorization: Basic REPLACE_BASIC_AUTH"); + curl_easy_setopt(hnd, CURLOPT_HTTPHEADER, headers); + + CURLcode ret = curl_easy_perform(hnd); + - lang: C# + source: |- + var client = new RestClient("https://api.confluent.cloud/cdx/v1/consumer-shares?shared_resource=sr-1234&include_deleted=SOME_BOOLEAN_VALUE"); + var request = new RestRequest(Method.GET); + request.AddHeader("Authorization", "Basic REPLACE_BASIC_AUTH"); + IRestResponse response = client.Execute(request); + '/cdx/v1/consumer-shares/{id}': + get: + operationId: getCdxV1ConsumerShare + summary: Read a Consumer Share + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + Make a request to read a consumer share. + parameters: + - name: id + in: path + required: true + schema: + type: string + description: The unique identifier for the consumer share. + tags: + - Consumer Shares (cdx/v1) + security: + - cloud-api-key: [] + responses: + '200': + description: Consumer Share. + content: + application/json: + schema: + allOf: + - $ref: '#/components/schemas/cdx.v1.ConsumerShare' + - type: object + required: + - api_version + - kind + - id + - provider_organization_name + - provider_user_name + - consumer_user + - status + 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. + + **Important:** This differs from Github and Twitter's same-named header which uses UTC epoch seconds. We use relative time to avoid client/server time synchronization issues. + '400': + $ref: '#/components/responses/BadRequestError' + '401': + $ref: '#/components/responses/UnauthenticatedError' + '403': + $ref: '#/components/responses/UnauthorizedError' + '404': + $ref: '#/components/responses/NotFoundError' + '429': + $ref: '#/components/responses/RateLimitError' + '500': + $ref: '#/components/responses/DefaultSystemError' + x-codeSamples: + - lang: Shell + source: |- + curl --request GET \ + --url 'https://api.confluent.cloud/cdx/v1/consumer-shares/{id}' \ + --header 'Authorization: Basic REPLACE_BASIC_AUTH' + - lang: Java + source: |- + OkHttpClient client = new OkHttpClient(); + + Request request = new Request.Builder() + .url("https://api.confluent.cloud/cdx/v1/consumer-shares/{id}") + .get() + .addHeader("Authorization", "Basic REPLACE_BASIC_AUTH") + .build(); + + Response response = client.newCall(request).execute(); + - lang: Go + source: "package main\n\nimport (\n\t\"fmt\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.confluent.cloud/cdx/v1/consumer-shares/{id}\"\n\n\treq, _ := http.NewRequest(\"GET\", url, nil)\n\n\treq.Header.Add(\"Authorization\", \"Basic REPLACE_BASIC_AUTH\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}" + - lang: Python + source: |- + import http.client + + conn = http.client.HTTPSConnection("api.confluent.cloud") + + headers = { 'Authorization': "Basic REPLACE_BASIC_AUTH" } + + conn.request("GET", "/cdx/v1/consumer-shares/{id}", headers=headers) + + res = conn.getresponse() + data = res.read() + + print(data.decode("utf-8")) + - lang: Node + source: |- + const http = require("https"); + + const options = { + "method": "GET", + "hostname": "api.confluent.cloud", + "port": null, + "path": "/cdx/v1/consumer-shares/{id}", + "headers": { + "Authorization": "Basic REPLACE_BASIC_AUTH" + } + }; + + const req = http.request(options, function (res) { + const chunks = []; + + res.on("data", function (chunk) { + chunks.push(chunk); + }); + + res.on("end", function () { + const body = Buffer.concat(chunks); + console.log(body.toString()); + }); + }); + + req.end(); + - lang: C + source: |- + CURL *hnd = curl_easy_init(); + + curl_easy_setopt(hnd, CURLOPT_CUSTOMREQUEST, "GET"); + curl_easy_setopt(hnd, CURLOPT_URL, "https://api.confluent.cloud/cdx/v1/consumer-shares/{id}"); + + struct curl_slist *headers = NULL; + headers = curl_slist_append(headers, "Authorization: Basic REPLACE_BASIC_AUTH"); + curl_easy_setopt(hnd, CURLOPT_HTTPHEADER, headers); + + CURLcode ret = curl_easy_perform(hnd); + - lang: C# + source: |- + var client = new RestClient("https://api.confluent.cloud/cdx/v1/consumer-shares/{id}"); + var request = new RestRequest(Method.GET); + request.AddHeader("Authorization", "Basic REPLACE_BASIC_AUTH"); + IRestResponse response = client.Execute(request); + delete: + operationId: deleteCdxV1ConsumerShare + summary: Delete a Consumer Share + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + Make a request to delete a consumer share. + parameters: + - name: id + in: path + required: true + schema: + type: string + description: The unique identifier for the consumer share. + tags: + - Consumer Shares (cdx/v1) + security: + - cloud-api-key: [] + responses: + '204': + description: A Consumer Share is being deleted. + headers: + X-Request-Id: + schema: + type: string + description: The unique identifier for the API request. + X-RateLimit-Limit: + schema: + type: integer + description: The maximum number of requests you're permitted to make per time period. + X-RateLimit-Remaining: + schema: + type: integer + description: The number of requests remaining in the current rate limit window. + X-RateLimit-Reset: + schema: + type: integer + description: |- + The relative time in seconds until the current rate-limit window resets. + + **Important:** This differs from Github and Twitter's same-named header which uses UTC epoch seconds. We use relative time to avoid client/server time synchronization issues. + '400': + $ref: '#/components/responses/BadRequestError' + '401': + $ref: '#/components/responses/UnauthenticatedError' + '403': + $ref: '#/components/responses/UnauthorizedError' + '404': + $ref: '#/components/responses/NotFoundError' + '429': + $ref: '#/components/responses/RateLimitError' + '500': + $ref: '#/components/responses/DefaultSystemError' + x-codeSamples: + - lang: Shell + source: |- + curl --request DELETE \ + --url 'https://api.confluent.cloud/cdx/v1/consumer-shares/{id}' \ + --header 'Authorization: Basic REPLACE_BASIC_AUTH' + - lang: Java + source: |- + OkHttpClient client = new OkHttpClient(); + + Request request = new Request.Builder() + .url("https://api.confluent.cloud/cdx/v1/consumer-shares/{id}") + .delete(null) + .addHeader("Authorization", "Basic REPLACE_BASIC_AUTH") + .build(); + + Response response = client.newCall(request).execute(); + - lang: Go + source: "package main\n\nimport (\n\t\"fmt\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.confluent.cloud/cdx/v1/consumer-shares/{id}\"\n\n\treq, _ := http.NewRequest(\"DELETE\", url, nil)\n\n\treq.Header.Add(\"Authorization\", \"Basic REPLACE_BASIC_AUTH\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}" + - lang: Python + source: |- + import http.client + + conn = http.client.HTTPSConnection("api.confluent.cloud") + + headers = { 'Authorization': "Basic REPLACE_BASIC_AUTH" } + + conn.request("DELETE", "/cdx/v1/consumer-shares/{id}", headers=headers) + + res = conn.getresponse() + data = res.read() + + print(data.decode("utf-8")) + - lang: Node + source: |- + const http = require("https"); + + const options = { + "method": "DELETE", + "hostname": "api.confluent.cloud", + "port": null, + "path": "/cdx/v1/consumer-shares/{id}", + "headers": { + "Authorization": "Basic REPLACE_BASIC_AUTH" + } + }; + + const req = http.request(options, function (res) { + const chunks = []; + + res.on("data", function (chunk) { + chunks.push(chunk); + }); + + res.on("end", function () { + const body = Buffer.concat(chunks); + console.log(body.toString()); + }); + }); + + req.end(); + - lang: C + source: |- + CURL *hnd = curl_easy_init(); + + curl_easy_setopt(hnd, CURLOPT_CUSTOMREQUEST, "DELETE"); + curl_easy_setopt(hnd, CURLOPT_URL, "https://api.confluent.cloud/cdx/v1/consumer-shares/{id}"); + + struct curl_slist *headers = NULL; + headers = curl_slist_append(headers, "Authorization: Basic REPLACE_BASIC_AUTH"); + curl_easy_setopt(hnd, CURLOPT_HTTPHEADER, headers); + + CURLcode ret = curl_easy_perform(hnd); + - lang: C# + source: |- + var client = new RestClient("https://api.confluent.cloud/cdx/v1/consumer-shares/{id}"); + var request = new RestRequest(Method.DELETE); + request.AddHeader("Authorization", "Basic REPLACE_BASIC_AUTH"); + IRestResponse response = client.Execute(request); + '/cdx/v1/shared-tokens:resources': + post: + summary: Validate token to view shared resources + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + Validate and decrypt the shared token and view token's shared resources + requestBody: + content: + application/json: + schema: + allOf: + - $ref: '#/components/schemas/cdx.v1.SharedToken' + - type: object + required: + - token + x-name: cdx.v1.SharedToken + operationId: resourcesCdxV1SharedToken + tags: + - Shared Tokens (cdx/v1) + security: + - cloud-api-key: [] + responses: + '200': + description: | + Consumer validates share token and view consumer resources before redeeming in the workflow + content: + application/json: + schema: + type: object + properties: + consumer_shared_resources: + type: array + items: + $ref: '#/components/schemas/cdx.v1.ConsumerSharedResource' + '400': + $ref: '#/components/responses/BadRequestError' + '401': + $ref: '#/components/responses/UnauthenticatedError' + '403': + $ref: '#/components/responses/UnauthorizedError' + '404': + $ref: '#/components/responses/NotFoundError' + '409': + $ref: '#/components/responses/ConflictError' + '429': + $ref: '#/components/responses/RateLimitError' + '500': + $ref: '#/components/responses/DefaultSystemError' + x-codeSamples: + - lang: Shell + source: |- + curl --request POST \ + --url https://api.confluent.cloud/cdx/v1/shared-tokens:resources \ + --header 'Authorization: Basic REPLACE_BASIC_AUTH' \ + --header 'content-type: application/json' \ + --data '{"token":"string"}' + - lang: Java + source: |- + OkHttpClient client = new OkHttpClient(); + + MediaType mediaType = MediaType.parse("application/json"); + RequestBody body = RequestBody.create(mediaType, "{\"token\":\"string\"}"); + Request request = new Request.Builder() + .url("https://api.confluent.cloud/cdx/v1/shared-tokens:resources") + .post(body) + .addHeader("content-type", "application/json") + .addHeader("Authorization", "Basic REPLACE_BASIC_AUTH") + .build(); + + Response response = client.newCall(request).execute(); + - lang: Go + source: "package main\n\nimport (\n\t\"fmt\"\n\t\"strings\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.confluent.cloud/cdx/v1/shared-tokens:resources\"\n\n\tpayload := strings.NewReader(\"{\\\"token\\\":\\\"string\\\"}\")\n\n\treq, _ := http.NewRequest(\"POST\", url, payload)\n\n\treq.Header.Add(\"content-type\", \"application/json\")\n\treq.Header.Add(\"Authorization\", \"Basic REPLACE_BASIC_AUTH\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}" + - lang: Python + source: |- + import http.client + + conn = http.client.HTTPSConnection("api.confluent.cloud") + + payload = "{\"token\":\"string\"}" + + headers = { + 'content-type': "application/json", + 'Authorization': "Basic REPLACE_BASIC_AUTH" + } + + conn.request("POST", "/cdx/v1/shared-tokens:resources", payload, headers) + + res = conn.getresponse() + data = res.read() + + print(data.decode("utf-8")) + - lang: Node + source: |- + const http = require("https"); + + const options = { + "method": "POST", + "hostname": "api.confluent.cloud", + "port": null, + "path": "/cdx/v1/shared-tokens:resources", + "headers": { + "content-type": "application/json", + "Authorization": "Basic REPLACE_BASIC_AUTH" + } + }; + + const req = http.request(options, function (res) { + const chunks = []; + + res.on("data", function (chunk) { + chunks.push(chunk); + }); + + res.on("end", function () { + const body = Buffer.concat(chunks); + console.log(body.toString()); + }); + }); + + req.write(JSON.stringify({token: 'string'})); + req.end(); + - lang: C + source: |- + CURL *hnd = curl_easy_init(); + + curl_easy_setopt(hnd, CURLOPT_CUSTOMREQUEST, "POST"); + curl_easy_setopt(hnd, CURLOPT_URL, "https://api.confluent.cloud/cdx/v1/shared-tokens:resources"); + + struct curl_slist *headers = NULL; + headers = curl_slist_append(headers, "content-type: application/json"); + headers = curl_slist_append(headers, "Authorization: Basic REPLACE_BASIC_AUTH"); + curl_easy_setopt(hnd, CURLOPT_HTTPHEADER, headers); + + curl_easy_setopt(hnd, CURLOPT_POSTFIELDS, "{\"token\":\"string\"}"); + + CURLcode ret = curl_easy_perform(hnd); + - lang: C# + source: |- + var client = new RestClient("https://api.confluent.cloud/cdx/v1/shared-tokens:resources"); + var request = new RestRequest(Method.POST); + request.AddHeader("content-type", "application/json"); + request.AddHeader("Authorization", "Basic REPLACE_BASIC_AUTH"); + request.AddParameter("application/json", "{\"token\":\"string\"}", ParameterType.RequestBody); + IRestResponse response = client.Execute(request); + '/cdx/v1/shared-tokens:redeem': + post: + summary: Redeem token + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + Redeem the shared token for shared topic and cluster access information + requestBody: + content: + application/json: + schema: + allOf: + - $ref: '#/components/schemas/cdx.v1.RedeemTokenRequest' + - type: object + required: + - token + x-name: cdx.v1.SharedToken + operationId: redeemCdxV1SharedToken + tags: + - Shared Tokens (cdx/v1) + security: + - cloud-api-key: [] + responses: + '200': + description: | + Consumer redeems shared token + content: + application/json: + schema: + $ref: '#/components/schemas/cdx.v1.RedeemTokenResponse' + '400': + $ref: '#/components/responses/BadRequestError' + '401': + $ref: '#/components/responses/UnauthenticatedError' + '403': + $ref: '#/components/responses/UnauthorizedError' + '404': + $ref: '#/components/responses/NotFoundError' + '409': + $ref: '#/components/responses/ConflictError' + '429': + $ref: '#/components/responses/RateLimitError' + '500': + $ref: '#/components/responses/DefaultSystemError' + x-codeSamples: + - lang: Shell + source: |- + curl --request POST \ + --url https://api.confluent.cloud/cdx/v1/shared-tokens:redeem \ + --header 'Authorization: Basic REPLACE_BASIC_AUTH' \ + --header 'content-type: application/json' \ + --data '{"token":"string","aws_account":"000000000000","azure_subscription":"00000000-0000-0000-0000-000000000000","gcp_project":"string"}' + - lang: Java + source: |- + OkHttpClient client = new OkHttpClient(); + + MediaType mediaType = MediaType.parse("application/json"); + RequestBody body = RequestBody.create(mediaType, "{\"token\":\"string\",\"aws_account\":\"000000000000\",\"azure_subscription\":\"00000000-0000-0000-0000-000000000000\",\"gcp_project\":\"string\"}"); + Request request = new Request.Builder() + .url("https://api.confluent.cloud/cdx/v1/shared-tokens:redeem") + .post(body) + .addHeader("content-type", "application/json") + .addHeader("Authorization", "Basic REPLACE_BASIC_AUTH") + .build(); + + Response response = client.newCall(request).execute(); + - lang: Go + source: "package main\n\nimport (\n\t\"fmt\"\n\t\"strings\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.confluent.cloud/cdx/v1/shared-tokens:redeem\"\n\n\tpayload := strings.NewReader(\"{\\\"token\\\":\\\"string\\\",\\\"aws_account\\\":\\\"000000000000\\\",\\\"azure_subscription\\\":\\\"00000000-0000-0000-0000-000000000000\\\",\\\"gcp_project\\\":\\\"string\\\"}\")\n\n\treq, _ := http.NewRequest(\"POST\", url, payload)\n\n\treq.Header.Add(\"content-type\", \"application/json\")\n\treq.Header.Add(\"Authorization\", \"Basic REPLACE_BASIC_AUTH\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}" + - lang: Python + source: |- + import http.client + + conn = http.client.HTTPSConnection("api.confluent.cloud") + + payload = "{\"token\":\"string\",\"aws_account\":\"000000000000\",\"azure_subscription\":\"00000000-0000-0000-0000-000000000000\",\"gcp_project\":\"string\"}" + + headers = { + 'content-type': "application/json", + 'Authorization': "Basic REPLACE_BASIC_AUTH" + } + + conn.request("POST", "/cdx/v1/shared-tokens:redeem", payload, headers) + + res = conn.getresponse() + data = res.read() + + print(data.decode("utf-8")) + - lang: Node + source: |- + const http = require("https"); + + const options = { + "method": "POST", + "hostname": "api.confluent.cloud", + "port": null, + "path": "/cdx/v1/shared-tokens:redeem", + "headers": { + "content-type": "application/json", + "Authorization": "Basic REPLACE_BASIC_AUTH" + } + }; + + const req = http.request(options, function (res) { + const chunks = []; + + res.on("data", function (chunk) { + chunks.push(chunk); + }); + + res.on("end", function () { + const body = Buffer.concat(chunks); + console.log(body.toString()); + }); + }); + + req.write(JSON.stringify({ + token: 'string', + aws_account: '000000000000', + azure_subscription: '00000000-0000-0000-0000-000000000000', + gcp_project: 'string' + })); + req.end(); + - lang: C + source: |- + CURL *hnd = curl_easy_init(); + + curl_easy_setopt(hnd, CURLOPT_CUSTOMREQUEST, "POST"); + curl_easy_setopt(hnd, CURLOPT_URL, "https://api.confluent.cloud/cdx/v1/shared-tokens:redeem"); + + struct curl_slist *headers = NULL; + headers = curl_slist_append(headers, "content-type: application/json"); + headers = curl_slist_append(headers, "Authorization: Basic REPLACE_BASIC_AUTH"); + curl_easy_setopt(hnd, CURLOPT_HTTPHEADER, headers); + + curl_easy_setopt(hnd, CURLOPT_POSTFIELDS, "{\"token\":\"string\",\"aws_account\":\"000000000000\",\"azure_subscription\":\"00000000-0000-0000-0000-000000000000\",\"gcp_project\":\"string\"}"); + + CURLcode ret = curl_easy_perform(hnd); + - lang: C# + source: |- + var client = new RestClient("https://api.confluent.cloud/cdx/v1/shared-tokens:redeem"); + var request = new RestRequest(Method.POST); + request.AddHeader("content-type", "application/json"); + request.AddHeader("Authorization", "Basic REPLACE_BASIC_AUTH"); + request.AddParameter("application/json", "{\"token\":\"string\",\"aws_account\":\"000000000000\",\"azure_subscription\":\"00000000-0000-0000-0000-000000000000\",\"gcp_project\":\"string\"}", ParameterType.RequestBody); + IRestResponse response = client.Execute(request); + /cdx/v1/opt-in: + get: + summary: Read the organization's stream sharing opt-in settings + description: | + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + Returns the organization's stream sharing opt-in settings. + operationId: getCdxV1OptIn + tags: + - Opt Ins (cdx/v1) + security: + - cloud-api-key: [] + - confluent-sts-access-token: [] + responses: + '200': + description: Opt In. + content: + application/json: + schema: + allOf: + - $ref: '#/components/schemas/cdx.v1.OptIn' + - type: object + required: + - api_version + - kind + 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. + + **Important:** This differs from Github and Twitter's same-named header which uses UTC epoch seconds. We use relative time to avoid client/server time synchronization issues. + '400': + $ref: '#/components/responses/BadRequestError' + '401': + $ref: '#/components/responses/UnauthenticatedError' + '403': + $ref: '#/components/responses/UnauthorizedError' + '404': + $ref: '#/components/responses/NotFoundError' + '429': + $ref: '#/components/responses/RateLimitError' + '500': + $ref: '#/components/responses/DefaultSystemError' + x-codeSamples: + - lang: Shell + source: |- + curl --request GET \ + --url https://api.confluent.cloud/cdx/v1/opt-in \ + --header 'Authorization: Basic REPLACE_BASIC_AUTH' + - lang: Java + source: |- + OkHttpClient client = new OkHttpClient(); + + Request request = new Request.Builder() + .url("https://api.confluent.cloud/cdx/v1/opt-in") + .get() + .addHeader("Authorization", "Basic REPLACE_BASIC_AUTH") + .build(); + + Response response = client.newCall(request).execute(); + - lang: Go + source: "package main\n\nimport (\n\t\"fmt\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.confluent.cloud/cdx/v1/opt-in\"\n\n\treq, _ := http.NewRequest(\"GET\", url, nil)\n\n\treq.Header.Add(\"Authorization\", \"Basic REPLACE_BASIC_AUTH\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}" + - lang: Python + source: |- + import http.client + + conn = http.client.HTTPSConnection("api.confluent.cloud") + + headers = { 'Authorization': "Basic REPLACE_BASIC_AUTH" } + + conn.request("GET", "/cdx/v1/opt-in", headers=headers) + + res = conn.getresponse() + data = res.read() + + print(data.decode("utf-8")) + - lang: Node + source: |- + const http = require("https"); + + const options = { + "method": "GET", + "hostname": "api.confluent.cloud", + "port": null, + "path": "/cdx/v1/opt-in", + "headers": { + "Authorization": "Basic REPLACE_BASIC_AUTH" + } + }; + + const req = http.request(options, function (res) { + const chunks = []; + + res.on("data", function (chunk) { + chunks.push(chunk); + }); + + res.on("end", function () { + const body = Buffer.concat(chunks); + console.log(body.toString()); + }); + }); + + req.end(); + - lang: C + source: |- + CURL *hnd = curl_easy_init(); + + curl_easy_setopt(hnd, CURLOPT_CUSTOMREQUEST, "GET"); + curl_easy_setopt(hnd, CURLOPT_URL, "https://api.confluent.cloud/cdx/v1/opt-in"); + + struct curl_slist *headers = NULL; + headers = curl_slist_append(headers, "Authorization: Basic REPLACE_BASIC_AUTH"); + curl_easy_setopt(hnd, CURLOPT_HTTPHEADER, headers); + + CURLcode ret = curl_easy_perform(hnd); + - lang: C# + source: |- + var client = new RestClient("https://api.confluent.cloud/cdx/v1/opt-in"); + var request = new RestRequest(Method.GET); + request.AddHeader("Authorization", "Basic REPLACE_BASIC_AUTH"); + IRestResponse response = client.Execute(request); + patch: + summary: Set the organization's stream sharing opt-in settings + description: |+ + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + Updates the organization's stream sharing opt-in settings. + + + operationId: updateCdxV1OptIn + tags: + - Opt Ins (cdx/v1) + security: + - cloud-api-key: [] + - confluent-sts-access-token: [] + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/cdx.v1.OptIn' + responses: + '200': + description: Opt In. + content: + application/json: + schema: + allOf: + - $ref: '#/components/schemas/cdx.v1.OptIn' + - type: object + required: + - api_version + - kind + 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. + + **Important:** This differs from Github and Twitter's same-named header which uses UTC epoch seconds. We use relative time to avoid client/server time synchronization issues. + '400': + $ref: '#/components/responses/BadRequestError' + '401': + $ref: '#/components/responses/UnauthenticatedError' + '403': + $ref: '#/components/responses/UnauthorizedError' + '404': + $ref: '#/components/responses/NotFoundError' + '409': + $ref: '#/components/responses/ConflictError' + '422': + $ref: '#/components/responses/ValidationError' + '429': + $ref: '#/components/responses/RateLimitError' + '500': + $ref: '#/components/responses/DefaultSystemError' + x-codeSamples: + - lang: Shell + source: |- + curl --request PATCH \ + --url https://api.confluent.cloud/cdx/v1/opt-in \ + --header 'Authorization: Basic REPLACE_BASIC_AUTH' \ + --header 'content-type: application/json' \ + --data '{"stream_share_enabled":true}' + - lang: Java + source: |- + OkHttpClient client = new OkHttpClient(); + + MediaType mediaType = MediaType.parse("application/json"); + RequestBody body = RequestBody.create(mediaType, "{\"stream_share_enabled\":true}"); + Request request = new Request.Builder() + .url("https://api.confluent.cloud/cdx/v1/opt-in") + .patch(body) + .addHeader("content-type", "application/json") + .addHeader("Authorization", "Basic REPLACE_BASIC_AUTH") + .build(); + + Response response = client.newCall(request).execute(); + - lang: Go + source: "package main\n\nimport (\n\t\"fmt\"\n\t\"strings\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.confluent.cloud/cdx/v1/opt-in\"\n\n\tpayload := strings.NewReader(\"{\\\"stream_share_enabled\\\":true}\")\n\n\treq, _ := http.NewRequest(\"PATCH\", url, payload)\n\n\treq.Header.Add(\"content-type\", \"application/json\")\n\treq.Header.Add(\"Authorization\", \"Basic REPLACE_BASIC_AUTH\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}" + - lang: Python + source: |- + import http.client + + conn = http.client.HTTPSConnection("api.confluent.cloud") + + payload = "{\"stream_share_enabled\":true}" + + headers = { + 'content-type': "application/json", + 'Authorization': "Basic REPLACE_BASIC_AUTH" + } + + conn.request("PATCH", "/cdx/v1/opt-in", payload, headers) + + res = conn.getresponse() + data = res.read() + + print(data.decode("utf-8")) + - lang: Node + source: |- + const http = require("https"); + + const options = { + "method": "PATCH", + "hostname": "api.confluent.cloud", + "port": null, + "path": "/cdx/v1/opt-in", + "headers": { + "content-type": "application/json", + "Authorization": "Basic REPLACE_BASIC_AUTH" + } + }; + + const req = http.request(options, function (res) { + const chunks = []; + + res.on("data", function (chunk) { + chunks.push(chunk); + }); + + res.on("end", function () { + const body = Buffer.concat(chunks); + console.log(body.toString()); + }); + }); + + req.write(JSON.stringify({stream_share_enabled: true})); + req.end(); + - lang: C + source: |- + CURL *hnd = curl_easy_init(); + + curl_easy_setopt(hnd, CURLOPT_CUSTOMREQUEST, "PATCH"); + curl_easy_setopt(hnd, CURLOPT_URL, "https://api.confluent.cloud/cdx/v1/opt-in"); + + struct curl_slist *headers = NULL; + headers = curl_slist_append(headers, "content-type: application/json"); + headers = curl_slist_append(headers, "Authorization: Basic REPLACE_BASIC_AUTH"); + curl_easy_setopt(hnd, CURLOPT_HTTPHEADER, headers); + + curl_easy_setopt(hnd, CURLOPT_POSTFIELDS, "{\"stream_share_enabled\":true}"); + + CURLcode ret = curl_easy_perform(hnd); + - lang: C# + source: |- + var client = new RestClient("https://api.confluent.cloud/cdx/v1/opt-in"); + var request = new RestRequest(Method.PATCH); + request.AddHeader("content-type", "application/json"); + request.AddHeader("Authorization", "Basic REPLACE_BASIC_AUTH"); + request.AddParameter("application/json", "{\"stream_share_enabled\":true}", ParameterType.RequestBody); + IRestResponse response = client.Execute(request); diff --git a/providers/src/confluent/v00.00.00000/services/sts.yaml b/providers/src/confluent/v00.00.00000/services/sts.yaml new file mode 100644 index 00000000..70b7c78d --- /dev/null +++ b/providers/src/confluent/v00.00.00000/services/sts.yaml @@ -0,0 +1,2419 @@ +openapi: 3.0.0 +servers: + - url: 'https://api.confluent.cloud' + description: Confluent Cloud API +info: + version: '' + contact: + name: Confluent Cloud + url: 'https://www.confluent.io/cloud-contact-us/' + email: support@confluent.io + x-api-id: 46234552-5833-42eb-ba0f-883ad3f70d2b + x-audience: external-public + x-logo: + url: 'https://assets.confluent.io/m/5ec23aa91903c00b/' + title: Confluent Cloud APIs - sts + description: sts +tags: + - name: API Keys (iam/v2) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + `ApiKey` objects represent access to different parts of Confluent Cloud. Some types + of API keys represent access to a single cluster/resource such as a Kafka cluster, + Schema Registry cluster or a ksqlDB cluster. Cloud API Keys represent access to resources within an organization + that are not tied to a specific cluster, such as the Org API, IAM API, Metrics API or Connect API. + + The API allows you to list, create, update and delete your API Keys. + + + Related guide: [API Keys in Confluent Cloud](https://docs.confluent.io/cloud/current/client-apps/api-keys.html). + + ## The API Keys Model + + + ## Quotas and Limits + This resource is subject to the [following quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): + + | Quota | Description | + | --- | --- | + | `apikeys_per_org` | API Keys in one Confluent Cloud organization | + - name: Environments (org/v2) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + `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](https://docs.confluent.io/cloud/current/access-management/environments.html). + + ## The Environments Model + + + ## Quotas and Limits + This resource is subject to the [following quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): + + | Quota | Description | + | --- | --- | + | `environments_per_org` | Environments in one Confluent Cloud organization | + - name: Organizations (org/v2) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + `Organization` objects represent a customer organization. An organization contains all customer + resources (e.g., Environments, Kafka Clusters, Service Accounts, API Keys) and is tied to a billing + agreement (including any annual commitment or support plan). + + The API allows you to list, view, and update your organizations. + + + Related guide: [Organizations for Confluent Cloud](https://docs.confluent.io/cloud/current/access-management/hierarchy/organizations/cloud-organization.html). + + ## The Organizations Model + + + ## Quotas and Limits + This resource is subject to the [following quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): + + | Quota | Description | + | --- | --- | + | `organizations_per_user` | Confluent Cloud organizations a user belongs to | + - name: Users (iam/v2) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + `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](https://docs.confluent.io/cloud/current/access-management/user-account.html). + + ## The Users Model + + + ## Quotas and Limits + This resource is subject to the [following quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): + + | Quota | Description | + | --- | --- | + | `users_per_org` | Users in one Confluent Cloud organization | + - name: Service Accounts (iam/v2) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + `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](https://docs.confluent.io/cloud/current/access-management/service-account.html). + + ## The Service Accounts Model + + + ## Quotas and Limits + This resource is subject to the [following quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): + + | Quota | Description | + | --- | --- | + | `service_accounts_per_org` | Service Accounts in one Confluent Cloud organization | + - name: Invitations (iam/v2) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + `Invitation` objects represent invitations to invite users to join your organizations in Confluent Cloud. + + The API allows you to list all your invitations, as well as create, read, and delete a specified invitation. + + + Related guide: [User invitations in Confluent Cloud](https://docs.confluent.io/cloud/current/access-management/identity/user-accounts.html). + + ## The Invitations Model + + + ## Quotas and Limits + This resource is subject to the [following quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): + + | Quota | Description | + | --- | --- | + | `invitations_per_org` | Invitations in a Confluent Cloud organization | + - name: IP Groups (iam/v2) + description: |- + [![Limited Availability](https://img.shields.io/badge/Lifecycle%20Stage-Limited%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) [![Request Access To IP Groups API](https://img.shields.io/badge/-Request%20Access%20To%20IP%20Groups%20API-%23bc8540)](mailto:cloud-support@confluent.io?subject=Request%20to%20join%20IP%20Filtering%20API%20Limited%20Access&body=I%E2%80%99d%20like%20to%20join%20the%20Confluent%20Cloud%20API%20Limited%20Access%20for%20IP%20Filtering.%0AMy%20Cloud%20Organization%20ID%20is%20%3Cretrieve%20from%20https%3A//confluent.cloud/settings/billing/payment%3E.%0A) + + Definitions of networks which can be named and referred by IP blocks, commonly used to attach to IP Filter rules. + + + ## The IP Groups Model + + - name: IP Filters (iam/v2) + description: |- + [![Limited Availability](https://img.shields.io/badge/Lifecycle%20Stage-Limited%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) [![Request Access To IP Filters API](https://img.shields.io/badge/-Request%20Access%20To%20IP%20Filters%20API-%23bc8540)](mailto:ccloud-api-access+iam-v2-limited-availability@confluent.io?subject=Request%20to%20join%20iam/v2%20API%20Limited%20Availability&body=I%E2%80%99d%20like%20to%20join%20the%20Confluent%20Cloud%20API%20Limited%20Availability%20for%20iam/v2%20to%20provide%20early%20feedback%21%20My%20Cloud%20Organization%20ID%20is%20%3Cretrieve%20from%20https%3A//confluent.cloud/settings/billing/payment%3E.) + + `IP Filter` objects are bindings between IP Groups and Confluent resource(s). + For example, a binding between "CorpNet" and "Management APIs" will enforce that + access must come from one of the CIDR blocks associated with CorpNet. + If there are multiple IP filters bound to a resource, a request matching any of the CIDR blocks + for any of the IP Group will allow the request. + If there are no IP Filters for a resource, then access will be granted to requests originating + from any IP Address. + + + ## The IP Filters Model + + - name: Role Bindings (iam/v2) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + A role binding grants a Principal a role on resources that match a pattern. + + The API allows you to perform create, delete, and list operations on role bindings. + + + Related guide: [Role-Based Access Control (RBAC)](https://docs.confluent.io/cloud/current/access-management/access-control/cloud-rbac.html). + + ## The Role Bindings Model + + - name: Subscriptions (notifications/v1) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + `Subscription` objects represent the intent of the customers to get notifications of particular types. + A subscription is created for a particular `NotificationType` and the user will get notifications on the + `Integrations` that are provided while creating the subscription. + + This API allows you to create, retrieve, and update subscriptions, + as well as to view the list of all your subscriptions. You can also delete subscriptions + with RECOMMENDED or OPTIONAL notification types. Subscriptions with REQUIRED notification types cannot be deleted. + + + Related guide: [Cloud Notifications](https://docs.confluent.io/cloud/current/monitoring/configure-notifications.html#notifications-for-ccloud). + + ## The Subscriptions Model + + - name: Integrations (notifications/v1) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + You can create an `Integration` to specify how we can notify you when we receive an alert/notification for + a subscription. Please note that you can only perform create, update and delete operations for integrations + of type `Webhook`, `Slack` and `MsTeams`. You cannot create, update or delete integrations of type `RoleEmail` + and `UserEmail`. + + + Related guide: [Cloud Notifications](https://docs.confluent.io/cloud/current/monitoring/configure-notifications.html#notifications-for-ccloud). + + ## The Integrations Model + + + ## Quotas and Limits + This resource is subject to the [following quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): + + | Quota | Description | + | --- | --- | + | `integrations_per_org` | Maximum number of integrations in one Confluent Cloud organization | + - name: Notification Types (notifications/v1) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + The type of notifications (and their corresponding metadata) supported by Confluent. + + + Related guide: [Cloud Notifications](https://docs.confluent.io/cloud/current/monitoring/configure-notifications.html#notifications-for-ccloud). + + ## The Notification Types Model + + - name: Clusters (cmk/v2) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + `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](https://docs.confluent.io/cloud/current/clusters/cluster-api.html). + + ## The Clusters Model + + + ## Quotas and Limits + This resource is subject to the [following quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): + + | Quota | Description | + | --- | --- | + | `kafka_clusters_per_environment` | Number of clusters in one Confluent Cloud environment | + - name: Clusters (ksqldbcm/v2) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + `Cluster` represents a ksqlDB runtime that you can issue queries to using its API endpoint. + It executes SQL statements and queries which under the hood get built into corresponding + Kafka Streams topologies. The API allows you to list, create, read, and delete your ksqlDB clusters. + + + Related guide: [ksqlDB in Confluent Cloud](https://docs.confluent.io/cloud/current/ksqldb/ksqldb-cluster-api.html). + + ## The Clusters Model + + + ## Quotas and Limits + This resource is subject to the following quotas: + + | Quota | Description | + | --- | --- | + | `ksql.limits.max_apps_per_cluster` | Clusters in one Confluent Cloud Kafka Cluster. | + - name: Connectors (connect/v1) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + API for Managed Connectors or Custom Connectors in Confluent Cloud. + + The API allows you to list, create, get, update and delete a Managed Connector or Custom Connector in Confluent Cloud. + + Connect metrics are available through the [Metrics v2 API](https://api.telemetry.confluent.cloud/docs#tag/Version-2). + + Related guide: [Confluent Cloud API and Managed Connectors](https://docs.confluent.io/cloud/current/connectors/connect-api-section.html). + - name: Lifecycle (connect/v1) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + API for managing the lifecycle for a Managed Connector or Custom Connector in Confluent Cloud. Operations currently supported are Pause and Resume. + - name: Status (connect/v1) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + API for requesting the status or the tasks for a Managed Connector or Custom Connector in Confluent Cloud. + - name: Managed Connector Plugins (connect/v1) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + API for Managed connectors in Confluent Cloud. + - name: Offsets (connect/v1) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + API for managing the offsets for a Managed Connector. + + Related guide: [Manage Connector Offsets](https://docs.confluent.io/cloud/current/connectors/offsets.html#manage-offsets-for-fully-managed-connectors-in-ccloud) + - name: Custom Connector Plugins (connect/v1) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + CustomConnectorPlugins objects represent Custom Connector Plugins on Confluent Cloud. + The API allows you to list, create, read, update, and delete your Custom Connector Plugins. + Related guide: + [Custom Connector Plugin API](https://docs.confluent.io/cloud/current/connectors/connect-api-section.html). + + + ## The Custom Connector Plugins Model + + - name: Presigned Urls (connect/v1) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + Request a presigned upload URL for new Custom Connector Plugin. Note that + the URL policy expires in one hour. If the policy expires, you can request + a new presigned upload URL. + + Related guide: + [Custom Connector Plugin API](https://docs.confluent.io/cloud/current/connectors/connect-api-section.html). + + + ## The Presigned Urls Model + + - name: Cluster (v3) + description: '[![Generally Available](https://img.shields.io/badge/Lifecycle%20Stage-Generally%20Available-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy)' + - name: Configs (v3) + description: '[![Generally Available](https://img.shields.io/badge/Lifecycle%20Stage-Generally%20Available-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy)' + - name: ACL (v3) + description: '[![Generally Available](https://img.shields.io/badge/Lifecycle%20Stage-Generally%20Available-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy)' + - name: Consumer Group (v3) + description: '[![Generally Available](https://img.shields.io/badge/Lifecycle%20Stage-Generally%20Available-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy)' + - name: Partition (v3) + description: '[![Generally Available](https://img.shields.io/badge/Lifecycle%20Stage-Generally%20Available-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy)' + - name: Topic (v3) + description: '[![Generally Available](https://img.shields.io/badge/Lifecycle%20Stage-Generally%20Available-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy)' + - name: Records (v3) + description: '[![Generally Available](https://img.shields.io/badge/Lifecycle%20Stage-Generally%20Available-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy)' + - name: Cluster Linking (v3) + description: '[![Generally Available](https://img.shields.io/badge/Lifecycle%20Stage-Generally%20Available-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy)' + - name: Applied Quotas (service-quota/v1) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + A `quota` object represents a quota configuration for a specific Confluent Cloud resource. + Use this API to retrieve an individual quota or list of quotas for a given scope. + + + Related guide: [Service Quotas for Confluent Cloud](https://docs.confluent.io/cloud/current/quotas/index.html). + + ## The Applied Quotas Model + + - name: Scopes (service-quota/v1) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + Gets a list of all available scopes for applied quotas. + + + Related guide: [Quota Scopes](https://docs.confluent.io/cloud/current/quotas/quotas.html#query-for-scopes). + + ## The Scopes Model + + - name: Entitlements (partner/v2) + description: | + [![Early Access](https://img.shields.io/badge/Lifecycle%20Stage-Early%20Access-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) [![Request Access To Partner v2](https://img.shields.io/badge/-Request%20Access%20To%20Partner%20v2-%23bc8540)](mailto:ccloud-api-access+partner-v2-early-access@confluent.io?subject=Request%20to%20join%20partner/v2%20API%20Early%20Access&body=I%E2%80%99d%20like%20to%20join%20the%20Confluent%20Cloud%20API%20Early%20Access%20for%20partner/v2%20to%20provide%20early%20feedback%21%20My%20Cloud%20Organization%20ID%20is%20%3Cretrieve%20from%20https%3A//confluent.cloud/settings/billing/payment%3E.) + + `Entitlement` objects represent metadata about a marketplace entitlement. + + An entitlement includes metadata about a marketplace purchase + (start date, end date, billing information, partner IDs, etc). + The API allows partners to create, read, and list entitlements. (Unless you + need entitlement creation and customer registration to be separate, + we recommend using the Signup API to create an organization and entitlement + at the same time) + + The API only allows authorized partners to interact with the Entitlements API. + - name: Regions (srcm/v2) + description: |- + [![Deprecated](https://img.shields.io/badge/Lifecycle%20Stage-Deprecated-%23ff005c)](#section/Versioning/API-Lifecycle-Policy) + + `Region` objects represent cloud provider regions available when placing Schema Registry clusters. + The API allows you to list Schema Registry regions. + + + Related guides: + * [Confluent Cloud providers and region support](https://docs.confluent.io/cloud/current/stream-governance/packages.html#cloud-providers-and-region-support). + * [srcm/v3 Migration Guide](https://docs.confluent.io/cloud/current/stream-governance/packages.html#deprecation-of-srcm-v2-clusters-and-regions-apis-and-upgrade-guide). + + + ## The Regions Model + + - name: Clusters (srcm/v2) + description: |- + [![Deprecated](https://img.shields.io/badge/Lifecycle%20Stage-Deprecated-%23ff005c)](#section/Versioning/API-Lifecycle-Policy) + + `Clusters` objects represent Schema Registry Clusters on Confluent Cloud. + + The API allows you to list, create, read, and delete your Schema Registry clusters. + + + Related guides: + * [Confluent Cloud Schema Registry Cluster APIs](https://docs.confluent.io/cloud/current/stream-governance/clusters-regions-api.html#schema-registry-cluster-management). + * [srcm/v3 Migration Guide](https://docs.confluent.io/cloud/current/stream-governance/packages.html#deprecation-of-srcm-v2-clusters-and-regions-apis-and-upgrade-guide). + + + ## The Clusters Model + + - name: Clusters (srcm/v3) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + `Clusters` objects represent Schema Registry Clusters on Confluent Cloud. + + The API allows you to list and read your Schema Registry clusters. + + + Related guide: [Confluent Cloud Schema Registry Cluster APIs](https://docs.confluent.io/cloud/current/stream-governance/clusters-regions-api.html#schema-registry-cluster-management). + + ## The Clusters Model + + - name: Compatibility (v1) + description: |- + [![Generally Available](https://img.shields.io/badge/Lifecycle%20Stage-Generally%20Available-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + The API allows you to test schema compatibility. + + Related guide: [Manage Schemas in Confluent Cloud](https://docs.confluent.io/cloud/current/sr/schemas-manage.html#manage-schemas-in-ccloud). + - name: Config (v1) + description: |- + [![Generally Available](https://img.shields.io/badge/Lifecycle%20Stage-Generally%20Available-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + The API allows you to manage and query schema compatibility settings and cluster configurations. + + Related guide: [Manage Schemas in Confluent Cloud](https://docs.confluent.io/cloud/current/sr/schemas-manage.html#manage-schemas-in-ccloud). + - name: Contexts (v1) + description: |- + [![Generally Available](https://img.shields.io/badge/Lifecycle%20Stage-Generally%20Available-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + The API allows you to retrieve information about schema contexts. + + Related guide: [Manage Schemas in Confluent Cloud](https://docs.confluent.io/cloud/current/sr/schemas-manage.html#manage-schemas-in-ccloud). + - name: Exporters (v1) + description: |- + [![Generally Available](https://img.shields.io/badge/Lifecycle%20Stage-Generally%20Available-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + The API allows you to create, retrieve, update, and delete exporters. + + Related guide: [Manage Schemas in Confluent Cloud](https://docs.confluent.io/cloud/current/sr/schemas-manage.html#manage-schemas-in-ccloud). + - name: Modes (v1) + description: |- + [![Generally Available](https://img.shields.io/badge/Lifecycle%20Stage-Generally%20Available-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + The API allows you to create, retrieve, update, and delete schema subjects modes of operation. + + Related guide: [Manage Schemas in Confluent Cloud](https://docs.confluent.io/cloud/current/sr/schemas-manage.html#manage-schemas-in-ccloud). + - name: Schemas (v1) + description: |- + [![Generally Available](https://img.shields.io/badge/Lifecycle%20Stage-Generally%20Available-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + The API allows you to create, retrieve, update, and delete schemas. + + Related guide: [Manage Schemas in Confluent Cloud](https://docs.confluent.io/cloud/current/sr/schemas-manage.html#manage-schemas-in-ccloud). + - name: Subjects (v1) + description: |- + [![Generally Available](https://img.shields.io/badge/Lifecycle%20Stage-Generally%20Available-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + The API allows you to create, retrieve, update, and delete schema subjects and versions. + + Related guide: [Manage Schemas in Confluent Cloud](https://docs.confluent.io/cloud/current/sr/schemas-manage.html#manage-schemas-in-ccloud). + - name: Key Encryption Keys (v1) + description: |- + [![Generally Available](https://img.shields.io/badge/Lifecycle%20Stage-Generally%20Available-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + The API allows you to create, retrieve, update, and delete key encryption keys. + + Related guide: [Manage Schemas in Confluent Cloud](https://docs.confluent.io/cloud/current/sr/schemas-manage.html#manage-schemas-in-ccloud). + - name: Data Encryption Keys (v1) + description: |- + [![Generally Available](https://img.shields.io/badge/Lifecycle%20Stage-Generally%20Available-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + The API allows you to create, retrieve, update, and delete data encryption keys. + + Related guide: [Manage Schemas in Confluent Cloud](https://docs.confluent.io/cloud/current/sr/schemas-manage.html#manage-schemas-in-ccloud). + - name: Entity (v1) + description: |- + [![Generally Available](https://img.shields.io/badge/Lifecycle%20Stage-Generally%20Available-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + The API allows you to create, retrieve, update, and delete catalog entities. + + Related guide: [Catalog API Documentation](https://docs.confluent.io/cloud/current/stream-governance/stream-catalog.html#catalog-api-documentation). + - name: Search (v1) + description: |- + [![Generally Available](https://img.shields.io/badge/Lifecycle%20Stage-Generally%20Available-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + The API allows you to search for entities. + + Related guide: [Catalog API Documentation](https://docs.confluent.io/cloud/current/stream-governance/stream-catalog.html#catalog-api-documentation). + - name: Types (v1) + description: |- + [![Generally Available](https://img.shields.io/badge/Lifecycle%20Stage-Generally%20Available-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + The API allows you to create, retrieve, update, and delete catalog types such as tag definitions. + + Related guide: [Catalog API Documentation](https://docs.confluent.io/cloud/current/stream-governance/stream-catalog.html#catalog-api-documentation). + - name: Provider Shared Resources (cdx/v1) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + `ProviderSharedResource` object contains details of the data stream + (topic, schema registry subjects, sharing metadata) that you have shared through Stream Sharing. + + + ## The Provider Shared Resources Model + + - name: Provider Shares (cdx/v1) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + `ProviderShare` object respresents the share that you have created through Stream Sharing. + + + Related guide: [Provider Stream Shares in Confluent Cloud](https://docs.confluent.io/cloud/current/stream-sharing/produce-shared-data.html#stream-shares). + + ## The Provider Shares Model + + - name: Consumer Shared Resources (cdx/v1) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + `ConsumerSharedResource` object contains details of the data stream + (topic, schema registry subjects, sharing metadata) that you received through Stream Sharing. + + + ## The Consumer Shared Resources Model + + - name: Consumer Shares (cdx/v1) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + `ConsumerShare` object respresents the share that you received through Stream Sharing. + + + Related guide: [Consumer Stream Shares in Confluent Cloud](https://docs.confluent.io/cloud/current/stream-sharing/consume-shared-data.html). + + ## The Consumer Shares Model + + - name: Shared Tokens (cdx/v1) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + Encrypted Token shared with consumer + + + ## The Shared Tokens Model + + - name: Opt Ins (cdx/v1) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + Stream sharing opt in options + + ## The Opt Ins Model + + - name: Organizations (partner/v2) + description: | + [![Early Access](https://img.shields.io/badge/Lifecycle%20Stage-Early%20Access-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) [![Request Access To Partner v2](https://img.shields.io/badge/-Request%20Access%20To%20Partner%20v2-%23bc8540)](mailto:ccloud-api-access+partner-v2-early-access@confluent.io?subject=Request%20to%20join%20partner/v2%20API%20Early%20Access&body=I%E2%80%99d%20like%20to%20join%20the%20Confluent%20Cloud%20API%20Early%20Access%20for%20partner/v2%20to%20provide%20early%20feedback%21%20My%20Cloud%20Organization%20ID%20is%20%3Cretrieve%20from%20https%3A//confluent.cloud/settings/billing/payment%3E.) + + `Organizations` objects represent an entire Confluent Cloud organization. + Partners are allowed to get an organization they have signed up or + list all organizations they have signed up. + - name: Signup (partner/v2) + description: | + [![Early Access](https://img.shields.io/badge/Lifecycle%20Stage-Early%20Access-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) [![Request Access To Partner v2](https://img.shields.io/badge/-Request%20Access%20To%20Partner%20v2-%23bc8540)](mailto:ccloud-api-access+partner-v2-early-access@confluent.io?subject=Request%20to%20join%20partner/v2%20API%20Early%20Access&body=I%E2%80%99d%20like%20to%20join%20the%20Confluent%20Cloud%20API%20Early%20Access%20for%20partner/v2%20to%20provide%20early%20feedback%21%20My%20Cloud%20Organization%20ID%20is%20%3Cretrieve%20from%20https%3A//confluent.cloud/settings/billing/payment%3E.) + + `Signup` APIs can only be performed by partners. + - name: Networks (networking/v1) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + `Network` represents a network (VPC) in Confluent Cloud. All Networks exist within Confluent-managed cloud + provider accounts. Dedicated networks support more networking options but can only contain Dedicated clusters. + Shared networks can contain any cluster type. + + The API allows you to list, create, read, update, and delete your networks. + + + Related guide: [APIs to manage networks in Confluent Cloud](https://docs.confluent.io/cloud/current/networking/overview.html). + + ## The Networks Model + + + ## Quotas and Limits + This resource is subject to the [following quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): + + | Quota | Description | + | --- | --- | + | `dedicated_networks_per_environment` | Number of dedicated networks per Confluent Cloud environment | + - name: Peerings (networking/v1) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + Add or remove VPC/VNet peering connections between your VPC/VNet and Confluent Cloud. + + Related guides: + * [Use VPC peering connections with Confluent Cloud on AWS](https://docs.confluent.io/cloud/current/networking/peering/aws-peering.html). + * [Use VNet peering connections with Confluent Cloud on Azure](https://docs.confluent.io/cloud/current/networking/peering/azure-peering.html). + * [Use VPC peering connections with Confluent Cloud on Google Cloud](https://docs.confluent.io/cloud/current/networking/peering/gcp-peering.html). + + + ## The Peerings Model + + + ## Quotas and Limits + This resource is subject to the [following quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): + + | Quota | Description | + | --- | --- | + | `peerings_per_network` | Number of peerings per network | + - name: Transit Gateway Attachments (networking/v1) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + AWS Transit Gateway Attachments + + Related guide: [APIs to manage AWS Transit Gateway Attachments](https://docs.confluent.io/cloud/current/networking/aws-transit-gateway.html). + + ## The Transit Gateway Attachments Model + + + ## Quotas and Limits + This resource is subject to the [following quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): + + | Quota | Description | + | --- | --- | + | `tgw_attachments_per_network` | Number of TGW attachments per network | + - name: Private Link Accesses (networking/v1) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + Add or remove access to PrivateLink endpoints by AWS account, Azure subscription and GCP project ID. + + Related guides: + * [Use Google Cloud Private Service Connect with Confluent Cloud](https://docs.confluent.io/cloud/current/networking/private-links/gcp-private-service-connect.html). + * [Use Azure Private Link with Confluent Cloud](https://docs.confluent.io/cloud/current/networking/private-links/azure-privatelink.html). + * [Use AWS PrivateLink with Confluent Cloud](https://docs.confluent.io/cloud/current/networking/private-links/aws-privatelink.html). + + + ## The Private Link Accesses Model + + + ## Quotas and Limits + This resource is subject to the [following quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): + + | Quota | Description | + | --- | --- | + | `private_link_accounts_per_network` | Number of AWS accounts per network | + | `private_link_subscriptions_per_network` | Number of Azure subscriptions per network | + | `private_service_connect_projects_per_network` | Number of GCP projects per network | + - name: Network Link Services (networking/v1) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + Network Link Service is associated with a Private Link Confluent Cloud Network. + It enables connectivity from other Private Link Confluent Cloud Networks based on + the configured accept policies. + + + Related guide: [Network Linking Overview](https://docs.confluent.io/cloud/current/networking/network-linking.html). + + ## The Network Link Services Model + + + ## Quotas and Limits + This resource is subject to the [following quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): + + | Quota | Description | + | --- | --- | + | `network_link_service_per_network` | Number of network link services per network | + - name: Network Link Endpoints (networking/v1) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + A Network Link Enpoint is associated with a Private Link Confluent Cloud Network at the origin and a + Network Link Service (associated with another Private Link Confluent Cloud Network) at the target. + It enables connectivity between the origin network and the target network. + It can only be associated with a Private Link network. + + + Related guide: [Network Linking Overview](https://docs.confluent.io/cloud/current/networking/network-linking.html). + + ## The Network Link Endpoints Model + + + ## Quotas and Limits + This resource is subject to the [following quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): + + | Quota | Description | + | --- | --- | + | `network_link_endpoints_per_network` | Number of network link endpoints per network | + - name: Network Link Service Associations (networking/v1) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + List of incoming Network Link Enpoints associated with the Network Link Service. + + + Related guide: [Network Linking Overview](https://docs.confluent.io/cloud/current/networking/network-linking.html). + + ## The Network Link Service Associations Model + + - name: Gateways (networking/v1) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + A gateway is a resource that defines network access to Confluent cloud resources. + + + ## The Gateways Model + + - name: IP Addresses (networking/v1) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + IP Addresses + + Related guide: [Use Public Egress IP addresses on Confluent Cloud](https://docs.confluent.io/cloud/current/networking/static-egress-ip-addresses.html) + + ## The IP Addresses Model + + - name: Private Link Attachments (networking/v1) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + PrivateLink attachment objects represent reservations to establish PrivateLink connections + to a cloud region in order to access resources that belong to a Confluent Cloud Environment. + The API allows you to list, create, read update and delete your PrivateLink attachments. + + + ## The Private Link Attachments Model + + + ## Quotas and Limits + This resource is subject to the [following quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): + + | Quota | Description | + | --- | --- | + | `private_link_attachments_per_environment` | Number of PrivateLink Attachments per environment | + - name: Private Link Attachment Connections (networking/v1) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + PrivateLink attachment connection objects represent connections established to a cloud region + in order to access resources that belong to a Confluent Cloud Environment. + The API allows you to list, create, read update and delete your PrivateLink attachment connections. + + + ## The Private Link Attachment Connections Model + + - name: Identity Providers (iam/v2) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + `IdentityProvider` objects represent external OAuth-OIDC providers in Confluent Cloud. + + The API allows you to list, create, read, update, and delete your Identity Provider. + + + Related guide: [OAuth for Confluent Cloud](https://docs.confluent.io/cloud/current/access-management/authenticate/oauth/overview.html). + + ## The Identity Providers Model + + + ## Quotas and Limits + This resource is subject to the [following quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): + + | Quota | Description | + | --- | --- | + | `identity_providers_per_org` | Number of OAuth identity providers per organization | + | `public_keys_per_provider` | Number of public keys saved per identity provider | + - name: Jwks (iam/v2) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + `JWKS` objects represent public key sets for a specific OAuth/OpenID Connect provider within + Confluent Cloud. + + The API allows you to refresh JWKS public key data. + + + Related guide: [OAuth for Confluent Cloud](https://docs.confluent.io/cloud/current/access-management/authenticate/oauth/overview.html). + + ## The Jwks Model + + - name: Identity Pools (iam/v2) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + `IdentityPool` objects represent groups of identities tied to a given a `IdentityProvider` + that authorizes them to Confluent Cloud resources. + + It provides a mapping functionality of your `Identity Provider` user to a Confluent identity pool that + is then used to provide access to Confluent Resources. + + + Related guide: [Use identity pools with your OAuth provider](https://docs.confluent.io/cloud/current/access-management/authenticate/oauth/identity-pools.html). + + ## The Identity Pools Model + + + ## Quotas and Limits + This resource is subject to the [following quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): + + | Quota | Description | + | --- | --- | + | `identity_pools_per_provider` | Number of Identity Pools per Identity Provider | + - name: OAuth Tokens (sts/v1) + description: | + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + OAuth Token is a [JSON Web Token (JWT)](https://www.rfc-editor.org/rfc/rfc7519) that enables the use of + external identities to access Confluent Cloud APIs + - name: Client Quotas (kafka-quotas/v1) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + `ClientQuota` objects represent Client Quotas you can set at the service account level. + + The API allows you to list, create, read, update, and delete your client quotas. + + + Related guide: [Client Quotas in Confluent Cloud](https://docs.confluent.io/cloud/current/clusters/client-quotas.html). + + ## The Client Quotas Model + + - name: Pipelines (sd/v1) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + `Pipeline` objects represent information about a user-defined pipeline of Confluent Cloud components. + The pipeline's content is available separately. + + The API allows you to create, retrieve, update, and delete your pipelines, + as well as list all of your pipelines for the particular environment and Kafka cluster. + + + Related guide: [Pipelines in Confluent Cloud](https://docs.confluent.io/cloud/current/stream-designer/). + + ## The Pipelines Model + + + ## Quotas and Limits + This resource is subject to the [following quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): + + | Quota | Description | + | --- | --- | + | `pipelines_per_org` | Pipelines in one Confluent Cloud organization | + | `pipelines_per_cluster` | Pipelines in one Confluent Cloud Kafka cluster | + - name: Keys (byok/v1) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + `Key` objects represent customer managed keys on dedicated Confluent Cloud clusters. + + Keys are used to protect data at rest stored in your dedicated Confluent Cloud clusters on AWS, Azure, and GCP. + This API allows you to upload and retrieve self-managed keys on Confluent Cloud. + + + Related guide: [Confluent Cloud Bring Your Own Key (BYOK) Management API](https://docs.confluent.io/cloud/current/clusters/byok/index.html). + + ## The Keys Model + + + ## Quotas and Limits + This resource is subject to the [following quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): + + | Quota | Description | + | --- | --- | + | `byok.max_keys.per_org` | BYOK keys in one Confluent Cloud organisation. | + - name: Costs (billing/v1) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + `Cost` objects represent the aggregated billing costs for an organization + + + Related guide: [Retrieve costs for a range of dates](https://docs.confluent.io/cloud/current/billing/overview.html#retrieve-costs-for-a-range-of-dates). + + ## The Costs Model + + - name: Group Mappings (iam/v2/sso) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + `GroupMapping` objects establish relationships between user groups in your SSO + identity provider and specific RBAC roles in Confluent Cloud. + + Group mappings enable automated and secure access control to Confluent Cloud resources, + reducing administrative workload by streamlining user provisioning and authorization. + + + Related guide: [Use group mappings with your SSO identity provider](https://docs.confluent.io/cloud/current/access-management/authenticate/sso/group-mapping/overview.html). + + ## The Group Mappings Model + + + ## Quotas and Limits + This resource is subject to the [following quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): + + | Quota | Description | + | --- | --- | + | `group_mappings_per_org` | Number of group mappings per organization | + - name: Compute Pools (fcpm/v2) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + A Compute Pool represents a set of compute resources that is used to run your Queries. + The resources (CPUs, memory,…) provided by a Compute Pool are shared between all Queries that use it. + + + ## The Compute Pools Model + + - name: Regions (fcpm/v2) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + `Region` objects represent cloud provider regions available when placing Flink compute pools. + The API allows you to list Flink regions. + + + ## The Regions Model + + - name: Statements (sql/v1) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + `Statement` represents a core resource used to model SQL statements for execution. + A statement generalizes DDL, DML, DQL, etc., but doesn’t attempt to handle session + management or any higher-level functionality. + The API allows you to list, create, read, and delete your statements. + ## The Statements Model + + - name: Statement Results (sql/v1) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + `StatementResult` represents a result of a `Statement` resource. + The API allows you to read your statement's results. + ## The Statement Results Model + + - name: Statement Exceptions (sql/v1) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + `StatementException` represents an exception of a `Statement` resource. + The API allows you to read your statement's exceptions. + ## The Statement Exceptions Model + + - name: Connections (sql/v1) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + `Connection` represents a core resource used to model SQL connections for execution. + A connection generalizes DDL, DML, DQL, etc., but doesn’t attempt to handle session + management or any higher-level functionality. + The API allows you to list, create, read, and delete your connections. + ## The Connections Model + + - name: DNS Forwarders (networking/v1) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + Add, remove, and update DNS forwarder for your gateway. + + Related guides: + * [Use VPC peering connections with Confluent Cloud on AWS](https://docs.confluent.io/cloud/current/networking/peering/aws-peering.html). + * [Use VNet peering connections with Confluent Cloud on Azure](https://docs.confluent.io/cloud/current/networking/peering/azure-peering.html). + + + ## The DNS Forwarders Model + + - name: Access Points (networking/v1) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + AccessPoint objects represent network connections in and out of Gateways. + This API allows you to list, create, read, update, and delete your access points. + + + ## The Access Points Model + + - name: DNS Records (networking/v1) + description: |- + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + DNS record objects are associated with Confluent Cloud networking resources. This API allows you to list, create, read, update, and delete your DNS records. + + ## The DNS Records Model + + - name: Certificate Authorities (iam/v2) + description: |- + [![Limited Availability](https://img.shields.io/badge/Lifecycle%20Stage-Limited%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + `CertificateAuthority` objects represent signing certificate authorities in Confluent Cloud. + + The API allows you to list, create, read, update, and delete your Certificate Authority. + + + Related guide: [Manage certificate authorities used for client authentication with X.509 certificates.](https://docs.confluent.io/cloud/current/access-management/authenticate/mtls/overview.html). + + ## The Certificate Authorities Model + + + ## Quotas and Limits + This resource is subject to the [following quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): + + | Quota | Description | + | --- | --- | + | `certificate_authorities_per_org` | Number of certificate authorities per organization | + - name: Certificate Identity Pools (iam/v2) + description: |- + [![Limited Availability](https://img.shields.io/badge/Lifecycle%20Stage-Limited%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + `Identitypool` objects represent workload identities in Confluent Cloud. + + The API allows you to list, create, read, update, and delete your identity pools associated + with Certificate Authorities + + + Related guide: [Manage Certificate Identity Pools for Granular Client Access Management](https://docs.confluent.io/cloud/current/access-management/authenticate/mtls/configure.html#step-2-create-certificate-identity-pools-for-granular-access-control). + + ## The Certificate Identity Pools Model + + + ## Quotas and Limits + This resource is subject to the [following quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): + + | Quota | Description | + | --- | --- | + | `identity_pools_per_certificate_authority` | Number of Identity Pools per Certificate Authority | + - name: Integrations (pim/v1) + description: |- + [![Early Access](https://img.shields.io/badge/Lifecycle%20Stage-Early%20Access-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) [![Request Access To Provider Integration](https://img.shields.io/badge/-Request%20Access%20To%20Provider%20Integration-%23bc8540)](mailto:ccloud-api-access+pim-v1-early-access@confluent.io?subject=Request%20to%20join%20pim/v1%20API%20Early%20Access&body=I%E2%80%99d%20like%20to%20join%20the%20Confluent%20Cloud%20API%20Early%20Access%20for%20pim/v1%20to%20provide%20early%20feedback%21%20My%20Cloud%20Organization%20ID%20is%20%3Cretrieve%20from%20https%3A//confluent.cloud/settings/billing/payment%3E.) + + `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, and delete individual integrations, and also obtain a + list of all your provider integrations. + + + Related guide: [Provider Integration in Confluent Cloud](https://docs.confluent.io/home/overview.html). + + ## The Integrations Model + + - name: Flink Artifacts (artifact/v1) + description: |- + [![Early Access](https://img.shields.io/badge/Lifecycle%20Stage-Early%20Access-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) [![Request Access To Flink Artifact API EA](https://img.shields.io/badge/-Request%20Access%20To%20Flink%20Artifact%20API%20EA-%23bc8540)](mailto:ccloud-api-access+artifact-v1-early-access@confluent.io?subject=Request%20to%20join%20artifact/v1%20API%20Early%20Access&body=I%E2%80%99d%20like%20to%20join%20the%20Confluent%20Cloud%20API%20Early%20Access%20for%20artifact/v1%20to%20provide%20early%20feedback%21%20My%20Cloud%20Organization%20ID%20is%20%3Cretrieve%20from%20https%3A//confluent.cloud/settings/billing/payment%3E.) + + FlinkArtifact objects represent Flink Artifacts on Confluent Cloud. + + + ## The Flink Artifacts Model + + - name: Presigned Urls (artifact/v1) + description: |- + [![Early Access](https://img.shields.io/badge/Lifecycle%20Stage-Early%20Access-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) [![Request Access To Flink Artifact API EA](https://img.shields.io/badge/-Request%20Access%20To%20Flink%20Artifact%20API%20EA-%23bc8540)](mailto:ccloud-api-access+artifact-v1-early-access@confluent.io?subject=Request%20to%20join%20artifact/v1%20API%20Early%20Access&body=I%E2%80%99d%20like%20to%20join%20the%20Confluent%20Cloud%20API%20Early%20Access%20for%20artifact/v1%20to%20provide%20early%20feedback%21%20My%20Cloud%20Organization%20ID%20is%20%3Cretrieve%20from%20https%3A//confluent.cloud/settings/billing/payment%3E.) + + Request a presigned upload URL for new Flink Artifact. Note that + the URL policy expires in one hour. If the policy expires, you can request + a new presigned upload URL. + + + ## The Presigned Urls Model + + - name: Flink Artifact Versions (artifact/v1) + description: |- + [![Early Access](https://img.shields.io/badge/Lifecycle%20Stage-Early%20Access-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) [![Request Access To Flink Artifact API EA](https://img.shields.io/badge/-Request%20Access%20To%20Flink%20Artifact%20API%20EA-%23bc8540)](mailto:ccloud-api-access+artifact-v1-early-access@confluent.io?subject=Request%20to%20join%20artifact/v1%20API%20Early%20Access&body=I%E2%80%99d%20like%20to%20join%20the%20Confluent%20Cloud%20API%20Early%20Access%20for%20artifact/v1%20to%20provide%20early%20feedback%21%20My%20Cloud%20Organization%20ID%20is%20%3Cretrieve%20from%20https%3A//confluent.cloud/settings/billing/payment%3E.) + + FlinkArtifactVersion objects represent Flink Artifact Versions on Confluent Cloud. + + + ## The Flink Artifact Versions Model + +components: + schemas: + sts.v1.TokenExchangeRequest: + type: object + description: token exchange request parameters + properties: + api_version: + type: string + enum: + - sts/v1 + 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: + - TokenExchangeRequest + 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 + metadata: + allOf: + - $ref: '#/components/schemas/ObjectMeta' + - properties: + self: + example: 'https://api.confluent.cloud/sts/v1/token-exchange-requests/ter-12345' + resource_name: + example: 'crn://confluent.cloud/organization=9bb441c4-edef-46ac-8a41-c49e44a3fd9a/token-exchange-request=ter-12345' + grant_type: + type: string + x-extensible-enum: + - 'urn:ietf:params:oauth:grant-type:token-exchange' + description: | + The grant type. Must be urn:ietf:params:oauth:grant-type:token-exchange, which indicates a token exchange. + example: 'urn:ietf:params:oauth:grant-type:token-exchange' + subject_token: + type: string + description: Confluent Cloud only accepts JSON Web Token (JWT) access tokens from customer identity provider + example: test_jwt_token + identity_pool_id: + type: string + description: | + Identity pool is a group of external identities that are assigned a certain level of access based on policy + example: pool_1 + subject_token_type: + type: string + x-extensible-enum: + - 'urn:ietf:params:oauth:token-type:jwt' + description: | + An identifier for the type of requested security token. Supported values + is urn:ietf:params:oauth:token-type:jwt. + example: 'urn:ietf:params:oauth:token-type:jwt' + requested_token_type: + type: string + x-extensible-enum: + - 'urn:ietf:params:oauth:token-type:access_token' + description: | + An identifier for the type of requested security token. + Supported values is urn:ietf:params:oauth:token-type:access_token. + example: 'urn:ietf:params:oauth:token-type:access_token' + expires_in: + type: integer + format: int32 + description: | + The amount of time, in seconds, between the time when the access token was issued + and the time when the access token will expire + default: 900 + maximum: 900 + sts.v1.TokenExchangeReply: + type: object + description: token exchange response + required: + - access_token + - issued_token_type + - token_type + - expires_in + properties: + access_token: + type: string + description: | + An JWT access token, issued by Confluent, in response to the token exchange request. + Client application could use the access token to access confluent public api + issued_token_type: + type: string + x-extensible-enum: + - 'urn:ietf:params:oauth:token-type:access_token' + description: The token type. Always matches the value of requested_token_type from the request. + example: 'urn:ietf:params:oauth:token-type:access_token' + token_type: + type: string + x-extensible-enum: + - Bearer + description: Indicates the token type value. The only type that Confluent supports is Bearer + example: Bearer + expires_in: + type: integer + format: int32 + description: 'The length of time, in seconds, that the access token is valid.' + example: 3600 + ObjectMeta: + description: 'ObjectMeta is metadata that all persisted resources must have, which includes all objects users must create.' + required: + - self + properties: + self: + description: 'Self is a Uniform Resource Locator (URL) at which an object can be addressed. This URL encodes the service location, API version, and other particulars necessary to locate the resource at a point in time' + type: string + format: uri + readOnly: true + example: 'https://api.confluent.cloud/v2/kafka-clusters/lkc-f3a90de' + resource_name: + description: Resource Name is a Uniform Resource Identifier (URI) that is globally unique across space and time. It is represented as a Confluent Resource Name + type: string + format: uri + readOnly: true + example: 'crn://confluent.cloud/kafka=lkc-f3a90de' + created_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: The date and time at which this object was created. It is represented in RFC3339 format and is in UTC. + updated_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: The date and time at which this object was last updated. It is represented in RFC3339 format and is in UTC. + deleted_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: The date and time at which this object was (or will be) deleted. It is represented in RFC3339 format and is in UTC. + readOnly: true + AclOperation: + type: string + x-extensible-enum: + - UNKNOWN + - ANY + - ALL + - READ + - WRITE + - CREATE + - DELETE + - ALTER + - DESCRIBE + - CLUSTER_ACTION + - DESCRIBE_CONFIGS + - ALTER_CONFIGS + - IDEMPOTENT_WRITE + AclPatternType: + type: string + x-extensible-enum: + - UNKNOWN + - ANY + - MATCH + - LITERAL + - PREFIXED + AclPermission: + type: string + x-extensible-enum: + - UNKNOWN + - ANY + - DENY + - ALLOW + AclResourceType: + type: string + enum: + - UNKNOWN + - ANY + - TOPIC + - GROUP + - CLUSTER + - TRANSACTIONAL_ID + - DELEGATION_TOKEN + BrokerTaskType: + type: string + enum: + - add-broker + - remove-broker + MirrorTopicStatus: + enum: + - ACTIVE + - FAILED + - LINK_FAILED + - LINK_PAUSED + - PAUSED + - PENDING_STOPPED + - SOURCE_UNAVAILABLE + - STOPPED + - PENDING_MIRROR + - PENDING_SYNCHRONIZE + - PENDING_SETUP_FOR_RESTORE + - PENDING_RESTORE + type: string + Failure: + type: object + description: Provides information about problems encountered while performing an operation. + required: + - errors + properties: + errors: + description: List of errors which caused this operation to fail + type: array + items: + $ref: '#/components/schemas/Error' + uniqueItems: true + AlterConfigBatchRequestData: + type: object + required: + - data + properties: + data: + type: array + items: + type: object + required: + - name + properties: + name: + type: string + value: + type: string + nullable: true + operation: + type: string + x-extensible-enum: + - SET + - DELETE + nullable: true + validate_only: + type: boolean + CreateAclRequestData: + type: object + required: + - resource_type + - resource_name + - pattern_type + - principal + - host + - operation + - permission + properties: + resource_type: + $ref: '#/components/schemas/AclResourceType' + resource_name: + type: string + pattern_type: + $ref: '#/components/schemas/AclPatternType' + principal: + type: string + host: + type: string + operation: + $ref: '#/components/schemas/AclOperation' + permission: + $ref: '#/components/schemas/AclPermission' + CreateAclRequestDataList: + allOf: + - type: object + required: + - data + properties: + data: + type: array + items: + $ref: '#/components/schemas/CreateAclRequestData' + CreateTopicRequestData: + type: object + required: + - topic_name + properties: + topic_name: + type: string + partitions_count: + type: integer + replication_factor: + type: integer + configs: + type: array + items: + type: object + required: + - name + properties: + name: + type: string + value: + type: string + nullable: true + validate_only: + type: boolean + ProduceRequest: + type: object + properties: + partition_id: + type: integer + nullable: true + format: int32 + headers: + type: array + items: + $ref: '#/components/schemas/ProduceRequestHeader' + key: + $ref: '#/components/schemas/ProduceRequestData' + value: + $ref: '#/components/schemas/ProduceRequestData' + timestamp: + type: string + format: date-time + nullable: true + UpdateConfigRequestData: + type: object + properties: + value: + type: string + nullable: true + CreateLinkRequestData: + properties: + source_cluster_id: + type: string + destination_cluster_id: + type: string + remote_cluster_id: + description: The expected remote cluster ID. + type: string + cluster_link_id: + description: 'The expected cluster link ID. Can be provided when creating the second side of a bidirectional link for validating the link ID is as expected. If it''s not provided, it''s inferred from the remote cluster.' + type: string + configs: + items: + $ref: '#/components/schemas/ConfigData' + type: array + type: object + UpdateLinkConfigRequestData: + properties: + value: + type: string + required: + - value + type: object + CreateMirrorTopicRequestData: + properties: + source_topic_name: + type: string + mirror_topic_name: + type: string + replication_factor: + type: integer + configs: + type: array + items: + $ref: '#/components/schemas/ConfigData' + required: + - source_topic_name + type: object + AlterMirrorsRequestData: + properties: + mirror_topic_names: + description: The mirror topics specified as a list of topic names. + type: array + items: + type: string + mirror_topic_name_pattern: + description: The mirror topics specified as a pattern. + type: string + type: object + RemoveBrokersRequestData: + properties: + broker_ids: + type: array + items: + type: integer + required: + - broker_ids + type: object + BrokerReplicaExclusionBatchRequestData: + type: object + required: + - data + properties: + data: + type: array + items: + $ref: '#/components/schemas/BrokerReplicaExclusionRequestData' + Error: + type: object + description: Describes a particular error encountered while performing an operation. + properties: + id: + description: A unique identifier for this particular occurrence of the problem. + type: string + maxLength: 255 + status: + description: 'The HTTP status code applicable to this problem, expressed as a string value.' + type: string + code: + description: 'An application-specific error code, expressed as a string value.' + type: string + title: + description: 'A short, human-readable summary of the problem. It **SHOULD NOT** change from occurrence to occurrence of the problem, except for purposes of localization.' + type: string + detail: + description: A human-readable explanation specific to this occurrence of the problem. + type: string + source: + type: object + description: 'If this error was caused by a particular part of the API request, the source will point to the query string parameter or request body property that caused it.' + properties: + pointer: + description: 'A JSON Pointer [RFC6901] to the associated entity in the request document [e.g. "/spec" for a spec object, or "/spec/title" for a specific field].' + type: string + parameter: + description: A string indicating which query parameter caused the error. + type: string + error_code: + type: integer + format: int32 + message: + type: string + nullable: true + additionalProperties: false + ProduceRequestHeader: + type: object + required: + - name + properties: + name: + type: string + value: + type: string + format: byte + nullable: true + ProduceRequestData: + type: object + properties: + type: + type: string + x-extensible-enum: + - BINARY + - JSON + - STRING + data: + $ref: '#/components/schemas/AnyValue' + nullable: true + ConfigData: + example: + name: name + value: value + properties: + name: + type: string + value: + nullable: true + type: string + required: + - name + - value + BrokerReplicaExclusionRequestData: + type: object + required: + - broker_id + - reason + properties: + broker_id: + type: integer + reason: + type: string + AnyValue: + nullable: true + parameters: + AclHost: + name: host + description: The ACL host. + in: query + required: false + schema: + type: string + AclOperation: + name: operation + description: The ACL operation. + in: query + required: false + schema: + $ref: '#/components/schemas/AclOperation' + AclOperationRequired: + name: operation + description: The ACL operation. + in: query + required: true + schema: + $ref: '#/components/schemas/AclOperation' + AclPatternType: + name: pattern_type + description: The ACL pattern type. + in: query + required: false + schema: + $ref: '#/components/schemas/AclPatternType' + AclPatternTypeRequired: + name: pattern_type + description: The ACL pattern type. + in: query + required: true + schema: + $ref: '#/components/schemas/AclPatternType' + AclPermission: + name: permission + description: The ACL permission. + in: query + required: false + schema: + $ref: '#/components/schemas/AclPermission' + AclPermissionRequired: + name: permission + description: The ACL permission. + in: query + required: true + schema: + $ref: '#/components/schemas/AclPermission' + AclPrincipal: + name: principal + description: The ACL principal. This is the Service Account name or user name. + in: query + required: false + schema: + type: string + AclResourceName: + name: resource_name + description: The ACL resource name. + in: query + required: false + schema: + type: string + AclResourceType: + name: resource_type + description: The ACL resource type. + in: query + required: false + schema: + $ref: '#/components/schemas/AclResourceType' + AclResourceTypeRequired: + name: resource_type + description: The ACL resource type. + in: query + required: true + schema: + $ref: '#/components/schemas/AclResourceType' + BrokerId: + name: broker_id + description: The Kafka broker ID. + in: path + required: true + schema: + type: integer + example: 1 + ClusterId: + name: cluster_id + description: The Kafka cluster ID. + in: path + required: true + schema: + type: string + example: cluster-1 + ConfigName: + name: name + description: The configuration parameter name. + in: path + required: true + schema: + type: string + example: compression.type + ConsumerGroupId: + name: consumer_group_id + description: The consumer group ID. + in: path + required: true + schema: + type: string + example: consumer-group-1 + ConsumerId: + name: consumer_id + description: The consumer ID. + in: path + required: true + schema: + type: string + example: consumer-1 + IncludeAuthorizedOperations: + name: include_authorized_operations + description: Specify if authorized operations should be included in the response. + in: query + required: false + schema: + type: boolean + PartitionId: + name: partition_id + description: The partition ID. + in: path + required: true + schema: + type: integer + example: 0 + TopicName: + name: topic_name + description: The topic name. + in: path + required: true + schema: + type: string + example: topic-1 + BrokerTaskType: + name: task_type + description: The Kafka broker task type. + in: path + required: true + schema: + $ref: '#/components/schemas/BrokerTaskType' + example: remove-broker + ShouldShutdown: + name: should_shutdown + description: 'To shutdown the broker or not, Default: true' + in: query + required: false + schema: + type: boolean + example: true + ValidateOnly: + name: validate_only + description: 'To validate the action can be performed successfully or not. Default: false' + in: query + required: false + schema: + type: boolean + example: false + ValidateLink: + name: validate_link + description: 'To synchronously validate that the source cluster ID is expected and the dest cluster has the permission to read topics in the source cluster. Default: true' + in: query + required: false + schema: + type: boolean + example: false + IncludeTasks: + name: include_tasks + description: 'Whether to include cluster linking tasks in the response. Default: false' + in: query + required: false + schema: + type: boolean + example: false + IncludeStateTransitionErrors: + name: include_state_transition_errors + description: 'Whether to include mirror state transition errors in the response. Default: false' + in: query + required: false + schema: + type: boolean + example: false + Force: + name: force + description: 'Force the action. Default: false' + in: query + required: false + schema: + type: boolean + example: false + IncludePartitionLevelTruncationData: + name: include_partition_level_truncation_data + description: 'Whether to include partition level truncation information when truncating and restoring a topic in the response. Default: false' + in: query + required: false + schema: + type: boolean + example: false + LinkName: + name: link_name + description: The link name + in: path + required: true + schema: + type: string + example: link-sb1 + LinkConfigName: + name: config_name + description: The link config name + in: path + required: true + schema: + type: string + example: consumer.offset.sync.enable + MirrorTopicStatus: + name: mirror_status + description: 'The status of the mirror topic. If not specified, all mirror topics will be returned.' + in: query + required: false + schema: + $ref: '#/components/schemas/MirrorTopicStatus' + example: ACTIVE + MirrorTopicName: + name: mirror_topic_name + description: Cluster Linking mirror topic name + in: path + required: true + schema: + type: string + example: topic-1 + QueryParamLinkName: + name: link_name + description: The link name + in: query + required: true + schema: + type: string + example: link-sb1 + responses: + BadRequestError: + description: Bad Request + headers: + X-Request-Id: + schema: + type: string + description: The unique identifier for the API request. + content: + application/json: + schema: + $ref: '#/components/schemas/Failure' + example: + errors: + - id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d + status: '400' + code: invalid_filter + title: Invalid Filter + detail: The 'delorean' resource can't be filtered by 'num_doors' + source: + parameter: num_doors + RateLimitError: + description: Rate Limit Exceeded + headers: + X-Request-Id: + schema: + type: string + description: The unique identifier for the API request. + X-RateLimit-Limit: + schema: + type: integer + description: The maximum number of requests you're permitted to make per time period. + X-RateLimit-Remaining: + schema: + type: integer + description: The number of requests remaining in the current rate limit window. + X-RateLimit-Reset: + schema: + type: integer + description: |- + The relative time in seconds until the current rate-limit window resets. + + **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. + DefaultSystemError: + description: 'Oops, something went wrong!' + headers: + X-Request-Id: + schema: + type: string + description: The unique identifier for the API request. + content: + application/json: + schema: + $ref: '#/components/schemas/Failure' + example: + errors: + - id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d + status: '500' + code: out_of_gas + title: DeLorean Out Of Gas + detail: 'The DeLorean has run out of gas, but Doc Brown will fill ''er up for you asap' + securitySchemes: + cloud-api-key: + type: http + scheme: basic + description: Authenticate with Cloud API Keys using HTTP Basic Auth. Treat the Cloud API Key ID as the username and Cloud API Key Secret as the password. + confluent-sts-access-token: + type: oauth2 + description: Authenticate with Confluent API using this credentials (JSON Web Tokens) following OAuth 2.0. + flows: + clientCredentials: + tokenUrl: 'https://api.confluent.cloud/sts/v1/oauth2/token' + scopes: {} + api-key: + type: http + scheme: basic + description: Authenticate with API Keys using HTTP Basic Auth. Treat the API Key ID as the username and API Key Secret as the password. + resource-api-key: + type: http + scheme: basic + description: | + Authenticate with resource-specific API Keys using HTTP Basic Auth. Treat the resource-specific API Key ID + as the username and resource-specific API Key Secret as the password. + external-access-token: + type: oauth2 + description: Authenticate with OAuth 2.0. + flows: + clientCredentials: + tokenUrl: 'https:///token' + scopes: {} + oauth: + type: oauth2 + description: Authenticate with OAuth 2.0. Currently this is only supported for partner APIs. + flows: + clientCredentials: + tokenUrl: /oauth2/token + scopes: + 'partner:alter': enables partners to alter entitlements + 'partner:create': enables partners to create entitlements and signup on behalf of customers + 'partner:delete': enables partners to delete entitlements and organizations + 'partner:describe': enables partners to read and list entitlements and organizations + requestBodies: + AlterBrokerConfigBatchRequest: + description: The alter broker configuration parameter batch request. + content: + application/json: + schema: + $ref: '#/components/schemas/AlterConfigBatchRequestData' + example: + data: + - name: max.connections + operation: DELETE + - name: compression.type + value: gzip + AlterClusterConfigBatchRequest: + description: The alter cluster configuration parameter batch request. + content: + application/json: + schema: + $ref: '#/components/schemas/AlterConfigBatchRequestData' + example: + data: + - name: max.connections + operation: DELETE + - name: compression.type + value: gzip + AlterTopicConfigBatchRequest: + description: The alter topic configuration parameter batch request. + content: + application/json: + schema: + $ref: '#/components/schemas/AlterConfigBatchRequestData' + examples: + batch_alter_topic_configs: + value: + data: + - name: cleanup.policy + operation: DELETE + - name: compression.type + value: gzip + validate_only_batch_alter_topic_configs: + value: + data: + - name: cleanup.policy + operation: DELETE + - name: compression.type + value: gzip + validate_only: true + CreateAclRequest: + description: The ACL creation request. + content: + application/json: + schema: + $ref: '#/components/schemas/CreateAclRequestData' + example: + resource_type: CLUSTER + resource_name: kafka-cluster + pattern_type: LITERAL + principal: 'principalType:principalName' + host: '*' + operation: DESCRIBE + permission: DENY + BatchCreateAclRequest: + description: The batch ACL creation request. + content: + application/json: + schema: + $ref: '#/components/schemas/CreateAclRequestDataList' + example: + data: + - resource_type: CLUSTER + resource_name: kafka-cluster + pattern_type: LITERAL + principal: 'principalType:principalName' + host: '*' + operation: DESCRIBE + permission: DENY + - resource_type: TOPIC + resource_name: kafka-cluster + pattern_type: LITERAL + principal: 'principalType:principalName' + host: '*' + operation: READ + permission: ALLOW + CreateTopicRequest: + description: 'The topic creation request. Note that Confluent Cloud allows only specific replication factor values. Because of that the replication factor field should either be omitted or it should use one of the allowed values (see https://docs.confluent.io/cloud/current/client-apps/optimizing/durability.html).' + content: + application/json: + schema: + $ref: '#/components/schemas/CreateTopicRequestData' + examples: + uniform_replication: + value: + topic_name: topic-X + partitions_count: 64 + replication_factor: 3 + configs: + - name: cleanup.policy + value: compact + - name: compression.type + value: gzip + dry_run_create_topic: + value: + topic_name: topic-X + partitions_count: 64 + replication_factor: 3 + validate_only: true + ProduceRequest: + description: 'A single record to be produced to Kafka. To produce multiple records in the same request, simply concatenate the records. The delivery reports are concatenated in the same order as the records are sent.' + content: + application/json: + schema: + $ref: '#/components/schemas/ProduceRequest' + examples: + binary_and_json: + description: 'If using type, one of "BINARY", "JSON" or "STRING" is required.' + value: + partition_id: 1 + headers: + - name: Header-1 + value: SGVhZGVyLTE= + - name: Header-2 + value: SGVhZGVyLTI= + key: + type: BINARY + data: Zm9vYmFy + value: + type: JSON + data: + foo: bar + timestamp: '2021-02-05T19:14:42Z' + string: + description: 'If using type, one of "BINARY", "JSON" or "STRING" is required.' + value: + value: + type: STRING + data: My message + empty_value: + description: key or value can be omitted entirely. + value: + key: + data: 1000 + UpdateBrokerConfigRequest: + description: The broker configuration parameter update request. + content: + application/json: + schema: + $ref: '#/components/schemas/UpdateConfigRequestData' + example: + value: gzip + UpdateClusterConfigRequest: + description: The cluster configuration parameter update request. + content: + application/json: + schema: + $ref: '#/components/schemas/UpdateConfigRequestData' + example: + value: gzip + UpdateTopicConfigRequest: + description: The topic configuration parameter update request. + content: + application/json: + schema: + $ref: '#/components/schemas/UpdateConfigRequestData' + example: + value: gzip + CreateLinkRequest: + description: Create a cluster link + content: + application/json: + schema: + $ref: '#/components/schemas/CreateLinkRequestData' + examples: + destination_initiated_link: + description: Create a destination initiated cluster link + value: + source_cluster_id: cluster-1 + configs: + - name: bootstrap.servers + value: cluster-1-bootstrap-server + - name: acl.sync.enable + value: 'false' + - name: consumer.offset.sync.ms + value: '30000' + - name: sasl.mechanism + value: PLAIN + - name: sasl.protocol + value: SASL_SSL + - name: sasl.jaas.config + value: sasl.jaas.config=org.apache.kafka.common.security.plain.PlainLoginModule required username='' password=''; + source_initiated_link_at_source_cluster: + description: Create a source initiated cluster link at source cluster + value: + destination_cluster_id: cluster-2 + configs: + - name: bootstrap.servers + value: cluster-2-bootstrap-server + - name: link.mode + value: SOURCE + - name: sasl.mechanism + value: PLAIN + - name: sasl.protocol + value: SASL_SSL + - name: sasl.jaas.config + value: sasl.jaas.config=org.apache.kafka.common.security.plain.PlainLoginModule required username='' password=''; + source_initiated_link_at_destination_cluster: + description: Create a source initiated cluster link at destination cluster + value: + destination_cluster_id: cluster-1 + configs: + - name: bootstrap.servers + value: cluster-1-bootstrap-server + - name: link.mode + value: DESTINATION + - name: connection.mode + value: INBOUND + - name: acl.sync.enable + value: 'false' + - name: sasl.mechanism + value: PLAIN + - name: sasl.protocol + value: SASL_SSL + - name: sasl.jaas.config + value: sasl.jaas.config=org.apache.kafka.common.security.plain.PlainLoginModule required username='' password=''; + bidirectional_link_east: + description: Create a bidirectional cluster link in east + value: + remote_cluster_id: cluster-west + configs: + - name: bootstrap.servers + value: cluster-west-bootstrap-server + - name: link.mode + value: BIDIRECTIONAL + - name: cluster.link.prefix + value: west. + - name: sasl.mechanism + value: PLAIN + - name: sasl.protocol + value: SASL_SSL + - name: sasl.jaas.config + value: sasl.jaas.config=org.apache.kafka.common.security.plain.PlainLoginModule required username='' password=''; + bidirectional_link_west: + description: Create a bidirectional cluster link in west + value: + remote_cluster_id: cluster-east + cluster_link_id: eEBkTffYSESld6EO898x3w + configs: + - name: bootstrap.servers + value: cluster-east-bootstrap-server + - name: link.mode + value: BIDIRECTIONAL + - name: cluster.link.prefix + value: east. + - name: sasl.mechanism + value: PLAIN + - name: sasl.protocol + value: SASL_SSL + - name: sasl.jaas.config + value: sasl.jaas.config=org.apache.kafka.common.security.plain.PlainLoginModule required username='' password=''; + UpdateLinkConfigRequest: + content: + application/json: + example: + value: '300000' + schema: + $ref: '#/components/schemas/UpdateLinkConfigRequestData' + description: Link config value to update + AlterLinkConfigBatchRequest: + content: + application/json: + example: + data: + - name: cleanup.policy + operation: DELETE + - name: compression.type + value: gzip + schema: + $ref: '#/components/schemas/AlterConfigBatchRequestData' + CreateMirrorTopicRequest: + description: 'Name and configs of the topics mirroring from and mirroring to. Note that Confluent Cloud allows only specific replication factor values. Because of that the replication factor field should either be omitted or it should use one of the allowed values (see https://docs.confluent.io/cloud/current/client-apps/optimizing/durability.html).' + content: + application/json: + schema: + $ref: '#/components/schemas/CreateMirrorTopicRequestData' + examples: + generic_example: + description: Generic example of creating a mirror topic + value: + source_topic_name: topic-1 + configs: + - name: unclean.leader.election.enable + value: 'true' + replication_factor: 1 + example_with_mirror_topic_name: + description: Example using optional mirror_topic_name flag + value: + source_topic_name: topic-1 + mirror_topic_name: link1_topic-1 + configs: + - name: unclean.leader.election.enable + value: 'true' + replication_factor: 3 + AlterMirrorsRequest: + description: Mirror topics to be altered. + content: + application/json: + schema: + $ref: '#/components/schemas/AlterMirrorsRequestData' + examples: + mirror_topic_names: + description: Example using mirror topic names + value: + mirror_topic_names: + - topic-1 + - topic-2 + mirror_topic_name_pattern: + description: Example using mirror topic name pattern + value: + mirror_topic_name_pattern: .* + RemoveBrokersRequest: + content: + application/json: + example: + broker_ids: + - 1 + - 2 + - 3 + schema: + $ref: '#/components/schemas/RemoveBrokersRequestData' + description: Broker ids to remove + BrokerReplicaExclusionBatchRequest: + description: Alter Broker Replica Exclusions. + content: + application/json: + schema: + $ref: '#/components/schemas/BrokerReplicaExclusionBatchRequestData' + example: + data: + - broker_id: 1 + reason: The broker is to be removed. + - broker_id: 2 + reason: The broker is to be removed. + x-stackQL-resources: + oauth_tokens: + id: confluent.sts.oauth_tokens + name: oauth_tokens + title: Oauth Tokens + methods: + exchange_sts_v1oauth_token: + operation: + $ref: '#/paths/~1sts~1v1~1oauth2~1token/post' + response: + mediaType: application/json + openAPIDocKey: '200' + schemaRef: '#/components/schemas/sts.v1.TokenExchangeReply' + sqlVerbs: + select: [] + insert: [] + update: [] + replace: [] + delete: [] +paths: + /sts/v1/oauth2/token: + post: + description: | + [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + Use this operation to exchange an access token (JWT) issued by an external identity provider for + an access token (JWT) issued by Confluent.This enables the use of external identities + to access Confluent Cloud APIs. + requestBody: + content: + application/x-www-form-urlencoded: + schema: + allOf: + - $ref: '#/components/schemas/sts.v1.TokenExchangeRequest' + - type: object + required: + - subject_token + - grant_type + - identity_pool_id + - subject_token_type + - requested_token_type + x-name: sts.v1.OauthToken + operationId: exchangeStsV1OauthToken + summary: Exchange an OAuth Token + tags: + - OAuth Tokens (sts/v1) + responses: + '200': + description: | + access token used to access public control plane api + content: + application/json: + schema: + $ref: '#/components/schemas/sts.v1.TokenExchangeReply' + '400': + $ref: '#/components/responses/BadRequestError' + '429': + $ref: '#/components/responses/RateLimitError' + '500': + $ref: '#/components/responses/DefaultSystemError' + x-codeSamples: + - lang: Shell + source: |- + curl --request POST \ + --url https://api.confluent.cloud/sts/v1/oauth2/token \ + --header 'content-type: application/x-www-form-urlencoded' \ + --data grant_type=urn%3Aietf%3Aparams%3Aoauth%3Agrant-type%3Atoken-exchange \ + --data subject_token=test_jwt_token \ + --data identity_pool_id=pool_1 \ + --data subject_token_type=urn%3Aietf%3Aparams%3Aoauth%3Atoken-type%3Ajwt \ + --data requested_token_type=urn%3Aietf%3Aparams%3Aoauth%3Atoken-type%3Aaccess_token \ + --data expires_in=900 + - lang: Java + source: |- + OkHttpClient client = new OkHttpClient(); + + MediaType mediaType = MediaType.parse("application/x-www-form-urlencoded"); + RequestBody body = RequestBody.create(mediaType, "grant_type=urn%253Aietf%253Aparams%253Aoauth%253Agrant-type%253Atoken-exchange&subject_token=test_jwt_token&identity_pool_id=pool_1&subject_token_type=urn%253Aietf%253Aparams%253Aoauth%253Atoken-type%253Ajwt&requested_token_type=urn%253Aietf%253Aparams%253Aoauth%253Atoken-type%253Aaccess_token&expires_in=900"); + Request request = new Request.Builder() + .url("https://api.confluent.cloud/sts/v1/oauth2/token") + .post(body) + .addHeader("content-type", "application/x-www-form-urlencoded") + .build(); + + Response response = client.newCall(request).execute(); + - lang: Go + source: "package main\n\nimport (\n\t\"fmt\"\n\t\"strings\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.confluent.cloud/sts/v1/oauth2/token\"\n\n\tpayload := strings.NewReader(\"grant_type=urn%253Aietf%253Aparams%253Aoauth%253Agrant-type%253Atoken-exchange&subject_token=test_jwt_token&identity_pool_id=pool_1&subject_token_type=urn%253Aietf%253Aparams%253Aoauth%253Atoken-type%253Ajwt&requested_token_type=urn%253Aietf%253Aparams%253Aoauth%253Atoken-type%253Aaccess_token&expires_in=900\")\n\n\treq, _ := http.NewRequest(\"POST\", url, payload)\n\n\treq.Header.Add(\"content-type\", \"application/x-www-form-urlencoded\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}" + - lang: Python + source: |- + import http.client + + conn = http.client.HTTPSConnection("api.confluent.cloud") + + payload = "grant_type=urn%253Aietf%253Aparams%253Aoauth%253Agrant-type%253Atoken-exchange&subject_token=test_jwt_token&identity_pool_id=pool_1&subject_token_type=urn%253Aietf%253Aparams%253Aoauth%253Atoken-type%253Ajwt&requested_token_type=urn%253Aietf%253Aparams%253Aoauth%253Atoken-type%253Aaccess_token&expires_in=900" + + headers = { 'content-type': "application/x-www-form-urlencoded" } + + conn.request("POST", "/sts/v1/oauth2/token", payload, headers) + + res = conn.getresponse() + data = res.read() + + print(data.decode("utf-8")) + - lang: Node + source: |- + const qs = require("querystring"); + const http = require("https"); + + const options = { + "method": "POST", + "hostname": "api.confluent.cloud", + "port": null, + "path": "/sts/v1/oauth2/token", + "headers": { + "content-type": "application/x-www-form-urlencoded" + } + }; + + const req = http.request(options, function (res) { + const chunks = []; + + res.on("data", function (chunk) { + chunks.push(chunk); + }); + + res.on("end", function () { + const body = Buffer.concat(chunks); + console.log(body.toString()); + }); + }); + + req.write(qs.stringify({ + grant_type: 'urn%3Aietf%3Aparams%3Aoauth%3Agrant-type%3Atoken-exchange', + subject_token: 'test_jwt_token', + identity_pool_id: 'pool_1', + subject_token_type: 'urn%3Aietf%3Aparams%3Aoauth%3Atoken-type%3Ajwt', + requested_token_type: 'urn%3Aietf%3Aparams%3Aoauth%3Atoken-type%3Aaccess_token', + expires_in: '900' + })); + req.end(); + - lang: C + source: |- + CURL *hnd = curl_easy_init(); + + curl_easy_setopt(hnd, CURLOPT_CUSTOMREQUEST, "POST"); + curl_easy_setopt(hnd, CURLOPT_URL, "https://api.confluent.cloud/sts/v1/oauth2/token"); + + struct curl_slist *headers = NULL; + headers = curl_slist_append(headers, "content-type: application/x-www-form-urlencoded"); + curl_easy_setopt(hnd, CURLOPT_HTTPHEADER, headers); + + curl_easy_setopt(hnd, CURLOPT_POSTFIELDS, "grant_type=urn%253Aietf%253Aparams%253Aoauth%253Agrant-type%253Atoken-exchange&subject_token=test_jwt_token&identity_pool_id=pool_1&subject_token_type=urn%253Aietf%253Aparams%253Aoauth%253Atoken-type%253Ajwt&requested_token_type=urn%253Aietf%253Aparams%253Aoauth%253Atoken-type%253Aaccess_token&expires_in=900"); + + CURLcode ret = curl_easy_perform(hnd); + - lang: C# + source: |- + var client = new RestClient("https://api.confluent.cloud/sts/v1/oauth2/token"); + var request = new RestRequest(Method.POST); + request.AddHeader("content-type", "application/x-www-form-urlencoded"); + request.AddParameter("application/x-www-form-urlencoded", "grant_type=urn%253Aietf%253Aparams%253Aoauth%253Agrant-type%253Atoken-exchange&subject_token=test_jwt_token&identity_pool_id=pool_1&subject_token_type=urn%253Aietf%253Aparams%253Aoauth%253Atoken-type%253Ajwt&requested_token_type=urn%253Aietf%253Aparams%253Aoauth%253Atoken-type%253Aaccess_token&expires_in=900", ParameterType.RequestBody); + IRestResponse response = client.Execute(request);