> ## Documentation Index
> Fetch the complete documentation index at: https://docs.streamkap.com/llms.txt
> Use this file to discover all available pages before exploring further.

# List all topics



## OpenAPI

````yaml /openapi/openapi.json get /topics/details
openapi: 3.1.0
info:
  title: Streamkap REST API
  description: >-
    The Streamkap REST API allows you to programmatically manage your CDC
    pipelines, sources, destinations, transforms, and more.


    Authenticate using a bearer token obtained from the [Access
    Token](/api-reference/auth/access-token) endpoint with your API client
    credentials.
  contact:
    name: Streamkap Support
    url: https://streamkap.com/
    email: support@streamkap.com
  license:
    name: Proprietary
  version: 2.0.0
servers:
  - url: https://api.streamkap.com
    description: Production
security: []
tags:
  - name: Alerts
    description: Manage alert subscribers, preferences, and notification credentials.
  - name: Authentication
    description: Obtain and refresh access tokens, manage client credentials and roles.
  - name: Billing
    description: Retrieve usage metrics, summaries, and export billing data.
  - name: Consumer Groups
    description: List, inspect, and reset Kafka consumer group offsets.
  - name: Dashboard
    description: Retrieve organisation-level statistics and overview data.
  - name: Destinations
    description: Create, configure, and manage data destinations and their lifecycle.
  - name: Kafka Access
    description: Manage Kafka users and their access permissions.
  - name: Logs
    description: Query and summarise system logs.
  - name: Pipelines
    description: Create, configure, and manage CDC pipelines and their lifecycle.
  - name: Project Keys
    description: Manage project keys that bundle API credentials and optional Kafka access.
  - name: Schema Registry
    description: Browse schema subjects, versions, and retrieve schema definitions.
  - name: Services
    description: View and switch service metadata.
  - name: Sources
    description: >-
      Create, configure, and manage data sources, snapshots, and their
      lifecycle.
  - name: Tags
    description: Create, update, and manage resource tags for organisation.
  - name: Topics
    description: Browse topic details, statistics, configurations, metrics, and messages.
  - name: Transforms
    description: >-
      Create, deploy, and manage data transforms, unit tests, and implementation
      details.
paths:
  /topics/details:
    get:
      tags:
        - Topics
      summary: List all topics
      operationId: listTopics
      parameters:
        - name: entity_type
          in: query
          required: false
          schema:
            anyOf:
              - type: string
              - type: 'null'
            description: >-
              Filter by entity type(s). Single value (e.g., 'sources') or
              comma-separated (e.g., 'sources,transforms'). Valid types:
              sources, destinations, transforms, pipelines, manual.
            title: Entity Type
          description: >-
            Filter by entity type(s). Single value (e.g., 'sources') or
            comma-separated (e.g., 'sources,transforms'). Valid types: sources,
            destinations, transforms, pipelines, manual.
        - name: topic_id
          in: query
          required: false
          schema:
            anyOf:
              - type: string
              - type: 'null'
            title: Topic Id
        - name: partial_name
          in: query
          required: false
          schema:
            anyOf:
              - type: string
              - type: 'null'
            description: Topic id
            title: Partial Name
          description: Topic id
        - name: page
          in: query
          required: false
          schema:
            type: integer
            default: 1
            title: Page
        - name: page_size
          in: query
          required: false
          schema:
            type: integer
            default: 10
            title: Page Size
        - name: entity_id
          in: query
          required: false
          schema:
            anyOf:
              - type: string
              - type: 'null'
            description: Filter by specific entity IDs (comma-separated list)
            title: Entity Id
          description: Filter by specific entity IDs (comma-separated list)
        - name: include_dlq
          in: query
          required: false
          schema:
            type: boolean
            description: >-
              Include Dead Letter Queue (DLQ) topics in results. Set to false to
              exclude DLQ topics.
            default: true
            title: Include Dlq
          description: >-
            Include Dead Letter Queue (DLQ) topics in results. Set to false to
            exclude DLQ topics.
        - name: snapshot
          in: query
          required: false
          schema:
            anyOf:
              - type: string
              - type: 'null'
            description: >-
              Filter topics by snapshot status. Comma-separated for multiple
              statuses (e.g., 'running', 'completed,failed'). Valid statuses:
              running, completed, failed, pending, cancelled
            title: Snapshot
          description: >-
            Filter topics by snapshot status. Comma-separated for multiple
            statuses (e.g., 'running', 'completed,failed'). Valid statuses:
            running, completed, failed, pending, cancelled
        - name: eta
          in: query
          required: false
          schema:
            anyOf:
              - type: string
              - type: 'null'
            description: >-
              Filter by snapshot ETA in milliseconds. Format: 'operator:value'
              (e.g., 'gt:60000', 'lte:300000'). Valid operators: gt (>), lt (<),
              gte (>=), lte (<=), eq (=), ne (!=). Topics without ETA (null/0)
              are excluded when filtering.
            title: Eta
          description: >-
            Filter by snapshot ETA in milliseconds. Format: 'operator:value'
            (e.g., 'gt:60000', 'lte:300000'). Valid operators: gt (>), lt (<),
            gte (>=), lte (<=), eq (=), ne (!=). Topics without ETA (null/0) are
            excluded when filtering.
        - name: timestamp_from
          in: query
          required: false
          schema:
            anyOf:
              - type: string
              - type: 'null'
            description: >-
              Start timestamp for filtering topics by activity period (ISO 8601
              format)
            title: Timestamp From
          description: >-
            Start timestamp for filtering topics by activity period (ISO 8601
            format)
        - name: timestamp_to
          in: query
          required: false
          schema:
            anyOf:
              - type: string
              - type: 'null'
            description: >-
              End timestamp for filtering topics by activity period (ISO 8601
              format)
            title: Timestamp To
          description: >-
            End timestamp for filtering topics by activity period (ISO 8601
            format)
        - name: time_type
          in: query
          required: false
          schema:
            anyOf:
              - type: string
                enum:
                  - timeseries
                  - timesummary
                  - latest
              - type: 'null'
            description: >-
              Time aggregation type for filtering active topics (only applies
              when timestamp_from/to are specified)
            title: Time Type
          description: >-
            Time aggregation type for filtering active topics (only applies when
            timestamp_from/to are specified)
        - name: value_format
          in: query
          required: false
          schema:
            anyOf:
              - type: string
              - type: 'null'
            description: >-
              Filter by serialization value format. Valid values: avro, json,
              json_schema, protobuf, string, bytearray. Case-insensitive. Omit
              or pass null to return all formats.
            title: Value Format
          description: >-
            Filter by serialization value format. Valid values: avro, json,
            json_schema, protobuf, string, bytearray. Case-insensitive. Omit or
            pass null to return all formats.
        - name: has_errors
          in: query
          required: false
          schema:
            anyOf:
              - type: boolean
              - type: 'null'
            description: >-
              Filter topics by error status. true = only topics with
              recordErrorTotal > 0, false = only topics with recordErrorTotal ==
              0, null/omit = return all topics.
            title: Has Errors
          description: >-
            Filter topics by error status. true = only topics with
            recordErrorTotal > 0, false = only topics with recordErrorTotal ==
            0, null/omit = return all topics.
        - name: orphaned
          in: query
          required: false
          schema:
            anyOf:
              - type: boolean
              - type: 'null'
            description: >-
              Filter by orphaned status. true = only topics with 0 destinations,
              false = only topics with destinations.
            title: Orphaned
          description: >-
            Filter by orphaned status. true = only topics with 0 destinations,
            false = only topics with destinations.
        - name: partition_skew
          in: query
          required: false
          schema:
            anyOf:
              - type: boolean
              - type: 'null'
            description: >-
              Filter by partition skew. true = only topics where max partition
              lag > 2x average.
            title: Partition Skew
          description: >-
            Filter by partition skew. true = only topics where max partition lag
            > 2x average.
        - name: sort
          in: query
          required: false
          schema:
            anyOf:
              - type: string
              - type: 'null'
            description: >-
              Sort field. Can be a DB field (name, connector) or a metric field
              (byteTotal, recordsLag, etc.)
            title: Sort
          description: >-
            Sort field. Can be a DB field (name, connector) or a metric field
            (byteTotal, recordsLag, etc.)
        - name: sort_dir
          in: query
          required: false
          schema:
            enum:
              - asc
              - desc
            type: string
            default: asc
            title: Sort Dir
        - name: tag_ids
          in: query
          required: false
          schema:
            anyOf:
              - type: string
              - type: 'null'
            description: >-
              Filter by tag IDs. Comma-separated list (e.g., 'tag1,tag2'). Use
              with tag_filter_operation to control AND/OR logic.
            title: Tag Ids
          description: >-
            Filter by tag IDs. Comma-separated list (e.g., 'tag1,tag2'). Use
            with tag_filter_operation to control AND/OR logic.
        - name: tag_filter_operation
          in: query
          required: false
          schema:
            anyOf:
              - type: string
                enum:
                  - and
                  - or
              - type: 'null'
            description: >-
              Tag filter logic: 'or' (default) matches any tag, 'and' matches
              all tags.
            default: or
            title: Tag Filter Operation
          description: >-
            Tag filter logic: 'or' (default) matches any tag, 'and' matches all
            tags.
      requestBody:
        content:
          application/json:
            schema:
              anyOf:
                - $ref: '#/components/schemas/TopicDetailsReqBody'
                - type: 'null'
              title: Body
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/TopicsDetailsRes'
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
      security:
        - FronteggHTTPAuthentication: []
components:
  schemas:
    TopicDetailsReqBody:
      properties:
        entity_id:
          anyOf:
            - items:
                type: string
              type: array
            - type: string
            - type: 'null'
          title: Entity Id
          description: >-
            List of entity IDs (as array) or comma-separated string. Body takes
            precedence over query params.
        snapshot:
          anyOf:
            - items:
                type: string
              type: array
            - type: string
            - type: 'null'
          title: Snapshot
          description: >-
            List of snapshot statuses (as array) or comma-separated string. Body
            takes precedence over query params. Valid statuses: running,
            completed, failed, pending, cancelled
        value_format:
          anyOf:
            - type: string
            - type: 'null'
          title: Value Format
          description: >-
            Filter by serialization value format. Valid values: avro, json,
            json_schema, protobuf, string, bytearray. Case-insensitive. Body
            takes precedence over query params.
        has_errors:
          anyOf:
            - type: boolean
            - type: 'null'
          title: Has Errors
          description: >-
            Filter topics by error status. true = only topics with errors, false
            = only topics without errors. Body takes precedence over query
            params.
        orphaned:
          anyOf:
            - type: boolean
            - type: 'null'
          title: Orphaned
          description: >-
            Filter by orphaned status. true = only topics with 0 destinations,
            false = only topics with destinations. Body takes precedence over
            query params.
        partition_skew:
          anyOf:
            - type: boolean
            - type: 'null'
          title: Partition Skew
          description: >-
            Filter by partition skew. true = only topics where max partition lag
            > 2x average. Body takes precedence over query params.
        tag_ids:
          anyOf:
            - items:
                type: string
              type: array
            - type: string
            - type: 'null'
          title: Tag Ids
          description: >-
            List of tag IDs (as array) or comma-separated string. Body takes
            precedence over query params.
        tag_filter_operation:
          anyOf:
            - type: string
              enum:
                - and
                - or
            - type: 'null'
          title: Tag Filter Operation
          description: >-
            Tag filter logic: 'or' (default) matches any tag, 'and' matches all
            tags. Body takes precedence over query params.
      additionalProperties: true
      type: object
      title: TopicDetailsReqBody
      description: >-
        Body model for POST /topics/details/search requests.


        Supports large lists of entity IDs that would exceed URL length limits
        when using GET.

        Body parameters take precedence over query parameters when both are
        provided.
    TopicsDetailsRes:
      properties:
        page:
          type: integer
          title: Page
          description: Current page number
          default: 1
        page_size:
          type: integer
          title: Page Size
          description: Results per page
          default: 10
        total:
          anyOf:
            - type: integer
            - type: 'null'
          title: Total
          description: Total number of results
        has_next:
          anyOf:
            - type: boolean
            - type: 'null'
          title: Has Next
          description: Whether more pages exist
        result:
          items:
            $ref: '#/components/schemas/TopicDetailsRes'
          type: array
          title: Result
      additionalProperties: true
      type: object
      required:
        - result
      title: TopicsDetailsRes
    HTTPValidationError:
      properties:
        detail:
          items:
            $ref: '#/components/schemas/ValidationError'
          type: array
          title: Detail
      type: object
      title: HTTPValidationError
    TopicDetailsRes:
      properties:
        id:
          type: string
          title: Id
        name:
          type: string
          title: Name
        entity:
          $ref: '#/components/schemas/TopicDetailsEntity'
        prefix:
          anyOf:
            - type: string
            - type: 'null'
          title: Prefix
        serialization:
          anyOf:
            - $ref: '#/components/schemas/TopicSerialization'
            - type: 'null'
          description: >-
            Serialization format information for this topic (inherited from
            producer)
        tags:
          anyOf:
            - items:
                type: string
              type: array
            - type: 'null'
          title: Tags
          description: List of tag IDs assigned to this topic
      additionalProperties: true
      type: object
      required:
        - id
        - name
        - entity
      title: TopicDetailsRes
    ValidationError:
      properties:
        loc:
          items:
            anyOf:
              - type: string
              - type: integer
          type: array
          title: Location
        msg:
          type: string
          title: Message
        type:
          type: string
          title: Error Type
        input:
          title: Input
        ctx:
          type: object
          title: Context
      type: object
      required:
        - loc
        - msg
        - type
      title: ValidationError
    TopicDetailsEntity:
      properties:
        entity_type:
          $ref: '#/components/schemas/TopicDetailsEntityTypeEnum'
        entity_id:
          type: string
          title: Entity Id
        name:
          type: string
          title: Name
        connector:
          anyOf:
            - $ref: '#/components/schemas/SourceConnectorEnum'
            - $ref: '#/components/schemas/DestinationConnectorEnum'
            - $ref: '#/components/schemas/TransformsLibraryEnum'
            - type: string
          title: Connector
        topic_ids:
          items:
            type: string
          type: array
          title: Topic Ids
        topic_db_ids:
          items:
            type: string
          type: array
          title: Topic Db Ids
        display_name:
          type: string
          title: Display Name
      additionalProperties: true
      type: object
      required:
        - entity_type
        - entity_id
        - name
        - connector
        - topic_ids
        - topic_db_ids
        - display_name
      title: TopicDetailsEntity
    TopicSerialization:
      properties:
        key_format:
          $ref: '#/components/schemas/SerializationFormatEnum'
          description: Serialization format for message keys (e.g., avro, json, string)
          default: unknown
        value_format:
          $ref: '#/components/schemas/SerializationFormatEnum'
          description: Serialization format for message values (e.g., avro, json, protobuf)
          default: unknown
        key_converter:
          anyOf:
            - type: string
            - type: 'null'
          title: Key Converter
          description: Converter class for message keys
        value_converter:
          anyOf:
            - type: string
            - type: 'null'
          title: Value Converter
          description: Converter class for message values
        schema_registry_enabled:
          type: boolean
          title: Schema Registry Enabled
          description: Whether Schema Registry is used for this topic's serialization
          default: false
      additionalProperties: true
      type: object
      title: TopicSerialization
      description: >-
        Serialization format information for a topic.


        Topics inherit their serialization format from their producer
        (source/transform).

        Most Streamkap sources use Avro by default with Schema Registry.
    TopicDetailsEntityTypeEnum:
      type: string
      enum:
        - sources
        - destinations
        - transforms
        - pipelines
        - manual
      title: TopicDetailsEntityTypeEnum
      description: Enum for topic entity types (producer types).
    SourceConnectorEnum:
      type: string
      enum:
        - alloydb
        - elasticsearch
        - mongodbhosted
        - mongodb
        - sqlserveraws
        - mariadb
        - mysql
        - postgresql
        - oracle
        - documentdb
        - oracleaws
        - kafkadirect
        - redis
        - s3
        - webhook
        - zendesk_webhook
        - salesforce_webhook
        - db2
        - dynamodb
        - vitess
        - planetscale
        - supabase
      title: SourceConnectorEnum
      description: |-
        Available source connector types for CDC data ingestion.

        Includes relational databases (PostgreSQL, MySQL, SQL Server, Oracle),
        NoSQL databases (MongoDB, DynamoDB), and direct Kafka connections.
    DestinationConnectorEnum:
      type: string
      enum:
        - azblob
        - clickhouse
        - databricks
        - mysql
        - postgresql
        - redshift
        - s3
        - r2
        - gcs
        - motherduck
        - weaviate
        - pinecone
        - httpsink
        - sqlserver
        - bigquery
        - cockroachdb
        - db2
        - oracle
        - redis
        - snowflake
        - starburst
        - kafka
        - kafkadirect
        - iceberg
      title: DestinationConnectorEnum
      description: |-
        Available destination connector types for data delivery.

        Supports data warehouses (Snowflake, BigQuery, Databricks),
        databases (ClickHouse, PostgreSQL), and object storage (S3, Iceberg).
    TransformsLibraryEnum:
      type: string
      enum:
        - fan_out
        - sql_join
        - enrich
        - enrich_async
        - map_filter
        - toast_handling
        - un_nesting
        - rollup
        - topic_router
      title: TransformsLibraryEnum
    SerializationFormatEnum:
      type: string
      enum:
        - avro
        - json
        - json_schema
        - protobuf
        - string
        - bytearray
        - unknown
      title: SerializationFormatEnum
      description: Human-readable serialization format names for API responses.
  securitySchemes:
    FronteggHTTPAuthentication:
      type: http
      scheme: bearer

````