Extend order expiry
Buy more time to fulfill when an order won't ship inside the default authorization window — what the eligibility rules actually are, and how the new expiry date is calculated.
An authorization reserves the customer’s money for a limited period — about 28 days by default — and once it expires you can’t capture it. Extending pushes that expiry out. This is for the exceptional order that won’t ship in time, not for a business whose fulfillment routinely runs long. You need an order that is still live and not yet expired.
Before you start
Section titled “Before you start”Extension is narrower than it looks, and every one of these will refuse the call rather than warn you:
- Existing window. If the order already expires in 90 days or more, there’s nothing to extend.
- Extension window. You can normally only extend within 90 days of the order’s creation.
- Market. Not supported for orders placed in Spain, France, Italy or Portugal.
- Already expired. An expired order can’t be extended. This is the one that catches people — extension is a thing you do before the deadline, and there’s no recovery afterwards.
Paths are relative to your base URL:
https://api.playground.kustom.co/ while testing, https://api.kustom.co/ in production.
Send a Kustom-Idempotency-Key on every write. Every POST and PATCH to Order Management moves money or changes the order. Send a Kustom-Idempotency-Key header with one UUID per operation, and reuse it when you retry, so a call repeated after a timeout runs once instead of twice. Idempotency and retries has the rules and the retry schedule.
Step by step
Section titled “Step by step”Send the request with no body:
POST /ordermanagement/v1/orders/{order_id}/extend-authorization-timeKustom-Idempotency-Key: 6e80acbc-a954-4693-9259-4964366abc7eThe new expiry is calculated from the date you extend, not from the order date. Your account’s configured period is added to today. So an order placed on 1 March, on an account with a 28-day period, extended on 15 March, expires on 12 April — not 29 March.
Extending twice on the same day gives the same expiry both times, because the calculation starts from the date rather than accumulating.
The same operation is available in the Kustom Portal, where it appears as an Extend order button. The button shows on every order but only works where the rules above allow it, so a greyed-out or inert button is the eligibility list, not a fault.
A successful extension returns 204 No Content. Read the order back to confirm the new
expiry rather than assuming it — the call succeeding tells you it was accepted, and the
order tells you what it was moved to.
When a longer window is the wrong fix
Section titled “When a longer window is the wrong fix”If you’re extending routinely, the default period is wrong for your business rather than the orders being exceptional. Merchants selling bespoke, made-to-order or small-batch goods — custom furniture, monogrammed clothing, limited-edition runs — genuinely need longer than 28 days as a matter of course. That’s a change to your account’s configured authorization period, which is a conversation with Kustom, not a per-order API call. Ad hoc extension is for the unexpected delay.
Troubleshooting
Section titled “Troubleshooting”{ "error_code": "NOT_ALLOWED", "error_messages": ["Order is expired. Authorization time cannot be extended."], "correlation_id": "ef30ffe5-5c42-485a-85b6-8aeb24689bc8"}NOT_ALLOWED covers every rule in “Before you start” — expiry, market and both 90-day
windows all return it. The error_messages string sometimes says which and sometimes only
that the order can’t be extended, so branch on the code and read the message for diagnosis
rather than parsing it.
Related
Section titled “Related”- Capture an order — what the extra time is for
- Order Management — the authorize/capture gap this extends
- Update or cancel an order — reading the expiry back
This page is also available as Markdown — append .md to its URL — and is indexed in llms.txt.