Get batch job status
API Reference
Get batch job status
Poll batch import job status and counters by jobId across entity, transaction, and user-event imports.
GET
Get batch job status
Endpoint
202 with a jobId. It resolves the job kind automatically and performs a direct lookup β it does not scan the full import history.
Authentication
transactions:create, entities:bulk_import, events:create.
Query parameters
| Parameter | Description |
|---|---|
include | Optional comma-separated list. Use include=failures to return the same JSON body as the kind-specific failures endpoint (row-level failures[], skips[] for entities, etc.). Omit for a lightweight status payload during polling. |
HTTP responses
| Status | When |
|---|---|
200 | Job found |
401 | Not authenticated |
403 | Missing batch-import permission |
404 | Unknown jobId or job belongs to another organization |
Recommended polling flow
- Upload (entities, transactions, or user events) β store
jobIdfrom the202response. - Poll
GET /batch-import/jobs/{jobId}every 2β5 seconds. - Stop when
statusis terminal:completed,failed,cancelled, orinterrupted. - If you need row-level detail, call again with
?include=failuresor use the kind-specific failures endpoint (see Bulk imports overview).
For listing recent jobs (dashboard-style), use Unified history. For polling a single job, prefer this endpoint.
JSON response (default β status only)
Always
true when the job exists.Batch job identifier from the upload response.
entity_automatic, transaction_batch, or user_event_batch.queued, running, completed, failed, cancelled, or interrupted. While a cancel is in progress the job may still show running with metadata.batchCancelRequested.Total rows/items in the job.
Successfully processed count.
Failed row count.
Skipped row count (e.g. duplicate taxId on entity imports).
Last worker heartbeat (ISO 8601).
Worker lease expiry (ISO 8601).
Truncated worker error when the job failed at job level.
Job creation time (ISO 8601).
Completion time when terminal (ISO 8601).
Job metadata (e.g.
fileName, import mode).Present when
status is failed and the whole job aborted. Includes stable code and message β see Failure codes.JSON response with ?include=failures
Same contract as the kind-specific failures JSON endpoints:
- Entities: Entity batch failures
- Transactions: Transaction batch failures
- User events: User-event batch failures
failures is an empty array (failuresTotal: 0).
See also: Bulk imports overview, Unified history.