Skip to content

HTTP API / Lineage

Lineage API ​

6 operations. Paths are relative to the API host (http://localhost:5080 in local development). Every operation accepts an OIDC bearer token (Authorization: Bearer …) or a workspace API key (X-Api-Key: keel_live_…); errors are RFC 9457 Problem Details with a code (error codes). Permissions: matrix.

MethodPathSummary
POST/api/v1/lineage/openlineageIngest an OpenLineage RunEvent (inputs, outputs, columnLineage facet). The workspace is the API key's, or ?workspaceId= for users.
GET/api/v1/workspaces/{workspaceId}/lineageColumn-level lineage around an asset (docs/02 §6 reference): nodes with DQ status, edges, consumers. direction=up|down|both, depth 1–10.
POST/api/v1/workspaces/{workspaceId}/lineage:rebuildQueue a lineage rebuild (it also runs after every release and scan).
POST/api/v1/workspaces/{workspaceId}/lineage/dbtImport a dbt manifest.json: model dependencies become dataset-level lineage, mapped onto scanned tables.
GET/api/v1/workspaces/{workspaceId}/lineage/impactEverything downstream of an asset: model objects, releases, exports and serving consumers with last-used dates.
GET/api/v1/workspaces/{workspaceId}/lineage/scopesLineage sources (models, view definitions, OpenLineage jobs, dbt projects) with edge counts and parser warnings.

IngestOpenLineageEvent ​

http
POST /api/v1/lineage/openlineage

Ingest an OpenLineage RunEvent (inputs, outputs, columnLineage facet). The workspace is the API key's, or ?workspaceId= for users.

ParameterInTypeRequiredNotes
workspaceIdqueryuuidno

Request body (application/json): JsonElement

StatusDescriptionBody
200OKLineageIngestedDto

Response 200: LineageIngestedDto

FieldTypeNotes
edgesint32
mappedDatasetsint32
scopestring
unmappedstring[]
warningsstring[]

GetLineage ​

http
GET /api/v1/workspaces/{workspaceId}/lineage

Column-level lineage around an asset (docs/02 §6 reference): nodes with DQ status, edges, consumers. direction=up|down|both, depth 1–10.

ParameterInTypeRequiredNotes
workspaceIdpathuuidyes
assetRefquerystringyes
directionquerystringno
depthqueryint32no
StatusDescriptionBody
200OKLineageGraphDto

Response 200: LineageGraphDto

FieldTypeNotes
depthint32
directionstring
edgesLineageEdgeDto[]
nodesLineageNodeDto[]
notesstring[]
rootstring
rootKindLineageNodeKindOne of Table, View, Column, Entity, Dimension, Measure, Metric, Release, Export, Consumer, ExternalDataset, ExternalColumn
truncatedboolean

RebuildLineage ​

http
POST /api/v1/workspaces/{workspaceId}/lineage:rebuild

Queue a lineage rebuild (it also runs after every release and scan).

ParameterInTypeRequiredNotes
workspaceIdpathuuidyes

Request body (application/json): RebuildLineageRequest?

StatusDescriptionBody
202AcceptedLineageRebuildQueuedDto

Response 202: LineageRebuildQueuedDto

FieldTypeNotes
jobIduuid

ImportDbtManifest ​

http
POST /api/v1/workspaces/{workspaceId}/lineage/dbt

Import a dbt manifest.json: model dependencies become dataset-level lineage, mapped onto scanned tables.

ParameterInTypeRequiredNotes
workspaceIdpathuuidyes

Request body (application/json): JsonElement

StatusDescriptionBody
200OKLineageIngestedDto

Response 200: LineageIngestedDto

FieldTypeNotes
edgesint32
mappedDatasetsint32
scopestring
unmappedstring[]
warningsstring[]

GetLineageImpact ​

http
GET /api/v1/workspaces/{workspaceId}/lineage/impact

Everything downstream of an asset: model objects, releases, exports and serving consumers with last-used dates.

ParameterInTypeRequiredNotes
workspaceIdpathuuidyes
assetRefquerystringyes
StatusDescriptionBody
200OKImpactDto

Response 200: ImpactDto

FieldTypeNotes
assetRefstring
assetsImpactedAssetDto[]
consumersImpactConsumerDto[]
exportsImpactConsumerDto[]
kindLineageNodeKindOne of Table, View, Column, Entity, Dimension, Measure, Metric, Release, Export, Consumer, ExternalDataset, ExternalColumn
labelstring
notesstring[]
releasesImpactConsumerDto[]

ListLineageScopes ​

http
GET /api/v1/workspaces/{workspaceId}/lineage/scopes

Lineage sources (models, view definitions, OpenLineage jobs, dbt projects) with edge counts and parser warnings.

ParameterInTypeRequiredNotes
workspaceIdpathuuidyes
StatusDescriptionBody
200OKLineageScopeDto[]

Anchor Keel is a working product name: one platform, a shared core and licensed modules (Keel Semantic, Keel Migrate). Documentation built from the repository — facts are derived from code, ADRs and the decisions log.