TracePass
EPCIS 2.0

Poll a capture job

Reads the status of an asynchronous EPCIS capture job — the read side of the EPCIS 2.0 capture model. `POST /api/v1/epcis/capture` returns `202 Accepted` with a `captureJobId`; pass that id here to follow the job until it reaches a terminal state.

GET/api/v1/epcis/capture/{id}
Download OpenAPI 3.1
GET/api/v1/epcis/capture/{id}

Poll a capture job

Reads the status of an asynchronous EPCIS capture job — the read side of the EPCIS 2.0 capture model. `POST /api/v1/epcis/capture` returns `202 Accepted` with a `captureJobId`; pass that id here to follow the job until it reaches a terminal state.

The response carries `status`, the `eventCount` submitted, the `capturedCount` stored so far, and a per-event `errors` array (`{index, message}`) for any events that failed validation or EPC resolution. `createdAt` and `finishedAt` bracket the run — `finishedAt` is `null` while the job is still in progress. Counts as one read.

Plan gate: EPCIS is included on every paid plan today, so the 403 path is only reachable on workspaces whose `epcisCaptureEnabled` flag has been disabled via per-tenant override. Unknown or expired job id returns `404`.

Path parameters

  • idrequired

    string

    The capture job id returned by `POST /api/v1/epcis/capture`.

Headers

  • Authorizationrequired

    string

    `Bearer <api-key>`.

Request

curl -sS https://app.tracepass.eu/api/v1/epcis/capture/6650c4d5e6f7a8b9c0d1e2f3 \
  -H "Authorization: Bearer tp_REDACTED_xxxxxxxxxxxx"

Response

{
  "captureJobId": "6650c4d5e6f7a8b9c0d1e2f3",
  "status": "success",
  "eventCount": 12,
  "capturedCount": 12,
  "errors": [],
  "createdAt": "2026-05-09T12:00:00.000Z",
  "finishedAt": "2026-05-09T12:00:03.420Z"
}

Related endpoints