Skip to main content
The Batch API allows you to create or update multiple customer profiles in a single request, optimizing performance and reducing network overhead. This is particularly useful for bulk user imports, mass profile updates, and large-scale customer data synchronization.
This example applies to all types of batch processes, ensuring consistency in handling bulk operations across different endpoints.

Step 1: Create a Batch Job

Create a batch job by sending a POST request to the appropriate batch endpoint. For customer data, use the Batch Customer Data API. Endpoint:
POST /api/v4.0/integrations/batch/customers
Request Example:
{
    "body": [
        {
            "customerId": "12345",
            "email": "john.doe@example.com",
            "name": "John Doe",
            "gender": "M",
            "dateOfBirth": "1990-01-01",
            "joinDate": "2022-01-01",
            "tags": ["vip", "newsletter_subscriber"],
            "custom": {
                "favorite_color": "blue",
                "loyalty_points": 1500
            }
        },
        {
            "customerId": "67890",
            "email": "jane.smith@example.com",
            "name": "Jane Smith",
            "gender": "F",
            "dateOfBirth": "1985-05-15",
            "joinDate": "2023-03-10",
            "tags": ["premium_member"],
            "custom": {
                "favorite_color": "green",
                "loyalty_points": 2000
            }
        }
    ]
}
Response:
{
    "jobId": 123456
}

Step 2: Get the Job Status

Use the Check Batch Status API to monitor the progress of your batch operation:
GET /api/v4.0/integrations/batch/{jobId}
Response Examples:
{
  "operation": "Customer Creation Batch Job",
  "errorCount": 0,
  "totalCount": 0,
  "finishedCount": 0,
  "startedAt": null,
  "createdAt": "2025-03-14T10:00:00Z",
  "status": "queued",
  "response": null
}
{
  "operation": "Customer Creation Batch Job",
  "errorCount": 0,
  "totalCount": 1,
  "finishedCount": 1,
  "startedAt": "2025-03-14T10:30:00Z",
  "createdAt": "2025-03-14T10:00:00Z",
  "status": "running",
  "response": {
    "successful": [
      {
        "customerId": "12345",
        "message": "Customer created successfully"
      }
    ],
    "failed": []
  }
}
{
  "operation": "Customer Creation Batch Job",
  "errorCount": 1,
  "totalCount": 2,
  "finishedCount": 1,
  "startedAt": "2025-03-14T10:00:00Z",
  "createdAt": "2025-03-14T10:00:00Z",
  "status": "completed",
  "response": {
    "successful": [
      {
        "customerId": "12345",
        "message": "Customer created successfully"
      }
    ],
    "failed": [
      {
        "customerId": "67890",
        "error": "Failed to create customer"
      }
    ]
  }
}

Step 3: Stop the Running Job (Optional)

If needed, you can stop a running batch job using the Stop Batch Execution API:
DELETE /api/v4.0/integrations/batch/{jobId}

Available Batch Operations

Performance Limit: Each batch request supports up to 1,000 objects per request for optimal processing efficiency.