> ## Documentation Index
> Fetch the complete documentation index at: https://developers.ttool.travel/llms.txt
> Use this file to discover all available pages before exploring further.

# Flight API

> Search, price, hold, book and ticket international flights.

The Flight API lets your agency system search international flights, read a priced offer, pick a fare family, reserve seats (with or without payment) and issue tickets.

Behind it, the platform queries several airlines and GDS providers at once and returns one compact **offer** model with IATA codes, plus a `dictionaries` block that names every carrier and airport in the response. Your integration never handles provider-specific formats.

## The booking flow

A standard booking takes seven calls. Two of them are optional.

```mermaid theme={null}
flowchart LR
  A[authenticate] --> B[search]
  B --> C[details]
  C --> D[fare-brands]
  D --> E[change-options]
  E --> F[create order]
  C -.no fare families.-> F
  F --> G[issue]
  F -.holdOnly.-> H[order status]
  H --> G
  H --> I[cancel-hold]
```

| Step | Endpoint | Purpose |
| - | - | - |
| 1 | [`POST /api/v1/flights/authenticate`](https://developers.ttool.travel/api-reference/authenticate) | Exchange credentials for a bearer token |
| 2 | [`POST /api/v1/flights/search`](https://developers.ttool.travel/api-reference/search) | Search offers for a route and dates |
| 3 | [`POST /api/v1/flights/details`](https://developers.ttool.travel/api-reference/details) | Re-read an offer, confirm it exists and check its price |
| 4 | [`POST /api/v1/flights/fare-brands`](https://developers.ttool.travel/api-reference/fare-brands) | List the airline's fare families (optional) |
| 5 | [`POST /api/v1/flights/change-options`](https://developers.ttool.travel/api-reference/change-options) | Apply a fare family and get the re-priced offer (optional) |
| 6 | [`POST /api/v1/flights/orders`](https://developers.ttool.travel/api-reference/book) | Create the order. Nothing is booked or paid; `holdOnly` holds the PNR |
| 7 | [`POST /api/v1/flights/orders/{orderId}/issue`](https://developers.ttool.travel/api-reference/issue) | Book the seats, pay from your wallet and receive the tickets |

Two more endpoints manage an order after it's created:

| Endpoint | Purpose |
| - | - |
| [`GET /api/v1/flights/orders/{orderId}`](https://developers.ttool.travel/api-reference/get-order) | Read an order's status, PNR, hold deadline and tickets |
| [`POST /api/v1/flights/orders/{orderId}/cancel-hold`](https://developers.ttool.travel/api-reference/cancel-hold) | Release an on-hold PNR without paying |

Every call after authenticate needs the bearer token.

## What this release covers

* International flights, **OneWay** and **RoundTrip**, in Economy, PremiumEconomy, Business and First.
* 1 to 9 adults, up to 4 children and up to 4 infants (never more infants than adults).
* Fare families where the airline sells them.
* [On-hold bookings](https://developers.ttool.travel/guides/on-hold-bookings.md): hold the PNR without paying, then issue or release it before the airline's deadline.
* Payment from your agency's prepaid wallet in **USD**.

> [!WARNING]
>
> Not in this release: multi-destination itineraries, fare rules (refund and change conditions, coming as a dedicated endpoint), cancellation, refund and void of issued tickets, and passenger changes. Ask your account manager for these until they're published.

> **[Quickstart](https://developers.ttool.travel/quickstart.md)**
>
> Make your first booking on staging.

> **[Offer object](https://developers.ttool.travel/reference/offer-object.md)**
>
> The model every search returns.


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.