Skip to main content

Release Billing Hold

POST 

/api/sales-orders/:salesOrder/release-billing-hold

Releases an order held by its payment term's release gate ("Release anyway"). Orders whose payment term requires payment before release sit in Reserved with billing_hold_status: "pending" until the gate is met (paid in full, a percentage paid, or the scheduled pre-release payments received) — at which point they release themselves. This endpoint releases the hold early with a required reason: it records the releasing user, timestamp and reason (billing_hold_released_at, billing_hold_release_reason) and opens the order for fulfillment unless another hold (credit, payment-pending or sales channel tag) still parks it, in which case the order stays reserved and the response message says so. A manually released order is not re-held by later refunds.

Required scope: orders:write

Grant this scope to your token under Settings → Developer → Personal Access Tokens.

Authentication: Requires Bearer token with the orders scope (write).

Request body:

  • reason (required, string, max 255): why the hold is being released.

Path parameters:

  • salesOrder (required): Sales order ID.

Errors:

  • 400 when the order is not currently held by its payment term.
  • 422 when reason is missing or longer than 255 characters.

Requires permission: sales_orders.release_billing_hold

Request​

Responses​

OK

Response Headers
    Content-Type