openapi: 3.2.0
info:
title: Confluent Cloud Private Link Accesses (networking/v1) API
version: ''
x-api-id: 46234552-5833-42eb-ba0f-883ad3f70d2b
x-audience: external-public
x-logo:
url: https://assets.confluent.io/m/1661ef5e4ff82d3d/
description: "# Introduction\n\n
\n
Note
\nThis documents the collection of Confluent Cloud APIs. Each API documents its\n
lifecycle phase. APIs\nmarked as Early Access or Preview are not ready for production usage. We're currently\nworking with a select group of customers to get feedback and iterate on these APIs.\n
\n\nConfluent Cloud APIs are a core building block of Confluent Cloud. You can use the APIs to\nmanage your own account or to integrate Confluent into your product.\n\nMost of the APIs are organized around\nREST\nand the resources which make up Confluent Cloud. The APIs have predictable\nresource-oriented URLs, transport data using JSON, and use standard HTTP verbs,\nresponse codes, authentication, and design principles.\n\n## Object Model\n\n\n
Note
\nThis section describes the object model for many Confluent Cloud APIs, but not all.\nThe Connect v1 API group has a different object model. You can review the example\nrequest and response bodies in
Connect v1 API\nto see its object model.\n
\n\nConfluent Cloud APIs are primarily designed to be declarative and intent-oriented. In other words,\ntell the API what you want (for example, throughput or SLOs) and it will figure out how to make it happen\n(for example, cluster sizing). A Confluent object acts as a \"record of intent\" — after you create the\nobject, Confluent Cloud will work tirelessly in the background to ensure that the object exists\nas specified.\n\nConfluent APIs represent objects in JSON with media-type `application/json`.\n\nMany objects follow a model consisting of `spec` and `status`. An object's `spec` tells\nConfluent the _desired state_ (specification) of the resource. The object may not be\nimmediately available or changes may not be immediately applied. For this reason,\nmany objects also have a `status` property that provides info about the\n_current state_ of the resource. Confluent Cloud is continuously and actively managing\neach resource's current state to match it's desired state.\n\nAll Confluent objects share a set of common properties:\n\n- **api_version** – API objects have an `api_version` field indicating their API version.\n- **kind** – API objects have a `kind` field indicating the kind of object it is.\n- **id** – Each object in the API will have an identifier, indicated via its `id` field,\n and should be treated as an opaque string unless otherwise specified.\n\nThere are a number of other [standard properties](#standard-properties) and that you'll encounter\nused by many API objects. And of course, objects have plenty of non-standard fields that are\nspecific to each object _kind_... this is what makes them interesting!\n\n# Authentication\n\nConfluent uses API keys and JSON Web Tokens (JWTs) to integrate your applications\nand workflows to your Confluent Cloud resources using the Confluent Cloud REST APIs.\nYour applications and workflows must be authenticated and authorized in order to\naccess and manage Confluent Cloud resources.\n\n## API keys\n\nYou can create and manage your API keys using the Confluent Cloud Console or\nConfluent CLI. For more information, see [Use API Keys to Control Access in Confluent Cloud](https://docs.confluent.io/cloud/current/access-management/authenticate/api-keys/api-keys.html).\n\nConfluent Cloud uses the following two categories of API keys:\n\n- A **Cloud API key** grants access to the Confluent Cloud Management APIs,\n such as for Provisioning and Metrics integrations.\n- A **resource-specific API key** grants access to a Confluent Kafka cluster\n (Kafka API key), a Confluent Cloud Schema Registry (Schema Registry API key),\n Flink (Flink API key scoped to an Environment + Region pair), or a ksqlDB application.\n\nEach Confluent Cloud API key is associated with a principal (specific user or\nservice account) and inherits the permissions granted to the owner.\n\n- For example, if service account `Armageddon` is granted ACLs on Kafka cluster\n `neptune`, then a Kafka API Key for `neptune` owned by `Armageddon` will have\n these ACLs enforced.\n- **Note:** API keys are automatically deleted when the associated user or service\n account is deleted (for example, when an employee leaves the company or moves to\n a new department and an SSO integration removes the Confluent Cloud user as they\n no longer require access).\n- Confluent **strongly recommends** that you use service accounts for all\n production-critical access.\n\nConfluent Cloud API keys grant access to Confluent Cloud resources, so **keep them secure**!\nDo not share your API keys and secrets in publicly-accessible locations, such as\nGitHub or client-side code.\n\nAll API requests must be made over HTTPS. Calls made over plain HTTP will fail.\nAPI requests without authentication will also fail.\n\nTo use an API key, you must send it in an `Authorization: Basic {credentials}` header.\nRemember that HTTP Basic authentication requires you to provide your credentials as\nthe API key ID and associated API secret separated by a colon and encoded using Base64\nformat. For example, if your API key ID is `ABCDEFGH123456789` and the API key Secret\nis `XNCIW93I2L1SQPJSJ823K1LS902KLDFMCZPWEO`, then the authorization header is:\n\n```text\nAuthorization: Basic QUJDREVGR0gxMjM0NTY3ODk6WE5DSVc5M0kyTDFTUVBKU0o4MjNLMUxTOTAyS0xERk1DWlBXRU8=\n```\n\nYou can generate this header example from the API key:\n\nmacOS:\n\n```shell\n$ echo -n \"ABCDEFGH123456789:XNCIW93I2L1SQPJSJ823K1LS902KLDFMCZPWEO\" | base64\n\n```\n\nLinux:\n\n```shell\n$ echo -n \"ABCDEFGH123456789:XNCIW93I2L1SQPJSJ823K1LS902KLDFMCZPWEO\" | base64 -w 0\n```\n\nWindows (PowerShell only):\n\nThis command is only supported for PowerShell and will not work in the Command shell. \n\n```shell\n$ [System.Convert]::ToBase64String([System.Text.Encoding]::UTF8.GetBytes(\"ABCDEFGH123456789:XNCIW93I2L1SQPJSJ823K1LS902KLDFMCZPWEO\"))\n```\n\nTo find out if an API operation supports Cloud API Keys, look in the **AUTHORIZATIONS**\nlisting for `cloud-api-key`.\n\nTo find out if an API operation supports resource-specific API Keys, look in the **AUTHORIZATIONS**\nlisting for `resource-api-key`.\n\n## External OAuth\n\nYou can use [OAuth/OIDC support for Confluent Cloud](https://docs.confluent.io/cloud/current/access-management/authenticate/oauth/overview.html)\nto authenticate and authorize access to applications and workloads for the\nfollowing Confluent Cloud REST APIs:\n\n- **Kafka REST API**: [Kafka REST API for Clusters(V3)](../ccloud/cluster-v-3/).\n For an API overview and examples, see [Cluster Management with Kafka REST API](https://docs.confluent.io/cloud/current/kafka-rest/kafka-rest-cc.html).\n- **Schema Registry REST API**: [Schema Registry REST API for Schemas(V1)](../ccloud/schemas-v-1/)\n and [Subjects](../ccloud/subjects-v-1/).\n For an API overview and examples, see [Schema Registry REST API for Confluent Cloud](https://docs.confluent.io/cloud/current/sr/sr-rest-apis.html).\n\nAlternatively, to find out if an API operation supports external tokens, look in the **AUTHORIZATIONS**\nlisting for `external-access-token`.\n\n## Confluent STS tokens\n\nConfluent Security Token Service (STS) issues access tokens (`confluent-sts-access-token`)\nby exchanging an external token (`external-access-token`) for a `confluent-sts-access-token`. You can use\nConfluent STS tokens to authenticate to Confluent Cloud APIs that support the\n`confluent-sts-access-token` notation.\n\nTo find out if an API operation supports Confluent STS tokens, look in the **AUTHORIZATIONS**\nlisting for `confluent-sts-access-token`.\n\n## Partner OAuth\n\nApproved partners can fetch Partner tokens (`confluent-partner-access-token`) that validate their identity\nand grant access to the Partner API (`partner/v2`), which lets them sign up\nan organization on behalf of a customer, manage entitlements (create, read, and list),\nand read or list organizations they have signed up.\n\nTo find out an API operation supports Partner tokens, look in the **AUTHORIZATIONS**\nlisting for `confluent-partner-access-token`.\n\n\n\n\n\n# Errors\n\nConfluent API error messages are a critical part of the developer experience. For Confluent Cloud, they must be\nclear, consistent, actionable, and designed for both developers and automated systems. Strong error\nhandling supports fast troubleshooting, reliable integration, and efficient support–the foundation of\na positive developer experience.\n\nOur APIs are built on RESTful principles. They use resource-oriented URLs, standard HTTP verbs, and JSON\nfor requests and responses. This section defines clear standards for structuring, formatting, and documenting\nerror messages for all Confluent REST APIs.\n\n\n
Note
\nThis error format applies to most Confluent Cloud APIs. However, the Connect v1 API group uses a different structure. For Connect v1-specific error behavior and examples, refer to the Connect v1 API documentation
below to see its error behavior.\n
\n\n## Key principles\n\nUse the following best practices when designing and documenting API error messages:\n\n- **Ensure clarity and consistency**: Messages must be easy to understand–use active voice and plain language–and consistently formatted across endpoints.\n\n- **Write actionable messages**: Always include a resolution or next step, enabling users to correct the problem.\n\n- **Avoid exposing sensitive data**: Never expose internal system details, stack traces, logs, or user-specific content.\n\n- **Follow industry best practices**: Don't use a period at the end of the message field, even if it is a full sentence. This follows industry standards. Use periods in the details and suggestion fields if the content is a complete sentence. View the [API best practices blog](#status-codes) by Postman, a trusted API leader.\n\n## HTTP status codes\n\nConfluent Cloud APIs return standard [HTTP status codes](#status-codes) to\nindicate the outcome of API request. Each error response includes a `status` field that reflects the appropriate HTTP code as a string (for example, `\"403\"` or `\"404\"`).\nFor a list of supported codes and their meaning, see the [HTTP status codes](#status-codes) section.\n\n## Error response structure\n\nEach API error response **should** include the following fields:\n\n**Top-level fields**\n\n| Field | Type | Required | Description |\n| ------------ | ------ | -------- | ------------------------------------------------------------------------------------------------------------------------------------------------------- |\n| status | String | Yes | HTTP status code (for example, 400, 404, 500). |\n| error | Object | Yes | Main object containing error details. |\n| requestId | String | Optional | Unique identifier for the API request. Use for tracing, debugging, and support inquiries. |\n| doc_url | String | Optional | Link to relevant documentation or troubleshooting steps. |\n\n**Fields inside `error` object**\n\n| Field | Type | Required | Description |\n| ------------| ------ | -------- | ------------------------------------------------------------------------------------------------------------------------------------------------------- |\n| code | String | Yes | Unique, application-specific error code. Write error codes in uppercase letters, using underscores to separate words (for example, RESOURCE_NOT_FOUND). |\n| message | String | Yes | Clear, actionable, user-friendly description of what went wrong using active voice. |\n| details | String | Optional | Additional explanation or context about the error using active voice. |\n| timestamp | String | Yes | ISO 8601 UTC timestamp indicating the date and time when the error occurred. |\n| path | String | Yes | The exact API endpoint or resource path related to the error. |\n| suggestion | String | Optional | Recommend actions the user can take to fix or avoid the error using active voice. |\n\nEach Confluent API error includes a status and a structured error object with a code, message, and optional context to help you understand and resolve the issue. The following example\nshows a standard Confluent API error response in JSON format:\n\n {\n \"status\": 400,\n \"error\": {\n \"code\": \"INVALID_SCHEMA_FIELD\",\n \"message\": \"The 'name' field in the schema is required and cannot be empty.\",\n \"details\": \"Schemas must include a top-level 'name' field with a non-empty string value.\",\n \"timestamp\": \"2025-08-01T20:36:45Z\",\n \"path\": \"/api/v1/schemas\",\n \"suggestion\": \"Ensure the 'name' field is included in the payload and is not an empty string.\"\n },\n \"requestId\": \"a1b2c3d4-e5f6-7890-g1h2-i3j4k516m7n8\",\n \"doc_url\": \"https://docs.confluent.io/cloud/current/api/errors/INVALID_SCHEMA_FIELD.html\"\n }\n\nNote that if a request fails validation, it will return an HTTP `422 Unprocessable Entity`\nwith a list of fields that failed validation.\n\n## Pagination\n\n\n
Note
\nThis section describes the pagination behavior of “list” operations for many Confluent Cloud APIs, but not all.\nThe Connect V1 and Kafka V3 API list operations do not support pagination.\n
\n\nAll API resources have support for bulk reads via \"list\" API operations. For example,\nyou can \"list Kafka clusters\", \"list api keys\", and \"list environments\". These \"list\"\noperations require pagination; by requesting smaller subsets of data, API clients\nreceive a response much faster than requesting the entire, potentially large, data set.\n\nAll \"list\" operations follow the same pattern with the following parameters:\n\n- `page_size` – client-provided max number of items per page, only valid on the first request.\n- `page_token` – server-generated token used for traversing through the result set.\n\nA paginated response may include any of the following pagination links. API clients may\nfollow the respective link to page forward or backward through the result set as desired.\n\n| [Link Relation](https://www.iana.org/assignments/link-relations/link-relations.xml) | Description |\n| ----------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |\n| `next` | A link to the next page of results. A response that does not contain a next link does not have further data to fetch. |\n| `prev` | A link to the previous page of results. A response that does not contain a prev link has no previous data. This link is **optional** for collections that cannot be traversed backward. |\n| `first` | A link to the first page of results. This link is **optional** for collections that cannot be indexed directly to a given page. |\n| `last` | A link to the last page of results. This link is **optional** for collections that cannot be indexed directly to a given page. |\n\nAPI clients must treat pagination links and the `page_token` parameter in particular as an opaque string.\n\nAn example paginated list response may look like\n\n```\n{\n \"api_version\": \"v2\",\n \"kind\": \"KafkaClusterList\",\n \"metadata\": {\n \"next\": \"https://api.confluent.cloud/kafka-clusters?page_token=ABCDEFGHIJKLMNOP1234567890\"\n }\n \"data\": [\n {\n \"metadata\": {\n \"id\": \"lkc-abc123\",\n \"self\": \"https://api.confluent.cloud/kafka-clusters/lkc-abc123\",\n \"resource_name\": \"crn://confluent.cloud/kafka=lkc-abc123\",\n }\n \"spec\": {\n \"display_name\": \"My Kafka Cluster\",\n \n },\n \"status\": {\n \"phase\": \"RUNNING\",\n \n }\n },\n \n ]\n}\n```\n\n# Rate Limiting\n\nTo protect the stability of the API and keep it available to all users, Confluent employs\nmultiple safeguards. If you send too many requests in quick succession or perform too many\nconcurrent operations, you may be throttled or have your request rejected with an error.\n\nWhen a rate limit is breached, an HTTP `429 Too Many Requests` error is\nreturned. The following headers are sent back to provide assistance in dealing\nwith rate limits. Note that headers are not returned for a `429` error response with\n[Kafka REST API (v3)](../ccloud/cluster-v-3/).\n\n| Header | Description |\n| ----------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |\n| `X-RateLimit-Limit` | The maximum number of requests you're permitted to make per time period. |\n| `X-RateLimit-Reset` | The relative time in seconds until the current rate limit window resets. |\n| `Retry-After` | The number of seconds to wait until the rate limit window resets. Only sent when the rate limit is reached. |\n| `X-RateLimit-Remaining` | The number of requests remaining in the current rate-limit window. **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. |\n\nConfluent enforces multiple kinds of limits, including request-rate and concurrency limits, both per user and organization-wide. Unauthenticated requests are associated with the originating IP address, not the user making requests.\n\nIntegrations should gracefully handle these limits by watching for `429` error responses and\nbuilding in a retry mechanism. This mechanism should follow a capped exponential backoff policy to\nprevent [retry amplification](https://landing.google.com/sre/sre-book/chapters/addressing-cascading-failures/)\n(\"retry storms\") and also introduce some randomness (\"jitter\") to avoid the\n[thundering herd effect](https://en.wikipedia.org/wiki/Thundering_herd_problem).\n\nRate limits are generally fixed and cannot be increased. If you require higher\nthroughput, you can use a Dedicated cluster, where certain limits scale\nautomatically with the number of CKUs. For example, each additional CKU\nincreases the Kafka REST Produce v3 connection limit by 300 requests per\nsecond. For reference, see the\n[eCKU/CKU comparison table](https://docs.confluent.io/cloud/current/clusters/cluster-types.html#ecku-cku-comparison).\n\nIf you’re running into this error and think you need a higher rate limit, contact Confluent at\n[support@confluent.io](mailto:support@confluent.io).\n\n# Identifiers and URLs\n\nMost resources have multiple identifiers:\n\n- `id` is the \"natural identifier\" for an object. It is only unique within its parent resource.\n The `id` is unique across time: the ID will not be reclaimed and reused after an object is deleted.\n- `resource_name` is a Uniform Resource Identifier (URI) that is globally unique across all resources.\n This encompasses all parent resource `kind`s and `id`s necessary to uniquely identify a particular\n instance of this object `kind`. Because it uses object `id`s, the CRN will not be reclaimed and\n reused after an object is deleted. It is represented as a Confluent Resource Name (see below).\n- `self` is a Uniform Resource Locator (URL) at which an object can be addressed.\n This URL encodes the service location, API version, and other particulars necessary to\n locate the resource at a point in time.\n\nTo see how these relate to each other, consider `KafkaBroker` with `broker.id=2` in a `KafkaCluster`\nin Confluent Cloud identified as `lkc-xsi8201`. In such an example, the `KafkaBroker` has `id=2`,\nthe `resource_name` is `crn://confluent.cloud/kafka=lkc-xsi8201/broker=2` and the `self` URL may be\nsomething like `https://pkc-8wlk2n.us-west-2.aws.confluent.cloud`. Note that different identifiers\ncarry different information for different purposes, but the `resource_name` is the most complete\nand canonical identifier.\n\n## Confluent Resource Names (CRNs)\n\n_Confluent Resource Names_ (CRNs) are used to uniquely identify all Confluent resources.\n\nA CRN is a valid URI having an \"authority\" of `confluent.cloud` or a self-managed\n\nmetadata service URL, followed by the minimal hierarchical set of key-value\npairs necessary to uniquely identify a resource.\n\nHere are some examples for basic resources in Confluent Cloud:\n\n| Resource | Example CRN |\n| -------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |\n| Organization | crn://confluent.cloud/organization=9bb441c4-edef-46ac-8a41-c49e44a3fd9a |\n| Environment | crn://confluent.cloud/organization=9bb441c4-edef-46ac-8a41-c49e44a3fd9a/environment=env-456xy |\n| User | crn://confluent.cloud/organization=9bb441c4-edef-46ac-8a41-c49e44a3fd9a/user=u-rst9876 |\n| API Key | crn://confluent.cloud/organization=9bb441c4-edef-46ac-8a41-c49e44a3fd9a/user=u-zyx98/api-key=ABCDEFG9876543210 |\n| Service Account | crn://confluent.cloud/organization=9bb441c4-edef-46ac-8a41-c49e44a3fd9a/service-account=sa-abc1234 |\n| Kafka Cluster | crn://confluent.cloud/organization=9bb441c4-edef-46ac-8a41-c49e44a3fd9a/environment=env-456xy/cloud-cluster=lkc-123abc/kafka=lkc-123abc |\n| Kafka Topic | crn://confluent.cloud/organization=9bb441c4-edef-46ac-8a41-c49e44a3fd9a/environment=env-456xy/cloud-cluster=lkc-123abc/kafka=lkc-123abc/topic=my_kafka_topic |\n| Consumer Group | crn://confluent.cloud/organization=9bb441c4-edef-46ac-8a41-c49e44a3fd9a/environment=env-456xy/cloud-cluster=lkc-123abc/kafka=lkc-123abc/group=confluent_cli_consumer_123 |\n| Network | crn://confluent.cloud/organization=9bb441c4-edef-46ac-8a41-c49e44a3fd9a/environment=env-456xy/network=n-123abc |\n| Peering | crn://confluent.cloud/organization=9bb441c4-edef-46ac-8a41-c49e44a3fd9a/environment=env-456xy/network=n-123abc/peering=p-123abc |\n| Private Link Access | crn://confluent.cloud/organization=9bb441c4-edef-46ac-8a41-c49e44a3fd9a/environment=env-456xy/network=n-123abc/private-link-access=pla-123abc |\n| Transit Gateway Attachment | crn://confluent.cloud/organization=9bb441c4-edef-46ac-8a41-c49e44a3fd9a/environment=env-456xy/network=n-123abc/transit-gateway-attachment=tgwa-123abc |\n| Schema Registry Cluster | crn://confluent.cloud/organization=9bb441c4-edef-46ac-8a41-c49e44a3fd9a/environment=env-456xy/schema-registry=lsrc-789qw |\n| Schema Subject | crn://confluent.cloud/organization=9bb441c4-edef-46ac-8a41-c49e44a3fd9a/environment=env-456xy/schema-registry=lsrc-789qw/subject=test |\n| KEK | crn://confluent.cloud/organization=9bb441c4-edef-46ac-8a41-c49e44a3fd9a/environment=env-456xy/schema-registry=lsrc-789qw//kek=test_kek |\n| Connector | crn://confluent.cloud/organization=9bb441c4-edef-46ac-8a41-c49e44a3fd9a/environment=env-456xy/cloud-cluster=lkc-123abc/connector=my_datagen_connector |\n| Provider Integration | crn://confluent.cloud/organization=9bb441c4-edef-46ac-8a41-c49e44a3fd9a/environment=env-456xy/provider-integration=cspi-123j1 |\n\n# Data Types\n\n## Primitive Types\n\n| Data Type | Representation |\n| --------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |\n| Integers | Each API may specify the type as `int32` or `int64`. Note that many languages, including JavaScript, are limited to a max size of approx `2**53` and don't correctly handle large `int64` values with their default JSON parser. |\n| Dates | RFC 3339 formatted string. UTC timezones are assumed, unless otherwise given. |\n| Times | RFC 3339 formatted string. UTC timezones are assumed, unless otherwise given. |\n| Durations | RFC 3339 formatted string. |\n| Periods | RFC 3339 formatted string. UTC timezones are assumed, unless otherwise given. |\n| Ranges | All ranges are represented using half-open intervals with naming conventions like `[start_XXX, end_XXX)` such as `[start_time, end_time)`. |\n| Enums | Most APIs use `x-extensible-enum` as an open-ended list of values. This improves compatibility compared with a standard `enum` which by definition represents a closed set. All enums have a `0`-valued entry which either serves as the default for common cases, or represents `UNSPECIFIED` when no default exists and results in an error. |\n\n\n\n### Standard Properties\n\nConfluent uses this set of standard properties to ensure common concepts use\nthe same name and semantics across different APIs.\n\n| Name | Description |\n| ---------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |\n| **api_version** | Many API objects have an `api_version` field indicating their API version. See the [Object Model](#object-model). |\n| **kind** | Many API objects have a `kind` field indicating the kind of object it is. See the [Object Model](#object-model). |\n| **id** | Many objects in the API will have an identifier, indicated via its `id` field, and should be treated as an opaque string unless otherwise specified. See the [Object Model](#object-model). |\n| **name** | Objects which support a client-provided unique identifier instead of a generated `id` will indicate this identifier via its `name` field. |\n| **display_name** | The human-readable display name of an API object. |\n| **title** | The official name of an API object, such as a company name. It should be treated as the formal version of `display_name`. |\n| **description** | One or more paragraphs of text description of an entity. |\n| **created_at** | The date and time the object was created, represented as a string in RFC 3339 format. |\n| **updated_at** | The date and time the object was last modified, represented as a string in RFC 3339 format. |\n| **deleted_at** | If present, the date and time after which the object was/will be deleted, represented as a string in RFC 3339 format. |\n| **page_token** | The pagination token in the List request. See [Pagination](#pagination). |\n| **page_size** | The pagination size in the List request. See [Pagination](#pagination). |\n| **total_size** | The total count of items in the list irrespective of pagination. See [Pagination](#pagination). |\n| **spec** | The _desired state_ specification of the resource, as observed by Confluent Cloud. |\n| **status** | The _current state_ of the resource, as observed by Confluent Cloud. |\n\n# Versioning\n\nConfluent APIs ensure stability for your integrations by avoiding the introduction\nof breaking changes to customers unexpectedly. Confluent will make non-breaking\nAPI changes without advance notice. Thus, API clients **must** follow the\n[Compatibility Policy](#compatibility-policy) below to ensure your\nintegration remains stable. All APIs follow the API Lifecycle Policy described below,\nwhich describes the guarantees API clients can rely on.\n\nBreaking changes will be [widely communicated](#communication) in advance in accordance\nwith the Confluent [Deprecation Policy](#deprecation-policy). Confluent will provide\ntimelines and a migration path for all API changes, where available. Be sure to subscribe\nto one or more [communication channels](#communication) so you don't miss any updates!\n\nOne exception to these guidelines is for critical security issues. Confluent will take any necessary\nactions to mitigate any critical security issue as soon as possible, which may include disabling\nthe vulnerable functionality until a proper solution is available.\n\nDo not consume any Confluent API unless it is documented in the API Reference. All undocumented\nendpoints should be considered private, subject to change without notice, and not covered by any\nagreements.\n\n> Note: The version in the URL (e.g. \"v1\" or \"v2\") is not a \"major version\" in the\n> [Semantic Versioning](https://semver.org/) sense. It is a \"generational version\" or \"meta version\", as seen in\n> APIs like Github API or the\n> Stripe API.\n\n## API Groups\n\nConfluent APIs are divided into API Groups, such as the Cluster Management for Apache Kafka (CMK) API group,\nthe Connect API group, and the Data Catalog API group. Each group has its own set of endpoints and resources,\nas well as its own API group version.\n\nBecause different API groups have different versions, there is no single version for the \"Confluent Cloud API\".\nThe latest version of the Connect API group may be `connect/v1`, while the latest version of the CMK API group\nmay be `cmk/v2`.\n\nWhen a breaking change is introduced into one API group, Confluent will increase the API version for that API group\nonly, leaving the other API groups' versions unchanged. This makes it easier for you to understand whether a given\nbreaking change impacts your usage of the APIs.\n\n## Known Issues\n\nDuring the Early Access and Preview periods, we have a few known issues.\n\n| Issue | Description | Proposed Resolution |\n| -------------- | ----------------------------------------------------------------------------- | --------------------------------------------------- |\n| Quota Exceeded | Some \"Quota Exceeded\" errors will be returned as HTTP 400 instead of HTTP 402 | Return 402 consistently for \"Quota Exceeded\" errors |\n\n## API Lifecycle Policy\n\nThe following status labels are applicable to APIs, features, and SDK versions, based on\nthe current support status of each:\n\n- **Early Access** – May change at any time. Not recommended for production usage. Not officially supported by\n Confluent. Intended for user feedback only. Users must be granted explicit access to the API by Confluent.\n- **Preview** – Unlikely to change between Preview and General Availability. Not recommended for production usage.\n Officially supported by Confluent for non-production usage. Accessible to all users.\n- **Limited Availability (LA)** - Available to key select customers in a subset of regions/providers/networks and recommended for production usage.\n- **Generally Available (GA)** – Will not change at short notice. Recommended for production usage.\n Officially supported by Confluent for non-production and production usage.\n- **Deprecated** – Still supported, but no longer under active development. Existing usage will continue to function\n but migration following the upgrade guide is strongly recommended. New use cases should be built against the new\n version. Deprecated feature or version will be removed in the future at the announced date.\n- **Sunset** – Removed, and no longer supported or available.\n\nAn API is \"Generally Available\" unless explicitly marked otherwise.\n\n## Compatibility Policy\n\nConfluent Cloud APIs are governed by\n\nConfluent Cloud Upgrade Policy, which means that backward incompatible changes and\ndeprecations will be made approximately once per year, and 180 days notice will be provided via email to all\nregistered Confluent Cloud users.\n\n### Backward Compatibility\n\n> _An API version is backward compatible if a program written against the previous version of the API will continue to work the same way, without modification, against this version of the API._\n\nConfluent considers the following changes to be backward compatible:\n\n- Adding new API resources.\n- Adding new optional parameters to existing API requests (e.g., query string).\n- Adding new properties to existing API resources (e.g., request body).\n- Changing the order of properties in existing API responses.\n- Changing the length or format of object IDs or other opaque strings.\n - Unless otherwise documented, you can safely assume object IDs generated by Confluent will never exceed 255\n characters, but you should be able to handle IDs of up to that length. If you're using MySQL,\n for example, you should store IDs in a `VARCHAR(255) COLLATE utf8_bin` column.\n - This includes adding or removing fixed prefixes (such as `lkc-` on Kafka cluster IDs).\n - This includes API keys, API tokens, and similar authentication mechanisms.\n - This includes all strings described as \"opaque\" in the docs, such as pagination cursors.\n- Adding new API event types.\n- Adding new properties to existing API event types.\n- Omitting properties with null values from existing API responses.\n\n### Forward Compatibility\n\n> _An API version is forward compatible if a program written against the next version of the API\n> will continue to work the same way, without modification, against this version of the API._\n\nIn other words, a forward compatible API will accept input intended for a later version of itself.\n\nConfluent does not guarantee the forward compatibility of the APIs, but Confluent does generally follow the guidelines\ngiven by the [Robustness principle](https://en.wikipedia.org/wiki/Robustness_principle).\nThis means that the API determines what to do with a request based only on the parts that it recognizes.\n\nThis is often referred to as the MUST IGNORE rule.\n\n- Request parameters that are not recognized will be ignored (e.g., query string).\n- Request properties that are not recognized will be ignored (e.g., request body).\n- Request metadata that are not recognized will be ignored (e.g., request headers).\n\nAPI clients must also follow the MUST IGNORE rule.\n\n- Response properties that are not recognized must be ignored (e.g., response body).\n- Response metadata that are not recognized must be ignored (e.g., response headers).\n\nAdditionally, there is a more subtle related rule called the MUST FORWARD rule. Any parts of\na request that an API doesn't recognize must be forwarded unchanged.\n\n- Response properties that are not recognized must be included in any input subsequent updates (e.g., request body)\n - This includes future `PUT` requests in a read/modify/write operation.\n (This isn't required for `PATCH` partial updates, which is why Confluent APIs use `PATCH`.)\n- Event processors must not strip unknown properties before forwarding messages.\n\n#### Compatibility Implementation Hints\n\nConfluent considers adding new properties to existing API resources (e.g., response bodies) to be a backward-compatible change. To ensure your integrations remain stable when new fields are introduced, your JSON parsers should be configured to ignore unknown properties rather than throwing an error.\n\nFor the **Jackson** library (Java), use one of these approaches:\n\n**1. Global Configuration (Recommended)**\n\nConfigure `ObjectMapper` to ignore unknown properties globally.\n\n```java\nObjectMapper objectMapper = new ObjectMapper();\nobjectMapper.configure(DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES, false);\n```\n\n**2. Class-Level Control**\n\nUse `@JsonIgnoreProperties` to ignore unknown fields on specific classes.\n\n```java\n@JsonIgnoreProperties(ignoreUnknown = true)\npublic class MyResource { ... }\n```\n\n**3. Capturing Unknown Fields**\n\nUse `@JsonAnySetter` to preserve unknown fields in a `Map`, in order to use them on future requests to fulfill the MUST FORWARD requirement.\n\n```java\npublic class MyResource {\n // ... existing fields ...\n private Map unknownProperties = new HashMap<>();\n\n @JsonAnySetter\n public void addUnknownProperty(String key, Object value) {\n this.unknownProperties.put(key, value);\n }\n \n public Map getUnknownProperties() {\n return unknownProperties;\n }\n}\n```\n\n### Client Responsibilities\n\n- Resource and rate limits, and the default and maximum sizes of paginated data **are not**\n considered part of the API contract and may change (possibly dynamically). It is the client's\n responsibility to read the road signs and obey the speed limit.\n- If a property has a primitive type and the API documentation does not explicitly limit its\n possible values, clients **must not** assume the values are constrained to a particular set\n of possible responses.\n- If a property of an object is not explicitly declared as mandatory in the API, clients\n **must not** assume it will be present.\n- A resource **may** be modified to return a \"redirection\" response (e.g. `301`, `307`) instead of\n directly returning the resource. Clients **must** handle HTTP-level redirects, and respect HTTP\n headers (e.g. `Location`).\n\n## Deprecation Policy\n\nConfluent will announce deprecations at least 180 days in advance of a breaking change\nand will continue to maintain the deprecated APIs in their original form during this time.\n\nExceptions to this policy apply in case of critical security vulnerabilities or functional defects.\n\n### Communication\n\nWhen a deprecation is announced, the details and any relevant migration\ninformation will be available on one or more of the following channels:\n\n- Announcements on the Developer Blog,\n Community Slack\n (join!),\n Google Group,\n the @ConfluentInc twitter\n account, and similar channels\n- Enterprise customers may receive information by email to their specified Confluent contact, if applicable.\n\n\n\n# HTTP Guidelines\n\n## Status Codes\n\nConfluent respects the meanings and behavior of HTTP status codes as defined\nin RFC2616 and elsewhere.\n\n- Codes in the `2xx` range indicate success\n- Codes in the `3xx` range indicate redirection\n- Codes in the `4xx` range indicate an error caused by the client request\n (e.g., a required parameter was omitted, an invalid cluster configuration was provided, etc.)\n- Codes in the `5xx` range indicate an error with Confluent's servers (these are rare)\n\nThe various HTTP status codes that might be returned are listed below.\n\n| Code | Title | Description |\n| ------------------ | ----------------- | --------------------------------------------------------------------------------------------------------------- |\n| 200 | OK | Everything worked as expected. |\n| 201 | Created | The resource was created. Follow the `Location` header. |\n| 204 | No Content | Everything worked and there is no content to return. |\n| 400 | Bad Request | The request was unacceptable, often due to malformed syntax, or a missing or malformed parameter. |\n| 401 | Unauthorized | No valid credentials provided. or the credentials are unsuitable, invalid, or unauthorized. |\n| 402 | Over Quota | The request was valid, but you've exceeded your plan quota or limits. |\n| 404 | Not Found | The requested resource doesn't exist or you're unauthorized to know it exists. |\n| 409 | Conflict | The request conflicts with another request (perhaps it already exists or was based on a stale version of data). |\n| 422 | Validation Failed | The request was parsed correctly but failed some sort of validation. |\n| 429 | Too Many Requests | Too many requests hit the API too quickly. Confluent recommends an exponential backoff of your requests. |\n| 500, 502, 503, 504 | Server Errors | Something went wrong on Confluent's end. (These are rare.) |\n\nThis list is not exhaustive; other standard HTTP error codes may be used,\nincluding `304`, `307`, `308`, `405`, `406`, `408`, `410`, and `415`.\n\nFor more details, see https://httpstatuses.com.\n\n\n\n# Metrics APIs\n\nFor Metrics APIs, see Confluent Cloud Metrics API.\n"
servers:
- url: https://api.confluent.cloud
description: Confluent Cloud API
tags:
- name: Private Link Accesses (networking/v1)
description: '[](#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 |'
paths:
/networking/v1/private-link-accesses:
x-lifecycle-stage: General Availability
x-self-access: true
get:
x-lifecycle-stage: General Availability
x-self-access: true
operationId: listNetworkingV1PrivateLinkAccesses
summary: List of Private Link Accesses
description: '[](#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. \n \n**Important:** This differs from Github and Twitter's same-named header which uses UTC epoch seconds. We use relative time to avoid client/server time synchronization issues."
'400':
$ref: '#/components/responses/BadRequestError'
'401':
$ref: '#/components/responses/UnauthenticatedError'
'403':
$ref: '#/components/responses/UnauthorizedError'
'429':
$ref: '#/components/responses/RateLimitError'
'500':
$ref: '#/components/responses/DefaultSystemError'
post:
x-lifecycle-stage: General Availability
x-self-access: true
operationId: createNetworkingV1PrivateLinkAccess
summary: Create a Private Link Access
description: '[](#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. \n \n**Important:** This differs from Github and Twitter's same-named header which uses UTC epoch seconds. We use relative time to avoid client/server time synchronization issues."
Location:
schema:
type: string
format: uri
example: https://api.confluent.cloud/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'
/networking/v1/private-link-accesses/{id}:
x-lifecycle-stage: General Availability
x-self-access: true
get:
x-lifecycle-stage: General Availability
x-self-access: true
operationId: getNetworkingV1PrivateLinkAccess
summary: Read a Private Link Access
description: '[](#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. \n \n**Important:** This differs from Github and Twitter's same-named header which uses UTC epoch seconds. We use relative time to avoid client/server time synchronization issues."
'400':
$ref: '#/components/responses/BadRequestError'
'401':
$ref: '#/components/responses/UnauthenticatedError'
'403':
$ref: '#/components/responses/UnauthorizedError'
'404':
$ref: '#/components/responses/NotFoundError'
'429':
$ref: '#/components/responses/RateLimitError'
'500':
$ref: '#/components/responses/DefaultSystemError'
patch:
x-lifecycle-stage: General Availability
x-self-access: true
operationId: updateNetworkingV1PrivateLinkAccess
summary: Update a Private Link Access
description: '[](#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.PrivateLinkAccess'
- 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. \n \n**Important:** This differs from Github and Twitter's same-named header which uses UTC epoch seconds. We use relative time to avoid client/server time synchronization issues."
'400':
$ref: '#/components/responses/BadRequestError'
'401':
$ref: '#/components/responses/UnauthenticatedError'
'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'
delete:
x-lifecycle-stage: General Availability
x-self-access: true
operationId: deleteNetworkingV1PrivateLinkAccess
summary: Delete a Private Link Access
description: '[](#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. \n \n**Important:** This differs from Github and Twitter's same-named header which uses UTC epoch seconds. We use relative time to avoid client/server time synchronization issues."
'400':
$ref: '#/components/responses/BadRequestError'
'401':
$ref: '#/components/responses/UnauthenticatedError'
'403':
$ref: '#/components/responses/UnauthorizedError'
'404':
$ref: '#/components/responses/NotFoundError'
'429':
$ref: '#/components/responses/RateLimitError'
'500':
$ref: '#/components/responses/DefaultSystemError'
components:
responses:
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'
BadRequestError:
description: Bad Request
headers:
X-Request-Id:
schema:
type: string
description: The unique identifier for the API request.
content:
application/json:
schema:
$ref: '#/components/schemas/Failure'
example:
errors:
- id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d
status: '400'
code: invalid_filter
title: Invalid Filter
detail: The 'delorean' resource can't be filtered by 'num_doors'
source:
parameter: num_doors
RateLimitError:
description: Rate Limit Exceeded
headers:
X-Request-Id:
schema:
type: string
description: The unique identifier for the API request.
X-RateLimit-Limit:
schema:
type: integer
description: The maximum number of requests you're permitted to make per time period.
X-RateLimit-Remaining:
schema:
type: integer
description: The number of requests remaining in the current rate limit window.
X-RateLimit-Reset:
schema:
type: integer
description: "The relative time in seconds until the current rate-limit window resets. \n \n**Important:** This differs from Github and Twitter's same-named header which uses UTC epoch seconds. We use relative time to avoid client/server time synchronization issues."
Retry-After:
schema:
type: integer
description: The number of seconds to wait until the rate limit window resets. Only sent when the rate limit is reached.
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
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
ValidationError:
description: Validation Failed
headers:
X-Request-Id:
schema:
type: string
description: The unique identifier for the API request.
content:
application/json:
schema:
$ref: '#/components/schemas/Failure'
example:
errors:
- status: '422'
code: invalid_configuration
id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d
title: Validation Failed
detail: 'The property ''/cluster/storage_size'' of type string did not match the following type: integer'
source:
pointer: /cluster/storage_size
- status: '422'
code: invalid_configuration
id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d
title: Validation Failed
detail: 'The property ''/cluster/storage_size'' of type string did not match the following type: integer'
source:
pointer: /cluster/storage_size
- status: '422'
code: invalid_configuration
id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d
title: Validation Failed
detail: 'The property ''/cluster/storage_size'' of type string did not match the following type: integer'
source:
pointer: /cluster/storage_size
- status: '422'
code: invalid_configuration
id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d
title: Validation Failed
detail: 'The property ''/cluster/storage_size'' of type string did not match the following type: integer'
source:
pointer: /cluster/storage_size
- status: '422'
code: invalid_configuration
id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d
title: Validation Failed
detail: 'The property ''/cluster/storage_size'' of type string did not match the following type: integer'
source:
pointer: /cluster/storage_size
- status: '422'
code: invalid_configuration
id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d
title: Validation Failed
detail: 'The property ''/cluster/storage_size'' of type string did not match the following type: integer'
source:
pointer: /cluster/storage_size
- status: '422'
code: invalid_configuration
id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d
title: Validation Failed
detail: 'The property ''/cluster/storage_size'' of type string did not match the following type: integer'
source:
pointer: /cluster/storage_size
- status: '422'
code: invalid_configuration
id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d
title: Validation Failed
detail: 'The property ''/cluster/storage_size'' of type string did not match the following type: integer'
source:
pointer: /cluster/storage_size
- status: '422'
code: invalid_configuration
id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d
title: Validation Failed
detail: 'The property ''/cluster/storage_size'' of type string did not match the following type: integer'
source:
pointer: /cluster/storage_size
- status: '422'
code: invalid_configuration
id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d
title: Validation Failed
detail: 'The property ''/cluster/storage_size'' of type string did not match the following type: integer'
source:
pointer: /cluster/storage_size
- status: '422'
code: invalid_configuration
id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d
title: Validation Failed
detail: 'The property ''/cluster/storage_size'' of type string did not match the following type: integer'
source:
pointer: /cluster/storage_size
- status: '422'
code: invalid_configuration
id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d
title: Validation Failed
detail: 'The property ''/cluster/storage_size'' of type string did not match the following type: integer'
source:
pointer: /cluster/storage_size
- status: '422'
code: invalid_configuration
id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d
title: Validation Failed
detail: 'The property ''/cluster/storage_size'' of type string did not match the following type: integer'
source:
pointer: /cluster/storage_size
- status: '422'
code: invalid_configuration
id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d
title: Validation Failed
detail: 'The property ''/cluster/storage_size'' of type string did not match the following type: integer'
source:
pointer: /cluster/storage_size
- status: '422'
code: invalid_configuration
id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d
title: Validation Failed
detail: 'The property ''/cluster/storage_size'' of type string did not match the following type: integer'
source:
pointer: /cluster/storage_size
- status: '422'
code: invalid_configuration
id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d
title: Validation Failed
detail: 'The property ''/cluster/storage_size'' of type string did not match the following type: integer'
source:
pointer: /cluster/storage_size
- status: '422'
code: invalid_configuration
id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d
title: Validation Failed
detail: 'The property ''/cluster/storage_size'' of type string did not match the following type: integer'
source:
pointer: /cluster/storage_size
- status: '422'
code: invalid_configuration
id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d
title: Validation Failed
detail: 'The property ''/cluster/storage_size'' of type string did not match the following type: integer'
source:
pointer: /cluster/storage_size
- status: '422'
code: invalid_configuration
id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d
title: Validation Failed
detail: 'The property ''/cluster/storage_size'' of type string did not match the following type: integer'
source:
pointer: /cluster/storage_size
- status: '422'
code: invalid_configuration
id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d
title: Validation Failed
detail: 'The property ''/cluster/storage_size'' of type string did not match the following type: integer'
source:
pointer: /cluster/storage_size
- status: '422'
code: invalid_configuration
id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d
title: Validation Failed
detail: 'The property ''/cluster/storage_size'' of type string did not match the following type: integer'
source:
pointer: /cluster/storage_size
- status: '422'
code: invalid_configuration
id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d
title: Validation Failed
detail: 'The property ''/cluster/storage_size'' of type string did not match the following type: integer'
source:
pointer: /cluster/storage_size
- status: '422'
code: invalid_configuration
id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d
title: Validation Failed
detail: 'The property ''/cluster/storage_size'' of type string did not match the following type: integer'
source:
pointer: /cluster/storage_size
- status: '422'
code: invalid_configuration
id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d
title: Validation Failed
detail: 'The property ''/cluster/storage_size'' of type string did not match the following type: integer'
source:
pointer: /cluster/storage_size
- status: '422'
code: invalid_configuration
id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d
title: Validation Failed
detail: 'The property ''/cluster/storage_size'' of type string did not match the following type: integer'
source:
pointer: /cluster/storage_size
- status: '422'
code: invalid_configuration
id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d
title: Validation Failed
detail: 'The property ''/cluster/storage_size'' of type string did not match the following type: integer'
source:
pointer: /cluster/storage_size
- status: '422'
code: invalid_configuration
id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d
title: Validation Failed
detail: 'The property ''/cluster/storage_size'' of type string did not match the following type: integer'
source:
pointer: /cluster/storage_size
- status: '422'
code: invalid_configuration
id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d
title: Validation Failed
detail: 'The property ''/cluster/storage_size'' of type string did not match the following type: integer'
source:
pointer: /cluster/storage_size
- status: '422'
code: invalid_configuration
id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d
title: Validation Failed
detail: 'The property ''/cluster/storage_size'' of type string did not match the following type: integer'
source:
pointer: /cluster/storage_size
- status: '422'
code: invalid_configuration
id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d
title: Validation Failed
detail: 'The property ''/cluster/storage_size'' of type string did not match the following type: integer'
source:
pointer: /cluster/storage_size
- status: '422'
code: invalid_configuration
id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d
title: Validation Failed
detail: 'The property ''/cluster/storage_size'' of type string did not match the following type: integer'
source:
pointer: /cluster/storage_size
- status: '422'
code: invalid_configuration
id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d
title: Validation Failed
detail: 'The property ''/cluster/storage_size'' of type string did not match the following type: integer'
source:
pointer: /cluster/storage_size
- status: '422'
code: invalid_configuration
id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d
title: Validation Failed
detail: 'The property ''/cluster/storage_size'' of type string did not match the following type: integer'
source:
pointer: /cluster/storage_size
- status: '422'
code: invalid_configuration
id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d
title: Validation Failed
detail: 'The property ''/cluster/storage_size'' of type string did not match the following type: integer'
source:
pointer: /cluster/storage_size
- status: '422'
code: invalid_configuration
id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d
title: Validation Failed
detail: 'The property ''/cluster/storage_size'' of type string did not match the following type: integer'
source:
pointer: /cluster/storage_size
- status: '422'
code: invalid_configuration
id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d
title: Validation Failed
detail: 'The property ''/cluster/storage_size'' of type string did not match the following type: integer'
source:
pointer: /cluster/storage_size
- status: '422'
code: invalid_configuration
id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d
title: Validation Failed
detail: 'The property ''/cluster/storage_size'' of type string did not match the following type: integer'
source:
pointer: /cluster/storage_size
- status: '422'
code: invalid_configuration
id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d
title: Validation Failed
detail: 'The property ''/cluster/storage_size'' of type string did not match the following type: integer'
source:
pointer: /cluster/storage_size
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
schemas:
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
MultipleSearchFilter:
description: Filter a collection by a string search for one or more values
type: array
items:
type: string
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'
ListMeta:
type: object
description: ListMeta describes metadata that resource collections may have
properties:
first:
description: A link to the first page of results. If a response does not contain a first link, then direct navigation to the first page is not supported.
type:
- string
- 'null'
format: uri
example: https://api.confluent.cloud/v2/resourcekinds
last:
description: A link to the last page of results. If a response does not contain a last link, then direct navigation to the last page is not supported.
type:
- string
- 'null'
format: uri
example: https://api.confluent.cloud/v2/resourcekinds?page_token=bcAOehAY8F16YD84Z1wT
prev:
description: A link to the previous page of results. If a response does not contain a prev link, then either there is no previous data or backwards traversal through the result set is not supported.
type:
- string
- 'null'
format: uri
example: https://api.confluent.cloud/v2/resourcekinds?page_token=YIXRY97wWYmwzrax4dld
next:
description: A link to the next page of results. If a response does not contain a next link, then there is no more data available.
type:
- string
- 'null'
format: uri
example: https://api.confluent.cloud/v2/resourcekinds?page_token=UvmDWOB1iwfAIBPj6EYb
total_size:
description: Number of records in the full result set. This response may be paginated and have a smaller number of records.
type: integer
format: int32
minimum: 0
example: 123
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:\n\n PROVISIONING: PrivateLink access provisioning is in progress;\n\n READY: PrivateLink access is ready;\n\n FAILED: PrivateLink access is in a failed state;\n\n DEPROVISIONING: PrivateLink access deprovisioning is in progress;\n"
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
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
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).
'
SearchFilter:
description: Filter a collection by a string search
type: string
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.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.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.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**.
'
Error:
type: object
description: Describes a particular error encountered while performing an operation.
properties:
id:
description: A unique identifier for this particular occurrence of the problem.
type: string
maxLength: 255
status:
description: The HTTP status code applicable to this problem, expressed as a string value.
type: string
code:
description: An application-specific error code, expressed as a string value.
type: string
title:
description: A short, human-readable summary of the problem. It **SHOULD NOT** change from occurrence to occurrence of the problem, except for purposes of localization.
type: string
detail:
description: A human-readable explanation specific to this occurrence of the problem.
type: string
source:
type: object
description: If this error was caused by a particular part of the API request, the source will point to the query string parameter or request body property that caused it.
properties:
pointer:
description: A JSON Pointer [RFC6901] to the associated entity in the request document [e.g. "/spec" for a spec object, or "/spec/title" for a specific field].
type: string
parameter:
description: A string indicating which query parameter caused the error.
type: string
error_code:
type: integer
format: int32
message:
type:
- string
- 'null'
additionalProperties: false
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
securitySchemes:
cloud-api-key:
type: http
scheme: basic
description: Authenticate with Cloud API Keys using HTTP Basic Auth. Treat the Cloud API Key ID as the username and Cloud API Key Secret as the password.
confluent-sts-access-token:
type: oauth2
description: Authenticate with Confluent API using this credentials (JSON Web Tokens) following OAuth 2.0.
flows:
clientCredentials:
tokenUrl: https://api.confluent.cloud/sts/v1/oauth2/token
scopes: {}
global-api-key:
type: http
scheme: basic
description: Authenticate with Global API Keys using HTTP Basic Auth. Treat the Global API Key ID as the username and Global API Key Secret as the password.
resource-api-key:
type: http
scheme: basic
description: Authenticate with resource-specific API Keys using HTTP Basic Auth. Treat the resource-specific API Key ID as the username and resource-specific API Key Secret as the password.
external-access-token:
type: oauth2
description: Authenticate with Confluent API using this credentials (JSON Web Tokens) following OAuth 2.0.
flows:
clientCredentials:
tokenUrl: https://api.confluent.cloud/sts/v1/oauth2/token
scopes: {}
oauth:
type: oauth2
description: Authenticate with OAuth 2.0. Currently this is only supported for partner APIs.
flows:
clientCredentials:
tokenUrl: /oauth2/token
scopes:
partner:alter: enables partners to alter entitlements
partner:create: enables partners to create entitlements and signup on behalf of customers
partner:delete: enables partners to delete entitlements and organizations
partner:describe: enables partners to read and list entitlements and organizations
x-tagGroups:
- name: Identity Access Management (v2)
tags:
- API Keys (iam/v2)
- Users (iam/v2)
- Service Accounts (iam/v2)
- Invitations (iam/v2)
- IP Groups (iam/v2)
- IP Filters (iam/v2)
- IP Filter Summaries (iam/v2)
- Role Bindings (iam/v2)
- Identity Providers (iam/v2)
- Jwks (iam/v2)
- Identity Pools (iam/v2)
- Group Mappings (iam/v2/sso)
- Certificate Authorities (iam/v2)
- Certificate Identity Pools (iam/v2)
- name: Org API (v2)
tags:
- Environments (org/v2)
- Organizations (org/v2)
- name: Notifications API (v1)
tags:
- Subscriptions (notifications/v1)
- Integrations (notifications/v1)
- Notification Types (notifications/v1)
- Resource Preferences (notifications/v1)
- Resource Subscriptions (notifications/v1)
- User Notifications (notifications/v1)
- name: Cluster Mgmt for Kafka (v2)
tags:
- Clusters (cmk/v2)
- name: Cluster Mgmt for ksqlDB (v2)
tags:
- Clusters (ksqldbcm/v2)
- name: Connect API (v1)
tags:
- Connectors (connect/v1)
- Lifecycle (connect/v1)
- Status (connect/v1)
- Managed Connector Plugins (connect/v1)
- Offsets (connect/v1)
- Custom Connector Plugins (connect/v1)
- Presigned Urls (connect/v1)
- Custom Connector Runtimes (connect/v1)
- name: Connect Artifact Management (v1)
tags:
- Connect Artifacts (cam/v1)
- Presigned Urls (cam/v1)
- name: Kafka API (v3)
tags:
- Cluster (v3)
- Configs (v3)
- ACL (v3)
- Consumer Group (v3)
- Partition (v3)
- Topic (v3)
- Records (v3)
- Cluster Linking (v3)
- Share Group (v3)
- Streams Group (v3)
- name: Service Quota API (v1)
tags:
- Applied Quotas (service-quota/v1)
- Scopes (service-quota/v1)
- name: Partner API (v2)
tags:
- Entitlements (partner/v2)
- Organizations (partner/v2)
- Signup (partner/v2)
- name: Cluster Mgmt for Schema Registry (v2)
tags:
- Regions (srcm/v2)
- Clusters (srcm/v2)
- name: Cluster Mgmt for Schema Registry (v3)
tags:
- Clusters (srcm/v3)
- name: Schema Registry API (v1)
tags:
- Compatibility (v1)
- Config (v1)
- Contexts (v1)
- Exporters (v1)
- Modes (v1)
- Schemas (v1)
- Subjects (v1)
- Key Encryption Keys (v1)
- Data Encryption Keys (v1)
- name: Catalog API (v1)
tags:
- Entity (v1)
- Search (v1)
- Types (v1)
- name: Stream Sharing API (v1)
tags:
- Provider Shared Resources (cdx/v1)
- Provider Shares (cdx/v1)
- Consumer Shared Resources (cdx/v1)
- Consumer Shares (cdx/v1)
- Shared Tokens (cdx/v1)
- Opt Ins (cdx/v1)
- name: Networking (v1)
tags:
- Networks (networking/v1)
- Peerings (networking/v1)
- Transit Gateway Attachments (networking/v1)
- Private Link Accesses (networking/v1)
- Network Link Services (networking/v1)
- Network Link Endpoints (networking/v1)
- Network Link Service Associations (networking/v1)
- IP Addresses (networking/v1)
- Private Link Attachments (networking/v1)
- Private Link Attachment Connections (networking/v1)
- DNS Forwarders (networking/v1)
- Access Points (networking/v1)
- DNS Records (networking/v1)
- Gateways (networking/v1)
- name: Security Token Service (v1)
tags:
- OAuth Tokens (sts/v1)
- name: Kafka Quota (v1)
tags:
- Client Quotas (kafka-quotas/v1)
- name: Bring Your Own Key (BYOK) Management (v1)
tags:
- Keys (byok/v1)
- name: Billing API (v1)
tags:
- Costs (billing/v1)
- name: Compute Pool Mgmt for Flink (v2)
tags:
- Compute Pools (fcpm/v2)
- Regions (fcpm/v2)
- Org Compute Pool Configs (fcpm/v2)
- name: SQL API (v1)
tags:
- Statements (sql/v1)
- Statement Results (sql/v1)
- Statement Exceptions (sql/v1)
- Connections (sql/v1)
- Agents (sql/v1)
- Tools (sql/v1)
- Materialized Tables (sql/v1)
- Materialized Table Versions (sql/v1)
- name: Provider Integration Management (v1)
tags:
- Integrations (pim/v1)
- name: Provider Integration Management (v2)
tags:
- Integrations (pim/v2)
- name: Artifact API (v1)
tags:
- Flink Artifacts (artifact/v1)
- Presigned Urls (artifact/v1)
- Flink Artifact Versions (artifact/v1)
- name: Custom Code Logging API (v1)
tags:
- Custom Code Loggings (ccl/v1)
- name: Tableflow (v1)
tags:
- Regions (tableflow/v1)
- Tableflow Topics (tableflow/v1)
- Catalog Integrations (tableflow/v1)
- name: Custom Connect Plugin Management (v1)
tags:
- Custom Connect Plugins (ccpm/v1)
- Presigned Urls (ccpm/v1)
- Custom Connect Plugin Versions (ccpm/v1)
- name: Unified Stream Manager (v1)
tags:
- Kafka Clusters (usm/v1)
- Connect Clusters (usm/v1)
- name: Endpoint (v1)
tags:
- Endpoints (endpoint/v1)
- name: Real Time Context Engine (v1)
tags:
- Rtce Topics (rtce/v1)
- Regions (rtce/v1)
- name: Analytics (v1alpha1)
tags:
- Statements (query/v1alpha1)