---
title: "Get order batch job status"
method: GET
path: "/v1/orders/batch/{id}/"
tags: ["Orders"]
---

# Get order batch job status

`GET /v1/orders/batch/{id}/`

The endpoint returns the state of a batch job and the outcome of every order in it.

While the job runs, `status` stays `pending` and `results` grows as orders are processed, so you can track progress. Once `status` is `completed`, every order has an entry in `results`: `created` for a new order, `existing` for one matched to an existing `order_number`, and `failed` with the validation errors for one that could not be created.

## Response `200`

- OrderBatchJob
  - `id` string — Batch job ID. Use it to poll the job status.
  - `status` 'pending' | 'completed' | 'failed' — `pending` while orders are still being created, then `completed` once every order has an outcome, or `failed` if the whole job could not run.
  - `order_count` integer — Number of orders submitted in the request.
  - `created_count` integer — Number of orders that are usable, counting both `created` and `existing`.
  - `failed_count` integer — Number of orders that could not be created.
  - `results` OrderBatchResult[] — Outcome of each submitted order, matched to its position in the request.
    - `index` integer — Zero-based position of the order in the request.
    - `status` 'created' | 'existing' | 'failed' — `created` for a new order, `existing` when an order with the same `order_number` already existed, `failed` when the order could not be created.
    - `order_id` string, nullable — ID of the created or existing order. Absent when the order failed.
    - `order_number` string, nullable — Your identifier for the order, if one was sent.
    - `bridge_token` string, nullable — Bridge token of the order.
    - `share_url` string, nullable — Verification link to share with the applicant.
    - `short_share_url` string, nullable — Shortened verification link to share with the applicant.
    - `errors` object, nullable — Why this order could not be created, keyed by field. Set only when `status` is `failed`.
  - `errors` object[], nullable — Why the job as a whole could not run. Set only when `status` is `failed`, and `null` otherwise — errors for individual orders are in `results[].errors` instead.
    - `detail` string[] — Messages describing the failure.
  - `created_at` string, date-time — Time the batch was accepted.
  - `updated_at` string, date-time — Time the batch was last updated.

## Other responses

- `401` — HTTP 401 Unauthorized
- `403` — HTTP 403 Forbidden
- `404` — HTTP 404 Not Found

---

[API](https://skmtc.net/truv/apis/truv-api.md) · [All operations](https://skmtc.net/truv/apis/truv-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/truv/truv-api/revisions/16345eb80970/schema)
