IronStratum

GET /v1/ocr/jobs/{id}

Read an async OCR job's status (the meter-once completion read)

Task #19 specialty route (route_type: ocr). `model` is a REQUIRED query parameter (the gateway is job-stateless — the id alone cannot route); stray query params are 400 per the §3 law. Statuses pass through verbatim (queued | running | done | failed). The read that observes done meters ONCE (the payload's pages — the card CONSUMES the done payload on the first read: fetch-once, so a re-poll answers job_not_found and completion cannot double-bill; persist the payload client-side, it cannot be re-fetched); an unknown, already-consumed, or TTL-expired job answers the GATEWAY's job_not_found envelope, never the card's foreign 404 body; a failed job passes its error through and meters nothing. NOT balance-guarded — an unmetered catalog-class read (the voices law).

Parameters

Parameters for ocrJobStatus
Field Type Required Description
id string yes Path
model string yes Query — The alias the job was created with.

Request

No request body.

Responses

400 400

400 response fields for ocrJobStatus
Field Type Required Description
error object yes

401 401

401 response fields for ocrJobStatus
Field Type Required Description
error object yes

403 403

403 response fields for ocrJobStatus
Field Type Required Description
error object yes

404 404

404 response fields for ocrJobStatus
Field Type Required Description
error object yes

500 500

500 response fields for ocrJobStatus
Field Type Required Description
error object yes

502 502

502 response fields for ocrJobStatus
Field Type Required Description
error object yes

503 503

503 response fields for ocrJobStatus
Field Type Required Description
error object yes

Status codes

  • 200 — The job's status payload verbatim (status + text/results/pages when done, the error object when failed).

Example

curl https://api.ironstratum.com/v1/ocr/jobs/<id>?model=<model> \
  -H "Authorization: Bearer $IRONSTRATUM_API_KEY"

All operations · interactive reference · openapi.yaml