Bulk Swap and Release Sales Orders
POST/api/sales-orders/bulk-swap
Background job: for each selected order, apply the best available substitution to every eligible line (highest-priority active rule whose substitute can cover the line), then release the order through fulfillment. Orders whose lines are committed to fulfillment, have no matching rule, or whose substitutes are out of stock are skipped with a reason — the batch never aborts.
Authentication: Requires Bearer token.
Set release to false to swap without dispatching fulfillment. Maximum 1,000 orders per run. Returns 202 with a job ID to track.
Request
Responses
- 202
- 401
- 403
- 422
- 429
Accepted
Response Headers
Unauthenticated — the bearer token is missing, revoked, expired, or malformed. Never retry automatically; fix the credential. See the Errors guide.
Forbidden — the token lacks a required scope, the endpoint is not available to API tokens, or the user behind the token lacks the permission. A human must adjust the token scopes or user permissions; do not retry.
Validation failed — the body is a field → messages map (Laravel shape) or the platform envelope with a stable machine-readable code. Fix the payload and resubmit.
Rate limited — platform limit is 1,000 requests/min; individual tokens may carry lower limits. Honor the Retry-After header before retrying. See the Rate Limits guide.