Batch Jobs
Batch Processing
Batch Jobs
POST
Batch Jobs
Create and manage batch KYC validation jobs for processing multiple entities efficiently. Batch jobs allow you to submit large numbers of entities for validation and track their progress asynchronously.
Endpoints
| Method | Endpoint | Description |
|---|---|---|
POST | /kyc/jobs | Create a new batch job |
GET | /kyc/jobs/{job_id} | Get job status and results |
Authentication
Requireskyc:create permission for creating jobs and kyc:read permission for retrieving job status. Include your Bearer token in the Authorization header.
Create Batch Job
Submit multiple entities for KYC validation in a single batch job.Endpoint
Request Body Parameters
Request Example
Response Format
Response Fields
| Field | Type | Description |
|---|---|---|
status | string | Always "success" when job is created |
job_id | string | Unique identifier for the batch job |
total_entities | integer | Number of entities in the batch |
status | string | Job status: "processing", "completed", "failed" |
created_at | string | ISO 8601 timestamp when job was created |
estimated_completion | string | Estimated completion time (ISO 8601) |
Get Job Status
Retrieve the status and results of a batch job.Endpoint
Path Parameters
Request Example
Response Format - Processing
Response Format - Completed
Response Fields
| Field | Type | Description |
|---|---|---|
status | string | Response status: "success" |
job_id | string | Unique identifier for the batch job |
job_status | string | Job status: "processing", "completed", "failed" |
total_entities | integer | Total number of entities in the batch |
processed_entities | integer | Number of entities processed so far |
completed_entities | integer | Number of entities successfully completed |
failed_entities | integer | Number of entities that failed processing |
matches_found | integer | Total number of matches found across all entities |
created_at | string | ISO 8601 timestamp when job was created |
completed_at | string | ISO 8601 timestamp when job completed (if completed) |
updated_at | string | ISO 8601 timestamp of last update |
estimated_completion | string | Estimated completion time (if processing) |
results | array | Array of entity results (only present when completed) |
Entity Result Object
| Field | Type | Description |
|---|---|---|
entity_id | string | Entity identifier (if provided) |
status | string | Entity processing status |
is_match | boolean | Whether any matches were found |
match_count | integer | Number of matches found |
matches | array | Array of match objects (same format as single check) |
Error Responses
400 Bad Request - Invalid Entities
400 Bad Request - Too Many Entities
404 Not Found - Job Not Found
Status Codes
| Code | Description |
|---|---|
| 200 | Success - Job created or retrieved |
| 400 | Bad Request - Invalid parameters |
| 401 | Unauthorized - Missing or invalid token |
| 403 | Forbidden - Insufficient permissions |
| 404 | Not Found - Job not found |
| 500 | Internal Server Error |
Usage Examples
Python Example
JavaScript Example
Best Practices
- Batch Size: Keep batches between 100-1,000 entities for optimal performance
- Entity IDs: Always provide
entity_idto track individual entities in results - Polling: Poll job status every 5-10 seconds (don’t poll too frequently)
- Error Handling: Handle failed entities appropriately
- Rate Limits: Be aware of API rate limits when creating multiple jobs
Performance
- Processing Time: Approximately 1-2 seconds per entity
- Maximum Entities: 10,000 entities per job
- Chunking: Large batches are automatically chunked for processing
- Concurrent Processing: Entities are processed in parallel for faster completion
Job Statuses
| Status | Description |
|---|---|
processing | Job is currently being processed |
completed | All entities have been processed successfully |
failed | Job failed (check error details) |
Integration Tips
- Async Processing: Batch jobs are processed asynchronously - don’t wait for completion
- Status Polling: Implement exponential backoff for status polling
- Result Storage: Store job results for audit and compliance purposes
- Error Recovery: Implement retry logic for failed entities