Get and revalidate an offer
Before you book, fetch the offer once more. This revalidates it against the source: it re-prices the fare and confirms it is still available, then stores the confirmed fare so you can create an order from it.
Get an offer
GET/v3/HAPI/flights/offers/{id}
Requires the flights:read scope. The {id} is the ofr_ id from a search.
curl https://api.hermeseus.com/v3/HAPI/flights/offers/ofr_dHJhdmVscGF5b3V0cz... \ -H "Authorization: Bearer $ACCESS_TOKEN"
Response
The same flight_offer shape returned by search, re-priced, with revalidated set to true.
{
"object": "flight_offer",
"id": "ofr_dHJhdmVscGF5b3V0cz...",
"owner": "TP",
"validating_airline": "PC",
"cabin_class": "economy",
"total": { "amount": "412.00", "currency": "USD" },
"base": { "amount": "250.00", "currency": "USD" },
"tax": { "amount": "162.00", "currency": "USD" },
"slices": [ /* … same shape as search … */ ],
"revalidated": true
}
Revalidation is required before an order.
Creating an order from an offer you have not revalidated in the current session returns
409 offer_not_revalidated. Always fetch the offer immediately before creating the order, and read the returned total so you charge the confirmed price.
Price changes
If the fare moved, the revalidated total differs from the price you saw at search. Show the new total to the traveller before booking. The offer id stays the same.
Errors
| Status | Code | Meaning |
|---|---|---|
| 404 | offer_not_found | The id is malformed or not an offer id. |
| 409 | offer_expired | The offer is no longer cached or available; run a fresh search. |
Was this page helpful?