Bulk Requests
Bulk requests allow clients to send up to 500 (or 5000 for 'id type') CRUD operations in a single request. All operations in a request would be of the same type and version which means a client cannot send a request with mixed resources. The order of execution is not guaranteed as it is multithreaded execution. The server parses the request and validates its structure and size. If the request is valid, and no other bulk request is already in progress, the execution starts, and the server returns a status code of 202 (ACCEPTED) to the client and a bulk unique Identifier in the 'Location' response header. This ID will allow the client to track the bulk status later on. The status report will be available at least two hours from its start time. If a failure occurs while executing on a resource, the failure will be logged in the status report and the execution will proceed to the next resource meaning that each resource has its own transaction. Only one bulk is allowed to run at a time. If a bulk request was posted while another bulk is still running, the server will return with a response status 503 (Service Unavailable) with a corresponding descriptive message asking the client to try again later.Two types of bulk requests available:
1) Operation that requires the resource XML itself like creating or updating a resource.
2) Operation that requires the only resource id like delete, register endpoint, email guestuser etc.
The bulk request supports 500 resources of the first type or 5000 of the second per a single request.
Bulk Request Charasteristics:
Description | Bulk Request |
---|---|
Synopsis | PUT /ers/config/{resource type}/bulk |
Request Headers | CONTENT-TYPE, AUTHORIZATION |
Request Message Body | XML representation of the bulk request |
Response Headers | Content-Length, Content-Type |
Response : | 202 with Bulkid in the Location Header |
Response Status | 200, 400, 401, 403, 415, 500 |
The example below shows the request and response for endpoint create bulk request:

Monitoring bulk execution status
After a successful bulk request, if the server responds with a 202+ bulk id in the Location header, this bulkid can be used to fetch a Bulk Execution Status. The BulkStatus object holds a status entry for each item in the bulk request which describes the execution status. The status is kept in the server for two hours and after that its deleted.
Bulk Status Request Charasteristics:
Description | Bulk Status Request |
---|---|
Synopsis | GET /ers/config/{resource type}/bulk/{bulkid} |
Request Headers | CONTENT-TYPE, AUTHORIZATION |
Request Message Body | No Content |
Response Headers | Content-Length, Content-Type |
Response | Content: BulkStatus |
Response Status | 200, 400, 401, 403, 415, 500 |
The example below shows the request and response for endpoint create bulk request status:
