canonical: https://jentic.com/apis/amadeus.com/amadeus-flight-order-management

# Amadeus Flight Order Management

The Amadeus Flight Order Management API retrieves and cancels flight orders previously created via Flight Create Orders. The two endpoints - GET and DELETE on /booking/flight-orders/{flight-orderId} - let an integrator pull the full order state including travellers, segments, ticketing status, and PNR reference, or cancel the order within the airline's void window. It is the post-booking servicing layer of the Amadeus Self-Service flight stack.

## For AI agents

Retrieve or cancel an existing Amadeus flight order by id, returning full PNR detail or confirming the cancellation an agent has been asked to perform.

## Scope

Does not search for flights, reconfirm prices, or create new orders - use only to retrieve or cancel an existing Amadeus flight order by id.

## Capabilities

- Retrieve a flight order by id including travellers, segments, and ticketing status
- Cancel a flight order within the airline's void window using the order id
- Read the associated PNR reference from a previously created order
- Confirm ticketing status before triggering downstream payment or fulfilment steps
- Support post-booking servicing flows without re-implementing PNR access

## Use cases

### Post-Booking Order Lookup

After a booking, the integrator stores the order id returned by Flight Create Orders and uses GET /booking/flight-orders/{flight-orderId} to display the booking summary on a 'manage my booking' page. The response carries traveller details, segments, ticketing status, and the underlying PNR reference, so a single call hydrates the entire view.

Example prompt: GET /booking/flight-orders/{flight-orderId} for the order id stored at booking time and return travellers, segments, and ticketing status.

### Self-Service Cancellation Within Void Window

Travel sites that allow self-service cancellation call DELETE /booking/flight-orders/{flight-orderId} during the airline's void window (typically 24 hours after booking for many carriers). A 200 response confirms the cancellation; afterwards, the integrator handles refund processing through its own PSP and notifies the customer.

Example prompt: Issue DELETE /booking/flight-orders/{flight-orderId} for an order created in the past 24 hours and confirm the cancellation succeeded.

### Ticketing Status Polling

For carriers that ticket asynchronously, the integrator polls GET /booking/flight-orders/{flight-orderId} on a low-frequency schedule until the ticketing status moves from PENDING to TICKETED. Once ticketed, the integrator triggers downstream fulfilment such as adding the e-ticket to a wallet pass or sending the customer their itinerary email.

Example prompt: Poll GET /booking/flight-orders/{flight-orderId} every 60 seconds for up to 10 minutes and stop when ticketingStatus is TICKETED.

### Agent-Driven Booking Management via Jentic

An AI travel concierge handling 'cancel my Tokyo flight' uses Jentic to call Flight Order Management's DELETE endpoint with the stored order id, then confirms the cancellation to the user. Jentic resolves OAuth and validates the order id parameter, so the agent only declares intent and supplies the id.

Example prompt: Call jentic.search('cancel an Amadeus flight order'), load the operation, and execute it with the stored flight-orderId to delete the order.

## Key endpoints

| Method | Path | Description |
| --- | --- | --- |
| GET | /booking/flight-orders/{flight-orderId} | Retrieve a flight order by id |
| DELETE | /booking/flight-orders/{flight-orderId} | Cancel a flight order by id |

## Key resources

- **Flight Orders** — Two endpoints on /booking/flight-orders/{flight-orderId}: GET to retrieve and DELETE to cancel.

## Why Jentic

- **Setup:** Wiring Flight Order Management by hand means learning the Amadeus Self-Service OAuth 2.0 client_credentials flow, refreshing the bearer token before each servicing call, picking the test or production host, and threading the stored flight-orderId onto both the GET and DELETE calls. Through Jentic you install once, import Flight Order Management from the API Directory, store the client_id and client_secret once, and your agent calls it.
- **Permission scoping:** Amadeus puts the order id in the URL path (/booking/flight-orders/{flight-orderId}), so a rule can pin your agent to a single flight order: it can retrieve that order and nothing else. You choose the operations it may call, so the destructive DELETE that cancels the order is not included unless you add it.
- **Credential handling:** Your Amadeus client_id and client_secret are stored once, encrypted, by your own Jentic One instance, which runs the OAuth exchange and injects a fresh bearer token at execution time. The secret never enters the agent's prompt, logs, or context.
- **Discovery method:** Agents search Jentic by intent such as 'retrieve an Amadeus flight order' or 'cancel an Amadeus flight order', and Jentic returns the matching operation with the flight-orderId path parameter described in its input schema.

## Related APIs

- **Flight Create Orders** — Creates the orders this API retrieves and cancels.
- **Flight Offers Price** — Confirms a fresh offer price before order creation.
- **Flight Check-In Links** — Generates carrier check-in links for an existing booking.
- **On-Demand Flight Status** — Returns live operational status for the segments in a managed order.

## FAQ

### What authentication does the Flight Order Management API use?

Amadeus Self-Service OAuth 2.0 client_credentials. Exchange client_id and client_secret at https://api.amadeus.com/v1/security/oauth2/token for a bearer token and pass it in the Authorization header on both GET and DELETE calls. Through Jentic, the credentials live in the encrypted vault and the token is rotated for you on each servicing call.

### Can I cancel an order outside the airline's void window?

No. DELETE /booking/flight-orders/{flight-orderId} only succeeds within the carrier's void window - typically 24 hours after booking for many carriers, sometimes shorter or longer depending on fare rules. After the window closes, refunds and changes must go through the carrier's normal cancellation channel.

### What are the rate limits for the Flight Order Management API?

Amadeus Self-Service Test caps booking-management endpoints at 1 transaction per second per API key with a monthly quota; Production limits scale with your Self-Service plan tier. Bearer tokens themselves expire after roughly 30 minutes.

### How do I retrieve or cancel an order through Jentic?

Run pip install jentic, then call either jentic.search('retrieve an Amadeus flight order') or jentic.search('cancel an Amadeus flight order'), load the corresponding operation, and execute it with the flight-orderId path parameter. Jentic handles the OAuth exchange against the appropriate /booking/flight-orders/{flight-orderId} call.

### Is the order id returned by Create Orders the same one I use here?

Yes. The id field on the Flight Create Orders response is exactly the {flight-orderId} expected by both endpoints in this API. Persist it at booking time so you can retrieve or cancel later.

### Does cancellation refund the customer automatically?

No. The DELETE endpoint releases the booking and any held seats with the carrier, but payment refunds are handled by the integrator's own payment service provider (Stripe, Adyen, or similar). Trigger the refund explicitly after the DELETE returns success.

### Can I limit what my agent is allowed to do with the Flight Order Management API?

Yes. Because you run Jentic One yourself, your own rules decide which of this API's two operations your agent can call, so you can grant the read-only GET on /booking/flight-orders/{flight-orderId} while excluding the destructive DELETE that cancels an order. Since Amadeus puts the order id in the URL path, a rule can also pin the agent to a single flight order, letting it retrieve that one order and nothing else. Your Amadeus client_id and client_secret stay stored and encrypted on your instance, and the agent only ever supplies intent and the flight-orderId.
