Introduction to bulk operations

Instead of using 'perform' or 'persist', use 'bulk' for the endpoint url. The bulk endpoint accepts the same body as the corresponding 'perform' or 'persist' endpoint. Look at the endpoint overview to figure out where bulk operations are possible. There are no explicit examples given since the body and parameters are the same.

General

Create a bulk operation

  • POST '../bulk'

    • body: XML/JSON of PimType, specifying either an action(perform) or persist operation.

    • returns status:

      • bad request (400): if input PimType is invalid

      • accepted (202): returns 'operation-id (GUID)' for further polling status of bulk operation, e.g., '7542638b-7011-4c4e-9f3c-2f866e146105'

Query status of bulk operation

  • GET '../bulk/{operation-id}'

    • returns status:

      • ok (200) : bulk operation has completed, and the result of it is returned. The result can only be fetched once and is available for 1 hour after completion. It has to be inspected to figure out if there were any errors during the bulk operation

      • not found (404): no process with the given 'operation-id' exists.

      • no content (204): bulk operation is still in progress. The client has to poll until it gets a 200 status code.

      • internal server error (500): ask support for more details of server logs.

Limitations

  • Cannot be canceled.

  • Cannot be resumed: if the server is restarted or crashes, the bulk operation may be partially done rest is lost. The 'operation-id' is no longer valid.

  • No progress: The client must poll status periodically until the bulk operation has completed.

  • Result and status are only available on the instance it was created, web or worker.

  • Server queue: Server queues bulk requests and executes them in FIFO order. Default is the execution of two bulk operations simultaneously.

Welcome to the AI Chat!

Write a prompt to get started...