Get Batch
Returns a single batch with its current status, row counters and the processed / done flags. This is the main method for polling the progress of an import.
processed: true— every row has reachedsubmitted,invalidorfailed. Onboarding is complete on your side.done: true— every row has a final result.
Counters reflect the current row statuses and are always numbers, including zeros.
Endpoint
GET /v2/compliance/batch/{batch_id}
Request
Path Parameters
Headers
Authorization
<JWT>
Yes
Accept
application/json
Yes
Response (200 OK)
Returns the Batch object. See Create Batch → Response Fields for every field and the counters object.
Example Response:
{
"batch_id": "01a0af8b-831f-7dbe-8eaf-459f81998958",
"status": "CLOSED",
"schema_version": "string",
"types": [
"individual",
"company"
],
"individual_kyc_level": "string",
"company_kyc_level": "string",
"party_kyc_levels": [
"string"
],
"counters": {
"total": 120,
"draft": 0,
"valid": 0,
"invalid": 3,
"creating": 2,
"submitted": 85,
"finished": 24,
"change_requested": 4,
"rejected": 1,
"failed": 1
},
"processed": false,
"done": false,
"created_at": "2026-09-28T10:15:30Z",
"committed_at": "2026-09-28T11:02:04Z",
"error": ""
}Examples
Request
Error Responses
Errors are returned as {"code", "message", "details"}, where code is a gRPC status code. Use the HTTP status for error handling.
Batch Not Found (404) — the batch does not exist or belongs to another partner:
Authorization fail (401):
Notes
Batch-level error:
erroris set only when the batch itself failed (for example, the manifest could not be read). Row-level problems are reported on rows — use Get Batch Status or List Batch Items.Polling: rows move asynchronously. Polling every few minutes is enough.
Which flag to wait for: use
processedas your onboarding milestone.donealso waits for compliance decisions, which can take longer.
Last updated

