Lineage

Coverage and troubleshooting

Diagnose provider health, unresolved identity, disconnected assets, filters, and request bounds.

An empty graph does not prove that no dependency exists. Check provider delivery, identity resolution, source scope, filters, and response bounds.

Provider health

curl --get "https://api.embrasure.ai/v1/lineage/providers/$PROVIDER_ID/gaps" \
  --header "Authorization: Bearer $EMBRASURE_API_TOKEN" \
  --data-urlencode "workspace_id=$WORKSPACE_ID" \
  --data-urlencode "status=open" \
  --data-urlencode "limit=50"

Gap details include expected cadence, last receipt, backlog, normalizer version, and a bounded reason when available.

Identity issues

GET /v1/lineage/identity-issues lists ambiguous and unresolved assets. Filter by connector and status, then page with cursor.

Common fixes:

  • Sync the catalog scope that owns the missing endpoint.
  • Correct a producer's case-sensitive namespace or name.
  • Keep both sides of a cross-source relationship inside its immutable bindings.
  • Retry projection after catalog context becomes available.

For Google Cloud, also verify that the Data Lineage API was enabled in the project that ran the job before the job ran. BigQuery records supported jobs automatically after the API is enabled. Dataproc and Managed Service for Apache Spark require Spark lineage to be enabled at the project, cluster, batch, or session level; runtime 3.0 batches and sessions require the workload-level spark.dataproc.lineage.enabled=true setting. Google lineage can take up to 24 hours to appear, after which Embrasure imports it on the next BigQuery connector sync.

Filters

Read filters narrow a response. They do not change connector scope or delete evidence. To change what the graph serves for every consumer, use a lineage policy.

Disconnected assets

GET /v1/lineage/disconnected-assets returns catalog tables without a resolved upstream edge, downstream edge, or either. workspace_id is required; optionally filter by one connector_id and a reason, then page with cursor.

Reasons distinguish no evidence, unresolved identity, stale claims, unsupported provider coverage, and intentionally isolated source or terminal tables. Each row retains separate upstream and downstream booleans, so a single label never hides which direction needs attention.

Bounds

Traversal responses state when depth, node, edge, column, or time limits truncate the result. Narrow the root, direction, environment, provider, or column before drawing a completeness conclusion.