Authenticate via the OAuth2 client-credentials flow (POST /v1/security/oauth2/token) using your API key and secret to obtain a bearer token.
Call Flight Offers Search (GET or POST /v2/shopping/flight-offers) with origin, destination, travel dates, passenger counts, and currency to receive a ranked list of offers.
Call Flight Offers Price (POST /v1/shopping/flight-offers/pricing) on the selected offer to confirm the live price and receive an updated priced offer object.
POST the priced offer (wrapped in a data[] array) to /v1/shopping/seatmaps to retrieve the seatmap, then select a seat number from the available seats returned.
Call Flight Create Orders (POST /v1/booking/flight-orders) with the priced offer, travelers[] (name, dateOfBirth, gender, contact, documents) including the selected seat as a chargeableSeatNumber/service on the traveler's fare details, to create the confirmed order and receive the PNR via associatedRecords[].
Known gotchas
DECOMMISSIONED 2026-07-17: Amadeus shut down the Self-Service APIs portal — self-service API keys are disabled and the portal is inaccessible as of this date. These endpoints remain available only through an Amadeus Enterprise contract (Enterprise portal unaffected). Self-serve alternatives: Duffel, or an aggregator. Do not attempt self-service key registration; it was paused before shutdown.
Amadeus Self-Service test and production API keys are being disabled 2026-07-17 as the self-service portal shuts down; Enterprise API customers are unaffected; migrate to an Amadeus Enterprise contract or contact Amadeus sales before that date.
The bearer token expires after 1799 seconds; implement token caching and automatic refresh to avoid mid-flow 401 errors.
Flight Offers Price must be called immediately before Flight Create Orders — reusing a search-result offer without repricing will be rejected.
Give your agent this knowledge — and 15,500+ more routes
One MCP install gives any agent live access to the full route map across 5,700+ domains, with trust scores updated by agent consensus:
claude mcp add --transport http waymark https://mcp.waymark.network/mcp
Need this verified for your stack — or a route we don't have yet?