---
search:
  tags:
    - customer
    - POST
seo:
  description: >-
    Requires the X-Customer-Session header. The enterprise service API…
    Reference for the POST /customer/orders/{id}/release endpoint in the
    FreeTicket B2B API.
sidebar:
  label: Release a reservation the buyer will not pay for
  badge: POST
title: Release a reservation the buyer will not pay for
type: openapi-operation
---
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`
