Skip to main content

Quote order

POST /json/{version}/orders/{orderId}/quote prices a reshop offer selected from reshop order and returns the change amounts plus the priced offer. It is the JSON counterpart of the NDC IATA_OrderQuoteRQ.

Offers returned by offer search must be priced with price offer instead. To commit the quoted change, call change order with AcceptReshopOffer.

Authorization

Quote order requires full transaction (book) permissions on the API key.

Request

FieldDescription
offerIdReshop offer ID from reshop order.
offerItemIdsOffer items to quote. Must be unique.
passengersPassengers in scope: paxId (required) and type.
POST /json/v0/orders/ABC123/quote
Authorization: <bearer token from /auth/token>
Content-Type: application/json

{
"offerId": "OF-8c1e2f04-9d21-4b7a-b3c2-77c101f1a001",
"offerItemIds": [
"OFI-8c1e2f04-9d21-4b7a-b3c2-77c101f1a001-0"
],
"passengers": [
{
"paxId": "PAX-eyJ2IjoxfQ",
"type": "ADT"
}
]
}

Response

data.priceDifferential summarizes the balance change, and itemChangeQuotes breaks it down per offer item: oldTotal, newTotal, balanceDelta, and differentialTypeCode (AddCol — additional collection due, Refund, or EvenExchange). data.offer is the priced replacement offer with journeyRefIds into top-level journeys.

{
"data": {
"orderId": "ABC123",
"recordLocator": "ABC123",
"pax": [
{
"paxId": "PAX-eyJ2IjoxfQ",
"ptc": "ADT"
}
],
"priceDifferential": {
"offerItemId": "OFI-test-0",
"oldTotal": {
"amount": 200,
"currency": "USD"
},
"newTotal": {
"amount": 180,
"currency": "USD"
},
"balanceDelta": {
"amount": -20,
"currency": "USD"
},
"differentialTypeCode": "Refund"
},
"itemChangeQuotes": [
{
"offerItemId": "OFI-test-0",
"oldTotal": {
"amount": 200,
"currency": "USD"
},
"newTotal": {
"amount": 180,
"currency": "USD"
},
"balanceDelta": {
"amount": -20,
"currency": "USD"
},
"differentialTypeCode": "Refund"
}
],
"offer": {
"offerId": "OF-test",
"ownerCode": "MX",
"totalPrice": {
"total": {
"amount": 180,
"currency": "USD"
},
"base": {
"amount": 150,
"currency": "USD"
},
"taxes": [],
"fees": []
},
"items": [
{
"offerItemId": "OFI-test-0",
"journeyRefIds": [
"JK1"
],
"totalPrice": {
"total": {
"amount": 180,
"currency": "USD"
},
"base": {
"amount": 150,
"currency": "USD"
},
"taxes": [],
"fees": []
},
"fare": {}
}
]
},
"journeys": [
{
"journeyId": "JK1",
"origin": "SLC",
"destination": "CHS",
"departureDateTime": "2026-09-20T08:00:00",
"arrivalDateTime": "2026-09-20T12:00:00",
"duration": "PT4H",
"stops": 0,
"segments": [
{
"marketingCarrier": "MX",
"marketingFlightNumber": "101",
"origin": "SLC",
"destination": "CHS",
"departureDateTime": "2026-09-20T08:00:00",
"arrivalDateTime": "2026-09-20T12:00:00",
"cabinTypeCode": "Y",
"rbd": "Y"
}
]
}
]
},
"error": null
}

Quote order errors

CodeHTTP statusCause
ERR-1002404Unsupported version segment in the path.
ERR-1005422Request validation failed: duplicate IDs.
ERR-3000404Referenced offer could not be found.
ERR-3001404Referenced offer has expired.
ERR-3005400Offer came from offer search and must be priced with price offer.
ERR-4000404Order not found.
ERR-4002400Requested change could not be quoted.
ERR-8000401Missing or invalid API key or bearer token.
ERR-8001403API key lacks full transaction permissions.
ERR-8002503Authentication store unavailable.
ERR-9003500Quote failed upstream.