openapi: 3.2.0 info: title: Confluent Cloud Tableflow Topics (tableflow/v1) API version: '' x-api-id: 46234552-5833-42eb-ba0f-883ad3f70d2b x-audience: external-public x-logo: url: https://assets.confluent.io/m/1661ef5e4ff82d3d/ description: '# Introduction Note This documents the collection of Confluent Cloud APIs.' servers: - url: https://api.confluent.cloud description: Confluent Cloud API tags: - name: Tableflow Topics (tableflow/v1) description: '![General Availability](#section/Versioning/API-Lifecycle-Policy) A Tableflow Topic represents configuration related to a Tableflow enabled kafka topic ## The Tableflow Topics Model' paths: /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](#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](#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](#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](#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](#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' components: schemas: tableflow.v1.TableflowTopicList: type: object description: 'A Tableflow Topic represents configuration related to a Tableflow enabled kafka topic ## The Tableflow Topics Model ' 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 Error: type: object description: Describes a particular error encountered while performing an operation. properties: id: description: A unique identifier for this particular occurrence of the problem. type: string maxLength: 255 status: description: The HTTP status code applicable to this problem, expressed as a string value. type: string code: description: An application-specific error code, expressed as a string value. type: string title: description: A short, human-readable summary of the problem. It **SHOULD NOT** change from occurrence to occurrence of the problem, except for purposes of localization. type: string detail: description: A human-readable explanation specific to this occurrence of the problem. type: string source: type: object description: If this error was caused by a particular part of the API request, the source will point to the query string parameter or request body property that caused it. properties: pointer: description: A JSON Pointer [RFC6901] to the associated entity in the request document [e.g. "/spec" for a spec object, or "/spec/title" for a specific field]. type: string parameter: description: A string indicating which query parameter caused the error. type: string error_code: type: integer format: int32 message: type: - string - 'null' additionalProperties: false 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.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 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 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.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 SearchFilter: description: Filter a collection by a string search type: string 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.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 ListMeta: type: object description: ListMeta describes metadata that resource collections may have properties: first: description: A link to the first page of results. If a response does not contain a first link, then direct navigation to the first page is not supported. type: - string - 'null' format: uri example: https://api.confluent.cloud/v2/resourcekinds last: description: A link to the last page of results. If a response does not contain a last link, then direct navigation to the last page is not supported. type: - string - 'null' format: uri example: https://api.confluent.cloud/v2/resourcekinds?page_token=bcAOehAY8F16YD84Z1wT prev: description: A link to the previous page of results. If a response does not contain a prev link, then either there is no previous data or backwards traversal through the result set is not supported. type: - string - 'null' format: uri example: https://api.confluent.cloud/v2/resourcekinds?page_token=YIXRY97wWYmwzrax4dld next: description: A link to the next page of results. If a response does not contain a next link, then there is no more data available. type: - string - 'null' format: uri example: https://api.confluent.cloud/v2/resourcekinds?page_token=UvmDWOB1iwfAIBPj6EYb total_size: description: Number of records in the full result set. This response may be paginated and have a smaller number of records. type: integer format: int32 minimum: 0 example: 123 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:\n\n PENDING: Tableflow setup is pending;\n\n RUNNING: Tableflow is currently running;\n\n FAILED: Tableflow failed\n" 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.TableflowTopic: type: object description: 'A Tableflow Topic represents configuration related to a Tableflow enabled kafka topic ## The Tableflow Topics Model ' 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.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:\n\n PENDING: sync is pending;\n\n SYNCED: successfully synced;\n\n FAILED: sync failed;\n\n DISCONNECTED: catalog integration is disconnected.\n" x-extensible-enum: - PENDING - SYNCED - FAILED - DISCONNECTED example: SYNCED error_message: type: - string - 'null' 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' 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 MultipleSearchFilter: description: Filter a collection by a string search for one or more values type: array items: type: string 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 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). Note - The attribute is in a [Limited Availability lifecycle stage](https://docs.confluent.io/cloud/current/api.html#section/Versioning/API-Lifecycle-Policy) ' 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' 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 responses: UnauthenticatedError: x-summary: Unauthorized description: The request lacks valid authentication credentials for this resource. headers: X-Request-Id: schema: type: string description: The unique identifier for the API request. WWW-Authenticate: schema: type: string description: The unique identifier for the API request. example: Basic error="invalid_key", error_description="The API Key is invalid" content: application/json: schema: $ref: '#/components/schemas/Failure' example: errors: - id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d status: '401' code: user_unauthenticated title: Authentication Required detail: Valid authentication credentials must be provided UnauthorizedError: x-summary: Forbidden description: The access credentials were considered insufficient to grant access headers: X-Request-Id: schema: type: string description: The unique identifier for the API request. content: application/json: schema: $ref: '#/components/schemas/Failure' example: errors: - id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d status: '403' code: user_unauthorized title: User Access Unauthorized detail: The user 'mcfly' is not allowed to access the 'delorean' resource without the 'plutonium' role. NotFoundError: description: Not Found headers: X-Request-Id: schema: type: string description: The unique identifier for the API request. content: application/json: schema: $ref: '#/components/schemas/Failure' example: errors: - id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d status: '404' title: Not Found 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. 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 ValidationError: description: Validation Failed headers: X-Request-Id: schema: type: string description: The unique identifier for the API request. content: application/json: schema: $ref: '#/components/schemas/Failure' example: errors: - status: '422' code: invalid_configuration id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d title: Validation Failed detail: 'The property ''/cluster/storage_size'' of type string did not match the following type: integer' source: pointer: /cluster/storage_size - status: '422' code: invalid_configuration id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d title: Validation Failed detail: 'The property ''/cluster/storage_size'' of type string did not match the following type: integer' source: pointer: /cluster/storage_size - status: '422' code: invalid_configuration id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d title: Validation Failed detail: 'The property ''/cluster/storage_size'' of type string did not match the following type: integer' source: pointer: /cluster/storage_size - status: '422' code: invalid_configuration id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d title: Validation Failed detail: 'The property ''/cluster/storage_size'' of type string did not match the following type: integer' source: pointer: /cluster/storage_size - status: '422' code: invalid_configuration id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d title: Validation Failed detail: 'The property ''/cluster/storage_size'' of type string did not match the following type: integer' source: pointer: /cluster/storage_size - status: '422' code: invalid_configuration id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d title: Validation Failed detail: 'The property ''/cluster/storage_size'' of type string did not match the following type: integer' source: pointer: /cluster/storage_size - status: '422' code: invalid_configuration id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d title: Validation Failed detail: 'The property ''/cluster/storage_size'' of type string did not match the following type: integer' source: pointer: /cluster/storage_size - status: '422' code: invalid_configuration id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d title: Validation Failed detail: 'The property ''/cluster/storage_size'' of type string did not match the following type: integer' source: pointer: /cluster/storage_size - status: '422' code: invalid_configuration id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d title: Validation Failed detail: 'The property ''/cluster/storage_size'' of type string did not match the following type: integer' source: pointer: /cluster/storage_size - status: '422' code: invalid_configuration id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d title: Validation Failed detail: 'The property ''/cluster/storage_size'' of type string did not match the following type: integer' source: pointer: /cluster/storage_size - status: '422' code: invalid_configuration id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d title: Validation Failed detail: 'The property ''/cluster/storage_size'' of type string did not match the following type: integer' source: pointer: /cluster/storage_size - status: '422' code: invalid_configuration id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d title: Validation Failed detail: 'The property ''/cluster/storage_size'' of type string did not match the following type: integer' source: pointer: /cluster/storage_size - status: '422' code: invalid_configuration id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d title: Validation Failed detail: 'The property ''/cluster/storage_size'' of type string did not match the following type: integer' source: pointer: /cluster/storage_size - status: '422' code: invalid_configuration id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d title: Validation Failed detail: 'The property ''/cluster/storage_size'' of type string did not match the following type: integer' source: pointer: /cluster/storage_size - status: '422' code: invalid_configuration id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d title: Validation Failed detail: 'The property ''/cluster/storage_size'' of type string did not match the following type: integer' source: pointer: /cluster/storage_size - status: '422' code: invalid_configuration id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d title: Validation Failed detail: 'The property ''/cluster/storage_size'' of type string did not match the following type: integer' source: pointer: /cluster/storage_size - status: '422' code: invalid_configuration id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d title: Validation Failed detail: 'The property ''/cluster/storage_size'' of type string did not match the following type: integer' source: pointer: /cluster/storage_size - status: '422' code: invalid_configuration id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d title: Validation Failed detail: 'The property ''/cluster/storage_size'' of type string did not match the following type: integer' source: pointer: /cluster/storage_size - status: '422' code: invalid_configuration id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d title: Validation Failed detail: 'The property ''/cluster/storage_size'' of type string did not match the following type: integer' source: pointer: /cluster/storage_size - status: '422' code: invalid_configuration id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d title: Validation Failed detail: 'The property ''/cluster/storage_size'' of type string did not match the following type: integer' source: pointer: /cluster/storage_size - status: '422' code: invalid_configuration id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d title: Validation Failed detail: 'The property ''/cluster/storage_size'' of type string did not match the following type: integer' source: pointer: /cluster/storage_size - status: '422' code: invalid_configuration id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d title: Validation Failed detail: 'The property ''/cluster/storage_size'' of type string did not match the following type: integer' source: pointer: /cluster/storage_size - status: '422' code: invalid_configuration id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d title: Validation Failed detail: 'The property ''/cluster/storage_size'' of type string did not match the following type: integer' source: pointer: /cluster/storage_size - status: '422' code: invalid_configuration id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d title: Validation Failed detail: 'The property ''/cluster/storage_size'' of type string did not match the following type: integer' source: pointer: /cluster/storage_size - status: '422' code: invalid_configuration id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d title: Validation Failed detail: 'The property ''/cluster/storage_size'' of type string did not match the following type: integer' source: pointer: /cluster/storage_size - status: '422' code: invalid_configuration id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d title: Validation Failed detail: 'The property ''/cluster/storage_size'' of type string did not match the following type: integer' source: pointer: /cluster/storage_size - status: '422' code: invalid_configuration id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d title: Validation Failed detail: 'The property ''/cluster/storage_size'' of type string did not match the following type: integer' source: pointer: /cluster/storage_size - status: '422' code: invalid_configuration id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d title: Validation Failed detail: 'The property ''/cluster/storage_size'' of type string did not match the following type: integer' source: pointer: /cluster/storage_size - status: '422' code: invalid_configuration id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d title: Validation Failed detail: 'The property ''/cluster/storage_size'' of type string did not match the following type: integer' source: pointer: /cluster/storage_size - status: '422' code: invalid_configuration id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d title: Validation Failed detail: 'The property ''/cluster/storage_size'' of type string did not match the following type: integer' source: pointer: /cluster/storage_size - status: '422' code: invalid_configuration id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d title: Validation Failed detail: 'The property ''/cluster/storage_size'' of type string did not match the following type: integer' source: pointer: /cluster/storage_size - status: '422' code: invalid_configuration id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d title: Validation Failed detail: 'The property ''/cluster/storage_size'' of type string did not match the following type: integer' source: pointer: /cluster/storage_size - status: '422' code: invalid_configuration id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d title: Validation Failed detail: 'The property ''/cluster/storage_size'' of type string did not match the following type: integer' source: pointer: /cluster/storage_size - status: '422' code: invalid_configuration id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d title: Validation Failed detail: 'The property ''/cluster/storage_size'' of type string did not match the following type: integer' source: pointer: /cluster/storage_size - status: '422' code: invalid_configuration id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d title: Validation Failed detail: 'The property ''/cluster/storage_size'' of type string did not match the following type: integer' source: pointer: /cluster/storage_size - status: '422' code: invalid_configuration id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d title: Validation Failed detail: 'The property ''/cluster/storage_size'' of type string did not match the following type: integer' source: pointer: /cluster/storage_size - status: '422' code: invalid_configuration id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d title: Validation Failed detail: 'The property ''/cluster/storage_size'' of type string did not match the following type: integer' source: pointer: /cluster/storage_size - status: '422' code: invalid_configuration id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d title: Validation Failed detail: 'The property ''/cluster/storage_size'' of type string did not match the following type: integer' source: pointer: /cluster/storage_size BadRequestError: description: Bad Request headers: X-Request-Id: schema: type: string description: The unique identifier for the API request. content: application/json: schema: $ref: '#/components/schemas/Failure' example: errors: - id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d status: '400' code: invalid_filter title: Invalid Filter detail: The 'delorean' resource can't be filtered by 'num_doors' source: parameter: num_doors RateLimitError: description: Rate Limit Exceeded headers: X-Request-Id: schema: type: string description: The unique identifier for the API request. X-RateLimit-Limit: schema: type: integer description: The maximum number of requests you're permitted to make per time period. X-RateLimit-Remaining: schema: type: integer description: The number of requests remaining in the current rate limit window. X-RateLimit-Reset: schema: type: integer description: "The relative time in seconds until the current rate-limit window resets. \n \n**Important:** This differs from Github and Twitter's same-named header which uses UTC epoch seconds. We use relative time to avoid client/server time synchronization issues." Retry-After: schema: type: integer description: The number of seconds to wait until the rate limit window resets. Only sent when the rate limit is reached. securitySchemes: cloud-api-key: type: http scheme: basic description: Authenticate with Cloud API Keys using HTTP Basic Auth. Treat the Cloud API Key ID as the username and Cloud API Key Secret as the password. confluent-sts-access-token: type: oauth2 description: Authenticate with Confluent API using this credentials (JSON Web Tokens) following OAuth 2.0. flows: clientCredentials: tokenUrl: https://api.confluent.cloud/sts/v1/oauth2/token scopes: {} global-api-key: type: http scheme: basic description: Authenticate with Global API Keys using HTTP Basic Auth. Treat the Global API Key ID as the username and Global API Key Secret as the password. resource-api-key: type: http scheme: basic description: Authenticate with resource-specific API Keys using HTTP Basic Auth. Treat the resource-specific API Key ID as the username and resource-specific API Key Secret as the password. external-access-token: type: oauth2 description: Authenticate with Confluent API using this credentials (JSON Web Tokens) following OAuth 2.0. flows: clientCredentials: tokenUrl: https://api.confluent.cloud/sts/v1/oauth2/token scopes: {} oauth: type: oauth2 description: Authenticate with OAuth 2.0. Currently this is only supported for partner APIs. flows: clientCredentials: tokenUrl: /oauth2/token scopes: partner:alter: enables partners to alter entitlements partner:create: enables partners to create entitlements and signup on behalf of customers partner:delete: enables partners to delete entitlements and organizations partner:describe: enables partners to read and list entitlements and organizations x-tagGroups: - name: Identity Access Management (v2) tags: - API Keys (iam/v2) - Users (iam/v2) - Service Accounts (iam/v2) - Invitations (iam/v2) - IP Groups (iam/v2) - IP Filters (iam/v2) - IP Filter Summaries (iam/v2) - Role Bindings (iam/v2) - Identity Providers (iam/v2) - Jwks (iam/v2) - Identity Pools (iam/v2) - Group Mappings (iam/v2/sso) - Certificate Authorities (iam/v2) - Certificate Identity Pools (iam/v2) - name: Org API (v2) tags: - Environments (org/v2) - Organizations (org/v2) - name: Notifications API (v1) tags: - Subscriptions (notifications/v1) - Integrations (notifications/v1) - Notification Types (notifications/v1) - Resource Preferences (notifications/v1) - Resource Subscriptions (notifications/v1) - User Notifications (notifications/v1) - name: Cluster Mgmt for Kafka (v2) tags: - Clusters (cmk/v2) - name: Cluster Mgmt for ksqlDB (v2) tags: - Clusters (ksqldbcm/v2) - name: Connect API (v1) tags: - Connectors (connect/v1) - Lifecycle (connect/v1) - Status (connect/v1) - Managed Connector Plugins (connect/v1) - Offsets (connect/v1) - Custom Connector Plugins (connect/v1) - Presigned Urls (connect/v1) - Custom Connector Runtimes (connect/v1) - name: Connect Artifact Management (v1) tags: - Connect Artifacts (cam/v1) - Presigned Urls (cam/v1) - name: Kafka API (v3) tags: - Cluster (v3) - Configs (v3) - ACL (v3) - Consumer Group (v3) - Partition (v3) - Topic (v3) - Records (v3) - Cluster Linking (v3) - Share Group (v3) - Streams Group (v3) - name: Service Quota API (v1) tags: - Applied Quotas (service-quota/v1) - Scopes (service-quota/v1) - name: Partner API (v2) tags: - Entitlements (partner/v2) - Organizations (partner/v2) - Signup (partner/v2) - name: Cluster Mgmt for Schema Registry (v2) tags: - Regions (srcm/v2) - Clusters (srcm/v2) - name: Cluster Mgmt for Schema Registry (v3) tags: - Clusters (srcm/v3) - name: Schema Registry API (v1) tags: - Compatibility (v1) - Config (v1) - Contexts (v1) - Exporters (v1) - Modes (v1) - Schemas (v1) - Subjects (v1) - Key Encryption Keys (v1) - Data Encryption Keys (v1) - name: Catalog API (v1) tags: - Entity (v1) - Search (v1) - Types (v1) - name: Stream Sharing API (v1) tags: - Provider Shared Resources (cdx/v1) - Provider Shares (cdx/v1) - Consumer Shared Resources (cdx/v1) - Consumer Shares (cdx/v1) - Shared Tokens (cdx/v1) - Opt Ins (cdx/v1) - name: Networking (v1) tags: - Networks (networking/v1) - Peerings (networking/v1) - Transit Gateway Attachments (networking/v1) - Private Link Accesses (networking/v1) - Network Link Services (networking/v1) - Network Link Endpoints (networking/v1) - Network Link Service Associations (networking/v1) - IP Addresses (networking/v1) - Private Link Attachments (networking/v1) - Private Link Attachment Connections (networking/v1) - DNS Forwarders (networking/v1) - Access Points (networking/v1) - DNS Records (networking/v1) - Gateways (networking/v1) - name: Security Token Service (v1) tags: - OAuth Tokens (sts/v1) - name: Kafka Quota (v1) tags: - Client Quotas (kafka-quotas/v1) - name: Bring Your Own Key (BYOK) Management (v1) tags: - Keys (byok/v1) - name: Billing API (v1) tags: - Costs (billing/v1) - name: Compute Pool Mgmt for Flink (v2) tags: - Compute Pools (fcpm/v2) - Regions (fcpm/v2) - Org Compute Pool Configs (fcpm/v2) - name: SQL API (v1) tags: - Statements (sql/v1) - Statement Results (sql/v1) - Statement Exceptions (sql/v1) - Connections (sql/v1) - Agents (sql/v1) - Tools (sql/v1) - Materialized Tables (sql/v1) - Materialized Table Versions (sql/v1) - name: Provider Integration Management (v1) tags: - Integrations (pim/v1) - name: Provider Integration Management (v2) tags: - Integrations (pim/v2) - name: Artifact API (v1) tags: - Flink Artifacts (artifact/v1) - Presigned Urls (artifact/v1) - Flink Artifact Versions (artifact/v1) - name: Custom Code Logging API (v1) tags: - Custom Code Loggings (ccl/v1) - name: Tableflow (v1) tags: - Regions (tableflow/v1) - Tableflow Topics (tableflow/v1) - Catalog Integrations (tableflow/v1) - name: Custom Connect Plugin Management (v1) tags: - Custom Connect Plugins (ccpm/v1) - Presigned Urls (ccpm/v1) - Custom Connect Plugin Versions (ccpm/v1) - name: Unified Stream Manager (v1) tags: - Kafka Clusters (usm/v1) - Connect Clusters (usm/v1) - name: Endpoint (v1) tags: - Endpoints (endpoint/v1) - name: Real Time Context Engine (v1) tags: - Rtce Topics (rtce/v1) - Regions (rtce/v1) - name: Analytics (v1alpha1) tags: - Statements (query/v1alpha1)