Skip to main content
GET
/
dashboard
/
lineage
/
topics
Get dashboard lineage topics
curl --request GET \
  --url https://api.streamkap.com/dashboard/lineage/topics \
  --header 'Authorization: Bearer <token>'
{
  "page": 1,
  "page_size": 10,
  "total": 123,
  "has_next": true,
  "result": [
    {
      "id": "<string>",
      "name": "<string>",
      "source": {
        "id": "<string>",
        "name": "<string>",
        "connector": "",
        "snapshot_progress": {
          "state": "<string>",
          "snapshot_type": "incremental",
          "total_table_count": 0,
          "remaining_table_count": 0,
          "percent_complete": 0,
          "eta_ms": 0,
          "start_timestamp": "<string>",
          "end_timestamp": "<string>"
        }
      },
      "metrics": {
        "StreamingMilliSecondsBehindSource": 0,
        "SnapshotPercentageComplete": 0,
        "recordSendTotal": 0,
        "sourceRecordWriteTotal": 0,
        "snapshotPercentageComplete": 0,
        "recordsLag": 0,
        "byteTotal": 0,
        "sourceRecordPollRate": 0,
        "sourceQaCount": 123
      },
      "snapshot_status": "<string>",
      "snapshot_details": [
        {
          "status": "<string>",
          "start_timestamp": "<string>",
          "end_timestamp": "<string>",
          "duration_ms": 123,
          "rows_scanned": 0,
          "rows_total": 0,
          "trace": "<string>",
          "eta_ms": 0
        }
      ],
      "transforms": [
        {
          "id": "<string>",
          "name": "<string>",
          "status": "",
          "metrics": {
            "latency": 0
          },
          "output_topics": [
            "<string>"
          ],
          "transform_type": "fan_out",
          "destinations": [
            {
              "id": "<string>",
              "name": "<string>",
              "connector": "",
              "pipeline_id": "",
              "pipeline_status": "",
              "lag": 123,
              "qaCount": 123,
              "e2e_eta_ms": 123
            }
          ]
        }
      ],
      "destinations": [
        {
          "id": "<string>",
          "name": "<string>",
          "connector": "",
          "pipeline_id": "",
          "pipeline_status": "",
          "lag": 123,
          "qaCount": 123,
          "e2e_eta_ms": 123
        }
      ]
    }
  ]
}

Authorizations

Authorization
string
header
required

Bearer authentication header of the form Bearer <token>, where <token> is your auth token.

Query Parameters

source_id
string | null

Filter by source entity ID

destination_id
string | null

Filter by destination entity ID

transform_id
string | null

Filter by transform entity ID

topic_name
string | null

Filter by topic name (substring match)

filter
string | null

Comma-separated topic filters: has_destination, orphaned, has_transform, dlq, snapshotting

include_dlq
boolean
default:true

When false, exclude DLQ topics

snapshot
enum<string> | null

Snapshot status filter: running, completed Snapshot status filter values for the lineage topics endpoint.

Available options:
running,
completed
page
integer
default:1

Page number (1-indexed)

Required range: x >= 1
page_size
integer
default:5

Results per page

Required range: 1 <= x <= 100
sort
enum<string>
default:byteTotal

Sort field

Available options:
byteTotal,
latency,
speed,
lag,
name
sort_dir
enum<string>
default:desc

Sort direction

Available options:
asc,
desc
include_metrics
boolean
default:true

When false, skip ClickHouse metrics and return metrics as null for faster initial render

global
boolean
default:false

When true, resolve QA counts across services (multi-hop pipelines)

Response

Successful Response

Response model for GET /dashboard/lineage/topics.

page
integer
default:1

Current page number

page_size
integer
default:10

Results per page

total
integer | null

Total number of results

has_next
boolean | null

Whether more pages exist

result
LineageTopicRes · object[]

List of topics with lineage info