Skip to content
Streamkap
Esc
navigateopen⌘Jpreview

Get dashboard lineage groups

Returns lineage groups (sources, destinations, or transforms) with aggregated metrics. Use the group_by parameter to select the grouping dimension.

GET/dashboard/lineage
Authorization
AuthorizationBearer token · headerrequired
Query parameters
group_bystring

Group lineage by entity type

default: "source"
Allowed:sourcedestinationtransformsource_audit
searchstring | any

Search filter for group names

sortLineageGroupSortEnum | any

Sort field for lineage groups

sort_dirstring

Sort direction

default: "desc"
Allowed:ascdesc
pageinteger

Page number (1-indexed)

min 1 · default: 1
page_sizeinteger

Results per page

min 1 · max 100 · default: 10
include_metricsboolean

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

default: true
topic_namestring | any

Filter groups to those with matching topics (substring, case-insensitive)

source_idsstring | any

Comma-separated source entity IDs to filter groups by

destination_idsstring | any

Comma-separated destination entity IDs to filter groups by

transform_idsstring | any

Comma-separated transform entity IDs to filter groups by

include_topicsboolean

When true, embed first page of enriched topics in each group

default: false
topics_page_sizeinteger

Max topics to embed per group

min 1 · max 100 · default: 20
topics_sortstring

Sort field for embedded topics

default: "byteTotal"
Allowed:byteTotallatencyspeedlagname
topics_sort_dirstring

Sort direction for embedded topics

default: "desc"
Allowed:ascdesc
diff_bandsstring | any

Comma-separated diff% bands for topic filtering (audit tab). Each band is 'min-max' (inclusive). Multi-select: topic passes if its rounded-to-2-decimals max diff% falls in ANY band. Example: '0-0.05,2-10'.

latencystring | any

Filter groups by max_latency_ms using "op:value" syntax (e.g. "gt:300000"). Ops: gt|gte|lt|lte|eq|ne.

lagstring | any

Filter groups by total_lag using "op:value" syntax (e.g. "gt:1000"). Ops: gt|gte|lt|lte|eq|ne.

snapshotstring | any

Filter groups by snapshot state. Comma-separated list: running|pending|completed|failed|not_started.

Responses
200

Successful Response

pageinteger

Current page number

default: 1
page_sizeinteger

Results per page

default: 10
totalinteger | any

Total number of results

Show properties
Any of:
integer
integer
any
any
has_nextboolean | any

Whether more pages exist

Show properties
Any of:
boolean
boolean
any
any
resultLineageGroupRes[]

List of lineage groups

Show properties
Array of LineageGroupRes
idstringrequired

Group ID

entity_idstringrequired

Entity ID

namestringrequired

Display name

typestringrequired

Entity type: 'source', 'destination', or 'transform'

connectorstring

Connector type identifier

default: ""
statusstring

Current status

default: ""
topic_countinteger

Number of associated topics. Reflects filtered count when topic_name and include_topics are both set.

default: 0
total_topic_countinteger

Total number of topics regardless of topic_name filter

default: 0
metricsLineageGroupMetricsRes | any

Group-level metrics. Null when include_metrics=false.

Show properties
Any of:
LineageGroupMetricsRes
max_latency_msinteger

Maximum latency in milliseconds

default: 0
total_speed_rpsnumber

Total speed in records per second

default: 0
total_laginteger

Total consumer lag across all topics (sum)

default: 0
max_dest_latency_msinteger

Worst-partition destination wall-clock consumer latency (ms) across all reachable dest topics.

default: 0
topic_countinteger

Number of topics

default: 0
error_countinteger

Number of errors

default: 0
any
any
snapshot_progressSourceSnapshotProgressRes | any

Snapshot progress. Only present for source groups when include_metrics=true.

Show properties
Any of:
SourceSnapshotProgressRes
statestringrequired

Snapshot state: running, pending, completed, failed, or not_started

snapshot_typestring

Snapshot type: incremental or blocking

default: "incremental"
total_topic_countinteger

Logical topics (selectors) in the snapshot — what the user sees. Equals total_table_count unless a selector fanned out (sharded/regex).

default: 0
remaining_topic_countinteger

Logical topics still to be processed

default: 0
done_topic_countinteger

Logical topics in a terminal DONE/COMPLETED state

default: 0
cancelled_topic_countinteger

Logical topics cancelled by the user before completing

default: 0
failed_topic_countinteger

Logical topics that terminated in a FAILED state

default: 0
total_table_countinteger

Physical tables in the snapshot — expanded per shard/regex match. Exceeds total_topic_count only on fanout.

default: 0
remaining_table_countinteger

Physical tables still to be processed

default: 0
rows_totalinteger

Total source rows across all tables (from QA metrics). 0 if unavailable.

default: 0
rows_scannedinteger

Total rows scanned across all tables. 0 if unavailable.

default: 0
progress_typestring

Whether percent_complete is based on row counts ('rows') or table counts ('tables').

default: "tables"
Allowed:rowstables
percent_completenumber

Snapshot completion percentage (0-100)

default: 0
eta_msinteger

Estimated milliseconds to completion

default: 0
start_timestampstring | any

Snapshot start time (UTC)

Show properties
Any of:
string
string
any
any
end_timestampstring | any

Snapshot end time (UTC)

Show properties
Any of:
string
string
any
any
any
any
last_audit_atstring | any

ISO timestamp of the last completed QA metrics audit for this group. Only present for source_audit groups.

Show properties
Any of:
string
string
any
any
topicsEmbeddedTopicsRes | any

Embedded topics. Present when include_topics=true.

Show properties
Any of:
EmbeddedTopicsRes
resultLineageTopicRes[]

Enriched topics for this group

Show properties
Array of LineageTopicRes
idstringrequired

Topic entity ID

namestringrequired

Full topic name

sourceTopicSourceRefrequired

Reference to the source that produces a topic.

Show properties
idstringrequired

Source entity ID

namestringrequired

Source display name

connectorstring

Source connector type

default: ""
snapshot_progressSourceSnapshotProgressRes | any

Snapshot progress. Null when include_metrics=false or no snapshot data.

Show properties
Any of:
SourceSnapshotProgressRes
statestringrequired

Snapshot state: running, pending, completed, failed, or not_started

snapshot_typestring

Snapshot type: incremental or blocking

default: "incremental"
total_topic_countinteger

Logical topics (selectors) in the snapshot — what the user sees. Equals total_table_count unless a selector fanned out (sharded/regex).

default: 0
remaining_topic_countinteger

Logical topics still to be processed

default: 0
done_topic_countinteger

Logical topics in a terminal DONE/COMPLETED state

default: 0
cancelled_topic_countinteger

Logical topics cancelled by the user before completing

default: 0
failed_topic_countinteger

Logical topics that terminated in a FAILED state

default: 0
total_table_countinteger

Physical tables in the snapshot — expanded per shard/regex match. Exceeds total_topic_count only on fanout.

default: 0
remaining_table_countinteger

Physical tables still to be processed

default: 0
rows_totalinteger

Total source rows across all tables (from QA metrics). 0 if unavailable.

default: 0
rows_scannedinteger

Total rows scanned across all tables. 0 if unavailable.

default: 0
progress_typestring

Whether percent_complete is based on row counts ('rows') or table counts ('tables').

default: "tables"
Allowed:rowstables
percent_completenumber

Snapshot completion percentage (0-100)

default: 0
eta_msinteger

Estimated milliseconds to completion

default: 0
start_timestampstring | any

Snapshot start time (UTC)

Show properties
Any of:
string
string
any
any
end_timestampstring | any

Snapshot end time (UTC)

Show properties
Any of:
string
string
any
any
any
any
metricsTopicMetricsDetailRes | any

Topic-level metrics. Null when include_metrics=false.

Show properties
Any of:
TopicMetricsDetailRes
StreamingMilliSecondsBehindSourceinteger

Streaming latency in milliseconds

default: 0
SnapshotPercentageCompleteinteger

Snapshot completion percentage (uppercase)

default: 0
recordSendTotalinteger

Total records sent

default: 0
sourceRecordWriteTotalinteger

Total source records written

default: 0
snapshotPercentageCompleteinteger

Snapshot completion percentage (lowercase)

default: 0
recordsLaginteger

Consumer records lag

default: 0
byteTotalinteger

Total bytes processed

default: 0
sourceRecordPollRatenumber

Source record poll rate (records/sec)

default: 0
sourceQaCountnumber | any

Source DB row count from metrics_qa. Null when not collected.

Show properties
Any of:
number
number
any
any
any
any
snapshot_statusstring | any

Latest snapshot status for this topic: running, pending, completed, failed, or null if never snapshotted.

Show properties
Any of:
string
string
any
any
snapshot_detailsTopicSnapshotStatusRes[]

Detailed snapshot history for this topic. Empty list if never snapshotted.

Show properties
Array of TopicSnapshotStatusRes
statusstringrequired

Snapshot status: running, pending, completed, failed

start_timestampstring | any

Snapshot start time (UTC)

Show properties
Any of:
string
string
any
any
end_timestampstring | any

Snapshot end time (UTC)

Show properties
Any of:
string
string
any
any
duration_msinteger | any

Snapshot duration in milliseconds

Show properties
Any of:
integer
integer
any
any
rows_scannedinteger

Number of rows scanned so far

default: 0
rows_totalinteger

Total number of rows to scan

default: 0
tracestring | any

Error trace message for failed snapshots

Show properties
Any of:
string
string
any
any
eta_msinteger

Estimated milliseconds to completion

default: 0
transformsTopicTransformRef[]

Transforms applied to this topic

Show properties
Array of TopicTransformRef
idstringrequired

Transform entity ID

namestringrequired

Transform display name

statusstring

Transform status (e.g. RUNNING)

default: ""
metricsTransformMetricsRes | any

Transform-level metrics. Null when include_metrics=false.

Show properties
Any of:
TransformMetricsRes
latencyinteger

Transform processing latency in milliseconds

default: 0
any
any
output_topicsstring[]

Output topics from this transform

transform_typeTransformsLibraryEnum | any

Transform library type (e.g. topic_router, sql_join)

Show properties
Any of:
TransformsLibraryEnum
string
any
any
destinationsTopicDestinationRef[]

Destinations consuming this transform's output topics, with lag/count keyed to the output topic.

Show properties
Array of TopicDestinationRef
idstringrequired

Destination entity ID

namestringrequired

Destination display name

connectorstring

Destination connector type

default: ""
pipeline_idstring

Pipeline entity ID

default: ""
pipeline_statusstring

Pipeline status

default: ""
laginteger | any

Destination consumer lag. Null when include_metrics=false.

Show properties
Any of:
integer
integer
any
any
latency_msinteger | any

Destination wall-clock consumer latency in milliseconds (worst partition). Null when include_metrics=false or no probe sample exists yet.

Show properties
Any of:
integer
integer
any
any
qaCountnumber | any

Destination row count for this topic from metrics_qa. Null when not collected.

Show properties
Any of:
number
number
any
any
e2e_eta_msinteger | any

Estimated milliseconds for destination to fully consume remaining data. Shown during active snapshots or when lag exceeds threshold. -1 means records are remaining but destination is not consuming (stalled). Null when not applicable.

Show properties
Any of:
integer
integer
any
any
destinationsTopicDestinationRef[]

Destinations consuming this topic

Show properties
Array of TopicDestinationRef
idstringrequired

Destination entity ID

namestringrequired

Destination display name

connectorstring

Destination connector type

default: ""
pipeline_idstring

Pipeline entity ID

default: ""
pipeline_statusstring

Pipeline status

default: ""
laginteger | any

Destination consumer lag. Null when include_metrics=false.

Show properties
Any of:
integer
integer
any
any
latency_msinteger | any

Destination wall-clock consumer latency in milliseconds (worst partition). Null when include_metrics=false or no probe sample exists yet.

Show properties
Any of:
integer
integer
any
any
qaCountnumber | any

Destination row count for this topic from metrics_qa. Null when not collected.

Show properties
Any of:
number
number
any
any
e2e_eta_msinteger | any

Estimated milliseconds for destination to fully consume remaining data. Shown during active snapshots or when lag exceeds threshold. -1 means records are remaining but destination is not consuming (stalled). Null when not applicable.

Show properties
Any of:
integer
integer
any
any
totalinteger

Total matching topics in this group

default: 0
pageinteger

Page number (always 1 for embedded)

default: 1
has_nextboolean

Whether more topics exist beyond this page

default: false
any
any
422

Validation Error

detailValidationError[]
Show properties
Array of ValidationError
locstring | integer[]required
Show properties
Array of string | integer
Any of:
string
string
integer
integer
msgstringrequired
typestringrequired
inputany
ctxobject
Request
curl -X GET "https://api.streamkap.com/dashboard/lineage" \
  -H "Authorization: Bearer YOUR_TOKEN"
Response
{
  "page": 1,
  "page_size": 10,
  "total": 0,
  "has_next": true,
  "result": [
    {
      "id": "string",
      "entity_id": "string",
      "name": "string",
      "type": "string",
      "connector": "",
      "status": "",
      "topic_count": 0,
      "total_topic_count": 0,
      "metrics": {
        "max_latency_ms": 0,
        "total_speed_rps": 0,
        "total_lag": 0,
        "max_dest_latency_ms": 0,
        "topic_count": 0,
        "error_count": 0
      },
      "snapshot_progress": {
        "state": "string",
        "snapshot_type": "incremental",
        "total_topic_count": 0,
        "remaining_topic_count": 0,
        "done_topic_count": 0,
        "cancelled_topic_count": 0,
        "failed_topic_count": 0,
        "total_table_count": 0,
        "remaining_table_count": 0,
        "rows_total": 0,
        "rows_scanned": 0,
        "progress_type": "rows",
        "percent_complete": 0,
        "eta_ms": 0,
        "start_timestamp": "string",
        "end_timestamp": "string"
      },
      "last_audit_at": "string",
      "topics": {
        "result": [
          {
            "id": "string",
            "name": "string",
            "source": {
              "id": "string",
              "name": "string",
              "connector": "",
              "snapshot_progress": {
                "state": "string",
                "snapshot_type": "incremental",
                "total_topic_count": 0,
                "remaining_topic_count": 0,
                "done_topic_count": 0,
                "cancelled_topic_count": 0,
                "failed_topic_count": 0,
                "total_table_count": 0,
                "remaining_table_count": 0,
                "rows_total": 0,
                "rows_scanned": 0,
                "progress_type": "rows",
                "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": 0
            },
            "snapshot_status": "string",
            "snapshot_details": [
              {
                "status": "string",
                "start_timestamp": "string",
                "end_timestamp": "string",
                "duration_ms": 0,
                "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": 0,
                    "latency_ms": 0,
                    "qaCount": 0,
                    "e2e_eta_ms": 0
                  }
                ]
              }
            ],
            "destinations": [
              {
                "id": "string",
                "name": "string",
                "connector": "",
                "pipeline_id": "",
                "pipeline_status": "",
                "lag": 0,
                "latency_ms": 0,
                "qaCount": 0,
                "e2e_eta_ms": 0
              }
            ]
          }
        ],
        "total": 0,
        "page": 1,
        "has_next": false
      }
    }
  ]
}