Ingest a SQLMesh project export

POST a rendered SQLMesh project export as a partial or complete declared-lineage acquisition.

POST /v1/pipelines/sqlmesh/project

Body fieldRequiredDescription
workspace_idYesTarget workspace.
connector_idYesConnector scope for relation resolution.
projectYesAn embrasure.sqlmesh-project@v1 export, including its SQLMesh environment.
project_idNoStable identifier for the SQLMesh project. Required for complete.
completenessNopartial or complete; default partial.
source_event_keyNoBody alternative to Idempotency-Key.
curl --request POST https://api.embrasure.ai/v1/pipelines/sqlmesh/project \
  --header "Authorization: Bearer $EMBRASURE_API_TOKEN" \
  --header "Content-Type: application/json" \
  --header "Idempotency-Key: sqlmesh-build-842" \
  --data-binary @/tmp/embrasure-sqlmesh-request.json

The request file wraps the exporter output with the fields above, as shown in pipelines and applications. The route returns 202. A complete acquisition needs an exact connector, project, and SQLMesh environment scope plus a caller-supplied idempotency key. A complete prod export never retracts dev lineage. Embrasure rejects a complete snapshot when export-shape errors would make retraction lossy. If the header and source_event_key are both present, they must match.

Column-lineage outcomes

SituationResult
SQL model with rendered SQLParsed only when every read matches a declared dependency.
Python modelTable dependencies remain; columns report non_sql_model.
No rendered SQLTable dependencies remain; columns report rendered_sql_unavailable.
Rendered SQL reads an undeclared relationNo mapping is guessed; columns report rendered_sql_reads_outside_declared_dependencies.
Embedded dependencyNo relation is emitted; model metadata reports embedded_dependency_has_no_relation.
External model or seedAccepted as a dependency target without producing its own declared observation.
SQL parser limitationThe parser's unresolved_reason is preserved.