POST
/
v1
/
orders
/
bulk

The upsert (update or insert) action will update existing orders that match the provided externalId, and create new orders for those that don’t.

The delete action will archive the order, akin to the Archive Order endpoint.

Status field returned is for the bulk operation, not the individual orders and can be one of the following:

  • QUEUED: The request has been received and is waiting to be processed in the bulk operation queue
  • IN_PROGRESS: The request is currently being worked on
  • SUCCESS: The request was successfully processed without any errors to the overall async process (individual orders might have failed)
  • FAILED: The request encountered an error and could not be completed
  • CANCELLED: The request processing was manually cancelled or terminated before completion
  • SKIPPED: The request was intentionally not processed due to validation issues or business rules
  • SCHEDULED: The bulk action is set to be processed at a future specified time (n/a)

Bulk order actions are asynchronous operations. You can either poll the GET endpoint using the returned id, and/or opt-in to receive the results via webhook. The webhook event is order.bulk_operation.completed and will be sent once the bulk operation is complete.

Body

application/json · object[]
action
enum<string>
required
Available options:
create
data
object
required

Order input for creating an order.

Response

200 - application/json
id
string
required

The ID of the bulk operation

status
enum<string>
required

The status of the bulk operation

Available options:
QUEUED,
IN_PROGRESS,
SUCCESS,
FAILED,
CANCELLED,
SKIPPED,
SCHEDULED