---
search:
  tags:
    - customer
    - GET
seo:
  description: >-
    Requires the X-Customer-Session header. The enterprise service API key is…
    Reference for the GET /customer/orders/{id} endpoint in the FreeTicket B2B
    API.
sidebar:
  label: Status of a headless purchase (and its tickets, once paid)
  badge: GET
title: Status of a headless purchase (and its tickets, once paid)
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). `{id}` accepts the `reference` (FT-…) or the sale id. If the sale is still PENDING and its payment goes through Bold, the authoritative payment status is re-read from Bold; between re-reads it responds with the internal status, which the webhook keeps up to date. `status` is `approved`, `pending` or `rejected`; `pending` is a NORMAL state (asynchronous payment methods take time) and the landing page must retry. `tickets` —with each ticket's `ticketCode`— is only present when `status` is `approved`. The purchase must belong to the session's buyer (and, with a key, to the workspace pinned to it): anything else is 404. The route MAY rate-limit polling and respond 429: honor `Retry-After` and apply backoff. Polling every ~2 s fits comfortably, but do not treat any threshold as a guarantee.

`GET /customer/orders/{id}`
