Hold Send Plan Stock
POST/api/send-plans/:sendPlan/holds
Hold the source-warehouse stock for a plan's lines without creating drafts yet, so other orders cannot take it. Stock is held all-or-nothing per draft group (destination network and source warehouse): groups whose source has every unit are held, and short groups are reported in short_groups and left unheld. Holds expire after the planner's hold window (72 hours by default) unless handed to a draft.
send-plans:writeGrant this scope to your token under Settings → Developer → Personal Access Tokens.
Authentication: Bearer Personal Access Token with the send-plans:write scope. The token's user also needs permission to create send planner drafts.
Body fields (optional):
- line_ids (integer[], max 20000): lines to hold. Omit to hold every line with units to send.
Response: units_held and short_groups — each with destination_warehouse_id, source_warehouse_id, network, message and shortage (per product: product_id, sku, line_id, warehouse_id, planned and available units).
Returns 422 when the plan is not ready, is a scenario, or no group could be held.
Request
Responses
- 200
- 401
- 403
- 404
- 422
- 429
OK
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.
Not found — no record with the given identifier (or the route does not exist). Verify the ID before retrying.
Unprocessable Content
Response Headers
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.