HomeGuidesAPI ReferenceChangelog
Home
API Reference

Get KYC Batch Status

Recent Requests
Log in to see full request history
TimeStatusUser Agent
Retrieving recent requests…
LoadingLoading…

Use this endpoint to:

  • Monitor batch processing progress
  • Check if processing is complete
  • View success and failure counts
  • Get detailed processing statistics

Batch Status Values:

  • pending: Batch is queued and waiting to be processed
  • in_progress: Batch is actively being processed
  • completed: All records have been processed
  • failed: Batch processing encountered a critical error

Polling Recommendations:

  1. Wait 1-2 minutes after upload before first check
  2. Poll every 30-60 seconds while status is pending or in_progress
  3. Set a timeout of 30 minutes maximum for large batches
  4. Stop polling once status is completed or failed

Path Parameters

batchId

Required: Yes
Type: string (uuid)

The unique batch identifier returned from the upload endpoint

Example: 784d4045-c900-4050-aad6-8fe4c8d2fb16


Response: 200 Success

Batch status retrieved successfully.

Response Fields:

  • batchId: Unique identifier for this batch.
  • status: Current processing status - pending (queued), in_progress (actively processing), completed (finished), or failed (critical error).
  • totalRecords: Total rows in the uploaded CSV.
  • processedRecords: Number of records that have been processed (successful + failed).
  • failedRecords: Number of records that encountered errors during processing.
  • createdAt: ISO 8601 timestamp when the batch was uploaded.
  • updatedAt: ISO 8601 timestamp of the last status update.
  • startedAt: ISO 8601 timestamp when processing began (null if still pending).
  • completedAt: ISO 8601 timestamp when processing finished (null if not yet completed).
  • summary.successfulRecords: Number of records successfully verified with KYC provider.
  • summary.errors: List of errors encountered during processing. Reserved for future use; this field is currently always empty.

Example: Completed Batch

Example response for a successfully completed batch.

{
  "batchId": "f208a887-9fa6-4447-a52b-c1d6e089536f",
  "status": "completed",
  "totalRecords": 19,
  "processedRecords": 19,
  "failedRecords": 0,
  "createdAt": "2025-10-08T11:40:20.796Z",
  "updatedAt": "2025-10-08T11:44:53.043Z",
  "startedAt": "2025-10-08T11:42:53.043Z",
  "completedAt": "2025-10-08T11:44:53.000Z",
  "summary": {
    "successfulRecords": 19,
    "errors": []
  }
}

Example: Processing Batch

Example response for a batch currently being processed.

{
  "batchId": "f208a887-9fa6-4447-a52b-c1d6e089536f",
  "status": "in_progress",
  "totalRecords": 100,
  "processedRecords": 45,
  "failedRecords": 2,
  "createdAt": "2025-10-08T11:40:20.796Z",
  "updatedAt": "2025-10-08T11:42:15.123Z",
  "startedAt": "2025-10-08T11:41:00.000Z",
  "completedAt": null,
  "summary": {
    "successfulRecords": 43,
    "errors": []
  }
}

Example: Pending Batch

Example response for a batch waiting to be processed.

{
  "batchId": "f208a887-9fa6-4447-a52b-c1d6e089536f",
  "status": "pending",
  "totalRecords": 50,
  "processedRecords": 0,
  "failedRecords": 0,
  "createdAt": "2025-10-08T11:40:20.796Z",
  "updatedAt": "2025-10-08T11:40:20.796Z",
  "startedAt": null,
  "completedAt": null,
  "summary": {
    "successfulRecords": 0,
    "errors": []
  }
}

Response: 401 Unauthorized

Authentication required or invalid API key.

Error: Missing API Key

{
  "code": "0000000100",
  "message": "Invalid Authorization: missing API key",
  "parameter": ""
}

Error: Invalid API Key

{
  "code": "0000000200",
  "message": "Invalid Authorization",
  "parameter": ""
}

Response: 404 Not Found

Batch not found - invalid batchId or batch belongs to a different business.

Error: Batch Not Found

{
  "code": "0701020100",
  "message": "Batch not found",
  "parameter": ""
}

Response: 500 Internal Server Error

Internal server error while retrieving batch status.

Path Params
uuid
required
Responses

status: COMPLETED means the run finished — partial per-record failures are reported via failedRecords and summary.errors[], not via the run-level status. status: FAILED is reserved for run-level failures (e.g. file parse error). Each entry in summary.errors[] carries an errorDetail object with a stable category clients should branch on; the legacy error string is kept for backwards compatibility but is deprecated.

Language
Credentials
Header
URL
LoadingLoading…
Response
Click Try It! to start a request and see the response here! Or choose an example:
application/json