---
title: "List of Tableflow Topics"
method: GET
path: "/tableflow/v1/tableflow-topics"
tags: ["Tableflow Topics (tableflow/v1)"]
---

# List of Tableflow Topics

`GET /tableflow/v1/tableflow-topics`

[![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.

## Query parameters

- `spec.table_formats` string[] — Filter a collection by a string search for one or more values
- `environment` string, required — Filter a collection by a string search
- `spec.kafka_cluster` string, required — Filter a collection by a string search
- `page_size` integer
- `page_token` string

## Response `200`

Tableflow Topic.

- object — A Tableflow Topic represents configuration related to a Tableflow enabled kafka topic ## The Tableflow Topics Model <SchemaDefinition schemaRef="#/components/schemas/tableflow.v1.TableflowTopic" />
  - `api_version` 'tableflow/v1', required — APIVersion defines the schema version of this representation of a resource.
  - `kind` 'TableflowTopicList', required — Kind defines the object this REST resource represents.
  - `metadata` object, required — ListMeta describes metadata that resource collections may have
    - `first` string, uri, nullable — 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.
    - `last` string, uri, nullable — 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.
    - `prev` string, uri, nullable — 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.
    - `next` string, uri, nullable — A link to the next page of results. If a response does not contain a next link, then there is no more data available.
    - `total_size` integer — Number of records in the full result set. This response may be paginated and have a smaller number of records.
  - `data` object[], required — A data property that contains an array of resource items. Each entry in the array is a separate resource.
    - `api_version` 'tableflow/v1' — APIVersion defines the schema version of this representation of a resource.
    - `kind` 'TableflowTopic' — Kind defines the object this REST resource represents.
    - `metadata` object, required — ObjectMeta is metadata that all persisted resources must have, which includes all objects users must create.
      - `self` string, uri, required — 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
      - `resource_name` string, uri — Resource Name is a Uniform Resource Identifier (URI) that is globally unique across space and time. It is represented as a Confluent Resource Name
      - `created_at` string, date-time — The date and time at which this object was created. It is represented in RFC3339 format and is in UTC.
      - `updated_at` string, date-time — The date and time at which this object was last updated. It is represented in RFC3339 format and is in UTC.
      - `deleted_at` string, date-time — The date and time at which this object was (or will be) deleted. It is represented in RFC3339 format and is in UTC.
    - `spec` object, required — The desired state of the Tableflow Topic
      - `display_name` string, required — The name of the Kafka topic for which Tableflow is enabled.
      - `suspended` boolean — 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.
      - `config` TableflowV1TableFlowTopicConfigsSpec — The configs for the Tableflow enabled topic
        - `enable_compaction` boolean — This flag determines whether to enable compaction for the Tableflow enabled topic.
        - `enable_partitioning` boolean — This flag determines whether to enable partitioning for the Tableflow enabled topic.
        - `retention_ms` string, int64 — 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).
        - `data_retention_ms` string, int64 — 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)
        - `record_failure_strategy` string — 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.
        - `error_handling` union — 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.
          - object — Configuration for the `SUSPEND` error handling mode.
            - `mode` 'SUSPEND', required — The error handling mode for the Tableflow enabled topic. In this mode, the materialization of the topic is suspended in case of record failures.
          - object — Configuration for the `SKIP` error handling mode.
            - `mode` 'SKIP', required — 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.
          - object — Configuration for the `LOG` error handling mode.
            - `mode` 'LOG', required — 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` string — 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`.
      - `storage` union, required — The storage config
        - object — The Tableflow storage config for BYOB enabled topic in AWS
          - `kind` 'ByobAws', required — The storage type
          - `bucket_name` string, required — Bucket name
          - `bucket_region` string — Bucket region
          - `provider_integration_id` string, required — The provider integration id
          - `table_path` string — The current storage path where the data and metadata is stored for this table
        - object — The storage config for confluent managed Tableflow enabled topic.
          - `kind` 'Managed', required — The storage type.
          - `table_path` string — The current storage path where the data and metadata is stored for this table
        - object — The Tableflow storage config for customer-owned Azure Data Lake Storage Gen2
          - `kind` 'AzureDataLakeStorageGen2', required — The storage type.
          - `storage_account_name` string, required — Storage Account Name
          - `container_name` string, required — Container name
          - `storage_region` string — Storage account region
          - `provider_integration_id` string, required — The provider integration id
          - `table_path` string — The current storage path where the data and metadata is stored for this table
      - `table_formats` string[] — The supported table formats for the Tableflow-enabled topic.
      - `environment` object, required — The environment to which the target Kafka cluster belongs.
        - `id` string, required — ID of the referred resource
        - `related` string, uri, required — API URL for accessing or modifying the referred object
        - `resource_name` string, uri, required — CRN reference to the referred resource
      - `kafka_cluster` object, required — The kafka cluster of the topic for which Tableflow is enabled
        - `id` string, required — ID of the referred resource
        - `environment` string — Environment of the referred resource, if env-scoped
        - `related` string, uri, required — API URL for accessing or modifying the referred object
        - `resource_name` string, uri, required — CRN reference to the referred resource
    - `status` TableflowV1TableflowTopicStatus, required — The status of the Tableflow Topic
      - `phase` string — The lifecycle phase of the Tableflow: PENDING: Tableflow setup is pending; RUNNING: Tableflow is currently running; FAILED: Tableflow failed
      - `error_message` string — Displayable error message if Tableflow topic is in an error state
      - `catalog_sync_statuses` TableflowV1CatalogSyncStatus[] — List of associated catalogs and their synchronization statuses for this Tableflow topic.
        - `catalog_integration_id` string — The ID of the catalog integration
        - `catalog_type` string — The type of the external catalog
        - `sync_status` string — The current synchronization status: PENDING: sync is pending; SYNCED: successfully synced; FAILED: sync failed; DISCONNECTED: catalog integration is disconnected.
        - `error_message` string, nullable — Error message if the sync failed. This field is only present when `sync_status` is `FAILED`.
      - `failing_table_formats` object[] — List of failing table formats for the Tableflow-enabled topic, including error details.
        - `format` string, required — The name of the table format (e.g., DELTA, ICEBERG).
        - `error_message` string, required — The error message for the failing table format.
      - `write_mode` string, required — The write mode for the Tableflow-enabled topic, determining how data is written to the table.

## Other responses

- `400` — Bad Request
- `401` — The request lacks valid authentication credentials for this resource.
- `403` — The access credentials were considered insufficient to grant access
- `429` — Rate Limit Exceeded
- `500` — Oops, something went wrong!

---

[API](https://skmtc.dev/confluent/apis/confluent-cloud-apis.md) · [All operations](https://skmtc.dev/confluent/apis/confluent-cloud-apis/llms.txt) · [OpenAPI document](https://skmtc-service-production.skmtc.workers.dev/v1/apis/confluent/confluent-cloud-apis/revisions/a6a73f98a698/schema)
