Skip to content
FreeTicketDocs
Esc
↑↓navigate↵open⌘Jpreview

Release a reservation the buyer will not pay for

Requires the X-Customer-Session header. The enterprise service API key is OPTIONAL (with a key, results are additionally scoped to the workspace pinned to it). Abandons the PENDING sale and returns its inventory (and its seats) to stock, so the buyer can start over without waiting for the reservation to expire. It is the counterpart of pending_sale_in_progress: when POST /customer/orders rejects with that reason, the landing page can offer continue paying (/payment, idempotent) or start over (this route). It ONLY releases with evidence that nobody started the payment: if Bold reports any transaction, if a provider response is already stored, or if the payment goes through a rail we cannot query, it responds 409 with details.reason = payment_in_flight and the sale is left intact. If the gateway does not respond, 503 (gateway_unreachable): retry later. The sale must belong to the session’s buyer (and, with a key, to the workspace pinned to it): anything else is 404. {id} accepts the sale id or its reference. Limited to 10 calls per minute per buyer.

POST/customer/orders/{id}/release
Authorization
AuthorizationAPI key · headerrequired

API key prefixed with Bearer . Alternative: the x-api-key header with the raw key. Available scopes: read and write (see /.well-known/oauth-protected-resource).

or
x-api-keyAPI key · headerrequired

Raw API key (without Bearer ), alternative to Authorization.

Path parameters
idstringrequired
Header parameters
X-Workspace-Idstring

Active workspace to operate on. Optional: when omitted, the default workspace of the user who owns the key is used (pickActiveOrg).

Responses
200

OK

dataCustomerOrderReleaserequired
Show properties
releasedbooleanrequired

The sale is now ABANDONED and its inventory went back to stock. A rejection never lands here: it is returned as an error with details.reason.

401

Missing or invalid credential.

errorobjectrequired
Show properties
codestringrequired
messagestringrequired
retryablebooleanrequired
detailsany
403

Insufficient role or resource not accessible.

errorobjectrequired
Show properties
codestringrequired
messagestringrequired
retryablebooleanrequired
detailsany
404

Resource does not exist or is out of scope.

errorobjectrequired
Show properties
codestringrequired
messagestringrequired
retryablebooleanrequired
detailsany
409

Conflict: the resource does not allow this operation in its current state.

errorobjectrequired
Show properties
codestringrequired
messagestringrequired
retryablebooleanrequired
detailsany
422

Request body/parameter validation failed.

errorobjectrequired
Show properties
codestringrequired
messagestringrequired
retryablebooleanrequired
detailsany
429

Too many requests: rate limit exceeded.

errorobjectrequired
Show properties
codestringrequired
messagestringrequired
retryablebooleanrequired
detailsany
503

Service unavailable: an external dependency is down or initialization failed.

errorobjectrequired
Show properties
codestringrequired
messagestringrequired
retryablebooleanrequired
detailsany
Try it
Server
Authorization
Parameters
Request
curl -X POST 'https://admin.appfreeticket.com/api/v1/customer/orders/string/release' \
  -H 'Authorization: YOUR_API_KEY'
Response
{
  "data": {
    "released": true
  }
}