Obtain an Amadeus Self-Service API token via POST /v1/security/oauth2/token with the client_credentials grant.
POST to /v1/shopping/availability/flight-availabilities with originDestinations[], travelers[], and a sources[] array — sources currently supports only the value 'GDS'; there is no documented 'PYTON' source value.
To restrict by cabin, add searchCriteria.flightFilters.cabinRestrictions[] entries with cabin (e.g. BUSINESS) and originDestinationIds[] identifying which leg(s) the restriction applies to; this CabinRestriction object here has only those two fields — there is no coverage/MOST_SEGMENTS option (that field belongs to the separate Extended_CabinRestriction used by Flight Offers Search, a different API).
Parse the FlightAvailability response for available seats per booking class using numberOfBookableSeats.
Filter results to itineraries with numberOfBookableSeats greater than or equal to the required passenger count.
Pass the selected itinerary's route/date details into a Flight Offers Search call (and then Flight Offers Price) to obtain an actual, bookable priced offer.
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.
Flight Availabilities Search is availability-only and does not return fares; a subsequent Flight Offers Search or Price call is always required.
The numberOfBookableSeats field reflects GDS availability buckets, not actual aircraft inventory; it can change between the availability and pricing steps.
Give your agent this knowledge — and 15,800+ more routes
One MCP install gives any agent live access to the full route map across 5,800+ 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?