Get an ingestion job and its counters
Poll one ingestion job’s status, attempt and document counters until is_active turns false. The counters update while the job runs and are final once it ends.
GET
Poll this endpoint after syncing a source until
is_active is false. Counters update while the job runs and are final once it ends. See Ingestion for how runs, retries and cancellation work.
Returns 404 both for an ID that does not exist and for a job in another organization. A malformed ID also returns 404. Any role in the organization can read a job.
string
required
Job ID (a UUID).
Response
string
required
Job ID (a UUID).
string
required
Collection being ingested into.
string
required
Source being ingested.
string
required
One of:
pending: created, not yet handed to a worker.queued: waiting for a worker. This is the status a sync returns, and the status a job waits in between retry attempts.running: a worker is ingesting the source.succeeded: the run completed and no document failed. Documents counted indocuments_skippeddo not change this.partial: the run completed and at least one document failed.failed: the run could not proceed, for example because the source was unreachable, the collection is archived, or a hard limit was exceeded. Seeerror_codeanderror_message.cancelled: stopped on request. Documents ingested before the stop remain.skipped: the source had not changed since its last successful run. A queued run, which includes every run Sync a source starts, always re-reads the source and never endsskipped.
is_active to decide whether to keep polling.string
required
What started the run:
manual, scheduled or api. Jobs started by Sync a source are manual.string | null
required
The source version the run read, such as a commit SHA for a GitHub source.
null until the run starts.boolean
required
true while the status is pending, queued or running.integer
required
Which attempt this is, starting at
1.integer
required
Total attempts allowed. Only whole-run failures with a transient cause are retried.
string | null
required
ISO 8601 timestamp, in UTC, when the current attempt was queued.
string | null
required
ISO 8601 timestamp, in UTC, when the current attempt started.
null before then.string | null
required
ISO 8601 timestamp, in UTC, when the job ended.
null while it is active.string | null
required
ISO 8601 timestamp, in UTC, before which a queued retry will not start.
null when no retry is waiting.string | null
required
Stable error code when the run failed, such as
validation_error or dependency_failure. Otherwise null.string | null
required
Readable description of the failure. Otherwise
null.object
required
What happened to the source’s documents in this run.
Last modified on September 26, 2026