Skip to main content

Price offer

POST /json/{version}/offers/price prices offers selected from create offers and returns a single quoted offer under a new offerId. It is the JSON counterpart of the NDC IATA_OfferPriceRQ.

The selected cached offers (one per journey) are quoted together, and the merged result is stored under a new offerId for use with create order. Returns 201 Created on success.

Offers returned by reshop order cannot be priced here — use quote order instead.

Request

FieldDescription
selectionsOne entry per journey: the offerId from offer search and the offerItemIds to price. Offers must reference distinct journeys and share one currency. IDs must be unique within the request.
passengersSame rules as offer search: type (ADT, CHD, INF, UNN) with optional paxId, synthesized as PX1..PXn when omitted.
POST /json/v0/offers/price
Authorization: <bearer token from /auth/token>
Content-Type: application/json

{
"selections": [
{
"offerId": "OF-25a8bea9-89f5-11ea-98be-25340131a18b",
"offerItemIds": [
"OFI-25a8bea9-89f5-11ea-98be-25340131a18b-0"
]
}
],
"passengers": [
{
"paxId": "PX1",
"type": "ADT"
}
]
}

Response

data.offer is the quoted offer: offer-level totalPrice is the quoted booking total, and per-item totalPrice rows are updated from the quote breakdown. Unlike offer search, items do not embed a flight object — each item references top-level data.journeys through journeyRefIds.

{
"data": {
"pax": [
{
"paxId": "PX1",
"ptc": "ADT"
}
],
"offer": {
"offerId": "OF-8c1e2f04-9d21-4b7a-b3c2-77c101f1a001",
"ownerCode": "MX",
"expiresAt": "2026-09-15T12:00:00.000Z",
"totalPrice": {
"total": {
"amount": 99,
"currency": "USD"
},
"base": {
"amount": 91.5,
"currency": "USD"
},
"taxes": [
{
"code": "US",
"amount": {
"amount": 7.5,
"currency": "USD"
}
}
],
"fees": []
},
"items": [
{
"offerItemId": "OFI-8c1e2f04-9d21-4b7a-b3c2-77c101f1a001-0",
"journeyRefIds": [
"JK1"
],
"totalPrice": {
"total": {
"amount": 99,
"currency": "USD"
},
"base": {
"amount": 91.5,
"currency": "USD"
},
"taxes": [
{
"code": "US",
"amount": {
"amount": 7.5,
"currency": "USD"
}
}
],
"fees": []
},
"fare": {
"fareBasisCode": "Y",
"cabinTypeCode": "Y",
"rbd": "Y",
"priceClassRefId": "EZU",
"paxRefIds": [
"PX1"
],
"bundleName": "Nice"
}
}
]
},
"journeys": [
{
"journeyId": "JK1",
"origin": "SLC",
"destination": "CHS",
"departureDateTime": "2026-09-15T08:00:00",
"arrivalDateTime": "2026-09-15T12:00:00",
"duration": "PT4H",
"stops": 0,
"segments": [
{
"marketingCarrier": "MX",
"marketingFlightNumber": "101",
"origin": "SLC",
"destination": "CHS",
"departureDateTime": "2026-09-15T08:00:00",
"arrivalDateTime": "2026-09-15T12:00:00",
"cabinTypeCode": "Y",
"rbd": "Y"
}
]
}
]
},
"error": null
}

Price offer errors

CodeHTTP statusCause
ERR-1002404Unsupported version segment in the path.
ERR-1005422Request validation failed: duplicate IDs, infants exceeding adults.
ERR-3000404Referenced offer could not be found.
ERR-3001404Referenced offer has expired.
ERR-3002400One or more offer items not found on the offer.
ERR-3003400Selected offer items do not form a valid selection.
ERR-3004400Offer came from OrderReshop and must be priced with quote order.
ERR-8000401Missing or invalid API key or bearer token.
ERR-8001403API key not authorized for this request.
ERR-8002503Authentication store unavailable.
ERR-9001500Unexpected upstream response.
ERR-9002503Offer cache unavailable.