POST /v1/jobs/{jobId}/lineage
Record a job's lineage
ivy_ API key (Authorization: Bearer ivy_… or X-Ivy-Api-Key), a Clerk session JWT (Authorization: Bearer …) or the Clerk __session cookie (browser sessions). See Authentication.Records which outputs of other jobs fed a job you can write to. Each source names a producer job, one of its outputs (producer_output_id) and the input slot it filled.
Every producer job must be one you can read, and every producer_output_id must be an output of its producer job; otherwise the request returns 403 and nothing is recorded. A source without producer_output_id is skipped, and a request where every source lacks one returns 202 with a warning. A project viewer can read lineage but not record it; recording returns 404 for them, the same as for a job that does not exist.
With a project-scoped API key, the job and every producer job must be in one of the key's projects.
Request
Path parameters
UUID of the consuming job.
Request body
Example
Responses
201 Created
Response shape:
Rows recorded
202 Accepted
warning says why (no source carried producer_output_id, or lineage storage is unavailable)Response shape:
400 Bad Request
sources; or a source is missing producer_job_id or input_slot, or has a producer_output_id that is null or emptyResponse shape: object
401 Unauthorized
Response shape: object
403 Forbidden
Response shape: object
404 Not Found
Response shape: object
429 Too Many Requests
Response shape: object
500 Internal Server Error
Response shape: object
Was this page helpful?