---
openapi: 3.0.0
info:
  title: Confluent Cloud APIs
  version: ''  # TODO: figure out our aggregate API spec versioning strategy, this is here to pass the linter
  x-api-id: 46234552-5833-42eb-ba0f-883ad3f70d2b
  x-audience: external-public
  x-logo:
    url: https://assets.confluent.io/m/1661ef5e4ff82d3d/
  description: |
    # Introduction

    <div class="status-info">
    <p class="status-info-title">Note</p>
    This documents the collection of Confluent Cloud APIs. Each API documents its
    <a href="#api-lifecycle-policy">lifecycle phase</a>. APIs
    marked as Early Access or Preview are not ready for production usage. We're currently
    working with a select group of customers to get feedback and iterate on these APIs.
    </div>

    Confluent Cloud APIs are a core building block of Confluent Cloud. You can use the APIs to
    manage your own account or to integrate Confluent into your product.

    Most of the APIs are organized around
    <a href="http://en.wikipedia.org/wiki/Representational_State_Transfer" target="_blank">REST</a>
    and the resources which make up Confluent Cloud. The APIs have predictable
    resource-oriented URLs, transport data using JSON, and use standard HTTP verbs,
    response codes, authentication, and design principles.

    ## Object Model

    <div class="status-info">
    <p class="status-info-title">Note</p>
    This section describes the object model for many Confluent Cloud APIs, but not all.
    The Connect v1 API group has a different object model. You can review the example
    request and response bodies in <a href="../ccloud/connectors-connect-v-1/">Connect v1 API</a>
    to see its object model.
    </div>

    Confluent Cloud APIs are primarily designed to be declarative and intent-oriented. In other words,
    tell the API what you want (for example, throughput or SLOs) and it will figure out how to make it happen
    (for example, cluster sizing). A Confluent object acts as a "record of intent" — after you create the
    object, Confluent Cloud will work tirelessly in the background to ensure that the object exists
    as specified.

    Confluent APIs represent objects in JSON with media-type `application/json`.

    Many objects follow a model consisting of `spec` and `status`. An object's `spec` tells
    Confluent the _desired state_ (specification) of the resource. The object may not be
    immediately available or changes may not be immediately applied. For this reason,
    many objects also have a `status` property that provides info about the
    _current state_ of the resource. Confluent Cloud is continuously and actively managing
    each resource's current state to match it's desired state.

    All Confluent objects share a set of common properties:

    - **api_version** – API objects have an `api_version` field indicating their API version.
    - **kind** – API objects have a `kind` field indicating the kind of object it is.
    - **id** – Each object in the API will have an identifier, indicated via its `id` field,
      and should be treated as an opaque string unless otherwise specified.

    There are a number of other [standard properties](#standard-properties) and that you'll encounter
    used by many API objects. And of course, objects have plenty of non-standard fields that are
    specific to each object _kind_... this is what makes them interesting!

    # Authentication

    Confluent uses API keys and JSON Web Tokens (JWTs) to integrate your applications
    and workflows to your Confluent Cloud resources using the Confluent Cloud REST APIs.
    Your applications and workflows must be authenticated and authorized in order to
    access and manage Confluent Cloud resources.

    ## API keys

    You can create and manage your API keys using the Confluent Cloud Console or
    Confluent 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).

    Confluent Cloud uses the following two categories of API keys:

    - A **Cloud API key** grants access to the Confluent Cloud Management APIs,
      such as for Provisioning and Metrics integrations.
    - A **resource-specific API key** grants access to a Confluent Kafka cluster
      (Kafka API key), a Confluent Cloud Schema Registry (Schema Registry API key),
      Flink (Flink API key scoped to an Environment + Region pair), or a ksqlDB application.

    Each Confluent Cloud API key is associated with a principal (specific user or
    service account) and inherits the permissions granted to the owner.

    - For example, if service account `Armageddon` is granted ACLs on Kafka cluster
      `neptune`, then a Kafka API Key for `neptune` owned by `Armageddon` will have
      these ACLs enforced.
    - **Note:** API keys are automatically deleted when the associated user or service
      account is deleted (for example, when an employee leaves the company or moves to
      a new department and an SSO integration removes the Confluent Cloud user as they
      no longer require access).
    - Confluent **strongly recommends** that you use service accounts for all
      production-critical access.

    Confluent Cloud API keys grant access to Confluent Cloud resources, so **keep them secure**!
    Do not share your API keys and secrets in publicly-accessible locations, such as
    GitHub or client-side code.

    All API requests must be made over HTTPS. Calls made over plain HTTP will fail.
    API requests without authentication will also fail.

    To use an API key, you must send it in an `Authorization: Basic {credentials}` header.
    Remember that HTTP Basic authentication requires you to provide your credentials as
    the API key ID and associated API secret separated by a colon and encoded using Base64
    format. For example, if your API key ID is `ABCDEFGH123456789` and the API key Secret
    is `XNCIW93I2L1SQPJSJ823K1LS902KLDFMCZPWEO`, then the authorization header is:

    ```text​
    Authorization: Basic QUJDREVGR0gxMjM0NTY3ODk6WE5DSVc5M0kyTDFTUVBKU0o4MjNLMUxTOTAyS0xERk1DWlBXRU8=
    ```

    You can generate this header example from the API key:

    macOS:

    ```shell
    $ echo -n "ABCDEFGH123456789:XNCIW93I2L1SQPJSJ823K1LS902KLDFMCZPWEO" | base64

    ```

    Linux:

    ```shell
    $ echo -n "ABCDEFGH123456789:XNCIW93I2L1SQPJSJ823K1LS902KLDFMCZPWEO" | base64 -w 0
    ```

    Windows (PowerShell only):

    This command is only supported for PowerShell and will not work in the Command shell. 

    ```shell
    $ [System.Convert]::ToBase64String([System.Text.Encoding]::UTF8.GetBytes("ABCDEFGH123456789:XNCIW93I2L1SQPJSJ823K1LS902KLDFMCZPWEO"))
    ```

    To find out if an API operation supports Cloud API Keys, look in the **AUTHORIZATIONS**
    listing for `cloud-api-key`.

    To find out if an API operation supports resource-specific API Keys, look in the **AUTHORIZATIONS**
    listing for `resource-api-key`.

    ## External OAuth

    You can use [OAuth/OIDC support for Confluent Cloud](https://docs.confluent.io/cloud/current/access-management/authenticate/oauth/overview.html)
    to authenticate and authorize access to applications and workloads for the
    following Confluent Cloud REST APIs:

    - **Kafka REST API**: [Kafka REST API for Clusters(V3)](../ccloud/cluster-v-3/).
      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).
    - **Schema Registry REST API**: [Schema Registry REST API for Schemas(V1)](../ccloud/schemas-v-1/)
      and [Subjects](../ccloud/subjects-v-1/).
      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).

    Alternatively, to find out if an API operation supports external tokens, look in the **AUTHORIZATIONS**
    listing for `external-access-token`.

    ## Confluent STS tokens

    Confluent Security Token Service (STS) issues access tokens (`confluent-sts-access-token`)
    by exchanging an external token (`external-access-token`) for a `confluent-sts-access-token`. You can use
    Confluent STS tokens to authenticate to Confluent Cloud APIs that support the
    `confluent-sts-access-token` notation.

    To find out if an API operation supports Confluent STS tokens, look in the **AUTHORIZATIONS**
    listing for `confluent-sts-access-token`.

    ## Partner OAuth

    Approved partners can fetch Partner tokens (`confluent-partner-access-token`) that validate their identity
    and grant access to the Partner API (`partner/v2`), which lets them sign up
    an organization on behalf of a customer, manage entitlements (create, read, and list),
    and read or list organizations they have signed up.

    To find out an API operation supports Partner tokens, look in the **AUTHORIZATIONS**
    listing for `confluent-partner-access-token`.

    <!-- TODO: port this back to the Confluent API Design Guide -->

    <SecurityDefinitions />

    # Errors

    Confluent API error messages are a critical part of the developer experience. For Confluent Cloud, they must be
    clear, consistent, actionable, and designed for both developers and automated systems. Strong error
    handling supports fast troubleshooting, reliable integration, and efficient support–the foundation of
    a positive developer experience.

    Our APIs are built on RESTful principles. They use resource-oriented URLs, standard HTTP verbs, and JSON
    for requests and responses. This section defines clear standards for structuring, formatting, and documenting
    error messages for all Confluent REST APIs.

    <div class="status-info">
    <p class="status-info-title">Note</p>
    This 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 <a href="../ccloud/connectors-connect-v-1/">below</a> to see its error behavior.
    </div>

    ## Key principles

    Use the following best practices when designing and documenting API error messages:

    - **Ensure clarity and consistency**: Messages must be easy to understand–use active voice and plain language–and consistently formatted across endpoints.

    - **Write actionable messages**: Always include a resolution or next step, enabling users to correct the problem.

    - **Avoid exposing sensitive data**: Never expose internal system details, stack traces, logs, or user-specific content.

    - **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.

    ## HTTP status codes

    Confluent Cloud APIs return standard [HTTP status codes](#status-codes) to
    indicate 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"`).
    For a list of supported codes and their meaning, see the [HTTP status codes](#status-codes) section.

    ## Error response structure

    Each API error response **should** include the following fields:

    **Top-level fields**

    | Field        | Type   | Required | Description                                                                                                                                             |
    | ------------ | ------ | -------- | ------------------------------------------------------------------------------------------------------------------------------------------------------- |
    | status       | String | Yes      | HTTP status code (for example, 400, 404, 500).                                                                                                          |
    | error        | Object | Yes      | Main object containing error details.                                                                                                                   |
    | requestId    | String | Optional | Unique identifier for the API request. Use for tracing, debugging, and support inquiries.                                                               |
    | doc_url      | String | Optional | Link to relevant documentation or troubleshooting steps.                                                                                                |

    **Fields inside `error` object**

    | Field       | Type   | Required | Description                                                                                                                                             |
    | ------------| ------ | -------- | ------------------------------------------------------------------------------------------------------------------------------------------------------- |
    |  code       | String | Yes      | Unique, application-specific error code. Write error codes in uppercase letters, using underscores to separate words (for example, RESOURCE_NOT_FOUND). |
    |  message    | String | Yes      | Clear, actionable, user-friendly description of what went wrong using active voice.                                                                     |
    |  details    | String | Optional | Additional explanation or context about the error using active voice.                                                                                   |
    |  timestamp  | String | Yes      | ISO 8601 UTC timestamp indicating the date and time when the error occurred.                                                                            |
    |  path       | String | Yes      | The exact API endpoint or resource path related to the error.                                                                                           |
    |  suggestion | String | Optional | Recommend actions the user can take to fix or avoid the error using active voice.                                                                       |

    Each 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
    shows a standard Confluent API error response in JSON format:

        {
          "status": 400,
          "error": {
            "code": "INVALID_SCHEMA_FIELD",
            "message": "The 'name' field in the schema is required and cannot be empty.",
            "details": "Schemas must include a top-level 'name' field with a non-empty string value.",
            "timestamp": "2025-08-01T20:36:45Z",
            "path": "/api/v1/schemas",
            "suggestion": "Ensure the 'name' field is included in the payload and is not an empty string."
          },
          "requestId": "a1b2c3d4-e5f6-7890-g1h2-i3j4k516m7n8",
          "doc_url": "https://docs.confluent.io/cloud/current/api/errors/INVALID_SCHEMA_FIELD.html"
        }

    Note that if a request fails validation, it will return an HTTP `422 Unprocessable Entity`
    with a list of fields that failed validation.

    ## Pagination

    <div class="status-info">
    <p class="status-info-title">Note</p>
    This section describes the pagination behavior of “list” operations for many Confluent Cloud APIs, but not all.
    The Connect V1 and Kafka V3 API list operations do not support pagination.
    </div>

    All API resources have support for bulk reads via "list" API operations. For example,
    you can "list Kafka clusters", "list api keys", and "list environments". These "list"
    operations require pagination; by requesting smaller subsets of data, API clients
    receive a response much faster than requesting the entire, potentially large, data set.

    All "list" operations follow the same pattern with the following parameters:

    - `page_size` – client-provided max number of items per page, only valid on the first request.
    - `page_token` – server-generated token used for traversing through the result set.

    A paginated response may include any of the following pagination links. API clients may
    follow the respective link to page forward or backward through the result set as desired.

    | [Link Relation](https://www.iana.org/assignments/link-relations/link-relations.xml) | Description                                                                                                                                                                             |
    | ----------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
    | `next`                                                                              | A link to the next page of results. A response that does not contain a next link does not have further data to fetch.                                                                   |
    | `prev`                                                                              | A link to the previous page of results. A response that does not contain a prev link has no previous data. This link is **optional** for collections that cannot be traversed backward. |
    | `first`                                                                             | A link to the first page of results. This link is **optional** for collections that cannot be indexed directly to a given page.                                                         |
    | `last`                                                                              | A link to the last page of results. This link is **optional** for collections that cannot be indexed directly to a given page.                                                          |

    API clients must treat pagination links and the `page_token` parameter in particular as an opaque string.

    An example paginated list response may look like

    ```
    {
        "api_version": "v2",
        "kind": "KafkaClusterList",
        "metadata": {
            "next": "https://api.confluent.cloud/kafka-clusters?page_token=ABCDEFGHIJKLMNOP1234567890"
        }
        "data": [
            {
                "metadata": {
                    "id": "lkc-abc123",
                    "self": "https://api.confluent.cloud/kafka-clusters/lkc-abc123",
                    "resource_name": "crn://confluent.cloud/kafka=lkc-abc123",
                }
                "spec": {
                    "display_name": "My Kafka Cluster",
                    <snip>
                },
                "status": {
                    "phase": "RUNNING",
                    <snip>
                }
            },
            <snip>
        ]
    }
    ```

    # Rate Limiting

    To protect the stability of the API and keep it available to all users, Confluent employs
    multiple safeguards. If you send too many requests in quick succession or perform too many
    concurrent operations, you may be throttled or have your request rejected with an error.

    When a rate limit is breached, an HTTP `429 Too Many Requests` error is
    returned. The following headers are sent back to provide assistance in dealing
    with rate limits. Note that headers are not returned for a `429` error response with
    [Kafka REST API (v3)](../ccloud/cluster-v-3/).

    | Header                  | Description                                                                                                                                                                                                                                        |
    | ----------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
    | `X-RateLimit-Limit`     | The maximum number of requests you're permitted to make per time period.                                                                                                                                                                           |
    | `X-RateLimit-Reset`     | The relative time in seconds until the current rate limit window resets.                                                                                                                                                                           |
    | `Retry-After`           | The number of seconds to wait until the rate limit window resets. Only sent when the rate limit is reached.                                                                                                                                        |
    | `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. |

    Confluent 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.

    Integrations should gracefully handle these limits by watching for `429` error responses and
    building in a retry mechanism. This mechanism should follow a capped exponential backoff policy to
    prevent [retry amplification](https://landing.google.com/sre/sre-book/chapters/addressing-cascading-failures/)
    ("retry storms") and also introduce some randomness ("jitter") to avoid the
    [thundering herd effect](https://en.wikipedia.org/wiki/Thundering_herd_problem).

    If you’re running into this error and think you need a higher rate limit, contact Confluent at
    [support@confluent.io](mailto:support@confluent.io).

    # Identifiers and URLs

    Most resources have multiple identifiers:

    - `id` is the "natural identifier" for an object. It is only unique within its parent resource.
      The `id` is unique across time: the ID will not be reclaimed and reused after an object is deleted.
    - `resource_name` is a Uniform Resource Identifier (URI) that is globally unique across all resources.
      This encompasses all parent resource `kind`s and `id`s necessary to uniquely identify a particular
      instance of this object `kind`. Because it uses object `id`s, the CRN will not be reclaimed and
      reused after an object is deleted. It is represented as a Confluent Resource Name (see below).
    - `self` is a Uniform Resource Locator (URL) at which an object can be addressed.
      This URL encodes the service location, API version, and other particulars necessary to
      locate the resource at a point in time.

    To see how these relate to each other, consider `KafkaBroker` with `broker.id=2` in a `KafkaCluster`
    in Confluent Cloud identified as `lkc-xsi8201`. In such an example, the `KafkaBroker` has `id=2`,
    the `resource_name` is `crn://confluent.cloud/kafka=lkc-xsi8201/broker=2` and the `self` URL may be
    something like `https://pkc-8wlk2n.us-west-2.aws.confluent.cloud`. Note that different identifiers
    carry different information for different purposes, but the `resource_name` is the most complete
    and canonical identifier.

    ## Confluent Resource Names (CRNs)

    _Confluent Resource Names_ (CRNs) are used to uniquely identify all Confluent resources.

    A CRN is a valid URI having an "authority" of `confluent.cloud` or a self-managed
    <a href="https://docs.confluent.io/current/security/rbac/configure-mds/index.html" target="_blank">
    metadata service URL</a>, followed by the minimal hierarchical set of key-value
    pairs necessary to uniquely identify a resource.

    Here are some examples for basic resources in Confluent Cloud:

    | Resource                   | Example CRN                                                                                                                                                              |
    | -------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
    | Organization               | crn://confluent.cloud/organization=9bb441c4-edef-46ac-8a41-c49e44a3fd9a                                                                                                  |
    | Environment                | crn://confluent.cloud/organization=9bb441c4-edef-46ac-8a41-c49e44a3fd9a/environment=env-456xy                                                                            |
    | User                       | crn://confluent.cloud/organization=9bb441c4-edef-46ac-8a41-c49e44a3fd9a/user=u-rst9876                                                                                   |
    | API Key                    | crn://confluent.cloud/organization=9bb441c4-edef-46ac-8a41-c49e44a3fd9a/user=u-zyx98/api-key=ABCDEFG9876543210                                                           |
    | Service Account            | crn://confluent.cloud/organization=9bb441c4-edef-46ac-8a41-c49e44a3fd9a/service-account=sa-abc1234                                                                       |
    | Kafka Cluster              | crn://confluent.cloud/organization=9bb441c4-edef-46ac-8a41-c49e44a3fd9a/environment=env-456xy/cloud-cluster=lkc-123abc/kafka=lkc-123abc                                  |
    | 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             |
    | 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 |
    | Network                    | crn://confluent.cloud/organization=9bb441c4-edef-46ac-8a41-c49e44a3fd9a/environment=env-456xy/network=n-123abc                                                           |
    | Peering                    | crn://confluent.cloud/organization=9bb441c4-edef-46ac-8a41-c49e44a3fd9a/environment=env-456xy/network=n-123abc/peering=p-123abc                                          |
    | Private Link Access        | crn://confluent.cloud/organization=9bb441c4-edef-46ac-8a41-c49e44a3fd9a/environment=env-456xy/network=n-123abc/private-link-access=pla-123abc                            |
    | Transit Gateway Attachment | crn://confluent.cloud/organization=9bb441c4-edef-46ac-8a41-c49e44a3fd9a/environment=env-456xy/network=n-123abc/transit-gateway-attachment=tgwa-123abc                    |
    | Schema Registry Cluster    | crn://confluent.cloud/organization=9bb441c4-edef-46ac-8a41-c49e44a3fd9a/environment=env-456xy/schema-registry=lsrc-789qw                                                 |
    | Schema Subject             | crn://confluent.cloud/organization=9bb441c4-edef-46ac-8a41-c49e44a3fd9a/environment=env-456xy/schema-registry=lsrc-789qw/subject=test                                    |
    | KEK                        | crn://confluent.cloud/organization=9bb441c4-edef-46ac-8a41-c49e44a3fd9a/environment=env-456xy/schema-registry=lsrc-789qw//kek=test_kek                                   |
    | Connector                  | crn://confluent.cloud/organization=9bb441c4-edef-46ac-8a41-c49e44a3fd9a/environment=env-456xy/cloud-cluster=lkc-123abc/connector=my_datagen_connector                    |
    | Provider Integration       | crn://confluent.cloud/organization=9bb441c4-edef-46ac-8a41-c49e44a3fd9a/environment=env-456xy/provider-integration=cspi-123j1                                            |

    # Data Types

    ## Primitive Types

    | Data Type | Representation                                                                                                                                                                                                                                                                                                                                                                                                                          |
    | --------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
    | Integers  | Each API may specify the type as `int32` or `int64`. Note that many languages, including JavaScript, are limited to a max size of approx `2**53` and don't correctly handle large `int64` values with their default JSON parser.                                                                                                                                                                                                        |
    | Dates     | <a href="https://www.ietf.org/rfc/rfc3339.txt" target="_blank">RFC 3339</a> formatted string. UTC timezones are assumed, unless otherwise given.                                                                                                                                                                                                                                                                                        |
    | Times     | <a href="https://www.ietf.org/rfc/rfc3339.txt" target="_blank">RFC 3339</a> formatted string. UTC timezones are assumed, unless otherwise given.                                                                                                                                                                                                                                                                                        |
    | Durations | <a href="https://www.ietf.org/rfc/rfc3339.txt" target="_blank">RFC 3339</a> formatted string.                                                                                                                                                                                                                                                                                                                                           |
    | Periods   | <a href="https://www.ietf.org/rfc/rfc3339.txt" target="_blank">RFC 3339</a> formatted string. UTC timezones are assumed, unless otherwise given.                                                                                                                                                                                                                                                                                        |
    | Ranges    | All ranges are represented using half-open intervals with naming conventions like `[start_XXX, end_XXX)` such as `[start_time, end_time)`.                                                                                                                                                                                                                                                                                              |
    | Enums     | Most APIs use <a href="https://opensource.zalando.com/restful-api-guidelines/#112" target="_blank">`x-extensible-enum`</a> 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. |

    <!-- TODO
    ### Standard Objects

    | Money Object | https://schema.org/MonetaryAmount or https://opensource.zalando.com/restful-api-guidelines/#173
    | Price Specification | https://schema.org/PriceSpecification -> https://schema.org/UnitPriceSpecification and https://schema.org/PaymentChargeSpecification
    -->

    ### Standard Properties

    Confluent uses this set of standard properties to ensure common concepts use
    the same name and semantics across different APIs.

    | Name             | Description                                                                                                                                                                                         |
    | ---------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
    | **api_version**  | Many API objects have an `api_version` field indicating their API version. See the [Object Model](#object-model).                                                                           |
    | **kind**         | Many API objects have a `kind` field indicating the kind of object it is. See the [Object Model](#object-model).                                                                            |
    | **id**           | Many objects in the API will have an identifier, indicated via its `id` field, and should be treated as an opaque string unless otherwise specified. See the [Object Model](#object-model). |
    | **name**         | Objects which support a client-provided unique identifier instead of a generated `id` will indicate this identifier via its `name` field.                                                           |
    | **display_name** | The human-readable display name of an API object.                                                                                                                                                   |
    | **title**        | The official name of an API object, such as a company name. It should be treated as the formal version of `display_name`.                                                                           |
    | **description**  | One or more paragraphs of text description of an entity.                                                                                                                                            |
    | **created_at**   | The date and time the object was created, represented as a string in <a href="https://www.ietf.org/rfc/rfc3339.txt" target="_blank">RFC 3339</a> format.                                            |
    | **updated_at**   | The date and time the object was last modified, represented as a string in <a href="https://www.ietf.org/rfc/rfc3339.txt" target="_blank">RFC 3339</a> format.                                      |
    | **deleted_at**   | If present, the date and time after which the object was/will be deleted, represented as a string in <a href="https://www.ietf.org/rfc/rfc3339.txt" target="_blank">RFC 3339</a> format.            |
    | **page_token**   | The pagination token in the List request. See [Pagination](#pagination).                                                                                                                    |
    | **page_size**    | The pagination size in the List request. See [Pagination](#pagination).                                                                                                                     |
    | **total_size**   | The total count of items in the list irrespective of pagination. See [Pagination](#pagination).                                                                                             |
    | **spec**         | The _desired state_ specification of the resource, as observed by Confluent Cloud.                                                                                                                  |
    | **status**       | The _current state_ of the resource, as observed by Confluent Cloud.                                                                                                                                |

    # Versioning

    Confluent APIs ensure stability for your integrations by avoiding the introduction
    of breaking changes to customers unexpectedly. Confluent will make non-breaking
    API changes without advance notice. Thus, API clients **must** follow the
    [Compatibility Policy](#compatibility-policy) below to ensure your
    integration remains stable. All APIs follow the API Lifecycle Policy described below,
    which describes the guarantees API clients can rely on.

    Breaking changes will be [widely communicated](#communication) in advance in accordance
    with the Confluent [Deprecation Policy](#deprecation-policy). Confluent will provide
    timelines and a migration path for all API changes, where available. Be sure to subscribe
    to one or more [communication channels](#communication) so you don't miss any updates!

    One exception to these guidelines is for critical security issues. Confluent will take any necessary
    actions to mitigate any critical security issue as soon as possible, which may include disabling
    the vulnerable functionality until a proper solution is available.

    Do not consume any Confluent API unless it is documented in the API Reference. All undocumented
    endpoints should be considered private, subject to change without notice, and not covered by any
    agreements.

    > Note: The version in the URL (e.g. "v1" or "v2") is not a "major version" in the
    > [Semantic Versioning](https://semver.org/) sense. It is a "generational version" or "meta version", as seen in
    > APIs like <a href="https://developer.github.com/v3/versions/" target="_blank">Github API</a> or the
    > <a href="https://stripe.com/docs/api/versioning" target="_blank">Stripe API</a>.

    ## API Groups

    Confluent APIs are divided into API Groups, such as the Cluster Management for Apache Kafka (CMK) API group,
    the Connect API group, and the Data Catalog API group. Each group has its own set of endpoints and resources,
    as well as its own API group version.

    Because different API groups have different versions, there is no single version for the "Confluent Cloud API".
    The latest version of the Connect API group may be `connect/v1`, while the latest version of the CMK API group
    may be `cmk/v2`.

    When a breaking change is introduced into one API group, Confluent will increase the API version for that API group
    only, leaving the other API groups' versions unchanged. This makes it easier for you to understand whether a given
    breaking change impacts your usage of the APIs.

    ## Known Issues

    During the Early Access and Preview periods, we have a few known issues.

    | Issue          | Description                                                                   | Proposed Resolution                                 |
    | -------------- | ----------------------------------------------------------------------------- | --------------------------------------------------- |
    | Quota Exceeded | Some "Quota Exceeded" errors will be returned as HTTP 400 instead of HTTP 402 | Return 402 consistently for "Quota Exceeded" errors |

    ## API Lifecycle Policy

    The following status labels are applicable to APIs, features, and SDK versions, based on
    the current support status of each:

    - **Early Access** – May change at any time. Not recommended for production usage. Not officially supported by
      Confluent. Intended for user feedback only. Users must be granted explicit access to the API by Confluent.
    - **Preview** – Unlikely to change between Preview and General Availability. Not recommended for production usage.
      Officially supported by Confluent for non-production usage. Accessible to all users.
    - **Limited Availability (LA)** - Available to key select customers in a subset of regions/providers/networks and recommended for production usage.
    - **Generally Available (GA)** – Will not change at short notice. Recommended for production usage.
      Officially supported by Confluent for non-production and production usage.
    - **Deprecated** – Still supported, but no longer under active development. Existing usage will continue to function
      but migration following the upgrade guide is strongly recommended. New use cases should be built against the new
      version. Deprecated feature or version will be removed in the future at the announced date.
    - **Sunset** – Removed, and no longer supported or available.

    An API is "Generally Available" unless explicitly marked otherwise.

    ## Compatibility Policy

    Confluent Cloud APIs are governed by
    <a href="https://docs.confluent.io/cloud/current/clusters/upgrade-policy.html" target="_blank">
    Confluent Cloud Upgrade Policy</a>, which means that backward incompatible changes and
    deprecations will be made approximately once per year, and 180 days notice will be provided via email to all
    registered Confluent Cloud users.

    ### Backward Compatibility

    > _An API version is backward compatible if a program written against the previous version of the API will continue to work the same way, without modification, against this version of the API._

    Confluent considers the following changes to be backward compatible:

    - Adding new API resources.
    - Adding new optional parameters to existing API requests (e.g., query string).
    - Adding new properties to existing API resources (e.g., request body).
    - Changing the order of properties in existing API responses.
    - Changing the length or format of object IDs or other opaque strings.
      - Unless otherwise documented, you can safely assume object IDs generated by Confluent will never exceed 255
        characters, but you should be able to handle IDs of up to that length. If you're using MySQL,
        for example, you should store IDs in a `VARCHAR(255) COLLATE utf8_bin` column.
      - This includes adding or removing fixed prefixes (such as `lkc-` on Kafka cluster IDs).
      - This includes API keys, API tokens, and similar authentication mechanisms.
      - This includes all strings described as "opaque" in the docs, such as pagination cursors.
    - Adding new API event types.
    - Adding new properties to existing API event types.
    - Omitting properties with null values from existing API responses.

    ### Forward Compatibility

    > _An API version is forward compatible if a program written against the next version of the API
    > will continue to work the same way, without modification, against this version of the API._

    In other words, a forward compatible API will accept input intended for a later version of itself.

    Confluent does not guarantee the forward compatibility of the APIs, but Confluent does generally follow the guidelines
    given by the [Robustness principle](https://en.wikipedia.org/wiki/Robustness_principle).
    This means that the API determines what to do with a request based only on the parts that it recognizes.

    This is often referred to as the MUST IGNORE rule.

    - Request parameters that are not recognized will be ignored (e.g., query string).
    - Request properties that are not recognized will be ignored (e.g., request body).
    - Request metadata that are not recognized will be ignored (e.g., request headers).

    API clients must also follow the MUST IGNORE rule.

    - Response properties that are not recognized must be ignored (e.g., response body).
    - Response metadata that are not recognized must be ignored (e.g., response headers).

    Additionally, there is a more subtle related rule called the MUST FORWARD rule. Any parts of
    a request that an API doesn't recognize must be forwarded unchanged.

    - Response properties that are not recognized must be included in any input subsequent updates (e.g., request body)
      - This includes future `PUT` requests in a read/modify/write operation.
        (This isn't required for `PATCH` partial updates, which is why Confluent APIs use `PATCH`.)
    - Event processors must not strip unknown properties before forwarding messages.

    #### Compatibility Implementation Hints

    Confluent 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.

    For the **Jackson** library (Java), use one of these approaches:

    **1. Global Configuration (Recommended)**

    Configure `ObjectMapper` to ignore unknown properties globally.

    ```java
    ObjectMapper objectMapper = new ObjectMapper();
    objectMapper.configure(DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES, false);
    ```

    **2. Class-Level Control**

    Use `@JsonIgnoreProperties` to ignore unknown fields on specific classes.

    ```java
    @JsonIgnoreProperties(ignoreUnknown = true)
    public class MyResource { ... }
    ```

    **3. Capturing Unknown Fields**

    Use `@JsonAnySetter` to preserve unknown fields in a `Map`, in order to use them on future requests to fulfill the MUST FORWARD requirement.

    ```java
    public class MyResource {
        // ... existing fields ...
        private Map<String, Object> unknownProperties = new HashMap<>();

        @JsonAnySetter
        public void addUnknownProperty(String key, Object value) {
            this.unknownProperties.put(key, value);
        }
        
        public Map<String, Object> getUnknownProperties() {
            return unknownProperties;
        }
    }
    ```

    ### Client Responsibilities

    - Resource and rate limits, and the default and maximum sizes of paginated data **are not**
      considered part of the API contract and may change (possibly dynamically). It is the client's
      responsibility to read the road signs and obey the speed limit.
    - If a property has a primitive type and the API documentation does not explicitly limit its
      possible values, clients **must not** assume the values are constrained to a particular set
      of possible responses.
    - If a property of an object is not explicitly declared as mandatory in the API, clients
      **must not** assume it will be present.
    - A resource **may** be modified to return a "redirection" response (e.g. `301`, `307`) instead of
      directly returning the resource. Clients **must** handle HTTP-level redirects, and respect HTTP
      headers (e.g. `Location`).

    ## Deprecation Policy

    Confluent will announce deprecations at least 180 days in advance of a breaking change
    and will continue to maintain the deprecated APIs in their original form during this time.

    Exceptions to this policy apply in case of critical security vulnerabilities or functional defects.

    ### Communication

    When a deprecation is announced, the details and any relevant migration
    information will be available on one or more of the following channels:

    - Announcements on the <a href="https://www.confluent.io/blog/" target="_blank">Developer Blog</a>,
      <a href="https://confluentcommunity.slack.com" target="_blank">Community Slack</a>
      (<a href="https://slackpass.io/confluentcommunity" target="_blank">join!</a>),
      <a href="https://groups.google.com/forum/#!forum/confluent-platform" target="_blank">Google Group</a>,
      the <a href="https://twitter.com/ConfluentInc" target="_blank">@ConfluentInc twitter</a>
      account, and similar channels
    - Enterprise customers may receive information by email to their specified Confluent contact, if applicable.

    <!-- TODO:
    ### Discoverability
    -->

    # HTTP Guidelines

    ## Status Codes

    Confluent respects the meanings and behavior of HTTP status codes as defined
    in <a href="https://tools.ietf.org/html/rfc2616">RFC2616</a> and elsewhere.

    - Codes in the `2xx` range indicate success
    - Codes in the `3xx` range indicate redirection
    - Codes in the `4xx` range indicate an error caused by the client request
      (e.g., a required parameter was omitted, an invalid cluster configuration was provided, etc.)
    - Codes in the `5xx` range indicate an error with Confluent's servers (these are rare)

    The various HTTP status codes that might be returned are listed below.

    | Code               | Title             | Description                                                                                                     |
    | ------------------ | ----------------- | --------------------------------------------------------------------------------------------------------------- |
    | 200                | OK                | Everything worked as expected.                                                                                  |
    | 201                | Created           | The resource was created. Follow the `Location` header.                                                         |
    | 204                | No Content        | Everything worked and there is no content to return.                                                            |
    | 400                | Bad Request       | The request was unacceptable, often due to malformed syntax, or a missing or malformed parameter.               |
    | 401                | Unauthorized      | No valid credentials provided. or the credentials are unsuitable, invalid, or unauthorized.                     |
    | 402                | Over Quota        | The request was valid, but you've exceeded your plan quota or limits.                                           |
    | 404                | Not Found         | The requested resource doesn't exist or you're unauthorized to know it exists.                                  |
    | 409                | Conflict          | The request conflicts with another request (perhaps it already exists or was based on a stale version of data). |
    | 422                | Validation Failed | The request was parsed correctly but failed some sort of validation.                                            |
    | 429                | Too Many Requests | Too many requests hit the API too quickly. Confluent recommends an exponential backoff of your requests.        |
    | 500, 502, 503, 504 | Server Errors     | Something went wrong on Confluent's end. (These are rare.)                                                      |

    This list is not exhaustive; other standard HTTP error codes may be used,
    including `304`, `307`, `308`, `405`, `406`, `408`, `410`, and `415`.

    For more details, see https://httpstatuses.com.

    <!--

    ## Method Overriding

    Some firewalls and HTTP clients restrict the use of verbs other than `GET` and `POST`. In those
    environments, Confluent API operations that require `PUT`, `PATCH`, and `DELETE` verbs will be inaccessible.

    To avoid this issue, Confluent APIs support the `X-HTTP-Method-Override` header, allowing clients to
    "tunnel" `PUT`, `PATCH`, and `DELETE` requests via a `POST` request.

    For example, to call a Confluent `PATCH` resource via a `POST` request, you can
    include `X-HTTP-Method-Override: PATCH` as a header.

    ## User Agent Required

    Confluent API requests **should** include a valid `User-Agent` header. Requests with no `User-Agent`
    header may be rejected. You should use the name of your integration for the `User-Agent`
    header value and include contact information so that Confluent can contact you if there are problems.

    > If your integration is acting as a proxy or gateway, you **should** forward the User-Agent
    > of the originating client with your API requests.

    Here's a complete example:

        User-Agent: CoolToolName/1.2.3 (https://example.org/CoolTool/; CoolTool@example.org) UsedBaseLibrary/2.1.0

    The minimum user agent string is the integration name and version: `name/version`.
    You can string together multiple values in a space-separated list. The full syntax is:

        name/version [(comments)] [name/version [(comments)]] [...]​

    For the integration name, use a string (without whitespace) that clearly and meaningfully
    identifies your integration.

    * Avoid ambiguous names: `Confluent-Integration`, `Kafka-Sink`
    * Use clear and meaningful names: `ABCTools-ToolName`, `StackStorm-Confluent-Plugin`

    For the version, use a semantic version, build ID, commit hash, or other identifier
    that is updated automatically when you release a new version.

    Wrap comments in parentheses `()` as a semi-colon separated list. Helpful comments to include:

    * A public URL for your integration, such as a GitHub link or a page in your
      docs site that describes the integration.
    * Contact information so that Confluent can easily reach the integration publisher. This
      information from the user agent string will never be shared nor used by Confluent for
      any purpose other than discussing the integration with its publisher.

    If you provide an invalid `User-Agent` header, you may receive a `403 Forbidden` response.

    -->

    # Metrics APIs

    For Metrics APIs, see <a href="https://api.telemetry.confluent.cloud/docs">Confluent Cloud Metrics API</a>.
servers:
  - url: https://api.confluent.cloud
    description: Confluent Cloud API
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)
  - 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: 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)
paths:
  /iam/v2/api-keys:
    x-lifecycle-stage: General Availability
    x-self-access: true
    get:
      x-lifecycle-stage: General Availability
      x-self-access: true
      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.  \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: 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.  \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/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'
  /iam/v2/api-keys/{id}:
    x-lifecycle-stage: General Availability
    x-self-access: true
    get:
      x-lifecycle-stage: General Availability
      x-self-access: true
      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.  \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: 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.ApiKey'
      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.  \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: 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.  \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'
  /org/v2/environments:
    x-lifecycle-stage: General Availability
    x-self-access: true
    get:
      x-lifecycle-stage: General Availability
      x-self-access: true
      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.  \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: 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.  \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/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'
  /org/v2/environments/{id}:
    x-lifecycle-stage: General Availability
    x-self-access: true
    get:
      x-lifecycle-stage: General Availability
      x-self-access: true
      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.  \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: 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.  \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: 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.  \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'
  /org/v2/organizations:
    x-lifecycle-stage: General Availability
    x-self-access: true
    get:
      x-lifecycle-stage: General Availability
      x-self-access: true
      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.  \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'
  /org/v2/organizations/{id}:
    x-lifecycle-stage: General Availability
    x-self-access: true
    get:
      x-lifecycle-stage: General Availability
      x-self-access: true
      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.  \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: 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.  \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'
  /iam/v2/users:
    x-lifecycle-stage: General Availability
    x-self-access: true
    get:
      x-lifecycle-stage: General Availability
      x-self-access: true
      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.  \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'
  /iam/v2/users/{id}:
    x-lifecycle-stage: General Availability
    x-self-access: true
    get:
      x-lifecycle-stage: General Availability
      x-self-access: true
      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.  \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: 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.User'
      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.  \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: 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.  \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'
  /iam/v2/users/{id}/auth:
    x-lifecycle-stage: General Availability
    x-self-access: true
    patch:
      summary: Update Auth Type of a User
      description: |-
        [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy)

        Update the auth type of a user
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/iam.v2.User.ConfigureUserAuthRequest'
      x-lifecycle-stage: General Availability
      x-self-access: true
      x-name: iam.v2.User
      operationId: update_auth_typeIamV2User
      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: 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'
  /iam/v2/service-accounts:
    x-lifecycle-stage: General Availability
    x-self-access: true
    get:
      x-lifecycle-stage: General Availability
      x-self-access: true
      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: display_name
          in: query
          required: false
          schema:
            $ref: '#/components/schemas/MultipleSearchFilter'
          example: [tf_runner_sa, mySA]
          description: Filter the results by exact match for display_name. 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:
        - 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.  \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: 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.
      parameters:
        - name: assigned_resource_owner
          in: query
          required: false
          schema:
            $ref: '#/components/schemas/SearchFilter'
          example: u-a83k9b
          description: The resource_id of the principal who will be assigned resource
            owner on the created service account. Principal can be group-mapping (group-xxx),
            user (u-xxx), service-account (sa-xxx) or identity-pool (pool-xxx).
      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.  \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/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'
  /iam/v2/service-accounts/{id}:
    x-lifecycle-stage: General Availability
    x-self-access: true
    get:
      x-lifecycle-stage: General Availability
      x-self-access: true
      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.  \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: 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.ServiceAccount'
      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.  \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: 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.  \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'
  /iam/v2/invitations:
    x-lifecycle-stage: General Availability
    x-self-access: true
    get:
      x-lifecycle-stage: General Availability
      x-self-access: true
      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.  \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: 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.  \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/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'
  /iam/v2/invitations/{id}:
    x-lifecycle-stage: General Availability
    x-self-access: true
    get:
      x-lifecycle-stage: General Availability
      x-self-access: true
      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.  \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'
    delete:
      x-lifecycle-stage: General Availability
      x-self-access: true
      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.  \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'
  /iam/v2/ip-groups:
    x-lifecycle-stage: General Availability
    x-self-access: false
    x-request-access-name: IP Groups API
    get:
      x-lifecycle-stage: General Availability
      x-self-access: false
      x-request-access-name: IP Groups API
      operationId: listIamV2IpGroups
      summary: List of IP Groups
      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 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.  \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'
      x-page-first-available: true
      x-page-last-available: true
      x-page-from-start: true
      x-page-from-end: true
    post:
      x-lifecycle-stage: General Availability
      x-self-access: false
      x-request-access-name: IP Groups API
      operationId: createIamV2IpGroup
      summary: Create an IP Group
      description: |-
        [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy)

        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.  \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/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'
        '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'
  /iam/v2/ip-groups/{id}:
    x-lifecycle-stage: General Availability
    x-self-access: false
    x-request-access-name: IP Groups API
    get:
      x-lifecycle-stage: General Availability
      x-self-access: false
      x-request-access-name: IP Groups API
      operationId: getIamV2IpGroup
      summary: Read an IP Group
      description: |-
        [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy)

        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.  \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: false
      x-request-access-name: IP Groups API
      operationId: updateIamV2IpGroup
      summary: Update an IP Group
      description: |+
        [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy)

        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.  \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'
        '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: false
      x-request-access-name: IP Groups API
      operationId: deleteIamV2IpGroup
      summary: Delete an IP Group
      description: |-
        [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy)

        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.  \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'
  /iam/v2/ip-filters:
    x-lifecycle-stage: General Availability
    x-self-access: false
    x-request-access-name: IP Filters API
    get:
      x-lifecycle-stage: General Availability
      x-self-access: false
      x-request-access-name: IP Filters API
      operationId: listIamV2IpFilters
      summary: List of IP Filters
      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 IP filters.
      parameters:
        - name: resource_scope
          in: query
          required: false
          schema:
            type: string
          description: Lists all filters belonging to the specified resource scope.
        - name: include_parent_scopes
          in: query
          required: false
          schema:
            type: string
          description: If set to true, this includes filters defined at the organization
            level. The resource scope must also be set to use this parameter.
        - 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.  \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'
      x-page-first-available: true
      x-page-last-available: true
      x-page-from-start: true
      x-page-from-end: true
    post:
      x-lifecycle-stage: General Availability
      x-self-access: false
      x-request-access-name: IP Filters API
      operationId: createIamV2IpFilter
      summary: Create an IP Filter
      description: |-
        [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy)

        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.  \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/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'
        '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'
  /iam/v2/ip-filters/{id}:
    x-lifecycle-stage: General Availability
    x-self-access: false
    x-request-access-name: IP Filters API
    get:
      x-lifecycle-stage: General Availability
      x-self-access: false
      x-request-access-name: IP Filters API
      operationId: getIamV2IpFilter
      summary: Read an IP Filter
      description: |-
        [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy)

        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.  \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: false
      x-request-access-name: IP Filters API
      operationId: updateIamV2IpFilter
      summary: Update an IP Filter
      description: |+
        [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy)

        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.  \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'
        '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: false
      x-request-access-name: IP Filters API
      operationId: deleteIamV2IpFilter
      summary: Delete an IP Filter
      description: |-
        [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy)

        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.  \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'
  /iam/v2/ip-filter-summary:
    x-lifecycle-stage: General Availability
    x-self-access: false
    x-request-access-name: IP Filter Summary API
    get:
      x-lifecycle-stage: General Availability
      x-self-access: false
      x-request-access-name: IP Filter Summary API
      operationId: getIamV2IpFilterSummary
      summary: Read an IP Filter Summary
      description: |-
        [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy)

        Make a request to read an IP filter summary.
      parameters:
        - name: scope
          in: query
          required: true
          schema:
            type: string
          example: crn://confluent.cloud/organization=org-123/environment=env-abc
          description: Scope the operation to the given scope.
      tags:
        - IP Filter Summaries (iam/v2)
      security:
        - cloud-api-key: []
        - confluent-sts-access-token: []
      responses:
        '200':
          description: IP Filter Summary.
          content:
            application/json:
              schema:
                allOf:
                  - $ref: '#/components/schemas/iam.v2.IpFilterSummary'
                  - type: object
                    required:
                      - api_version
                      - kind
                      - categories
                      - scope
          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'
  /iam/v2/role-bindings:
    x-lifecycle-stage: General Availability
    x-self-access: true
    get:
      x-lifecycle-stage: General Availability
      x-self-access: true
      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.  \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: 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.  \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/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'
  /iam/v2/role-bindings/{id}:
    x-lifecycle-stage: General Availability
    x-self-access: true
    get:
      x-lifecycle-stage: General Availability
      x-self-access: true
      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.  \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'
    delete:
      x-lifecycle-stage: General Availability
      x-self-access: true
      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.  \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'
  /notifications/v1/subscriptions:
    x-lifecycle-stage: General Availability
    x-self-access: true
    get:
      x-lifecycle-stage: General Availability
      x-self-access: true
      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.  \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: 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.  \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/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'
  /notifications/v1/subscriptions/{id}:
    x-lifecycle-stage: General Availability
    x-self-access: true
    get:
      x-lifecycle-stage: General Availability
      x-self-access: true
      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.  \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: 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.Subscription'
      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.  \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'
        '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: 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.  \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'
  /notifications/v1/integrations:
    x-lifecycle-stage: General Availability
    x-self-access: true
    get:
      x-lifecycle-stage: General Availability
      x-self-access: true
      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.  \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: 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.  \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/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'
  /notifications/v1/integrations/{id}:
    x-lifecycle-stage: General Availability
    x-self-access: true
    get:
      x-lifecycle-stage: General Availability
      x-self-access: true
      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.  \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: 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.  \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: 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.  \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'
  /notifications/v1/integrations:test:
    x-lifecycle-stage: General Availability
    x-self-access: true
    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
       # This requestBody is copy-paste from POST /integrations endpoint
      requestBody:
        content:
          application/json:
            schema:
              allOf:
                - $ref: '#/components/schemas/notifications.v1.Integration'
                - type: object
                  required:
                    - display_name
                    - target
      x-lifecycle-stage: General Availability
      x-self-access: true
      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'
  /notifications/v1/notification-types/{id}:
    x-lifecycle-stage: General Availability
    x-self-access: true
    get:
      x-lifecycle-stage: General Availability
      x-self-access: true
      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.  \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'
  /notifications/v1/notification-types:
    x-lifecycle-stage: General Availability
    x-self-access: true
    get:
      summary: Retrieve a list of all notification types for the resource type.
      parameters:
        - name: resource_type
          description: Confluent Cloud resource type
          in: query
          required: false
          schema:
            type: string
            x-extensible-enum: [ENVIRONMENT, CLUSTER, CONNECTOR, FLINK_COMPUTE_POOL,
              FLINK_STATEMENT]
        - 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.
      x-lifecycle-stage: General Availability
      x-self-access: true
      operationId: listNotificationsV1NotificationTypes
      description: |-
        [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy)

        Make a request to list_by_resource_type a notification type.
      tags:
        - Notification Types (notifications/v1)
      security:
        - cloud-api-key: []
        - confluent-sts-access-token: []
      responses:
        '200':
          description: List of Notification Type.
          content:
            application/json:
              schema:
                allOf:
                  - $ref: '#/components/schemas/notifications.v1.NotificationTypeList'
    # All attributes here are also a part of the Admin API. If you introduce a change to
    # any of the fields, make sure to change it in both the places (notifications/minispec.yaml and
    # notifications-admin/minispec.yaml).
        '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'
  /notifications/v1/resource-preferences:
    x-lifecycle-stage: General Availability
    x-self-access: true
    post:
      x-lifecycle-stage: General Availability
      x-self-access: true
      operationId: createNotificationsV1ResourcePreference
      summary: Create a Resource Preference
      description: |-
        [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy)

        Make a request to create a resource preference.
      tags:
        - Resource Preferences (notifications/v1)
      security:
        - cloud-api-key: []
        - confluent-sts-access-token: []
      requestBody:
        content:
          application/json:
            schema:
              allOf:
                - $ref: '#/components/schemas/notifications.v1.ResourcePreference'
                - type: object
                  required:
                    - resource
                    - resource_type
      responses:
        '201':
          description: A Resource Preference 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.  \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/notifications/v1/resource-preferences/{id}
              description: ResourcePreference resource uri
          content:
            application/json:
              schema:
                allOf:
                  - $ref: '#/components/schemas/notifications.v1.ResourcePreference'
                  - type: object
                    required:
                      - resource
                      - resource_type
        '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'
  /notifications/v1/resource-preferences/{id}:
    x-lifecycle-stage: General Availability
    x-self-access: true
    get:
      x-lifecycle-stage: General Availability
      x-self-access: true
      operationId: getNotificationsV1ResourcePreference
      summary: Read a Resource Preference
      description: |-
        [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy)

        Make a request to read a resource preference.
      parameters:
        - name: id
          in: path
          required: true
          schema:
            type: string
          description: The unique identifier for the resource preference.
      tags:
        - Resource Preferences (notifications/v1)
      security:
        - cloud-api-key: []
        - confluent-sts-access-token: []
      responses:
        '200':
          description: Resource Preference.
          content:
            application/json:
              schema:
                allOf:
                  - $ref: '#/components/schemas/notifications.v1.ResourcePreference'
                  - type: object
                    required:
                      - api_version
                      - kind
                      - id
                      - resource
                      - resource_type
          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: updateNotificationsV1ResourcePreference
      summary: Update a Resource Preference
      description: |+
        [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy)

        Make a request to update a resource preference.

      parameters:
        - name: id
          in: path
          required: true
          schema:
            type: string
          description: The unique identifier for the resource preference.
      tags:
        - Resource Preferences (notifications/v1)
      security:
        - cloud-api-key: []
        - confluent-sts-access-token: []
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/notifications.v1.ResourcePreference'
      responses:
        '200':
          description: Resource Preference.
          content:
            application/json:
              schema:
                allOf:
                  - $ref: '#/components/schemas/notifications.v1.ResourcePreference'
                  - type: object
                    required:
                      - api_version
                      - kind
                      - id
                      - resource
                      - resource_type
          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'
        '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: deleteNotificationsV1ResourcePreference
      summary: Delete a Resource Preference
      description: |-
        [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy)

        Make a request to delete a resource preference.
      parameters:
        - name: id
          in: path
          required: true
          schema:
            type: string
          description: The unique identifier for the resource preference.
      tags:
        - Resource Preferences (notifications/v1)
      security:
        - cloud-api-key: []
        - confluent-sts-access-token: []
      responses:
        '204':
          description: A Resource Preference 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'
  /notifications/v1/resource-preferences:lookup:
    x-lifecycle-stage: General Availability
    x-self-access: true
    get:
      summary: Lookup a resource preference by filter (returns one)
      parameters:
        - name: resource
          description: Confluent Cloud resource definition
          in: query
          required: true
          schema:
            type: string
        - name: resource_type
          description: Confluent Cloud resource type
          in: query
          required: true
          schema:
            type: string
            x-extensible-enum: [ORGANIZATION, ENVIRONMENT, CLUSTER, CONNECTOR, FLINK_COMPUTE_POOL,
              FLINK_STATEMENT]
        - 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.
      x-lifecycle-stage: General Availability
      x-self-access: true
      x-name: notifications.v1.ResourcePreference
      operationId: getNotificationsV1ResourcePreferenceByFilter
      description: |-
        [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy)

        Make a request to read_by_filter a resource preference.
      tags:
        - Resource Preferences (notifications/v1)
      security:
        - cloud-api-key: []
        - confluent-sts-access-token: []
      responses:
        '200':
          description: Resource Preference.
          content:
            application/json:
              schema:
                allOf:
                  - $ref: '#/components/schemas/notifications.v1.ResourcePreference'
                  - type: object
                    required:
                      - api_version
                      - kind
                      - id
                      - resource
                      - resource_type
          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'
  /notifications/v1/resource-subscriptions:
    x-lifecycle-stage: General Availability
    x-self-access: true
    post:
      x-lifecycle-stage: General Availability
      x-self-access: true
      operationId: createNotificationsV1ResourceSubscription
      summary: Create a Resource 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 resource subscription.
      tags:
        - Resource Subscriptions (notifications/v1)
      security:
        - cloud-api-key: []
        - confluent-sts-access-token: []
      requestBody:
        content:
          application/json:
            schema:
              allOf:
                - $ref: '#/components/schemas/notifications.v1.ResourceSubscription'
                - type: object
                  required:
                    - resource
                    - resource_type
                    - notification_type
                    - integrations
      responses:
        '201':
          description: A Resource 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.  \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/notifications/v1/resource-subscriptions/{id}
              description: ResourceSubscription resource uri
          content:
            application/json:
              schema:
                allOf:
                  - $ref: '#/components/schemas/notifications.v1.ResourceSubscription'
                  - type: object
                    required:
                      - resource
                      - resource_type
                      - 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'
  /notifications/v1/resource-subscriptions/{id}:
    x-lifecycle-stage: General Availability
    x-self-access: true
    get:
      x-lifecycle-stage: General Availability
      x-self-access: true
      operationId: getNotificationsV1ResourceSubscription
      summary: Read a Resource 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 resource subscription.
      parameters:
        - name: id
          in: path
          required: true
          schema:
            type: string
          description: The unique identifier for the resource subscription.
      tags:
        - Resource Subscriptions (notifications/v1)
      security:
        - cloud-api-key: []
        - confluent-sts-access-token: []
      responses:
        '200':
          description: Resource Subscription.
          content:
            application/json:
              schema:
                allOf:
                  - $ref: '#/components/schemas/notifications.v1.ResourceSubscription'
                  - type: object
                    required:
                      - api_version
                      - kind
                      - id
                      - resource
                      - resource_type
                      - 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.  \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: updateNotificationsV1ResourceSubscription
      summary: Update a Resource 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 resource subscription.

      parameters:
        - name: id
          in: path
          required: true
          schema:
            type: string
          description: The unique identifier for the resource subscription.
      tags:
        - Resource Subscriptions (notifications/v1)
      security:
        - cloud-api-key: []
        - confluent-sts-access-token: []
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/notifications.v1.ResourceSubscription'
      responses:
        '200':
          description: Resource Subscription.
          content:
            application/json:
              schema:
                allOf:
                  - $ref: '#/components/schemas/notifications.v1.ResourceSubscription'
                  - type: object
                    required:
                      - api_version
                      - kind
                      - id
                      - resource
                      - resource_type
                      - 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.  \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'
        '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: deleteNotificationsV1ResourceSubscription
      summary: Delete a Resource 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 resource subscription.
      parameters:
        - name: id
          in: path
          required: true
          schema:
            type: string
          description: The unique identifier for the resource subscription.
      tags:
        - Resource Subscriptions (notifications/v1)
      security:
        - cloud-api-key: []
        - confluent-sts-access-token: []
      responses:
        '204':
          description: A Resource 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.  \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'
  /notifications/v1/resource-subscriptions:lookup:
    x-lifecycle-stage: General Availability
    x-self-access: true
    get:
      summary: Lookup a list of resource subscription by filter
      parameters:
        - name: resource
          description: Confluent Cloud resource definition
          in: query
          required: true
          schema:
            type: string
        - name: resource_type
          description: Confluent Cloud resource type
          in: query
          required: true
          schema:
            type: string
            x-extensible-enum: [ENVIRONMENT, CLUSTER, CONNECTOR, FLINK_COMPUTE_POOL,
              FLINK_STATEMENT]
        - 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.
      x-lifecycle-stage: General Availability
      x-self-access: true
      operationId: listNotificationsV1ResourceSubscriptionsByFilter
      description: |-
        [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy)

        Make a request to list_by_filter a resource subscription.
      tags:
        - Resource Subscriptions (notifications/v1)
      security:
        - cloud-api-key: []
        - confluent-sts-access-token: []
      responses:
        '200':
          description: List of ResourceSubscriptions
          content:
            application/json:
              schema:
                allOf:
                  - $ref: '#/components/schemas/notifications.v1.ResourceSubscriptionList'
        '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'
  /cmk/v2/clusters:
    x-lifecycle-stage: General Availability
    x-self-access: true
    get:
      x-lifecycle-stage: General Availability
      x-self-access: true
      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.  \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: 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.  \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/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'
  /cmk/v2/clusters/{id}:
    x-lifecycle-stage: General Availability
    x-self-access: true
    get:
      x-lifecycle-stage: General Availability
      x-self-access: true
      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.  \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: 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.Cluster'
                - 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.  \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: 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.  \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'
  /ksqldbcm/v2/clusters:
    x-lifecycle-stage: General Availability
    x-self-access: true
    get:
      x-lifecycle-stage: General Availability
      x-self-access: true
      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:
        - cloud-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.  \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: 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:
        - cloud-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.  \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/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'
  /ksqldbcm/v2/clusters/{id}:
    x-lifecycle-stage: General Availability
    x-self-access: true
    get:
      x-lifecycle-stage: General Availability
      x-self-access: true
      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:
        - cloud-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.  \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'
    delete:
      x-lifecycle-stage: General Availability
      x-self-access: true
      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:
        - 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.  \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'
  /connect/v1/environments/{environment_id}/clusters/{kafka_cluster_id}/connectors:
    x-lifecycle-stage: General Availability
    get:
      x-lifecycle-stage: General Availability
      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: []
      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'
    post:
      x-lifecycle-stage: General Availability
      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.<connector-class>...
      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.
                  # Connectors support additionalProperties which may be secrets, so we should just redact it all.
                  # TODO: openapi-generator doesn't support generating Redact() for fields with additionalProperties
                  # (x-redact on the top-level 'config' or on a specific field within 'config', e.g., kafka.api.secret)
                  # However, Connect doesn't actually use any generated SDKs from this openapi... so not a big deal for now
                  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'
                    confluent.custom.connect.plugin.runtime:
                      type: string
                      description: |
                        \[Optional for Custom Connector\] The runtime of the custom connector plugin.
                      example: 3.9.0
                    confluent.custom.connect.java.version:
                      type: string
                      description: |
                        \[Optional for Custom Connector\] The Java version of the custom connector plugin.
                      example: '17'
                  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: ''
    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:
    x-lifecycle-stage: General Availability
    get:
      x-lifecycle-stage: General Availability
      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:\ntopics:\
                        \ Provided Kafka ApiKey is invalid\nkafka.api.secret: Provided\
                        \ Kafka ApiKey is invalid\n"
                    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
  /connect/v1/environments/{environment_id}/clusters/{kafka_cluster_id}/connectors/{connector_name}/config:
    x-lifecycle-stage: General Availability
    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.
    get:
      x-lifecycle-stage: General Availability
      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'
    put:
      x-lifecycle-stage: General Availability
      operationId: createOrUpdateConnectv1ConnectorConfig
      description: Create a new connector using the given configuration, or update
        the configuration for an existing connector. Returns information about the
        connector after the change has been made.
      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'
                confluent.custom.connect.plugin.runtime:
                  type: string
                  description: |
                    \[Optional for Custom Connector\] The runtime of the custom connector plugin. By default this is the latest version available. If not provided this config is updated internally to reflect the version used.
                  example: 3.9.0
                confluent.custom.connect.java.version:
                  type: string
                  description: |
                    \[Optional for Custom Connector\] The Java version of the custom connector plugin. By default this is the latest version supported by the latest runtime. If not provided this config is updated internally to reflect the version used.
                  example: '17'
              additionalProperties:
                type: string
                description: Other configuration parameters for the connector. All
                  values should be strings. See the connector's docs for details.
            example:
              connector.class: GcsSink
              data.format: BYTES
              flush.size: '1000'
              gcs.bucket.name: APILogsBucket
              gcs.credentials.config: '****************'
              kafka.api.key: '****************'
              kafka.api.secret: '****************'
              name: MyGcsLogsBucketConnector
              tasks.max: '2'
              time.interval: DAILY
              topics: APILogsTopic
        description: Configuration parameters for the connector. All values should
          be strings.
      responses:
        '200':
          description: Created
          content:
            application/json:
              schema:
                $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.<connector-class>...
  /connect/v1/environments/{environment_id}/clusters/{kafka_cluster_id}/connectors/{connector_name}:
    x-lifecycle-stage: General Availability
    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.
    get:
      x-lifecycle-stage: General Availability
      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'
    delete:
      x-lifecycle-stage: General Availability
      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'
  /connect/v1/environments/{environment_id}/clusters/{kafka_cluster_id}/connectors/{connector_name}/pause:
    x-lifecycle-stage: General Availability
    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:
      x-lifecycle-stage: General Availability
      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'
  /connect/v1/environments/{environment_id}/clusters/{kafka_cluster_id}/connectors/{connector_name}/resume:
    x-lifecycle-stage: General Availability
    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:
      x-lifecycle-stage: General Availability
      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'
  /connect/v1/environments/{environment_id}/clusters/{kafka_cluster_id}/connectors/{connector_name}/restart:
    x-lifecycle-stage: Preview
    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.
    post:
      x-lifecycle-stage: Preview
      operationId: restartConnectv1Connector
      description: |-
        [![Preview](https://img.shields.io/badge/Lifecycle%20Stage-Preview-%2300afba)](#section/Versioning/API-Lifecycle-Policy)
        Restart the connector and its tasks. Stops message processing until the connector and tasks are restart. This call is asynchronous and the connector will not transition to another state at the same time.
      summary: Restart 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'
        '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'
  /connect/v1/environments/{environment_id}/clusters/{kafka_cluster_id}/connectors/{connector_name}/status:
    x-lifecycle-stage: General Availability
    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.
    get:
      x-lifecycle-stage: General Availability
      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'
  /connect/v1/environments/{environment_id}/clusters/{kafka_cluster_id}/connectors/{connector_name}/tasks:
    x-lifecycle-stage: General Availability
    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.
    get:
      x-lifecycle-stage: General Availability
      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'
  /connect/v1/environments/{environment_id}/clusters/{kafka_cluster_id}/connector-plugins:
    x-lifecycle-stage: General Availability
    get:
      x-lifecycle-stage: General Availability
      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: []
    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}/connector-plugins/{plugin_name}/config/validate:
    x-lifecycle-stage: General Availability
    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.
    put:
      x-lifecycle-stage: General Availability
      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.
  /connect/v1/environments/{environment_id}/clusters/{kafka_cluster_id}/connector-plugins/{plugin_name}/config/translate?mask_sensitive=true:
    x-lifecycle-stage: General Availability
    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.
      - name: mask_sensitive
        in: query
        required: false
        schema:
          type: string
          maxLength: 255
        description: Indicates whether to redact sensitive config values in response.
    put:
      x-lifecycle-stage: General Availability
      operationId: translateConnectv1ConnectorPlugin
      description: |-
        [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy)

        Translate the provided Self Managed configuration values. This API performs configuration translation
        and returns the translated fully managed configuration along with any errors or warnings. 
        Query Parameter `mask_sensitive=true` redacts sensitive config values in response.
      summary: Translate Self Managed Connector Plugin Configurations to Fully Managed
        Connector Plugin Configurations
      tags:
        - Managed Connector Plugins (connect/v1)
      security:
        - cloud-api-key: []
        - confluent-sts-access-token: []
      requestBody:
        content:
          application/json:
            schema:
              type: object
              description: Configuration parameters for the self managed connector.
                All values should be strings.
              additionalProperties:
                type: string
                description: Configuration parameters for the self managed connector.
                  All values should be strings. See the self managed connector's docs
                  for the list of options.
            example:
              topics: nidhi_topic
              input.data.format: JSON
              connector.class: io.confluent.connect.datadog.metrics.DatadogMetricsSinkConnector
              name: DatadogMetricsSinkConnector_87
              datadog.api.key: 535069c094cdfd1a55fb3e80eba09241
              datadog.domain: COM
              max.retry.time.ms: '5000'
              behavior.on.error: log
              tasks.max: '1'
              errors.tolerance: all
              errors.deadletterqueue.context.headers.enable: 'true'
              errors.log.include.messages: 'true'
              errors.log.enable: 'true'
              reporter.bootstrap.servers: localhost:9092
              reporter.error.topic.replication.factor: '1'
              confluent.topic.bootstrap.servers: localhost:9092
              confluent.topic.replication.factor: '1'
        description: Configuration parameters for the connector. All values should
          be strings.
      responses:
        '200':
          description: Connector Plugin translation result.
          content:
            application/json:
              schema:
                type: object
                properties:
                  config:
                    type: object
                    description: The translated configuration
                    additionalProperties:
                      type: string
                  errors:
                    type: array
                    description: List of configuration errors
                    items:
                      type: object
                      properties:
                        field:
                          type: string
                          description: The field name that has an error
                        message:
                          type: string
                          description: The error message
                      required:
                        - field
                        - message
                  warnings:
                    type: array
                    description: List of configuration warnings
                    items:
                      type: object
                      properties:
                        field:
                          type: string
                          description: The field name that has a warning
                        message:
                          type: string
                          description: The warning message
                      required:
                        - field
                        - message
              example:
                config:
                  connector.class: DatadogMetricsSink
                  name: DatadogMetricsSinkConnector_87
                  topics: nidhi_topic
                  datadog.api.key: '****************'
                  datadog.domain: COM
                  max.retry.time.ms: '5000'
                  behavior.on.error: log
                  tasks.max: '1'
                  errors.tolerance: all
                  errors.deadletterqueue.context.headers.enable: 'true'
                  errors.log.include.messages: 'true'
                  errors.log.enable: 'true'
                  confluent.topic.bootstrap.servers: localhost:9092
                  input.data.format: JSON
                  max.poll.interval.ms: '300000'
                  max.poll.records: '500'
                errors:
                  - field: datadog.site
                    message: Required config is missing.
                warnings:
                  - field: confluent.topic.bootstrap.servers
                    message: Customer given value is ignored. Default value is used.
                  - field: reporter.error.topic.replication.factor
                    message: Customer given value is ignored. Default value is used.
                  - field: confluent.topic.replication.factor
                    message: Customer given value is ignored. Default value is used.
        '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'
  /connect/v1/environments/{environment_id}/clusters/{kafka_cluster_id}/connectors/{connector_name}/offsets:
    x-lifecycle-stage: General Availability
    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.
    get:
      x-lifecycle-stage: General Availability
      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'
  /connect/v1/environments/{environment_id}/clusters/{kafka_cluster_id}/connectors/{connector_name}/offsets/request:
    x-lifecycle-stage: General Availability
    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.
    post:
      x-lifecycle-stage: General Availability
      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
  /connect/v1/environments/{environment_id}/clusters/{kafka_cluster_id}/connectors/{connector_name}/offsets/request/status:
    x-lifecycle-stage: General Availability
    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.
    get:
      x-lifecycle-stage: General Availability
      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:
                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'
  /connect/v1/custom-connector-plugins:
    x-lifecycle-stage: General Availability
    x-self-access: true
    get:
      x-lifecycle-stage: General Availability
      x-self-access: true
      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.  \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: 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.  \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/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'
  /connect/v1/custom-connector-plugins/{id}:
    x-lifecycle-stage: General Availability
    x-self-access: true
    get:
      x-lifecycle-stage: General Availability
      x-self-access: true
      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.  \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: 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.CustomConnectorPlugin'
      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.  \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'
        '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: 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.  \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'
  /connect/v1/presigned-upload-url:
    x-lifecycle-stage: General Availability
    x-self-access: true
    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-lifecycle-stage: General Availability
      x-self-access: true
      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.  \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'
  /connect/v1/custom-connector-runtimes:
    x-lifecycle-stage: General Availability
    x-self-access: true
    get:
      x-lifecycle-stage: General Availability
      x-self-access: true
      operationId: listConnectV1CustomConnectorRuntimes
      summary: List of Custom Connector Runtimes
      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 runtimes.
      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:
        - Custom Connector Runtimes (connect/v1)
      security:
        - cloud-api-key: []
        - confluent-sts-access-token: []
      responses:
        '200':
          description: Custom Connector Runtime.
          content:
            application/json:
              schema:
                allOf:
                  - $ref: '#/components/schemas/connect.v1.CustomConnectorRuntimeList'
          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'
  /kafka/v3/clusters/{cluster_id}:
    servers:
      - url: https://pkc-00000.region.provider.confluent.cloud
        x-audience: business-unit-internal
        description: Confluent Cloud REST Endpoint. For example https://pkc-00000.region.provider.confluent.cloud

    parameters:
      - $ref: '#/components/parameters/ClusterId'

    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'

  /kafka/v3/clusters/{cluster_id}/acls:batch:
    servers:
      - url: https://pkc-00000.region.provider.confluent.cloud
        x-audience: business-unit-internal
        description: Confluent Cloud REST Endpoint. For example https://pkc-00000.region.provider.confluent.cloud

    parameters:
      - $ref: '#/components/parameters/ClusterId'

    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'

  /kafka/v3/clusters/{cluster_id}/acls:
    servers:
      - url: https://pkc-00000.region.provider.confluent.cloud
        x-audience: business-unit-internal
        description: Confluent Cloud REST Endpoint. For example https://pkc-00000.region.provider.confluent.cloud

    parameters:
      - $ref: '#/components/parameters/ClusterId'

    get:
      summary: List ACLs
      operationId: getKafkaAcls
      description: |-
        [![Generally Available](https://img.shields.io/badge/Lifecycle%20Stage-Generally%20Available-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy)
        - When calling `/acls` without the `principal` parameter, service
          accounts are returned in numeric ID format (e.g., `User:12345`).
        - To retrieve service accounts in the `sa-xxx` format, use
          `/acls?principal=UserV2:*`.
        - The `principal` parameter supports both legacy `User:` format and
          new `UserV2:` format for service accounts.
        Return a list of ACLs that match the search criteria.
      tags:
        - ACL (v3)
      security:
        - resource-api-key: []
        - external-access-token: []
      parameters:
        - $ref: '#/components/parameters/AclResourceType'
        - $ref: '#/components/parameters/AclResourceName'
        - $ref: '#/components/parameters/AclPatternType'
        - $ref: '#/components/parameters/AclPrincipal'
        - $ref: '#/components/parameters/AclHost'
        - $ref: '#/components/parameters/AclOperation'
        - $ref: '#/components/parameters/AclPermission'
      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'

    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'

    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/AclResourceTypeRequired'
        - $ref: '#/components/parameters/AclResourceName'
        - $ref: '#/components/parameters/AclPatternTypeRequired'
        - $ref: '#/components/parameters/AclPrincipal'
        - $ref: '#/components/parameters/AclHost'
        - $ref: '#/components/parameters/AclOperationRequired'
        - $ref: '#/components/parameters/AclPermissionRequired'
      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'

  /kafka/v3/clusters/{cluster_id}/broker-configs:
    servers:
      - url: https://pkc-00000.region.provider.confluent.cloud
        x-audience: business-unit-internal
        description: Confluent Cloud REST Endpoint. For example https://pkc-00000.region.provider.confluent.cloud

    parameters:
      - $ref: '#/components/parameters/ClusterId'

    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'

  /kafka/v3/clusters/{cluster_id}/broker-configs:alter:
    servers:
      - url: https://pkc-00000.region.provider.confluent.cloud
        x-audience: business-unit-internal
        description: Confluent Cloud REST Endpoint. For example https://pkc-00000.region.provider.confluent.cloud

    parameters:
      - $ref: '#/components/parameters/ClusterId'

    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'

  /kafka/v3/clusters/{cluster_id}/broker-configs/{name}:
    servers:
      - url: https://pkc-00000.region.provider.confluent.cloud
        x-audience: business-unit-internal
        description: Confluent Cloud REST Endpoint. For example https://pkc-00000.region.provider.confluent.cloud

    parameters:
      - $ref: '#/components/parameters/ClusterId'
      - $ref: '#/components/parameters/ConfigName'

    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'

    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'

    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'

  /kafka/v3/clusters/{cluster_id}/consumer-groups:
    servers:
      - url: https://pkc-00000.region.provider.confluent.cloud
        x-audience: business-unit-internal
        description: Confluent Cloud REST Endpoint. For example https://pkc-00000.region.provider.confluent.cloud

    parameters:
      - $ref: '#/components/parameters/ClusterId'

    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'

  /kafka/v3/clusters/{cluster_id}/consumer-groups/{consumer_group_id}:
    servers:
      - url: https://pkc-00000.region.provider.confluent.cloud
        x-audience: business-unit-internal
        description: Confluent Cloud REST Endpoint. For example https://pkc-00000.region.provider.confluent.cloud

    parameters:
      - $ref: '#/components/parameters/ClusterId'
      - $ref: '#/components/parameters/ConsumerGroupId'

    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'

  /kafka/v3/clusters/{cluster_id}/consumer-groups/{consumer_group_id}/consumers:
    servers:
      - url: https://pkc-00000.region.provider.confluent.cloud
        x-audience: business-unit-internal
        description: Confluent Cloud REST Endpoint. For example https://pkc-00000.region.provider.confluent.cloud

    parameters:
      - $ref: '#/components/parameters/ClusterId'
      - $ref: '#/components/parameters/ConsumerGroupId'

    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'

  /kafka/v3/clusters/{cluster_id}/consumer-groups/{consumer_group_id}/lag-summary:
    servers:
      - url: https://pkc-00000.region.provider.confluent.cloud
        x-audience: business-unit-internal
        description: Confluent Cloud REST Endpoint. For example https://pkc-00000.region.provider.confluent.cloud

    parameters:
      - $ref: '#/components/parameters/ClusterId'
      - $ref: '#/components/parameters/ConsumerGroupId'

    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'

  /kafka/v3/clusters/{cluster_id}/consumer-groups/{consumer_group_id}/lags:
    servers:
      - url: https://pkc-00000.region.provider.confluent.cloud
        x-audience: business-unit-internal
        description: Confluent Cloud REST Endpoint. For example https://pkc-00000.region.provider.confluent.cloud

    parameters:
      - $ref: '#/components/parameters/ClusterId'
      - $ref: '#/components/parameters/ConsumerGroupId'

    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'

  /kafka/v3/clusters/{cluster_id}/consumer-groups/{consumer_group_id}/lags/{topic_name}/partitions/{partition_id}:
    servers:
      - url: https://pkc-00000.region.provider.confluent.cloud
        x-audience: business-unit-internal
        description: Confluent Cloud REST Endpoint. For example https://pkc-00000.region.provider.confluent.cloud

    parameters:
      - $ref: '#/components/parameters/ClusterId'
      - $ref: '#/components/parameters/ConsumerGroupId'
      - $ref: '#/components/parameters/TopicName'
      - $ref: '#/components/parameters/PartitionId'

    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'

  /kafka/v3/clusters/{cluster_id}/consumer-groups/{consumer_group_id}/consumers/{consumer_id}:
    servers:
      - url: https://pkc-00000.region.provider.confluent.cloud
        x-audience: business-unit-internal
        description: Confluent Cloud REST Endpoint. For example https://pkc-00000.region.provider.confluent.cloud

    parameters:
      - $ref: '#/components/parameters/ClusterId'
      - $ref: '#/components/parameters/ConsumerGroupId'
      - $ref: '#/components/parameters/ConsumerId'

    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'

  /kafka/v3/clusters/{cluster_id}/topics:
    servers:
      - url: https://pkc-00000.region.provider.confluent.cloud
        x-audience: business-unit-internal
        description: Confluent Cloud REST Endpoint. For example https://pkc-00000.region.provider.confluent.cloud

    parameters:
      - $ref: '#/components/parameters/ClusterId'

    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'

    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:
        # returned when dry-run mode is being used and a topic has not been created
        '200':
          $ref: '#/components/responses/CreateTopicResponse'
        # returned in regular mode when a topic has been created
        '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'

  /kafka/v3/clusters/{cluster_id}/topics/{topic_name}:
    servers:
      - url: https://pkc-00000.region.provider.confluent.cloud
        x-audience: business-unit-internal
        description: Confluent Cloud REST Endpoint. For example https://pkc-00000.region.provider.confluent.cloud

    parameters:
      - $ref: '#/components/parameters/ClusterId'
      - $ref: '#/components/parameters/TopicName'

    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/IncludeAuthorizedOperations'
      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'

    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. To update other topic
        configurations, see https://docs.confluent.io/cloud/current/api.html#tag/Configs-(v3)/operation/updateKafkaTopicConfig.
      tags:
        - Topic (v3)
      security:
        - resource-api-key: []
        - external-access-token: []
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/UpdatePartitionCountRequestData'
        # $ref: '#/components/requestBodies/UpdatePartitionCountRequest'
      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'

    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'

  /kafka/v3/clusters/{cluster_id}/topics/{topic_name}/configs:
    servers:
      - url: https://pkc-00000.region.provider.confluent.cloud
        x-audience: business-unit-internal
        description: Confluent Cloud REST Endpoint. For example https://pkc-00000.region.provider.confluent.cloud

    parameters:
      - $ref: '#/components/parameters/ClusterId'
      - $ref: '#/components/parameters/TopicName'

    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'

  /kafka/v3/clusters/{cluster_id}/topics/{topic_name}/configs:alter:
    servers:
      - url: https://pkc-00000.region.provider.confluent.cloud
        x-audience: business-unit-internal
        description: Confluent Cloud REST Endpoint. For example https://pkc-00000.region.provider.confluent.cloud

    parameters:
      - $ref: '#/components/parameters/ClusterId'
      - $ref: '#/components/parameters/TopicName'

    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:
        # returned in both regular and dry-run modes
        '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'

  /kafka/v3/clusters/{cluster_id}/topics/{topic_name}/configs/{name}:
    servers:
      - url: https://pkc-00000.region.provider.confluent.cloud
        x-audience: business-unit-internal
        description: Confluent Cloud REST Endpoint. For example https://pkc-00000.region.provider.confluent.cloud

    parameters:
      - $ref: '#/components/parameters/ClusterId'
      - $ref: '#/components/parameters/TopicName'
      - $ref: '#/components/parameters/ConfigName'

    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'

    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`. To update the
        number of partitions, see
        https://docs.confluent.io/cloud/current/api.html#tag/Topic-(v3)/operation/updatePartitionCountKafkaTopic.
      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'

    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'

  /kafka/v3/clusters/{cluster_id}/topics/{topic_name}/partitions:
    servers:
      - url: https://pkc-00000.region.provider.confluent.cloud
        x-audience: business-unit-internal
        description: Confluent Cloud REST Endpoint. For example https://pkc-00000.region.provider.confluent.cloud

    parameters:
      - $ref: '#/components/parameters/ClusterId'
      - $ref: '#/components/parameters/TopicName'

    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'

  /kafka/v3/clusters/{cluster_id}/topics/{topic_name}/partitions/{partition_id}:
    servers:
      - url: https://pkc-00000.region.provider.confluent.cloud
        x-audience: business-unit-internal
        description: Confluent Cloud REST Endpoint. For example https://pkc-00000.region.provider.confluent.cloud

    parameters:
      - $ref: '#/components/parameters/ClusterId'
      - $ref: '#/components/parameters/TopicName'
      - $ref: '#/components/parameters/PartitionId'

    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'

  /kafka/v3/clusters/{cluster_id}/topics/-/configs:
    servers:
      - url: https://pkc-00000.region.provider.confluent.cloud
        x-audience: business-unit-internal
        description: Confluent Cloud REST Endpoint. For example https://pkc-00000.region.provider.confluent.cloud

    parameters:
      - $ref: '#/components/parameters/ClusterId'

    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'

  /kafka/v3/clusters/{cluster_id}/topics/{topic_name}/records:
    servers:
      - url: https://pkc-00000.region.provider.confluent.cloud
        x-audience: business-unit-internal
        description: Confluent Cloud REST Endpoint. For example https://pkc-00000.region.provider.confluent.cloud

    parameters:
      - $ref: '#/components/parameters/ClusterId'
      - $ref: '#/components/parameters/TopicName'

    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'

  /kafka/v3/clusters/{cluster_id}/links:
    servers:
      - url: https://pkc-00000.region.provider.confluent.cloud
        x-audience: business-unit-internal
        description: Confluent Cloud REST Endpoint. For example https://pkc-00000.region.provider.confluent.cloud

    parameters:
      - $ref: '#/components/parameters/ClusterId'

    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'

    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/QueryParamLinkName'
        - $ref: '#/components/parameters/ValidateOnly'
        - $ref: '#/components/parameters/ValidateLink'
      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'

  /kafka/v3/clusters/{cluster_id}/links/{link_name}:
    servers:
      - url: https://pkc-00000.region.provider.confluent.cloud
        x-audience: business-unit-internal
        description: Confluent Cloud REST Endpoint. For example https://pkc-00000.region.provider.confluent.cloud

    parameters:
      - $ref: '#/components/parameters/ClusterId'
      - $ref: '#/components/parameters/LinkName'

    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/IncludeTasks'
      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'

    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/Force'
        - $ref: '#/components/parameters/ValidateOnly'
      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'

  /kafka/v3/clusters/{cluster_id}/topics/{topic_name}/default-configs:
    servers:
      - url: https://pkc-00000.region.provider.confluent.cloud
        x-audience: business-unit-internal
        description: Confluent Cloud REST Endpoint. For example https://pkc-00000.region.provider.confluent.cloud

    parameters:
      - $ref: '#/components/parameters/ClusterId'
      - $ref: '#/components/parameters/TopicName'

    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'

  /kafka/v3/clusters/{cluster_id}/links/{link_name}/configs:
    servers:
      - url: https://pkc-00000.region.provider.confluent.cloud
        x-audience: business-unit-internal
        description: Confluent Cloud REST Endpoint. For example https://pkc-00000.region.provider.confluent.cloud

    parameters:
      - $ref: '#/components/parameters/ClusterId'
      - $ref: '#/components/parameters/LinkName'

    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'

  /kafka/v3/clusters/{cluster_id}/links/{link_name}/configs/{config_name}:
    servers:
      - url: https://pkc-00000.region.provider.confluent.cloud
        x-audience: business-unit-internal
        description: Confluent Cloud REST Endpoint. For example https://pkc-00000.region.provider.confluent.cloud

    parameters:
      - $ref: '#/components/parameters/ClusterId'
      - $ref: '#/components/parameters/LinkName'
      - $ref: '#/components/parameters/LinkConfigName'

    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'

    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'

    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'

  /kafka/v3/clusters/{cluster_id}/links/{link_name}/configs:alter:
    servers:
      - url: https://pkc-00000.region.provider.confluent.cloud
        x-audience: business-unit-internal
        description: Confluent Cloud REST Endpoint. For example https://pkc-00000.region.provider.confluent.cloud

    parameters:
      - $ref: '#/components/parameters/ClusterId'
      - $ref: '#/components/parameters/LinkName'

    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/ValidateOnly'
      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

  /kafka/v3/clusters/{cluster_id}/links/{link_name}/mirrors:
    servers:
      - url: https://pkc-00000.region.provider.confluent.cloud
        x-audience: business-unit-internal
        description: Confluent Cloud REST Endpoint. For example https://pkc-00000.region.provider.confluent.cloud

    parameters:
      - $ref: '#/components/parameters/ClusterId'
      - $ref: '#/components/parameters/LinkName'

    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'

    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/MirrorTopicStatus'
      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'

  /kafka/v3/clusters/{cluster_id}/links/-/mirrors:
    servers:
      - url: https://pkc-00000.region.provider.confluent.cloud
        x-audience: business-unit-internal
        description: Confluent Cloud REST Endpoint. For example https://pkc-00000.region.provider.confluent.cloud

    parameters:
      - $ref: '#/components/parameters/ClusterId'

    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/MirrorTopicStatus'
      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'

  /kafka/v3/clusters/{cluster_id}/links/{link_name}/mirrors/{mirror_topic_name}:
    servers:
      - url: https://pkc-00000.region.provider.confluent.cloud
        x-audience: business-unit-internal
        description: Confluent Cloud REST Endpoint. For example https://pkc-00000.region.provider.confluent.cloud

    parameters:
      - $ref: '#/components/parameters/ClusterId'
      - $ref: '#/components/parameters/LinkName'
      - $ref: '#/components/parameters/MirrorTopicName'

    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/IncludeStateTransitionErrors'
      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'

  /kafka/v3/clusters/{cluster_id}/links/{link_name}/mirrors:promote:
    servers:
      - url: https://pkc-00000.region.provider.confluent.cloud
        x-audience: business-unit-internal
        description: Confluent Cloud REST Endpoint. For example https://pkc-00000.region.provider.confluent.cloud

    parameters:
      - $ref: '#/components/parameters/ClusterId'
      - $ref: '#/components/parameters/LinkName'
      - $ref: '#/components/parameters/ValidateOnly'

    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'

  /kafka/v3/clusters/{cluster_id}/links/{link_name}/mirrors:failover:
    servers:
      - url: https://pkc-00000.region.provider.confluent.cloud
        x-audience: business-unit-internal
        description: Confluent Cloud REST Endpoint. For example https://pkc-00000.region.provider.confluent.cloud

    parameters:
      - $ref: '#/components/parameters/ClusterId'
      - $ref: '#/components/parameters/LinkName'
      - $ref: '#/components/parameters/ValidateOnly'

    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'

  /kafka/v3/clusters/{cluster_id}/links/{link_name}/mirrors:pause:
    servers:
      - url: https://pkc-00000.region.provider.confluent.cloud
        x-audience: business-unit-internal
        description: Confluent Cloud REST Endpoint. For example https://pkc-00000.region.provider.confluent.cloud

    parameters:
      - $ref: '#/components/parameters/ClusterId'
      - $ref: '#/components/parameters/LinkName'
      - $ref: '#/components/parameters/ValidateOnly'

    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'

  /kafka/v3/clusters/{cluster_id}/links/{link_name}/mirrors:resume:
    servers:
      - url: https://pkc-00000.region.provider.confluent.cloud
        x-audience: business-unit-internal
        description: Confluent Cloud REST Endpoint. For example https://pkc-00000.region.provider.confluent.cloud

    parameters:
      - $ref: '#/components/parameters/ClusterId'
      - $ref: '#/components/parameters/LinkName'
      - $ref: '#/components/parameters/ValidateOnly'

    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'

  /kafka/v3/clusters/{cluster_id}/links/{link_name}/mirrors:reverse-and-start-mirror:
    servers:
      - url: https://pkc-00000.region.provider.confluent.cloud
        x-audience: business-unit-internal
        description: Confluent Cloud REST Endpoint. For example https://pkc-00000.region.provider.confluent.cloud

    parameters:
      - $ref: '#/components/parameters/ClusterId'
      - $ref: '#/components/parameters/LinkName'
      - $ref: '#/components/parameters/ValidateOnly'

    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'

  /kafka/v3/clusters/{cluster_id}/links/{link_name}/mirrors:reverse-and-pause-mirror:
    servers:
      - url: https://pkc-00000.region.provider.confluent.cloud
        x-audience: business-unit-internal
        description: Confluent Cloud REST Endpoint. For example https://pkc-00000.region.provider.confluent.cloud

    parameters:
      - $ref: '#/components/parameters/ClusterId'
      - $ref: '#/components/parameters/LinkName'
      - $ref: '#/components/parameters/ValidateOnly'

    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'

  /kafka/v3/clusters/{cluster_id}/links/{link_name}/mirrors:truncate-and-restore:
    servers:
      - url: https://pkc-00000.region.provider.confluent.cloud
        x-audience: business-unit-internal
        description: Confluent Cloud REST Endpoint. For example https://pkc-00000.region.provider.confluent.cloud

    parameters:
      - $ref: '#/components/parameters/ClusterId'
      - $ref: '#/components/parameters/LinkName'
      - $ref: '#/components/parameters/IncludePartitionLevelTruncationData'
      - $ref: '#/components/parameters/ValidateOnly'

    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'

  /kafka/v3/clusters/{cluster_id}/share-groups:
    servers:
      - url: https://pkc-00000.region.provider.confluent.cloud
        x-audience: business-unit-internal
        description: Confluent Cloud REST Endpoint. For example https://pkc-00000.region.provider.confluent.cloud

    parameters:
      - $ref: '#/components/parameters/ClusterId'

    get:
      summary: List Share Groups
      operationId: listKafkaShareGroups
      description: |-
        [![Generally Available](https://img.shields.io/badge/Lifecycle%20Stage-Generally%20Available-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy)
        Return the list of share groups that belong to the specified
        Kafka cluster.
      tags:
        - Share Group (v3)
      security:
        - resource-api-key: []
        - external-access-token: []
      responses:
        '200':
          $ref: '#/components/responses/ListShareGroupsResponse'
        '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'

  /kafka/v3/clusters/{cluster_id}/share-groups/{group_id}:
    servers:
      - url: https://pkc-00000.region.provider.confluent.cloud
        x-audience: business-unit-internal
        description: Confluent Cloud REST Endpoint. For example https://pkc-00000.region.provider.confluent.cloud

    parameters:
      - $ref: '#/components/parameters/ClusterId'
      - $ref: '#/components/parameters/GroupId'

    get:
      summary: Get Share Group
      operationId: getKafkaShareGroup
      description: |-
        [![Generally Available](https://img.shields.io/badge/Lifecycle%20Stage-Generally%20Available-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy)
        Return the share group specified by the ``group_id``.
      tags:
        - Share Group (v3)
      security:
        - resource-api-key: []
        - external-access-token: []
      responses:
        '200':
          $ref: '#/components/responses/GetShareGroupResponse'
        '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'

    delete:
      summary: Delete Share Group
      operationId: deleteKafkaShareGroup
      description: |-
        [![Generally Available](https://img.shields.io/badge/Lifecycle%20Stage-Generally%20Available-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy)

        Delete the share group specified by the ``group_id``.
      tags:
        - Share Group (v3)
      security:
        - resource-api-key: []
        - external-access-token: []
      responses:
        '204':
          $ref: '#/components/responses/NoContentResponse'
        '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'

  /kafka/v3/clusters/{cluster_id}/share-groups/{group_id}/consumers:
    servers:
      - url: https://pkc-00000.region.provider.confluent.cloud
        x-audience: business-unit-internal
        description: Confluent Cloud REST Endpoint. For example https://pkc-00000.region.provider.confluent.cloud

    parameters:
      - $ref: '#/components/parameters/ClusterId'
      - $ref: '#/components/parameters/GroupId'

    get:
      summary: List Share Group Consumers
      operationId: listKafkaShareGroupConsumers
      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 share
        group.
      tags:
        - Share Group (v3)
      security:
        - resource-api-key: []
        - external-access-token: []
      responses:
        '200':
          $ref: '#/components/responses/ListShareGroupConsumersResponse'
        '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'

  /kafka/v3/clusters/{cluster_id}/share-groups/{group_id}/consumers/{consumer_id}:
    servers:
      - url: https://pkc-00000.region.provider.confluent.cloud
        x-audience: business-unit-internal
        description: Confluent Cloud REST Endpoint. For example https://pkc-00000.region.provider.confluent.cloud

    parameters:
      - $ref: '#/components/parameters/ClusterId'
      - $ref: '#/components/parameters/GroupId'
      - $ref: '#/components/parameters/ConsumerId'

    get:
      summary: Get Share Group Consumer
      operationId: getKafkaShareGroupConsumer
      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:
        - Share Group (v3)
      security:
        - resource-api-key: []
        - external-access-token: []
      responses:
        '200':
          $ref: '#/components/responses/GetShareGroupConsumerResponse'
        '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'

  /kafka/v3/clusters/{cluster_id}/share-groups/{group_id}/consumers/{consumer_id}/assignments:
    servers:
      - url: https://pkc-00000.region.provider.confluent.cloud
        x-audience: business-unit-internal
        description: Confluent Cloud REST Endpoint. For example https://pkc-00000.region.provider.confluent.cloud

    parameters:
      - $ref: '#/components/parameters/ClusterId'
      - $ref: '#/components/parameters/GroupId'
      - $ref: '#/components/parameters/ConsumerId'

    get:
      summary: List Share Group Consumer Assignments
      operationId: listKafkaShareGroupConsumerAssignments
      description: |-
        [![Generally Available](https://img.shields.io/badge/Lifecycle%20Stage-Generally%20Available-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy)
        Return the consumer assignments specified by the ``consumer_id``.
      tags:
        - Share Group (v3)
      security:
        - resource-api-key: []
        - external-access-token: []
      responses:
        '200':
          $ref: '#/components/responses/ListShareGroupConsumerAssignmentsResponse'
        '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'

  /kafka/v3/clusters/{cluster_id}/groups/{group_id}/configs:
    servers:
      - url: https://pkc-00000.region.provider.confluent.cloud
        x-audience: business-unit-internal
        description: Confluent Cloud REST Endpoint. For example https://pkc-00000.region.provider.confluent.cloud

    parameters:
      - $ref: '#/components/parameters/ClusterId'
      - $ref: '#/components/parameters/GroupId'

    get:
      summary: List all configs of the group
      operationId: listKafkaGroupConfigs
      description: |-
        [![Generally Available](https://img.shields.io/badge/Lifecycle%20Stage-Generally%20Available-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy)

        List all configurations for the specified group. This API supports consumer groups, share groups, and streams groups.
      tags:
        - Configs (v3)
      security:
        - resource-api-key: []
        - external-access-token: []
      responses:
        '200':
          $ref: '#/components/responses/ListGroupConfigsResponse'
        '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'

  /kafka/v3/clusters/{cluster_id}/groups/{group_id}/configs/{name}:
    servers:
      - url: https://pkc-00000.region.provider.confluent.cloud
        x-audience: business-unit-internal
        description: Confluent Cloud REST Endpoint. For example https://pkc-00000.region.provider.confluent.cloud

    parameters:
      - $ref: '#/components/parameters/ClusterId'
      - $ref: '#/components/parameters/GroupId'
      - $ref: '#/components/parameters/ConfigName'

    get:
      summary: Get group config
      operationId: getKafkaGroupConfig
      description: |-
        [![Generally Available](https://img.shields.io/badge/Lifecycle%20Stage-Generally%20Available-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy)

        Get the configuration with the specified name for the specified group. This API supports consumer groups, share groups, and streams groups.
      tags:
        - Configs (v3)
      security:
        - resource-api-key: []
        - external-access-token: []
      responses:
        '200':
          $ref: '#/components/responses/GetGroupConfigResponse'
        '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'

    put:
      summary: Update group config
      operationId: updateKafkaGroupConfig
      description: |-
        [![Generally Available](https://img.shields.io/badge/Lifecycle%20Stage-Generally%20Available-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy)

        Update the configuration with the specified name for the specified group. This API supports consumer groups, share groups, and streams groups.
      tags:
        - Configs (v3)
      security:
        - resource-api-key: []
        - external-access-token: []
      requestBody:
        $ref: '#/components/requestBodies/UpdateGroupConfigRequest'
      responses:
        '204':
          $ref: '#/components/responses/NoContentResponse'
        '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'

    delete:
      summary: Delete group config
      operationId: deleteKafkaGroupConfig
      description: |-
        [![Generally Available](https://img.shields.io/badge/Lifecycle%20Stage-Generally%20Available-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy)

        Delete the dynamic configuration override with the specified name for the specified group. After deletion, the default group configuration will be applied. This API supports consumer groups, share groups, and streams groups.
      tags:
        - Configs (v3)
      security:
        - resource-api-key: []
        - external-access-token: []
      responses:
        '204':
          $ref: '#/components/responses/NoContentResponse'
        '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'

  /kafka/v3/clusters/{cluster_id}/groups/{group_id}/configs:alter:
    servers:
      - url: https://pkc-00000.region.provider.confluent.cloud
        x-audience: business-unit-internal
        description: Confluent Cloud REST Endpoint. For example https://pkc-00000.region.provider.confluent.cloud

    parameters:
      - $ref: '#/components/parameters/ClusterId'
      - $ref: '#/components/parameters/GroupId'

    post:
      summary: Batch Alter Group Configs
      operationId: updateKafkaGroupConfigBatch
      description: |-
        [![Generally Available](https://img.shields.io/badge/Lifecycle%20Stage-Generally%20Available-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy)

        Batch alter configurations for the specified group. This API supports consumer groups, share groups, and streams groups.
      tags:
        - Configs (v3)
      security:
        - resource-api-key: []
        - external-access-token: []
      parameters:
        - $ref: '#/components/parameters/ValidateOnly'
      requestBody:
        $ref: '#/components/requestBodies/AlterGroupConfigBatchRequest'
      responses:
        '204':
          description: No Content
        '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'

  /kafka/v3/clusters/{cluster_id}/streams-groups:
    servers:
      - url: https://pkc-00000.region.provider.confluent.cloud
        x-audience: business-unit-internal
        description: Confluent Cloud REST Endpoint. For example https://pkc-00000.region.provider.confluent.cloud

    parameters:
      - $ref: '#/components/parameters/ClusterId'
    get:
      summary: List Streams Groups
      operationId: listKafkaStreamsGroups
      description: |-
        [![Early Access](https://img.shields.io/badge/Lifecycle%20Stage-Early%20Access-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy)
        Return the list of streams groups that belong to the specified Kafka cluster
      tags:
        - Streams Group (v3)
      security:
        - resource-api-key: []
        - external-access-token: []
      responses:
        '200':
          $ref: '#/components/responses/ListStreamsGroupsResponse'
        '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'

  /kafka/v3/clusters/{cluster_id}/streams-groups/{group_id}:
    servers:
      - url: https://pkc-00000.region.provider.confluent.cloud
        x-audience: business-unit-internal
        description: Confluent Cloud REST Endpoint. For example https://pkc-00000.region.provider.confluent.cloud

    parameters:
      - $ref: '#/components/parameters/ClusterId'
      - $ref: '#/components/parameters/GroupId'

    get:
      summary: Get Streams Group
      operationId: getKafkaStreamsGroup
      description: |-
        [![Early Access](https://img.shields.io/badge/Lifecycle%20Stage-Early%20Access-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy)
        Return the streams group specified by the ``group_id``.
      tags:
        - Streams Group (v3)
      security:
        - resource-api-key: []
        - external-access-token: []
      responses:
        '200':
          $ref: '#/components/responses/GetStreamsGroupResponse'
        '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'

  /kafka/v3/clusters/{cluster_id}/streams-groups/{group_id}/subtopologies:
    servers:
      - url: https://pkc-00000.region.provider.confluent.cloud
        x-audience: business-unit-internal
        description: Confluent Cloud REST Endpoint. For example https://pkc-00000.region.provider.confluent.cloud

    parameters:
      - $ref: '#/components/parameters/ClusterId'
      - $ref: '#/components/parameters/GroupId'

    get:
      summary: List Streams Group Subtopologies
      operationId: listKafkaStreamsGroupSubtopologies
      description: |-
        [![Early Access](https://img.shields.io/badge/Lifecycle%20Stage-Early%20Access-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy)
        Return a list of subtopologies that belong to the specified streams group.
      tags:
        - Streams Group (v3)
      security:
        - resource-api-key: []
        - external-access-token: []
      responses:
        '200':
          $ref: '#/components/responses/ListStreamsGroupSubtopologiesResponse'
        '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'

  /kafka/v3/clusters/{cluster_id}/streams-groups/{group_id}/subtopologies/{subtopology_id}:
    servers:
      - url: https://pkc-00000.region.provider.confluent.cloud
        x-audience: business-unit-internal
        description: Confluent Cloud REST Endpoint. For example https://pkc-00000.region.provider.confluent.cloud

    parameters:
      - $ref: '#/components/parameters/ClusterId'
      - $ref: '#/components/parameters/GroupId'
      - $ref: '#/components/parameters/SubtopologyId'
    get:
      summary: Get Streams Group Subtopology
      operationId: getKafkaStreamsGroupSubtopology
      description: |-
        [![Early Access](https://img.shields.io/badge/Lifecycle%20Stage-Early%20Access-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy)
        Return the subtopology specified by the ``subtopology_id``.
      tags:
        - Streams Group (v3)
      security:
        - resource-api-key: []
        - external-access-token: []
      responses:
        '200':
          $ref: '#/components/responses/GetStreamsGroupSubtopologyResponse'
        '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'

  /kafka/v3/clusters/{cluster_id}/streams-groups/{group_id}/members:
    servers:
      - url: https://pkc-00000.region.provider.confluent.cloud
        x-audience: business-unit-internal
        description: Confluent Cloud REST Endpoint. For example https://pkc-00000.region.provider.confluent.cloud

    parameters:
      - $ref: '#/components/parameters/ClusterId'
      - $ref: '#/components/parameters/GroupId'

    get:
      summary: List Streams Group Members
      operationId: listKafkaStreamsGroupMembers
      description: |-
        [![Early Access](https://img.shields.io/badge/Lifecycle%20Stage-Early%20Access-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy)
        Return a list of members that belong to the specified streams group.
      tags:
        - Streams Group (v3)
      security:
        - resource-api-key: []
        - external-access-token: []
      responses:
        '200':
          $ref: '#/components/responses/ListStreamsGroupMembersResponse'
        '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'

  /kafka/v3/clusters/{cluster_id}/streams-groups/{group_id}/members/{member_id}:
    servers:
      - url: https://pkc-00000.region.provider.confluent.cloud
        x-audience: business-unit-internal
        description: Confluent Cloud REST Endpoint. For example https://pkc-00000.region.provider.confluent.cloud

    parameters:
      - $ref: '#/components/parameters/ClusterId'
      - $ref: '#/components/parameters/GroupId'
      - $ref: '#/components/parameters/MemberId'
    get:
      summary: Get Streams Group Member
      operationId: getKafkaStreamsGroupMember
      description: |-
        [![Early Access](https://img.shields.io/badge/Lifecycle%20Stage-Early%20Access-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy)
        Return the members specified by the ``member_id``.
      tags:
        - Streams Group (v3)
      security:
        - resource-api-key: []
        - external-access-token: []
      responses:
        '200':
          $ref: '#/components/responses/GetStreamsGroupMemberResponse'
        '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'

  /kafka/v3/clusters/{cluster_id}/streams-groups/{group_id}/members/{member_id}/assignments:
    servers:
      - url: https://pkc-00000.region.provider.confluent.cloud
        x-audience: business-unit-internal
        description: Confluent Cloud REST Endpoint. For example https://pkc-00000.region.provider.confluent.cloud

    parameters:
      - $ref: '#/components/parameters/ClusterId'
      - $ref: '#/components/parameters/GroupId'
      - $ref: '#/components/parameters/MemberId'

    get:
      summary: Get Streams Group Member Assignments
      operationId: getKafkaStreamsGroupMemberAssignments
      description: |-
        [![Early Access](https://img.shields.io/badge/Lifecycle%20Stage-Early%20Access-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy)
        Return the assignments of the member specified by the ``member_id``.
      tags:
        - Streams Group (v3)
      security:
        - resource-api-key: []
        - external-access-token: []
      responses:
        '200':
          $ref: '#/components/responses/GetStreamsGroupMemberAssignmentsResponse'
        '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'

  /kafka/v3/clusters/{cluster_id}/streams-groups/{group_id}/members/{member_id}/target-assignments:
    servers:
      - url: https://pkc-00000.region.provider.confluent.cloud
        x-audience: business-unit-internal
        description: Confluent Cloud REST Endpoint. For example https://pkc-00000.region.provider.confluent.cloud

    parameters:
      - $ref: '#/components/parameters/ClusterId'
      - $ref: '#/components/parameters/GroupId'
      - $ref: '#/components/parameters/MemberId'

    get:
      summary: Get Streams Group Member Target Assignments
      operationId: getKafkaStreamsGroupMemberTargetAssignments
      description: |-
        [![Early Access](https://img.shields.io/badge/Lifecycle%20Stage-Early%20Access-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy)
        Return the target assignments of the member specified by the ``member_id``.
      tags:
        - Streams Group (v3)
      security:
        - resource-api-key: []
        - external-access-token: []
      responses:
        '200':
          $ref: '#/components/responses/GetStreamsGroupMemberAssignmentsResponse'
        '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'

  /kafka/v3/clusters/{cluster_id}/streams-groups/{group_id}/members/{member_id}/assignments/{assignments_type}:
    servers:
      - url: https://pkc-00000.region.provider.confluent.cloud
        x-audience: business-unit-internal
        description: Confluent Cloud REST Endpoint. For example https://pkc-00000.region.provider.confluent.cloud

    parameters:
      - $ref: '#/components/parameters/ClusterId'
      - $ref: '#/components/parameters/GroupId'
      - $ref: '#/components/parameters/MemberId'
      - $ref: '#/components/parameters/AssignmentsType'

    get:
      summary: List Streams Group Assignments of a Specific Type
      operationId: listKafkaStreamsGroupMemberAssignmentTasks
      description: |-
        [![Early Access](https://img.shields.io/badge/Lifecycle%20Stage-Early%20Access-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy)
        Return the tasks of the member specified by the ``member_id``, and the type ``assignments_type``.
      tags:
        - Streams Group (v3)
      security:
        - resource-api-key: []
        - external-access-token: []
      responses:
        '200':
          $ref: '#/components/responses/ListStreamsTasksResponse'
        '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'

  /kafka/v3/clusters/{cluster_id}/streams-groups/{group_id}/members/{member_id}/target-assignments/{assignments_type}:
    servers:
      - url: https://pkc-00000.region.provider.confluent.cloud
        x-audience: business-unit-internal
        description: Confluent Cloud REST Endpoint. For example https://pkc-00000.region.provider.confluent.cloud

    parameters:
      - $ref: '#/components/parameters/ClusterId'
      - $ref: '#/components/parameters/GroupId'
      - $ref: '#/components/parameters/MemberId'
      - $ref: '#/components/parameters/AssignmentsType'

    get:
      summary: List Streams Group Target Assignments of a Specific Type
      operationId: listKafkaStreamsGroupMemberTargetAssignmentTasks
      description: |-
        [![Early Access](https://img.shields.io/badge/Lifecycle%20Stage-Early%20Access-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy)
        Return the target tasks of the member specified by the ``member_id``, and the type ``assignments_type``.
      tags:
        - Streams Group (v3)
      security:
        - resource-api-key: []
        - external-access-token: []
      responses:
        '200':
          $ref: '#/components/responses/ListStreamsTasksResponse'
        '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'

  /kafka/v3/clusters/{cluster_id}/streams-groups/{group_id}/members/{member_id}/assignments/{assignments_type}/subtopologies/{subtopology_id}:
    servers:
      - url: https://pkc-00000.region.provider.confluent.cloud
        x-audience: business-unit-internal
        description: Confluent Cloud REST Endpoint. For example https://pkc-00000.region.provider.confluent.cloud

    parameters:
      - $ref: '#/components/parameters/ClusterId'
      - $ref: '#/components/parameters/GroupId'
      - $ref: '#/components/parameters/MemberId'
      - $ref: '#/components/parameters/AssignmentsType'
      - $ref: '#/components/parameters/SubtopologyId'

    get:
      summary: List Streams Group Assignments Task Partitions of a Specific Type and
        Subtopology
      operationId: getKafkaStreamsGroupMemberAssignmentTaskPartitions
      description: |-
        [![Early Access](https://img.shields.io/badge/Lifecycle%20Stage-Early%20Access-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy)
        Return the tasks of the member specified by the ``member_id``, and the type ``assignments_type``.
      tags:
        - Streams Group (v3)
      security:
        - resource-api-key: []
        - external-access-token: []
      responses:
        '200':
          $ref: '#/components/responses/GetStreamsTaskResponse'
        '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'

  /kafka/v3/clusters/{cluster_id}/streams-groups/{group_id}/members/{member_id}/target-assignments/{assignments_type}/subtopologies/{subtopology_id}:
    servers:
      - url: https://pkc-00000.region.provider.confluent.cloud
        x-audience: business-unit-internal
        description: Confluent Cloud REST Endpoint. For example https://pkc-00000.region.provider.confluent.cloud

    parameters:
      - $ref: '#/components/parameters/ClusterId'
      - $ref: '#/components/parameters/GroupId'
      - $ref: '#/components/parameters/MemberId'
      - $ref: '#/components/parameters/AssignmentsType'
      - $ref: '#/components/parameters/SubtopologyId'

    get:
      summary: List Streams Group Target Assignments Task Partitions of a Specific
        Type and Subtopology
      operationId: getKafkaStreamsGroupMemberTargetAssignmentTaskPartitions
      description: |-
        [![Early Access](https://img.shields.io/badge/Lifecycle%20Stage-Early%20Access-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy)
        Return the tasks of the member specified by the ``member_id``, and the type ``assignments_type``.
      tags:
        - Streams Group (v3)
      security:
        - resource-api-key: []
        - external-access-token: []
      responses:
        '200':
          $ref: '#/components/responses/GetStreamsTaskResponse'
        '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'

  /service-quota/v1/applied-quotas:
    x-lifecycle-stage: General Availability
    x-self-access: true
    get:
      x-lifecycle-stage: General Availability
      x-self-access: true
      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.  \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'
  /service-quota/v1/applied-quotas/{id}:
    x-lifecycle-stage: General Availability
    x-self-access: true
    get:
      x-lifecycle-stage: General Availability
      x-self-access: true
      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.  \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'
  /service-quota/v1/scopes:
    x-lifecycle-stage: General Availability
    x-self-access: true
    get:
      x-lifecycle-stage: General Availability
      x-self-access: true
      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.  \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'
  /service-quota/v1/scopes/{id}:
    x-lifecycle-stage: General Availability
    x-self-access: true
    get:
      x-lifecycle-stage: General Availability
      x-self-access: true
      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.  \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'
  /partner/v2/entitlements:
    x-lifecycle-stage: Early Access
    x-request-access-name: Partner v2
    get:
      x-lifecycle-stage: Early Access
      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

            import (
            	"fmt"
            	"net/http"
            	"io/ioutil"
            )

            func main() {

            	url := "https://api.confluent.cloud/partner/v2/entitlements?organization.id=SOME_STRING_VALUE&page_size=SOME_INTEGER_VALUE&page_token=SOME_STRING_VALUE"

            	req, _ := http.NewRequest("GET", url, nil)

            	req.Header.Add("Authorization", "Bearer REPLACE_BEARER_TOKEN")

            	res, _ := http.DefaultClient.Do(req)

            	defer res.Body.Close()
            	body, _ := ioutil.ReadAll(res.Body)

            	fmt.Println(res)
            	fmt.Println(string(body))

            }
        - 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);
    post:
      x-lifecycle-stage: Early Access
      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

            import (
            	"fmt"
            	"strings"
            	"net/http"
            	"io/ioutil"
            )

            func main() {

            	url := "https://api.confluent.cloud/partner/v2/entitlements"

            	payload := 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\"}}")

            	req, _ := http.NewRequest("POST", url, payload)

            	req.Header.Add("content-type", "application/json")
            	req.Header.Add("Authorization", "Bearer REPLACE_BEARER_TOKEN")

            	res, _ := http.DefaultClient.Do(req)

            	defer res.Body.Close()
            	body, _ := ioutil.ReadAll(res.Body)

            	fmt.Println(res)
            	fmt.Println(string(body))

            }
        - 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);
  /partner/v2/entitlements/{id}:
    x-lifecycle-stage: Early Access
    x-request-access-name: Partner v2
    get:
      x-lifecycle-stage: Early Access
      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

            import (
            	"fmt"
            	"net/http"
            	"io/ioutil"
            )

            func main() {

            	url := "https://api.confluent.cloud/partner/v2/entitlements/{id}?organization.id=SOME_STRING_VALUE"

            	req, _ := http.NewRequest("GET", url, nil)

            	req.Header.Add("Authorization", "Bearer REPLACE_BEARER_TOKEN")

            	res, _ := http.DefaultClient.Do(req)

            	defer res.Body.Close()
            	body, _ := ioutil.ReadAll(res.Body)

            	fmt.Println(res)
            	fmt.Println(string(body))

            }
        - 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);
  /srcm/v2/regions:
    x-lifecycle-stage: Deprecated
    x-deprecated-at: 20240801T00:00:00Z
    x-sunset-at: 20250228T00:00:00Z
    x-self-access: true
    get:
      x-lifecycle-stage: Deprecated
      deprecated: true
      x-deprecated-at: 20240801T00:00:00Z
      x-sunset-at: 20250228T00:00:00Z
      x-self-access: true
      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.  \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'
  /srcm/v2/regions/{id}:
    x-lifecycle-stage: Deprecated
    x-deprecated-at: 20240801T00:00:00Z
    x-sunset-at: 20250228T00:00:00Z
    x-self-access: true
    get:
      x-lifecycle-stage: Deprecated
      deprecated: true
      x-deprecated-at: 20240801T00:00:00Z
      x-sunset-at: 20250228T00:00:00Z
      x-self-access: true
      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.  \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'
  /srcm/v2/clusters:
    x-lifecycle-stage: Deprecated
    x-deprecated-at: 20240801T00:00:00Z
    x-sunset-at: 20250228T00:00:00Z
    x-self-access: true
    get:
      x-lifecycle-stage: Deprecated
      deprecated: true
      x-deprecated-at: 20240801T00:00:00Z
      x-sunset-at: 20250228T00:00:00Z
      x-self-access: true
      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.  \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: Deprecated
      deprecated: true
      x-deprecated-at: 20240801T00:00:00Z
      x-sunset-at: 20250228T00:00:00Z
      x-self-access: true
      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.  \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/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'
  /srcm/v2/clusters/{id}:
    x-lifecycle-stage: Deprecated
    x-deprecated-at: 20240801T00:00:00Z
    x-sunset-at: 20250228T00:00:00Z
    x-self-access: true
    get:
      x-lifecycle-stage: Deprecated
      deprecated: true
      x-deprecated-at: 20240801T00:00:00Z
      x-sunset-at: 20250228T00:00:00Z
      x-self-access: true
      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.  \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: Deprecated
      deprecated: true
      x-deprecated-at: 20240801T00:00:00Z
      x-sunset-at: 20250228T00:00:00Z
      x-self-access: true
      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.Cluster'
                - 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.  \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'
        '409':
          $ref: '#/components/responses/ConflictError'
        '422':
          $ref: '#/components/responses/ValidationError'
        '429':
          $ref: '#/components/responses/RateLimitError'
        '500':
          $ref: '#/components/responses/DefaultSystemError'
    delete:
      x-lifecycle-stage: Deprecated
      deprecated: true
      x-deprecated-at: 20240801T00:00:00Z
      x-sunset-at: 20250228T00:00:00Z
      x-self-access: true
      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.  \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'
  /srcm/v3/clusters:
    x-lifecycle-stage: General Availability
    x-self-access: true
    get:
      x-lifecycle-stage: General Availability
      x-self-access: true
      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: []
        - confluent-sts-access-token: []
      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.  \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'
  /srcm/v3/clusters/{id}:
    x-lifecycle-stage: General Availability
    x-self-access: true
    get:
      x-lifecycle-stage: General Availability
      x-self-access: true
      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: []
        - confluent-sts-access-token: []
      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.  \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'
  /clusterconfig:
    servers:
      - url: https://psrc-00000.region.provider.confluent.cloud
        description: Confluent Cloud Schema Registry Endpoint.
    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: []
  /compatibility/subjects/{subject}/versions/{version}:
    servers:
      - url: https://psrc-00000.region.provider.confluent.cloud
        description: Confluent Cloud Schema Registry Endpoint.
    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: normalize
          in: query
          description: Whether to normalize the given schema
          schema:
            type: boolean
        - 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'
        '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'
        '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'
        '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'
      security:
        - resource-api-key: []
        - external-access-token: []
  /compatibility/subjects/{subject}/versions:
    servers:
      - url: https://psrc-00000.region.provider.confluent.cloud
        description: Confluent Cloud Schema Registry Endpoint.
    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'
        '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'
        '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'
        '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'
      security:
        - resource-api-key: []
        - external-access-token: []
  /config/{subject}:
    servers:
      - url: https://psrc-00000.region.provider.confluent.cloud
        description: Confluent Cloud Schema Registry Endpoint.
    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'
        '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'
        '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'
        '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'
      security:
        - resource-api-key: []
        - external-access-token: []
    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'
        '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'
        '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'
        '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'
      security:
        - resource-api-key: []
        - external-access-token: []
    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
        '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'
        '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'
        '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'
      security:
        - resource-api-key: []
        - external-access-token: []
  /config:
    servers:
      - url: https://psrc-00000.region.provider.confluent.cloud
        description: Confluent Cloud Schema Registry Endpoint.
    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'
        '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'
        '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'
      security:
        - resource-api-key: []
        - external-access-token: []
    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'
        '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'
        '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'
        '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'
      security:
        - resource-api-key: []
        - external-access-token: []
    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
        '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'
        '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'
      security:
        - resource-api-key: []
        - external-access-token: []
  /exporters:
    servers:
      - url: https://psrc-00000.region.provider.confluent.cloud
        description: Confluent Cloud Schema Registry Endpoint.
    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: []
    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'
        '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'
        '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: []
  /exporters/{name}:
    servers:
      - url: https://psrc-00000.region.provider.confluent.cloud
        description: Confluent Cloud Schema Registry Endpoint.
    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'
        '404':
          description: Not Found. Error code 40450 – Exporter not found
          content:
            application/vnd.schemaregistry.v1+json:
              schema:
                $ref: '#/components/schemas/ErrorMessage'
        '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: []
    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'
        '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'
        '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: []
    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.
        '404':
          $ref: '#/components/responses/schemaregistry.v1.AccountNotFoundError'
        '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: []
  /exporters/{name}/status:
    servers:
      - url: https://psrc-00000.region.provider.confluent.cloud
        description: Confluent Cloud Schema Registry Endpoint.
    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'

        '404':
          description: Not Found. Error code 40450 – Exporter not found
          content:
            application/vnd.schemaregistry.v1+json:
              schema:
                $ref: '#/components/schemas/ErrorMessage'
        '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: []
  /exporters/{name}/config:
    servers:
      - url: https://psrc-00000.region.provider.confluent.cloud
        description: Confluent Cloud Schema Registry Endpoint.
    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'
        '404':
          description: Not Found. Error code 40450 – Exporter not found
          content:
            application/vnd.schemaregistry.v1+json:
              schema:
                $ref: '#/components/schemas/ErrorMessage'
        '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: []
    put:
      tags:
        - Exporters (v1)
      summary: Update schema exporter config by name
      description: Updates the configuration 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'
        '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'
        '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: []
  /exporters/{name}/pause:
    servers:
      - url: https://psrc-00000.region.provider.confluent.cloud
        description: Confluent Cloud Schema Registry Endpoint.
    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'
        '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'
        '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: []
  /exporters/{name}/reset:
    servers:
      - url: https://psrc-00000.region.provider.confluent.cloud
        description: Confluent Cloud Schema Registry Endpoint.
    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'
        '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'
        '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: []
  /exporters/{name}/resume:
    servers:
      - url: https://psrc-00000.region.provider.confluent.cloud
        description: Confluent Cloud Schema Registry Endpoint.
    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'
        '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'
        '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: []
  /contexts:
    servers:
      - url: https://psrc-00000.region.provider.confluent.cloud
        description: Confluent Cloud Schema Registry Endpoint.
    get:
      tags:
        - Contexts (v1)
      summary: List contexts
      description: Retrieves a list of contexts.
      operationId: listContexts
      parameters:
        - 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: 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: .
        '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'
        '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'
      security:
        - resource-api-key: []
        - external-access-token: []
  /mode/{subject}:
    servers:
      - url: https://psrc-00000.region.provider.confluent.cloud
        description: Confluent Cloud Schema Registry Endpoint.
    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'
        '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'
        '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'
        '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'
      security:
        - resource-api-key: []
        - external-access-token: []
    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'
        '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'
        '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'
        '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'
      security:
        - resource-api-key: []
        - external-access-token: []
    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'
        '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'
        '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'
        '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'
      security:
        - resource-api-key: []
        - external-access-token: []
  /mode:
    servers:
      - url: https://psrc-00000.region.provider.confluent.cloud
        description: Confluent Cloud Schema Registry Endpoint.
    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'
        '500':
          description: Error code 50001 -- Error in the backend data store
        '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'
      security:
        - resource-api-key: []
        - external-access-token: []
    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'
        '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'
        '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'
        '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'
      security:
        - resource-api-key: []
        - external-access-token: []
  /schemas/ids/{id}:
    servers:
      - url: https://psrc-00000.region.provider.confluent.cloud
        description: Confluent Cloud Schema Registry Endpoint.
    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. For AVRO
            schemas, valid values are: " " (default) or "resolved". For PROTOBUF schemas,
            valid values are: " " (default), "ignore_extensions", or "serialized"
            (The parameter does not apply to JSON schemas.)'
          schema:
            type: string
            default: ''
      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'
        '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'
        '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'
        '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'
      security:
        - resource-api-key: []
        - external-access-token: []
  /schemas/ids/{id}/schema:
    servers:
      - url: https://psrc-00000.region.provider.confluent.cloud
        description: Confluent Cloud Schema Registry Endpoint.
    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. For AVRO
            schemas, valid values are: " " (default) or "resolved". For PROTOBUF schemas,
            valid values are: " " (default), "ignore_extensions", or "serialized"
            (The parameter does not apply to JSON schemas.)'
          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"}"}'
        '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'
        '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'
        '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'
      security:
        - resource-api-key: []
        - external-access-token: []
  /schemas/types:
    servers:
      - url: https://psrc-00000.region.provider.confluent.cloud
        description: Confluent Cloud Schema Registry Endpoint.
    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
        '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'
        '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'
      security:
        - resource-api-key: []
        - external-access-token: []
  /schemas:
    servers:
      - url: https://psrc-00000.region.provider.confluent.cloud
        description: Confluent Cloud Schema Registry Endpoint.
    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: aliases
          in: query
          description: Whether to include aliases in the search
          schema:
            type: boolean
            default: false
        - 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: ruleType
          in: query
          description: Filters results by the given rule type
          schema:
            type: string
            default: ''
        - 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'
        '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'
        '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'
      security:
        - resource-api-key: []
        - external-access-token: []
  /schemas/ids/{id}/subjects:
    servers:
      - url: https://psrc-00000.region.provider.confluent.cloud
        description: Confluent Cloud Schema Registry Endpoint.
    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: format
          in: query
          description: 'Desired output format, dependent on schema type. For AVRO
            schemas, valid values are: " " (default) or "resolved". For PROTOBUF schemas,
            valid values are: " " (default), "ignore_extensions", or "serialized"
            (The parameter does not apply to JSON schemas.)'
          schema:
            type: string
            default: ''
        - name: deleted
          in: query
          description: Whether to include subjects where the schema was deleted
          schema:
            type: boolean
        - 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 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
        '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'
        '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'
        '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'
      security:
        - resource-api-key: []
        - external-access-token: []
  /schemas/ids/{id}/versions:
    servers:
      - url: https://psrc-00000.region.provider.confluent.cloud
        description: Confluent Cloud Schema Registry Endpoint.
    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
        - 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 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'
        '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'
        '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'
        '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'
      security:
        - resource-api-key: []
        - external-access-token: []
  /subjects/{subject}/versions/{version}:
    servers:
      - url: https://psrc-00000.region.provider.confluent.cloud
        description: Confluent Cloud Schema Registry Endpoint.
    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: format
          in: query
          description: 'Desired output format, dependent on schema type. For AVRO
            schemas, valid values are: " " (default) or "resolved". For PROTOBUF schemas,
            valid values are: " " (default), "ignore_extensions", or "serialized"
            (The parameter does not apply to JSON schemas.)'
          schema:
            type: string
            default: ''
        - 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'
        '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'
        '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'
        '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'
      security:
        - resource-api-key: []
        - external-access-token: []
    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
        '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'
        '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'
        '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'
      security:
        - resource-api-key: []
        - external-access-token: []
  /subjects/{subject}/versions/{version}/referencedby:
    servers:
      - url: https://psrc-00000.region.provider.confluent.cloud
        description: Confluent Cloud Schema Registry Endpoint.
    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
        - 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 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
        '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'
        '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'
        '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'
      security:
        - resource-api-key: []
        - external-access-token: []
  /subjects/{subject}/versions/{version}/schema:
    servers:
      - url: https://psrc-00000.region.provider.confluent.cloud
        description: Confluent Cloud Schema Registry Endpoint.
    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"}"}'
        '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'
        '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'
        '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'
      security:
        - resource-api-key: []
        - external-access-token: []
  /subjects/{subject}/versions:
    servers:
      - url: https://psrc-00000.region.provider.confluent.cloud
        description: Confluent Cloud Schema Registry Endpoint.
    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
        - name: deletedOnly
          in: query
          description: Whether to return deleted schemas only
          schema:
            type: boolean
        - 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 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
        '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'
        '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'
        '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'
      security:
        - resource-api-key: []
        - external-access-token: []
    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
        - name: format
          in: query
          description: 'Desired output format, dependent on schema type. For AVRO
            schemas, valid values are: " " (default) or "resolved". For PROTOBUF schemas,
            valid values are: " " (default), "ignore_extensions", or "serialized"
            (The parameter does not apply to JSON schemas.)'
          schema:
            type: string
            default: ''
      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'
        '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'
        '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'
        '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'
      security:
        - resource-api-key: []
        - external-access-token: []
  /subjects/{subject}:
    servers:
      - url: https://psrc-00000.region.provider.confluent.cloud
        description: Confluent Cloud Schema Registry Endpoint.
    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: format
          in: query
          description: 'Desired output format, dependent on schema type. For AVRO
            schemas, valid values are: " " (default) or "resolved". For PROTOBUF schemas,
            valid values are: " " (default), "ignore_extensions", or "serialized"
            (The parameter does not apply to JSON schemas.)'
          schema:
            type: string
            default: ''
        - 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'
        '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'
        '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'
        '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'
      security:
        - resource-api-key: []
        - external-access-token: []
    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
        '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'
        '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'
        '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'
      security:
        - resource-api-key: []
        - external-access-token: []
  /subjects:
    servers:
      - url: https://psrc-00000.region.provider.confluent.cloud
        description: Confluent Cloud Schema Registry Endpoint.
    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
        - name: deletedOnly
          in: query
          description: Whether to return deleted subjects only
          schema:
            type: boolean
        - 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 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
        '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'
        '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'
      security:
        - resource-api-key: []
        - external-access-token: []
  /subjects/{subject}/metadata:
    servers:
      - url: https://psrc-00000.region.provider.confluent.cloud
        description: Confluent Cloud Schema Registry Endpoint.
    get:
      tags:
        - Subjects (v1)
      summary: Retrieve the latest version with the given metadata.
      description: Retrieve the latest version with the given metadata.
      operationId: getLatestWithMetadata
      parameters:
        - name: subject
          in: path
          description: Subject under which the schema will be registered
          required: true
          schema:
            type: string
        - name: key
          in: query
          description: The metadata key. Add "?key=key" at the end of the request
            to match a metadata key. This query parameter can appear multiple times.
            Each instance is matched with a corresponding value query parameter, in
            order.
          schema:
            type: string
        - name: value
          in: query
          description: The metadata value. Add "?value=value" at the end of the request
            to match a metadata value. This query parameter can appear multiple times.
            Each instance is matched with a corresponding key query parameter, in
            order.
          schema:
            type: string
        - name: format
          in: query
          description: 'Desired output format, dependent on schema type. For AVRO
            schemas, valid values are: " " (default) or "resolved". For PROTOBUF schemas,
            valid values are: " " (default), "ignore_extensions", or "serialized"
            (The parameter does not apply to JSON schemas.)'
          schema:
            type: string
            default: ''
        - name: deleted
          in: query
          description: Whether to lookup deleted schemas
          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'
        '404':
          description: |-
            Error code 40401 -- Subject not found
            Error code 40403 -- Schema not found
        '500':
          description: Internal Server Error.
      security:
        - resource-api-key: []
        - external-access-token: []
  /dek-registry/v1/keks:
    servers:
      - url: https://psrc-00000.region.provider.confluent.cloud
        description: Confluent Cloud Schema Registry Endpoint.
    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: []
    post:
      tags:
        - Key Encryption Keys (v1)
      operationId: createKek
      parameters:
        - description: Whether to test kek sharing
          explode: true
          in: query
          name: testSharing
          required: false
          schema:
            type: boolean
            default: false
          style: form
      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: []
  /dek-registry/v1/keks/{name}:
    servers:
      - url: https://psrc-00000.region.provider.confluent.cloud
        description: Confluent Cloud Schema Registry Endpoint.
    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: []
    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: []
    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
        - description: Whether to test kek sharing
          explode: true
          in: query
          name: testSharing
          required: false
          schema:
            type: boolean
            default: false
          style: form
      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: []
  /dek-registry/v1/keks/{name}/undelete:
    servers:
      - url: https://psrc-00000.region.provider.confluent.cloud
        description: Confluent Cloud Schema Registry Endpoint.
    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: []
  /dek-registry/v1/keks/{name}/test:
    servers:
      - url: https://psrc-00000.region.provider.confluent.cloud
        description: Confluent Cloud Schema Registry Endpoint.
    post:
      tags:
        - Key Encryption Keys (v1)
      operationId: testKek
      parameters:
        - description: Name of the kek
          explode: false
          in: path
          name: name
          required: true
          schema:
            type: string
          style: simple
      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 test response
        '422':
          description: Error code 42271 -- Invalid key
        '500':
          description: Error code 50070 -- Dek generation error
      summary: Test a kek
      security:
        - resource-api-key: []
        - external-access-token: []
  /dek-registry/v1/keks/{name}/deks:
    servers:
      - url: https://psrc-00000.region.provider.confluent.cloud
        description: Confluent Cloud Schema Registry Endpoint.
    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
        - description: Pagination offset for results
          explode: true
          in: query
          name: offset
          required: false
          schema:
            type: integer
            default: 0
          style: form
        - description: Pagination size for results. Ignored if negative
          explode: true
          in: query
          name: limit
          required: false
          schema:
            type: integer
            default: -1
          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: []
    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: []
  /dek-registry/v1/keks/{name}/deks/{subject}:
    servers:
      - url: https://psrc-00000.region.provider.confluent.cloud
        description: Confluent Cloud Schema Registry Endpoint.
    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: []
    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: []
  /dek-registry/v1/keks/{name}/deks/{subject}/versions/{version}:
    servers:
      - url: https://psrc-00000.region.provider.confluent.cloud
        description: Confluent Cloud Schema Registry Endpoint.
    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: []
    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: []
  /dek-registry/v1/keks/{name}/deks/{subject}/versions:
    servers:
      - url: https://psrc-00000.region.provider.confluent.cloud
        description: Confluent Cloud Schema Registry Endpoint.
    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
        - description: Pagination offset for results
          explode: true
          in: query
          name: offset
          required: false
          schema:
            type: integer
            default: 0
          style: form
        - description: Pagination size for results. Ignored if negative
          explode: true
          in: query
          name: limit
          required: false
          schema:
            type: integer
            default: -1
          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: []
  /dek-registry/v1/keks/{name}/deks/{subject}/versions/{version}/undelete:
    servers:
      - url: https://psrc-00000.region.provider.confluent.cloud
        description: Confluent Cloud Schema Registry Endpoint.
    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: []
  /dek-registry/v1/keks/{name}/deks/{subject}/undelete:
    servers:
      - url: https://psrc-00000.region.provider.confluent.cloud
        description: Confluent Cloud Schema Registry Endpoint.
    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: []

  /catalog/v1/types/businessmetadatadefs:
    servers:
      - url: https://psrc-00000.region.provider.confluent.cloud
        description: Confluent Cloud Schema Registry Endpoint. For example https://psrc-00000.region.provider.confluent.cloud
    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
    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
    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
  /catalog/v1/types/businessmetadatadefs/{bmName}:
    servers:
      - url: https://psrc-00000.region.provider.confluent.cloud
        description: Confluent Cloud Schema Registry Endpoint. For example https://psrc-00000.region.provider.confluent.cloud
    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
    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
  /catalog/v1/entity/businessmetadata:
    servers:
      - url: https://psrc-00000.region.provider.confluent.cloud
        description: Confluent Cloud Schema Registry Endpoint. For example https://psrc-00000.region.provider.confluent.cloud
    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
    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
  /catalog/v1/entity/type/{typeName}/name/{qualifiedName}/businessmetadata:
    servers:
      - url: https://psrc-00000.region.provider.confluent.cloud
        description: Confluent Cloud Schema Registry Endpoint. For example https://psrc-00000.region.provider.confluent.cloud
    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
  /catalog/v1/entity/type/{typeName}/name/{qualifiedName}/businessmetadata/{bmName}:
    servers:
      - url: https://psrc-00000.region.provider.confluent.cloud
        description: Confluent Cloud Schema Registry Endpoint. For example https://psrc-00000.region.provider.confluent.cloud
    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
  /catalog/v1/entity/tags:
    servers:
      - url: https://psrc-00000.region.provider.confluent.cloud
        description: Confluent Cloud Schema Registry Endpoint. For example https://psrc-00000.region.provider.confluent.cloud
    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
    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
  /catalog/v1/entity/type/{typeName}/name/{qualifiedName}:
    servers:
      - url: https://psrc-00000.region.provider.confluent.cloud
        description: Confluent Cloud Schema Registry Endpoint. For example https://psrc-00000.region.provider.confluent.cloud
    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
  /catalog/v1/entity/type/{typeName}/name/{qualifiedName}/tags:
    servers:
      - url: https://psrc-00000.region.provider.confluent.cloud
        description: Confluent Cloud Schema Registry Endpoint. For example https://psrc-00000.region.provider.confluent.cloud
    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
  /catalog/v1/entity:
    servers:
      - url: https://psrc-00000.region.provider.confluent.cloud
        description: Confluent Cloud Schema Registry Endpoint. For example https://psrc-00000.region.provider.confluent.cloud
    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
  /catalog/v1/entity/type/{typeName}/name/{qualifiedName}/tags/{tagName}:
    servers:
      - url: https://psrc-00000.region.provider.confluent.cloud
        description: Confluent Cloud Schema Registry Endpoint. For example https://psrc-00000.region.provider.confluent.cloud
    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
  /catalog/v1/search/attribute:
    servers:
      - url: https://psrc-00000.region.provider.confluent.cloud
        description: Confluent Cloud Schema Registry Endpoint. For example https://psrc-00000.region.provider.confluent.cloud
    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
  /catalog/v1/search/basic:
    servers:
      - url: https://psrc-00000.region.provider.confluent.cloud
        description: Confluent Cloud Schema Registry Endpoint. For example https://psrc-00000.region.provider.confluent.cloud
    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
  /catalog/v1/types/tagdefs:
    servers:
      - url: https://psrc-00000.region.provider.confluent.cloud
        description: Confluent Cloud Schema Registry Endpoint. For example https://psrc-00000.region.provider.confluent.cloud
    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
    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
    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
  /catalog/v1/types/tagdefs/{tagName}:
    servers:
      - url: https://psrc-00000.region.provider.confluent.cloud
        description: Confluent Cloud Schema Registry Endpoint. For example https://psrc-00000.region.provider.confluent.cloud
    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
    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
  /cdx/v1/provider-shared-resources:
    x-lifecycle-stage: General Availability
    x-self-access: true
    get:
      x-lifecycle-stage: General Availability
      x-self-access: true
      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.  \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'
  /cdx/v1/provider-shared-resources/{id}:
    x-lifecycle-stage: General Availability
    x-self-access: true
    get:
      x-lifecycle-stage: General Availability
      x-self-access: true
      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.  \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: 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.ProviderSharedResource'
      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.  \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'
        '409':
          $ref: '#/components/responses/ConflictError'
        '422':
          $ref: '#/components/responses/ValidationError'
        '429':
          $ref: '#/components/responses/RateLimitError'
        '500':
          $ref: '#/components/responses/DefaultSystemError'
  /cdx/v1/provider-shared-resources/{id}/images/{file_name}:
    x-lifecycle-stage: General Availability
    x-self-access: true
    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-lifecycle-stage: General Availability
      x-self-access: true
      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'
    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-lifecycle-stage: General Availability
      x-self-access: true
      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'
    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-lifecycle-stage: General Availability
      x-self-access: true
      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'
  /cdx/v1/provider-shares:
    x-lifecycle-stage: General Availability
    x-self-access: true
    get:
      x-lifecycle-stage: General Availability
      x-self-access: true
      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.  \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:
      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
      x-lifecycle-stage: General Availability
      x-self-access: true
      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'
  /cdx/v1/provider-shares/{id}:
    x-lifecycle-stage: General Availability
    x-self-access: true
    get:
      x-lifecycle-stage: General Availability
      x-self-access: true
      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.  \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'
    delete:
      x-lifecycle-stage: General Availability
      x-self-access: true
      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.  \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'
  /cdx/v1/provider-shares/{id}:resend:
    x-lifecycle-stage: General Availability
    x-self-access: true
    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-lifecycle-stage: General Availability
      x-self-access: true
      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'
  /cdx/v1/consumer-shared-resources:
    x-lifecycle-stage: General Availability
    x-self-access: true
    get:
      x-lifecycle-stage: General Availability
      x-self-access: true
      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.  \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'
  /cdx/v1/consumer-shared-resources/{id}:
    x-lifecycle-stage: General Availability
    x-self-access: true
    get:
      x-lifecycle-stage: General Availability
      x-self-access: true
      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.  \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'
  /cdx/v1/consumer-shared-resources/{id}/images/{file_name}:
    x-lifecycle-stage: General Availability
    x-self-access: true
    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-lifecycle-stage: General Availability
      x-self-access: true
      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'
  /cdx/v1/consumer-shared-resources/{id}:network:
    x-lifecycle-stage: General Availability
    x-self-access: true
    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-lifecycle-stage: General Availability
      x-self-access: true
      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'
  /cdx/v1/consumer-shares:
    x-lifecycle-stage: General Availability
    x-self-access: true
    get:
      x-lifecycle-stage: General Availability
      x-self-access: true
      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.  \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'
  /cdx/v1/consumer-shares/{id}:
    x-lifecycle-stage: General Availability
    x-self-access: true
    get:
      x-lifecycle-stage: General Availability
      x-self-access: true
      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.  \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'
    delete:
      x-lifecycle-stage: General Availability
      x-self-access: true
      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.  \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'
  /cdx/v1/shared-tokens:resources:
    x-lifecycle-stage: General Availability
    x-self-access: true
    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-lifecycle-stage: General Availability
      x-self-access: true
      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'
  /cdx/v1/shared-tokens:redeem:
    x-lifecycle-stage: General Availability
    x-self-access: true
    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-lifecycle-stage: General Availability
      x-self-access: true
      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'
  /cdx/v1/opt-in:
    x-lifecycle-stage: General Availability
    x-self-access: true
    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.
      x-lifecycle-stage: General Availability
      x-self-access: true
      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.  \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:
      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.


      x-lifecycle-stage: General Availability
      x-self-access: true
      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.  \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'
        '409':
          $ref: '#/components/responses/ConflictError'
        '422':
          $ref: '#/components/responses/ValidationError'
        '429':
          $ref: '#/components/responses/RateLimitError'
        '500':
          $ref: '#/components/responses/DefaultSystemError'
  /partner/v2/organizations/{id}:
    x-lifecycle-stage: Early Access
    x-request-access-name: Partner v2
    get:
      x-lifecycle-stage: Early Access
      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

            import (
            	"fmt"
            	"net/http"
            	"io/ioutil"
            )

            func main() {

            	url := "https://api.confluent.cloud/partner/v2/organizations/{id}"

            	req, _ := http.NewRequest("GET", url, nil)

            	req.Header.Add("Authorization", "Bearer REPLACE_BEARER_TOKEN")

            	res, _ := http.DefaultClient.Do(req)

            	defer res.Body.Close()
            	body, _ := ioutil.ReadAll(res.Body)

            	fmt.Println(res)
            	fmt.Println(string(body))

            }
        - 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:
    x-lifecycle-stage: Early Access
    x-request-access-name: Partner v2
    get:
      x-lifecycle-stage: Early Access
      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

            import (
            	"fmt"
            	"net/http"
            	"io/ioutil"
            )

            func main() {

            	url := "https://api.confluent.cloud/partner/v2/organizations?page_size=SOME_INTEGER_VALUE&page_token=SOME_STRING_VALUE"

            	req, _ := http.NewRequest("GET", url, nil)

            	req.Header.Add("Authorization", "Bearer REPLACE_BEARER_TOKEN")

            	res, _ := http.DefaultClient.Do(req)

            	defer res.Body.Close()
            	body, _ := ioutil.ReadAll(res.Body)

            	fmt.Println(res)
            	fmt.Println(string(body))

            }
        - 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);
  /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'
      x-lifecycle-stage: Early Access
      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'
  /partner/v2/signup/activate:
    x-lifecycle-stage: Early Access
    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'
      x-lifecycle-stage: Early Access
      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'
  /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'
      x-lifecycle-stage: Early Access
      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'
  /networking/v1/networks:
    x-lifecycle-stage: General Availability
    x-self-access: true
    get:
      x-lifecycle-stage: General Availability
      x-self-access: true
      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.  \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: 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.  \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/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'
  /networking/v1/networks/{id}:
    x-lifecycle-stage: General Availability
    x-self-access: true
    get:
      x-lifecycle-stage: General Availability
      x-self-access: true
      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.  \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: 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.Network'
                - 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.  \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: 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.  \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'
  /networking/v1/peerings:
    x-lifecycle-stage: General Availability
    x-self-access: true
    get:
      x-lifecycle-stage: General Availability
      x-self-access: true
      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.  \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: 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.  \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/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'
  /networking/v1/peerings/{id}:
    x-lifecycle-stage: General Availability
    x-self-access: true
    get:
      x-lifecycle-stage: General Availability
      x-self-access: true
      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.  \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: 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.Peering'
                - 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.  \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: 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.  \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'
  /networking/v1/transit-gateway-attachments:
    x-lifecycle-stage: General Availability
    x-self-access: true
    get:
      x-lifecycle-stage: General Availability
      x-self-access: true
      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.  \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: 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.  \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/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'
  /networking/v1/transit-gateway-attachments/{id}:
    x-lifecycle-stage: General Availability
    x-self-access: true
    get:
      x-lifecycle-stage: General Availability
      x-self-access: true
      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.  \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: 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.TransitGatewayAttachment'
                - 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.  \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: 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.  \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'
  /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: |-
        [![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.  \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: |-
        [![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.  \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: |-
        [![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.  \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: |+
        [![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.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: |-
        [![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.  \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'
  /networking/v1/network-link-services:
    x-lifecycle-stage: General Availability
    x-self-access: true
    get:
      x-lifecycle-stage: General Availability
      x-self-access: true
      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.  \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: 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.  \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/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'
  /networking/v1/network-link-services/{id}:
    x-lifecycle-stage: General Availability
    x-self-access: true
    get:
      x-lifecycle-stage: General Availability
      x-self-access: true
      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.  \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: 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.NetworkLinkService'
                - 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.  \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: 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.  \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'
  /networking/v1/network-link-endpoints:
    x-lifecycle-stage: General Availability
    x-self-access: true
    get:
      x-lifecycle-stage: General Availability
      x-self-access: true
      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.  \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: 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.  \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/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'
  /networking/v1/network-link-endpoints/{id}:
    x-lifecycle-stage: General Availability
    x-self-access: true
    get:
      x-lifecycle-stage: General Availability
      x-self-access: true
      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.  \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: 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.NetworkLinkEndpoint'
                - 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.  \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: 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.  \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'
  /networking/v1/network-link-service-associations:
    x-lifecycle-stage: General Availability
    x-self-access: true
    get:
      x-lifecycle-stage: General Availability
      x-self-access: true
      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.  \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'
  /networking/v1/network-link-service-associations/{id}:
    x-lifecycle-stage: General Availability
    x-self-access: true
    get:
      x-lifecycle-stage: General Availability
      x-self-access: true
      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.  \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'
  /networking/v1/ip-addresses:
    x-lifecycle-stage: General Availability
    x-self-access: true
    get:
      x-lifecycle-stage: General Availability
      x-self-access: true
      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'
  /networking/v1/private-link-attachments:
    x-lifecycle-stage: General Availability
    x-self-access: true
    get:
      x-lifecycle-stage: General Availability
      x-self-access: true
      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.  \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: 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.  \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-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'
  /networking/v1/private-link-attachments/{id}:
    x-lifecycle-stage: General Availability
    x-self-access: true
    get:
      x-lifecycle-stage: General Availability
      x-self-access: true
      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.  \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: 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.PrivateLinkAttachment'
                - 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.  \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: 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.  \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'
  /networking/v1/private-link-attachment-connections:
    x-lifecycle-stage: General Availability
    x-self-access: true
    get:
      x-lifecycle-stage: General Availability
      x-self-access: true
      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.  \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: 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.  \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-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'
  /networking/v1/private-link-attachment-connections/{id}:
    x-lifecycle-stage: General Availability
    x-self-access: true
    get:
      x-lifecycle-stage: General Availability
      x-self-access: true
      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.  \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: 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.PrivateLinkAttachmentConnection'
                - 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.  \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'
        '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: 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.  \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'
  /iam/v2/identity-providers:
    x-lifecycle-stage: General Availability
    x-self-access: true
    get:
      x-lifecycle-stage: General Availability
      x-self-access: true
      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.  \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: 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.  \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/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'
  /iam/v2/identity-providers/{id}:
    x-lifecycle-stage: General Availability
    x-self-access: true
    get:
      x-lifecycle-stage: General Availability
      x-self-access: true
      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.  \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: 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.  \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: 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.  \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'
  /iam/v2/identity-providers/{provider_id}/jwks:
    x-lifecycle-stage: General Availability
    x-self-access: true
    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

      x-lifecycle-stage: General Availability
      x-self-access: true
      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.  \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'
        '409':
          $ref: '#/components/responses/ConflictError'
        '422':
          $ref: '#/components/responses/ValidationError'
        '429':
          $ref: '#/components/responses/RateLimitError'
        '500':
          $ref: '#/components/responses/DefaultSystemError'
  /iam/v2/identity-providers/{provider_id}/identity-pools:
    x-lifecycle-stage: General Availability
    x-self-access: true
    get:
      x-lifecycle-stage: General Availability
      x-self-access: true
      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.  \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: 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: assigned_resource_owner
          in: query
          required: false
          schema:
            $ref: '#/components/schemas/SearchFilter'
          example: u-a83k9b
          description: The resource_id of the principal who will be assigned resource
            owner on the created identity pool. Principal can be group-mapping (group-xxx),
            user (u-xxx), service-account (sa-xxx) or identity-pool (pool-xxx).
        - 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.  \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/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'
  /iam/v2/identity-providers/{provider_id}/identity-pools/{id}:
    x-lifecycle-stage: General Availability
    x-self-access: true
    get:
      x-lifecycle-stage: General Availability
      x-self-access: true
      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.  \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: 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.  \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: 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.  \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'
  /sts/v1/oauth2/token:
    x-lifecycle-stage: General Availability
    x-self-access: true
    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-lifecycle-stage: General Availability
      x-self-access: true
      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'
  /kafka-quotas/v1/client-quotas:
    x-lifecycle-stage: General Availability
    x-self-access: true
    get:
      x-lifecycle-stage: General Availability
      x-self-access: true
      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.  \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:
      requestBody:
        required: true
        content:
          application/json:
            schema:
              example:
                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
                  principals:
                    - id: sa-xxxxx
                  environment:
                    id: env-xxxxx
      x-lifecycle-stage: General Availability
      x-self-access: true
      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: []
      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.  \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/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'
  /kafka-quotas/v1/client-quotas/{id}:
    x-lifecycle-stage: General Availability
    x-self-access: true
    get:
      x-lifecycle-stage: General Availability
      x-self-access: true
      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.  \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: 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.ClientQuota'
                - 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.  \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'
        '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: 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.  \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'
  /byok/v1/keys:
    x-lifecycle-stage: General Availability
    x-self-access: true
    get:
      x-lifecycle-stage: General Availability
      x-self-access: true
      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: display_name
          in: query
          required: false
          schema:
            $ref: '#/components/schemas/SearchFilter'
          example: Key for billing cluster
          description: Filter the results by a partial search of display_name.
        - 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: validation_phase
          in: query
          required: false
          schema:
            $ref: '#/components/schemas/SearchFilter'
          description: Filter the results by exact match for validation_phase.
        - name: validation_region
          in: query
          required: false
          schema:
            $ref: '#/components/schemas/SearchFilter'
          example: us-west-2
          description: |
            Filter keys by the cloud region where they are deployed.
        - name: key
          in: query
          required: false
          schema:
            $ref: '#/components/schemas/SearchFilter'
          example: vault-name
          description: |
            Filters results by a partial match on the key identifier: key_arn for AWS, key_id for Azure and GCP.
        - 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.  \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: 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.  \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/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'
  /byok/v1/keys/{id}:
    x-lifecycle-stage: General Availability
    x-self-access: true
    get:
      x-lifecycle-stage: General Availability
      x-self-access: true
      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
                      - validation
          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: updateByokV1Key
      summary: Update a Key
      description: |+
        [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy)

        Make a request to update 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: []
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/byok.v1.Key'
      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
                      - validation
          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: 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.  \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'
  /billing/v1/costs:
    x-lifecycle-stage: General Availability
    x-self-access: true
    get:
      x-lifecycle-stage: General Availability
      x-self-access: true
      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.  \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'
  /iam/v2/sso/group-mappings:
    x-lifecycle-stage: General Availability
    x-self-access: true
    get:
      x-lifecycle-stage: General Availability
      x-self-access: true
      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.  \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: 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.  \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/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'
  /iam/v2/sso/group-mappings/{id}:
    x-lifecycle-stage: General Availability
    x-self-access: true
    get:
      x-lifecycle-stage: General Availability
      x-self-access: true
      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.  \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: 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.  \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: 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.  \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'
  /fcpm/v2/compute-pools:
    x-lifecycle-stage: General Availability
    x-self-access: true
    get:
      x-lifecycle-stage: General Availability
      x-self-access: true
      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.  \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: 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.  \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/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'
  /fcpm/v2/compute-pools/{id}:
    x-lifecycle-stage: General Availability
    x-self-access: true
    get:
      x-lifecycle-stage: General Availability
      x-self-access: true
      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.  \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: 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.ComputePool'
                - 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.  \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'
        '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: 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.  \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'
  /fcpm/v2/regions:
    x-lifecycle-stage: General Availability
    x-self-access: true
    get:
      x-lifecycle-stage: General Availability
      x-self-access: true
      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.  \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'
  /fcpm/v2/compute-pool-config:
    x-lifecycle-stage: General Availability
    x-self-access: true
    get:
      x-lifecycle-stage: General Availability
      x-self-access: true
      operationId: getFcpmV2OrgComputePoolConfig
      summary: Read an Org Compute Pool Config
      description: |-
        [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy)

        Make a request to read an org compute pool config.
      tags:
        - Org Compute Pool Configs (fcpm/v2)
      security:
        - cloud-api-key: []
        - confluent-sts-access-token: []
      responses:
        '200':
          description: Org Compute Pool Config.
          content:
            application/json:
              schema:
                allOf:
                  - $ref: '#/components/schemas/fcpm.v2.OrgComputePoolConfig'
                  - 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.  \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: updateFcpmV2OrgComputePoolConfig
      summary: Update an Org Compute Pool Config
      description: |-
        [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy)

        Make a request to update an org compute pool config.
      tags:
        - Org Compute Pool Configs (fcpm/v2)
      security:
        - cloud-api-key: []
        - confluent-sts-access-token: []
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/fcpm.v2.OrgComputePoolConfig'
      responses:
        '200':
          description: Org Compute Pool Config.
          content:
            application/json:
              schema:
                allOf:
                  - $ref: '#/components/schemas/fcpm.v2.OrgComputePoolConfig'
                  - 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.  \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'
        '409':
          $ref: '#/components/responses/ConflictError'
        '422':
          $ref: '#/components/responses/ValidationError'
        '429':
          $ref: '#/components/responses/RateLimitError'
        '500':
          $ref: '#/components/responses/DefaultSystemError'
  /sql/v1/organizations/{organization_id}/environments/{environment_id}/connections:
    servers:
      - url: https://flink.region.provider.confluent.cloud
        description: Flink Compute Pool Endpoint

    x-lifecycle-stage: Preview
    x-self-access: true
    x-request-access-name: SQL API v1
    get:
      x-lifecycle-stage: Preview
      x-self-access: true
      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: [AZUREML, AZUREOPENAI, A2A, ANTHROPIC, BEDROCK, CONFLUENT_JDBC,
              COSMOSDB, COUCHBASE, ELASTIC, FIREWORKSAI, GOOGLEAI, MCP_SERVER, MONGODB,
              OPENAI, PINECONE, REST, S3VECTORS, SAGEMAKER, VERTEXAI]
          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'
    post:
      x-lifecycle-stage: Preview
      x-self-access: false
      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'

  /sql/v1/organizations/{organization_id}/environments/{environment_id}/connections/{connection_name}:
    servers:
      - url: https://flink.region.provider.confluent.cloud
        description: Flink Compute Pool Endpoint

    x-lifecycle-stage: Preview
    x-self-access: true
    x-request-access-name: SQL API v1
    get:
      x-lifecycle-stage: Preview
      x-self-access: true
      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'
    delete:
      x-lifecycle-stage: Preview
      x-self-access: false
      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'
    put:
      x-lifecycle-stage: Preview
      x-self-access: false
      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

  # Statement Results API
  /sql/v1/organizations/{organization_id}/environments/{environment_id}/statements/{name}/results:
    servers:
      - url: https://flink.region.provider.confluent.cloud
        description: Flink Compute Pool Endpoint

    x-lifecycle-stage: General Availability
    x-self-access: true
    x-request-access-name: SQL API v1
    get:
      x-lifecycle-stage: General Availability
      x-self-access: true
      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: []
        - external-access-token: []
      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'

  # Statements API
  /sql/v1/organizations/{organization_id}/environments/{environment_id}/statements:
    servers:
      - url: https://flink.region.provider.confluent.cloud
        description: Flink Compute Pool Endpoint

    x-lifecycle-stage: General Availability
    x-self-access: true
    x-request-access-name: SQL API v1
    get:
      x-lifecycle-stage: General Availability
      x-self-access: true
      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_id.
            When creating statements, if compute_pool_id is not specified, the statement will use the default compute pool. The default pool is automatically determined by the system.
        - 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: []
        - external-access-token: []
      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'
    post:
      x-lifecycle-stage: General Availability
      x-self-access: true
      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: []
        - external-access-token: []
      requestBody:
        content:
          application/json:
            schema:
              allOf:
                - $ref: '#/components/schemas/sql.v1.Statement'
                - type: object
                  required:
                    - spec
                    - name
                  properties:
                    spec:
                      type: object
                      required:
                        - statement

      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
        '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'
  /sql/v1/organizations/{organization_id}/environments/{environment_id}/statements/{statement_name}:
    servers:
      - url: https://flink.region.provider.confluent.cloud
        description: Flink Compute Pool Endpoint

    x-lifecycle-stage: General Availability
    x-self-access: true
    x-request-access-name: SQL API v1
    get:
      x-lifecycle-stage: General Availability
      x-self-access: true
      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: []
        - external-access-token: []
      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
          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'
    delete:
      x-lifecycle-stage: General Availability
      x-self-access: true
      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: []
        - external-access-token: []
      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'
    put:
      x-lifecycle-stage: General Availability
      x-self-access: true
      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: []
        - external-access-token: []
      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
    patch:
      x-lifecycle-stage: General Availability
      x-self-access: true
      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: []
        - external-access-token: []
      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
        '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'

  # Exceptions API
  /sql/v1/organizations/{organization_id}/environments/{environment_id}/statements/{statement_name}/exceptions:
    servers:
      - url: https://flink.region.provider.confluent.cloud
        description: Flink Compute Pool Endpoint

    x-lifecycle-stage: General Availability
    x-self-access: true
    x-request-access-name: SQL API v1
    get:
      x-lifecycle-stage: General Availability
      x-self-access: true
      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: []
        - external-access-token: []
      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'

  # List Materialized Tables
  /sql/v1/organizations/{organization_id}/environments/{environment_id}/materialized-tables:
    servers:
      - url: https://flink.region.provider.confluent.cloud
        description: Flink Compute Pool Endpoint

    get:
      x-lifecycle-stage: General Availability
      x-self-access: true
      x-request-access-name: SQL API v1
      operationId: listSqlv1MaterializedTables
      summary: List all materialized tables
      description: |
        [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy)

        Retrieve a sorted and paginated list of all materialized tables.
      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: page_size
          in: query
          required: false
          schema:
            type: integer
            format: int32
            default: 10
            maximum: 100
          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:
        - Materialized Tables (sql/v1)
      security:
        - resource-api-key: []
        - external-access-token: []
      responses:
        '200':
          description: A list of Materialized Tables.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/sql.v1.MaterializedTableList'
          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'

  # Create a materialized table
  /sql/v1/organizations/{organization_id}/environments/{environment_id}/databases/{kafka_cluster_id}/materialized-tables:
    servers:
      - url: https://flink.region.provider.confluent.cloud
        description: Flink Compute Pool Endpoint

    post:
      x-lifecycle-stage: General Availability
      operationId: createSqlv1MaterializedTable
      summary: Create a materialized table
      description: |
        [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy)

        Create a new Materialized Table.
      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.
        - in: path
          name: kafka_cluster_id
          required: true
          schema:
            type: string
          description: The unique identifier for the database.
      tags:
        - Materialized Tables (sql/v1)
      security:
        - resource-api-key: []
        - external-access-token: []
      requestBody:
        required: true
        content:
          application/json:
            schema:
              allOf:
                - $ref: '#/components/schemas/sql.v1.MaterializedTable'
                - type: object
                  required:
                    - name
                    - spec
                  properties:
                    spec:
                      type: object
                      required:
                        - query
                        - kafka_cluster_id
      responses:
        '201':
          description: Materialized Table 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}/databases/{kafka_cluster_id}/materialized-tables/{table_name}
              description: Materialized Table uri
          content:
            application/json:
              schema:
                allOf:
                  - $ref: '#/components/schemas/sql.v1.MaterializedTable'
                  - type: object
                    required:
                      - spec
                      - status
                    properties:
                      spec:
                        type: object
                        required:
                          - query
                          - compute_pool_id
                          - principal
        '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'
  # Get, Update, and Delete a specific Materialized Table
  /sql/v1/organizations/{organization_id}/environments/{environment_id}/databases/{kafka_cluster_id}/materialized-tables/{table_name}:
    servers:
      - url: https://flink.region.provider.confluent.cloud
        description: Flink Compute Pool Endpoint

    get:
      x-lifecycle-stage: General Availability
      operationId: getSqlv1MaterializedTable
      summary: Read a materialized table
      description: |
        [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy)

        Retrieve a specific Materialized Table by name.
      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.
        - in: path
          name: kafka_cluster_id
          required: true
          schema:
            type: string
          description: The unique identifier for the database.
        - name: table_name
          in: path
          required: true
          schema:
            type: string
          description: The unique identifier for the Materialized Table
      tags:
        - Materialized Tables (sql/v1)
      security:
        - resource-api-key: []
        - external-access-token: []
      responses:
        '200':
          description: The requested Materialized Table.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/sql.v1.MaterializedTable'
          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'
    put:
      x-lifecycle-stage: General Availability
      operationId: updateSqlv1MaterializedTable
      summary: Update/Evolve a materialized table
      description: |
        [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy)

        Make a request to update a Materialized Table's mutable fields.
        Mutable fields include: `query`, `stopped`, `compute_pool_id`, and `principal`.
      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.
        - in: path
          name: kafka_cluster_id
          required: true
          schema:
            type: string
          description: The unique identifier for the database.
        - name: table_name
          in: path
          required: true
          schema:
            type: string
          description: The unique identifier for the Materialized Table
      tags:
        - Materialized Tables (sql/v1)
      security:
        - resource-api-key: []
        - external-access-token: []
      requestBody:
        description: The Materialized Table resource with updated spec fields.
        required: true
        content:
          application/json:
            schema:
              allOf:
                - $ref: '#/components/schemas/sql.v1.MaterializedTable'
                - type: object
                  required:
                    - spec
                    - name
                    - metadata
                  properties:
                    spec:
                      type: object
                      required:
                        - kafka_cluster_id
                    metadata:
                      type: object
                      required:
                        - resource_version
      responses:
        '200':
          description: Materialized Table update accepted.
          headers:
            X-Request-Id:
              schema:
                type: string
              description: The unique identifier for the API request.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/sql.v1.MaterializedTable'
        '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'
    delete:
      x-lifecycle-stage: General Availability
      operationId: deleteSqlv1MaterializedTable
      summary: Delete a materialized table
      description: |
        [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy)

        Delete a specific Materialized Table by name.
      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.
        - in: path
          name: kafka_cluster_id
          required: true
          schema:
            type: string
          description: The unique identifier for the database.
        - name: table_name
          in: path
          required: true
          schema:
            type: string
          description: The unique identifier for the Materialized Table
      tags:
        - Materialized Tables (sql/v1)
      security:
        - resource-api-key: []
        - external-access-token: []
      responses:
        '202':
          description: A Materialized Table 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'

  # Materialized Table Versions API
  /sql/v1/organizations/{organization_id}/environments/{environment_id}/databases/{kafka_cluster_id}/materialized-tables/{table_name}/versions:
    servers:
      - url: https://flink.region.provider.confluent.cloud
        description: Flink Compute Pool Endpoint

    get:
      x-lifecycle-stage: General Availability
      x-self-access: true
      x-request-access-name: SQL API v1
      operationId: listSqlv1MaterializedTableVersions
      summary: List all the versions of a materialized table
      description: |
        [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy)

        Retrieve a sorted and paginated list of all versions for a specific Materialized Table.
      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.
        - in: path
          name: kafka_cluster_id
          required: true
          schema:
            type: string
          description: The unique identifier for the database.
        - in: path
          name: table_name
          required: true
          schema:
            type: string
          description: The unique identifier for the Materialized Table.
        - name: page_size
          in: query
          required: false
          schema:
            type: integer
            format: int32
            default: 10
            maximum: 100
          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:
        - Materialized Table Versions (sql/v1)
      security:
        - resource-api-key: []
        - external-access-token: []
      responses:
        '200':
          description: A list of Materialized Table Versions.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/sql.v1.MaterializedTableVersionList'
          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'

  /sql/v1/organizations/{organization_id}/environments/{environment_id}/databases/{kafka_cluster_id}/materialized-tables/{table_name}/versions/{version}:
    servers:
      - url: https://flink.region.provider.confluent.cloud
        description: Flink Compute Pool Endpoint

    get:
      x-lifecycle-stage: General Availability
      x-self-access: true
      x-request-access-name: SQL API v1
      operationId: getSqlv1MaterializedTableVersion
      summary: Read a materialized table version
      description: |
        [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy)

        Retrieve a specific version of a Materialized Table.
      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.
        - in: path
          name: kafka_cluster_id
          required: true
          schema:
            type: string
          description: The unique identifier for the database.
        - in: path
          name: table_name
          required: true
          schema:
            type: string
          description: The unique identifier for the Materialized Table.
        - in: path
          name: version
          required: true
          schema:
            type: integer
            format: int32
            minimum: 1
          description: The version number of the Materialized Table.
      tags:
        - Materialized Table Versions (sql/v1)
      security:
        - resource-api-key: []
        - external-access-token: []
      responses:
        '200':
          description: The requested Materialized Table Version.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/sql.v1.MaterializedTableVersion'
          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'
  # List Agents
  /sql/v1/organizations/{organization_id}/environments/{environment_id}/agents:
    servers:
      - url: https://flink.region.provider.confluent.cloud
        description: Flink Compute Pool Endpoint

    get:
      x-lifecycle-stage: Preview
      x-self-access: true
      x-request-access-name: SQL API v1
      operationId: listSqlv1Agents
      summary: List all agents
      description: |
        [![Preview](https://img.shields.io/badge/Lifecycle%20Stage-Preview-%2300af91)](#section/Versioning/API-Lifecycle-Policy)

        Retrieve a sorted and paginated list of all agents.
      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: page_size
          in: query
          required: false
          schema:
            type: integer
            format: int32
            default: 10
            maximum: 100
          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:
        - Agents (sql/v1)
      security:
        - resource-api-key: []
        - external-access-token: []
      responses:
        '200':
          description: A list of Agents.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/sql.v1.AgentList'
          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'

  # Create an agent
  /sql/v1/organizations/{organization_id}/environments/{environment_id}/databases/{kafka_cluster_id}/agents:
    servers:
      - url: https://flink.region.provider.confluent.cloud
        description: Flink Compute Pool Endpoint

    post:
      x-lifecycle-stage: Preview
      operationId: createSqlv1Agent
      summary: Create an Agent
      description: |
        [![Preview](https://img.shields.io/badge/Lifecycle%20Stage-Preview-%2300af91)](#section/Versioning/API-Lifecycle-Policy)

        Make a request to create an Agent.
      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.
        - in: path
          name: kafka_cluster_id
          required: true
          schema:
            type: string
          description: The unique identifier for the database.
      tags:
        - Agents (sql/v1)
      security:
        - resource-api-key: []
        - external-access-token: []
      requestBody:
        content:
          application/json:
            schema:
              allOf:
                - $ref: '#/components/schemas/sql.v1.Agent'
                - type: object
                  required:
                    - name
                    - spec
                  properties:
                    spec:
                      type: object
                      required:
                        - model
                        - prompt
      responses:
        '200':
          description: Agent.
          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}/databases/{kafka_cluster_id}/agents/{agent_name}
              description: Agent uri
          content:
            application/json:
              schema:
                allOf:
                  - $ref: '#/components/schemas/sql.v1.Agent'
                  - type: object
                    required:
                      - name
                      - spec
                    properties:
                      spec:
                        type: object
                        required:
                          - model
                          - prompt
        '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'
  # Get, Update, and Delete a specific Agent
  /sql/v1/organizations/{organization_id}/environments/{environment_id}/databases/{kafka_cluster_id}/agents/{agent_name}:
    servers:
      - url: https://flink.region.provider.confluent.cloud
        description: Flink Compute Pool Endpoint

    get:
      x-lifecycle-stage: Preview
      operationId: getSqlv1Agent
      summary: Read an Agent
      description: |
        [![Preview](https://img.shields.io/badge/Lifecycle%20Stage-Preview-%2300af91)](#section/Versioning/API-Lifecycle-Policy)

        Retrieve a specific Agent by name.
      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.
        - in: path
          name: kafka_cluster_id
          required: true
          schema:
            type: string
          description: The unique identifier for the database.
        - name: agent_name
          in: path
          required: true
          schema:
            type: string
          description: The unique identifier for the Agent
      tags:
        - Agents (sql/v1)
      security:
        - resource-api-key: []
        - external-access-token: []
      responses:
        '200':
          description: The requested Agent.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/sql.v1.Agent'
          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'
    put:
      x-lifecycle-stage: Preview
      operationId: updateSqlv1Agent
      summary: Alter an Agent
      description: |
        [![Preview](https://img.shields.io/badge/Lifecycle%20Stage-Preview-%2300af91)](#section/Versioning/API-Lifecycle-Policy)

        Make a request to update an Agent's mutable fields.
        Mutable fields include: `description`, `model`, `prompt`, and `properties`.
      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.
        - in: path
          name: kafka_cluster_id
          required: true
          schema:
            type: string
          description: The unique identifier for the database.
        - name: agent_name
          in: path
          required: true
          schema:
            type: string
          description: The unique identifier for the Agent
      tags:
        - Agents (sql/v1)
      security:
        - resource-api-key: []
        - external-access-token: []
      requestBody:
        description: The Agent resource with updated spec fields.
        required: true
        content:
          application/json:
            schema:
              allOf:
                - $ref: '#/components/schemas/sql.v1.Agent'
                - type: object
                  required:
                    - spec
                    - name
                    - metadata
                  properties:
                    metadata:
                      type: object
                      required:
                        - resource_version
      responses:
        '200':
          description: Agent has been updated.
          headers:
            X-Request-Id:
              schema:
                type: string
              description: The unique identifier for the API request.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/sql.v1.Agent'
        '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'
    delete:
      x-lifecycle-stage: Preview
      operationId: deleteSqlv1Agent
      summary: Delete an Agent
      description: |
        [![Preview](https://img.shields.io/badge/Lifecycle%20Stage-Preview-%2300af91)](#section/Versioning/API-Lifecycle-Policy)

        Delete a specific Agent by name.
      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.
        - in: path
          name: kafka_cluster_id
          required: true
          schema:
            type: string
          description: The unique identifier for the database.
        - name: agent_name
          in: path
          required: true
          schema:
            type: string
          description: The unique identifier for the Agent
      tags:
        - Agents (sql/v1)
      security:
        - resource-api-key: []
        - external-access-token: []
      responses:
        '200':
          description: A Agent 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'


  # Tools API
  /sql/v1/organizations/{organization_id}/environments/{environment_id}/databases/{database_name}/tools:
    servers:
      - url: https://flink.region.provider.confluent.cloud
        description: Flink Compute Pool Endpoint

    x-lifecycle-stage: Preview
    x-self-access: true
    x-request-access-name: SQL API v1
    post:
      x-lifecycle-stage: Preview
      x-self-access: false
      x-request-access-name: SQL API v1
      operationId: createSqlv1Tool
      summary: Create a Tool
      description: |-
        [![Preview](https://img.shields.io/badge/Lifecycle%20Stage-Preview-%2300afba)](#section/Versioning/API-Lifecycle-Policy)

        Make a request to create a Tool.
      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.
        - in: path
          name: database_name
          required: true
          schema:
            type: string
          description: The name of the database.
      tags:
        - Tools (sql/v1)
      security:
        - resource-api-key: []
      requestBody:
        content:
          application/json:
            schema:
              allOf:
                - $ref: '#/components/schemas/sql.v1.Tool'
                - type: object
                  required:
                    - name
                    - spec

      responses:
        '200':
          description: A Tool 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}/databases/{database_name}/tools/{name}
              description: Tool resource uri
          content:
            application/json:
              schema:
                allOf:
                  - $ref: '#/components/schemas/sql.v1.Tool'
                  - type: object
                    required:
                      - name
                      - spec
        '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'
    get:
      x-lifecycle-stage: Preview
      x-self-access: true
      x-request-access-name: SQL API v1
      operationId: listSqlv1Tools
      summary: List of Tools
      description: |-
        [![Preview](https://img.shields.io/badge/Lifecycle%20Stage-Preview-%2300afba)](#section/Versioning/API-Lifecycle-Policy)

        Retrieve a sorted, filtered, paginated list of all Tools.
      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.
        - in: path
          name: database_name
          required: true
          schema:
            type: string
          description: The name of the database.
        - 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:
        - Tools (sql/v1)
      security:
        - resource-api-key: []
      responses:
        '200':
          description: Tools.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/sql.v1.ToolList'
          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'

  /sql/v1/organizations/{organization_id}/environments/{environment_id}/databases/{database_name}/tools/{tool_name}:
    servers:
      - url: https://flink.region.provider.confluent.cloud
        description: Flink Compute Pool Endpoint

    x-lifecycle-stage: Preview
    x-self-access: true
    x-request-access-name: SQL API v1
    get:
      x-lifecycle-stage: Preview
      x-self-access: true
      x-request-access-name: SQL API v1
      operationId: getSqlv1Tool
      summary: Read a Tool
      description: |-
        [![Preview](https://img.shields.io/badge/Lifecycle%20Stage-Preview-%2300afba)](#section/Versioning/API-Lifecycle-Policy)

        Make a request to read a Tool.
      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: database_name
          in: path
          required: true
          schema:
            type: string
          description: The name of the database.
        - name: tool_name
          in: path
          required: true
          schema:
            type: string
          description: The user provided name of the Tool.
      tags:
        - Tools (sql/v1)
      security:
        - resource-api-key: []
      responses:
        '200':
          description: Tool.
          content:
            application/json:
              schema:
                allOf:
                  - $ref: '#/components/schemas/sql.v1.Tool'
                  - type: object
                    required:
                      - api_version
                      - kind
                      - metadata
                      - name
                      - spec
          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'
    delete:
      x-lifecycle-stage: Preview
      x-self-access: false
      x-request-access-name: SQL API v1
      operationId: deleteSqlv1Tool
      summary: Delete a Tool
      description: |-
        [![Preview](https://img.shields.io/badge/Lifecycle%20Stage-Preview-%2300afba)](#section/Versioning/API-Lifecycle-Policy)

        Make a request to delete a Tool.
      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: database_name
          in: path
          required: true
          schema:
            type: string
          description: The name of the database.
        - name: tool_name
          in: path
          required: true
          schema:
            type: string
          description: The user provided name of the Tool.
      tags:
        - Tools (sql/v1)
      security:
        - resource-api-key: []
      responses:
        '200':
          description: A Tool 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'

  /networking/v1/dns-forwarders:
    x-lifecycle-stage: General Availability
    x-self-access: true
    get:
      x-lifecycle-stage: General Availability
      x-self-access: true
      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.  \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: 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.  \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/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'
  /networking/v1/dns-forwarders/{id}:
    x-lifecycle-stage: General Availability
    x-self-access: true
    get:
      x-lifecycle-stage: General Availability
      x-self-access: true
      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.  \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: 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.DnsForwarder'
                - 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.  \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'
        '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: 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.  \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'
  /networking/v1/access-points:
    x-lifecycle-stage: General Availability
    x-self-access: true
    get:
      x-lifecycle-stage: General Availability
      x-self-access: true
      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: id
          in: query
          required: false
          schema:
            $ref: '#/components/schemas/MultipleSearchFilter'
          example: [ap-1, ap-2]
          description: Filter the results by exact match for id. 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.  \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: 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.  \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/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'
  /networking/v1/access-points/{id}:
    x-lifecycle-stage: General Availability
    x-self-access: true
    get:
      x-lifecycle-stage: General Availability
      x-self-access: true
      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.  \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: 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.AccessPoint'
                - 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.  \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'
        '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: 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.  \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'
  /networking/v1/dns-records:
    x-lifecycle-stage: General Availability
    x-self-access: true
    get:
      x-lifecycle-stage: General Availability
      x-self-access: true
      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.  \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: 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.  \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/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'
  /networking/v1/dns-records/{id}:
    x-lifecycle-stage: General Availability
    x-self-access: true
    get:
      x-lifecycle-stage: General Availability
      x-self-access: true
      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.  \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: 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.DnsRecord'
                - 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.  \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'
        '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: 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.  \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'
  /iam/v2/certificate-authorities:
    x-lifecycle-stage: General Availability
    x-self-access: true
    get:
      x-lifecycle-stage: General Availability
      x-self-access: true
      operationId: listIamV2CertificateAuthorities
      summary: List of Certificate Authorities
      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 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.  \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:
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/iam.v2.CreateCertRequest'
      x-lifecycle-stage: General Availability
      x-self-access: true
      operationId: createIamV2CertificateAuthority
      summary: Create a Certificate Authority
      description: |-
        [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%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.  \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/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'
  /iam/v2/certificate-authorities/{id}:
    x-lifecycle-stage: General Availability
    x-self-access: true
    get:
      x-lifecycle-stage: General Availability
      x-self-access: true
      operationId: getIamV2CertificateAuthority
      summary: Read a Certificate Authority
      description: |-
        [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%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.  \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'
    put:
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/iam.v2.UpdateCertRequest'
      x-lifecycle-stage: General Availability
      x-self-access: true
      operationId: updateIamV2CertificateAuthority
      summary: Update a Certificate Authority
      description: |+
        [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%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.  \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: deleteIamV2CertificateAuthority
      summary: Delete a Certificate Authority
      description: |-
        [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%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.  \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'
  /iam/v2/certificate-authorities/{certificate_authority_id}/identity-pools:
    x-lifecycle-stage: General Availability
    x-self-access: true
    get:
      x-lifecycle-stage: General Availability
      x-self-access: true
      operationId: listIamV2CertificateIdentityPools
      summary: List of Certificate 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 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.  \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: createIamV2CertificateIdentityPool
      summary: Create a Certificate 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 a certificate identity pool.
      parameters:
        - name: assigned_resource_owner
          in: query
          required: false
          schema:
            $ref: '#/components/schemas/SearchFilter'
          example: u-a83k9b
          description: The resource_id of the principal who will be assigned resource
            owner on the created certificate identity pool. Principal can be group-mapping
            (group-xxx), user (u-xxx), service-account (sa-xxx) or identity-pool (pool-xxx).
        - 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.  \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/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'
  /iam/v2/certificate-authorities/{certificate_authority_id}/identity-pools/{id}:
    x-lifecycle-stage: General Availability
    x-self-access: true
    get:
      x-lifecycle-stage: General Availability
      x-self-access: true
      operationId: getIamV2CertificateIdentityPool
      summary: Read a Certificate 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 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.  \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'
    put:
      x-lifecycle-stage: General Availability
      x-self-access: true
      operationId: updateIamV2CertificateIdentityPool
      summary: Update a Certificate 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 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.  \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: deleteIamV2CertificateIdentityPool
      summary: Delete a Certificate 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 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.  \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'
  /pim/v1/integrations:
    x-lifecycle-stage: General Availability
    x-self-access: true
    get:
      x-lifecycle-stage: General Availability
      x-self-access: true
      operationId: listPimV1Integrations
      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.

        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.  \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: createPimV1Integration
      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 (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.  \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/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'
  /pim/v1/integrations/{id}:
    x-lifecycle-stage: General Availability
    x-self-access: true
    get:
      x-lifecycle-stage: General Availability
      x-self-access: true
      operationId: getPimV1Integration
      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: 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.  \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'
    delete:
      x-lifecycle-stage: General Availability
      x-self-access: true
      operationId: deletePimV1Integration
      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.

        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.  \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'
  /pim/v2/integrations:
    x-lifecycle-stage: Early Access
    x-self-access: false
    x-request-access-name: Provider Integration
    get:
      x-lifecycle-stage: Early Access
      x-self-access: false
      x-request-access-name: Provider Integration
      operationId: listPimV2Integrations
      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-v2-early-access@confluent.io?subject=Request%20to%20join%20pim/v2%20API%20Early%20Access&body=I%E2%80%99d%20like%20to%20join%20the%20Confluent%20Cloud%20API%20Early%20Access%20for%20pim/v2%20to%20provide%20early%20feedback%21%20My%20Cloud%20Organization%20ID%20is%20%3Cretrieve%20from%20https%3A//confluent.cloud/settings/billing/payment%3E.)

        Retrieve a sorted, filtered, paginated list of all integrations.

        If no `provider` filter is specified, returns provider integrations from all clouds.
      parameters:
        - name: display_name
          in: query
          required: false
          schema:
            $ref: '#/components/schemas/SearchFilter'
          example: bigquery_provider_integration
          description: Filter the results by a partial search of display_name.
        - name: provider
          in: query
          required: false
          schema:
            $ref: '#/components/schemas/SearchFilter'
          example: GCP
          description: Filter the results by exact match for provider.
        - name: status
          in: query
          required: false
          schema:
            $ref: '#/components/schemas/SearchFilter'
          example: CREATED
          description: Filter the results by exact match for status.
        - 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/v2)
      security:
        - cloud-api-key: []
        - confluent-sts-access-token: []
      responses:
        '200':
          description: Integration.
          content:
            application/json:
              schema:
                allOf:
                  - $ref: '#/components/schemas/pim.v2.IntegrationList'
                  - type: object
                    properties:
                      data:
                        type: array
                        items:
                          properties:
                            environment:
                              example:
                                id: env-00000
                                related: https://api.confluent.cloud/v2/environments/env-00000
                                resource_name: https://api.confluent.cloud/organization=9bb441c4-edef-46ac-8a41-c49e44a3fd9a/environment=env-00000
          headers:
            X-Request-Id:
              schema:
                type: string
              description: The unique identifier for the API request.
            X-RateLimit-Limit:
              schema:
                type: integer
              description: The maximum number of requests you're permitted to make
                per time period.
            X-RateLimit-Remaining:
              schema:
                type: integer
              description: The number of requests remaining in the current rate limit
                window.
            X-RateLimit-Reset:
              schema:
                type: integer
              description: "The relative time in seconds until the current rate-limit\
                \ window resets.  \n  \n**Important:** This differs from Github and\
                \ Twitter's same-named header which uses UTC epoch seconds. We use\
                \ relative time to avoid client/server time synchronization issues."
        '400':
          $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: Early Access
      x-self-access: false
      x-request-access-name: Provider Integration
      operationId: createPimV2Integration
      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-v2-early-access@confluent.io?subject=Request%20to%20join%20pim/v2%20API%20Early%20Access&body=I%E2%80%99d%20like%20to%20join%20the%20Confluent%20Cloud%20API%20Early%20Access%20for%20pim/v2%20to%20provide%20early%20feedback%21%20My%20Cloud%20Organization%20ID%20is%20%3Cretrieve%20from%20https%3A//confluent.cloud/settings/billing/payment%3E.)

        Make a request to create an integration.
      tags:
        - Integrations (pim/v2)
      security:
        - cloud-api-key: []
        - confluent-sts-access-token: []
      requestBody:
        content:
          application/json:
            schema:
              allOf:
                - $ref: '#/components/schemas/pim.v2.Integration'
                - type: object
                  required:
                    - 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.  \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/pim/v2/integrations/{id}
              description: Integration resource uri
          content:
            application/json:
              schema:
                allOf:
                  - $ref: '#/components/schemas/pim.v2.Integration'
                  - type: object
                    required:
                      - status
                      - 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'
  /pim/v2/integrations/{id}:
    x-lifecycle-stage: Early Access
    x-self-access: false
    x-request-access-name: Provider Integration
    get:
      x-lifecycle-stage: Early Access
      x-self-access: false
      x-request-access-name: Provider Integration
      operationId: getPimV2Integration
      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-v2-early-access@confluent.io?subject=Request%20to%20join%20pim/v2%20API%20Early%20Access&body=I%E2%80%99d%20like%20to%20join%20the%20Confluent%20Cloud%20API%20Early%20Access%20for%20pim/v2%20to%20provide%20early%20feedback%21%20My%20Cloud%20Organization%20ID%20is%20%3Cretrieve%20from%20https%3A//confluent.cloud/settings/billing/payment%3E.)

        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/v2)
      security:
        - cloud-api-key: []
        - confluent-sts-access-token: []
      responses:
        '200':
          description: Integration.
          content:
            application/json:
              schema:
                allOf:
                  - $ref: '#/components/schemas/pim.v2.Integration'
                  - type: object
                    required:
                      - api_version
                      - kind
                      - id
                      - status
                      - 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.  \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: Early Access
      x-self-access: false
      x-request-access-name: Provider Integration
      operationId: updatePimV2Integration
      summary: Update 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-v2-early-access@confluent.io?subject=Request%20to%20join%20pim/v2%20API%20Early%20Access&body=I%E2%80%99d%20like%20to%20join%20the%20Confluent%20Cloud%20API%20Early%20Access%20for%20pim/v2%20to%20provide%20early%20feedback%21%20My%20Cloud%20Organization%20ID%20is%20%3Cretrieve%20from%20https%3A//confluent.cloud/settings/billing/payment%3E.)

        Make a request to update an integration.

        This request only works for integrations with `DRAFT` status.


      parameters:
        - name: id
          in: path
          required: true
          schema:
            type: string
          description: The unique identifier for the integration.
      tags:
        - Integrations (pim/v2)
      security:
        - cloud-api-key: []
        - confluent-sts-access-token: []
      requestBody:
        content:
          application/json:
            schema:
              allOf:
                - $ref: '#/components/schemas/pim.v2.Integration'
                - type: object
                  required:
                    - environment
                  properties:
                    environment:
                      example:
                        id: env-00000
      responses:
        '200':
          description: Integration.
          content:
            application/json:
              schema:
                allOf:
                  - $ref: '#/components/schemas/pim.v2.Integration'
                  - type: object
                    required:
                      - api_version
                      - kind
                      - id
                      - status
                      - 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.  \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'
        '409':
          $ref: '#/components/responses/ConflictError'
        '422':
          $ref: '#/components/responses/ValidationError'
        '429':
          $ref: '#/components/responses/RateLimitError'
        '500':
          $ref: '#/components/responses/DefaultSystemError'
    delete:
      x-lifecycle-stage: Early Access
      x-self-access: false
      x-request-access-name: Provider Integration
      operationId: deletePimV2Integration
      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-v2-early-access@confluent.io?subject=Request%20to%20join%20pim/v2%20API%20Early%20Access&body=I%E2%80%99d%20like%20to%20join%20the%20Confluent%20Cloud%20API%20Early%20Access%20for%20pim/v2%20to%20provide%20early%20feedback%21%20My%20Cloud%20Organization%20ID%20is%20%3Cretrieve%20from%20https%3A//confluent.cloud/settings/billing/payment%3E.)

        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/v2)
      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.  \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'
  /pim/v2/integrations:validate:
    x-lifecycle-stage: Early Access
    x-self-access: false
    x-request-access-name: Provider Integration
    post:
      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-v2-early-access@confluent.io?subject=Request%20to%20join%20pim/v2%20API%20Early%20Access&body=I%E2%80%99d%20like%20to%20join%20the%20Confluent%20Cloud%20API%20Early%20Access%20for%20pim/v2%20to%20provide%20early%20feedback%21%20My%20Cloud%20Organization%20ID%20is%20%3Cretrieve%20from%20https%3A//confluent.cloud/settings/billing/payment%3E.)

        Validate the provider integration configuration.
      requestBody:
        content:
          application/json:
            schema:
              allOf:
                - $ref: '#/components/schemas/pim.v2.IntegrationValidateRequest'
                - type: object
                  required:
                    - id
                    - environment
      x-lifecycle-stage: Early Access
      x-self-access: false
      x-request-access-name: Provider Integration
      x-name: pim.v2.Integration
      operationId: validatePimV2Integration
      summary: Validate an Integration
      tags:
        - Integrations (pim/v2)
      security:
        - cloud-api-key: []
        - confluent-sts-access-token: []
      responses:
        '204':
          description: The provider integration configuration is validated successfully.
        '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'
  /artifact/v1/flink-artifacts:
    x-lifecycle-stage: General Availability
    x-self-access: true
    get:
      x-lifecycle-stage: General Availability
      x-self-access: true
      operationId: listArtifactV1FlinkArtifacts
      summary: List of Flink Artifacts
      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 flink artifacts.
      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: 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:
        - 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.  \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:
      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: Unique name of the Flink Artifact per cloud, region,
                    environment scope.
                  maxLength: 60
                class:
                  type: string
                  description: Java class or alias for the artifact as provided by
                    developer. Deprecated
                  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
                  deprecated: 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: Documentation 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
                - upload_source
      x-lifecycle-stage: General Availability
      x-self-access: true
      operationId: createArtifactV1FlinkArtifact
      description: |-
        [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy)

        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.  \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/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
                      - 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'
  /artifact/v1/flink-artifacts/{id}:
    x-lifecycle-stage: General Availability
    x-self-access: true
    get:
      x-lifecycle-stage: General Availability
      x-self-access: true
      operationId: getArtifactV1FlinkArtifact
      summary: Read a Flink Artifact
      description: |-
        [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy)

        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: 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 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
                      - 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.  \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: updateArtifactV1FlinkArtifact
      summary: Update a Flink Artifact
      description: |+
        [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy)

        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: 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 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.FlinkArtifact'
      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
                      - 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.  \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'
        '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: deleteArtifactV1FlinkArtifact
      summary: Delete a Flink Artifact
      description: |-
        [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy)

        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: 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 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.  \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'
  /artifact/v1/presigned-upload-url:
    x-lifecycle-stage: General Availability
    x-self-access: true
    post:
      summary: Request a presigned upload URL for a new Flink Artifact.
      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 Flink Artifact archive.
      requestBody:
        content:
          application/json:
            schema:
              allOf:
                - $ref: '#/components/schemas/artifact.v1.PresignedUrlRequest'
                - type: object
                  required:
                    - content_format
                    - cloud
                    - region
                    - environment
      x-lifecycle-stage: General Availability
      x-self-access: true
      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.  \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'
  /networking/v1/gateways:
    x-lifecycle-stage: General Availability
    x-self-access: true
    get:
      x-lifecycle-stage: General Availability
      x-self-access: true
      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: gateway_type
          in: query
          required: false
          schema:
            $ref: '#/components/schemas/MultipleSearchFilter'
          example: [AwsEgressPrivateLink, AzureEgressPrivateLink]
          description: Filter the results by exact match for gateway_type. Pass multiple
            times to see results matching any of the values.
          style: form
          explode: true
        - name: id
          in: query
          required: false
          schema:
            $ref: '#/components/schemas/MultipleSearchFilter'
          example: [gw-1, gw-2]
          description: Filter the results by exact match for id. Pass multiple times
            to see results matching any of the values.
          style: form
          explode: true
        - name: spec.config.region
          in: query
          required: false
          schema:
            $ref: '#/components/schemas/MultipleSearchFilter'
          example: [us-east-1, us-west-2]
          description: Filter the results by exact match for spec.config.region. Pass
            multiple times to see results matching any of the values.
          style: form
          explode: true
        - name: spec.display_name
          in: query
          required: false
          schema:
            $ref: '#/components/schemas/MultipleSearchFilter'
          example: [prod-gateway-ingress-use1, prod-gateway-ingress-use2]
          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: 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:
        - 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.  \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: createNetworkingV1Gateway
      summary: Create a Gateway
      description: |-
        [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy)

        Make a request to create a gateway.
      tags:
        - Gateways (networking/v1)
      security:
        - cloud-api-key: []
        - confluent-sts-access-token: []
      requestBody:
        content:
          application/json:
            schema:
              allOf:
                - $ref: '#/components/schemas/networking.v1.Gateway'
                - type: object
                  required:
                    - spec
                  properties:
                    spec:
                      type: object
                      required:
                        - config
                        - environment
                - type: object
                  properties:
                    spec:
                      type: object
                      properties:
                        environment:
                          example:
                            id: env-00000
      responses:
        '202':
          description: A Gateway 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/gateways/{id}
              description: Gateway resource uri
          content:
            application/json:
              schema:
                allOf:
                  - $ref: '#/components/schemas/networking.v1.Gateway'
                  - type: object
                    required:
                      - 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
        '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/gateways/{id}:
    x-lifecycle-stage: General Availability
    x-self-access: true
    get:
      x-lifecycle-stage: General Availability
      x-self-access: true
      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.  \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: updateNetworkingV1Gateway
      summary: Update a Gateway
      description: |+
        [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy)

        Make a request to update a gateway.

      parameters:
        - 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: []
      requestBody:
        content:
          application/json:
            schema:
              allOf:
                - $ref: '#/components/schemas/networking.v1.Gateway'
                - type: object
                  required:
                    - spec
                  properties:
                    spec:
                      type: object
                      required:
                        - environment
                      properties:
                        environment:
                          example:
                            id: env-00000
      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.  \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: deleteNetworkingV1Gateway
      summary: Delete a Gateway
      description: |-
        [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy)

        Make a request to delete 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:
        '204':
          description: A Gateway 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'
  /ccl/v1/custom-code-loggings:
    x-lifecycle-stage: Early Access
    x-self-access: false
    x-request-access-name: Custom Code Logging API EA
    get:
      x-lifecycle-stage: Early Access
      x-self-access: false
      x-request-access-name: Custom Code Logging API EA
      operationId: listCclV1CustomCodeLoggings
      summary: List of Custom Code Loggings
      description: |-
        [![Early Access](https://img.shields.io/badge/Lifecycle%20Stage-Early%20Access-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) [![Request Access To Custom Code Logging API EA](https://img.shields.io/badge/-Request%20Access%20To%20Custom%20Code%20Logging%20API%20EA-%23bc8540)](mailto:ccloud-api-access+ccl-v1-early-access@confluent.io?subject=Request%20to%20join%20ccl/v1%20API%20Early%20Access&body=I%E2%80%99d%20like%20to%20join%20the%20Confluent%20Cloud%20API%20Early%20Access%20for%20ccl/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 custom code loggings.
      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:
        - Custom Code Loggings (ccl/v1)
      security:
        - cloud-api-key: []
        - confluent-sts-access-token: []
      responses:
        '200':
          description: Custom Code Logging.
          content:
            application/json:
              schema:
                allOf:
                  - $ref: '#/components/schemas/ccl.v1.CustomCodeLoggingList'
                  - type: object
                    properties:
                      data:
                        type: array
                        items:
                          properties:
                            environment:
                              example:
                                id: env-00000
                                related: https://api.confluent.cloud/v2/environments/env-00000
                                resource_name: https://api.confluent.cloud/organization=9bb441c4-edef-46ac-8a41-c49e44a3fd9a/environment=env-00000
          headers:
            X-Request-Id:
              schema:
                type: string
              description: The unique identifier for the API request.
            X-RateLimit-Limit:
              schema:
                type: integer
              description: The maximum number of requests you're permitted to make
                per time period.
            X-RateLimit-Remaining:
              schema:
                type: integer
              description: The number of requests remaining in the current rate limit
                window.
            X-RateLimit-Reset:
              schema:
                type: integer
              description: "The relative time in seconds until the current rate-limit\
                \ window resets.  \n  \n**Important:** This differs from Github and\
                \ Twitter's same-named header which uses UTC epoch seconds. We use\
                \ relative time to avoid client/server time synchronization issues."
        '400':
          $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: Early Access
      x-self-access: false
      x-request-access-name: Custom Code Logging API EA
      operationId: createCclV1CustomCodeLogging
      summary: Create a Custom Code Logging
      description: |-
        [![Early Access](https://img.shields.io/badge/Lifecycle%20Stage-Early%20Access-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) [![Request Access To Custom Code Logging API EA](https://img.shields.io/badge/-Request%20Access%20To%20Custom%20Code%20Logging%20API%20EA-%23bc8540)](mailto:ccloud-api-access+ccl-v1-early-access@confluent.io?subject=Request%20to%20join%20ccl/v1%20API%20Early%20Access&body=I%E2%80%99d%20like%20to%20join%20the%20Confluent%20Cloud%20API%20Early%20Access%20for%20ccl/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 custom code logging.
      tags:
        - Custom Code Loggings (ccl/v1)
      security:
        - cloud-api-key: []
        - confluent-sts-access-token: []
      requestBody:
        content:
          application/json:
            schema:
              allOf:
                - $ref: '#/components/schemas/ccl.v1.CustomCodeLogging'
                - type: object
                  required:
                    - cloud
                    - region
                    - destination_settings
                    - environment
                - type: object
                  properties:
                    environment:
                      example:
                        id: env-00000
      responses:
        '201':
          description: A Custom Code Logging 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.  \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/ccl/v1/custom-code-loggings/{id}
              description: CustomCodeLogging resource uri
          content:
            application/json:
              schema:
                allOf:
                  - $ref: '#/components/schemas/ccl.v1.CustomCodeLogging'
                  - type: object
                    required:
                      - cloud
                      - region
                      - destination_settings
                      - 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'
  /ccl/v1/custom-code-loggings/{id}:
    x-lifecycle-stage: Early Access
    x-self-access: false
    x-request-access-name: Custom Code Logging API EA
    get:
      x-lifecycle-stage: Early Access
      x-self-access: false
      x-request-access-name: Custom Code Logging API EA
      operationId: getCclV1CustomCodeLogging
      summary: Read a Custom Code Logging
      description: |-
        [![Early Access](https://img.shields.io/badge/Lifecycle%20Stage-Early%20Access-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) [![Request Access To Custom Code Logging API EA](https://img.shields.io/badge/-Request%20Access%20To%20Custom%20Code%20Logging%20API%20EA-%23bc8540)](mailto:ccloud-api-access+ccl-v1-early-access@confluent.io?subject=Request%20to%20join%20ccl/v1%20API%20Early%20Access&body=I%E2%80%99d%20like%20to%20join%20the%20Confluent%20Cloud%20API%20Early%20Access%20for%20ccl/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 custom code logging.
      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 custom code logging.
      tags:
        - Custom Code Loggings (ccl/v1)
      security:
        - cloud-api-key: []
        - confluent-sts-access-token: []
      responses:
        '200':
          description: Custom Code Logging.
          content:
            application/json:
              schema:
                allOf:
                  - $ref: '#/components/schemas/ccl.v1.CustomCodeLogging'
                  - type: object
                    required:
                      - api_version
                      - kind
                      - id
                      - cloud
                      - region
                      - destination_settings
                      - 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.  \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: Early Access
      x-self-access: false
      x-request-access-name: Custom Code Logging API EA
      operationId: updateCclV1CustomCodeLogging
      summary: Update a Custom Code Logging
      description: |+
        [![Early Access](https://img.shields.io/badge/Lifecycle%20Stage-Early%20Access-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) [![Request Access To Custom Code Logging API EA](https://img.shields.io/badge/-Request%20Access%20To%20Custom%20Code%20Logging%20API%20EA-%23bc8540)](mailto:ccloud-api-access+ccl-v1-early-access@confluent.io?subject=Request%20to%20join%20ccl/v1%20API%20Early%20Access&body=I%E2%80%99d%20like%20to%20join%20the%20Confluent%20Cloud%20API%20Early%20Access%20for%20ccl/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 custom code logging.

      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 custom code logging.
      tags:
        - Custom Code Loggings (ccl/v1)
      security:
        - cloud-api-key: []
        - confluent-sts-access-token: []
      requestBody:
        content:
          application/json:
            schema:
              allOf:
                - $ref: '#/components/schemas/ccl.v1.CustomCodeLogging'
                - type: object
                  required:
                    - environment
                  properties:
                    environment:
                      example:
                        id: env-00000
      responses:
        '200':
          description: Custom Code Logging.
          content:
            application/json:
              schema:
                allOf:
                  - $ref: '#/components/schemas/ccl.v1.CustomCodeLogging'
                  - type: object
                    required:
                      - api_version
                      - kind
                      - id
                      - cloud
                      - region
                      - destination_settings
                      - 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.  \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'
        '409':
          $ref: '#/components/responses/ConflictError'
        '422':
          $ref: '#/components/responses/ValidationError'
        '429':
          $ref: '#/components/responses/RateLimitError'
        '500':
          $ref: '#/components/responses/DefaultSystemError'
    delete:
      x-lifecycle-stage: Early Access
      x-self-access: false
      x-request-access-name: Custom Code Logging API EA
      operationId: deleteCclV1CustomCodeLogging
      summary: Delete a Custom Code Logging
      description: |-
        [![Early Access](https://img.shields.io/badge/Lifecycle%20Stage-Early%20Access-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) [![Request Access To Custom Code Logging API EA](https://img.shields.io/badge/-Request%20Access%20To%20Custom%20Code%20Logging%20API%20EA-%23bc8540)](mailto:ccloud-api-access+ccl-v1-early-access@confluent.io?subject=Request%20to%20join%20ccl/v1%20API%20Early%20Access&body=I%E2%80%99d%20like%20to%20join%20the%20Confluent%20Cloud%20API%20Early%20Access%20for%20ccl/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 custom code logging.
      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 custom code logging.
      tags:
        - Custom Code Loggings (ccl/v1)
      security:
        - cloud-api-key: []
        - confluent-sts-access-token: []
      responses:
        '204':
          description: A Custom Code Logging 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'
  /tableflow/v1/regions:
    x-lifecycle-stage: General Availability
    x-self-access: true
    get:
      x-lifecycle-stage: General Availability
      x-self-access: true
      operationId: listTableflowV1Regions
      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: 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 (tableflow/v1)
      security:
        - resource-api-key: []
      responses:
        '200':
          description: Region.
          content:
            application/json:
              schema:
                allOf:
                  - $ref: '#/components/schemas/tableflow.v1.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.  \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'
  /tableflow/v1/tableflow-topics:
    x-lifecycle-stage: General Availability
    x-self-access: true
    get:
      x-lifecycle-stage: General Availability
      x-self-access: true
      operationId: listTableflowV1TableflowTopics
      summary: List of Tableflow Topics
      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 tableflow topics.
      parameters:
        - name: spec.table_formats
          in: query
          required: false
          schema:
            $ref: '#/components/schemas/MultipleSearchFilter'
          example: [DELTA, ICEBERG]
          description: Filter the results by exact match for spec.table_formats. 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.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: 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:
        - Tableflow Topics (tableflow/v1)
      security:
        - resource-api-key: []
      responses:
        '200':
          description: Tableflow Topic.
          content:
            application/json:
              schema:
                allOf:
                  - $ref: '#/components/schemas/tableflow.v1.TableflowTopicList'
                  - 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.  \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: createTableflowV1TableflowTopic
      summary: Create a Tableflow Topic
      description: |-
        [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy)

        Make a request to create a tableflow topic.
      tags:
        - Tableflow Topics (tableflow/v1)
      security:
        - resource-api-key: []
      requestBody:
        content:
          application/json:
            schema:
              allOf:
                - $ref: '#/components/schemas/tableflow.v1.TableflowTopic'
                - type: object
                  required:
                    - spec
                  properties:
                    spec:
                      type: object
                      required:
                        - display_name
                        - storage
                        - 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 Tableflow Topic 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/tableflow/v1/tableflow-topics/{id}
              description: TableflowTopic resource uri
          content:
            application/json:
              schema:
                allOf:
                  - $ref: '#/components/schemas/tableflow.v1.TableflowTopic'
                  - type: object
                    required:
                      - spec
                      - status
                    properties:
                      spec:
                        type: object
                        required:
                          - display_name
                          - storage
                          - 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'
        '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'
  /tableflow/v1/tableflow-topics/{display_name}:
    x-lifecycle-stage: General Availability
    x-self-access: true
    get:
      x-lifecycle-stage: General Availability
      x-self-access: true
      operationId: getTableflowV1TableflowTopic
      summary: Read a Tableflow Topic
      description: |-
        [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy)

        Make a request to read a tableflow topic.
      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: display_name
          in: path
          required: true
          schema:
            type: string
          description: The name of the Kafka topic for which Tableflow is enabled.
      tags:
        - Tableflow Topics (tableflow/v1)
      security:
        - resource-api-key: []
      responses:
        '200':
          description: Tableflow Topic.
          content:
            application/json:
              schema:
                allOf:
                  - $ref: '#/components/schemas/tableflow.v1.TableflowTopic'
                  - type: object
                    required:
                      - api_version
                      - kind
                      - spec
                      - status
                    properties:
                      spec:
                        type: object
                        required:
                          - display_name
                          - storage
                          - 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.  \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: updateTableflowV1TableflowTopic
      summary: Update a Tableflow Topic
      description: |+
        [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy)

        Make a request to update a tableflow topic.

      parameters:
        - name: display_name
          in: path
          required: true
          schema:
            type: string
          description: The name of the Kafka topic for which Tableflow is enabled.
      tags:
        - Tableflow Topics (tableflow/v1)
      security:
        - resource-api-key: []
      requestBody:
        content:
          application/json:
            schema:
              allOf:
                - $ref: '#/components/schemas/tableflow.v1.TableflowTopic'
                - type: object
                  required:
                    - spec
                  properties:
                    spec:
                      type: object
                      required:
                        - environment
                      properties:
                        environment:
                          example:
                            id: env-00000
      responses:
        '200':
          description: Tableflow Topic.
          content:
            application/json:
              schema:
                allOf:
                  - $ref: '#/components/schemas/tableflow.v1.TableflowTopic'
                  - type: object
                    required:
                      - api_version
                      - kind
                      - spec
                      - status
                    properties:
                      spec:
                        type: object
                        required:
                          - display_name
                          - storage
                          - 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.  \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'
        '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: deleteTableflowV1TableflowTopic
      summary: Delete a Tableflow Topic
      description: |-
        [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy)

        Make a request to delete a tableflow topic.
      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: display_name
          in: path
          required: true
          schema:
            type: string
          description: The name of the Kafka topic for which Tableflow is enabled.
      tags:
        - Tableflow Topics (tableflow/v1)
      security:
        - resource-api-key: []
      responses:
        '204':
          description: A Tableflow Topic 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'
  /tableflow/v1/catalog-integrations:
    x-lifecycle-stage: General Availability
    x-self-access: true
    get:
      x-lifecycle-stage: General Availability
      x-self-access: true
      operationId: listTableflowV1CatalogIntegrations
      summary: List of Catalog 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 catalog integrations.
      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: 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:
        - Catalog Integrations (tableflow/v1)
      security:
        - resource-api-key: []
      responses:
        '200':
          description: Catalog Integration.
          content:
            application/json:
              schema:
                allOf:
                  - $ref: '#/components/schemas/tableflow.v1.CatalogIntegrationList'
                  - 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.  \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: createTableflowV1CatalogIntegration
      summary: Create a Catalog Integration
      description: |-
        [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy)

        Make a request to create a catalog integration.
      tags:
        - Catalog Integrations (tableflow/v1)
      security:
        - resource-api-key: []
      requestBody:
        content:
          application/json:
            schema:
              allOf:
                - $ref: '#/components/schemas/tableflow.v1.CatalogIntegration'
                - type: object
                  required:
                    - spec
                  properties:
                    spec:
                      type: object
                      required:
                        - display_name
                        - config
                        - 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 Catalog Integration 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/tableflow/v1/catalog-integrations/{id}
              description: CatalogIntegration resource uri
          content:
            application/json:
              schema:
                allOf:
                  - $ref: '#/components/schemas/tableflow.v1.CatalogIntegration'
                  - type: object
                    required:
                      - spec
                    properties:
                      spec:
                        type: object
                        required:
                          - display_name
                          - config
                          - 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'
        '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'
  /tableflow/v1/catalog-integrations/{id}:
    x-lifecycle-stage: General Availability
    x-self-access: true
    get:
      x-lifecycle-stage: General Availability
      x-self-access: true
      operationId: getTableflowV1CatalogIntegration
      summary: Read a Catalog Integration
      description: |-
        [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy)

        Make a request to read a catalog 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: 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 catalog integration.
      tags:
        - Catalog Integrations (tableflow/v1)
      security:
        - resource-api-key: []
      responses:
        '200':
          description: Catalog Integration.
          content:
            application/json:
              schema:
                allOf:
                  - $ref: '#/components/schemas/tableflow.v1.CatalogIntegration'
                  - type: object
                    required:
                      - api_version
                      - kind
                      - id
                      - spec
                    properties:
                      spec:
                        type: object
                        required:
                          - display_name
                          - config
                          - 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.  \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:
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/tableflow.v1.CatalogIntegrationUpdateRequest'
      x-lifecycle-stage: General Availability
      x-self-access: true
      operationId: updateTableflowV1CatalogIntegration
      summary: Update a Catalog Integration
      description: |+
        [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy)

        Make a request to update a catalog integration.

      parameters:
        - name: id
          in: path
          required: true
          schema:
            type: string
          description: The unique identifier for the catalog integration.
      tags:
        - Catalog Integrations (tableflow/v1)
      security:
        - resource-api-key: []
      responses:
        '200':
          description: Catalog Integration.
          content:
            application/json:
              schema:
                allOf:
                  - $ref: '#/components/schemas/tableflow.v1.CatalogIntegration'
                  - type: object
                    required:
                      - api_version
                      - kind
                      - id
                      - spec
                    properties:
                      spec:
                        type: object
                        required:
                          - display_name
                          - config
                          - 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.  \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'
        '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: deleteTableflowV1CatalogIntegration
      summary: Delete a Catalog Integration
      description: |-
        [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy)

        Make a request to delete a catalog 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: 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 catalog integration.
      tags:
        - Catalog Integrations (tableflow/v1)
      security:
        - resource-api-key: []
      responses:
        '204':
          description: A Catalog 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.  \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'
  /ccpm/v1/plugins:
    x-lifecycle-stage: General Availability
    x-self-access: true
    get:
      x-lifecycle-stage: General Availability
      x-self-access: true
      operationId: listCcpmV1CustomConnectPlugins
      summary: List of Custom Connect 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 connect plugins.

        If no `cloud` filter is specified, returns custom connect plugins from all clouds.
      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: 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:
        - Custom Connect Plugins (ccpm/v1)
      security:
        - cloud-api-key: []
        - confluent-sts-access-token: []
      responses:
        '200':
          description: Custom Connect Plugin.
          content:
            application/json:
              schema:
                allOf:
                  - $ref: '#/components/schemas/ccpm.v1.CustomConnectPluginList'
                  - 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.  \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'
      x-page-first-available: true
      x-page-last-available: true
      x-page-from-start: true
      x-page-from-end: true
    post:
      x-lifecycle-stage: General Availability
      x-self-access: true
      operationId: createCcpmV1CustomConnectPlugin
      summary: Create a Custom Connect 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 connect plugin.
      tags:
        - Custom Connect Plugins (ccpm/v1)
      security:
        - cloud-api-key: []
        - confluent-sts-access-token: []
      requestBody:
        content:
          application/json:
            schema:
              allOf:
                - $ref: '#/components/schemas/ccpm.v1.CustomConnectPlugin'
                - type: object
                  required:
                    - spec
                  properties:
                    spec:
                      type: object
                      required:
                        - cloud
                        - display_name
                        - environment
                - type: object
                  properties:
                    spec:
                      type: object
                      properties:
                        environment:
                          example:
                            id: env-00000
      responses:
        '202':
          description: A Custom Connect Plugin 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/ccpm/v1/plugins/{id}
              description: CustomConnectPlugin resource uri
          content:
            application/json:
              schema:
                allOf:
                  - $ref: '#/components/schemas/ccpm.v1.CustomConnectPlugin'
                  - type: object
                    required:
                      - spec
                    properties:
                      spec:
                        type: object
                        required:
                          - cloud
                          - display_name
                          - 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'
        '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'
  /ccpm/v1/plugins/{id}:
    x-lifecycle-stage: General Availability
    x-self-access: true
    get:
      x-lifecycle-stage: General Availability
      x-self-access: true
      operationId: getCcpmV1CustomConnectPlugin
      summary: Read a Custom Connect 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 connect plugin.
      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 custom connect plugin.
      tags:
        - Custom Connect Plugins (ccpm/v1)
      security:
        - cloud-api-key: []
        - confluent-sts-access-token: []
      responses:
        '200':
          description: Custom Connect Plugin.
          content:
            application/json:
              schema:
                allOf:
                  - $ref: '#/components/schemas/ccpm.v1.CustomConnectPlugin'
                  - type: object
                    required:
                      - api_version
                      - kind
                      - id
                      - spec
                    properties:
                      spec:
                        type: object
                        required:
                          - cloud
                          - display_name
                          - 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.  \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: updateCcpmV1CustomConnectPlugin
      summary: Update a Custom Connect 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 connect plugin.

      parameters:
        - name: id
          in: path
          required: true
          schema:
            type: string
          description: The unique identifier for the custom connect plugin.
      tags:
        - Custom Connect Plugins (ccpm/v1)
      security:
        - cloud-api-key: []
        - confluent-sts-access-token: []
      requestBody:
        content:
          application/json:
            schema:
              allOf:
                - $ref: '#/components/schemas/ccpm.v1.CustomConnectPlugin'
                - type: object
                  required:
                    - spec
                  properties:
                    spec:
                      type: object
                      required:
                        - environment
                      properties:
                        environment:
                          example:
                            id: env-00000
      responses:
        '200':
          description: Custom Connect Plugin.
          content:
            application/json:
              schema:
                allOf:
                  - $ref: '#/components/schemas/ccpm.v1.CustomConnectPlugin'
                  - type: object
                    required:
                      - api_version
                      - kind
                      - id
                      - spec
                    properties:
                      spec:
                        type: object
                        required:
                          - cloud
                          - display_name
                          - 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.  \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'
        '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: deleteCcpmV1CustomConnectPlugin
      summary: Delete a Custom Connect 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 connect plugin.
      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 custom connect plugin.
      tags:
        - Custom Connect Plugins (ccpm/v1)
      security:
        - cloud-api-key: []
        - confluent-sts-access-token: []
      responses:
        '204':
          description: A Custom Connect 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.  \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'
  /ccpm/v1/presigned-upload-url:
    x-lifecycle-stage: General Availability
    x-self-access: true
    post:
      summary: Request a presigned upload URL for a new Custom Connect 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 Connect Plugin archive.
      x-lifecycle-stage: General Availability
      x-self-access: true
      operationId: createCcpmV1PresignedUrl
      tags:
        - Presigned Urls (ccpm/v1)
      security:
        - cloud-api-key: []
      requestBody:
        content:
          application/json:
            schema:
              allOf:
                - $ref: '#/components/schemas/ccpm.v1.PresignedUrl'
                - type: object
                  required:
                    - content_format
                    - cloud
                    - environment
                - type: object
                  properties:
                    environment:
                      example:
                        id: env-00000
      responses:
        '201':
          description: A Presigned Url 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.  \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/ccpm/v1/presigned-upload-url/{id}
              description: PresignedUrl resource uri
          content:
            application/json:
              schema:
                allOf:
                  - $ref: '#/components/schemas/ccpm.v1.PresignedUrl'
                  - type: object
                    required:
                      - content_format
                      - cloud
                      - 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'
  /ccpm/v1/plugins/{plugin_id}/versions:
    x-lifecycle-stage: General Availability
    x-self-access: true
    get:
      x-lifecycle-stage: General Availability
      x-self-access: true
      operationId: listCcpmV1CustomConnectPluginVersions
      summary: List of Custom Connect Plugin Versions
      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 connect plugin versions.
      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: plugin_id
          in: path
          required: true
          schema:
            type: string
          description: The Plugin
      tags:
        - Custom Connect Plugin Versions (ccpm/v1)
      security:
        - cloud-api-key: []
      responses:
        '200':
          description: Custom Connect Plugin Version.
          content:
            application/json:
              schema:
                allOf:
                  - $ref: '#/components/schemas/ccpm.v1.CustomConnectPluginVersionList'
                  - 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.  \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: createCcpmV1CustomConnectPluginVersion
      summary: Create a Custom Connect Plugin Version
      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 connect plugin version.
      parameters:
        - name: plugin_id
          in: path
          required: true
          schema:
            type: string
          description: The Plugin
      tags:
        - Custom Connect Plugin Versions (ccpm/v1)
      security:
        - cloud-api-key: []
      requestBody:
        content:
          application/json:
            schema:
              allOf:
                - $ref: '#/components/schemas/ccpm.v1.CustomConnectPluginVersion'
                - type: object
                  required:
                    - spec
                  properties:
                    spec:
                      type: object
                      required:
                        - version
                        - connector_classes
                        - upload_source
                        - environment
                - type: object
                  properties:
                    spec:
                      type: object
                      properties:
                        environment:
                          example:
                            id: env-00000
      responses:
        '202':
          description: A Custom Connect Plugin Version 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/ccpm/v1/plugins/{plugin_id}/versions/{id}
              description: CustomConnectPluginVersion resource uri
          content:
            application/json:
              schema:
                allOf:
                  - $ref: '#/components/schemas/ccpm.v1.CustomConnectPluginVersion'
                  - type: object
                    required:
                      - spec
                      - status
                    properties:
                      spec:
                        type: object
                        required:
                          - version
                          - connector_classes
                          - upload_source
                          - 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'
        '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'
  /ccpm/v1/plugins/{plugin_id}/versions/{id}:
    x-lifecycle-stage: General Availability
    x-self-access: true
    get:
      x-lifecycle-stage: General Availability
      x-self-access: true
      operationId: getCcpmV1CustomConnectPluginVersion
      summary: Read a Custom Connect Plugin Version
      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 connect plugin version.
      parameters:
        - name: environment
          in: query
          required: true
          schema:
            $ref: '#/components/schemas/SearchFilter'
          example: env-00000
          description: Scope the operation to the given environment.
        - name: plugin_id
          in: path
          required: true
          schema:
            type: string
          description: The Plugin
        - name: id
          in: path
          required: true
          schema:
            type: string
          description: The unique identifier for the custom connect plugin version.
      tags:
        - Custom Connect Plugin Versions (ccpm/v1)
      security:
        - cloud-api-key: []
      responses:
        '200':
          description: Custom Connect Plugin Version.
          content:
            application/json:
              schema:
                allOf:
                  - $ref: '#/components/schemas/ccpm.v1.CustomConnectPluginVersion'
                  - type: object
                    required:
                      - api_version
                      - kind
                      - id
                      - spec
                      - status
                    properties:
                      spec:
                        type: object
                        required:
                          - version
                          - connector_classes
                          - upload_source
                          - 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.  \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'
    delete:
      x-lifecycle-stage: General Availability
      x-self-access: true
      operationId: deleteCcpmV1CustomConnectPluginVersion
      summary: Delete a Custom Connect Plugin Version
      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 connect plugin version.
      parameters:
        - name: environment
          in: query
          required: true
          schema:
            $ref: '#/components/schemas/SearchFilter'
          example: env-00000
          description: Scope the operation to the given environment.
        - name: plugin_id
          in: path
          required: true
          schema:
            type: string
          description: The Plugin
        - name: id
          in: path
          required: true
          schema:
            type: string
          description: The unique identifier for the custom connect plugin version.
      tags:
        - Custom Connect Plugin Versions (ccpm/v1)
      security:
        - cloud-api-key: []
      responses:
        '204':
          description: A Custom Connect Plugin Version 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'
  /usm/v1/kafka-clusters:
    x-lifecycle-stage: Preview
    x-self-access: true
    get:
      x-lifecycle-stage: Preview
      x-self-access: true
      operationId: listUsmV1KafkaClusters
      summary: List of Kafka Clusters
      description: |-
        [![Preview](https://img.shields.io/badge/Lifecycle%20Stage-Preview-%2300afba)](#section/Versioning/API-Lifecycle-Policy)

        Retrieve a sorted, filtered, paginated list of all kafka 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:
        - Kafka Clusters (usm/v1)
      security:
        - cloud-api-key: []
        - confluent-sts-access-token: []
      responses:
        '200':
          description: Kafka Cluster.
          content:
            application/json:
              schema:
                allOf:
                  - $ref: '#/components/schemas/usm.v1.KafkaClusterList'
                  - type: object
                    properties:
                      data:
                        type: array
                        items:
                          properties:
                            environment:
                              example:
                                id: env-00000
                                related: https://api.confluent.cloud/v2/environments/env-00000
                                resource_name: https://api.confluent.cloud/organization=9bb441c4-edef-46ac-8a41-c49e44a3fd9a/environment=env-00000
          headers:
            X-Request-Id:
              schema:
                type: string
              description: The unique identifier for the API request.
            X-RateLimit-Limit:
              schema:
                type: integer
              description: The maximum number of requests you're permitted to make
                per time period.
            X-RateLimit-Remaining:
              schema:
                type: integer
              description: The number of requests remaining in the current rate limit
                window.
            X-RateLimit-Reset:
              schema:
                type: integer
              description: "The relative time in seconds until the current rate-limit\
                \ window resets.  \n  \n**Important:** This differs from Github and\
                \ Twitter's same-named header which uses UTC epoch seconds. We use\
                \ relative time to avoid client/server time synchronization issues."
        '400':
          $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: Preview
      x-self-access: true
      operationId: createUsmV1KafkaCluster
      summary: Create a Kafka Cluster
      description: |-
        [![Preview](https://img.shields.io/badge/Lifecycle%20Stage-Preview-%2300afba)](#section/Versioning/API-Lifecycle-Policy)

        Make a request to create a kafka cluster.
      tags:
        - Kafka Clusters (usm/v1)
      security:
        - cloud-api-key: []
        - confluent-sts-access-token: []
      requestBody:
        content:
          application/json:
            schema:
              allOf:
                - $ref: '#/components/schemas/usm.v1.KafkaCluster'
                - type: object
                  required:
                    - display_name
                    - confluent_platform_kafka_cluster_id
                    - cloud
                    - region
                    - environment
                - type: object
                  properties:
                    environment:
                      example:
                        id: env-00000
      responses:
        '201':
          description: A Kafka Cluster 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.  \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/usm/v1/kafka-clusters/{id}
              description: KafkaCluster resource uri
          content:
            application/json:
              schema:
                allOf:
                  - $ref: '#/components/schemas/usm.v1.KafkaCluster'
                  - type: object
                    required:
                      - display_name
                      - confluent_platform_kafka_cluster_id
                      - cloud
                      - region
                      - 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'
  /usm/v1/kafka-clusters/{id}:
    x-lifecycle-stage: Preview
    x-self-access: true
    get:
      x-lifecycle-stage: Preview
      x-self-access: true
      operationId: getUsmV1KafkaCluster
      summary: Read a Kafka Cluster
      description: |-
        [![Preview](https://img.shields.io/badge/Lifecycle%20Stage-Preview-%2300afba)](#section/Versioning/API-Lifecycle-Policy)

        Make a request to read a kafka 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 kafka cluster.
      tags:
        - Kafka Clusters (usm/v1)
      security:
        - cloud-api-key: []
        - confluent-sts-access-token: []
      responses:
        '200':
          description: Kafka Cluster.
          content:
            application/json:
              schema:
                allOf:
                  - $ref: '#/components/schemas/usm.v1.KafkaCluster'
                  - type: object
                    required:
                      - api_version
                      - kind
                      - id
                      - display_name
                      - confluent_platform_kafka_cluster_id
                      - cloud
                      - region
                      - 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.  \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'
    delete:
      x-lifecycle-stage: Preview
      x-self-access: true
      operationId: deleteUsmV1KafkaCluster
      summary: Delete a Kafka Cluster
      description: |-
        [![Preview](https://img.shields.io/badge/Lifecycle%20Stage-Preview-%2300afba)](#section/Versioning/API-Lifecycle-Policy)

        Make a request to delete a kafka 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 kafka cluster.
      tags:
        - Kafka Clusters (usm/v1)
      security:
        - cloud-api-key: []
        - confluent-sts-access-token: []
      responses:
        '204':
          description: A Kafka 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.  \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'
        '422':
          $ref: '#/components/responses/ValidationError'
        '429':
          $ref: '#/components/responses/RateLimitError'
        '500':
          $ref: '#/components/responses/DefaultSystemError'
  /usm/v1/connect-clusters:
    x-lifecycle-stage: Preview
    x-self-access: true
    get:
      x-lifecycle-stage: Preview
      x-self-access: true
      operationId: listUsmV1ConnectClusters
      summary: List of Connect Clusters
      description: |-
        [![Preview](https://img.shields.io/badge/Lifecycle%20Stage-Preview-%2300afba)](#section/Versioning/API-Lifecycle-Policy)

        Retrieve a sorted, filtered, paginated list of all connect 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:
        - Connect Clusters (usm/v1)
      security:
        - cloud-api-key: []
        - confluent-sts-access-token: []
      responses:
        '200':
          description: Connect Cluster.
          content:
            application/json:
              schema:
                allOf:
                  - $ref: '#/components/schemas/usm.v1.ConnectClusterList'
                  - type: object
                    properties:
                      data:
                        type: array
                        items:
                          properties:
                            environment:
                              example:
                                id: env-00000
                                related: https://api.confluent.cloud/v2/environments/env-00000
                                resource_name: https://api.confluent.cloud/organization=9bb441c4-edef-46ac-8a41-c49e44a3fd9a/environment=env-00000
          headers:
            X-Request-Id:
              schema:
                type: string
              description: The unique identifier for the API request.
            X-RateLimit-Limit:
              schema:
                type: integer
              description: The maximum number of requests you're permitted to make
                per time period.
            X-RateLimit-Remaining:
              schema:
                type: integer
              description: The number of requests remaining in the current rate limit
                window.
            X-RateLimit-Reset:
              schema:
                type: integer
              description: "The relative time in seconds until the current rate-limit\
                \ window resets.  \n  \n**Important:** This differs from Github and\
                \ Twitter's same-named header which uses UTC epoch seconds. We use\
                \ relative time to avoid client/server time synchronization issues."
        '400':
          $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: Preview
      x-self-access: true
      operationId: createUsmV1ConnectCluster
      summary: Create a Connect Cluster
      description: |-
        [![Preview](https://img.shields.io/badge/Lifecycle%20Stage-Preview-%2300afba)](#section/Versioning/API-Lifecycle-Policy)

        Make a request to create a connect cluster.
      tags:
        - Connect Clusters (usm/v1)
      security:
        - cloud-api-key: []
        - confluent-sts-access-token: []
      requestBody:
        content:
          application/json:
            schema:
              allOf:
                - $ref: '#/components/schemas/usm.v1.ConnectCluster'
                - type: object
                  required:
                    - confluent_platform_connect_cluster_id
                    - kafka_cluster_id
                    - environment
                - type: object
                  properties:
                    environment:
                      example:
                        id: env-00000
      responses:
        '201':
          description: A Connect Cluster 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.  \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/usm/v1/connect-clusters/{id}
              description: ConnectCluster resource uri
          content:
            application/json:
              schema:
                allOf:
                  - $ref: '#/components/schemas/usm.v1.ConnectCluster'
                  - type: object
                    required:
                      - confluent_platform_connect_cluster_id
                      - kafka_cluster_id
                      - 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'
  /usm/v1/connect-clusters/{id}:
    x-lifecycle-stage: Preview
    x-self-access: true
    get:
      x-lifecycle-stage: Preview
      x-self-access: true
      operationId: getUsmV1ConnectCluster
      summary: Read a Connect Cluster
      description: |-
        [![Preview](https://img.shields.io/badge/Lifecycle%20Stage-Preview-%2300afba)](#section/Versioning/API-Lifecycle-Policy)

        Make a request to read a connect 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 connect cluster.
      tags:
        - Connect Clusters (usm/v1)
      security:
        - cloud-api-key: []
        - confluent-sts-access-token: []
      responses:
        '200':
          description: Connect Cluster.
          content:
            application/json:
              schema:
                allOf:
                  - $ref: '#/components/schemas/usm.v1.ConnectCluster'
                  - type: object
                    required:
                      - api_version
                      - kind
                      - id
                      - confluent_platform_connect_cluster_id
                      - kafka_cluster_id
                      - 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.  \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'
    delete:
      x-lifecycle-stage: Preview
      x-self-access: true
      operationId: deleteUsmV1ConnectCluster
      summary: Delete a Connect Cluster
      description: |-
        [![Preview](https://img.shields.io/badge/Lifecycle%20Stage-Preview-%2300afba)](#section/Versioning/API-Lifecycle-Policy)

        Make a request to delete a connect 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 connect cluster.
      tags:
        - Connect Clusters (usm/v1)
      security:
        - cloud-api-key: []
        - confluent-sts-access-token: []
      responses:
        '204':
          description: A Connect 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.  \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'
  /endpoint/v1/endpoints:
    x-lifecycle-stage: General Availability
    x-self-access: true
    get:
      x-lifecycle-stage: General Availability
      x-self-access: true
      operationId: listEndpointV1Endpoints
      summary: List of 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 endpoints.
      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
          in: query
          required: false
          schema:
            $ref: '#/components/schemas/SearchFilter'
          example: us-west-2
          description: Filter the results by exact match for region.
        - name: service
          in: query
          required: true
          schema:
            $ref: '#/components/schemas/SearchFilter'
          example: KAFKA
          description: Filter the results by exact match for service.
        - name: is_private
          in: query
          required: false
          schema:
            $ref: '#/components/schemas/BooleanFilter'
          example: true
          description: |
            Filter the results by whether the endpoint is private (true) or public (false).
            If not specified, returns both private and public endpoints.
        - name: environment
          in: query
          required: true
          schema:
            $ref: '#/components/schemas/SearchFilter'
          example: env-00000
          description: Filter the results by exact match for environment.
        - name: resource
          in: query
          required: false
          schema:
            $ref: '#/components/schemas/SearchFilter'
          example: lkc-abc123
          description: Filter the results by exact match for resource.
        - name: page_size
          in: query
          required: false
          schema:
            type: integer
            default: 100
            maximum: 1000
            x-max-page-items: 5000
          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:
        - Endpoints (endpoint/v1)
      security:
        - cloud-api-key: []
        - confluent-sts-access-token: []
      responses:
        '200':
          description: Endpoint.
          content:
            application/json:
              schema:
                allOf:
                  - $ref: '#/components/schemas/endpoint.v1.EndpointList'
                  - 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
                            resource:
                              example:
                                id: lkc-abc123
                                related: https://api.confluent.cloud/cmk/v2/clusters/lkc-abc123
                                resource_name: https://api.confluent.cloud/organization=9bb441c4-edef-46ac-8a41-c49e44a3fd9a/environment=env-abc123/cloud-cluster=lkc-abc123
                            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
                            access_point:
                              example:
                                id: ap-00000
                                related: https://api.confluent.cloud/networking/v1/access-points/ap-00000
                                resource_name: https://api.confluent.cloud/organization=9bb441c4-edef-46ac-8a41-c49e44a3fd9a/environment=env-abc123/gateway=gw-456xyz/access-point=ap-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'
components:
  schemas:
    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.
        Tableflow API keys are not tied to a specific cluster.

        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
        <SchemaDefinition schemaRef="#/components/schemas/iam.v2.ApiKey" />

        ## 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'
    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.
        Tableflow API keys are not tied to a specific cluster.

        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
        <SchemaDefinition schemaRef="#/components/schemas/iam.v2.ApiKey" />

        ## 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
    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 creating Cloud API key, resource should be `CLOUD`,
            for creating Tableflow API key, resource should be `TABLEFLOW`. The resource id is case-insensitive.
            [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
    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
    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
    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
    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
    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
    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
    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
        <SchemaDefinition schemaRef="#/components/schemas/org.v2.Environment" />

        ## 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'
    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
        <SchemaDefinition schemaRef="#/components/schemas/org.v2.Organization" />

        ## 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.
    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

# Default Values for Org API
    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
        <SchemaDefinition schemaRef="#/components/schemas/org.v2.Environment" />

        ## 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
    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
        <SchemaDefinition schemaRef="#/components/schemas/org.v2.Organization" />

        ## 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
    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
        <SchemaDefinition schemaRef="#/components/schemas/iam.v2.User" />

        ## 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.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
        <SchemaDefinition schemaRef="#/components/schemas/iam.v2.ServiceAccount" />

        ## 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
        description:
          type: string
          example: Doc's repair bot for the DeLorean
          description: A free-form description of the Service Account
    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
        <SchemaDefinition schemaRef="#/components/schemas/iam.v2.Invitation" />

        ## 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
        # yamllint disable rule:line-length
          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
    iam.v2.User.ConfigureUserAuthRequest:
      type: object
      description: Configure user auth type
      properties:
        api_version:
          type: string
          enum:
            - iam.v2/User
          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:
            - ConfigureUserAuthRequest
        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/User/configure-user-auth-requests/cuar-12345
                resource_name:
                  example: crn://confluent.cloud/organization=9bb441c4-edef-46ac-8a41-c49e44a3fd9a/configure-user-auth-request=cuar-12345
        auth_type:
          type: string
          description: The user's authentication method.
          example: AUTH_TYPE_SSO
          x-extensible-enum: [AUTH_TYPE_LOCAL, AUTH_TYPE_SSO]
    MultipleSearchFilter:
      description: Filter a collection by a string search for one or more values
      type: array
      items:
        type: string
    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
        <SchemaDefinition schemaRef="#/components/schemas/iam.v2.User" />

        ## 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.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
        <SchemaDefinition schemaRef="#/components/schemas/iam.v2.ServiceAccount" />

        ## 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.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
        <SchemaDefinition schemaRef="#/components/schemas/iam.v2.Invitation" />

        ## 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
    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.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
        <SchemaDefinition schemaRef="#/components/schemas/iam.v2.IpGroup" />
      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
          maxItems: 25
          example: [192.168.0.0/24, 192.168.7.0/24]
          description: A list of CIDRs.
    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
        <SchemaDefinition schemaRef="#/components/schemas/iam.v2.IpFilter" />
      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. Available resource groups include "management" and "multiple".
        resource_scope:
          type: string
          example: crn://confluent.cloud/organization=org-123/environment=env-abc
          format: uri
          pattern: ^crn://.+$
          description: |
            A CRN that specifies the scope of the ip filter, specifically the organization
            or environment. Without specifying this property, the ip filter
            would apply to the whole organization.
        operation_groups:
          type: array
          items:
            type: string
          example: [MANAGEMENT, SCHEMA, FLINK]
          description: |
            Scope of resources covered by this IP filter. Resource group must be set to 'multiple'
            in order to use this property.During update operations, note that the operation
            groups passed in will replace the list of existing operation groups
            (passing in an empty list will remove all operation groups) from the filter
            (in line with the behavior for ip_groups).
        ip_groups:
          type: array
          items:
            $ref: '#/components/schemas/GlobalObjectReference'
          description: A list of IP Groups.
          minItems: 1
          maxItems: 25
    iam.v2.IpFilterSummary:
      type: object
      description: |
        The IP Filter Summary endpoint returns an aggregation of the IP Filters across the system.
        This API can be queried in the context of an organization or an environment. It returns a
        summary of every operation group in the system grouped with a higher summary by operation
        group category.
      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:
            - IpFilterSummary
        scope:
          type: string
          description: The scope associated with this object.
        categories:
          type: array
          items:
            type: object
            properties:
              name:
                type: string
                description: Name of the category.
              status:
                type: string
                description: Open, limited, or mixed.
              operation_groups:
                type: array
                description: Operation groups part of this category.
                items:
                  type: object
                  properties:
                    name:
                      type: string
                      description: Name of the operation group.
                    status:
                      type: string
                      description: Open, limited, or no access.
          example: [{name: management, status: MIXED, operation_groups: [{name: MANAGEMENT,
                      status: LIMITED}]}]
          description: |
            Summary of the operation groups and IP filters created in those operation groups.
    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
        <SchemaDefinition schemaRef="#/components/schemas/iam.v2.IpGroup" />
      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.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
        <SchemaDefinition schemaRef="#/components/schemas/iam.v2.IpFilter" />
      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.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
        <SchemaDefinition schemaRef="#/components/schemas/iam.v2.RoleBinding" />
      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.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
        <SchemaDefinition schemaRef="#/components/schemas/iam.v2.RoleBinding" />
      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
    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
        <SchemaDefinition schemaRef="#/components/schemas/notifications.v1.Subscription" />
      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
    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
        <SchemaDefinition schemaRef="#/components/schemas/notifications.v1.Integration" />

        ## 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.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
        <SchemaDefinition schemaRef="#/components/schemas/notifications.v1.NotificationType" />
      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
    notifications.v1.ResourcePreference:
      type: object
      description: |-
        `ResourcePreference` objects represent the intent of the customers to enable or disable all notifications
        at the resource level. A ResourcePreference is created for a specific Confluent Cloud Resource
        (e.g., a connector) and determines whether the user will receive notifications for that resource.

        This API allows you to create, retrieve, update and delete resourcePreferences.


        Related guide: [Cloud Notifications](https://docs.confluent.io/cloud/current/monitoring/configure-notifications.html#notifications-for-ccloud).

        ## The Resource Preferences Model
        <SchemaDefinition schemaRef="#/components/schemas/notifications.v1.ResourcePreference" />
      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:
            - ResourcePreference
        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/resource-preferences/rp-12345
                resource_name:
                  example: crn://confluent.cloud/organization=9bb441c4-edef-46ac-8a41-c49e44a3fd9a/resource-preference=rp-12345
        resource:
          type: string
          description: Denotes the Confluent Cloud resource definition.
          example: environment=env-456xy/cloud-cluster=lkc-df123/connector=my_datagen_connector
        resource_type:
          type: string
          x-extensible-enum: [ORGANIZATION, ENVIRONMENT, CLUSTER, CONNECTOR, FLINK_COMPUTE_POOL,
            FLINK_STATEMENT]
          description: Denotes the Confluent Cloud resource type.
          example: CONNECTOR
        current_state:
          type: string
          x-extensible-enum: [ENABLED, DISABLED]
          description: |
            Denotes the state of the resource preference. When the resource preference is ENABLED, the user will receive
            notifications for the Confluent Cloud resource. If the resource preference is DISABLED, the user will not
            receive any notification for the resource.
            Note that, you will still receive notifications for `REQUIRED` notification type even when it is DISABLED.
          example: ENABLED
    notifications.v1.ResourceSubscription:
      type: object
      description: |-
        `ResourceSubscription` objects represent the intent of the customers to get notifications of particular types
        at the resource level. A ResourceSubscription is created for a specific Confluent Cloud Resource
        (e.g., a connector) and determines whether the user will receive notifications for that resource.

        This API allows you to create, retrieve, update, delete and list ResourceSubscription.


        Related guide: [Cloud Notifications](https://docs.confluent.io/cloud/current/monitoring/configure-notifications.html#notifications-for-ccloud).

        ## The Resource Subscriptions Model
        <SchemaDefinition schemaRef="#/components/schemas/notifications.v1.ResourceSubscription" />
      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:
            - ResourceSubscription
        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/resource-subscriptions/rs-12345
                resource_name:
                  example: crn://confluent.cloud/organization=9bb441c4-edef-46ac-8a41-c49e44a3fd9a/resource-subscription=rs-12345
        resource:
          type: string
          description: Denotes the Confluent Cloud resource definition.
          example: environment=env-456xy/cloud-cluster=lkc-df123/connector=my_datagen_connector
        resource_type:
          type: string
          x-extensible-enum: [ENVIRONMENT, CLUSTER, CONNECTOR, FLINK_COMPUTE_POOL,
            FLINK_STATEMENT]
          description: Denotes the Confluent Cloud resource type.
          example: CONNECTOR
        current_state:
          type: string
          x-extensible-enum: [ENABLED, DISABLED]
          description: |
            Denotes the state of the resource preference. When the resource preference is ENABLED, the user will receive
            notifications for the Confluent Cloud resource. If the resource preference is DISABLED, the user will not
            receive any notification for the resource.
            Note that, you will still receive notifications for `REQUIRED` notification type even when it is DISABLED.
          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
    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:
          allOf:
            - $ref: '#/components/schemas/GlobalObjectReference'
          description: Reference to the user
    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.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}

# Default
    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
        <SchemaDefinition schemaRef="#/components/schemas/notifications.v1.Subscription" />
      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
    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
        <SchemaDefinition schemaRef="#/components/schemas/notifications.v1.Integration" />

        ## 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.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
        <SchemaDefinition schemaRef="#/components/schemas/notifications.v1.NotificationType" />
      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.ResourceSubscriptionList:
      type: object
      description: |-
        `ResourceSubscription` objects represent the intent of the customers to get notifications of particular types
        at the resource level. A ResourceSubscription is created for a specific Confluent Cloud Resource
        (e.g., a connector) and determines whether the user will receive notifications for that resource.

        This API allows you to create, retrieve, update, delete and list ResourceSubscription.


        Related guide: [Cloud Notifications](https://docs.confluent.io/cloud/current/monitoring/configure-notifications.html#notifications-for-ccloud).

        ## The Resource Subscriptions Model
        <SchemaDefinition schemaRef="#/components/schemas/notifications.v1.ResourceSubscription" />
      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:
            - ResourceSubscriptionList
        metadata:
          allOf:
            - $ref: '#/components/schemas/ListMeta'
            - properties:
                first:
                  example: https://api.confluent.cloud/notifications/v1/resource-subscriptions
                last:
                  example: https://api.confluent.cloud/notifications/v1/resource-subscriptions?page_token=bcAOehAY8F16YD84Z1wT
                prev:
                  example: https://api.confluent.cloud/notifications/v1/resource-subscriptions?page_token=YIXRY97wWYmwzrax4dld
                next:
                  example: https://api.confluent.cloud/notifications/v1/resource-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.ResourceSubscription'
              - type: object
                required:
                  - id
                  - metadata
                  - resource
                  - resource_type
                  - notification_type
                  - integrations
          uniqueItems: true
    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
        <SchemaDefinition schemaRef="#/components/schemas/cmk.v2.Cluster" />

        ## 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'
    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
    cmk.v2.Basic:
      type: object
      description: |
        The basic cluster type.
      properties:
        kind:
          description: |
            Basic cluster type.
          type: string
          enum: [Basic]
        max_ecku:
        # yamllint disable rule:line-length
          description: |
            The maximum number of Elastic Confluent Kafka Units (eCKUs) that Kafka clusters should auto-scale to.
            For more details, see [Maximum eCKU requirements](https://docs.confluent.io/cloud/current/clusters/cluster-types.html#minimum-maximum-ecku-requirements).
          type: integer
          format: int32
          minimum: 1
          example: 2
      required:
        - kind
    cmk.v2.Standard:
      type: object
      description: |
        The standard cluster type.
      properties:
        kind:
          description: |
            Standard cluster type.
          type: string
          enum: [Standard]
        max_ecku:
        # yamllint disable rule:line-length
          description: |
            The maximum number of Elastic Confluent Kafka Units (eCKUs) that Kafka clusters should auto-scale to.
            Kafka clusters with `HIGH` availability must have at least two eCKUs.
            For more details, see [Maximum eCKU requirements](https://docs.confluent.io/cloud/current/clusters/cluster-types.html#minimum-maximum-ecku-requirements).
          type: integer
          format: int32
          minimum: 1
          example: 2
      required:
        - kind
    cmk.v2.Enterprise:
      type: object
    # yamllint disable rule:line-length
      description: |
        The enterprise cluster type.
      properties:
        kind:
          description: |
            Enterprise cluster type.
          type: string
          enum: [Enterprise]
        max_ecku:
        # yamllint disable rule:line-length
          description: |
            The maximum number of Elastic Confluent Kafka Units (eCKUs) that Kafka clusters should auto-scale to.
            Kafka clusters with `HIGH` availability must have at least two eCKUs.
            For more details, see [Maximum eCKU requirements](https://docs.confluent.io/cloud/current/clusters/cluster-types.html#minimum-maximum-ecku-requirements).
          type: integer
          format: int32
          minimum: 1
          example: 2
      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: false
          example: [us-central1-a, us-central1-b, us-central1-c]
          x-immutable: true
      required:
        - kind
        - cku
    cmk.v2.Freight:
      type: object
      description: |
        A freight cluster with its parameters.
      properties:
        kind:
          type: string
          enum: [Freight]
        # yamllint disable rule:line-length
          description: |
            Freight cluster type.
        max_ecku:
        # yamllint disable rule:line-length
          description: |
            The maximum number of Elastic Confluent Kafka Units (eCKUs) that Kafka clusters should auto-scale to.
            Kafka clusters with `HIGH` availability must have at least two eCKUs.
            For more details, see [Maximum eCKU requirements](https://docs.confluent.io/cloud/current/clusters/cluster-types.html#minimum-maximum-ecku-requirements).
          type: integer
          format: int32
          minimum: 1
          example: 2
        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

    cmk.v2.EndpointsMap:
      type: object
      description: |
        Map of endpoints for a Kafka cluster, keyed by access point ID.
      additionalProperties:
        $ref: '#/components/schemas/cmk.v2.Endpoints'
      readOnly: true
      example:
        ap1pni123:
          kafka_bootstrap_endpoint: lkc-s1232-00000.us-central1.gcp.private.confluent.cloud:9092
          http_endpoint: https://lkc-s1232.us-central1.gcp.private.confluent.cloud:443
          connection_type: PRIVATE_NETWORK_INTERFACE
        ap2platt67890:
          kafka_bootstrap_endpoint: lkc-00000-00000.us-central1.gcp.glb.confluent.cloud:9092
          http_endpoint: https://lkc-00000-00000.us-central1.gcp.glb.confluent.cloud
          connection_type: PRIVATE_LINK

    cmk.v2.Endpoints:
      type: object
      description: |
        Given a gateway type, endpoints to connect to the Kafka cluster.
      properties:
        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
        http_endpoint:
          type: string
          description: |
            The REST endpoint for the Kafka cluster.
          format: uri
          example: https://lkc-00000-00000.us-central1.gcp.glb.confluent.cloud:443
        connection_type:
          type: string
          description: |
            The type of connection used for the endpoint.
        # This list comes from networking.v1.ConnectionType and [PEERING, TRANSITGATEWAY] values were dropped
          x-extensible-enum: [PUBLIC, PRIVATE_LINK, PRIVATE_NETWORK_INTERFACE]
          example: PRIVATE_NETWORK_INTERFACE
      required:
        - kafka_bootstrap_endpoint
        - http_endpoint
        - connection_type
      readOnly: true

    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
        <SchemaDefinition schemaRef="#/components/schemas/cmk.v2.Cluster" />

        ## 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
    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.

            DEPRECATED - Please use the `endpoints` attribute instead.
          example: lkc-00000-00000.us-central1.gcp.glb.confluent.cloud:9092
          deprecated: true
          x-immutable: true
          readOnly: true
        http_endpoint:
          type: string
          description: |
            The cluster HTTP request URL.

            DEPRECATED - Please use the `endpoints` attribute instead.
          format: uri
          example: https://lkc-00000-00000.us-central1.gcp.glb.confluent.cloud
          deprecated: true
          x-immutable: true
          readOnly: true
        api_endpoint:
          type: string
          description: |
            The Kafka API cluster endpoint used by Kafka clients to connect to the cluster.

            DEPRECATED - Please use the `endpoints` attribute instead.
          example: https://pkac-00000.us-west-2.aws.confluent.cloud
          deprecated: true
          x-immutable: true
          readOnly: true
        endpoints:
          description: |
            A map of endpoints for connecting to the Kafka cluster,
            keyed by access_point_id. Access Point ID 'PUBLIC' and 'PRIVATE_LINK' are reserved.
            These can be used for different network access methods or regions.
          example:
            ap1pni123:
              kafka_bootstrap_endpoint: lkc-s1232-00000.us-central1.gcp.private.confluent.cloud:9092
              http_endpoint: https://lkc-s1232.us-central1.gcp.private.confluent.cloud:443
              connection_type: PRIVATENETWORKINTERFACE
            ap2platt67890:
              kafka_bootstrap_endpoint: lkc-00000-00000.us-central1.gcp.glb.confluent.cloud:9092
              http_endpoint: https://lkc-00000-00000.us-central1.gcp.glb.confluent.cloud
              connection_type: PRIVATELINK
          allOf:
            - $ref: '#/components/schemas/cmk.v2.EndpointsMap'
          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: |
            Note: For Pre-BYOK v1 clusters, API responses might show both
            `encryption_key` and `byok`.
            To manage Pre-BYOK v1 keys, refer to:
            https://docs.confluent.io/cloud/current/security/encrypt/byok/legacy-byok.html
            #manage-pre-byok-api-v1-self-managed-encryption-keys
          x-immutable: true
      x-enable-id: true
      x-enable-listmeta: true
      x-enable-objectmeta: 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
    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
        <SchemaDefinition schemaRef="#/components/schemas/ksqldbcm.v2.Cluster" />

        ## 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'
    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
    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
        <SchemaDefinition schemaRef="#/components/schemas/ksqldbcm.v2.Cluster" />

        ## 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
    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,63}$
          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
    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
    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.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.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.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.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.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.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.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.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.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
    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
        <SchemaDefinition schemaRef="#/components/schemas/connect.v1.CustomConnectorPlugin" />
      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]*)$
        # yamllint disable-line rule:line-length
          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
        # yamllint disable-line rule:line-length
          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'
        # yamllint disable-line rule:line-length
          description: 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'
        runtime_language:
          type: string
          example: JAVA
          default: JAVA
          description: Runtime language of Custom Connector Plugin.
          x-extensible-enum: [JAVA, PYTHON]
    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
        <SchemaDefinition schemaRef="#/components/schemas/connect.v1.PresignedUrl" />
      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
          # yamllint disable-line rule:line-length
            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
      # You can add other constraints or properties specific to this example if needed
          readOnly: true
    connect.v1.CustomConnectorRuntime:
      type: object
      description: |-
        List of supported runtime languages for Custom Connector Plugin. The list defines the supported
        entries for confluent.custom.connect.plugin.runtime attribute in CustomConnectorPlugin object.
        Each entry also defines the set of supported java versions for that runtime which can be specified during
        connector provisioning via the confluent.custom.connect.plugin.java.version attribute.


        ## The Custom Connector Runtimes Model
        <SchemaDefinition schemaRef="#/components/schemas/connect.v1.CustomConnectorRuntime" />
      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:
            - CustomConnectorRuntime
        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
        custom_connect_plugin_runtime_name:
          type: string
          description: |
            Name of the runtime that is being used while provisioning a custom connector. This corresponds to
            the property custom.connect.plugin.runtime in the connector configuration.
          example: 3.9.0
          readOnly: true
        runtime_ak_version:
          type: string
          description: The underlying version of Apache Kafka which bundles the connect
            runtime
          example: 3.9.0
          readOnly: true
        supported_java_versions:
          type: array
          description: List of supported Java versions
          items:
            type: string
          example: ['11', '17']
          readOnly: true
        product_maturity:
          type: string
          description: |
            The product maturity phase for the plugin runtime.
            EA (Early Access), GA (Generally Available), or Preview.
          x-extensible-enum: [EA, GA, PREVIEW]
          example: GA
          readOnly: true
        end_of_life_at:
          type: string
          format: date-time
          description: End of Life date for the runtime
          example: '2006-01-02T15:04:05-07:00'
          readOnly: true
        description:
          type: string
          description: Description of the runtime
          example: Custom Connector Plugin runtime using AK 3.9.0 and supporting Java
            11 and 17
          readOnly: true
    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.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
        # yamllint disable-line rule:line-length
          description: Upload ID returned by the `/presigned-upload-url` API. This
            field returns an empty string in all responses.
      required:
        - location
        - upload_id

    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
        <SchemaDefinition schemaRef="#/components/schemas/connect.v1.CustomConnectorPlugin" />
      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
    connect.v1.CustomConnectorRuntimeList:
      type: object
      description: |-
        List of supported runtime languages for Custom Connector Plugin. The list defines the supported
        entries for confluent.custom.connect.plugin.runtime attribute in CustomConnectorPlugin object.
        Each entry also defines the set of supported java versions for that runtime which can be specified during
        connector provisioning via the confluent.custom.connect.plugin.java.version attribute.


        ## The Custom Connector Runtimes Model
        <SchemaDefinition schemaRef="#/components/schemas/connect.v1.CustomConnectorRuntime" />
      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:
            - CustomConnectorRuntimeList
        metadata:
          allOf:
            - $ref: '#/components/schemas/ListMeta'
            - properties:
                first:
                  example: https://api.confluent.cloud/connect/v1/custom-connector-runtimes
                last:
                  example: https://api.confluent.cloud/connect/v1/custom-connector-runtimes?page_token=bcAOehAY8F16YD84Z1wT
                prev:
                  example: https://api.confluent.cloud/connect/v1/custom-connector-runtimes?page_token=YIXRY97wWYmwzrax4dld
                next:
                  example: https://api.confluent.cloud/connect/v1/custom-connector-runtimes?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.CustomConnectorRuntime'
              - type: object
                required:
                  - id
          uniqueItems: true
    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'
            # Currently the aggregator script doesn't merge correctly some
            # otherwise identical parts of duplicate components defined in
            # both kafka-rest and ce-kafka-rest's OpenAPI specs.
            # In some cases this can be handled by slightly tweaking the
            # input specs, but in other cases this requires manual
            # intervention in the consolidated specs after the generation.
            # We should eventually fix the aggregator script, but in the
            # meantime, we should be careful during reviews, making sure
            # that comments like this do not get replaced by wrongly
            # merged autogenerated content.
            # See https://github.com/confluentinc/ce-kafka-rest/pull/227.

    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'

    AclDataList:
      allOf:
        - $ref: '#/components/schemas/ResourceCollection'
        - type: object
          required:
            - data
          properties:
            data:
              type: array
              items:
                $ref: '#/components/schemas/AclData'

    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

    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

    AnyValue:
      nullable: true

    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

    BrokerConfigData:
      allOf:
        - $ref: '#/components/schemas/AbstractConfigData'
        - type: object
          required:
            - broker_id
          properties:
            broker_id:
              type: integer

    BrokerConfigDataList:
      allOf:
        - $ref: '#/components/schemas/ResourceCollection'
        - type: object
          required:
            - data
          properties:
            data:
              type: array
              items:
                $ref: '#/components/schemas/BrokerConfigData'

    BrokerData:
      allOf:
        - $ref: '#/components/schemas/Resource'
        - type: object
          required:
            - cluster_id
            - broker_id
            - configs
            - partition_replicas
          properties:
            cluster_id:
              type: string
            broker_id:
              type: integer
            host:
              type: string
              nullable: true
            port:
              type: integer
              nullable: true
            rack:
              type: string
              nullable: true
            configs:
              $ref: '#/components/schemas/Relationship'
            partition_replicas:
              $ref: '#/components/schemas/Relationship'

    BrokerDataList:
      allOf:
        - $ref: '#/components/schemas/ResourceCollection'
        - type: object
          required:
            - data
          properties:
            data:
              type: array
              items:
                $ref: '#/components/schemas/BrokerData'

    ClusterConfigData:
      allOf:
        - $ref: '#/components/schemas/AbstractConfigData'
        - type: object
          required:
            - config_type
          properties:
            config_type:
              $ref: '#/components/schemas/ClusterConfigType'

    ClusterConfigDataList:
      allOf:
        - $ref: '#/components/schemas/ResourceCollection'
        - type: object
          required:
            - data
          properties:
            data:
              type: array
              items:
                $ref: '#/components/schemas/ClusterConfigData'

    ClusterConfigType:
      type: string
      x-extensible-enum:
        - BROKER

    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'

    ClusterDataList:
      allOf:
        - $ref: '#/components/schemas/ResourceCollection'
        - type: object
          required:
            - data
          properties:
            data:
              type: array
              items:
                $ref: '#/components/schemas/ClusterData'

    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

    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
        # Currently the aggregator script doesn't merge correctly some
        # otherwise identical parts of duplicate components defined in
        # both kafka-rest and ce-kafka-rest's OpenAPI specs.
        # In some cases this can be handled by slightly tweaking the
        # input specs, but in other cases this requires manual
        # intervention in the consolidated specs after the generation.
        # We should eventually fix the aggregator script, but in the
        # meantime, we should be careful during reviews, making sure
        # that comments like this do not get replaced by wrongly
        # merged autogenerated content.
        # See https://github.com/confluentinc/ce-kafka-rest/pull/227.

    ConfigSynonymData:
      type: object
      required:
        - name
        - source
      properties:
        name:
          type: string
        value:
          type: string
          nullable: true
        source:
          $ref: '#/components/schemas/ConfigSource'

    ConsumerAssignmentData:
      allOf:
        - $ref: '#/components/schemas/Resource'
        - type: object
          required:
            - cluster_id
            - consumer_group_id
            - consumer_id
            - topic_name
            - partition_id
            - partition
            - lag
          properties:
            cluster_id:
              type: string
            consumer_group_id:
              type: string
            consumer_id:
              type: string
            topic_name:
              type: string
            partition_id:
              type: integer
            partition:
              $ref: '#/components/schemas/Relationship'
            lag:
              $ref: '#/components/schemas/Relationship'

    ConsumerAssignmentDataList:
      allOf:
        - $ref: '#/components/schemas/ResourceCollection'
        - type: object
          required:
            - data
          properties:
            data:
              type: array
              items:
                $ref: '#/components/schemas/ConsumerAssignmentData'

    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'

    ConsumerDataList:
      allOf:
        - $ref: '#/components/schemas/ResourceCollection'
        - type: object
          required:
            - data
          properties:
            data:
              type: array
              items:
                $ref: '#/components/schemas/ConsumerData'

    ConsumerGroupData:
      allOf:
        - $ref: '#/components/schemas/Resource'
        - type: object
          required:
            - cluster_id
            - consumer_group_id
            - is_simple
            - partition_assignor
            - state
            - type
            - is_mixed_consumer_group
            - 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'
            type:
              $ref: '#/components/schemas/ConsumerGroupType'
            is_mixed_consumer_group:
              type: boolean
            coordinator:
              $ref: '#/components/schemas/Relationship'
            consumers:
              $ref: '#/components/schemas/Relationship'
            lag_summary:
              $ref: '#/components/schemas/Relationship'

    ConsumerGroupDataList:
      allOf:
        - $ref: '#/components/schemas/ResourceCollection'
        - type: object
          required:
            - data
          properties:
            data:
              type: array
              items:
                $ref: '#/components/schemas/ConsumerGroupData'

    ConsumerGroupState:
      type: string
      x-extensible-enum:
        - UNKNOWN
        - PREPARING_REBALANCE
        - COMPLETING_REBALANCE
        - ASSIGNING
        - RECONCILING
        - STABLE
        - DEAD
        - EMPTY

    ConsumerGroupType:
      type: string
      x-extensible-enum:
        - UNKNOWN
        - CLASSIC
        - CONSUMER
        - SHARE

    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

    ConsumerLagDataList:
      allOf:
        - $ref: '#/components/schemas/ResourceCollection'
        - type: object
          required:
            - data
          properties:
            data:
              type: array
              items:
                $ref: '#/components/schemas/ConsumerLagData'

    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'

    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'

    PartitionDataList:
      allOf:
        - $ref: '#/components/schemas/ResourceCollection'
        - type: object
          required:
            - data
          properties:
            data:
              type: array
              items:
                $ref: '#/components/schemas/PartitionData'

    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

    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

    ProduceRequestData:
      type: object
      properties:
        type:
          type: string
          x-extensible-enum:
            - BINARY
            - JSON
            - STRING
        data:
          $ref: '#/components/schemas/AnyValue'
      nullable: true

    ProduceRequestHeader:
      type: object
      required:
        - name
      properties:
        name:
          type: string
        value:
          type: string
          format: byte
          nullable: true

    ReassignmentData:
      allOf:
        - $ref: '#/components/schemas/Resource'
        - type: object
          required:
            - cluster_id
            - topic_name
            - partition_id
            - adding_replicas
            - removing_replicas
            - replicas
          properties:
            cluster_id:
              type: string
            topic_name:
              type: string
            partition_id:
              type: integer
            adding_replicas:
              type: array
              items:
                type: integer
            removing_replicas:
              type: array
              items:
                type: integer
            replicas:
              $ref: '#/components/schemas/Relationship'

    ReassignmentDataList:
      allOf:
        - $ref: '#/components/schemas/ResourceCollection'
        - type: object
          required:
            - data
          properties:
            data:
              type: array
              items:
                $ref: '#/components/schemas/ReassignmentData'

    Relationship:
      type: object
      required:
        - related
      properties:
        related:
          type: string

    ReplicaData:
      allOf:
        - $ref: '#/components/schemas/Resource'
        - type: object
          required:
            - cluster_id
            - topic_name
            - partition_id
            - broker_id
            - is_leader
            - is_in_sync
            - broker
          properties:
            cluster_id:
              type: string
            topic_name:
              type: string
            partition_id:
              type: integer
            broker_id:
              type: integer
            is_leader:
              type: boolean
            is_in_sync:
              type: boolean
            broker:
              $ref: '#/components/schemas/Relationship'

    ReplicaDataList:
      allOf:
        - $ref: '#/components/schemas/ResourceCollection'
        - type: object
          required:
            - data
          properties:
            data:
              type: array
              items:
                $ref: '#/components/schemas/ReplicaData'

    Resource:
      type: object
      required:
        - kind
        - metadata
      properties:
        kind:
          type: string
        metadata:
          $ref: '#/components/schemas/ResourceMetadata'

    ResourceCollection:
      type: object
      required:
        - kind
        - metadata
      properties:
        kind:
          type: string
        metadata:
          $ref: '#/components/schemas/ResourceCollectionMetadata'

    ResourceCollectionMetadata:
      type: object
      required:
        - self
      properties:
        self:
          type: string
        next:
          type: string
          nullable: true

    ResourceMetadata:
      type: object
      required:
        - self
      properties:
        self:
          type: string
        resource_name:
          type: string
          nullable: true

    ShareGroupConsumerAssignmentData:
      allOf:
        - $ref: '#/components/schemas/Resource'
        - type: object
          required:
            - cluster_id
            - group_id
            - consumer_id
            - topic_name
            - partition_id
            - partition
          properties:
            cluster_id:
              type: string
            group_id:
              type: string
            consumer_id:
              type: string
            topic_name:
              type: string
            partition_id:
              type: integer
            partition:
              $ref: '#/components/schemas/Relationship'

    ShareGroupConsumerAssignmentDataList:
      allOf:
        - $ref: '#/components/schemas/ResourceCollection'
        - type: object
          required:
            - data
          properties:
            data:
              type: array
              items:
                $ref: '#/components/schemas/ShareGroupConsumerAssignmentData'


    ShareGroupDataList:
      allOf:
        - $ref: '#/components/schemas/ResourceCollection'
        - type: object
          required:
            - data
          properties:
            data:
              type: array
              items:
                $ref: '#/components/schemas/ShareGroupData'

    ShareGroupData:
      allOf:
        - $ref: '#/components/schemas/Resource'
        - type: object
          required:
            - cluster_id
            - share_group_id
            - state
            - coordinator
            - consumers
            - consumer_count
            - partition_count
          properties:
            cluster_id:
              type: string
            share_group_id:
              type: string
            state:
              $ref: '#/components/schemas/ShareGroupState'
            coordinator:
              $ref: '#/components/schemas/Relationship'
            consumers:
              $ref: '#/components/schemas/Relationship'
            consumer_count:
              type: integer
              format: int32
              description: Number of consumers in this share group
            partition_count:
              type: integer
              format: int32
              description: Total number of partitions assigned to this share group
                across all consumers
            assigned_topic_partitions:
              type: array
              items:
                $ref: '#/components/schemas/ShareGroupTopicPartitionData'
              description: List of topic-partitions assigned to this share group,
                including those from empty groups

    ShareGroupState:
      type: string
      x-extensible-enum:
        - UNKNOWN
        - PREPARING_REBALANCE
        - COMPLETING_REBALANCE
        - STABLE
        - DEAD
        - EMPTY

    ShareGroupTopicPartitionData:
      allOf:
        - $ref: '#/components/schemas/Resource'
        - type: object
          required:
            - topic_name
            - partition_id
            - partition
          properties:
            topic_name:
              type: string
              description: The name of the topic
            partition_id:
              type: integer
              format: int32
              description: The partition ID
            partition:
              $ref: '#/components/schemas/Relationship'
              description: Link to the topic partition


    ShareGroupConsumerData:
      allOf:
        - $ref: '#/components/schemas/Resource'
        - type: object
          required:
            - cluster_id
            - group_id
            - consumer_id
            - client_id
            - assignments
          properties:
            cluster_id:
              type: string
            group_id:
              type: string
            consumer_id:
              type: string
            client_id:
              type: string
            assignments:
              $ref: '#/components/schemas/Relationship'

    ShareGroupConsumerDataList:
      allOf:
        - $ref: '#/components/schemas/ResourceCollection'
        - type: object
          required:
            - data
          properties:
            data:
              type: array
              items:
                $ref: '#/components/schemas/ShareGroupConsumerData'

    GroupConfigData:
      allOf:
        - $ref: '#/components/schemas/Resource'
        - type: object
          required:
            - cluster_id
            - group_id
            - name
            - is_default
            - is_read_only
            - is_sensitive
            - source
            - synonyms
          properties:
            cluster_id:
              type: string
            group_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'

    GroupConfigDataList:
      allOf:
        - $ref: '#/components/schemas/ResourceCollection'
        - type: object
          required:
            - data
          properties:
            data:
              type: array
              items:
                $ref: '#/components/schemas/GroupConfigData'

    UpdateGroupConfigRequestData:
      properties:
        value:
          type: string
      required:
        - value
      type: object

    TopicConfigData:
      allOf:
        - $ref: '#/components/schemas/AbstractConfigData'
        - type: object
          required:
            - topic_name
          properties:
            topic_name:
              type: string
          # Currently the aggregator script doesn't merge correctly some
          # otherwise identical parts of duplicate components defined in
          # both kafka-rest and ce-kafka-rest's OpenAPI specs.
          # In some cases this can be handled by slightly tweaking the
          # input specs, but in other cases this requires manual
          # intervention in the consolidated specs after the generation.
          # We should eventually fix the aggregator script, but in the
          # meantime, we should be careful during reviews, making sure
          # that comments like this do not get replaced by wrongly
          # merged autogenerated content.
          # See https://github.com/confluentinc/ce-kafka-rest/pull/227.

    TopicConfigDataList:
      allOf:
        - $ref: '#/components/schemas/ResourceCollection'
        - type: object
          required:
            - data
          properties:
            data:
              type: array
              items:
                $ref: '#/components/schemas/TopicConfigData'
          # Currently the aggregator script doesn't merge correctly some
          # otherwise identical parts of duplicate components defined in
          # both kafka-rest and ce-kafka-rest's OpenAPI specs.
          # In some cases this can be handled by slightly tweaking the
          # input specs, but in other cases this requires manual
          # intervention in the consolidated specs after the generation.
          # We should eventually fix the aggregator script, but in the
          # meantime, we should be careful during reviews, making sure
          # that comments like this do not get replaced by wrongly
          # merged autogenerated content.
          # See https://github.com/confluentinc/ce-kafka-rest/pull/227.

    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'

    TopicDataList:
      allOf:
        - $ref: '#/components/schemas/ResourceCollection'
        - type: object
          required:
            - data
          properties:
            data:
              type: array
              items:
                $ref: '#/components/schemas/TopicData'

    UpdateConfigRequestData:
      type: object
      properties:
        value:
          type: string
          nullable: true

    UpdatePartitionCountRequestData:
      type: object
      required:
        - partitions_count
      properties:
        partitions_count:
          type: integer
          format: int32

    StreamsGroupState:
      description: The state of the Streams group.
      type: string
      x-extensible-enum:
        - UNKNOWN
        - PREPARING_REBALANCE
        - COMPLETING_REBALANCE
        - STABLE
        - DEAD
        - EMPTY
        - ASSIGNING
        - RECONCILING
        - NOT_READY

    AssignmentsType:
      description: The type of the Streams task assignments.
      type: string
      x-extensible-enum:
        - ACTIVE
        - STANDBY
        - WARMUP

    StreamsGroupDataList:
      description: The list of Streams groups.
      allOf:
        - $ref: '#/components/schemas/ResourceCollection'
        - type: object
          required:
            - data
          properties:
            data:
              type: array
              description: The array of Streams group details.
              items:
                $ref: '#/components/schemas/StreamsGroupData'

    StreamsGroupData:
      description: The details of a Streams group.
      allOf:
        - $ref: '#/components/schemas/Resource'
        - type: object
          required:
            - cluster_id
            - group_id
            - state
            - member_count
            - subtopology_count
            - group_epoch
            - topology_epoch
            - target_assignment_epoch
            - members
            - subtopologies
          properties:
            cluster_id:
              type: string
              description: The unique identifier of the Kafka cluster.
            group_id:
              type: string
              description: The unique identifier of the Streams group.
            state:
              $ref: '#/components/schemas/StreamsGroupState'
            member_count:
              type: integer
              description: The number of members in the Streams group.
            subtopology_count:
              type: integer
              description: The number of subtopologies in the Streams group.
            group_epoch:
              type: integer
              description: The epoch of the Streams group.
            topology_epoch:
              type: integer
              description: The epoch of the Streams topology.
            target_assignment_epoch:
              type: integer
              description: The epoch of the target assignment.
            members:
              $ref: '#/components/schemas/Relationship'
            subtopologies:
              $ref: '#/components/schemas/Relationship'

    StreamsGroupSubtopologyDataList:
      description: The list of Streams group subtopologies.
      allOf:
        - $ref: '#/components/schemas/ResourceCollection'
        - type: object
          required:
            - data
          properties:
            data:
              type: array
              description: The array of Streams group subtopology details.
              items:
                $ref: '#/components/schemas/StreamsGroupSubtopologyData'

    StreamsGroupSubtopologyData:
      description: The details of a Streams group subtopology.
      allOf:
        - $ref: '#/components/schemas/Resource'
        - type: object
          required:
            - cluster_id
            - group_id
            - subtopology_id
            - source_topics
          properties:
            cluster_id:
              type: string
              description: The unique identifier of the Kafka cluster.
            group_id:
              type: string
              description: The unique identifier of the Streams group.
            subtopology_id:
              type: string
              description: The unique identifier of the Streams subtopology.
            source_topics:
              type: array
              description: The list of source topics for the subtopology.
              items:
                type: string
                description: The name of a source topic.

    StreamsGroupMemberDataList:
      description: The list of Streams group members.
      allOf:
        - $ref: '#/components/schemas/ResourceCollection'
        - type: object
          required:
            - data
          properties:
            data:
              type: array
              description: The array of Streams group member details.
              items:
                $ref: '#/components/schemas/StreamsGroupMemberData'

    StreamsGroupMemberData:
      description: The details of a Streams group member.
      allOf:
        - $ref: '#/components/schemas/Resource'
        - type: object
          required:
            - cluster_id
            - group_id
            - member_id
            - process_id
            - client_id
            - instance_id
            - member_epoch
            - topology_epoch
            - is_classic
            - assignments
            - target_assignment
          properties:
            cluster_id:
              type: string
              description: The unique identifier of the Kafka cluster.
            group_id:
              type: string
              description: The unique identifier of the Streams group.
            member_id:
              type: string
              description: The unique identifier of the Streams group member.
            process_id:
              type: string
              description: The process identifier of the Streams group member.
            client_id:
              type: string
              description: The client identifier of the Streams group member.
            instance_id:
              type: string
              description: The instance identifier of the Streams group member.
            member_epoch:
              type: integer
              description: The epoch of the Streams group member.
            topology_epoch:
              type: integer
              description: The epoch of the Streams topology for the member.
            is_classic:
              type: boolean
              description: The flag indicating if the member is a classic consumer.
            assignments:
              $ref: '#/components/schemas/Relationship'
            target_assignment:
              $ref: '#/components/schemas/Relationship'

    StreamsGroupMemberAssignmentData:
      description: The assignment details of a Streams group member.
      allOf:
        - $ref: '#/components/schemas/Resource'
        - type: object
          required:
            - cluster_id
            - group_id
            - member_id
            - active_tasks
            - standby_tasks
            - warmup_tasks
          properties:
            cluster_id:
              type: string
              description: The unique identifier of the Kafka cluster.
            group_id:
              type: string
              description: The unique identifier of the Streams group.
            member_id:
              type: string
              description: The unique identifier of the Streams group member.
            active_tasks:
              $ref: '#/components/schemas/Relationship'
            standby_tasks:
              $ref: '#/components/schemas/Relationship'
            warmup_tasks:
              $ref: '#/components/schemas/Relationship'

    StreamsTaskDataList:
      description: The list of Streams tasks.
      allOf:
        - $ref: '#/components/schemas/ResourceCollection'
        - type: object
          required:
            - data
          properties:
            data:
              type: array
              description: The array of Streams task details.
              items:
                $ref: '#/components/schemas/StreamsTaskData'

    StreamsTaskData:
      description: The details of a Streams task.
      allOf:
        - $ref: '#/components/schemas/Resource'
        - type: object
          required:
            - subtopology_id
            - partition_ids
          properties:
            subtopology_id:
              type: string
              description: The unique identifier of the Streams subtopology.
            partition_ids:
              type: array
              description: The list of partition IDs assigned to the Streams task.
              items:
                type: integer
                description: The partition ID.

    ReplicaStatusData:
      allOf:
        - $ref: '#/components/schemas/Resource'
        - type: object
          required:
            - cluster_id
            - topic_name
            - broker_id
            - partition_id
            - is_leader
            - is_observer
            - is_isr_eligible
            - is_in_isr
            - is_caught_up
            - log_start_offset
            - log_end_offset
            - last_caught_up_time_ms
            - last_fetch_time_ms
          properties:
            cluster_id:
              type: string
            topic_name:
              type: string
            broker_id:
              type: integer
              format: int32
            partition_id:
              type: integer
              format: int32
            is_leader:
              type: boolean
            is_observer:
              type: boolean
            is_isr_eligible:
              type: boolean
            is_in_isr:
              type: boolean
            is_caught_up:
              type: boolean
            log_start_offset:
              format: int64
              type: integer
            log_end_offset:
              format: int64
              type: integer
            last_caught_up_time_ms:
              format: int64
              type: integer
            last_fetch_time_ms:
              format: int64
              type: integer
            link_name:
              type: string

    ReplicaStatusDataList:
      allOf:
        - $ref: '#/components/schemas/ResourceCollection'
        - type: object
          required:
            - data
          properties:
            data:
              type: array
              items:
                $ref: '#/components/schemas/ReplicaStatusData'

    AnyUnevenLoadData:
      allOf:
        - $ref: '#/components/schemas/Resource'
        - type: object
          required:
            - cluster_id
            - status
            - previous_status
            - status_updated_at
            - previous_status_updated_at
            - broker_tasks
          properties:
            cluster_id:
              type: string
            status:
              $ref: '#/components/schemas/AnyUnevenLoadStatus'
            previous_status:
              $ref: '#/components/schemas/AnyUnevenLoadStatus'
            status_updated_at:
              type: string
              format: date-time
              example: '2019-10-12T07:20:50Z'
              readOnly: true
              description: The date and time at which this task was created.
            previous_status_updated_at:
              type: string
              format: date-time
              example: '2019-10-12T07:20:50Z'
              readOnly: true
              description: The date and time at which this task was created.
            error_code:
              type: integer
              nullable: true
            error_message:
              type: string
              nullable: true
            broker_tasks:
              $ref: '#/components/schemas/Relationship'

    BalancerStatusData:
      allOf:
        - $ref: '#/components/schemas/Resource'
        - type: object
          required:
            - cluster_id
            - status
            - any_uneven_load
            - broker_tasks
          properties:
            cluster_id:
              type: string
            status:
              $ref: '#/components/schemas/BalancerStatus'
            error_code:
              type: integer
              nullable: true
            error_message:
              type: string
              nullable: true
            any_uneven_load:
              $ref: '#/components/schemas/Relationship'
            broker_tasks:
              $ref: '#/components/schemas/Relationship'

    BrokerRemovalData:
      allOf:
        - $ref: '#/components/schemas/Resource'
        - type: object
          required:
            - cluster_id
            - broker_id
            - broker_task
            - broker
          properties:
            cluster_id:
              type: string
            broker_id:
              type: integer
            broker_task:
              $ref: '#/components/schemas/Relationship'
            broker:
              $ref: '#/components/schemas/Relationship'

    BrokerRemovalDataList:
      allOf:
        - $ref: '#/components/schemas/ResourceCollection'
        - type: object
          required:
            - data
          properties:
            data:
              type: array
              items:
                $ref: '#/components/schemas/BrokerRemovalData'

    BrokerTaskData:
      allOf:
        - $ref: '#/components/schemas/Resource'
        - type: object
          required:
            - cluster_id
            - broker_id
            - task_type
            - task_status
            - sub_task_statuses
            - created_at
            - updated_at
            - broker
          properties:
            cluster_id:
              type: string
            broker_id:
              type: integer
            task_type:
              $ref: '#/components/schemas/BrokerTaskType'
            task_status:
              $ref: '#/components/schemas/BrokerTaskStatus'
            shutdown_scheduled:
              type: boolean
              nullable: true
            sub_task_statuses:
              type: object
              additionalProperties:
                type: string
            created_at:
              type: string
              format: date-time
              example: '2019-10-12T07:20:50Z'
              readOnly: true
              description: The date and time at which this task was created.
            updated_at:
              type: string
              format: date-time
              example: '2019-10-12T07:20:50Z'
              readOnly: true
              description: The date and time at which this task was last updated.
            error_code:
              type: integer
              nullable: true
            error_message:
              type: string
              nullable: true
            broker:
              $ref: '#/components/schemas/Relationship'

    BrokerTaskDataList:
      allOf:
        - $ref: '#/components/schemas/ResourceCollection'
        - type: object
          required:
            - data
          properties:
            data:
              type: array
              items:
                $ref: '#/components/schemas/BrokerTaskData'

    BrokerReplicaExclusionRequestData:
      type: object
      required:
        - broker_id
        - reason
      properties:
        broker_id:
          type: integer
        reason:
          type: string

    BrokerReplicaExclusionBatchRequestData:
      type: object
      required:
        - data
      properties:
        data:
          type: array
          items:
            $ref: '#/components/schemas/BrokerReplicaExclusionRequestData'

    BrokerReplicaExclusionData:
      allOf:
        - $ref: '#/components/schemas/Resource'
        - type: object
          required:
            - cluster_id
            - broker_id
            - reason
            - broker
          properties:
            cluster_id:
              type: string
            broker_id:
              type: integer
            reason:
              type: string
            broker:
              $ref: '#/components/schemas/Relationship'

    BrokerReplicaExclusionDataList:
      allOf:
        - $ref: '#/components/schemas/ResourceCollection'
        - type: object
          required:
            - data
          properties:
            data:
              type: array
              items:
                $ref: '#/components/schemas/BrokerReplicaExclusionData'

    AlterBrokerReplicaExclusionData:
      allOf:
        - $ref: '#/components/schemas/Resource'
        - type: object
          required:
            - cluster_id
            - broker_id
            - exclusion
            - reason
            - broker
          properties:
            cluster_id:
              type: string
            broker_id:
              type: integer
            exclusion:
              $ref: '#/components/schemas/ExclusionOp'
            reason:
              type: string
            error_code:
              type: integer
              nullable: true
            error_message:
              type: string
              nullable: true
            broker:
              $ref: '#/components/schemas/Relationship'

    AlterBrokerReplicaExclusionDataList:
      allOf:
        - $ref: '#/components/schemas/ResourceCollection'
        - type: object
          required:
            - data
          properties:
            data:
              type: array
              items:
                $ref: '#/components/schemas/AlterBrokerReplicaExclusionData'

    RemoveBrokerTaskData:
      allOf:
        - $ref: '#/components/schemas/Resource'
        - type: object
          required:
            - cluster_id
            - broker_id
            - shutdown_scheduled
            - broker_replica_exclusion_status
            - partition_reassignment_status
            - broker_shutdown_status
            - broker
          properties:
            cluster_id:
              type: string
            broker_id:
              type: integer
            shutdown_scheduled:
              type: boolean
            broker_replica_exclusion_status:
              $ref: '#/components/schemas/BrokerReplicaExclusionStatus'
            partition_reassignment_status:
              $ref: '#/components/schemas/DeprecatedPartitionReassignmentStatus'
            broker_shutdown_status:
              $ref: '#/components/schemas/DeprecatedBrokerShutdownStatus'
            error_code:
              type: integer
              nullable: true
            error_message:
              type: string
              nullable: true
            broker:
              $ref: '#/components/schemas/Relationship'

    RemoveBrokerTaskDataList:
      allOf:
        - $ref: '#/components/schemas/ResourceCollection'
        - type: object
          required:
            - data
          properties:
            data:
              type: array
              items:
                $ref: '#/components/schemas/RemoveBrokerTaskData'

    ConfigData:
      example:
        name: name
        value: value
      properties:
        name:
          type: string
        value:
          nullable: true
          type: string
      required:
        - name
        - value

    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

    LinkState:
      type: string
      x-extensible-enum:
        - ACTIVE
        - FAILED
        - UNAVAILABLE
        - PAUSED
        - UNKNOWN

    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

    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'

    LinkCategory:
      type: object
      required:
        - state_category
        - count
      properties:
        state_category:
          $ref: '#/components/schemas/StateCategory'
        count:
          type: integer
          format: int32
          example: 123

    StateCategory:
      type: string
      x-extensible-enum:
        - PAUSED
        - IN_ERROR
        - PENDING
        - ACTIVE
        - NOT_APPLICABLE

    LinkTaskError:
      type: object
      required:
        - error_code
        - error_message
      properties:
        error_code:
          type: string
        error_message:
          type: string

    LinkTaskState:
      type: string
      x-extensible-enum:
        - UNKNOWN
        - ACTIVE
        - IN_ERROR
        - NOT_CONFIGURED
        - LINK_FAILED
        - LINK_UNAVAILABLE
        - LINK_PAUSED

    LinkTaskErrorCode:
      type: string
      x-extensible-enum:
        - UNKNOWN
        - NO_ERROR
        - INTERNAL_ERROR
        - AUTHENTICATION_ERROR
        - BROKER_AUTHENTICATION_ERROR
        - MISCONFIGURATION_ERROR
        - REMOTE_LINK_NOT_FOUND_ERROR
        - LINK_NOT_FOUND_ERROR
        - CONSUMER_GROUP_IN_USE_ERROR
        - AUTHORIZATION_ERROR
        - BROKER_AUTHORIZATION_ERROR
        - SECURITY_DISABLED_ERROR
        - TOPIC_EXISTS_ERROR
        - POLICY_VIOLATION_ERROR
        - LINK_COORDINATOR_NOT_ENABLED_ERROR
        - ACL_LIMIT_EXCEEDED
        - REMOTE_MIRROR_NOT_FOUND_ERROR
        - UNKNOWN_TOPIC_OR_PARTITION_ERROR
        - INVALID_TOPIC
        - SUPPRESSED_ERRORS
        - INVALID_REQUEST_ERROR

    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'
            category_counts:
              nullable: true
              type: array
              items:
                $ref: '#/components/schemas/LinkCategory'


    # This schema also exists in kafka-rest/api/v3/openapi.yaml. The aggregator script is not
    # handling that correctly and is duplicating the required and enum sections below. They have
    # been commented out, so that consolidated-openapi.yaml is generated correctly.
    ListLinksResponseDataList:
      allOf:
        - $ref: '#/components/schemas/ResourceCollection'
        - type: object
          required:
            - data
          properties:
            data:
              type: array
              items:
                $ref: '#/components/schemas/ListLinksResponseData'

    ListLinkConfigsResponseData:
      allOf:
        - $ref: '#/components/schemas/Resource'
        - type: object
          required:
            - cluster_id
            - name
            - value
            - is_default
            - is_read_only
            - is_sensitive
            - source
            - synonyms
            - link_name
          properties:
            cluster_id:
              type: string
            name:
              type: string
            value:
              type: string
            is_default:
              type: boolean
            is_read_only:
              type: boolean
            is_sensitive:
              type: boolean
            source:
              type: string
              x-extensible-enum:
                - DYNAMIC_CLUSTER_LINK_CONFIG
            synonyms:
              type: array
              items:
                type: string
            link_name:
              type: string

    ListLinkConfigsResponseDataList:
      allOf:
        - $ref: '#/components/schemas/ResourceCollection'
        - type: object
          required:
            - data
          properties:
            data:
              type: array
              items:
                $ref: '#/components/schemas/ListLinkConfigsResponseData'

    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

    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'
            mirror_topic_error:
              $ref: '#/components/schemas/MirrorTopicError'
            state_time_ms:
              type: integer
              format: int64
            mirror_state_transition_errors:
              type: array
              items:
                $ref: '#/components/schemas/LinkTaskError'

    ListMirrorTopicsResponseDataList:
      allOf:
        - $ref: '#/components/schemas/ResourceCollection'
        - type: object
          required:
            - data
          properties:
            data:
              type: array
              items:
                $ref: '#/components/schemas/ListMirrorTopicsResponseData'

    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

    AlterMirrorStatusResponseDataList:
      allOf:
        - $ref: '#/components/schemas/ResourceCollection'
        - type: object
          required:
            - data
          properties:
            data:
              type: array
              items:
                $ref: '#/components/schemas/AlterMirrorStatusResponseData'

    RemoveBrokersRequestData:
      properties:
        broker_ids:
          type: array
          items:
            type: integer
      required:
        - broker_ids
      type: object

    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

    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

    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

    MirrorTopicError:
      type: string
      x-extensible-enum:
        - UNKNOWN
        - NOT_SET
        - NO_ERROR
        - SOURCE_TOPIC_MAY_BE_DELETED
        - SOURCE_TOPIC_ID_CHANGED
        - SOURCE_PARTITIONS_DECREASED
        - NON_MONOTONIC_LOG_APPEND_EPOCH
        - UNEXPECTED_TRUNCATION
        - UNSUPPORTED_MESSAGE_FORMAT
        - NON_MONOTONIC_SOURCE_EPOCH
        - ILLEGAL_STATE
        - UNSUPPORTED_MIRROR_STATE

    AnyUnevenLoadStatus:
      type: string
      x-extensible-enum:
        - STARTING
        - BALANCING
        - BALANCED
        - BALANCING_FAILED
        - DISABLED
        - ABORTED
        - UNKNOWN

    BalancerStatus:
      type: string
      x-extensible-enum:
        - BOOTSTRAPPING
        - STARTING
        - ENABLED
        - ERROR
        - DISABLED
        - FAILOVER
        - LOAD_FAILURE
        - UNKNOWN

    BrokerTaskType:
      type: string
      enum:
        - add-broker
        - remove-broker

    BrokerTaskStatus:
      type: string
      x-extensible-enum:
        - FAILED
        - IN_PROGRESS
        - SUCCESS
        - UNKNOWN

    ExclusionOp:
      type: string
      x-extensible-enum:
        - SET
        - DELETE
        - UNKNOWN

    BrokerReplicaExclusionStatus:
      type: string
      x-extensible-enum:
        - PENDING
        - IN_PROGRESS
        - EXCLUDED
        - REMOVING
        - ERROR
        - CANCELED
        - COMPLETED
        - UNKNOWN

    DeprecatedPartitionReassignmentStatus:
      type: string
      x-extensible-enum:
        - CANCELED
        - FAILED
        - PENDING
        - IN_PROGRESS
        - COMPLETE

    DeprecatedBrokerShutdownStatus:
      type: string
      x-extensible-enum:
        - FAILED
        - CANCELED
        - PENDING
        - COMPLETE

    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
        <SchemaDefinition schemaRef="#/components/schemas/service-quota.v1.AppliedQuota" />
      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
    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
        <SchemaDefinition schemaRef="#/components/schemas/service-quota.v1.Scope" />
      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
    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
        <SchemaDefinition schemaRef="#/components/schemas/service-quota.v1.AppliedQuota" />
      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
    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
        <SchemaDefinition schemaRef="#/components/schemas/service-quota.v1.Scope" />
      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
    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
    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
    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
        <SchemaDefinition schemaRef="#/components/schemas/srcm.v2.Region" />
      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'
    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
        <SchemaDefinition schemaRef="#/components/schemas/srcm.v2.Cluster" />
      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.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
    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
        <SchemaDefinition schemaRef="#/components/schemas/srcm.v2.Region" />
      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
    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
    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
        <SchemaDefinition schemaRef="#/components/schemas/srcm.v2.Cluster" />
      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.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.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
        <SchemaDefinition schemaRef="#/components/schemas/srcm.v3.Cluster" />
      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.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
    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
        <SchemaDefinition schemaRef="#/components/schemas/srcm.v3.Cluster" />
      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.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
        catalog_http_endpoint:
          type: string
          description: The cluster's catalog HTTP request URL.
          format: uri
          example: https://psrc-00000.us-central1.gcp.confluent.cloud
          x-immutable: true
          readOnly: true
        private_http_endpoint:
          type: string
          description: |
            The cluster's private HTTP request URL.

            DEPRECATED - Please use the `private_networking_config.regional_endpoints` attribute instead,
            which supersedes the `private_http_endpoint` attribute.
          format: uri
          example: https://lsrc-abc.us-central-1.aws.private.confluent.cloud
          x-immutable: true
          readOnly: true
        private_networking_config:
          type: object
          description: Available HTTP request URLs for private connectivity.
          properties:
            regional_endpoints:
              type: object
              description: A map of region identifiers to their corresponding private
                HTTP request URL.
              additionalProperties:
                type: string
                format: uri
          example:
            regional_endpoints:
              us-central-1: https://lsrc-abc.us-central-1.aws.private.confluent.cloud
              us-west-2: https://lsrc-abc.us-west-2.aws.private.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
    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
    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
    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
    RegisterExporterRequest:
      type: object
      properties:
        references:
          type: array
          description: References to other schemas
          items:
            $ref: '#/components/schemas/ExporterReference'
      description: Exporter register request
    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'
        schemaTagsToAdd:
          type: array
          items:
            $ref: '#/components/schemas/SchemaTags'
        schemaTagsToRemove:
          type: array
          items:
            $ref: '#/components/schemas/SchemaTags'
        propagateSchemaTags:
          type: boolean
      description: Schema register request
    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
        kekRenameFormat:
          type: string
          description: |-
            Format string for the KEK name in the destination cluster, which may
            contain ${kek} as a placeholder for the originating KEK name. For
            example, dc_${kek} for the KEK aws_key will map to the destination
            KEK name dc_aws_key.
        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: <Physical SR Endpoint>
        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
    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
    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
        kekRenameFormat:
          type: string
          description: Format string for the KEK name in the destination cluster,
            which may contain ${kek} as a placeholder for the originating KEK name.
            For example, dc_${kek} for the KEK aws_key will map to the destination
            KEK name dc_aws_key.
        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
    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
    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'
        metadata:
          $ref: '#/components/schemas/Metadata'
        ruleSet:
          $ref: '#/components/schemas/RuleSet'
        schemaTags:
          type: array
          description: Schema tags
          items:
            $ref: '#/components/schemas/SchemaTags'
        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'
        schemaTags:
          type: array
          description: Schema tags
          items:
            $ref: '#/components/schemas/SchemaTags'
      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
    ExporterResponse:
      type: object
      properties:
        name:
          type: string
          description: Name of the exporter
          example: test-exporter
      description: Exporter register response
    RegisterSchemaResponse:
      type: object
      properties:
        id:
          type: integer
          description: Globally unique identifier of the schema
          format: int32
          example: 100001
      description: Schema register response
    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
    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
    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
    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
    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

    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
    SchemaEntity:
      type: object
      properties:
        entityPath:
          type: string
        entityType:
          type: string
          enum:
            - sr_record
            - sr_field
    SchemaTags:
      type: object
      properties:
        schemaEntity:
          $ref: '#/components/schemas/SchemaEntity'
        tags:
          type: array
          items:
            type: string

    ServerClusterId:
      type: object
      properties:
        scope:
          type: object
          additionalProperties:
            type: object
        id:
          type: string
    SchemaRegistryServerVersion:
      type: object
      properties:
        version:
          type: string
        commitId:
          type: string
    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
    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)
    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
    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
    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
    EntityWithExtInfo:
      type: object
      properties:
        referredEntities:
          type: object
          description: The referred entities
          additionalProperties:
            $ref: '#/components/schemas/Entity'
        entity:
          $ref: '#/components/schemas/Entity'
    EntityPartialUpdateResponse:
      type: object
      properties:
        mutatedEntities:
          $ref: '#/components/schemas/EntityPartialUpdate'
      description: The type name
    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
    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
    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
    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
    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'
    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
    ConstraintDef:
      type: object
      properties:
        type:
          type: string
          description: The type
        params:
          type: object
          description: The params
          additionalProperties:
            type: object
    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
    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
    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
    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
    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
    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'
    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'

    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
        <SchemaDefinition schemaRef="#/components/schemas/cdx.v1.ProviderSharedResource" />
      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
    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
        <SchemaDefinition schemaRef="#/components/schemas/cdx.v1.ProviderShare" />
      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.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.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
        <SchemaDefinition schemaRef="#/components/schemas/cdx.v1.ConsumerSharedResource" />
      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.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
        <SchemaDefinition schemaRef="#/components/schemas/cdx.v1.ConsumerShare" />
      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
        <SchemaDefinition schemaRef="#/components/schemas/cdx.v1.SharedToken" />
      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.OptIn:
      type: object
      description: |-
        Stream sharing opt in options

        ## The Opt Ins Model
        <SchemaDefinition schemaRef="#/components/schemas/cdx.v1.OptIn" />
      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
    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.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.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
    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.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
      # zonal_subdomains field is optional because it only applies to v4 networks
          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
        # yamllint disable-line rule:line-length
          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:
          # yamllint disable-line rule:line-length
            us-central1-a: projects/cc-prod/regions/us-central1/serviceAttachments/s-7jjm9-service-attachment-us-central1-a
          # yamllint disable-line rule:line-length
            us-central1-b: projects/cc-prod/regions/us-central1/serviceAttachments/s-7jjm9-service-attachment-us-central1-b
          # yamllint disable-line rule:line-length
            us-central1-c: projects/cc-prod/regions/us-central1/serviceAttachments/s-7jjm9-service-attachment-us-central1-c
          readOnly: true
    cdx.v1.ConnectionType:
      type: string
      description: Network connection type.
      x-extensible-enum: [PRIVATELINK]
      example: PRIVATELINK
    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

# Default
    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
        <SchemaDefinition schemaRef="#/components/schemas/cdx.v1.ProviderSharedResource" />
      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
    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
        <SchemaDefinition schemaRef="#/components/schemas/cdx.v1.ProviderShare" />
      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.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
        <SchemaDefinition schemaRef="#/components/schemas/cdx.v1.ConsumerSharedResource" />
      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.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
        <SchemaDefinition schemaRef="#/components/schemas/cdx.v1.ConsumerShare" />
      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
    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

# Defaults for Org API
    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).
    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
    v2.User:
      type: object
    # This is just a stub til cross-API dependencies are better supported. It will be overridden.
    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
        <SchemaDefinition schemaRef="#/components/schemas/networking.v1.Network" />

        ## 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'
    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
        # TODO - add link to docs on possible error codes?
          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
        endpoint_suffix:
          type: string
          description: |
            The endpoint suffix for the network, if applicable. Full service endpoints can be constructed by appending
            the service identifier to the beginning of the endpoint suffix. For example, the Flink REST endpoint can be
            constructed by adding "flink" - 'https://flink' + 'endpoint_suffix'.
          example: .00000.us-east-1.aws.glb.confluent.cloud
          readOnly: true
      # zonal_subdomains field is optional b/c it only applies to v4 networks
        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
      # rhoover - not exposing static egress ips yet
      # egress_ips field is optional b/c
      #  it may not be enabled on some networks nor for some orgs/SKUs, etc.
      #  it is not available immediately after a new creation request is accepted
      # - name: egress_ips
      #   type: array
      #   items:
      #     type: string
      #   description: The list of IPs that will be used for egress from the network (e.g. Connectors
      #     reaching out to public IPs). Will be populated when the network reaches the READY state
      #     if the feature is available.
      #   readOnly: true
      # cloud field is optional b/c it is not available immediately after a new creation request is accepted
        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
    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
        <SchemaDefinition schemaRef="#/components/schemas/networking.v1.Peering" />

        ## 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.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
        # TODO - add link to docs on possible error codes?
          description: Error code if peering is in a failed state. May be used for
            programmatic error checking.
          readOnly: true
        # example: connection_request_expired
        error_message:
          type: string
          description: Displayable error message if peering is in a failed state
          readOnly: true
        # example: "??"
      readOnly: 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
        <SchemaDefinition schemaRef="#/components/schemas/networking.v1.TransitGatewayAttachment" />

        ## 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.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
        # TODO - add link to docs on possible error codes?
          description: Error code if TGW attachment is in a failed state. May be used
            for programmatic error checking.
          readOnly: true
        # example: attachment_request_rejected
        error_message:
          type: string
          description: Displayable error message if TGW attachment is in a failed
            state
          readOnly: true
        # example: "??"
        cloud:
          type: object
          oneOf:
            - $ref: '#/components/schemas/networking.v1.AwsTransitGatewayAttachmentStatus'
          # - $ref: '#/components/schemas/networking.v1.GcpTransitGatewayAttachment'
          # - $ref: '#/components/schemas/networking.v1.AzureTransitGatewayAttachment'
          description: The cloud-specific TGW attachment details.
          discriminator:
            propertyName: kind
            mapping:
              AwsTransitGatewayAttachmentStatus: '#/components/schemas/networking.v1.AwsTransitGatewayAttachmentStatus'
            # GcpTransitGatewayAttachment: '#/components/schemas/networking.v1.GcpTransitGatewayAttachment'
            # AzureTransitGatewayAttachment: '#/components/schemas/networking.v1.AzureTransitGatewayAttachment'
          readOnly: true
      readOnly: 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
        <SchemaDefinition schemaRef="#/components/schemas/networking.v1.PrivateLinkAccess" />

        ## 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.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
        # TODO - add link to docs on possible error codes?
          description: Error code if PrivateLink access is in a failed state. May
            be used for programmatic error checking.
          readOnly: true
        # example: ??
        error_message:
          type: string
          description: Displayable error message if PrivateLink access is in a failed
            state
          readOnly: true
        # example: "??"
      readOnly: 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
        <SchemaDefinition schemaRef="#/components/schemas/networking.v1.NetworkLinkService" />

        ## 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.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.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
        <SchemaDefinition schemaRef="#/components/schemas/networking.v1.NetworkLinkEndpoint" />

        ## 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.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.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
        <SchemaDefinition schemaRef="#/components/schemas/networking.v1.NetworkLinkServiceAssociation" />
      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.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.Cidr:
      type: string
      pattern: ^\d+\.\d+\.\d+\.\d+/\d+$
      description: IPv4 CIDR block
      example: 10.200.0.0/16
    networking.v1.ConnectionType:
      type: string
      description: Network connection type.
      x-extensible-enum: [PEERING, TRANSITGATEWAY, PRIVATELINK]
      example: PRIVATELINK
    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]
    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
        # yamllint disable-line rule:line-length
          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:
          # yamllint disable-line rule:line-length
            us-central1-a: projects/cc-prod/regions/us-central1/serviceAttachments/s-7jjm9-service-attachment-us-central1-a
          # yamllint disable-line rule:line-length
            us-central1-b: projects/cc-prod/regions/us-central1/serviceAttachments/s-7jjm9-service-attachment-us-central1-b
          # yamllint disable-line rule:line-length
            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.
        # yamllint disable-line rule:line-length
          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:
          # yamllint disable-line rule:line-length
            '1': /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/0-00000/providers/Microsoft.Network/privateLinkServices/0-00000-privatelink-1
          # yamllint disable-line rule:line-length
            '2': /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/0-00000/providers/Microsoft.Network/privateLinkServices/0-00000-privatelink-2
          # yamllint disable-line rule:line-length
            '3': /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/0-00000/providers/Microsoft.Network/privateLinkServices/0-00000-privatelink-3
          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
        # yamllint disable-line rule:line-length
          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).
        # yamllint disable-line rule:line-length
          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.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.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.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

    networking.v1.ZoneInfo:
      type: object
      description: Cloud provider zone metadata.
      properties:
        zone_id:
          description: Cloud provider zone id
          type: string
          example: use1-az3
      # This attribute is optional since later on it can be used by non-peering networks where CIDR is not required
        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

# Defaults for Network API
    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
        <SchemaDefinition schemaRef="#/components/schemas/networking.v1.Network" />

        ## 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
    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'
        # yamllint disable rule:line-length
          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
        # yamllint disable rule:line-length
          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.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
        <SchemaDefinition schemaRef="#/components/schemas/networking.v1.Peering" />

        ## 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.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.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
        <SchemaDefinition schemaRef="#/components/schemas/networking.v1.TransitGatewayAttachment" />

        ## 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.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.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
        <SchemaDefinition schemaRef="#/components/schemas/networking.v1.PrivateLinkAccess" />

        ## 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.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
        <SchemaDefinition schemaRef="#/components/schemas/networking.v1.NetworkLinkService" />

        ## 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.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.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
        <SchemaDefinition schemaRef="#/components/schemas/networking.v1.NetworkLinkEndpoint" />

        ## 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.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.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
        <SchemaDefinition schemaRef="#/components/schemas/networking.v1.NetworkLinkServiceAssociation" />
      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.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.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
        <SchemaDefinition schemaRef="#/components/schemas/networking.v1.IpAddress" />
      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.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
        <SchemaDefinition schemaRef="#/components/schemas/networking.v1.IpAddress" />
      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.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
        <SchemaDefinition schemaRef="#/components/schemas/networking.v1.PrivateLinkAttachment" />

        ## 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.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 field is optional b/c it is not available immediately after a new creation request is accepted
        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.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
        <SchemaDefinition schemaRef="#/components/schemas/networking.v1.PrivateLinkAttachmentConnection" />
      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.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.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.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.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.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.GcpPrivateLinkAttachmentStatus:
      type: object
      description: |
        GCP PrivateLink attachment represents reserved capacity in a
        GCP PSC Service attachment.  A PSC Endpoint can be connected to
        the Service attachment.
      required:
        - kind
        - service_attachment
      properties:
        kind:
          type: string
          description: PrivateLinkAttachmentStatus kind.
          enum: [GcpPrivateLinkAttachmentStatus]
          readOnly: true
        service_attachment:
          description: |
            GCP PSC Service attachment that can be used to connect
            to a PSC Endpoint.
          type: object
          readOnly: true
          allOf:
            - $ref: '#/components/schemas/networking.v1.GcpPscServiceAttachment'
    networking.v1.GcpPscServiceAttachment:
      type: object
      description: |
        GCP PSC Service attachment with reserved capacity to
        connect a PSC Endpoint.
      required:
        - private_service_connect_service_attachment
      properties:
        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
    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 a Azure PrivateLink attachment connection.
      type: object
      required:
        - kind
        - private_link_service_alias
        - private_link_service_resource_id
        - private_endpoint_resource_id
      properties:
        kind:
          type: string
          description: PrivateLinkAttachmentConnectionStatus kind.
          enum: [AzurePrivateLinkAttachmentConnectionStatus]
        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-az3
        private_endpoint_resource_id:
          description: |
            Resource Id of the PrivateEndpoint (if any) that is connected to
            the PrivateLink service.
          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 GCP PrivateLink attachment connection.
      type: object
      required:
        - kind
        - private_service_connect_service_attachment
        - private_service_connect_connection_id
      properties:
        kind:
          type: string
          description: PrivateLinkAttachmentConnectionStatus kind.
          enum: [GcpPrivateLinkAttachmentConnectionStatus]
        private_service_connect_service_attachment:
          description: GCP Private Service Connect ServiceAttachment.
          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.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
          example: '00000000000000000'

# default
    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
        <SchemaDefinition schemaRef="#/components/schemas/networking.v1.PrivateLinkAttachment" />

        ## 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.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.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
        <SchemaDefinition schemaRef="#/components/schemas/networking.v1.PrivateLinkAttachmentConnection" />
      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.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
    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
        <SchemaDefinition schemaRef="#/components/schemas/iam.v2.IdentityProvider" />

        ## 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.
        identity_claim:
          type: string
          description: |-
            The JSON Web Token (JWT) claim to extract the authenticating identity to Confluent resources from
            [Registered Claim Names](https://datatracker.ietf.org/doc/html/rfc7519#section-4.1). This appears
            in audit log records. Note: if the client specifies mapping to one identity pool ID, the identity
            claim configured with that pool will be used instead.
            Note - The attribute is in an [Early Access lifecycle stage]
            (https://docs.confluent.io/cloud/current/api.html#section/Versioning/API-Lifecycle-Policy)
          example: claims.sub
        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.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
        <SchemaDefinition schemaRef="#/components/schemas/iam.v2.Jwks" />
      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.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.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
        <SchemaDefinition schemaRef="#/components/schemas/iam.v2.IdentityPool" />

        ## 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
        # yamllint disable-line rule:line-length
          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.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
        # see https://datatracker.ietf.org/doc/html/rfc7518#page-30
          description: Specifies the modulus of the RSA public key. Represented as
            a Base64urlUInt-encoded value
        e:
          type: string
        # see https://datatracker.ietf.org/doc/html/rfc7518#page-30
          description: Specifies the exponent of the RSA public key.
          example: AQAB

# default
    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
        <SchemaDefinition schemaRef="#/components/schemas/iam.v2.IdentityProvider" />

        ## 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.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.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
        <SchemaDefinition schemaRef="#/components/schemas/iam.v2.IdentityPool" />

        ## 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
    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
    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
        <SchemaDefinition schemaRef="#/components/schemas/kafka-quotas.v1.ClientQuota" />
      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.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.

# default
    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
        <SchemaDefinition schemaRef="#/components/schemas/kafka-quotas.v1.ClientQuota" />
      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.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 `"<default>"` 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
    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
        <SchemaDefinition schemaRef="#/components/schemas/byok.v1.Key" />

        ## 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
        display_name:
          type: string
          description: |
            The human-readable name of the key object.
          example: Key for billing cluster
          x-immutable: false
        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
        validation:
          description: |
            The validation details of the key.
          readOnly: true
          allOf:
            - $ref: '#/components/schemas/byok.v1.KeyValidation'
    byok.v1.KeyValidation:
      type: object
      description: |
        The validation details of the key.
      required:
        - phase
        - since
      properties:
        phase:
          type: string
          x-extensible-enum: [INITIALIZING, VALID, INVALID]
          description: |
            The validation phase of the key:

              INITIALIZING: Initial phase for new keys awaiting first successful validation.

              VALID: Last validation attempt succeeded.

              INVALID: Last validation attempt failed.
          example: VALID
        message:
          type: string
          description: |
            A message describing validation events.
          example: Access to key denied.
        since:
          type: string
          format: date-time
          description: |
            The timestamp since which the key is in the current validation phase.
            Changes to the validation message or phase will update this timestamp.
          example: '2024-03-20T15:30:00Z'
        region:
          type: string
          description: |
            The cloud region where the key is deployed. This value is computed by the
            API after the key is successfully validated.
          example: us-west-2
          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
        # yamllint disable-line rule:line-length
          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
        # yamllint disable-line rule:line-length
          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

# Default
    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
        <SchemaDefinition schemaRef="#/components/schemas/byok.v1.Key" />

        ## 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
                  - validation
          uniqueItems: true
    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
        <SchemaDefinition schemaRef="#/components/schemas/billing.v1.Cost" />
      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,
            PNI, MULTI]
          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, TABLEFLOW, SUPPORT_CLOUD_BASIC, SUPPORT_CLOUD_DEVELOPER,
            SUPPORT_CLOUD_BUSINESS, SUPPORT_CLOUD_PREMIER, USM]
          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, TABLEFLOW_DATA_PROCESSED,
            TABLEFLOW_NUM_TOPICS, TABLEFLOW_STORAGE, USM_CONNECTED_NODE, KAFKA_STREAMS]
          example: KAFKA_NUM_CKUS
          description: Type of the line item.
        price:
          type: number
          format: double
          example: 1.50
          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.90
          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.00
          description: Final amount after deducting discounts.
        description:
          type: string
          example: KAFKA101
          description: Additional details about promotional offers/credits.
        tier_dimensions:
          type: object
          additionalProperties:
            type: string
          description: Tier dimensions which exist for tiered pricing cost items only.
          x-go-type: map[string]string
          example:
            provider: aws
            region: us-east-1
            connector_type: BigQuerySink
        resource:
          description: The resource for a given object
          allOf:
            - $ref: '#/components/schemas/billing.v1.Resource'
    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'
    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

# Default
    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
        <SchemaDefinition schemaRef="#/components/schemas/billing.v1.Cost" />
      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
    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
        <SchemaDefinition schemaRef="#/components/schemas/iam.v2.sso.GroupMapping" />

        ## 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
        # yamllint disable-line rule:line-length
          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.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
        <SchemaDefinition schemaRef="#/components/schemas/iam.v2.sso.GroupMapping" />

        ## 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
    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.
        Note that the Compute Pool API supports a limited pagination API, only the `next` field will be populated.


        ## The Compute Pools Model
        <SchemaDefinition schemaRef="#/components/schemas/fcpm.v2.ComputePool" />
      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'
    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
    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
        <SchemaDefinition schemaRef="#/components/schemas/fcpm.v2.Region" />
      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
    fcpm.v2.OrgComputePoolConfig:
      type: object
      description: |-
        `OrgComputePoolConfig` manages compute pool configuration settings for an organization.
        The API allows you to read and update organization-wide settings such as whether default pools are enabled
        and their maximum CFU limits.


        ## The Org Compute Pool Configs Model
        <SchemaDefinition schemaRef="#/components/schemas/fcpm.v2.OrgComputePoolConfig" />
      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:
            - OrgComputePoolConfig
        organization_id:
          type: string
          description: The ID of the organization.
          example: 9bb441c4-edef-46ac-8a41-c49e44a3fd9a
          x-immutable: true
          readOnly: true
        spec:
          type: object
          description: The desired state of the organization-level Compute Pool configuration
          properties:
            default_pool_enabled:
              type: boolean
              default: true
              description: |
                Whether default compute pools are enabled for the organization.
                When enabled, environments can have default compute pools created automatically.
              x-immutable: false
            default_pool_max_cfu:
              type: integer
              format: int32
              example: 20
              description: |
                Maximum number of Confluent Flink Units (CFUs) that default compute pools
                in this organization should auto-scale to.
              x-extensible-enum: [5, 10, 20, 30, 40, 50]
              x-immutable: false
          x-immutable: false
    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.
        Note that the Compute Pool API supports a limited pagination API, only the `next` field will be populated.


        ## The Compute Pools Model
        <SchemaDefinition schemaRef="#/components/schemas/fcpm.v2.ComputePool" />
      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
    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,63}$
          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
        enable_ai:
          type: boolean
          default: false
          description: |
            The flag to enable AI computing using Ray for the Flink compute pool. It's available in the Early Access API
            lifecycle stage only.
          x-immutable: true
        default_pool:
          type: boolean
          default: false
          description: |
            The flag to indicate whether the Flink compute pool is a default compute pool or not.
            Only one default compute pool per environment and region is allowed.
          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.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
        <SchemaDefinition schemaRef="#/components/schemas/fcpm.v2.Region" />
      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
    sql.v1.MaterializedTable:
      type: object
      description: Represents a Materialized Table resource.
      required:
        - api_version
        - kind
        - metadata
        - name
        - organization_id
        - environment_id
        - spec
      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:
            - MaterializedTable
          readOnly: true
        metadata:
          allOf:
            - $ref: '#/components/schemas/ObjectMeta'
            - type: object
              properties:
                self:
                  example: https://flink.us-west1.aws.confluent.cloud/sql/v1/environments/env-123/databases/lkc-123/materialized-tables/high-value-orders
                uid:
                  example: 12345678-1234-1234-1234-123456789012
                resource_version:
                  example: a23av
                resource_name:
                  example: ''
                labels:
                  type: object
                  additionalProperties:
                    type: string
        name:
          type: string
          description: The user-provided name of the resource, unique within this
            environment.
          pattern: ^[a-zA-Z0-9]([a-zA-Z0-9_-]*[a-zA-Z0-9])?$
          maxLength: 100
          example: high-value-orders
          x-immutable: true
        organization_id:
          type: string
          format: uuid
          description: The unique identifier for the organization.
          x-immutable: true
          readOnly: true
        environment_id:
          type: string
          description: The unique identifier for the environment.
          x-immutable: true
          readOnly: true
        spec:
          $ref: '#/components/schemas/sql.v1.MaterializedTableSpec'
        status:
          readOnly: true
          allOf:
            - $ref: '#/components/schemas/sql.v1.MaterializedTableStatus'

    sql.v1.MaterializedTableList:
      type: object
      description: A list of Materialized Table resources.
      required:
        - api_version
        - kind
        - metadata
        - data
      properties:
        api_version:
          type: string
          enum:
            - sql/v1
          readOnly: true
        kind:
          type: string
          enum:
            - MaterializedTableList
          readOnly: true
        metadata:
          $ref: '#/components/schemas/ListMeta'
        data:
          type: array
          description: A data property that contains an array of resource items. Each
            entry in the array is a separate resource.
          items:
            $ref: '#/components/schemas/sql.v1.MaterializedTable'
          uniqueItems: true

    sql.v1.MaterializedTableSpec:
      type: object
      description: The specifications of the Materialized Table.
      properties:
        kafka_cluster_id:
          type: string
          description: |-
            The ID of the Kafka cluster hosting the Materialized Table's topic.
            This value must match the `kafka_cluster_id` path parameter.
            It is immutable after creation and is ignored or rejected on update if changed.
          example: lkc-12345
          x-immutable: true
        compute_pool_id:
          type: string
          description: |-
            The id associated with the compute pool in context.
            If not specified, the materialized table will use the default compute pool. The default pool is automatically determined by the system.
          example: lfcp-123
        principal:
          type: string
          description: The id of a principal this Materialized Table query runs as.
          example: sa-abc123
          maxLength: 255
        stopped:
          type: boolean
          description: Indicates whether the Materialized Table query should be stopped.
          example: false
        table_options:
          type: object
          description: Defines configuration properties for the table, equivalent
            to the SQL 'WITH' clause
          additionalProperties:
            type: string
          maxProperties: 8192
        session_options:
          type: object
          description: Session configurations equivalent to the SQL 'SET' statement.
            Only applicable on creation; ignored on update.
          additionalProperties:
            type: string
          maxProperties: 8192
          x-immutable: true
        columns:
          type: array
          description: Details of each column in Materialized Table resource. If columns
            are not specified, we infer from query. If it's specified it must be compatible
            with the types in the query.
          items:
            $ref: '#/components/schemas/sql.v1.ColumnDetails'
        watermark:
          $ref: '#/components/schemas/sql.v1.Watermark'
        constraints:
          type: array
          description: Specify table constraints.
          items:
            $ref: '#/components/schemas/sql.v1.Constraint'
        distribution:
          description: Only applicable on creation; ignored on update.
          x-immutable: true
          allOf:
            - $ref: '#/components/schemas/sql.v1.Distribution'
        query:
          type: string
          description: Contains the query section (usually starting with a SELECT)
            of the latest Materialized Table.
          example: SELECT user_id, product_id, price, quantity FROM orders WHERE price
            > 1000;
          maxLength: 131072

    sql.v1.MaterializedTableStatus:
      type: object
      description: The status of the Materialized Table.
      properties:
        phase:
          type: string
          x-extensible-enum: [PENDING, RUNNING, COMPLETED, DELETING, FAILING, FAILED,
            CREATING, ALTERING, DEGRADED, STOPPING, STOPPED]
          description: The lifecycle phase of the materialized table.
          example: RUNNING
        detail:
          type: string
          description: Optional. Human-readable description of phase.
          example: Materialized table is running.
        warnings:
          type: array
          description: List of warnings encountered during materialized table execution.
          items:
            $ref: '#/components/schemas/sql.v1.MaterializedTableWarning'
        creation_statement:
          type: string
          description: Entire Materialized Table statement as submitted by user e.g
            CREATE OR ALTER MATERIALIZED TABLE ...
          example: CREATE OR ALTER MATERIALIZED TABLE high-value-orders AS SELECT
            user_id, product_id, price, quantity FROM orders WHERE price > 1000;
        scaling_status:
          $ref: '#/components/schemas/sql.v1.ScalingStatus'
        version:
          type: integer
          format: int32
          minimum: 1
          description: Represents the evolution history of the Materialized Table.
            The current value indicates the latest version.
          example: 3
        latest_version:
          type: integer
          format: int32
          minimum: 1
          description: Represents the latest submitted version of the Materialized
            Table. When a query evolution is accepted, `latest_version` is incremented
            immediately and will be greater than `version` until the new query is
            fully activated.
          example: 4

    sql.v1.MaterializedTableVersion:
      type: object
      description: Represents a specific version of a Materialized Table resource.
      required:
        - api_version
        - kind
        - metadata
        - name
        - organization_id
        - environment_id
        - spec
      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:
            - MaterializedTableVersion
          readOnly: true
        metadata:
          allOf:
            - $ref: '#/components/schemas/ObjectMeta'
            - type: object
              properties:
                self:
                  example: https://flink.us-west1.aws.confluent.cloud/sql/v1/organizations/org-123/environments/env-123/databases/lkc-123/materialized-tables/high-value-orders/versions/4
        name:
          type: string
          description: |
            The resource version name, unique within the Kafka cluster.
            Name conforms to DNS Subdomain (RFC 1123).
          pattern: '[a-z0-9]([-a-z0-9]*[a-z0-9])?(\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*'
          maxLength: 100
          example: mt-123-v4
          readOnly: true
        organization_id:
          type: string
          format: uuid
          description: The unique identifier for the organization.
          x-immutable: true
          readOnly: true
        environment_id:
          type: string
          description: The unique identifier for the environment.
          x-immutable: true
          readOnly: true
        spec:
          $ref: '#/components/schemas/sql.v1.MaterializedTableVersionSpec'

    sql.v1.MaterializedTableVersionList:
      type: object
      description: A list of Materialized Table Version resources.
      required:
        - api_version
        - kind
        - metadata
        - data
      properties:
        api_version:
          type: string
          enum:
            - sql/v1
          readOnly: true
        kind:
          type: string
          enum:
            - MaterializedTableVersionList
          readOnly: true
        metadata:
          $ref: '#/components/schemas/ListMeta'
        data:
          type: array
          description: A data property that contains an array of resource items. Each
            entry in the array is a separate resource.
          items:
            $ref: '#/components/schemas/sql.v1.MaterializedTableVersion'
          uniqueItems: true

    sql.v1.MaterializedTableVersionSpec:
      type: object
      description: The specifications of the Materialized Table Version.
      required:
        - version
        - statement
      properties:
        version:
          type: integer
          format: int32
          minimum: 1
          description: The version number of the Materialized Table.
          example: 4
          readOnly: true
        statement:
          type: string
          description: |
            The full SQL statement for the materialized table as generated by SHOW CREATE MATERIALIZED TABLE at the time of the evolution.
          example: CREATE OR ALTER MATERIALIZED TABLE orders AS SELECT user_id, product_id,
            price FROM orders;
          readOnly: true
          maxLength: 131072
        changes:
          type: array
          description: Changes affecting resources since the previous version.
          items:
            $ref: '#/components/schemas/sql.v1.ResourceChange'
          readOnly: true

    sql.v1.ResourceChange:
      type: object
      description: Details of a change to a specific resource.
      required:
        - kind
        - environment_locator
        - database_locator
        - name
        - details
      properties:
        kind:
          type: string
          x-extensible-enum: [MATERIALIZED_TABLE, TABLE, VIEW, FUNCTION]
          description: The type of resource that was changed.
          example: MATERIALIZED_TABLE
        environment_locator:
          type: string
          description: The environment containing the resource. Can be either the
            environment name or ID, depending on how it is referenced in the SQL statement
            text.
          example: env-abc
        database_locator:
          type: string
          description: The database containing the resource. Can be either the database
            name or ID, depending on how it is referenced in the SQL statement text.
          example: lkc-123
        name:
          type: string
          description: The name of the resource, unique within its scope (environment
            and database).
          example: orders
        details:
          type: array
          description: Human-readable descriptions of the changes made to this resource.
          items:
            type: string
          example: ["Column 'product_name: VARCHAR' added", "Column 'product_id: BIGINT'\
                \ added"]
      readOnly: true

    sql.v1.ColumnDetails:
      type: object
      description: Details of a column in the Materialized Table.
      discriminator:
        propertyName: kind
        mapping:
          Physical: '#/components/schemas/sql.v1.PhysicalColumn'
          Metadata: '#/components/schemas/sql.v1.MetadataColumn'
          Computed: '#/components/schemas/sql.v1.ComputedColumn'
      oneOf:
        - $ref: '#/components/schemas/sql.v1.PhysicalColumn'
        - $ref: '#/components/schemas/sql.v1.MetadataColumn'
        - $ref: '#/components/schemas/sql.v1.ComputedColumn'

    sql.v1.ColumnCommon:
      type: object
      required:
        - name
        - type
      properties:
        name:
          type: string
          description: The name of the column.
        type:
          $ref: '#/components/schemas/DataType'
        comment:
          type: string
          description: A comment or description for the column.

    sql.v1.PhysicalColumn:
      description: Physical columns define the structure of the table and the data
        types of its fields.
      allOf:
        - $ref: '#/components/schemas/sql.v1.ColumnCommon'
        - type: object
          required:
            - kind
          properties:
            name:
              example: user_id
            type:
              example:
                type: BIGINT
                nullable: false
            kind:
              type: string
              description: The kind of column.
              enum: [Physical]
              example: Physical

    sql.v1.MetadataColumn:
      description: Metadata columns reference system properties.
      allOf:
        - $ref: '#/components/schemas/sql.v1.ColumnCommon'
        - type: object
          required:
            - kind
            - metadata_key
          properties:
            name:
              example: table_offset
            type:
              example:
                type: BIGINT
                nullable: false
            kind:
              type: string
              description: The kind of column.
              enum: [Metadata]
              example: Metadata
            metadata_key:
              type: string
              description: The system metadata key to reference.
              example: offset
            virtual:
              type: boolean
              description: Indicates if the metadata column is virtual.
              default: false
              example: true

    sql.v1.ComputedColumn:
      description: Computed columns are generated via an expression.
      allOf:
        - $ref: '#/components/schemas/sql.v1.ColumnCommon'
        - type: object
          required:
            - kind
            - expression
          properties:
            name:
              example: total_price
            type:
              example:
                type: DECIMAL
                nullable: false
                precision: 10
                scale: 2
            kind:
              type: string
              description: The kind of column.
              enum: [Computed]
              example: Computed
            expression:
              type: string
              description: The SQL expression used to compute the column value.
              example: quantity * price
            virtual:
              type: boolean
              description: Indicates if the computed column is virtual.
              default: false
              example: true

    sql.v1.Watermark:
      type: object
      description: Watermark strategy for the Materialized Table resource.
      properties:
        column:
          type: string
          example: event_timestamp
        expression:
          type: string
          example: event_timestamp - INTERVAL '5' SECOND

    sql.v1.Constraint:
      type: object
      description: A constraint on the materialized table.
      properties:
        name:
          type: string
          example: pk_orders
        type:
          type: string
          x-extensible-enum: [PRIMARY_KEY]
          description: The type of constraint.
          example: PRIMARY_KEY
        columns:
          type: array
          items:
            type: string
          example: [user_id, product_id]
        enforced:
          type: boolean
          description: Whether the constraint is enforced.
          default: false

    sql.v1.Distribution:
      type: object
      description: Distribution (bucket by) strategy.
      properties:
        kind:
          type: string
          x-extensible-enum: [HASH]
          description: The kind of distribution.
          example: HASH
        keys:
          type: array
          items:
            type: string
          example: [user_id]
        bucket_count:
          type: integer
          format: int32
          minimum: 1
          default: 6
          description: The number of buckets.
          example: 12
    sql.v1.MaterializedTableWarning:
      type: object
      description: Represents a non-fatal issue encountered during materialized table
        processing.
      allOf:
        - $ref: '#/components/schemas/sql.v1.StatementWarning'

    sql.v1.Connection:
      type: object
      description: |-
        `Connection` models a reusable endpoint and auth token to authenticate the caller to
        use that endpoint.
        Only `OrganizationAdmins` and `EnvironmentAdmins` 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
        <SchemaDefinition schemaRef="#/components/schemas/sql.v1.Connection" />
      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'

    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
        <SchemaDefinition schemaRef="#/components/schemas/sql.v1.Connection" />
      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

    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

    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: |
            Authentication token in plaintext JSON string.
            For composite tokens, provide them as JSON.
            This is sensitive piece of information stored as opaque bytes in an encrypted form with single level of encryption.

            Scoped to an endpoint of a `Connection` resource.
          type: string
          format: byte

    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: [AZUREML, AZUREOPENAI, A2A, ANTHROPIC, BEDROCK, CONFLUENT_JDBC,
            COSMOSDB, COUCHBASE, ELASTIC, FIREWORKSAI, GOOGLEAI, MCP_SERVER, MONGODB,
            OPENAI, PINECONE, REST, S3VECTORS, SAGEMAKER, VERTEXAI]
        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.Agent:
      type: object
      description: Represents an Agent resource.
      required:
        - api_version
        - kind
        - metadata
        - name
        - organization_id
        - environment_id
        - spec
      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:
            - Agent
          readOnly: true
        metadata:
          allOf:
            - $ref: '#/components/schemas/ObjectMeta'
            - type: object
              properties:
                self:
                  example: https://flink.us-west1.aws.confluent.cloud/sql/v1/environments/env-123/databases/lkc-123/agents/chat-listener-agent
                uid:
                  example: 12345678-1234-1234-1234-123456789012
                resource_version:
                  example: a23av
                resource_name:
                  example: ''
                labels:
                  type: object
                  additionalProperties:
                    type: string
        name:
          type: string
          description: The user-provided name of the agent, unique within this environment.
          pattern: '[a-z0-9]([-a-z0-9]*[a-z0-9])?(\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*'
          maxLength: 100
          example: chat-listener-agent
          x-immutable: true
        organization_id:
          type: string
          format: uuid
          description: The unique identifier for the organization.
          x-immutable: true
          readOnly: true
        environment_id:
          type: string
          description: The unique identifier for the environment.
          x-immutable: true
          readOnly: true
        spec:
          $ref: '#/components/schemas/sql.v1.AgentSpec'
        status:
          readOnly: true
          allOf:
            - $ref: '#/components/schemas/sql.v1.AgentStatus'

    sql.v1.AgentList:
      type: object
      description: A list of Agent resources.
      required:
        - api_version
        - kind
        - metadata
        - data
      properties:
        api_version:
          type: string
          enum:
            - sql/v1
          readOnly: true
        kind:
          type: string
          enum:
            - AgentList
          readOnly: true
        metadata:
          $ref: '#/components/schemas/ListMeta'
        data:
          type: array
          description: A data property that contains an array of resource items. Each
            entry in the array is a separate resource.
          items:
            $ref: '#/components/schemas/sql.v1.Agent'
          uniqueItems: true

    sql.v1.AgentSpec:
      type: object
      description: The specifications of the Agent.
      properties:
        description:
          type: string
          example: An agent that listens to chat messages and creates issues
          description: The description of the agent.
        model:
          type: string
          example: chat_listener
          description: The name of the model the agent uses for inferencing.
        prompt:
          type: string
          example: Create an issue from the content using bebb0fa3-e084-412d-a000-b02280558318
            as the team ID
          description: The instruction prompt that guides the agent's behavior.
          maxLength: 65536
        tools:
          type: array
          description: The list of tools available to the agent.
          items:
            type: string
          example:
            - linear-mcp-tool
        properties:
          type: object
          description: A set of key-value option pairs that configure the agent's
            behavior.
          additionalProperties:
            type: string
          example:
            max_iterations: '5'

    sql.v1.AgentStatus:
      type: object
      description: The status of the Agent.
      properties:
        phase:
          type: string
          x-extensible-enum: [READY, RUNNING]
          description: |
            Describes the status of the agent:

            READY: The Agent is created;

            RUNNING: The Agent is created and running in a query;
          example: RUNNING

    sql.v1.ToolList:
      type: object
      description: |-
        `Tool` models a reusable tool resource backed by a connection that can be referenced
        by agents to perform actions.
        The API allows you to create your tools.
        ## The Tool Model
        <SchemaDefinition schemaRef="#/components/schemas/sql.v1.Tool" />
      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:
            - ToolList
        metadata:
          allOf:
            - $ref: '#/components/schemas/ListMeta'
            - properties:
                self:
                  example: https://flink.us-west1.aws.confluent.cloud/sql/v1/organizations/org-abc/environments/env-123/databases/my-database/tools
                first:
                  example: https://flink.us-west1.aws.confluent.cloud/sql/v1/organizations/org-abc/environments/env-123/databases/my-database/tools
                last:
                  example: ''
                prev:
                  example: ''
                next:
                  example: https://flink.us-west1.aws.confluent.cloud/sql/v1/organizations/org-abc/environments/env-123/databases/my-database/tools?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.Tool'
              - type: object
                required:
                  - api_version
                  - kind
                  - metadata
                  - name
                  - spec
                  - status
                  - organization_id
                  - environment_id
          uniqueItems: true

    sql.v1.Tool:
      type: object
      description: |-
        `Tool` models a reusable tool resource backed by a connection that can be referenced
        by agents to perform actions.
        The API allows you to create your tools.
        ## The Tools Model
        <SchemaDefinition schemaRef="#/components/schemas/sql.v1.Tool" />
      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:
            - Tool
          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/tools/linear-mcp-tool
                uid:
                  example: 12345678-1234-1234-1234-123456789012
                resource_version:
                  example: a23av
                resource_name:
                  example: ''
        name:
          type: string
          example: linear-mcp-tool
          description: The user provided name of the tool, unique within this environment.
          pattern: '[a-z0-9_]([-a-z0-9_]*[a-z0-9_])?'
          x-immutable: true
          maxLength: 100
        spec:
          $ref: '#/components/schemas/sql.v1.ToolSpec'
        status:
          $ref: '#/components/schemas/sql.v1.ToolStatus'

    sql.v1.ToolSpec:
      type: object
      description: |-
        The spec of the Tool. A tool must reference either a `connection` (for MCP or A2A tools)
        or a `function` (for function-based tools), but not both.
      properties:
        connection:
          type: string
          example: linear-mcp-connection-streamable
          description: The name of the connection this tool uses. Required for MCP
            and A2A tools. Mutually exclusive with function.
        function:
          type: string
          example: convert_to_celsius
          description: The name of the function this tool wraps. Required for function-based
            tools. Mutually exclusive with connection.
        comment:
          type: string
          description: An optional comment describing the tool.
          maxLength: 4096
        options:
          type: object
          description: |-
            A set of key-value option pairs that configure the tool's behavior.
            Supported options vary by tool type:
            - MCP tools: type, allowed_tools, request_timeout, max_retries, headers
            - A2A tools: type, agent_card_path, request_timeout, max_retries
            - Function tools: type, description
          additionalProperties:
            type: string
          example:
            type: mcp
            allowed_tools: create_issue, list_issues
            request_timeout: '30'
      x-enable-listmeta: true
      x-enable-objectmeta: true

    sql.v1.ToolStatus:
      type: object
      required:
        - phase
      description: The status of the Tool
      properties:
        phase:
          type: string
          x-extensible-enum: [ACTIVE, INACTIVE, ERROR]
          description: |
            Describes the status of the tool:

            ACTIVE: The Tool is usable;

            INACTIVE: The Tool is not currently active;

            ERROR: The Tool encountered an error;
          example: ACTIVE
          readOnly: true
        detail:
          type: string
          description: Details about why the tool transitioned into a given status.
          example: Tool is ready
          readOnly: true
      readOnly: 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
        <SchemaDefinition schemaRef="#/components/schemas/sql.v1.Statement" />
      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'

    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,
            STOPPING, STOPPED, DEGRADED]
          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;

            STOPPING: SQL statement is being stopped;

            STOPPED: SQL statement execution has successfully been stopped;

            DEGRADED: SQL statement is experiencing reduced performance or partial failure;
          example: RUNNING
          readOnly: true
        scaling_status:
          $ref: '#/components/schemas/sql.v1.ScalingStatus'
        state_limit_status:
          $ref: '#/components/schemas/sql.v1.StateLimitStatus'
        detail:
          type: string
          description: Details about the execution status of this statement.
          example: Statement is running successfully
          readOnly: true
        warnings:
          type: array
          description: List of warnings encountered during statement execution.
          items:
            $ref: '#/components/schemas/sql.v1.StatementWarning'
          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: '2025-11-10T16:20:00Z'
          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
        end_time:
          type: string
          format: date-time
          example: '2025-03-19T01:02:03-04:05'
          description: |
            The date and time in UTC (represented as RFC3339 format) at which the statement reached its final terminal state. 
            This field is set when the Phase is COMPLETED, FAILED, or STOPPED.

            Note - The attribute is in a [Early Access lifecycle](https://docs.confluent.io/cloud/current/api.html#section/Versioning/API-Lifecycle-Policy)
        duration:
          type: string
          format: duration
          example: PT2H30M
          description: |
            The total elapsed time (represented as ISO 8601 format) from when the statement transitioned from 
            PENDING to RUNNING until it reached a final terminal state. This field is calculated and set when 
            the Phase is COMPLETED, FAILED, or STOPPED.

            Note - The attribute is in a [Early Access lifecycle](https://docs.confluent.io/cloud/current/api.html#section/Versioning/API-Lifecycle-Policy)
        affected_resource:
          type: object
          description: |
            A reference to the resource created by this statement, if any. This field is set when a statement
            (e.g., CREATE MATERIALIZED TABLE) results in a new user-facing resource.

            Note - The attribute is in a [Early Access lifecycle](https://docs.confluent.io/cloud/current/api.html#section/Versioning/API-Lifecycle-Policy)
          required:
            - kind
            - environment_id
            - resource_name
          properties:
            kind:
              type: string
              x-extensible-enum: [MATERIALIZED_TABLE]
              description: The kind of resource that was created.
              example: MATERIALIZED_TABLE
            environment_id:
              type: string
              description: The unique identifier for the environment containing the
                resource.
              example: env-abc
            database_id:
              type: string
              description: |
                The unique identifier for the database containing the resource.
                Only present for resource kinds that are scoped to a database.
              example: lkc-123
            resource_name:
              type: string
              description: The name of the created resource, unique within its scope.
              example: my-materialized-table
      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'
        connection_refs:
          type: array
          description: The names of connections that the SQL statement references
            (e.g., in FROM clauses).
          items:
            type: string
          example: [my-postgres-connection, my-kafka-connection]
      readOnly: true

    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
        <SchemaDefinition schemaRef="#/components/schemas/sql.v1.Statement" />
      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
          uniqueItems: 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'

    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.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  # 128KB * 1024bytes, assuming 1 char = 1 byte
        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
          maxProperties: 8192
        compute_pool_id:
          type: string
          example: fcp-00000
          description: |-
            The id associated with the compute pool in context. 
            If not specified, the statement will use the default compute pool. The default pool is automatically determined by the system.
          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
        execution_mode:
          type: string
          example: streaming
          description: |
            The execution mode of the statement.

            Note - The attribute is in a [Early Access lifecycle](https://docs.confluent.io/cloud/current/api.html#section/Versioning/API-Lifecycle-Policy)
          maxLength: 255
          readOnly: true
      x-enable-listmeta: true
      x-enable-objectmeta: true

    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: '2025-11-10T16:20:00Z'
          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

    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.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.StateLimitStatus:
      description: State limit status for this statement.
      properties:
        state_limit_state:
          description: |
            OK: The statement is within state limits.

            APPROACHING_SOFT_LIMIT: The statement is approaching soft state limits.

            EXCEEDING_SOFT_LIMIT: The statement is exceeding soft state limits.

            APPROACHING_HARD_LIMIT: The statement is approaching hard state limits.

            EXCEEDING_HARD_LIMIT: The statement is exceeding hard state limits.
          example: OK
          readOnly: true
          type: string
          x-extensible-enum:
            - OK
            - APPROACHING_SOFT_LIMIT
            - EXCEEDING_SOFT_LIMIT
            - APPROACHING_HARD_LIMIT
            - EXCEEDING_HARD_LIMIT
        last_updated:
          description: The last time the state limit status was updated.
          example: 1996-03-19T01:02:03-04:05
          format: date-time
          readOnly: true
          type: string
        detail:
          description: Details about why state limit status is in its current state.
          example: The statement is within state limits.
          type: string
          readOnly: true
      readOnly: true
      type: object

    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).
        class_name:
          type: string
          description: The class name of the structured 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

    sql.v1.StatementWarning:
      type: object
      description: Represents a non-fatal issue encountered during statement processing.
      required:
        - severity
        - created_at
        - reason
        - message
      properties:
        severity:
          $ref: '#/components/schemas/sql.v1.WarningSeverity'
        created_at:
          type: string
          format: date-time
          description: The timestamp when the warning was created. It is represented
            in RFC3339 format and is in UTC.
          example: '2025-11-10T16:20:00Z'
          readOnly: true
        reason:
          type: string
          description: A machine-readable short, upper case summary delimited by underscore.
          example: MISSING_WINDOW_START_END
        message:
          type: string
          description: A human-readable string containing the description of the warning.
          example: The statement is missing window start and end bounds which may
            lead to unbounded state growth.

    sql.v1.WarningSeverity:
      type: string
      x-extensible-enum:
        - LOW
        - MODERATE
        - CRITICAL
      description: |
        Indicates the severity of the warning.

        LOW: Indicates a low severity warning and for informing the user.

        MODERATE: Indicates a moderate severity warning and may require user action. Could cause degraded statements if certain conditions apply.

        CRITICAL: Indicates a critical severity warning and requires user action. It will cause degraded statements eventually.
      example: MODERATE

    # Exceptions API Components

    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.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'

    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: '2025-11-10T16:20:00Z'
          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
    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

    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
        <SchemaDefinition schemaRef="#/components/schemas/networking.v1.DnsForwarder" />
      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.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.Ip:
      type: string
      pattern: ^\d+\.\d+\.\d+\.\d+$
      description: IPv4 Address
      example: 10.200.0.0
    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.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
        <SchemaDefinition schemaRef="#/components/schemas/networking.v1.DnsForwarder" />
      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.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.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
        <SchemaDefinition schemaRef="#/components/schemas/networking.v1.AccessPoint" />
      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.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,
            DISCONNECTED, DEGRADED, ERROR]
          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;

              DISCONNECTED: Access Point has been disconnected in the cloud provider by the customer;

              DEGRADED: Access Point is experiencing reduced performance or partial failure;

              ERROR: Invalid customer input during Access Point creation;
          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.AwsIngressPrivateLinkEndpointStatus'
            - $ref: '#/components/schemas/networking.v1.AzureEgressPrivateLinkEndpointStatus'
            - $ref: '#/components/schemas/networking.v1.GcpEgressPrivateServiceConnectEndpointStatus'
          description: Cloud specific status of the access point.
          discriminator:
            propertyName: kind
            mapping:
              AwsEgressPrivateLinkEndpointStatus: '#/components/schemas/networking.v1.AwsEgressPrivateLinkEndpointStatus'
              AwsIngressPrivateLinkEndpointStatus: '#/components/schemas/networking.v1.AwsIngressPrivateLinkEndpointStatus'
              AzureEgressPrivateLinkEndpointStatus: '#/components/schemas/networking.v1.AzureEgressPrivateLinkEndpointStatus'
              GcpEgressPrivateServiceConnectEndpointStatus: '#/components/schemas/networking.v1.GcpEgressPrivateServiceConnectEndpointStatus'
          readOnly: true
      readOnly: 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
        <SchemaDefinition schemaRef="#/components/schemas/networking.v1.DnsRecord" />
      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.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.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
        target_system:
          type: string
          description: '[Used by the Confluent Cloud Console] The target system or
            service that the PrivateLink Endpoint connects to (e.g. "MONGODB" or "SNOWFLAKE").'
          example: S3
    networking.v1.AwsIngressPrivateLinkEndpoint:
      type: object
      description: AWS Ingress Private Link Endpoint.
      required:
        - kind
        - vpc_endpoint_id
      properties:
        kind:
          type: string
          description: AwsIngressPrivateLinkEndpoint kind.
          enum: [AwsIngressPrivateLinkEndpoint]
        vpc_endpoint_id:
          description: ID of a VPC Endpoint that will be connected to the VPC Endpoint
            service.
          type: string
          minLength: 1
          example: vpce-00000000000000000
          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
        # yamllint disable-line rule:line-length
          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
        target_system:
          type: string
          description: '[Used by the Confluent Cloud Console] The target system or
            service that the PrivateLink Endpoint connects to (e.g. "MONGODB" or "SNOWFLAKE").'
          example: SNOWFLAKE
    networking.v1.GcpEgressPrivateServiceConnectEndpoint:
      type: object
      description: GCP Private Service Connect Endpoint.
      required:
        - kind
        - private_service_connect_endpoint_target
      properties:
        kind:
          type: string
          description: GcpEgressPrivateServiceConnectEndpoint kind.
          enum: [GcpEgressPrivateServiceConnectEndpoint]
        private_service_connect_endpoint_target:
          description: URI of the service attachment for the published service that
            the Private Service Connect Endpoint connects to or "ALL_GOOGLE_APIS"
            for global Google APIs.
          type: string
          minLength: 1
          example: projects/project-name/regions/us-central1/serviceAttachments/service-attachment-name
        target_system:
          type: string
          description: '[Used by the Confluent Cloud Console] The target system or
            service that the PrivateLink Endpoint connects to (e.g. "GCS" or "SNOWFLAKE").'
          example: GCS
    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.AwsIngressPrivateLinkEndpointStatus:
      type: object
      description: Status of an AWS Ingress Private Link Endpoint.
      required:
        - kind
        - vpc_endpoint_service_name
        - vpc_endpoint_id
      properties:
        kind:
          description: AwsIngressPrivateLinkEndpointStatus kind.
          type: string
          enum: [AwsIngressPrivateLinkEndpointStatus]
        vpc_endpoint_service_name:
          description: ID of the Confluent Cloud VPC Endpoint service used for PrivateLink.
          type: string
          example: com.amazonaws.vpce.us-west-2.vpce-svc-00000000000000000
          readOnly: true
        vpc_endpoint_id:
          description: ID of the VPC Endpoint used for connecting to the VPC Endpoint
            service.
          type: string
          example: vpce-00000000000000000
          readOnly: true
        dns_domain:
          description: DNS domain name used to configure the Private Hosted Zone for
            the Access Point.
          type: string
          example: ap123abc.us-west-2.aws.accesspoint.confluent.cloud
          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
        private_endpoint_custom_dns_config_domains:
          description: Domains of the Private Endpoint (if any) based off FQDNs in
            Azure custom DNS configs, which are required in your private DNS setup.
          type: array
          items:
            type: string
          readOnly: true
          example: [dbname.database.windows.net, dbname-region.database.windows.net]
    networking.v1.GcpEgressPrivateServiceConnectEndpointStatus:
      type: object
      description: Status of a GCP Private Service Connect Endpoint.
      required:
        - kind
        - private_service_connect_endpoint_connection_id
        - private_service_connect_endpoint_name
        - private_service_connect_endpoint_ip_address
      properties:
        kind:
          description: GcpEgressPrivateServiceConnectEndpointStatus kind.
          type: string
          enum: [GcpEgressPrivateServiceConnectEndpointStatus]
        private_service_connect_endpoint_connection_id:
          description: Connection ID of the Private Service Connect Endpoint (if any)
            that is connected to the endpoint target.
          type: string
          readOnly: true
          example: ''
        private_service_connect_endpoint_name:
          description: Name of the Private Service Connect Endpoint (if any) that
            is connected to the endpoint target.
          type: string
          readOnly: true
          example: plap-123456
        private_service_connect_endpoint_ip_address:
          description: IP address of the Private Service Connect Endpoint (if any)
            that is connected to the endpoint target.
          type: string
          readOnly: true
          example: 10.2.0.68
    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.AwsPrivateNetworkInterface:
      type: object
      description: Confluent Private Network Interface powered by AWS ENI.
      required:
        - kind
      properties:
        kind:
          type: string
          description: AwsPrivateNetworkInterface kind.
          enum: [AwsPrivateNetworkInterface]
        network_interfaces:
          description: List of the IDs of the Elastic Network Interfaces.
          type: array
          items:
            type: string
          uniqueItems: true
          minItems: 51
          example: [eni-00000000000000000, eni-00000000000000001, eni-00000000000000002,
            eni-00000000000000003, eni-00000000000000004, eni-00000000000000005, eni-00000000000000006,
            eni-00000000000000007, eni-00000000000000008, eni-00000000000000009, eni-00000000000000010,
            eni-00000000000000011, eni-00000000000000012, eni-00000000000000013, eni-00000000000000014,
            eni-00000000000000015, eni-00000000000000016, eni-00000000000000017, eni-00000000000000018,
            eni-00000000000000019, eni-00000000000000020, eni-00000000000000021, eni-00000000000000022,
            eni-00000000000000023, eni-00000000000000024, eni-00000000000000025, eni-00000000000000026,
            eni-00000000000000027, eni-00000000000000028, eni-00000000000000029, eni-00000000000000030,
            eni-00000000000000031, eni-00000000000000032, eni-00000000000000033, eni-00000000000000034,
            eni-00000000000000035, eni-00000000000000036, eni-00000000000000037, eni-00000000000000038,
            eni-00000000000000039, eni-00000000000000040, eni-00000000000000041, eni-00000000000000042,
            eni-00000000000000043, eni-00000000000000044, eni-00000000000000045, eni-00000000000000046,
            eni-00000000000000047, eni-00000000000000048, eni-00000000000000049, eni-00000000000000050]
        account:
          type: string
          pattern: ^\d{12}$
          example: '000000000000'
          description: |-
            The AWS account ID associated with the ENIs you are using for the Confluent Private Network Interface.
          x-immutable: true
        egress_routes:
          type: array
          description: List of egress CIDRs (IPv4) for egress PNI.
          items:
            type: string
          uniqueItems: true
          example: [10.0.0.0/16, 10.1.0.0/16, 10.2.0.0/16, 172.16.0.0/16]
    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
        <SchemaDefinition schemaRef="#/components/schemas/networking.v1.AccessPoint" />
      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.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.AwsIngressPrivateLinkEndpoint'
            - $ref: '#/components/schemas/networking.v1.AzureEgressPrivateLinkEndpoint'
            - $ref: '#/components/schemas/networking.v1.AwsPrivateNetworkInterface'
            - $ref: '#/components/schemas/networking.v1.GcpEgressPrivateServiceConnectEndpoint'
          discriminator:
            propertyName: kind
            mapping:
              AwsEgressPrivateLinkEndpoint: '#/components/schemas/networking.v1.AwsEgressPrivateLinkEndpoint'
              AwsIngressPrivateLinkEndpoint: '#/components/schemas/networking.v1.AwsIngressPrivateLinkEndpoint'
              AzureEgressPrivateLinkEndpoint: '#/components/schemas/networking.v1.AzureEgressPrivateLinkEndpoint'
              AwsPrivateNetworkInterface: '#/components/schemas/networking.v1.AwsPrivateNetworkInterface'
              GcpEgressPrivateServiceConnectEndpoint: '#/components/schemas/networking.v1.GcpEgressPrivateServiceConnectEndpoint'
          description: The specific details of the different access point configurations.
        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.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
        <SchemaDefinition schemaRef="#/components/schemas/networking.v1.DnsRecord" />
      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.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
    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.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
        <SchemaDefinition schemaRef="#/components/schemas/iam.v2.CertificateIdentityPool" />

        ## 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
        # yamllint disable-line rule:line-length
          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
    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 PEM 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 PEM 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 PEM 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 PEM 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-----

# default
    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.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
        <SchemaDefinition schemaRef="#/components/schemas/iam.v2.CertificateIdentityPool" />

        ## 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
    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
        <SchemaDefinition schemaRef="#/components/schemas/pim.v1.Integration" />
      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://.+$
          # yamllint disable-line rule:line-length
            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'
    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]
    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
        <SchemaDefinition schemaRef="#/components/schemas/pim.v1.Integration" />
      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
    pim.v2.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, update, delete, and validate individual integrations, and also obtain a
        list of all your provider integrations.

        Note: The pim/v2 API currently supports only Azure and GCP provider integrations.


        Related guide: [Provider Integration in Confluent Cloud](https://docs.confluent.io/home/overview.html).

        ## The Integrations Model
        <SchemaDefinition schemaRef="#/components/schemas/pim.v2.Integration" />
      properties:
        api_version:
          type: string
          enum:
            - pim/v2
          description: APIVersion defines the schema version of this representation
            of a resource.
          readOnly: true
        kind:
          type: string
          description: Kind defines the object this REST resource represents.
          readOnly: true
          enum:
            - Integration
        id:
          description: ID is the "natural identifier" for an object within its scope/namespace;
            it is normally unique across time but not space. That is, you can assume
            that the ID will not be reclaimed and reused after an object is deleted
            ("time"); however, it may collide with IDs for other object `kinds` or
            objects of the same `kind` within a different scope/namespace ("space").
          type: string
          maxLength: 255
          readOnly: true
          example: dlz-f3a90de
        display_name:
          type: string
          example: bigquery_provider_integration
          description: Display name of Provider Integration.
          maxLength: 60
          x-immutable: true
        provider:
          type: string
          description: Cloud provider to which access is provided through provider
            integration.
          example: GCP
          default: GCP
          x-extensible-enum: [GCP]
          x-immutable: true
        config:
          type: object
          description: |
            Cloud provider specific configuration for the provider integration.
            Required only when updating integrations with `DRAFT` status. Not required during creation.
          discriminator:
            propertyName: kind
            mapping:
              GcpIntegrationConfig: '#/components/schemas/pim.v2.GcpIntegrationConfig'
              AzureIntegrationConfig: '#/components/schemas/pim.v2.AzureIntegrationConfig'
              AwsIntegrationConfig: '#/components/schemas/pim.v2.AwsIntegrationConfig'
          oneOf:
            - $ref: '#/components/schemas/pim.v2.GcpIntegrationConfig'
            - $ref: '#/components/schemas/pim.v2.AzureIntegrationConfig'
            - $ref: '#/components/schemas/pim.v2.AwsIntegrationConfig'
        usages:
          type: array
          description: List of resource crns where this integration is being used.
          minItems: 0
          items:
            type: string
            description: crn that specifies the resource using this integration
            format: uri
            pattern: ^crn://.+$
          # yamllint disable-line rule:line-length
            example: crn://confluent.cloud/organization=9bb441c4-edef-46ac-8a41-c49e44a3fd9a/environment=env-456xy/cloud-cluster=lkc-123abc/connector=my_datagen_connector
          readOnly: true
        status:
          type: string
          description: |
            Status of the provider integration.
            - `DRAFT`: Integration exists but is not associated with customer configuration
            - `CREATED`: Integration has been associated with customer configuration
            - `ACTIVE`: Integration is in use by Confluent resources
          example: CREATED
          x-extensible-enum: [DRAFT, CREATED, ACTIVE]
          readOnly: true
        environment:
          allOf:
            - $ref: '#/components/schemas/ObjectReference'
          description: The environment to which this belongs.
    pim.v2.GcpIntegrationConfig:
      type: object
      description: |
        config schema for GCP cloud service provider.
      properties:
        google_service_account:
          type: string
          description: |
            The ID of the Google Service Account that Confluent Cloud uses to impersonate
            customer Google Service Account when it accesses resources in your GCP project.
          example: cspi-sa1@cflt-project.iam.gserviceaccount.com
          readOnly: true
        customer_google_service_account:
          type: string
          description: |
            The ID of the Google Service Account that Confluent Cloud impersonates
            to access resources in your GCP Project.
          example: customer-sa@customer-project.iam.gserviceaccount.com
        kind:
          type: string
          description: Cloud provider specific config to which access is provided
            through provider integration.
          example: GcpIntegrationConfig
          x-extensible-enum: [GcpIntegrationConfig]
      required: [kind]
    pim.v2.AzureIntegrationConfig:
      type: object
      description: |
        config schema for Azure cloud service provider.
      properties:
        confluent_multi_tenant_app_id:
          type: string
          description: |
            The ID of the Confluent Multi-Tenant App that Confluent Cloud uses to impersonate
            customer Azure App when it accesses resources in your Azure subscription.
          example: 9bb441c4-edef-46ac-8a41-c49e44a3fd9a
          readOnly: true
        customer_azure_tenant_id:
          type: string
          description: |
            The ID of the customer's Azure Active Directory (Azure AD) tenant
          example: 12345678-1234-1234-1234-123456789abc
        kind:
          type: string
          description: Cloud provider specific config to which access is provided
            through provider integration.
          example: AzureIntegrationConfig
          x-extensible-enum: [AzureIntegrationConfig]
      required: [kind]
    pim.v2.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]
    pim.v2.IntegrationValidateRequest:
      type: object
      description: Request to validate the provider integration configuration.
      properties:
        api_version:
          type: string
          enum:
            - pim/v2
          description: APIVersion defines the schema version of this representation
            of a resource.
          readOnly: true
        kind:
          type: string
          description: Kind defines the object this REST resource represents.
          readOnly: true
          enum:
            - IntegrationValidateRequest
        id:
          type: string
          description: The ID of the provider integration to validate.
          example: cspi-00000
          maxLength: 255
        metadata:
          allOf:
            - $ref: '#/components/schemas/ObjectMeta'
            - properties:
                self:
                  example: https://api.confluent.cloud/pim/v2/integration-validate-requests/ivr-12345
                resource_name:
                  example: crn://confluent.cloud/organization=9bb441c4-edef-46ac-8a41-c49e44a3fd9a/integration-validate-request=ivr-12345
        config:
          type: object
          description: |
            Cloud provider specific configuration for the provider integration.
            Required only for integrations in `DRAFT` status.
          discriminator:
            propertyName: kind
            mapping:
              GcpIntegrationConfig: '#/components/schemas/pim.v2.GcpIntegrationConfig'
              AzureIntegrationConfig: '#/components/schemas/pim.v2.AzureIntegrationConfig'
              AwsIntegrationConfig: '#/components/schemas/pim.v2.AwsIntegrationConfig'
          oneOf:
            - $ref: '#/components/schemas/pim.v2.GcpIntegrationConfig'
            - $ref: '#/components/schemas/pim.v2.AzureIntegrationConfig'
            - $ref: '#/components/schemas/pim.v2.AwsIntegrationConfig'
        environment:
          description: The environment to which this belongs.
# Default
          allOf:
            - $ref: '#/components/schemas/GlobalObjectReference'
    pim.v2.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, update, delete, and validate individual integrations, and also obtain a
        list of all your provider integrations.

        Note: The pim/v2 API currently supports only Azure and GCP provider integrations.


        Related guide: [Provider Integration in Confluent Cloud](https://docs.confluent.io/home/overview.html).

        ## The Integrations Model
        <SchemaDefinition schemaRef="#/components/schemas/pim.v2.Integration" />
      required:
        - api_version
        - kind
        - metadata
        - data
      properties:
        api_version:
          type: string
          enum:
            - pim/v2
          description: APIVersion defines the schema version of this representation
            of a resource.
          readOnly: true
        kind:
          type: string
          description: Kind defines the object this REST resource represents.
          readOnly: true
          enum:
            - IntegrationList
        metadata:
          allOf:
            - $ref: '#/components/schemas/ListMeta'
            - properties:
                first:
                  example: https://api.confluent.cloud/pim/v2/integrations
                last:
                  example: https://api.confluent.cloud/pim/v2/integrations?page_token=bcAOehAY8F16YD84Z1wT
                prev:
                  example: https://api.confluent.cloud/pim/v2/integrations?page_token=YIXRY97wWYmwzrax4dld
                next:
                  example: https://api.confluent.cloud/pim/v2/integrations?page_token=UvmDWOB1iwfAIBPj6EYb
        data:
          type: array
          description: A data property that contains an array of resource items. Each
            entry in the array is a separate resource.
          items:
            allOf:
              - $ref: '#/components/schemas/pim.v2.Integration'
              - type: object
                required:
                  - id
                  - status
                  - environment
          uniqueItems: true
    artifact.v1.FlinkArtifact:
      type: object
      description: |-
        FlinkArtifact objects represent Flink Artifacts on Confluent Cloud.


        ## The Flink Artifacts Model
        <SchemaDefinition schemaRef="#/components/schemas/artifact.v1.FlinkArtifact" />
      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: Unique name of the Flink Artifact per cloud, region, environment
            scope.
          maxLength: 60
        class:
          type: string
          description: Java class or alias for the artifact as provided by developer.
            Deprecated
          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
          deprecated: true
          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: Documentation 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.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
        <SchemaDefinition schemaRef="#/components/schemas/artifact.v1.PresignedUrl" />
      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
        environment:
          type: string
          description: The Environment the uploaded Flink Artifact belongs to.
          example: env-00000
          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
          # yamllint disable-line rule:line-length
            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
    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'
        # yamllint disable-line rule:line-length
          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
    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
        environment:
          type: string
          example: env-00000
          description: The Environment the uploaded Flink Artifact belongs to.
          maxLength: 255
    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
        <SchemaDefinition schemaRef="#/components/schemas/artifact.v1.PresignedUrl" />
      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
        # yamllint disable-line rule:line-length
          description: Upload ID returned by the `/presigned-upload-url` API. This
            field returns an empty string in all responses.
    artifact.v1.FlinkArtifactList:
      type: object
      description: |-
        FlinkArtifact objects represent Flink Artifacts on Confluent Cloud.


        ## The Flink Artifacts Model
        <SchemaDefinition schemaRef="#/components/schemas/artifact.v1.FlinkArtifact" />
      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
                  - display_name
          uniqueItems: true
    networking.v1.Gateway:
      type: object
      description: |-
        A Gateway represents a slice of traffic capacity in a region that is reserved for a customer.


        ## The Gateways Model
        <SchemaDefinition schemaRef="#/components/schemas/networking.v1.Gateway" />

        ## Quotas and Limits
        This resource is subject to the [following quotas](https://docs.confluent.io/cloud/current/quotas/overview.html):

        | Quota | Description |
        | --- | --- |
        | `gateways_per_region_per_environment` | Number of Gateways per region 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:
            - 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/gw-12345
                resource_name:
                  example: crn://confluent.cloud/organization=9bb441c4-edef-46ac-8a41-c49e44a3fd9a/environment=env-abc123/gateway=gw-12345
        spec:
          $ref: '#/components/schemas/networking.v1.GatewaySpec'
        status:
          $ref: '#/components/schemas/networking.v1.GatewayStatus'
    networking.v1.GatewayStatus:
      type: object
      required:
        - phase
      description: The status of the Gateway
      properties:
        phase:
          type: string
          x-extensible-enum: [CREATED, PROVISIONING, READY, FAILED, DEPROVISIONING,
            EXPIRED]
          description: |
            The lifecycle phase of the gateway:

              CREATED: gateway exists without an Access Point.

              PROVISIONING: gateway provisioning is in progress;

              READY:  gateway is ready;

              FAILED: gateway is in a failed state;

              DEPROVISIONING: gateway deprovisioning is in progress;

              EXPIRED: gateway has timed out waiting for connections, can only be deleted;
          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.AwsIngressPrivateLinkGatewayStatus'
            - $ref: '#/components/schemas/networking.v1.AwsPrivateNetworkInterfaceGatewayStatus'
            - $ref: '#/components/schemas/networking.v1.AzureEgressPrivateLinkGatewayStatus'
            - $ref: '#/components/schemas/networking.v1.GcpPeeringGatewayStatus'
            - $ref: '#/components/schemas/networking.v1.GcpEgressPrivateServiceConnectGatewayStatus'
          readOnly: true
          discriminator:
            propertyName: kind
            mapping:
              AwsPrivateNetworkInterfaceGatewayStatus: '#/components/schemas/networking.v1.AwsPrivateNetworkInterfaceGatewayStatus'
              AwsEgressPrivateLinkGatewayStatus: '#/components/schemas/networking.v1.AwsEgressPrivateLinkGatewayStatus'
              AwsIngressPrivateLinkGatewayStatus: '#/components/schemas/networking.v1.AwsIngressPrivateLinkGatewayStatus'
              AzureEgressPrivateLinkGatewayStatus: '#/components/schemas/networking.v1.AzureEgressPrivateLinkGatewayStatus'
              GcpPeeringGatewayStatus: '#/components/schemas/networking.v1.GcpPeeringGatewayStatus'
              GcpEgressPrivateServiceConnectGatewayStatus: '#/components/schemas/networking.v1.GcpEgressPrivateServiceConnectGatewayStatus'
      readOnly: true
    networking.v1.AwsPrivateNetworkInterfaceGatewaySpec:
      type: object
      description: AWS Private Network Interface Gateway details from AWS.
      required:
        - kind
        - region
        - zones
      properties:
        kind:
          description: AWS Private Network Interface Gateway Spec kind type.
          type: string
          enum: [AwsPrivateNetworkInterfaceGatewaySpec]
        region:
          type: string
          description: AWS region of the Private Network Interface Gateway.
        zones:
          type: array
          items:
            type: string
          description: AWS availability zone ids of the Private Network Interface
            Gateway.
    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.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.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.AwsIngressPrivateLinkGatewaySpec:
      type: object
      description: AWS Ingress Private Link Gateway details from AWS.
      required:
        - kind
        - region
      properties:
        kind:
          description: AWS Ingress Private Link Gateway Spec kind type.
          type: string
          enum: [AwsIngressPrivateLinkGatewaySpec]
        region:
          type: string
          description: AWS region of the Ingress Private Link 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.GcpPeeringGatewaySpec:
      type: object
      description: GCP Peering Gateway details.
      required:
        - kind
        - region
      properties:
        kind:
          description: GCP Peering Gateway Spec kind type.
          type: string
          enum: [GcpPeeringGatewaySpec]
        region:
          type: string
          description: GCP region of the Peering Gateway.
    networking.v1.GcpEgressPrivateServiceConnectGatewaySpec:
      type: object
      description: GCP Private Service Connect Gateway details from GCP.
      required:
        - kind
        - region
      properties:
        kind:
          description: GCP Private Service Connect Gateway Spec kind type.
          type: string
          enum: [GcpEgressPrivateServiceConnectGatewaySpec]
        region:
          type: string
          description: GCP region of the Egress Private Service Connect Gateway.
    networking.v1.AwsPrivateNetworkInterfaceGatewayStatus:
      type: object
      required:
        - kind
      description: AWS Private Network Interface Gateway details from AWS.
      properties:
        kind:
          description: AWS Private Network Interface Gateway Status kind type.
          type: string
          enum: [AwsPrivateNetworkInterfaceGatewayStatus]
        account:
          description: The AWS account ID associated with the Private Network Interface
            Gateway.
          type: string
          example: '000000000000'
          readOnly: true
    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.AwsIngressPrivateLinkGatewayStatus:
      type: object
      required:
        - kind
      description: AWS Ingress Private Link Gateway details from AWS.
      properties:
        kind:
          description: AWS Ingress Private Link Gateway Status kind type.
          type: string
          enum: [AwsIngressPrivateLinkGatewayStatus]
        vpc_endpoint_service_name:
          description: The ID of the AWS VPC Endpoint Service that can be used to
            establish connections for all zones.
          type: string
          example: com.amazonaws.vpce.us-west-2.vpce-svc-00000000000000000
          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.GcpPeeringGatewayStatus:
      type: object
      required:
        - kind
      description: GCP Peering Gateway details from GCP.
      properties:
        kind:
          description: GCP Peering Gateway Status kind type.
          type: string
          enum: [GcpPeeringGatewayStatus]
        iam_principal:
          description: The IAM principal email used by the GCP Peering Gateway.
          type: string
          example: my-service-account@my-project.iam.gserviceaccount.com
          readOnly: true
    networking.v1.GcpEgressPrivateServiceConnectGatewayStatus:
      type: object
      required:
        - kind
      description: GCP Private Service Connect Gateway details from GCP.
      properties:
        kind:
          description: GCP Private Service Connect Gateway Status kind type.
          type: string
          enum: [GcpEgressPrivateServiceConnectGatewayStatus]
        project:
          type: string
          description: The GCP project used by the GCP Private Service Connect Gateway.
          example: proj-tenant-1
          readOnly: true

# Defaults for Network API
    networking.v1.GatewayList:
      type: object
      description: |-
        A Gateway represents a slice of traffic capacity in a region that is reserved for a customer.


        ## The Gateways Model
        <SchemaDefinition schemaRef="#/components/schemas/networking.v1.Gateway" />

        ## Quotas and Limits
        This resource is subject to the [following quotas](https://docs.confluent.io/cloud/current/quotas/overview.html):

        | Quota | Description |
        | --- | --- |
        | `gateways_per_region_per_environment` | Number of Gateways per region 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:
            - 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.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. Please note that Peering
            configs are not supported in Create requests.
          oneOf:
            - $ref: '#/components/schemas/networking.v1.AwsEgressPrivateLinkGatewaySpec'
            - $ref: '#/components/schemas/networking.v1.AwsPrivateNetworkInterfaceGatewaySpec'
            - $ref: '#/components/schemas/networking.v1.AwsIngressPrivateLinkGatewaySpec'
            - $ref: '#/components/schemas/networking.v1.AwsPeeringGatewaySpec'
            - $ref: '#/components/schemas/networking.v1.AzurePeeringGatewaySpec'
            - $ref: '#/components/schemas/networking.v1.AzureEgressPrivateLinkGatewaySpec'
            - $ref: '#/components/schemas/networking.v1.GcpPeeringGatewaySpec'
            - $ref: '#/components/schemas/networking.v1.GcpEgressPrivateServiceConnectGatewaySpec'
          discriminator:
            propertyName: kind
            mapping:
              AwsPrivateNetworkInterfaceGatewaySpec: '#/components/schemas/networking.v1.AwsPrivateNetworkInterfaceGatewaySpec'
              AwsPeeringGatewaySpec: '#/components/schemas/networking.v1.AwsPeeringGatewaySpec'
              AwsEgressPrivateLinkGatewaySpec: '#/components/schemas/networking.v1.AwsEgressPrivateLinkGatewaySpec'
              AwsIngressPrivateLinkGatewaySpec: '#/components/schemas/networking.v1.AwsIngressPrivateLinkGatewaySpec'
              AzurePeeringGatewaySpec: '#/components/schemas/networking.v1.AzurePeeringGatewaySpec'
              AzureEgressPrivateLinkGatewaySpec: '#/components/schemas/networking.v1.AzureEgressPrivateLinkGatewaySpec'
              GcpPeeringGatewaySpec: '#/components/schemas/networking.v1.GcpPeeringGatewaySpec'
              GcpEgressPrivateServiceConnectGatewaySpec: '#/components/schemas/networking.v1.GcpEgressPrivateServiceConnectGatewaySpec'
          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
    ccl.v1.CustomCodeLogging:
      type: object
      description: |-
        CustomCodeLogging objects represent Custom Code Logging on Confluent Cloud.
        The API allows you to list, create, read, update, and delete your Custom Code Logging.


        ## The Custom Code Loggings Model
        <SchemaDefinition schemaRef="#/components/schemas/ccl.v1.CustomCodeLogging" />
      properties:
        api_version:
          type: string
          enum:
            - ccl/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:
            - CustomCodeLogging
        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/ccl/v1/custom-code-loggings/ccl-12345
                resource_name:
                  example: crn://confluent.cloud/organization=9bb441c4-edef-46ac-8a41-c49e44a3fd9a/custom-code-logging=ccl-12345
        cloud:
          type: string
          description: Cloud provider where the Custom Code Logging is sent.
          example: AWS
          x-extensible-enum: [AWS, GCP, AZURE]
          maxLength: 60
          x-immutable: true
        region:
          type: string
          description: The Cloud provider region the Custom Code Logging is sent.
          example: us-west-2
          maxLength: 60
          x-immutable: true
        destination_settings:
          type: object
          description: Destination Settings of the Custom Code Logging.
          discriminator:
            propertyName: kind
            mapping:
              Kafka: '#/components/schemas/ccl.v1.KafkaDestinationSettings'
          oneOf:
            - $ref: '#/components/schemas/ccl.v1.KafkaDestinationSettings'
        environment:
          allOf:
            - $ref: '#/components/schemas/EnvScopedObjectReference'
          description: The environment to which this belongs.
    ccl.v1.KafkaDestinationSettings:
      type: object
      description: |
        Kafka Destination Settings of the Custom Code Logging.
      properties:
        kind:
          type: string
          description: The destination where Custom Code Logging is sent.
          enum: [Kafka]
        cluster_id:
          type: string
          example: lkc-123
          maxLength: 255
          description: The kafka cluster id where Custom Code Logging is sent.
        topic:
          type: string
          example: topic-123
          maxLength: 255
          description: The kafka topic where Custom Code Logging is sent.
        log_level:
          type: string
          example: INFO
          default: INFO
          description: Minimum log level for Custom Code Logging.
          x-extensible-enum: [ERROR, WARN, INFO, DEBUG]
          maxLength: 60
      required:
        - kind
        - cluster_id
        - topic

    ccl.v1.CustomCodeLoggingList:
      type: object
      description: |-
        CustomCodeLogging objects represent Custom Code Logging on Confluent Cloud.
        The API allows you to list, create, read, update, and delete your Custom Code Logging.


        ## The Custom Code Loggings Model
        <SchemaDefinition schemaRef="#/components/schemas/ccl.v1.CustomCodeLogging" />
      required:
        - api_version
        - kind
        - metadata
        - data
      properties:
        api_version:
          type: string
          enum:
            - ccl/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:
            - CustomCodeLoggingList
        metadata:
          allOf:
            - $ref: '#/components/schemas/ListMeta'
            - properties:
                first:
                  example: https://api.confluent.cloud/ccl/v1/custom-code-loggings
                last:
                  example: https://api.confluent.cloud/ccl/v1/custom-code-loggings?page_token=bcAOehAY8F16YD84Z1wT
                prev:
                  example: https://api.confluent.cloud/ccl/v1/custom-code-loggings?page_token=YIXRY97wWYmwzrax4dld
                next:
                  example: https://api.confluent.cloud/ccl/v1/custom-code-loggings?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/ccl.v1.CustomCodeLogging'
              - type: object
                required:
                  - id
                  - metadata
                  - cloud
                  - region
                  - destination_settings
                  - environment
          uniqueItems: true
    tableflow.v1.Region:
      type: object
      description: |-
        `Region` objects represent cloud provider regions where Tableflow can be enabled.
        This API allows you to list all supported Tableflow regions.


        ## The Regions Model
        <SchemaDefinition schemaRef="#/components/schemas/tableflow.v1.Region" />
      properties:
        api_version:
          type: string
          enum:
            - tableflow/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:
            - 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/tableflow/v1/regions/r-12345
                resource_name:
                  example: crn://confluent.cloud/organization=9bb441c4-edef-46ac-8a41-c49e44a3fd9a/region=r-12345
        cloud:
          type: string
          description: The cloud service provider that hosts the region.
          x-extensible-enum: [AWS]
          example: AWS
          x-immutable: true
          readOnly: true
        region:
          type: string
          description: The cloud service provider region.
          example: us-east-2
          x-immutable: true
          readOnly: true
    tableflow.v1.TableflowTopic:
      type: object
      description: |-
        A Tableflow Topic represents configuration related to a Tableflow enabled kafka topic


        ## The Tableflow Topics Model
        <SchemaDefinition schemaRef="#/components/schemas/tableflow.v1.TableflowTopic" />
      properties:
        api_version:
          type: string
          enum:
            - tableflow/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:
            - TableflowTopic
        metadata:
          allOf:
            - $ref: '#/components/schemas/ObjectMeta'
            - properties:
                self:
                  example: https://api.confluent.cloud/tableflow/v1/tableflow-topics/tt-12345
                resource_name:
                  example: crn://confluent.cloud/organization=9bb441c4-edef-46ac-8a41-c49e44a3fd9a/tableflow-topic=tt-12345
        spec:
          $ref: '#/components/schemas/tableflow.v1.TableflowTopicSpec'
        status:
          $ref: '#/components/schemas/tableflow.v1.TableflowTopicStatus'
    tableflow.v1.TableflowTopicStatus:
      type: object
      required:
        - write_mode
      description: The status of the Tableflow Topic
      properties:
        phase:
          type: string
          x-extensible-enum: [PENDING, RUNNING, FAILED]
          description: |
            The lifecycle phase of the Tableflow:

              PENDING: Tableflow setup is pending;

              RUNNING: Tableflow is currently running;

              FAILED: Tableflow failed
          example: PENDING
          readOnly: true
        error_message:
          type: string
          description: Displayable error message if Tableflow topic is in an error
            state
          example: Could not enable catalog integration
          readOnly: true
        catalog_sync_statuses:
          type: array
          description: |
            List of associated catalogs and their synchronization statuses for this Tableflow topic.
          items:
            $ref: '#/components/schemas/tableflow.v1.CatalogSyncStatus'
          readOnly: true
        failing_table_formats:
          type: array
          items:
            type: object
            properties:
              format:
                type: string
                description: The name of the table format (e.g., DELTA, ICEBERG).
                x-extensible-enum: [DELTA, ICEBERG]
              error_message:
                type: string
                description: The error message for the failing table format.
            required:
              - format
              - error_message
          description: |
            List of failing table formats for the Tableflow-enabled topic, including error details.
          example:
            - format: ICEBERG
              error_message: Schema validation failed
            - format: DELTA
              error_message: Connection timeout
          readOnly: true
        write_mode:
          type: string
          description: |
            The write mode for the Tableflow-enabled topic, determining how data is written to the table.
          x-extensible-enum: [APPEND, UPSERT, UPSERT_HISTORY]
          example: APPEND
          readOnly: true
      readOnly: true
    tableflow.v1.CatalogIntegration:
      type: object
      description: |-
        A Catalog Integration represents configuration related to a catalog integration


        ## The Catalog Integrations Model
        <SchemaDefinition schemaRef="#/components/schemas/tableflow.v1.CatalogIntegration" />
      properties:
        api_version:
          type: string
          enum:
            - tableflow/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:
            - CatalogIntegration
        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/tableflow/v1/catalog-integrations/tci-12345
                resource_name:
                  example: crn://confluent.cloud/organization=9bb441c4-edef-46ac-8a41-c49e44a3fd9a/catalog-integration=tci-12345
        spec:
          $ref: '#/components/schemas/tableflow.v1.CatalogIntegrationSpec'
        status:
          $ref: '#/components/schemas/tableflow.v1.CatalogIntegrationStatus'
    tableflow.v1.CatalogIntegrationStatus:
      description: The status of the Catalog Integration
      type: object
      properties:
        phase:
          type: string
          x-extensible-enum: [PENDING, CONNECTED, FAILED]
          description: |
            The lifecycle phase of the catalog integration:

              PENDING: sync to catalog integration is pending;

              CONNECTED: catalog integration is connected and syncing;

              FAILED: catalog integration failed.
          example: CONNECTED
          readOnly: true
        error_message:
          type: string
          description: Displayable error message if catalog integration is in a failed
            state.
          example: Could not enable catalog integration
          readOnly: true
        last_sync_at:
          type: string
          description: |
            The date and time at which the catalog was last synced. It is represented in RFC3339 format and is in UTC.
          readOnly: true
      readOnly: true
    tableflow.v1.TableFlowTopicConfigsSpec:
      type: object
      description: The configs for the Tableflow enabled topic
      properties:
        enable_compaction:
          description: This flag determines whether to enable compaction for the Tableflow
            enabled topic.
          type: boolean
          example: true
          x-immutable: true
          readOnly: true
        enable_partitioning:
          description: This flag determines whether to enable partitioning for the
            Tableflow enabled topic.
          type: boolean
          example: true
          x-immutable: true
          readOnly: true
        retention_ms:
          description: |
            The maximum age, in milliseconds, of snapshots (for Iceberg) or versions (for Delta)
            to retain in the table for the Tableflow-enabled topic (snapshot/version expiration).

            The default value is "604800000" milliseconds (equivalent to 7 days).

            The minimum allowed value is "86400000" milliseconds (equivalent to 24 hours).
          type: string
          format: int64
          example: '7776000000'
        data_retention_ms:
          description: |
            The maximum age, in milliseconds, of data to retain in the table for the Tableflow-enabled topic.

            The minimum allowed non-zero value is "2592000000" milliseconds (equivalent to 30 days).

            Set to "0" to disable data retention (keep all data indefinitely).
          type: string
          format: int64
          example: '2592000000'
        record_failure_strategy:
          description: |
            The strategy to handle record failures in the Tableflow enabled topic during materialization.

            For `SKIP`, we skip the bad records and move to the next record,

            and for `SUSPEND`, we suspend the materialization of the topic.
          type: string
          x-extensible-enum: [SUSPEND, SKIP]
          default: SUSPEND
          deprecated: true
        error_handling:
          type: object
          description: |
            The error mode to handle record failures in the Tableflow enabled topic during materialization.

            for `SKIP`, we skip the bad records and move to the next record,

            for `SUSPEND`, we suspend the materialization of the topic,

            and for `LOG`, we log the bad records to the DLQ and continue processing the rest of the records.
          oneOf:
            - $ref: '#/components/schemas/tableflow.v1.ErrorHandlingSuspend'
            - $ref: '#/components/schemas/tableflow.v1.ErrorHandlingSkip'
            - $ref: '#/components/schemas/tableflow.v1.ErrorHandlingLog'
          discriminator:
            propertyName: mode
            mapping:
              SUSPEND: '#/components/schemas/tableflow.v1.ErrorHandlingSuspend'
              SKIP: '#/components/schemas/tableflow.v1.ErrorHandlingSkip'
              LOG: '#/components/schemas/tableflow.v1.ErrorHandlingLog'

    tableflow.v1.ByobAwsSpec:
      type: object
      description: The Tableflow storage config for BYOB enabled topic in AWS
      required:
        - kind
        - bucket_name
        - provider_integration_id
      properties:
        kind:
          type: string
          enum: [ByobAws]
          description: |
            The storage type
          x-immutable: true
        bucket_name:
          description: Bucket name
          type: string
          example: bucket_1
          x-immutable: true
        bucket_region:
          description: Bucket region
          type: string
          example: us-east-1
          x-immutable: true
          readOnly: true
        provider_integration_id:
          type: string
          description: The provider integration id
          example: cspi-stgce89r7
          x-immutable: true
        table_path:
          type: string
          description: The current storage path where the data and metadata is stored
            for this table
          example: s3://dummy-bucket-name-1/10011010/11101100/org-1/env-2/lkc-3/v1/tableId
          readOnly: true
    tableflow.v1.ManagedStorageSpec:
      type: object
      description: The storage config for confluent managed Tableflow enabled topic.
      required:
        - kind
      properties:
        kind:
          type: string
          enum: [Managed]
          description: |
            The storage type.
          x-immutable: true
        table_path:
          type: string
          description: The current storage path where the data and metadata is stored
            for this table
          example: s3://dummy-bucket-name-1/10011010/11101100/org-1/env-2/lkc-3/v1/tableId
          readOnly: true
    tableflow.v1.AzureAdlsSpec:
      type: object
      description: The Tableflow storage config for customer-owned Azure Data Lake
        Storage Gen2
      required:
        - kind
        - storage_account_name
        - container_name
        - provider_integration_id
      properties:
        kind:
          type: string
          enum: [AzureDataLakeStorageGen2]
          description: |
            The storage type.
          x-immutable: true
        storage_account_name:
          description: Storage Account Name
          type: string
          example: confluentstorage1
          x-immutable: true
        container_name:
          description: Container name
          type: string
          example: container-tableflow
          x-immutable: true
        storage_region:
          description: Storage account region
          type: string
          example: centralus
          readOnly: true
        provider_integration_id:
          type: string
          description: The provider integration id
          example: cspi-6nxn5
          x-immutable: true
        table_path:
          type: string
          description: The current storage path where the data and metadata is stored
            for this table
          example: abfss://container@account.dfs.core.windows.net/10011010/11101100/org/env/lkc/v1/tableId
          readOnly: true
    tableflow.v1.CatalogIntegrationAwsGlueSpec:
      type: object
      description: The catalog integration Glue connection config.
      required:
        - kind
        - provider_integration_id
      properties:
        kind:
          type: string
          enum: [AwsGlue]
          description: The type of the catalog integration.
          x-immutable: true
        provider_integration_id:
          type: string
          description: The provider integration id.
          example: cspi-stgce89r7
          x-immutable: true
    tableflow.v1.CatalogIntegrationSnowflakeSpec:
      type: object
      description: The catalog integration connection config for Snowflake Open Catalog.
      required:
        - kind
        - endpoint
        - client_id
        - client_secret
        - warehouse
        - allowed_scope
      properties:
        kind:
          type: string
          enum: [Snowflake]
          description: The type of the catalog integration.
        endpoint:
          description: |
            The catalog integration connection endpoint for Snowflake Open Catalog.
          type: string
          example: https://vuser1_polaris.snowflakecomputing.com/
        client_id:
          description: The client ID of the catalog integration.
          type: string
        client_secret:
          description: The client secret of the catalog integration.
          type: string
        warehouse:
          description: Warehouse name of the Snowflake Open Catalog.
          type: string
        allowed_scope:
          description: Allowed scope of the Snowflake Open Catalog.
          type: string
    tableflow.v1.CatalogIntegrationUnitySpec:
      type: object
      description: The catalog integration connection config for Unity Catalog.
      required:
        - kind
        - workspace_endpoint
        - catalog_name
        - client_id
        - client_secret
      properties:
        kind:
          type: string
          enum: [Unity]
          description: The type of the catalog integration.
        workspace_endpoint:
          type: string
          description: The Databricks workspace URL associated with the Unity Catalog.
          example: https://user1.cloud.databricks.com
        catalog_name:
          type: string
          description: The name of the catalog within Unity Catalog.
        client_id:
          type: string
          description: The OAuth client ID used to authenticate with the Unity Catalog.
        client_secret:
          type: string
          description: The OAuth client secret used for authentication with the Unity
            Catalog.
    tableflow.v1.CatalogIntegrationSnowflakeUpdateSpec:
      type: object
      description: The catalog integration connection config for Snowflake Open Catalog
        (update operations).
      required:
        - kind
      properties:
        kind:
          type: string
          enum: [Snowflake]
          description: The type of the catalog integration.
        endpoint:
          description: The catalog integration connection endpoint for Snowflake Open
            Catalog.
          type: string
          example: https://vuser1_polaris.snowflakecomputing.com/
        client_id:
          description: The client ID of the catalog integration.
          type: string
        client_secret:
          description: The client secret of the catalog integration.
          type: string
        warehouse:
          description: Warehouse name of the Snowflake Open Catalog.
          type: string
        allowed_scope:
          description: Allowed scope of the Snowflake Open Catalog.
          type: string
    tableflow.v1.CatalogIntegrationAwsGlueUpdateSpec:
      type: object
      description: The catalog integration Glue connection config for update operations.
      required:
        - kind
      properties:
        kind:
          type: string
          enum: [AwsGlue]
          description: The type of the catalog integration.
          x-immutable: true
    tableflow.v1.CatalogIntegrationUnityUpdateSpec:
      type: object
      description: The catalog integration connection config for Unity Catalog.
      required:
        - kind
      properties:
        kind:
          type: string
          enum: [Unity]
          description: The type of the catalog integration.
        workspace_endpoint:
          type: string
          description: The Databricks workspace URL associated with the Unity Catalog.
          example: https://user1.cloud.databricks.com
        catalog_name:
          type: string
          description: The name of the catalog within Unity Catalog.
        client_id:
          type: string
          description: The OAuth client ID used to authenticate with the Unity Catalog.
        client_secret:
          type: string
          description: The OAuth client secret used for authentication with the Unity
            Catalog.
    tableflow.v1.CatalogIntegrationUpdateRequest:
      type: object
      description: The desired state of the Catalog Integration
      properties:
        api_version:
          type: string
          enum:
            - tableflow/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:
            - CatalogIntegrationUpdateRequest
        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/tableflow/v1/catalog-integration-update-requests/ciur-12345
                resource_name:
                  example: crn://confluent.cloud/organization=9bb441c4-edef-46ac-8a41-c49e44a3fd9a/catalog-integration-update-request=ciur-12345
        spec:
          allOf:
            - $ref: '#/components/schemas/tableflow.v1.CatalogIntegrationUpdateSpec'
    tableflow.v1.CatalogIntegrationUpdateSpec:
      type: object
      description: The desired state of the Catalog Integration
      required:
        - environment
        - kafka_cluster
      properties:
        display_name:
          type: string
          description: The name of the catalog integration
          example: catalog_integration_1
        suspended:
          type: boolean
          description: Indicates whether the Catalog Integration should be suspended.
          example: false
        config:
          type: object
          description: The integration config
          oneOf:
            - $ref: '#/components/schemas/tableflow.v1.CatalogIntegrationAwsGlueUpdateSpec'
            - $ref: '#/components/schemas/tableflow.v1.CatalogIntegrationSnowflakeUpdateSpec'
            - $ref: '#/components/schemas/tableflow.v1.CatalogIntegrationUnityUpdateSpec'
          discriminator:
            propertyName: kind
            mapping:
              AwsGlue: '#/components/schemas/tableflow.v1.CatalogIntegrationAwsGlueUpdateSpec'
              Snowflake: '#/components/schemas/tableflow.v1.CatalogIntegrationSnowflakeUpdateSpec'
              Unity: '#/components/schemas/tableflow.v1.CatalogIntegrationUnityUpdateSpec'
        environment:
          description: The environment to which the target Kafka cluster belongs.
          example:
            id: env-00000
          allOf:
            - $ref: '#/components/schemas/GlobalObjectReference'
        kafka_cluster:
          description: The kafka cluster of the topic for which Tableflow is enabled
          example:
            id: lkc-00000
          allOf:
            - $ref: '#/components/schemas/EnvScopedObjectReference'
    tableflow.v1.ErrorHandlingSuspend:
      type: object
      description: |
        Configuration for the `SUSPEND` error handling mode.
      properties:
        mode:
          type: string
          enum: [SUSPEND]
          description: |
            The error handling mode for the Tableflow enabled topic.

            In this mode, the materialization of the topic is suspended in case of record failures.
      required:
        - mode
    tableflow.v1.ErrorHandlingSkip:
      type: object
      description: |
        Configuration for the `SKIP` error handling mode.
      properties:
        mode:
          type: string
          enum: [SKIP]
          description: |
            The error handling mode for the Tableflow enabled topic.

            In this mode, the bad records are skipped and the materialization continues with the next record.
      required:
        - mode
    tableflow.v1.ErrorHandlingLog:
      type: object
      description: |
        Configuration for the `LOG` error handling mode.
      properties:
        mode:
          type: string
          enum: [LOG]
          description: |
            The error handling mode for the Tableflow enabled topic.

            In this mode, the bad records are logged to a dead-letter queue (DLQ) topic and the

            materialization continues with the next record.
        target:
          type: string
          description: |
            The topic to which the bad records will be logged in case of `LOG` error handling mode.

            Creates the topic if it doesn't already exist; otherwise, the operation is idempotent and no action is taken.

            Default topic is `error_log`.
          default: error_log
      required:
        - mode

    tableflow.v1.CatalogSyncStatus:
      type: object
      description: The synchronization status of an external catalog for a Tableflow
        topic
      properties:
        catalog_integration_id:
          type: string
          description: The ID of the catalog integration
          example: tci-12345
        catalog_type:
          type: string
          description: The type of the external catalog
          x-extensible-enum: [AWS_GLUE, SNOWFLAKE, UNITY]
          example: AWS_GLUE
        sync_status:
          type: string
          description: |
            The current synchronization status:

              PENDING: sync is pending;

              SYNCED: successfully synced;

              FAILED: sync failed;

              DISCONNECTED: catalog integration is disconnected.
          x-extensible-enum: [PENDING, SYNCED, FAILED, DISCONNECTED]
          example: SYNCED
        error_message:
          type: string
          nullable: true
          description: |
            Error message if the sync failed. This field is only present when `sync_status` is `FAILED`.
          example: 'Failed to connect to catalog: authentication error'

    tableflow.v1.RegionList:
      type: object
      description: |-
        `Region` objects represent cloud provider regions where Tableflow can be enabled.
        This API allows you to list all supported Tableflow regions.


        ## The Regions Model
        <SchemaDefinition schemaRef="#/components/schemas/tableflow.v1.Region" />
      required:
        - api_version
        - kind
        - metadata
        - data
      properties:
        api_version:
          type: string
          enum:
            - tableflow/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:
            - RegionList
        metadata:
          allOf:
            - $ref: '#/components/schemas/ListMeta'
            - properties:
                first:
                  example: https://api.confluent.cloud/tableflow/v1/regions
                last:
                  example: https://api.confluent.cloud/tableflow/v1/regions?page_token=bcAOehAY8F16YD84Z1wT
                prev:
                  example: https://api.confluent.cloud/tableflow/v1/regions?page_token=YIXRY97wWYmwzrax4dld
                next:
                  example: https://api.confluent.cloud/tableflow/v1/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/tableflow.v1.Region'
              - type: object
                required:
                  - id
                  - metadata
                  - cloud
                  - region
          uniqueItems: true
    tableflow.v1.TableflowTopicList:
      type: object
      description: |-
        A Tableflow Topic represents configuration related to a Tableflow enabled kafka topic


        ## The Tableflow Topics Model
        <SchemaDefinition schemaRef="#/components/schemas/tableflow.v1.TableflowTopic" />
      required:
        - api_version
        - kind
        - metadata
        - data
      properties:
        api_version:
          type: string
          enum:
            - tableflow/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:
            - TableflowTopicList
        metadata:
          allOf:
            - $ref: '#/components/schemas/ListMeta'
            - properties:
                first:
                  example: https://api.confluent.cloud/tableflow/v1/tableflow-topics
                last:
                  example: https://api.confluent.cloud/tableflow/v1/tableflow-topics?page_token=bcAOehAY8F16YD84Z1wT
                prev:
                  example: https://api.confluent.cloud/tableflow/v1/tableflow-topics?page_token=YIXRY97wWYmwzrax4dld
                next:
                  example: https://api.confluent.cloud/tableflow/v1/tableflow-topics?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/tableflow.v1.TableflowTopic'
              - type: object
                required:
                  - metadata
                  - spec
                  - status
                properties:
                  spec:
                    type: object
                    required:
                      - display_name
                      - storage
                      - environment
                      - kafka_cluster
          uniqueItems: true
    tableflow.v1.TableflowTopicSpec:
      type: object
      description: The desired state of the Tableflow Topic
      properties:
        display_name:
          type: string
          description: The name of the Kafka topic for which Tableflow is enabled.
          example: topic_1
          x-immutable: true
        suspended:
          type: boolean
          description: Indicates whether the Tableflow should be suspended. The API
            allows setting it only to `false` i.e., to resume the Tableflow. Pausing
            the Tableflow on-demand is not currently supported.
          example: false
        config:
          type: object
          description: The config for the Tableflow enabled topic
          allOf:
            - $ref: '#/components/schemas/tableflow.v1.TableFlowTopicConfigsSpec'
        storage:
          type: object
          description: The storage config
          oneOf:
            - $ref: '#/components/schemas/tableflow.v1.ByobAwsSpec'
            - $ref: '#/components/schemas/tableflow.v1.ManagedStorageSpec'
            - $ref: '#/components/schemas/tableflow.v1.AzureAdlsSpec'
          discriminator:
            propertyName: kind
            mapping:
              ByobAws: '#/components/schemas/tableflow.v1.ByobAwsSpec'
              Managed: '#/components/schemas/tableflow.v1.ManagedStorageSpec'
              AzureDataLakeStorageGen2: '#/components/schemas/tableflow.v1.AzureAdlsSpec'
          x-immutable: true
        table_formats:
          type: array
          description: |
            The supported table formats for the Tableflow-enabled topic.
          items:
            type: string
            x-extensible-enum: [DELTA, ICEBERG]
          minItems: 1
          uniqueItems: true
          example: [DELTA]
          default: [ICEBERG]
        environment:
          allOf:
            - $ref: '#/components/schemas/GlobalObjectReference'
          description: The environment to which the target Kafka cluster belongs.
        kafka_cluster:
          allOf:
            - $ref: '#/components/schemas/EnvScopedObjectReference'
          description: The kafka cluster of the topic for which Tableflow is enabled
      x-enable-id: false
      x-enable-listmeta: true
      x-enable-objectmeta: true
    tableflow.v1.CatalogIntegrationList:
      type: object
      description: |-
        A Catalog Integration represents configuration related to a catalog integration


        ## The Catalog Integrations Model
        <SchemaDefinition schemaRef="#/components/schemas/tableflow.v1.CatalogIntegration" />
      required:
        - api_version
        - kind
        - metadata
        - data
      properties:
        api_version:
          type: string
          enum:
            - tableflow/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:
            - CatalogIntegrationList
        metadata:
          allOf:
            - $ref: '#/components/schemas/ListMeta'
            - properties:
                first:
                  example: https://api.confluent.cloud/tableflow/v1/catalog-integrations
                last:
                  example: https://api.confluent.cloud/tableflow/v1/catalog-integrations?page_token=bcAOehAY8F16YD84Z1wT
                prev:
                  example: https://api.confluent.cloud/tableflow/v1/catalog-integrations?page_token=YIXRY97wWYmwzrax4dld
                next:
                  example: https://api.confluent.cloud/tableflow/v1/catalog-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/tableflow.v1.CatalogIntegration'
              - type: object
                required:
                  - id
                  - metadata
                  - spec
                properties:
                  spec:
                    type: object
                    required:
                      - display_name
                      - config
                      - environment
                      - kafka_cluster
          uniqueItems: true
    tableflow.v1.CatalogIntegrationSpec:
      type: object
      description: The desired state of the Catalog Integration
      properties:
        display_name:
          type: string
          description: The name of the catalog integration
          example: catalog_integration_1
        suspended:
          type: boolean
          description: Indicates whether the Catalog Integration should be suspended.
            The API allows setting it only to `false` i.e., to resume the Catalog
            Integration. Pausing the Catalog Integration on-demand is not currently
            supported.
          example: false
        config:
          type: object
          description: The integration config
          oneOf:
            - $ref: '#/components/schemas/tableflow.v1.CatalogIntegrationAwsGlueSpec'
            - $ref: '#/components/schemas/tableflow.v1.CatalogIntegrationSnowflakeSpec'
            - $ref: '#/components/schemas/tableflow.v1.CatalogIntegrationUnitySpec'
          discriminator:
            propertyName: kind
            mapping:
              AwsGlue: '#/components/schemas/tableflow.v1.CatalogIntegrationAwsGlueSpec'
              Snowflake: '#/components/schemas/tableflow.v1.CatalogIntegrationSnowflakeSpec'
              Unity: '#/components/schemas/tableflow.v1.CatalogIntegrationUnitySpec'
        environment:
          allOf:
            - $ref: '#/components/schemas/GlobalObjectReference'
          description: The environment to which the target Kafka cluster belongs.
        kafka_cluster:
          allOf:
            - $ref: '#/components/schemas/EnvScopedObjectReference'
          description: The kafka cluster of the topic for which Tableflow is enabled
      x-enable-id: true
      x-enable-listmeta: true
      x-enable-objectmeta: true
    ccpm.v1.CustomConnectPlugin:
      type: object
      description: |-
        CustomConnectPlugins objects represent Custom Connect artifacts containing connector, and SMT jars on Confluent
         Cloud.
        The API allows you to list, create, read, update, and delete your Custom Connect Plugins.
        Related guide:
        [Custom Connect Plugin API](https://docs.confluent.io/cloud/current/connectors/connect-api-section.html).


        ## The Custom Connect Plugins Model
        <SchemaDefinition schemaRef="#/components/schemas/ccpm.v1.CustomConnectPlugin" />
      properties:
        api_version:
          type: string
          enum:
            - ccpm/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:
            - CustomConnectPlugin
        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/ccpm/v1/plugins/ccp-12345?environment=env-abc123
                resource_name:
                  example: crn://confluent.cloud/organization=9bb441c4-edef-46ac-8a41-c49e44a3fd9a/environment=env-abc123/custom-connect-plugin=ccp-12345
        spec:
          $ref: '#/components/schemas/ccpm.v1.CustomConnectPluginSpec'
    ccpm.v1.PresignedUrl:
      type: object
      description: |-
        Request a presigned upload URL for new Custom Connect 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 Connect Plugin API](https://docs.confluent.io/cloud/current/connectors/connect-api-section.html).


        ## The Presigned Urls Model
        <SchemaDefinition schemaRef="#/components/schemas/ccpm.v1.PresignedUrl" />
      properties:
        api_version:
          type: string
          enum:
            - ccpm/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 Connect Plugin archive.
          example: ZIP
          x-extensible-enum: [ZIP, JAR]
        cloud:
          type: string
          description: Cloud provider where the Custom Connect Plugin archive is uploaded.
          example: AWS
          x-extensible-enum: [AWS, GCP, AZURE]
        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 Connect 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 Connect Plugin. All values should
            be strings.
          example:
            bucket: confluent-custom-connectors-stag-us-west-2
          # yamllint disable-line rule:line-length
            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
      # You can add other constraints or properties specific to this example if needed
          readOnly: true
        environment:
          allOf:
            - $ref: '#/components/schemas/EnvScopedObjectReference'
          description: The environment to which this belongs.
    ccpm.v1.CustomConnectPluginVersion:
      type: object
      description: |-
        CustomConnectPluginVersion objects represent Custom Connect Plugin Versions on Confluent Cloud.
        The API allows you to list, create, read, update, and delete your Custom Connect Plugin Versions.


        ## The Custom Connect Plugin Versions Model
        <SchemaDefinition schemaRef="#/components/schemas/ccpm.v1.CustomConnectPluginVersion" />
      properties:
        api_version:
          type: string
          enum:
            - ccpm/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:
            - CustomConnectPluginVersion
        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/ccpm/v1/plugins/ccp-12345/versions/ver-12345?environment=env-abc123
                resource_name:
                  example: crn://confluent.cloud/organization=9bb441c4-edef-46ac-8a41-c49e44a3fd9a/environment=env-abc123/custom-connect-plugin=ccp-12345/version=ver-12345
        spec:
          $ref: '#/components/schemas/ccpm.v1.CustomConnectPluginVersionSpec'
        status:
          $ref: '#/components/schemas/ccpm.v1.CustomConnectPluginVersionStatus'
    ccpm.v1.CustomConnectPluginVersionStatus:
      type: object
      required:
        - phase
      description: The status of the Custom Connect Plugin Version
      properties:
        phase:
          type: string
          maxLength: 50
          x-extensible-enum: [PROCESSING, READY, FAILED]
          description: Phase of the Custom Connect Plugin Version.
          x-immutable: true
          example: PROCESSING
        error_message:
          type: string
          maxLength: 256
          description: Displayable error message if version is in a failed state
          x-immutable: true
          example: Version creation failed due to invalid plugin archive.
      readOnly: true
    ccpm.v1.ConnectorClass:
      type: object
      description: |
        Java class of the Connector.
      properties:
        class_name:
          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]*)$
        # yamllint disable-line rule:line-length
          description: Java class or alias for connector. You can get connector class
            from connector documentation provided by developer.
          x-immutable: true
          example: io.confluent.kafka.connect.datagen.DatagenConnector
        type:
          type: string
          description: |
            Type of the connector class. Should be either `SOURCE` or `SINK`.
          example: SOURCE
          x-extensible-enum: [SOURCE, SINK]
      required:
        - class_name
        - type

    ccpm.v1.UploadSource.PresignedUrl:
      type: object
      description: Presigned URL of the uploaded Custom Connect Plugin archive.
      properties:
        location:
          type: string
          description: |
            Location of the Custom Connect Plugin source.
          x-extensible-enum: [PRESIGNED_URL_LOCATION]
          example: PRESIGNED_URL_LOCATION
        upload_id:
          type: string
          example: e53bb2e8-8de3-49fa-9fb1-4e3fd9a16b66
        # yamllint disable-line rule:line-length
          description: Upload ID returned by the `/presigned-upload-url` API. This
            field returns an empty string in all responses.
      required:
        - location
        - upload_id
    ccpm.v1.CustomConnectPluginList:
      type: object
      description: |-
        CustomConnectPlugins objects represent Custom Connect artifacts containing connector, and SMT jars on Confluent
         Cloud.
        The API allows you to list, create, read, update, and delete your Custom Connect Plugins.
        Related guide:
        [Custom Connect Plugin API](https://docs.confluent.io/cloud/current/connectors/connect-api-section.html).


        ## The Custom Connect Plugins Model
        <SchemaDefinition schemaRef="#/components/schemas/ccpm.v1.CustomConnectPlugin" />
      required:
        - api_version
        - kind
        - metadata
        - data
      properties:
        api_version:
          type: string
          enum:
            - ccpm/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:
            - CustomConnectPluginList
        metadata:
          allOf:
            - $ref: '#/components/schemas/ListMeta'
            - properties:
                first:
                  example: https://api.confluent.cloud/ccpm/v1/plugins
                last:
                  example: https://api.confluent.cloud/ccpm/v1/plugins?page_token=bcAOehAY8F16YD84Z1wT
                prev:
                  example: https://api.confluent.cloud/ccpm/v1/plugins?page_token=YIXRY97wWYmwzrax4dld
                next:
                  example: https://api.confluent.cloud/ccpm/v1/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/ccpm.v1.CustomConnectPlugin'
              - type: object
                required:
                  - id
                  - metadata
                  - spec
                properties:
                  spec:
                    type: object
                    required:
                      - cloud
                      - display_name
                      - environment
          uniqueItems: true
    ccpm.v1.CustomConnectPluginSpec:
      type: object
      description: The desired state of the Custom Connect Plugin
      properties:
        cloud:
          type: string
          description: Cloud provider where the Custom Connect Plugin archive is uploaded.
          example: AWS
          x-extensible-enum: [AWS, GCP, AZURE]
          x-immutable: true
        display_name:
          type: string
          description: Display name of Custom Connect Plugin.
          maxLength: 60
        description:
          type: string
          description: Description of Custom Connect Plugin.
          maxLength: 256
        runtime_language:
          type: string
          example: JAVA
          description: Runtime language of Custom Connect Plugin.
          readOnly: true
        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
    ccpm.v1.CustomConnectPluginVersionList:
      type: object
      description: |-
        CustomConnectPluginVersion objects represent Custom Connect Plugin Versions on Confluent Cloud.
        The API allows you to list, create, read, update, and delete your Custom Connect Plugin Versions.


        ## The Custom Connect Plugin Versions Model
        <SchemaDefinition schemaRef="#/components/schemas/ccpm.v1.CustomConnectPluginVersion" />
      required:
        - api_version
        - kind
        - metadata
        - data
      properties:
        api_version:
          type: string
          enum:
            - ccpm/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:
            - CustomConnectPluginVersionList
        metadata:
          allOf:
            - $ref: '#/components/schemas/ListMeta'
            - properties:
                first:
                  example: https://api.confluent.cloud/ccpm/v1/plugins/ccp-12345/versions
                last:
                  example: https://api.confluent.cloud/ccpm/v1/plugins/ccp-12345/versions?page_token=bcAOehAY8F16YD84Z1wT
                prev:
                  example: https://api.confluent.cloud/ccpm/v1/plugins/ccp-12345/versions?page_token=YIXRY97wWYmwzrax4dld
                next:
                  example: https://api.confluent.cloud/ccpm/v1/plugins/ccp-12345/versions?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/ccpm.v1.CustomConnectPluginVersion'
              - type: object
                required:
                  - id
                  - metadata
                  - spec
                  - status
                properties:
                  spec:
                    type: object
                    required:
                      - version
                      - connector_classes
                      - upload_source
                      - environment
          uniqueItems: true
    ccpm.v1.CustomConnectPluginVersionSpec:
      type: object
      description: The desired state of the Custom Connect Plugin Version
      properties:
        version:
          type: string
          description: |
            Version of the Custom Connect Plugin.
            The version must comply with SemVer (e.g., `1.2.3`, `1.2.3-beta`, `1.2.3-rc.123`, `1.2.3-rc.123+build.456`).
          maxLength: 60
          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]
          x-immutable: true
        documentation_link:
          type: string
          maxLength: 512
          pattern: ^$|^(http://|https://).+
          example: https://github.com/confluentinc/kafka-connect-datagen
          description: Document link of Custom Connect Plugin.
          x-immutable: true
        content_format:
          type: string
          example: ZIP
          description: Archive format of Custom Connect Plugin.
          x-extensible-enum: [ZIP, JAR]
          readOnly: true
        connector_classes:
          type: array
          description: |
            List of connector classes.
            The connector class must be a valid Java class name or alias for the connector.
            You can get the connector class from the connector documentation provided by the developer.
          items:
            $ref: '#/components/schemas/ccpm.v1.ConnectorClass'
          minItems: 1
          maxItems: 10
          x-immutable: true
        upload_source:
          type: object
          oneOf:
            - $ref: '#/components/schemas/ccpm.v1.UploadSource.PresignedUrl'
          description: |
            Upload source of Custom Connect Plugin Version. Only required in `create` request,
            will be ignored in `read`, `update` or `list`.
          discriminator:
            propertyName: location
            mapping:
              PRESIGNED_URL_LOCATION: '#/components/schemas/ccpm.v1.UploadSource.PresignedUrl'
          x-immutable: true
        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
    usm.v1.KafkaCluster:
      type: object
      description: |-
        `KafkaCluster` object represent Confluent Platform Kafka clusters registered with Confluent Cloud.
        The API allows you to create and delete KafkaCluster.


        ## The Kafka Clusters Model
        <SchemaDefinition schemaRef="#/components/schemas/usm.v1.KafkaCluster" />
      properties:
        api_version:
          type: string
          enum:
            - usm/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:
            - KafkaCluster
        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
          description: A human-readable name for the Confluent Platform Kafka cluster.
          example: My-Prod-CP-Cluster
        confluent_platform_kafka_cluster_id:
          type: string
          description: The unique identifier of the Kafka cluster within the Confluent
            Platform environment.
          example: 4k0R9d1GTS5tI9f4Y2xZ0Q
          x-immutable: true
        cloud:
          type: string
          description: The cloud service provider where the metadata for the Kafka
            Cluster should be stored.
          x-extensible-enum: [AWS, GCP, AZURE]
          example: AWS
          x-immutable: true
        region:
          type: string
          description: The home region of the Confluent Platform Kafka cluster where
            the metadata should be stored.
          example: us-east-1
          x-immutable: true
        environment:
          allOf:
            - $ref: '#/components/schemas/EnvScopedObjectReference'
          description: The environment to which this belongs.
          x-immutable: true
    usm.v1.ConnectCluster:
      type: object
      description: |-
        `ConnectCluster` object represent Confluent Platform Connect clusters registered with Confluent Cloud.
        The API allows you to create and delete ConnectCluster.


        ## The Connect Clusters Model
        <SchemaDefinition schemaRef="#/components/schemas/usm.v1.ConnectCluster" />
      properties:
        api_version:
          type: string
          enum:
            - usm/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:
            - ConnectCluster
        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
        confluent_platform_connect_cluster_id:
          type: string
          description: The unique identifier of the Connect cluster within the Confluent
            Platform environment.
          example: connect-group-xyz123
          x-immutable: true
        kafka_cluster_id:
          type: string
          description: |
            The unique identifier of the metadata Kafka cluster for the Connect Cluster.
          example: 4k0R9d1GTS5tI9f4Y2xZ0Q
          x-immutable: true
        cloud:
          type: string
          description: |
            The cloud service provider where the metadata for the Connect Cluster should be stored.
            This field is optional. If provided, 'region' must also be provided.
            If neither 'cloud' nor 'region' are provided, the cloud provider of the associated
            metadata Kafka cluster (identified by 'kafka_cluster_id') will be used as a fallback.
          x-extensible-enum: [AWS, GCP, AZURE]
          example: AWS
          x-immutable: true
        region:
          type: string
          description: |
            The home region of the Confluent Platform Connect cluster where the metadata should be stored.
            This field is optional. If provided, 'cloud' must also be provided.
            If neither 'cloud' nor 'region' are provided, the home region of the associated
            metadata Kafka cluster (identified by 'kafka_cluster_id') will be used as a fallback.
          example: us-east-1
          x-immutable: true
        environment:
          allOf:
            - $ref: '#/components/schemas/EnvScopedObjectReference'
          description: The environment to which this belongs.
          x-immutable: true
    usm.v1.KafkaClusterList:
      type: object
      description: |-
        `KafkaCluster` object represent Confluent Platform Kafka clusters registered with Confluent Cloud.
        The API allows you to create and delete KafkaCluster.


        ## The Kafka Clusters Model
        <SchemaDefinition schemaRef="#/components/schemas/usm.v1.KafkaCluster" />
      required:
        - api_version
        - kind
        - metadata
        - data
      properties:
        api_version:
          type: string
          enum:
            - usm/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:
            - KafkaClusterList
        metadata:
          allOf:
            - $ref: '#/components/schemas/ListMeta'
            - properties:
                first:
                  example: https://api.confluent.cloud/usm/v1/kafka-clusters
                last:
                  example: https://api.confluent.cloud/usm/v1/kafka-clusters?page_token=bcAOehAY8F16YD84Z1wT
                prev:
                  example: https://api.confluent.cloud/usm/v1/kafka-clusters?page_token=YIXRY97wWYmwzrax4dld
                next:
                  example: https://api.confluent.cloud/usm/v1/kafka-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/usm.v1.KafkaCluster'
              - type: object
                required:
                  - id
                  - display_name
                  - confluent_platform_kafka_cluster_id
                  - cloud
                  - region
                  - environment
          uniqueItems: true
    usm.v1.ConnectClusterList:
      type: object
      description: |-
        `ConnectCluster` object represent Confluent Platform Connect clusters registered with Confluent Cloud.
        The API allows you to create and delete ConnectCluster.


        ## The Connect Clusters Model
        <SchemaDefinition schemaRef="#/components/schemas/usm.v1.ConnectCluster" />
      required:
        - api_version
        - kind
        - metadata
        - data
      properties:
        api_version:
          type: string
          enum:
            - usm/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:
            - ConnectClusterList
        metadata:
          allOf:
            - $ref: '#/components/schemas/ListMeta'
            - properties:
                first:
                  example: https://api.confluent.cloud/usm/v1/connect-clusters
                last:
                  example: https://api.confluent.cloud/usm/v1/connect-clusters?page_token=bcAOehAY8F16YD84Z1wT
                prev:
                  example: https://api.confluent.cloud/usm/v1/connect-clusters?page_token=YIXRY97wWYmwzrax4dld
                next:
                  example: https://api.confluent.cloud/usm/v1/connect-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/usm.v1.ConnectCluster'
              - type: object
                required:
                  - id
                  - confluent_platform_connect_cluster_id
                  - kafka_cluster_id
                  - environment
          uniqueItems: true
    endpoint.v1.Endpoint:
      type: object
      description: |-
        An Endpoint object represents a Fully Qualified Domain Name (FQDN) for a Confluent service resource
        via a specific networking solution for a given Confluent Cloud environment.
        This API provides a list of Confluent Cloud endpoints filtered by service, cloud provider, region, etc.


        Related guides:
        * [Resource Overview in Confluent Cloud](https://docs.confluent.io/cloud/current/networking/resource-overview.html).
        * [Manage Networking on Confluent Cloud](https://docs.confluent.io/cloud/current/networking/overview.html).


        ## The Endpoints Model
        <SchemaDefinition schemaRef="#/components/schemas/endpoint.v1.Endpoint" />
      properties:
        api_version:
          type: string
          enum:
            - endpoint/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:
            - Endpoint
        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/endpoint/v1/endpoints/e-12345
                resource_name:
                  example: crn://confluent.cloud/organization=9bb441c4-edef-46ac-8a41-c49e44a3fd9a/endpoint=e-12345
        cloud:
          type: string
          description: The cloud service provider.
          x-extensible-enum: [AWS, GCP, AZURE]
          example: AWS
          readOnly: true
        region:
          type: string
          description: The cloud service provider region in which the resource is
            located.
          example: us-west-2
          readOnly: true
        service:
          type: string
          description: The Confluent Cloud service.
          x-extensible-enum: [KAFKA, SCHEMA_REGISTRY, FLINK]
          example: KAFKA
          readOnly: true
        is_private:
          type: boolean
          description: Whether the endpoint is private (true) or public (false).
          example: true
          readOnly: true
        connection_type:
          type: string
          description: The network connection type.
          x-extensible-enum: [PUBLIC, PRIVATE_LINK, PEERING, TRANSIT_GATEWAY, PRIVATE_NETWORK_INTERFACE]
          example: PRIVATE_LINK
          readOnly: true
        endpoint:
          type: string
          description: The endpoint URL or address.
          example: https://lkc-abc123-ap12345.us-west-2.aws.accesspoint.glb.confluent.cloud:443
          readOnly: true
        endpoint_type:
          type: string
          description: |
            The endpoint type enum values:
            * `REST` - REST API endpoint for HTTP/HTTPS access, used by Kafka/Flink/Schema Registry services.
            * `BOOTSTRAP` - Kafka native protocol bootstrap servers for direct client connections, used by Kafka only.
            * `LANGUAGE_SERVICE` - Flink language service endpoint for SQL/Table API, used by Flink only.
          x-extensible-enum: [REST, BOOTSTRAP, LANGUAGE_SERVICE]
          readOnly: true
        environment:
          allOf:
            - $ref: '#/components/schemas/ObjectReference'
          description: The environment to which this belongs.
        resource:
          allOf:
            - $ref: '#/components/schemas/TypedEnvScopedObjectReference'
          description: |
            The resource associated with the endpoint.
            The resource can be one of Kafka Cluster ID (example: lkc-12345),
            or Schema Registry Cluster ID (example: lsrc-12345).
            May be null or omitted if not associated with a resource.
        gateway:
          allOf:
            - $ref: '#/components/schemas/ObjectReference'
          description: The gateway to which this belongs.
        access_point:
          allOf:
            - $ref: '#/components/schemas/ObjectReference'
          description: The access_point to which this belongs.
    endpoint.v1.EndpointList:
      type: object
      description: |-
        An Endpoint object represents a Fully Qualified Domain Name (FQDN) for a Confluent service resource
        via a specific networking solution for a given Confluent Cloud environment.
        This API provides a list of Confluent Cloud endpoints filtered by service, cloud provider, region, etc.


        Related guides:
        * [Resource Overview in Confluent Cloud](https://docs.confluent.io/cloud/current/networking/resource-overview.html).
        * [Manage Networking on Confluent Cloud](https://docs.confluent.io/cloud/current/networking/overview.html).


        ## The Endpoints Model
        <SchemaDefinition schemaRef="#/components/schemas/endpoint.v1.Endpoint" />
      required:
        - api_version
        - kind
        - metadata
        - data
      properties:
        api_version:
          type: string
          enum:
            - endpoint/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:
            - EndpointList
        metadata:
          allOf:
            - $ref: '#/components/schemas/ListMeta'
            - properties:
                first:
                  example: https://api.confluent.cloud/endpoint/v1/endpoints
                last:
                  example: https://api.confluent.cloud/endpoint/v1/endpoints?page_token=bcAOehAY8F16YD84Z1wT
                prev:
                  example: https://api.confluent.cloud/endpoint/v1/endpoints?page_token=YIXRY97wWYmwzrax4dld
                next:
                  example: https://api.confluent.cloud/endpoint/v1/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/endpoint.v1.Endpoint'
              - type: object
                required:
                  - id
                  - metadata
                  - cloud
                  - region
                  - service
                  - is_private
                  - connection_type
                  - endpoint
                  - endpoint_type
                  - environment
          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: {}
    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://<oauth-identity-provider>/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
  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
    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'
    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.
    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
    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.
    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
    connect.v1.UnauthenticatedError:
      description: Unauthorized
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/connect.v1.ConnectorError'
          example:
            error:
              code: 401
              message: Unauthorized
    connect.v1.ForbiddenError:
      description: Forbidden
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/connect.v1.ConnectorError'
          example:
            error:
              code: 403
              message: Forbidden
    connect.v1.AccountNotFoundError:
      description: Not Found
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/connect.v1.ConnectorError'
          example:
            error:
              code: 404
              message: account not found
    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.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:
    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

    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

    GetBrokerConfigResponse:
      description: The broker configuration parameter.
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/BrokerConfigData'
          example:
            kind: KafkaBrokerConfig
            metadata:
              self: https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1/brokers/1/configs/compression.type
              resource_name: crn:///kafka=cluster-1/broker=1/config=compression.type
            cluster_id: cluster-1
            broker_id: 1
            name: compression.type
            value: gzip
            is_default: false
            is_read_only: false
            is_sensitive: false
            source: DYNAMIC_BROKER_CONFIG
            synonyms:
              - name: compression.type
                value: gzip
                source: DYNAMIC_BROKER_CONFIG
              - name: compression.type
                value: producer
                source: DEFAULT_CONFIG

    GetBrokerResponse:
      description: The broker.
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/BrokerData'
          example:
            kind: KafkaBroker
            metadata:
              self: https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1/brokers/1
              resource_name: crn:///kafka=cluster-1/broker=1
            cluster_id: cluster-1
            broker_id: 1
            host: localhost
            port: 9291
            configs:
              related: https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1/brokers/1/configs
            partition_replicas:
              related: https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1/brokers/1/partition-replicas

    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

    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

    GetConsumerAssignmentResponse:
      description: The consumer group assignment.
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/ConsumerAssignmentData'
          example:
            kind: KafkaConsumerAssignment
            metadata:
              self: https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1/consumer-groups/consumer-group-1/consumers/consumer-1/assignments/topic-1/partitions/1
              resource_name: crn:///kafka=cluster-1/consumer-group=consumer-group-1/consumer=consumer-1/assignment=topic=1/partition=1
            cluster_id: cluster-1
            consumer_group_id: consumer-group-1
            consumer_id: consumer-1
            topic_name: topic-1
            partition_id: 1
            partition:
              related: https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1/topics/topic-1/partitions/1
            lag:
              related: https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1/consumer-groups/consumer-group-1/lags/topic-1/partitions/1

    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
            type: CLASSIC
            is_mixed_consumer_group: false
            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

    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

    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

    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

    GetReassignmentResponse:
      description: The ongoing replicas reassignments.
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/ReassignmentData'
          example:
            kind: KafkaReassignment
            metadata:
              self: https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1/topics/topic-1/partitions/1/reassignment
              resource_name: crn:///kafka=cluster-1/topic=topic-1/partition=1/reassignment
            cluster_id: cluster-1
            topic_name: topic-1
            partition_id: 1
            adding_replicas:
              - 1
              - 2
            removing_replicas:
              - 3
            replicas:
              related: https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1/topics/topic-1/partitions/1/replicas

    GetReplicaResponse:
      description: The replica.
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/ReplicaData'
          example:
            kind: KafkaReplica
            metadata:
              self: https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1/topics/topic-1/partitions/1/replicas/1
              resource_name: crn:///kafka=cluster-1/topic=topic-1/partition=1/replica=1
            cluster_id: cluster-1
            topic_name: topic-1
            partition_id: 1
            broker_id: 1
            is_leader: true
            is_in_sync: true
            broker:
              related: https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1/brokers/1

    GetShareGroupResponse:
      description: The share group.
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/ShareGroupData'
          example:
            kind: KafkaShareGroup
            metadata:
              self: https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1/share-groups/share-group-1
              resource_name: crn:///kafka=cluster-1/share-group=share-group-1
            cluster_id: cluster-1
            share_group_id: share-group-1
            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/share-groups/share-group-1/consumers
            consumer_count: 2
            partition_count: 3
            assigned_topic_partitions:
              - kind: KafkaShareGroupTopicPartition
                metadata:
                  self: https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1/share-groups/share-group-1/assigned-topic-partitions/topic-1/0
                  resource_name: crn:///kafka=cluster-1/share-group=share-group-1/topic-partition=topic-1:0
                topic_name: topic-1
                partition_id: 0
                partition:
                  related: https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1/topics/topic-1/partitions/0
              - kind: KafkaShareGroupTopicPartition
                metadata:
                  self: https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1/share-groups/share-group-1/assigned-topic-partitions/topic-1/1
                  resource_name: crn:///kafka=cluster-1/share-group=share-group-1/topic-partition=topic-1:1
                topic_name: topic-1
                partition_id: 1
                partition:
                  related: https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1/topics/topic-1/partitions/1

    GetShareGroupConsumerResponse:
      description: The consumer.
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/ShareGroupConsumerData'
          example:
            kind: KafkaShareGroupConsumer
            metadata:
              self: https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1/share-groups/share-group-1/consumers/consumer-1
              resource_name: crn:///kafka=cluster-1/share-group=share-group-1/consumer=consumer-1
            cluster_id: cluster-1
            group_id: share-group-1
            consumer_id: consumer-1
            client_id: client-1
            assignments:
              related: https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1/share-groups/share-group-1/consumers/consumer-1/assignments

    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

    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

    ListAllReassignmentsResponse:
      description: The ongoing replicas reassignments.
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/ReassignmentDataList'
          example:
            kind: KafkaReassignmentList
            metadata:
              self: https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1/topics/-/partitions/-/reassignment
              next:
            data:
              - kind: KafkaReassignment
                metadata:
                  self: https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1/topics/topic-1/partitions/1/reassignment
                  resource_name: crn:///kafka=cluster-1/topic=topic-1/partition=1/reassignment
                cluster_id: cluster-1
                topic_name: topic-1
                partition_id: 1
                adding_replicas:
                  - 1
                  - 2
                removing_replicas:
                  - 3
                replicas:
                  related: https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1/topics/topic-1/partitions/1/replicas
              - kind: KafkaReassignment
                metadata:
                  self: https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1/topics/topic-2/partitions/2/reassignment
                  resource_name: crn:///kafka=cluster-1/topic=topic-2/partition=2/reassignment
                cluster_id: cluster-1
                topic_name: topic-2
                partition_id: 2
                adding_replicas:
                  - 1
                removing_replicas:
                  - 2
                  - 3
                replicas:
                  related: https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1/topics/topic-2/partitions/2/replicas
              - kind: KafkaReassignment
                metadata:
                  self: https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1/topics/topic-3/partitions/3/reassignment
                  resource_name: crn:///kafka=cluster-1/topic=topic-3/partition=3/reassignment
                cluster_id: cluster-1
                topic_name: topic-3
                partition_id: 3
                adding_replicas:
                  - 3
                removing_replicas:
                  - 1
                  - 2
                replicas:
                  related: https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1/topics/topic-3/partitions/3/replicas

    ListBrokerConfigsResponse:
      description: The list of broker configs.
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/BrokerConfigDataList'
          example:
            kind: KafkaBrokerConfigList
            metadata:
              self: https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1/brokers/1/configs
              next:
            data:
              - kind: KafkaBrokerConfig
                metadata:
                  self: https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1/brokers/1/configs/max.connections
                  resource_name: crn:///kafka=cluster-1/broker=1/config=max.connections
                cluster_id: cluster-1
                broker_id: 1
                name: max.connections
                value: '1000'
                is_default: false
                is_read_only: false
                is_sensitive: false
                source: DYNAMIC_BROKER_CONFIG
                synonyms:
                  - name: max.connections
                    value: '1000'
                    source: DYNAMIC_BROKER_CONFIG
                  - name: max.connections
                    value: '2147483647'
                    source: DEFAULT_CONFIG
              - kind: KafkaBrokerConfig
                metadata:
                  self: https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1/brokers/1/configs/compression.type
                  resource_name: crn:///kafka=cluster-1/broker=1/config=compression.type
                cluster_id: cluster-1
                broker_id: 1
                name: compression.type
                value: gzip
                is_default: false
                is_read_only: false
                is_sensitive: false
                source: DYNAMIC_BROKER_CONFIG
                synonyms:
                  - name: compression.type
                    value: gzip
                    source: DYNAMIC_BROKER_CONFIG
                  - name: compression.type
                    value: producer
                    source: DEFAULT_CONFIG

    ListBrokersResponse:
      description: The list of brokers.
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/BrokerDataList'
          example:
            kind: KafkaBrokerList
            metadata:
              self: https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1/brokers
              next:
            data:
              - kind: KafkaBroker
                metadata:
                  self: https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1/brokers/1
                  resource_name: crn:///kafka=cluster-1/broker=1
                cluster_id: cluster-1
                broker_id: 1
                host: localhost
                port: 9291
                configs:
                  related: https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1/brokers/1/configs
                partition_replicas:
                  related: https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1/brokers/1/partition-replicas
              - kind: KafkaBroker
                metadata:
                  self: https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1/brokers/2
                  resource_name: crn:///kafka=cluster-1/broker=2
                cluster_id: cluster-1
                broker_id: 2
                host: localhost
                port: 9292
                configs:
                  related: https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1/brokers/2/configs
                partition_replicas:
                  related: https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1/brokers/2/partition-replicas
              - kind: KafkaBroker
                metadata:
                  self: https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1/brokers/3
                  resource_name: crn:///kafka=cluster-1/broker=3
                cluster_id: cluster-1
                broker_id: 3
                host: localhost
                port: 9293
                configs:
                  related: https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1/brokers/3/configs
                partition_replicas:
                  related: https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1/brokers/3/partition-replicas

    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:
            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

    ListClustersResponse:
      description: The list of Kafka clusters.
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/ClusterDataList'
          example:
            kind: KafkaClusterList
            metadata:
              self: https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters
              next:
            data:
              - 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

    ListConsumerAssignmentsResponse:
      description: The list of consumer group assignments.
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/ConsumerAssignmentDataList'
          example:
            kind: KafkaConsumerAssignmentList
            metadata:
              self: https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1/consumer-groups/consumer-group-1/consumers/consumer-1/assignments
              next:
            data:
              - kind: KafkaConsumerAssignment
                metadata:
                  self: https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1/consumer-groups/consumer-group-1/consumers/consumer-1/assignments/topic-1/partitions/1
                  resource_name: crn:///kafka=cluster-1/consumer-group=consumer-group-1/consumer=consumer-1/assignment=topic=1/partition=1
                cluster_id: cluster-1
                consumer_group_id: consumer-group-1
                consumer_id: consumer-1
                topic_name: topic-1
                partition_id: 1
                partition:
                  related: https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1/topics/topic-1/partitions/1
                lag:
                  related: https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1/consumer-groups/consumer-group-1/lags/topic-1/partitions/1
              - kind: KafkaConsumerAssignment
                metadata:
                  self: https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1/consumer-groups/consumer-group-1/consumers/consumer-1/assignments/topic-2/partitions/2
                  resource_name: crn:///kafka=cluster-1/consumer-group=consumer-group-1/consumer=consumer-1/assignment=topic=2/partition=2
                cluster_id: cluster-1
                consumer_group_id: consumer-group-1
                consumer_id: consumer-1
                topic_name: topic-2
                partition_id: 2
                partition:
                  related: https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1/topics/topic-2/partitions/2
                lag:
                  related: https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1/consumer-groups/consumer-group-1/lags/topic-2/partitions/2
              - kind: KafkaConsumerAssignment
                metadata:
                  self: https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1/consumer-groups/consumer-group-1/consumers/consumer-1/assignments/topic-3/partitions/3
                  resource_name: crn:///kafka=cluster-1/consumer-group=consumer-group-1/consumer=consumer-1/assignment=topic=3/partition=3
                cluster_id: cluster-1
                consumer_group_id: consumer-group-1
                consumer_id: consumer-1
                topic_name: topic-3
                partition_id: 3
                partition:
                  related: https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1/topics/topic-3/partitions/3
                lag:
                  related: https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1/consumer-groups/consumer-group-1/lags/topic-3/partitions/3

    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:
            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
                type: CLASSIC
                is_mixed_consumer_group: false
                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
                type: CLASSIC
                is_mixed_consumer_group: false
                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
                type: CLASSIC
                is_mixed_consumer_group: false
                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

    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:
            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

    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:
            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

    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:
            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

    ListReplicasResponse:
      description: The list of replicas.
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/ReplicaDataList'
          example:
            kind: KafkaReplicaList
            metadata:
              self: https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1/topics/topic-1/partitions/1/replicas
              next:
            data:
              - kind: KafkaReplica
                metadata:
                  self: https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1/topics/topic-1/partitions/1/replicas/1
                  resource_name: crn:///kafka=cluster-1/topic=topic-1/partition=1/replica=1
                cluster_id: cluster-1
                topic_name: topic-1
                partition_id: 1
                broker_id: 1
                is_leader: true
                is_in_sync: true
                broker:
                  related: https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1/brokers/1
              - kind: KafkaReplica
                metadata:
                  self: https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1/topics/topic-1/partitions/1/replicas/2
                  resource_name: crn:///kafka=cluster-1/topic=topic-1/partition=1/replica=2
                cluster_id: cluster-1
                topic_name: topic-1
                partition_id: 1
                broker_id: 2
                is_leader: false
                is_in_sync: true
                broker:
                  related: https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1/brokers/2
              - kind: KafkaReplica
                metadata:
                  self: https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1/topics/topic-1/partitions/1/replicas/3
                  resource_name: crn:///kafka=cluster-1/topic=topic-1/partition=1/replica=3
                cluster_id: cluster-1
                topic_name: topic-1
                partition_id: 1
                broker_id: 3
                is_leader: false
                is_in_sync: false
                broker:
                  related: https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1/brokers/3

    ListShareGroupConsumerAssignmentsResponse:
      description: The list of share group assignments.
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/ShareGroupConsumerAssignmentDataList'
          example:
            kind: KafkaConsumerAssignmentList
            metadata:
              self: https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1/share-groups/share-group-1/consumers/consumer-1/assignments
              next:
            data:
              - kind: KafkaShareGroupConsumerAssignment
                metadata:
                  self: https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1/share-groups/share-group-1/consumers/consumer-1/assignments/topic-1/partitions/1
                  resource_name: crn:///kafka=cluster-1/share-group=share-group-1/consumer=consumer-1/assignment=topic=1/partition=1
                cluster_id: cluster-1
                group_id: share-group-1
                consumer_id: consumer-1
                topic_name: topic-1
                partition_id: 1
                partition:
                  related: https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1/topics/topic-1/partitions/1
              - kind: KafkaShareGroupConsumerAssignment
                metadata:
                  self: https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1/share-groups/share-group-1/consumers/consumer-1/assignments/topic-2/partitions/2
                  resource_name: crn:///kafka=cluster-1/share-group=share-group-1/consumer=consumer-1/assignment=topic=2/partition=2
                cluster_id: cluster-1
                group_id: share-group-1
                consumer_id: consumer-1
                topic_name: topic-2
                partition_id: 2
                partition:
                  related: https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1/topics/topic-2/partitions/2
              - kind: KafkaShareGroupConsumerAssignment
                metadata:
                  self: https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1/share-groups/share-group-1/consumers/consumer-1/assignments/topic-3/partitions/3
                  resource_name: crn:///kafka=cluster-1/share-group=share-group-1/consumer=consumer-1/assignment=topic=3/partition=3
                cluster_id: cluster-1
                group_id: share-group-1
                consumer_id: consumer-1
                topic_name: topic-3
                partition_id: 3
                partition:
                  related: https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1/topics/topic-3/partitions/3

    ListShareGroupsResponse:
      description: The list of share groups.
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/ShareGroupDataList'
          example:
            kind: KafkaShareGroupList
            metadata:
              self: https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1/share-groups
              next:
            data:
              - kind: KafkaShareGroup
                metadata:
                  self: https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1/share-groups/share-group-1
                  resource_name: crn:///kafka=cluster-1/share-group=share-group-1
                cluster_id: cluster-1
                share_group_id: share-group-1
                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/share-groups/share-group-1/consumers
                consumer_count: 2
                partition_count: 3
                assigned_topic_partitions:
                  - kind: KafkaShareGroupTopicPartition
                    metadata:
                      self: https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1/share-groups/share-group-1/assigned-topic-partitions/topic-1/0
                      resource_name: crn:///kafka=cluster-1/share-group=share-group-1/topic-partition=topic-1:0
                    topic_name: topic-1
                    partition_id: 0
                    partition:
                      related: https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1/topics/topic-1/partitions/0
              - kind: KafkaShareGroup
                metadata:
                  self: https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1/share-groups/share-group-2
                  resource_name: crn:///kafka=cluster-1/share-group=share-group-2
                cluster_id: cluster-1
                share_group_id: share-group-2
                state: EMPTY
                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/share-groups/share-group-2/consumers
                consumer_count: 2
                partition_count: 3
                assigned_topic_partitions:
                  - kind: KafkaShareGroupTopicPartition
                    metadata:
                      self: https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1/share-groups/share-group-2/assigned-topic-partitions/topic-1/0
                      resource_name: crn:///kafka=cluster-1/share-group=share-group-2/topic-partition=topic-1:0
                    topic_name: topic-1
                    partition_id: 0
                    partition:
                      related: https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1/topics/topic-1/partitions/0

    ListShareGroupConsumersResponse:
      description: The list of consumers.
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/ShareGroupConsumerDataList'
          example:
            kind: KafkaShareConsumerList
            metadata:
              self: https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1/share-groups/share-group-1/consumers
              next:
            data:
              - kind: KafkaShareGroupConsumer
                metadata:
                  self: https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1/share-groups/share-group-1/consumers/consumer-1
                  resource_name: crn:///kafka=cluster-1/share-group=share-group-1/consumer=consumer-1
                cluster_id: cluster-1
                group_id: share-group-1
                consumer_id: consumer-1
                client_id: client-1
                assignments:
                  related: https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1/share-groups/share-group-1/consumers/consumer-1/assignments
              - kind: KafkaShareGroupConsumer
                metadata:
                  self: https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1/share-groups/share-group-1/consumers/consumer-2
                  resource_name: crn:///kafka=cluster-1/share-group=share-group-1/consumer=consumer-2
                cluster_id: cluster-1
                group_id: share-group-1
                consumer_id: consumer-2
                client_id: client-2
                assignments:
                  related: https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1/share-groups/share-group-1/consumers/consumer-2/assignments
              - kind: KafkaShareGroupConsumer
                metadata:
                  self: https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1/share-groups/share-group-1/consumers/consumer-3
                  resource_name: crn:///kafka=cluster-1/share-group=share-group-1/consumer=consumer-3
                cluster_id: cluster-1
                group_id: share-group-1
                consumer_id: consumer-3
                client_id: client-3
                assignments:
                  related: https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1/share-groups/share-group-1/consumers/consumer-3/assignments

    ListGroupConfigsResponse:
      description: Config name and value for group configurations.
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/GroupConfigDataList'
          example:
            kind: KafkaGroupConfigDataList
            metadata:
              self: https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1/groups/group-1/configs
              next:
            data:
              - kind: KafkaGroupConfigData
                metadata:
                  self: https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1/groups/group-1/configs/share.session.timeout.ms
                  resource_name: crn:///kafka=cluster-1/group=group-1/config=share.session.timeout.ms
                cluster_id: cluster-1
                group_id: group-1
                name: share.session.timeout.ms
                value: '45000'
                is_default: false
                is_read_only: false
                is_sensitive: false
                source: DYNAMIC_GROUP_CONFIG
                synonyms:
                  - name: share.session.timeout.ms
                    value: '45000'
                    source: DYNAMIC_GROUP_CONFIG
                  - name: share.session.timeout.ms
                    value: '30000'
                    source: DEFAULT_CONFIG
              - kind: KafkaGroupConfigData
                metadata:
                  self: https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1/groups/group-1/configs/share.heartbeat.interval.ms
                  resource_name: crn:///kafka=cluster-1/group=group-1/config=share.heartbeat.interval.ms
                cluster_id: cluster-1
                group_id: group-1
                name: share.heartbeat.interval.ms
                value:
                is_default: true
                is_read_only: false
                is_sensitive: false
                source: DEFAULT_CONFIG
                synonyms:
                  - name: share.heartbeat.interval.ms
                    value: '3000'
                    source: DEFAULT_CONFIG

    GetGroupConfigResponse:
      description: Config name and value for group configuration.
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/GroupConfigData'
          example:
            kind: KafkaGroupConfigData
            metadata:
              self: https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1/groups/group-1/configs/share.session.timeout.ms
              resource_name: crn:///kafka=cluster-1/group=group-1/config=share.session.timeout.ms
            cluster_id: cluster-1
            group_id: group-1
            name: share.session.timeout.ms
            value: '45000'
            is_default: false
            is_read_only: false
            is_sensitive: false
            source: DYNAMIC_GROUP_CONFIG
            synonyms:
              - name: share.session.timeout.ms
                value: '45000'
                source: DYNAMIC_GROUP_CONFIG
              - name: share.session.timeout.ms
                value: '30000'
                source: DEFAULT_CONFIG

    ListStreamsGroupsResponse:
      description: The list of streams groups.
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/StreamsGroupDataList'
          example:
            kind: KafkaStreamsGroupList
            metadata:
              self: https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1/streams-groups
              next:
            data:
              - kind: KafkaStreamsGroup
                metadata:
                  self: https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1/streams-groups/streams-group-1
                  resource_name: crn:///kafka=cluster-1/streams-group=streams-group-1
                cluster_id: cluster-1
                group_id: streams-group-1
                group_epoch: 1
                target_assignment_epoch: 1
                topology_epoch: 1
                state: STABLE
                member_count: 2
                subtopology_count: 1
                members:
                  related: https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1/streams-groups/streams-group-1/members
                subtopologies:
                  related: https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1/streams-groups/streams-group-1/subtopologies

    GetStreamsGroupResponse:
      description: The streams group.
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/StreamsGroupData'
          example:
            kind: KafkaStreamsGroup
            metadata:
              self: https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1/streams-groups/streams-group-1
              resource_name: crn:///kafka=cluster-1/streams-group=streams-group-1
            cluster_id: cluster-1
            group_id: streams-group-1
            group_epoch: 1
            target_assignment_epoch: 1
            topology_epoch: 1
            state: STABLE
            member_count: 2
            subtopology_count: 1
            members:
              related: https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1/streams-groups/streams-group-1/members
            subtopologies:
              related: https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1/streams-groups/streams-group-1/subtopologies

    ListStreamsGroupSubtopologiesResponse:
      description: The list of subtoplogies of the streams group
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/StreamsGroupSubtopologyDataList'
          example:
            kind: KafkaStreamsGroupSubtopologyList
            metadata:
              self: http://localhost:8082/v3/clusters/cluster-1/streams-groups/streams-group-1/subtopologies
            data:
              - kind: KafkaStreamsSubtopology
                metadata:
                  self: http://localhost:8082/v3/clusters/cluster-1/streams-groups/streams-group-1/subtopologies/subtopology-1
                  resource_name: crn:///kafka=cluster-1/streams-group=streams-group-1/subtopology=subtopology-1
                cluster_id: cluster-1
                group_id: streams-group-1
                subtopology_id: subtopology-1
                source_topics: [topic-1, topic-2]

    GetStreamsGroupSubtopologyResponse:
      description: The streams group subtopology.
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/StreamsGroupSubtopologyData'
          example:
            kind: KafkaStreamsGroupSubtopology
            metadata:
              self: https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1/streams-groups/streams-group-1/subtopologies/subtopology-1
              resource_name: crn:///kafka=cluster-1/streams-group=streams-group-1/subtopology=subtopology-1
            cluster_id: cluster-1
            group_id: streams-group-1
            subtopology_id: subtopology-1
            source_topics: [topic-1, topic-2]
    ListStreamsGroupMembersResponse:
      description: The list of members of the streams group
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/StreamsGroupMemberDataList'
          example:
            kind: KafkaStreamsGroupMemberList
            metadata:
              self: http://localhost:8082/v3/clusters/cluster-1/streams-groups/streams-group-1/members
            data:
              - kind: KafkaStreamsMember
                metadata:
                  self: http://localhost:8082/v3/clusters/cluster-1/streams-groups/streams-group-1/members/member-1
                  resource_name: crn:///kafka=cluster-1/streams-group=streams-group-1/member=member-1
                cluster_id: cluster-1
                group_id: streams-group-1
                member_id: member-1
                process_id: process-1
                client_id: client-1
                instance_id: instance-1
                member_epoch: 2
                topology_epoch: 1
                is_classic: false
                assignments:
                  related: https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1/streams-groups/streams-group-1/members/member-1/assignments
                target_assignment:
                  related: https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1/streams-groups/streams-group-1/members/member-1/target-assignment


    GetStreamsGroupMemberResponse:
      description: The streams group member.
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/StreamsGroupMemberData'
          example:
            kind: KafkaStreamsGroupMember
            metadata:
              self: https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1/streams-groups/streams-group-1/members/member-1
              resource_name: crn:///kafka=cluster-1/streams-group=streams-group-1/member=member-1
            cluster_id: cluster-1
            group_id: streams-group-1
            member_id: member-1
            process_id: process-1
            client_id: client-1
            instance_id: instance-1
            member_epoch: 2
            topology_epoch: 1
            is_classic: false
            assignments:
              related: https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1/streams-groups/streams-group-1/members/member-1/assignments
            target_assignment:
              related: https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1/streams-groups/streams-group-1/members/member-1/target-assignment

    GetStreamsGroupMemberAssignmentsResponse:
      description: The streams group member assignments.
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/StreamsGroupMemberAssignmentData'
          example:
            kind: KafkaStreamsGroupMemberAssignments
            metadata:
              self: https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1/streams-groups/streams-group-1/members/member-1/assignments
              resource_name: crn:///kafka=cluster-1/streams-group=streams-group-1/member=member-1/assignments
            cluster_id: cluster-1
            group_id: streams-group-1
            member_id: member-1
            active_tasks:
              related: https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1/streams-groups/streams-group-1/members/member-1/assignments/active
            standby_tasks:
              related: https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1/streams-groups/streams-group-1/members/member-1/assignment/standby
            warmup_tasks:
              related: https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1/streams-groups/streams-group-1/members/member-1/assignment/warmup

    ListStreamsTasksResponse:
      description: The streams group member assignments of specific type.
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/StreamsTaskDataList'
          example:
            kind: KafkaStreamsGroupMemberAssignments
            metadata:
              self: https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1/streams-groups/streams-group-1/members/member-1/assignments/active/subtopologies/subtopology-1
              resource_name: crn:///kafka=cluster-1/streams-group=streams-group-1/member=member-1/assignments=active/subtopology=subtopology-1
            data:
              - kind: GetStreamsTaskResponse
                metadata:
                  self: https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1/streams-groups/streams-group-1/members/member-1/assignments/active/subtopologies/subtopology-1
                  resource_name: crn:///kafka=cluster-1/streams-group=streams-group-1/member=member-1/assignments=active/subtopology=subtopology-1
                subtopology_id: subtopology-1
                partition_ids: [0, 1, 2]

    GetStreamsTaskResponse:
      description: The partitions of a streams member task.
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/StreamsTaskData'
          example:
            kind: KafkaStreamsGroupMemberAssignments
            metadata:
              self: https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1/streams-groups/streams-group-1/members/member-1/assignments/active/subtopologies/subtopology-1
              resource_name: crn:///kafka=cluster-1/streams-group=streams-group-1/member=member-1/assignments=active/subtopology=subtopology-1
            subtopology_id: subtopology-1
            partition_ids: [0, 1, 2]
    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:
            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
              # Currently the aggregator script doesn't merge correctly some
              # otherwise identical parts of duplicate components defined in
              # both kafka-rest and ce-kafka-rest's OpenAPI specs.
              # In some cases this can be handled by slightly tweaking the
              # input specs, but in other cases this requires manual
              # intervention in the consolidated specs after the generation.
              # We should eventually fix the aggregator script, but in the
              # meantime, we should be careful during reviews, making sure
              # that comments like this do not get replaced by wrongly
              # merged autogenerated content.
              # See https://github.com/confluentinc/ce-kafka-rest/pull/227.

    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:
            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

    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.'

    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

    SearchReassignmentsByTopicResponse:
      description: The ongoing replicas reassignments.
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/ReassignmentDataList'
          example:
            kind: KafkaReassignmentList
            metadata:
              self: https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1/topics/-/partitions/-/reassignment
              next:
            data:
              - kind: KafkaReassignment
                metadata:
                  self: https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1/topics/topic-1/partitions/1/reassignment
                  resource_name: crn:///kafka=cluster-1/topic=topic-1/partition=1/reassignment
                cluster_id: cluster-1
                topic_name: topic-1
                partition_id: 1
                adding_replicas:
                  - 1
                  - 2
                removing_replicas:
                  - 3
                replicas:
                  related: https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1/topics/topic-1/partitions/1/replicas
              - kind: KafkaReassignment
                metadata:
                  self: https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1/topics/topic-1/partitions/2/reassignment
                  resource_name: crn:///kafka=cluster-1/topic=topic-1/partition=2/reassignment
                cluster_id: cluster-1
                topic_name: topic-1
                partition_id: 2
                adding_replicas:
                  - 1
                removing_replicas:
                  - 2
                  - 3
                replicas:
                  related: https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1/topics/topic-1/partitions/2/replicas
              - kind: KafkaReassignment
                metadata:
                  self: https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1/topics/topic-1/partitions/3/reassignment
                  resource_name: crn:///kafka=cluster-1/topic=topic-1/partition=3/reassignment
                cluster_id: cluster-1
                topic_name: topic-1
                partition_id: 3
                adding_replicas:
                  - 3
                removing_replicas:
                  - 1
                  - 2
                replicas:
                  related: https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1/topics/topic-1/partitions/3/replicas

    SearchReplicasByBrokerResponse:
      description: The list of replicas.
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/ReplicaDataList'
          example:
            kind: KafkaReplicaList
            metadata:
              self: https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1/brokers/1/partition-replicas
              next:
            data:
              - kind: KafkaReplica
                metadata:
                  self: https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1/topics/topic-1/partitions/2/replicas/1
                  resource_name: crn:///kafka=cluster-1/topic=topic-1/partition=2/replica=1
                cluster_id: cluster-1
                topic_name: topic-1
                partition_id: 2
                broker_id: 1
                is_leader: true
                is_in_sync: true
                broker:
                  related: https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1/brokers/1
              - kind: KafkaReplica
                metadata:
                  self: https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1/topics/topic-2/partitions/3/replicas/1
                  resource_name: crn:///kafka=cluster-1/topic=topic-3/partition=3/replica=1
                cluster_id: cluster-1
                topic_name: topic-2
                partition_id: 3
                broker_id: 1
                is_leader: false
                is_in_sync: true
                broker:
                  related: https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1/brokers/1
              - kind: KafkaReplica
                metadata:
                  self: https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1/topics/topic-3/partitions/1/replicas/1
                  resource_name: crn:///kafka=cluster-1/topic=topic-3/partition=1/replica=1
                cluster_id: cluster-1
                topic_name: topic-3
                partition_id: 1
                broker_id: 1
                is_leader: false
                is_in_sync: false
                broker:
                  related: https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1/brokers/1

    # Error responses

    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.

    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"

    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.'

    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

    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"

    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.

    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.

    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

    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.

    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: <html> <head> <meta http-equiv="Content-Type" content="text/html;charset=utf-8"/>
              <title>Error 429 Too Many Requests</title> </head> <body> <h2>HTTP ERROR
              429 Too Many Requests</h2> <table> <tr> <th>URI:</th> <td>/v3/clusters/my-cluster</td>
              </tr> <tr> <th>STATUS:</th> <td>429</td> </tr> <tr> <th>MESSAGE:</th>
              <td>Too Many Requests</td> </tr> <tr> <th>SERVLET:</th> <td>default</td>
              </tr> </table> </body> </html>

    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

    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

    ListReplicaStatusResponse:
      description: The list of Replica Statuses.
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/ReplicaStatusDataList'
          example:
            kind: KafkaReplicaStatusList
            metadata:
              self: https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/1Rh_4htxSuen7RYGvGmgNw/topics/topic_1/partitions/0/replica-status
              resource_name:
            data:
              - kind: KafkaReplicaStatus
                metadata:
                  self: https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/1Rh_4htxSuen7RYGvGmgNw/topics/topic-1/partitions/0/brokers/1/replica-status
                cluster_id: cluster-1
                topic_name: topic-1
                broker_id: 1
                partition_id: 0
                is_leader: true
                is_observer: false
                is_isr_eligible: true
                is_in_isr: true
                is_caught_up: true
                log_start_offset: 0
                log_end_offset: 0
                last_caught_up_time_ms: 100
                last_fetch_time_ms: 200
                link_name: test-link
              - kind: KafkaReplicaStatus
                metadata:
                  self: https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/1Rh_4htxSuen7RYGvGmgNw/topics/topic-1/partitions/0/brokers/2/replica-status
                cluster_id: cluster-1
                topic_name: topic-1
                broker_id: 2
                partition_id: 0
                is_leader: false
                is_observer: false
                is_isr_eligible: true
                is_in_isr: true
                is_caught_up: true
                log_start_offset: 0
                log_end_offset: 0
                last_caught_up_time_ms: 100
                last_fetch_time_ms: 200
                link_name: test-link

    GetAnyUnevenLoadResponse:
      description: The AnyUnevenLoad status
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/AnyUnevenLoadData'
          example:
            kind: KafkaAnyUnevenLoad
            metadata:
              self: https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1/any-uneven-load
              resource_name: crn:///kafka=cluster-1/any-uneven-load
            cluster_id: cluster-1
            status: BALANCING
            previous_status: BALANCING_FAILED
            status_updated_at: '2019-10-12T07:20:50Z'
            previous_status_updated_at: '2019-10-12T07:20:35Z'
            error_code: 10013
            error_message: The Confluent Balancer operation was overridden by a higher
              priority operation.
            broker_tasks:
              related: https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1/brokers/-/tasks

    GetBalancerStatusResponse:
      description: The balancer status
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/BalancerStatusData'
          example:
            kind: KafkaBalancerStatus
            metadata:
              self: https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1/balancer
              resource_name: crn:///kafka=cluster-1/balancer
            cluster_id: cluster-1
            status: ERROR
            error_code: 10014
            error_message: The Confluent Balancer failed to start as JBOD is enabled
              for the cluster.
            any_uneven_load:
              related: https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1/even-cluster-load
            broker_tasks:
              related: https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1/brokers/-/tasks

    GetBrokerRemovalResponse:
      description: The single broker removal response
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/BrokerRemovalData'
          example:
            kind: KafkaBrokerRemoval
            metadata:
              self: https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1/brokers/1
              resource_name: crn:///kafka=cluster-1/broker=1/
            cluster_id: cluster-1
            broker_id: 1
            broker_task:
              related: https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1/brokers/1
            broker:
              related: https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1/brokers/1

    ListBrokerRemovalResponse:
      description: The multiple broker removal response
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/BrokerRemovalDataList'
          example:
            kind: KafkaBrokerRemovalList
            metadata:
              self: https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1/brokers:delete
              next:
            data:
              - kind: KafkaBrokerRemoval
                metadata:
                  self: https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1/brokers/1
                  resource_name: crn:///kafka=cluster-1/broker=1/
                cluster_id: cluster-1
                broker_id: 1
                broker_task:
                  related: https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1/brokers/1
                broker:
                  related: https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1/brokers/1
              - kind: KafkaBrokerRemoval
                metadata:
                  self: https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1/brokers/1
                  resource_name: crn:///kafka=cluster-1/broker=1/
                cluster_id: cluster-1
                broker_id: 1
                broker_task:
                  related: https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1/brokers/1
                broker:
                  related: https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1/brokers/1

    GetBrokerTaskResponse:
      description: The broker task
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/BrokerTaskData'
          example:
            kind: KafkaBrokerTask
            metadata:
              self: https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1/brokers/1/tasks/add-broker
              resource_name: crn:///kafka=cluster-1/broker=1/task=1
            cluster_id: cluster-1
            broker_id: 1
            task_type: add-broker
            task_status: FAILED
            sub_task_statuses:
              partition_reassignment_status: ERROR
            created_at: '2019-10-12T07:20:50Z'
            updated_at: '2019-10-12T07:20:55Z'
            error_code: 10013
            error_message: The Confluent Balancer operation was overridden by a higher
              priority operation
            broker:
              related: https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1/brokers/1

    ListBrokerTaskResponse:
      description: The list of tasks.
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/BrokerTaskDataList'
          example:
            kind: KafkaBrokerTaskList
            metadata:
              self: https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1/brokers/-/tasks
              next:
            data:
              - kind: KafkaBrokerTask
                metadata:
                  self: https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1/brokers/1/tasks/add-broker
                  resource_name: crn:///kafka=cluster-1/broker=1/task=add-broker
                cluster_id: cluster_id
                broker_id: 1
                task_type: add-broker
                task_status: SUCCESS
                sub_task_statuses:
                  partition_reassignment_status: COMPLETED
                created_at: '2019-10-12T10:20:40Z'
                updated_at: '2019-10-12T10:20:45Z'
                broker:
                  related: https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1/brokers/1
              - kind: KafkaBrokerTask
                metadata:
                  self: https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1/brokers/2/tasks/remove-broker
                  resource_name: crn:///kafka=cluster-1/broker=2/task=remove-broker
                cluster_id: cluster_id
                broker_id: 2
                task_type: remove-broker
                task_status: FAILED
                shutdown_scheduled: true
                sub_task_statuses:
                  broker_replica_exclusion_status: COMPLETED
                  partition_reassignment_status: ERROR
                  broker_shutdown_status: CANCELED
                created_at: '2019-10-12T07:20:50Z'
                updated_at: '2019-10-12T07:20:55Z'
                error_code: 10006
                error_message: Error while computing the initial remove broker plan
                  for brokers [2] prior to shutdown.
                broker:
                  related: https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1/brokers/2

    ListBrokerTaskByBrokerResponse:
      description: The list of tasks.
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/BrokerTaskDataList'
          example:
            kind: KafkaBrokerTaskList
            metadata:
              self: https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1/brokers/-/tasks
              next:
            data:
              - kind: KafkaBrokerTask
                metadata:
                  self: https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1/brokers/1/tasks/add-broker
                  resource_name: crn:///kafka=cluster-1/broker=1/task=add-broker
                cluster_id: cluster_id
                broker_id: 1
                task_type: add-broker
                task_status: IN_PROGRESS
                sub_task_statuses:
                  partition_reassignment_status: IN_PROGRESS
                created_at: '2019-10-12T07:20:50Z'
                updated_at: '2019-10-12T07:20:55Z'
                broker:
                  related: https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1/brokers/1
              - kind: KafkaBrokerTask
                metadata:
                  self: https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1/brokers/1/tasks/remove-broker
                  resource_name: crn:///kafka=cluster-1/broker=1/task=remove-broker
                cluster_id: cluster_id
                broker_id: 1
                task_type: remove-broker
                task_status: FAILED
                shutdown_scheduled: false
                sub_task_statuses:
                  broker_replica_exclusion_status: EXCLUDED
                  partition_reassignment_status: ERROR
                  broker_shutdown_status: CANCELED
                created_at: '2019-10-12T07:20:50Z'
                updated_at: '2019-10-12T07:20:55Z'
                error_code: 10006
                error_message: Error while computing the initial remove broker plan
                  for brokers [1] prior to shutdown.
                broker:
                  related: https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1/brokers/1

    ListBrokerTaskByTaskTypeResponse:
      description: The list of tasks.
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/BrokerTaskDataList'
          example:
            kind: KafkaBrokerTaskList
            metadata:
              self: https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1/brokers/-/tasks
              next:
            data:
              - kind: KafkaBrokerTask
                metadata:
                  self: https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1/brokers/1/tasks/add-broker
                  resource_name: crn:///kafka=cluster-1/broker=1/task=add-broker
                cluster_id: cluster_id
                broker_id: 1
                task_type: add-broker
                task_status: IN_PROGRESS
                sub_task_statuses:
                  partition_reassignment_status: IN_PROGRESS
                created_at: '2019-10-12T07:20:50Z'
                updated_at: '2019-10-12T07:20:55Z'
                broker:
                  related: https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1/brokers/1
              - kind: KafkaBrokerTask
                metadata:
                  self: https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1/brokers/2/tasks/add-broker
                  resource_name: crn:///kafka=cluster-1/broker=2/task=add-broker
                cluster_id: cluster_id
                broker_id: 2
                task_type: add-broker
                task_status: FAILED
                sub_task_statuses:
                  partition_reassignment_status: ERROR
                created_at: '2019-10-12T07:20:50Z'
                updated_at: '2019-10-12T07:20:55Z'
                error_code: 10006
                error_message: Error while computing the initial add broker plan for
                  brokers [2]
                broker:
                  related: https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1/brokers/2

    ListBrokerReplicaExclusionResponse:
      description: The list of broker replica exclusions.
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/BrokerReplicaExclusionDataList'
          example:
            kind: KafkaBrokerReplicaExclusionList
            metadata:
              self: https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1/broker-replica-exclusions
              next:
            data:
              - kind: KafkaBrokerReplicaExclusion
                metadata:
                  self: https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1/broker-replica-exclusions/1
                  resource_name: crn:///kafka=cluster-1/broker-replica-exclusions=1
                cluster_id: cluster-1
                broker_id: 1
                reason: Broker is to be removed.
                broker:
                  related: https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1/brokers/1
              - kind: KafkaBrokerReplicaExclusion
                metadata:
                  self: https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1/broker-replica-exclusions/2
                  resource_name: crn:///kafka=cluster-1/broker-replica-exclusions=2
                cluster_id: cluster-1
                broker_id: 2
                reason: Broker is to be removed.
                broker:
                  related: https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1/brokers/2

    GetBrokerReplicaExclusionResponse:
      description: A Broker Replica Exclusion.
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/BrokerReplicaExclusionData'
          example:
            kind: KafkaBrokerReplicaExclusion
            metadata:
              self: https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1/broker-replica-exclusions/1
              next:
            cluster_id: cluster-1
            broker_id: 1
            reason: Broker is to be removed.
            broker:
              related: https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1/brokers/1

    ListCreateBrokerReplicaExclusionResponse:
      description: The list of alter broker replica exclusions.
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/AlterBrokerReplicaExclusionDataList'
          example:
            kind: KafkaAlterBrokerReplicaExclusionList
            metadata:
              self: https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1/broker-replica-exclusions
              next:
            data:
              - kind: KafkaAlterBrokerReplicaExclusion
                metadata:
                  self: https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1/broker-replica-exclusions/1
                  resource_name: crn:///kafka=cluster-1/broker-replica-exclusions=1
                cluster_id: cluster-1
                broker_id: 1
                exclusion: SET
                reason: Broker is to be removed.
                error_code:
                error_message:
                broker:
                  related: https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1/brokers/1
              - kind: KafkaAlterBrokerReplicaExclusion
                metadata:
                  self: https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1/broker-replica-exclusions/2
                  resource_name: crn:///kafka=cluster-1/broker-replica-exclusions=2
                cluster_id: cluster-1
                broker_id: 2
                exclusion: SET
                reason: Broker is to be removed.
                error_code:
                error_message:
                broker:
                  related: https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1/brokers/2

    ListDeleteBrokerReplicaExclusionResponse:
      description: The list of alter broker replica exclusions.
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/AlterBrokerReplicaExclusionDataList'
          example:
            kind: KafkaAlterBrokerReplicaExclusionList
            metadata:
              self: https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1/broker-replica-exclusions
              next:
            data:
              - kind: KafkaAlterBrokerReplicaExclusion
                metadata:
                  self: https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1/broker-replica-exclusions/1
                  resource_name: crn:///kafka=cluster-1/broker-replica-exclusions=1
                cluster_id: cluster-1
                broker_id: 1
                exclusion: DELETE
                reason: Broker removal is completed.
                error_code:
                error_message:
                broker:
                  related: https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1/brokers/1
              - kind: KafkaAlterBrokerReplicaExclusion
                metadata:
                  self: https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1/broker-replica-exclusions/2
                  resource_name: crn:///kafka=cluster-1/broker-replica-exclusions=2
                cluster_id: cluster-1
                broker_id: 2
                exclusion: DELETE
                reason: Broker removal is completed.
                error_code:
                error_message:
                broker:
                  related: https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1/brokers/2

    ListDeleteBrokerReplicaExclusionErrorResponse:
      description: The list of alter broker replica exclusions.
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/AlterBrokerReplicaExclusionDataList'
          example:
            kind: KafkaAlterBrokerReplicaExclusionList
            metadata:
              self: https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1/broker-replica-exclusions
              next:
            data:
              - kind: KafkaAlterBrokerReplicaExclusion
                metadata:
                  self: https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1/broker-replica-exclusions/1
                  resource_name: crn:///kafka=cluster-1/broker-replica-exclusions=1
                cluster_id: cluster-1
                broker_id: 1
                exclusion: DELETE
                reason: Broker removal is completed.
                error_code: 404
                error_message: No replica exclusion for broker 1 was present.
                broker:
                  related: https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1/brokers/1
              - kind: KafkaAlterBrokerReplicaExclusion
                metadata:
                  self: https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1/broker-replica-exclusions/2
                  resource_name: crn:///kafka=cluster-1/broker-replica-exclusions=2
                cluster_id: cluster-1
                broker_id: 2
                exclusion: DELETE
                reason: Broker removal is completed.
                error_code:
                error_message:
                broker:
                  related: https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1/brokers/2

    GetRemoveBrokerTaskResponse:
      description: The remove broker task.
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/RemoveBrokerTaskData'
          example:
            kind: KafkaRemoveBrokerTask
            metadata:
              self: https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1/remove-broker-tasks/1
              resource_name: crn:///kafka=cluster-1/remove-broker-task=1
            cluster_id: cluster-1
            broker_id: 1
            shutdown_scheduled: false
            broker_replica_exclusion_status: COMPLETED
            partition_reassignment_status: FAILED
            broker_shutdown_status: CANCELED
            error_code: 10006
            error_message: Error while computing the initial remove broker plan for
              brokers [1] prior to shutdown.
            broker:
              related: https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1/brokers/1

    ListRemoveBrokerTaskResponse:
      description: The list of remove broker tasks.
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/RemoveBrokerTaskDataList'
          example:
            kind: KafkaRemoveBrokerTaskList
            metadata:
              self: https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1/remove-broker-tasks
              next:
            data:
              - kind: KafkaRemoveBrokerTask
                metadata:
                  self: https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1/remove-broker-tasks/1
                  resource_name: crn:///kafka=cluster-1/remove-broker-task=1
                cluster_id: cluster-1
                broker_id: 1
                shutdown_scheduled: true
                broker_replica_exclusion_status: COMPLETED
                partition_reassignment_status: FAILED
                broker_shutdown_status: CANCELED
                error_code: 10006
                error_message: Error while computing the initial remove broker plan
                  for brokers [1] prior to shutdown.
                broker:
                  related: https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1/brokers/1
              - kind: KafkaRemoveBrokerTask
                metadata:
                  self: https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1/remove-broker-tasks/2
                  resource_name: crn:///kafka=cluster-1/remove-broker-task=2
                cluster_id: cluster-1
                broker_id: 2
                shutdown_scheduled: true
                broker_replica_exclusion_status: EXCLUDED
                partition_reassignment_status: FAILED
                broker_shutdown_status: CANCELED
                error_code: 10006
                error_message: Error while computing the initial remove broker plan
                  for brokers [2] prior to shutdown.
                broker:
                  related: https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1/brokers/2

    NoContentResponse:
      description: Operation succeeded, no content in the response

    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:
            data:
              - kind: KafkaLinkData
                metadata:
                  self: https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/CIL-69l7S1CwoVNAhoQLug/links/my-new-link-1
                  resource_name:
                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:
                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:
                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

    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:
                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:
                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:
            data:
              - kind: KafkaLinkConfigData
                metadata:
                  self: https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/1Rh_4htxSuen7RYGvGmgNw/links/my-new-link-1
                  resource_name:
                cluster_id: 1Rh_4htxSuen7RYGvGmgNw
                name: consumer.offset.sync.ms
                value: '3825940'
                is_default: false
                is_read_only: false
                is_sensitive: false
                source: DYNAMIC_CLUSTER_LINK_CONFIG
                synonyms:
                  - cosm
                link_name: link-db-1
              - kind: KafkaLinkConfigData
                metadata:
                  self: https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/1Rh_4htxSuen7RYGvGmgNw/links/my-new-link-1
                  resource_name:
                cluster_id: 1Rh_4htxSuen7RYGvGmgNw
                name: acl.sync.ms
                value: '5000'
                is_default: false
                is_read_only: false
                is_sensitive: false
                source: DYNAMIC_CLUSTER_LINK_CONFIG
                synonyms:
                  - asm
                link_name: link-db-1

    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:
            cluster_id: 1Rh_4htxSuen7RYGvGmgNw
            name: consumer.offset.sync.ms
            value: '3825940'
            is_default: false
            is_read_only: false
            is_sensitive: false
            source: DYNAMIC_CLUSTER_LINK_CONFIG
            synonyms:
              - cosm
            link_name: link-db-1


    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:
            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:
                error_message:
                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:
                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:
                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

    BadBrokerOrBalancerRequestErrorResponse:
      description: Bad broker or balancer request
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Error'
          examples:
            IllegalBrokerRemoval:
              value:
                error_code: 400
                message: 'Cannot remove broker 1 as there are partitions with replication
                  factor equal to 1 on the broker. One such partition: test_topic_partition_0.'
            BalancerOffline:
              value:
                error_code: 400
                message: The Confluent Balancer component is disabled or not started
                  yet.

    BalancerOfflineErrorResponse:
      description: Balancer offline
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Error'
          example:
            error_code: 400
            message: The Confluent Balancer component is disabled or not started yet.

    BrokerNotFoundErrorResponse:
      description: Broker not found.
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Error'
          example:
            error_code: 404
            message: 'Broker not found. Broker: 1 not found in the cluster: cluster-1'

    UnrepresentableBrokerErrorResponse:
      description: Unrepresentable broker id.
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Error'
          example:
            error_code: 400
            message: The given broker id -10 is invalid

    BalancerNotEnabledErrorResponse:
      description: Confluent Balancer disabled or not started.
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Error'
          example:
            error_code: 500
            message: The Confluent Balancer component is disabled or not started yet.

    ClusterAuthorizationErrorResponse:
      description: Operation not authorized.
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Error'
          example:
            error_code: 401
            message: "Not authorized: the authenticated user didn't have the right\
              \ access to the resource."

    ClusterLinkNotFoundErrorResponse:
      description: The cluster link doesn't exist.
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Error'
          example:
            error_code: 404
            message: The cluster link doesn't exist.

    InvalidClusterLinkErrorResponse:
      description: The cluster link doesn't exist.
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Error'
          example:
            error_code: 400
            message: Invalid Cluster Link Name.

    InvalidConfigNameErrorResponse:
      description: Invalid Config Name.
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Error'
          example:
            error_code: 400
            message: Invalid Config Name.

    ClusterLinkExistsErrorResponse:
      description: A cluster link already exists with the provided link name
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Error'
          example:
            error_code: 404
            message: A cluster link already exists with the provided link name

    TimeoutErrorResponse:
      description: The server received the request, but the operation timed out
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Error'
          example:
            error_code: 408
            message: The server received the request, but the operation timed out
    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
    schemaregistry.v1.AccountNotFoundError:
      description: Not Found
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/ErrorMessage'
          example:
            error_code: 404
            message: account not found
    schemaregistry.v1.ResourceNotFoundError:
      description: Not Found
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/ErrorMessage'
          example:
            error_code: 404
            message: resource not found
    schemaregistry.v1.DefaultSystemError:
      description: Internal Server Error
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/ErrorMessage'
          example:
            error_code: 500
            message: Oops, something went wrong
  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.
        Supports both legacy `User:` format (numeric IDs) and new `UserV2:`
        format (sa-xxx format) for service accounts. Use `UserV2:*` to
        retrieve service accounts in the new format.
      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

    SubtopologyId:
      name: subtopology_id
      description: The streams subtopology ID.
      in: path
      required: true
      schema:
        type: string
      example: subtopology-1

    MemberId:
      name: member_id
      description: The streams member ID.
      in: path
      required: true
      schema:
        type: string
      example: member-1

    AssignmentsType:
      name: assignments_type
      description: The streams member Assignment type.
      in: path
      required: true
      schema:
        $ref: '#/components/schemas/AssignmentsType'
      example: active

    GroupId:
      name: group_id
      description: The group ID.
      in: path
      required: true
      schema:
        type: string
      example: group-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

  requestBodies:
    AlterGroupConfigBatchRequest:
      content:
        application/json:
          example:
            data:
              - name: share.session.timeout.ms
                operation: DELETE
              - name: share.heartbeat.interval.ms
                value: '5000'
          schema:
            $ref: '#/components/schemas/AlterConfigBatchRequestData'

    UpdateGroupConfigRequest:
      content:
        application/json:
          example:
            value: '45000'
          schema:
            $ref: '#/components/schemas/UpdateGroupConfigRequestData'
      description: Group config value to update

    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

    # UpdatePartitionCountRequest:
    #   description: The number of partitions to increase the partition count to.
    #   content:
    #     application/json:
    #       schema:
    #         $ref: '#/components/schemas/UpdatePartitionCountRequestData'
    #       example:
    #         partitions_count: 10

    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: security.protocol
                    value: SASL_SSL
                  - name: sasl.jaas.config
                    value: sasl.jaas.config=org.apache.kafka.common.security.plain.PlainLoginModule
                      required username='<Kafka API Key>' password='<Kafka API Secret>';

            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: security.protocol
                    value: SASL_SSL
                  - name: sasl.jaas.config
                    value: sasl.jaas.config=org.apache.kafka.common.security.plain.PlainLoginModule
                      required username='<Remote Kafka API Key>' password='<Remote
                      Kafka API Secret>';
                  - name: local.sasl.mechanism
                    value: PLAIN
                  - name: local.security.protocol
                    value: SASL_SSL
                  - name: local.sasl.jaas.config
                    value: sasl.jaas.config=org.apache.kafka.common.security.plain.PlainLoginModule
                      required username='<Local Kafka API Key>' password='<Local Kafka
                      API Secret>';

            source_initiated_link_at_destination_cluster:
              description: Create a source initiated cluster link at destination cluster
              value:
                destination_cluster_id: cluster-1
                configs:
                  - name: link.mode
                    value: DESTINATION
                  - name: connection.mode
                    value: INBOUND
                  - name: acl.sync.enable
                    value: 'false'

            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: security.protocol
                    value: SASL_SSL
                  - name: sasl.jaas.config
                    value: sasl.jaas.config=org.apache.kafka.common.security.plain.PlainLoginModule
                      required username='<Kafka API Key>' password='<Kafka API Secret>';

            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: security.protocol
                    value: SASL_SSL
                  - name: sasl.jaas.config
                    value: sasl.jaas.config=org.apache.kafka.common.security.plain.PlainLoginModule
                      required username='<Kafka API Key>' password='<Kafka API Secret>';

    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.

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.
      Tableflow API keys are not tied to a specific cluster.

      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
      <SchemaDefinition schemaRef="#/components/schemas/iam.v2.ApiKey" />

      ## 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
      <SchemaDefinition schemaRef="#/components/schemas/org.v2.Environment" />

      ## 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
      <SchemaDefinition schemaRef="#/components/schemas/org.v2.Organization" />

      ## 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
      <SchemaDefinition schemaRef="#/components/schemas/iam.v2.User" />

      ## 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
      <SchemaDefinition schemaRef="#/components/schemas/iam.v2.ServiceAccount" />

      ## 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
      <SchemaDefinition schemaRef="#/components/schemas/iam.v2.Invitation" />

      ## 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: |-
      [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy)

      Definitions of networks which can be named and referred by IP blocks, commonly used to attach to IP Filter rules.


      ## The IP Groups Model
      <SchemaDefinition schemaRef="#/components/schemas/iam.v2.IpGroup" />
  - name: IP Filters (iam/v2)
    description: |-
      [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy)

      `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
      <SchemaDefinition schemaRef="#/components/schemas/iam.v2.IpFilter" />
  - name: IP Filter Summaries (iam/v2)
    description: |-
      [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy)

      The IP Filter Summary endpoint returns an aggregation of the IP Filters across the system.
      This API can be queried in the context of an organization or an environment. It returns a
      summary of every operation group in the system grouped with a higher summary by operation
      group category.


      ## The IP Filter Summaries Model
      <SchemaDefinition schemaRef="#/components/schemas/iam.v2.IpFilterSummary" />
  - 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
      <SchemaDefinition schemaRef="#/components/schemas/iam.v2.RoleBinding" />
  - 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
      <SchemaDefinition schemaRef="#/components/schemas/notifications.v1.Subscription" />
  - 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
      <SchemaDefinition schemaRef="#/components/schemas/notifications.v1.Integration" />

      ## 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
      <SchemaDefinition schemaRef="#/components/schemas/notifications.v1.NotificationType" />
  - name: Resource Preferences (notifications/v1)
    description: |-
      [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy)

      `ResourcePreference` objects represent the intent of the customers to enable or disable all notifications
      at the resource level. A ResourcePreference is created for a specific Confluent Cloud Resource
      (e.g., a connector) and determines whether the user will receive notifications for that resource.

      This API allows you to create, retrieve, update and delete resourcePreferences.


      Related guide: [Cloud Notifications](https://docs.confluent.io/cloud/current/monitoring/configure-notifications.html#notifications-for-ccloud).

      ## The Resource Preferences Model
      <SchemaDefinition schemaRef="#/components/schemas/notifications.v1.ResourcePreference" />
  - name: Resource Subscriptions (notifications/v1)
    description: |-
      [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy)

      `ResourceSubscription` objects represent the intent of the customers to get notifications of particular types
      at the resource level. A ResourceSubscription is created for a specific Confluent Cloud Resource
      (e.g., a connector) and determines whether the user will receive notifications for that resource.

      This API allows you to create, retrieve, update, delete and list ResourceSubscription.


      Related guide: [Cloud Notifications](https://docs.confluent.io/cloud/current/monitoring/configure-notifications.html#notifications-for-ccloud).

      ## The Resource Subscriptions Model
      <SchemaDefinition schemaRef="#/components/schemas/notifications.v1.ResourceSubscription" />
  - 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
      <SchemaDefinition schemaRef="#/components/schemas/cmk.v2.Cluster" />

      ## 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
      <SchemaDefinition schemaRef="#/components/schemas/ksqldbcm.v2.Cluster" />

      ## 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
      <SchemaDefinition schemaRef="#/components/schemas/connect.v1.CustomConnectorPlugin" />
  - 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
      <SchemaDefinition schemaRef="#/components/schemas/connect.v1.PresignedUrl" />
  - name: Custom Connector Runtimes (connect/v1)
    description: |-
      [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy)

      List of supported runtime languages for Custom Connector Plugin. The list defines the supported
      entries for confluent.custom.connect.plugin.runtime attribute in CustomConnectorPlugin object.
      Each entry also defines the set of supported java versions for that runtime which can be specified during
      connector provisioning via the confluent.custom.connect.plugin.java.version attribute.


      ## The Custom Connector Runtimes Model
      <SchemaDefinition schemaRef="#/components/schemas/connect.v1.CustomConnectorRuntime" />
  - 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: Share Group (v3)
    description: |-
      [![Generally Available](https://img.shields.io/badge/Lifecycle%20Stage-Generally%20Available-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy)
  - name: Streams Group (v3)
    description: |-
      [![Early Access](https://img.shields.io/badge/Lifecycle%20Stage-Early%20Access-%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
      <SchemaDefinition schemaRef="#/components/schemas/service-quota.v1.AppliedQuota" />
  - 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
      <SchemaDefinition schemaRef="#/components/schemas/service-quota.v1.Scope" />
  - 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
      <SchemaDefinition schemaRef="#/components/schemas/srcm.v2.Region" />
  - 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
      <SchemaDefinition schemaRef="#/components/schemas/srcm.v2.Cluster" />
  - 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
      <SchemaDefinition schemaRef="#/components/schemas/srcm.v3.Cluster" />
  - 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).
# Paths
  - 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
      <SchemaDefinition schemaRef="#/components/schemas/cdx.v1.ProviderSharedResource" />
  - 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
      <SchemaDefinition schemaRef="#/components/schemas/cdx.v1.ProviderShare" />
  - 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
      <SchemaDefinition schemaRef="#/components/schemas/cdx.v1.ConsumerSharedResource" />
  - 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
      <SchemaDefinition schemaRef="#/components/schemas/cdx.v1.ConsumerShare" />
  - 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
      <SchemaDefinition schemaRef="#/components/schemas/cdx.v1.SharedToken" />
  - 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
      <SchemaDefinition schemaRef="#/components/schemas/cdx.v1.OptIn" />
  - 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
      <SchemaDefinition schemaRef="#/components/schemas/networking.v1.Network" />

      ## 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
      <SchemaDefinition schemaRef="#/components/schemas/networking.v1.Peering" />

      ## 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
      <SchemaDefinition schemaRef="#/components/schemas/networking.v1.TransitGatewayAttachment" />

      ## 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
      <SchemaDefinition schemaRef="#/components/schemas/networking.v1.PrivateLinkAccess" />

      ## 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
      <SchemaDefinition schemaRef="#/components/schemas/networking.v1.NetworkLinkService" />

      ## 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
      <SchemaDefinition schemaRef="#/components/schemas/networking.v1.NetworkLinkEndpoint" />

      ## 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
      <SchemaDefinition schemaRef="#/components/schemas/networking.v1.NetworkLinkServiceAssociation" />
  - 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
      <SchemaDefinition schemaRef="#/components/schemas/networking.v1.IpAddress" />
  - 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
      <SchemaDefinition schemaRef="#/components/schemas/networking.v1.PrivateLinkAttachment" />

      ## 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
      <SchemaDefinition schemaRef="#/components/schemas/networking.v1.PrivateLinkAttachmentConnection" />
  - 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
      <SchemaDefinition schemaRef="#/components/schemas/iam.v2.IdentityProvider" />

      ## 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
      <SchemaDefinition schemaRef="#/components/schemas/iam.v2.Jwks" />
  - 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
      <SchemaDefinition schemaRef="#/components/schemas/iam.v2.IdentityPool" />

      ## 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
      <SchemaDefinition schemaRef="#/components/schemas/kafka-quotas.v1.ClientQuota" />
  - 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
      <SchemaDefinition schemaRef="#/components/schemas/byok.v1.Key" />

      ## 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
      <SchemaDefinition schemaRef="#/components/schemas/billing.v1.Cost" />
  - 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
      <SchemaDefinition schemaRef="#/components/schemas/iam.v2.sso.GroupMapping" />

      ## 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.
      Note that the Compute Pool API supports a limited pagination API, only the `next` field will be populated.


      ## The Compute Pools Model
      <SchemaDefinition schemaRef="#/components/schemas/fcpm.v2.ComputePool" />
  - 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
      <SchemaDefinition schemaRef="#/components/schemas/fcpm.v2.Region" />
  - name: Org Compute Pool Configs (fcpm/v2)
    description: |-
      [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy)

      `OrgComputePoolConfig` manages compute pool configuration settings for an organization.
      The API allows you to read and update organization-wide settings such as whether default pools are enabled
      and their maximum CFU limits.


      ## The Org Compute Pool Configs Model
      <SchemaDefinition schemaRef="#/components/schemas/fcpm.v2.OrgComputePoolConfig" />
  - 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
      <SchemaDefinition schemaRef="#/components/schemas/sql.v1.Statement" />
  - 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
      <SchemaDefinition schemaRef="#/components/schemas/sql.v1.StatementResult" />
  - 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
      <SchemaDefinition schemaRef="#/components/schemas/sql.v1.StatementException" />
  - 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
      <SchemaDefinition schemaRef="#/components/schemas/sql.v1.Connection" />
  - name: Agents (sql/v1)
    description: |-
      [![Preview](https://img.shields.io/badge/Lifecycle%20Stage-Preview-%2300afba)](#section/Versioning/API-Lifecycle-Policy)

      `Agent` models an AI agent that uses a specified model, prompt, and set of tools
      to autonomously perform tasks.
      The API allows you to create your agents.
      ## The Agents Model
      <SchemaDefinition schemaRef="#/components/schemas/sql.v1.Agent" />
  - name: Tools (sql/v1)
    description: |-
      [![Preview](https://img.shields.io/badge/Lifecycle%20Stage-Preview-%2300afba)](#section/Versioning/API-Lifecycle-Policy)

      `Tool` models a reusable tool resource backed by a connection that can be referenced
      by agents to perform actions.
      The API allows you to create your tools.
      ## The Tools Model
      <SchemaDefinition schemaRef="#/components/schemas/sql.v1.Tool" />
  - name: Materialized Tables (sql/v1)
    description: |-
      [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy)

      `MaterializedTable` represents a core resource used to define and manage streaming SQL queries that persist results.
      The API allows you to list, create, read, update, and delete your materialized tables.
      ## The Materialized Table Model
      <SchemaDefinition schemaRef="#/components/schemas/sql.v1.MaterializedTable" />
  - name: Materialized Table Versions (sql/v1)
    description: |-
      [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy)

      `MaterializedTableVersion` represents a specific version of a Materialized Table, capturing the state and changes at that point in time.
      The API allows you to list and read versions of your materialized tables.
      ## The Materialized Table Version Model
      <SchemaDefinition schemaRef="#/components/schemas/sql.v1.MaterializedTableVersion" />
  - 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
      <SchemaDefinition schemaRef="#/components/schemas/networking.v1.DnsForwarder" />
  - 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
      <SchemaDefinition schemaRef="#/components/schemas/networking.v1.AccessPoint" />
  - 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
      <SchemaDefinition schemaRef="#/components/schemas/networking.v1.DnsRecord" />
  - name: Certificate Authorities (iam/v2)
    description: |-
      [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%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
      <SchemaDefinition schemaRef="#/components/schemas/iam.v2.CertificateAuthority" />

      ## 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: |-
      [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%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
      <SchemaDefinition schemaRef="#/components/schemas/iam.v2.CertificateIdentityPool" />

      ## 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: |-
      [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy)

      `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
      <SchemaDefinition schemaRef="#/components/schemas/pim.v1.Integration" />
  - name: Integrations (pim/v2)
    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-v2-early-access@confluent.io?subject=Request%20to%20join%20pim/v2%20API%20Early%20Access&body=I%E2%80%99d%20like%20to%20join%20the%20Confluent%20Cloud%20API%20Early%20Access%20for%20pim/v2%20to%20provide%20early%20feedback%21%20My%20Cloud%20Organization%20ID%20is%20%3Cretrieve%20from%20https%3A//confluent.cloud/settings/billing/payment%3E.)

      `Provider Integration` objects represent access to public cloud service provider (CSP) resources
      that may be accessed by Confluent resources (for example, connectors).

      The API allows you to create, retrieve, update, delete, and validate individual integrations, and also obtain a
      list of all your provider integrations.

      Note: The pim/v2 API currently supports only Azure and GCP provider integrations.


      Related guide: [Provider Integration in Confluent Cloud](https://docs.confluent.io/home/overview.html).

      ## The Integrations Model
      <SchemaDefinition schemaRef="#/components/schemas/pim.v2.Integration" />
  - name: Flink Artifacts (artifact/v1)
    description: |-
      [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy)

      FlinkArtifact objects represent Flink Artifacts on Confluent Cloud.


      ## The Flink Artifacts Model
      <SchemaDefinition schemaRef="#/components/schemas/artifact.v1.FlinkArtifact" />
  - name: Presigned Urls (artifact/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 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
      <SchemaDefinition schemaRef="#/components/schemas/artifact.v1.PresignedUrl" />
  - name: Flink Artifact Versions (artifact/v1)
    description: |-
      [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy)

      FlinkArtifactVersion objects represent Flink Artifact Versions on Confluent Cloud.


      ## The Flink Artifact Versions Model
      <SchemaDefinition schemaRef="#/components/schemas/artifact.v1.FlinkArtifactVersion" />
  - name: Gateways (networking/v1)
    description: |-
      [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy)

      A Gateway represents a slice of traffic capacity in a region that is reserved for a customer.


      ## The Gateways Model
      <SchemaDefinition schemaRef="#/components/schemas/networking.v1.Gateway" />

      ## Quotas and Limits
      This resource is subject to the [following quotas](https://docs.confluent.io/cloud/current/quotas/overview.html):

      | Quota | Description |
      | --- | --- |
      | `gateways_per_region_per_environment` | Number of Gateways per region per environment |
  - name: Custom Code Loggings (ccl/v1)
    description: |-
      [![Early Access](https://img.shields.io/badge/Lifecycle%20Stage-Early%20Access-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) [![Request Access To Custom Code Logging API EA](https://img.shields.io/badge/-Request%20Access%20To%20Custom%20Code%20Logging%20API%20EA-%23bc8540)](mailto:ccloud-api-access+ccl-v1-early-access@confluent.io?subject=Request%20to%20join%20ccl/v1%20API%20Early%20Access&body=I%E2%80%99d%20like%20to%20join%20the%20Confluent%20Cloud%20API%20Early%20Access%20for%20ccl/v1%20to%20provide%20early%20feedback%21%20My%20Cloud%20Organization%20ID%20is%20%3Cretrieve%20from%20https%3A//confluent.cloud/settings/billing/payment%3E.)

      CustomCodeLogging objects represent Custom Code Logging on Confluent Cloud.
      The API allows you to list, create, read, update, and delete your Custom Code Logging.


      ## The Custom Code Loggings Model
      <SchemaDefinition schemaRef="#/components/schemas/ccl.v1.CustomCodeLogging" />
  - name: Regions (tableflow/v1)
    description: |-
      [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy)

      `Region` objects represent cloud provider regions where Tableflow can be enabled.
      This API allows you to list all supported Tableflow regions.


      ## The Regions Model
      <SchemaDefinition schemaRef="#/components/schemas/tableflow.v1.Region" />
  - name: Tableflow Topics (tableflow/v1)
    description: |-
      [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy)

      A Tableflow Topic represents configuration related to a Tableflow enabled kafka topic


      ## The Tableflow Topics Model
      <SchemaDefinition schemaRef="#/components/schemas/tableflow.v1.TableflowTopic" />
  - name: Catalog Integrations (tableflow/v1)
    description: |-
      [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy)

      A Catalog Integration represents configuration related to a catalog integration


      ## The Catalog Integrations Model
      <SchemaDefinition schemaRef="#/components/schemas/tableflow.v1.CatalogIntegration" />
  - name: Custom Connect Plugins (ccpm/v1)
    description: |-
      [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy)

      CustomConnectPlugins objects represent Custom Connect artifacts containing connector, and SMT jars on Confluent
       Cloud.
      The API allows you to list, create, read, update, and delete your Custom Connect Plugins.
      Related guide:
      [Custom Connect Plugin API](https://docs.confluent.io/cloud/current/connectors/connect-api-section.html).


      ## The Custom Connect Plugins Model
      <SchemaDefinition schemaRef="#/components/schemas/ccpm.v1.CustomConnectPlugin" />
  - name: Presigned Urls (ccpm/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 Connect 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 Connect Plugin API](https://docs.confluent.io/cloud/current/connectors/connect-api-section.html).


      ## The Presigned Urls Model
      <SchemaDefinition schemaRef="#/components/schemas/ccpm.v1.PresignedUrl" />
  - name: Custom Connect Plugin Versions (ccpm/v1)
    description: |-
      [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy)

      CustomConnectPluginVersion objects represent Custom Connect Plugin Versions on Confluent Cloud.
      The API allows you to list, create, read, update, and delete your Custom Connect Plugin Versions.


      ## The Custom Connect Plugin Versions Model
      <SchemaDefinition schemaRef="#/components/schemas/ccpm.v1.CustomConnectPluginVersion" />
  - name: Kafka Clusters (usm/v1)
    description: |-
      [![Preview](https://img.shields.io/badge/Lifecycle%20Stage-Preview-%2300afba)](#section/Versioning/API-Lifecycle-Policy)

      `KafkaCluster` object represent Confluent Platform Kafka clusters registered with Confluent Cloud.
      The API allows you to create and delete KafkaCluster.


      ## The Kafka Clusters Model
      <SchemaDefinition schemaRef="#/components/schemas/usm.v1.KafkaCluster" />
  - name: Connect Clusters (usm/v1)
    description: |-
      [![Preview](https://img.shields.io/badge/Lifecycle%20Stage-Preview-%2300afba)](#section/Versioning/API-Lifecycle-Policy)

      `ConnectCluster` object represent Confluent Platform Connect clusters registered with Confluent Cloud.
      The API allows you to create and delete ConnectCluster.


      ## The Connect Clusters Model
      <SchemaDefinition schemaRef="#/components/schemas/usm.v1.ConnectCluster" />
  - name: Endpoints (endpoint/v1)
    description: |-
      [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy)

      An Endpoint object represents a Fully Qualified Domain Name (FQDN) for a Confluent service resource
      via a specific networking solution for a given Confluent Cloud environment.
      This API provides a list of Confluent Cloud endpoints filtered by service, cloud provider, region, etc.


      Related guides:
      * [Resource Overview in Confluent Cloud](https://docs.confluent.io/cloud/current/networking/resource-overview.html).
      * [Manage Networking on Confluent Cloud](https://docs.confluent.io/cloud/current/networking/overview.html).


      ## The Endpoints Model
      <SchemaDefinition schemaRef="#/components/schemas/endpoint.v1.Endpoint" />
