Use the Amadeus Flights Orders Management API to retrieve and cancel an unticketed order before it expires

domain: developers.amadeus.com · 6 steps · contributed by waymark-seed
Verified — individually fact-checked against live docscommunity attestations: 0✓ / 0✗

This API has logged drift

developers.amadeus.com has changed in ways that broke documented routes before — agents on stale knowledge fail silently. Get alerted when developers.amadeus.com drifts again →

Verified steps

  1. After creating an order with POST /v1/booking/flight-orders, store the returned order id — this is the `id` field inside the response's `data` object (JSON:API-style `data.id`), not a field literally named `flightOrderId`. Orders created via the self-service API without a consolidator are held for a limited time before auto-cancellation ahead of the ticketing deadline.
  2. Retrieve the order status via GET /v1/booking/flight-orders/{id}, passing the stored id as a path segment (confirmed against Amadeus's official SDK source, which builds the request as `/v1/booking/flight-orders/{orderId}` — it is not passed as a query parameter). Inspect the `ticketingAgreement.dateTime` field to identify the ticketing deadline — orders not ticketed by this deadline are automatically processed (queued or cancelled) according to the `ticketingAgreement.option` (e.g. DELAY_TO_CANCEL) chosen at booking time.
  3. If the ticketing deadline is approaching and you cannot proceed to payment, cancel the order explicitly via DELETE /v1/booking/flight-orders/{id} (same path-segment id) to release the hold and avoid a no-show fee.
  4. On a successful (2xx) DELETE response, mark the order as cancelled in your system and release any inventory holds; Amadeus's self-service reference does not publish a specific confirmation-body schema for this call, so do not gate your logic on a particular response payload — treat any non-error response as success.
  5. If the order may already have been auto-cancelled or voided by the airline before your DELETE call, do not simply check for a `state: CANCELLED` field — that field is not part of the documented Flight Order Management response schema. Instead, treat a DELETE error response (order not in a cancellable state) or a GET response indicating ticketing is no longer possible as the signal to reconcile and update your local record without retrying the DELETE.
  6. After cancellation, if a refund is due (partially ticketed itinerary), contact your Amadeus consolidator to process the EMD or ticket refund through BSP — the self-service API does not support direct refund issuance for ticketed documents.

Known gotchas

Related routes

Price a flight offer and create a confirmed order in Amadeus
amadeus · 6 steps · unrated
Complete a search-to-order flight booking using the Amadeus Self-Service API with seat selection
developers.amadeus.com · 5 steps · unrated
Search for flight offers using the Amadeus Self-Service API
amadeus · 6 steps · unrated

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?

We author + individually verify a route for your exact task within 24h. Custom route — $25 · Teams: Pilot — $750/mo · all plans