canonical: https://jentic.com/apis/amadeus.com/amadeus-flight-offers-price

# Amadeus Flight Offers Price

The Amadeus Flight Offers Price API reconfirms the live price, taxes, and fare conditions of one or more flight offers returned by Flight Offers Search. The single POST endpoint takes a flight-offers payload and returns a verified price block with detailed fare components, baggage allowances, fare rules, and any availability changes since the original search. Booking flows call it as the gate between search and order creation, since search results are cached and may drift before checkout.

## For AI agents

Reconfirm the live price and fare conditions of a flight offer before booking, returning verified totals, taxes, and rules an agent can show the user.

## Scope

Does not search for flights, capture payment, or create bookings - use only to reconfirm price and fare conditions of an existing flight offer.

## Capabilities

- Reconfirm the live price of one or more flight offers from a search response
- Return detailed fare components and tax breakdowns per traveller
- Surface baggage allowance and fare rule details before booking
- Detect price or availability changes since the original Flight Offers Search call
- Optionally include included payment card fees and detailed fare rules in the response

## Use cases

### Reprice Before Booking

After the user picks an offer from Flight Offers Search, the booking flow POSTs the offer to /shopping/flight-offers/pricing to confirm the price is still valid, fetch the final tax breakdown, and surface any changes. Skipping this step often produces price-mismatch errors at order creation, since search results are cached and can drift in seconds.

Example prompt: POST a single flight offer from a Flight Offers Search response to /shopping/flight-offers/pricing and return the verified grandTotal and any priceChange flag.

### Show Fare Rules and Baggage at Checkout

Set include=detailed-fare-rules,bags on the pricing call to surface refundability, change penalties, and per-segment baggage allowances on the checkout page. This avoids the common post-booking surprise where the customer discovers their fare is non-refundable or excludes checked baggage.

Example prompt: Call /shopping/flight-offers/pricing with the offer body and include=detailed-fare-rules,bags, then return refundability, change penalty, and free baggage per segment.

### Multi-Offer Cart Confirmation

Travel sites that let customers compare two or three offers side by side reprice all selected offers in a single pricing call. The endpoint accepts an array of offers (subject to provider limits), so the integrator avoids issuing one HTTP call per option and gets a consistent priced view of the cart.

Example prompt: POST three selected flight offers in a single /shopping/flight-offers/pricing call and return a comparison table of grandTotal and refundability for each.

### Agent-Driven Repricing via Jentic

An AI booking assistant calls Flight Offers Price through Jentic immediately before order creation to ensure the price it quoted earlier is still valid. Jentic resolves OAuth and accepts the search-response offer body unchanged, so the agent only declares the intent and supplies the offer.

Example prompt: Call jentic.search('reconfirm the price of an Amadeus flight offer'), load the operation, and execute it with the chosen offer to return the verified total before creating an order.

## Key endpoints

| Method | Path | Description |
| --- | --- | --- |
| POST | /shopping/flight-offers/pricing | Confirm the live price and fare conditions of a flight offer |

## Key resources

- **Flight Offers Pricing** — Single POST endpoint that reconfirms price, fare rules, and baggage for one or more flight offers.

## Why Jentic

- **Setup:** Wiring Flight Offers Price by hand means running the Amadeus Self-Service OAuth 2.0 client_credentials exchange, refreshing the bearer token before it expires, choosing the test or production host, and reshaping the raw Flight Offers Search response into the exact offer body the pricing endpoint expects. Through Jentic you install once, import Flight Offers Price from the API Directory, store the client_id and client_secret once, and your agent calls it.
- **Permission scoping:** The offer to reprice travels in the POST request body to /shopping/flight-offers/pricing, not in the URL path, so scoping is by operation rather than by a specific offer. Limit the agent to the operations it needs, such as repricing a flight offer, and it cannot reach booking or order-cancellation operations 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 at execution time. The secret never enters the agent's prompt, logs, or context.
- **Discovery method:** Agents search Jentic by intent such as 'reconfirm the price of an Amadeus flight offer', and Jentic returns the /shopping/flight-offers/pricing operation with its required offer body shape so the agent calls it without reading the reference docs.

## Related APIs

- **Flight Create Orders** — Books the priced offer and creates a PNR.
- **Flight Choice Prediction** — Scores offers by likelihood of being chosen; pair with pricing to validate the top pick.
- **Flight Price Analysis** — Compares the priced fare against historical price quartiles for the route.
- **Branded Fares Upsell** — Returns alternative branded fares (e.g. flexible, comfort) for the same offer.

## FAQ

### What authentication does the Flight Offers Price 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 and pass it in the Authorization header. Through Jentic, the credentials live in the encrypted vault and the bearer token is rotated for you before each /shopping/flight-offers/pricing call.

### Do I need to call this before Flight Create Orders?

Yes - it is the recommended last step before order creation. The pricing endpoint returns the offer payload in the exact shape required by /booking/flight-orders, with fresh price data; using the raw search response often produces price-mismatch errors at booking.

### What are the rate limits for the Flight Offers Price API?

Amadeus Self-Service Test environment caps shopping endpoints at 10 transactions per second per API key with a monthly quota; Production limits scale with the chosen plan tier. Bearer tokens themselves expire after roughly 30 minutes.

### How do I reprice an offer through Jentic?

Run pip install jentic, then call jentic.search('reconfirm the price of an Amadeus flight offer'), load the returned operation, and execute it with the body field set to the offer JSON returned by Flight Offers Search. Jentic POSTs to /shopping/flight-offers/pricing and returns the verified price.

### Can I include detailed fare rules in the response?

Yes. Set the include query parameter to detailed-fare-rules, bags, credit-card-fees, or other-services (or any combination, comma-separated). The corresponding sections appear in the response under included.

### Does the API return a price change flag?

Yes. If the price has changed since the search, the response sets data.flightOffers[i].priceUpgrade to indicate the upgrade and the new total. Booking flows should surface this to the user before proceeding to order creation.

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

Yes. Because your Jentic One instance is self-hosted, your own rules decide which operations and credentials the agent may use. The offer to reprice travels in the POST body to /shopping/flight-offers/pricing, so scoping is by operation rather than by a specific offer: grant the agent only the repricing operation and it cannot reach Amadeus booking or order-cancellation operations unless you add them. Your client_id and client_secret stay with your instance and are injected at execution time, so the agent can call the operation without ever seeing the raw secret.
