jobs

Tenant-scoped chronological list of top-level OCR jobs (batch children are omitted). Returns lightweight summaries only — full results remain on GET /jobs/{id}. Cursor pagination is stable newest-first with an id tie-break. Optional status and operation filters are validated strictly; unknown values return 400.

get/jobs

Request

  • Base URL: https://api.openparser.dev
  • URL: https://api.openparser.dev/jobs
  • Auth: HTTP bearer

Query parameters

cursorstring

Opaque pagination cursor from a prior JobListResponse.next_cursor. Jobs are returned newest-first (created_at descending, id descending tie-break).

limitinteger

Maximum number of job summaries to return.

status'queued' | 'running' | 'succeeded' | 'failed' | 'indeterminate'

Durable job status. For batch parent jobs, status is derived from children after each child transition:

  1. If any child is non-terminal, the parent remains queued only while every child is queued; it becomes running once any child is running or terminal.
  2. When every child is terminal and any child is indeterminate, the parent is indeterminate.
  3. When every child is terminal, none are indeterminate, and any child is failed: the parent is failed if zero children succeeded, otherwise succeeded (mixed success/failure closes as parent succeeded while preserving failed children in summaries).
  4. When every child is succeeded, the parent is succeeded.

Partial failures are always retained on child summaries; parent status does not drop failed children from results.

Optional filter by public job status. Admission-phase (admitting) jobs are never listed.

operation'parse' | 'extract' | 'parse_batch' | 'extract_batch'

Optional filter by job operation.

Response

Page of job summaries

next_cursorstring nullable required

Opaque cursor for the next page, or null when exhausted.

Example response

{
  "data": [
    {
      "id": "opj_V1StGXR8_Z5jdHi6B-myT"
    }
  ]
}

Changes