Catalog — Lineage¶
Federated lineage subgraph.
Endpoint¶
GET /api/catalog/lineage?source=<source>&id=<asset>&host=<>&workspaceId=<>
Per source:
- Purview →
GET /datamap/api/atlas/v2/lineage/{guid}?direction=BOTH&depth=3(Atlas lineage) - Unity Catalog →
POST /api/2.0/lineage-tracking/table-lineage(Databricks lineage tracking, requires SQL warehouse runs to have hydrated the lineage store) - OneLake →
POST /v1.0/myorg/admin/workspaces/getInfo?lineage=truethen pollscanStatus/{id}then readscanResult/{id}. Tenant flight flag required.
Known constraints¶
- Fabric admin scan is tenant-flag gated. If the tenant has not enabled "Enhance admin APIs responses with detailed metadata" the route throws
OneLakeLineageNotSupportedErrorand the UI surfaces the exact admin remediation. This is documented honest config-only state perno-vaporware.md. - UC lineage is hydrated lazily — a table only has lineage edges after a SQL warehouse or notebook has actually read/written it. Empty edges for a newly-created table is not a bug.
- Cross-source lineage merge (collapsing nodes that share a
qualifiedNameacross Purview + UC) is a phase-2 deliverable. Today each source returns its own subgraph.
UI¶
/catalog/lineage — pick source, paste an asset id, render the radial subgraph. The detail page on each asset embeds the same component scoped to that asset.
We render pure SVG (no D3 / vis-network) to keep the bundle thin.