/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"
}