canonical: https://jentic.com/apis/amadeus.com/amadeus-flight-create-orders

# Amadeus Flight Create Orders

The Amadeus Flight Create Orders API turns a priced flight offer into a confirmed booking with a Passenger Name Record. The single POST endpoint takes a flight offer (already validated by Flight Offers Price), traveller details, and contact information, and returns an order id, ticketing status, and the underlying PNR reference. It is the final step in the Self-Service flight-shopping flow before payment is captured downstream by the integrator.

## For AI agents

Create a confirmed flight booking from a priced Amadeus flight offer, returning the order id and PNR reference an agent can use for downstream ticketing or order management.

## Scope

Does not search for flights, reconfirm prices, capture payment, or modify existing orders - use only to create a new flight order from an already-priced offer.

## Capabilities

- Convert a priced Amadeus flight offer into a confirmed flight order
- Generate a Passenger Name Record with the traveller and contact data submitted in the request
- Capture frequent-flyer numbers and seat or meal special service requests as part of the order
- Return the ticketing status and order id needed for subsequent retrieve or cancel calls
- Submit fare remarks and corporate codes that adjust the fare basis at order time

## Use cases

### Confirm a Flight Booking End-to-End

After a user picks an offer from Flight Offers Search and the price is reconfirmed by Flight Offers Price, the integrator posts the offer plus traveller and contact details to /booking/flight-orders to create the actual booking. The response includes the order id and ticketing status the integrator needs to display a confirmation page and track the PNR.

Example prompt: POST a confirmed flight offer with one adult traveller (name, date of birth, document number) and contact email to /booking/flight-orders and return the order id.

### Multi-Passenger Group Booking

Travel agencies booking 2-9 passengers on the same itinerary submit a single create-order call with an array of travellers and matching travelerPricings from the priced offer. Amadeus returns one order covering all passengers, simplifying downstream retrieval and cancellation versus issuing per-passenger orders.

Example prompt: Create a flight order for a family of four (two adults, two children) on the same priced offer and return the single order id covering all four travellers.

### Add Frequent Flyer Numbers at Booking

Loyalty-aware integrations include frequent flyer programs in the traveller payload at create-order time so miles credit correctly without a follow-up servicing call. Each traveller can carry one or more frequent flyer entries keyed to a carrier code; Amadeus stores them on the resulting PNR and forwards them to the marketing carriers.

Example prompt: Create a flight order for a single traveller with a Star Alliance frequent flyer number attached to the appropriate operating carrier.

### Agent Books a Flight via Jentic

An AI travel assistant that searches and prices flights through Amadeus uses the create-orders endpoint via Jentic to commit the booking once the user confirms. Jentic resolves the OAuth 2.0 client credentials, validates the request body against the operation schema, and returns a structured order id the agent can show the user.

Example prompt: Call jentic.search('book an Amadeus flight offer'), load the operation, and execute it with a priced offer plus traveller payload to return the new flight order id.

## Key endpoints

| Method | Path | Description |
| --- | --- | --- |
| POST | /booking/flight-orders | Create a flight order from a priced flight offer |

## Key resources

- **Flight Orders** — Single endpoint that accepts a priced flight offer plus traveller and contact data and creates a confirmed flight booking with a PNR.

## Why Jentic

- **Setup:** Wiring the Flight Create Orders API by hand means running the Amadeus OAuth 2.0 client_credentials exchange, refreshing the bearer token, shaping the traveller and contact payload into the POST /booking/flight-orders body, and handling the returned PNR against the correct Amadeus host and version. Through Jentic you install once, import Flight Create Orders from the API Directory, store the Amadeus client credentials once, and your agent calls it.
- **Permission scoping:** The priced offer and traveller details travel in the request body rather than as a resource id in the URL path, so scoping is by operation. You choose the operations the agent may call, so this booking operation is only in reach when you include it, and search, repricing, and payment operations are not included unless you add them.
- **Credential handling:** Your Amadeus client_id and client_secret are stored once, encrypted, by your own Jentic One instance, which runs the client_credentials exchange and injects a fresh bearer token before each booking call. The raw secret never enters the agent's prompt, logs, or context.
- **Discovery method:** Agents search Jentic by intent such as 'book this priced Amadeus flight offer', and Jentic returns the /booking/flight-orders operation with its input schema, including the required traveller and contact shapes, so the agent creates the order without reading the Amadeus docs.

## Related APIs

- **Flight Offers Price** — Reconfirms the price of a flight offer immediately before order creation.
- **Flight Order Management** — Retrieves and cancels orders created by this API.
- **Flight Choice Prediction** — Scores offers with a choice probability before they are priced and booked.
- **Seatmap Display** — Returns the cabin seat map for a flight offer so the user can pick a seat.

## FAQ

### What authentication does the Flight Create Orders API use?

Amadeus Self-Service OAuth 2.0 client_credentials. Exchange your client_id and client_secret at https://api.amadeus.com/v1/security/oauth2/token for a bearer token, then send it in the Authorization header on the POST. Through Jentic, the credentials live in the encrypted vault and the bearer token is fetched and rotated for you, so the agent only references a scoped tool.

### Can I create a flight order without first calling Flight Offers Price?

It is strongly discouraged. The /booking/flight-orders endpoint expects the exact offer payload returned by Flight Offers Price; using the raw search response often produces price or availability errors. The recommended flow is search, then price, then create order.

### What are the rate limits for the Flight Create Orders API?

Amadeus Self-Service Test environment caps booking endpoints at 1 transaction per second per API key with a small monthly quota. Production limits depend on your Self-Service plan; contact Amadeus to raise quotas before launch. OAuth tokens themselves expire after roughly 30 minutes.

### How do I create a flight order through Jentic?

Run pip install jentic, then call jentic.search('book an Amadeus flight offer'), load the returned operation, and execute it with a body containing the priced flight offer, travellers array, and contacts array. Jentic posts to /booking/flight-orders and returns the order id.

### Does this API charge the traveller's payment method?

No. The Self-Service create-orders endpoint reserves the booking and may issue a ticket depending on the carrier, but actual payment capture is handled by the integrator outside Amadeus. Plug in your own PSP (such as Stripe or Adyen) before or after the create-order call.

### How do I retrieve or cancel an order I just created?

Use the Flight Order Management API with the order id returned in the create-order response. Its GET /booking/flight-orders/{flight-orderId} retrieves the order and DELETE on the same path cancels it.

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

Yes. Because you run Jentic One yourself, you decide which operations your agent can call, and scoping here is by operation since the priced offer and traveller details travel in the POST /booking/flight-orders request body rather than as an id in the URL path. The create-order operation is only in reach when you include it, so an agent can commit a booking but cannot search flights, reprice offers, or capture payment unless you add those operations too. Your Amadeus client_id and client_secret stay stored on your own instance, which runs the OAuth exchange and injects the bearer token so the raw secret never reaches the agent.
