Order retrieve
GET /json/{version}/orders/{orderId} returns the full OrderView projection of a booking. It is the JSON counterpart of the NDC IATA_OrderRetrieveRQ. Bookings do not need to originate in Breeze Offer Order to be retrievable.
Read-only API keys can retrieve orders; full transaction permissions are not required.
Request
| Parameter | Location | Description |
|---|---|---|
orderId | path | Order ID or record locator (PNR). |
ownerCode | query | Optional airline owner code. Defaults to MX. |
GET /json/v0/orders/ABC123
Authorization: <bearer token from /auth/token>
Accept: application/json
Response
Flat hierarchy under data — item rows reference shared collections by ID (paxRefIds, segmentRefIds) instead of embedding copies:
| Field | Description |
|---|---|
order | Header (orderId, recordLocator, statusCode, creationDateTime, totalPrice, balanceDue, paymentTimeLimit when on hold) plus items[] — the flight lines. |
services | Purchased ancillaries: code, name, category, totalPrice, paxRefId, segmentRefId, and category-specific attributes (seat position, baggage pieces) when present. |
pax | Passenger identity lookup: name, PTC, and optional dates of birth, documents, and infant association. |
journeys | journeys[] → segments[] → legs[] itinerary tree. |
payments | Flat payment rows with amount, statusCode, and method. |
tickets | Ticket/coupon rows per passenger and segment. |
Cross-reference IDs (PAX…, JOU…, SEG…, OOI…, SVR…) are opaque and stable across array reordering — treat them as identifiers, not parseable values. Optional fields without an upstream source are absent.
{
"data": {
"order": {
"orderId": "ABC123",
"recordLocator": "ABC123",
"ownerCode": "MX",
"statusCode": "ONHOLD",
"creationDateTime": "2026-07-01T15:04:05Z",
"paymentTimeLimit": "2026-07-02T15:04:05Z",
"balanceDue": {
"amount": 99,
"currency": "USD"
},
"totalPrice": {
"total": {
"amount": 99,
"currency": "USD"
},
"base": {
"amount": 91.5,
"currency": "USD"
},
"taxes": [
{
"code": "US",
"amount": {
"amount": 7.5,
"currency": "USD"
}
}
],
"fees": []
},
"items": [
{
"itemId": "OOI-FL-eyJ2IjoxfQ",
"statusCode": "CONFIRMED",
"totalPrice": {
"total": {
"amount": 99,
"currency": "USD"
},
"base": {
"amount": 91.5,
"currency": "USD"
},
"taxes": [
{
"code": "US",
"amount": {
"amount": 7.5,
"currency": "USD"
}
}
],
"fees": []
},
"paxRefIds": [
"PAX-eyJ2IjoxfQ"
],
"segmentRefIds": [
"SEG-eyJ2IjoxfQ"
],
"fare": {
"fareBasisCode": "Y",
"cabinTypeCode": "Y",
"rbd": "Y",
"priceClassRefId": "EZU",
"bundleName": "Nice"
}
}
]
},
"services": [
{
"itemId": "SVR-eyJ2IjoxfQ",
"serviceId": "SVR-eyJ2IjoxfQ",
"code": "BAG1",
"name": "First checked bag",
"category": "baggage",
"ownerCode": "MX",
"totalPrice": {
"total": {
"amount": 35,
"currency": "USD"
},
"base": {
"amount": 35,
"currency": "USD"
},
"taxes": [],
"fees": []
},
"paxRefId": "PAX-eyJ2IjoxfQ",
"segmentRefId": "SEG-eyJ2IjoxfQ",
"attributes": {
"pieceCount": 1
}
}
],
"pax": [
{
"paxId": "PAX-eyJ2IjoxfQ",
"ptc": "ADT",
"name": {
"givenName": "Jane",
"surname": "Doe"
}
}
],
"journeys": [
{
"journeyId": "JOU-eyJ2IjoxfQ",
"origin": "SLC",
"destination": "CHS",
"departureDateTime": "2026-09-15T08:00:00",
"arrivalDateTime": "2026-09-15T12:00:00",
"duration": "PT4H",
"stops": 0,
"segments": [
{
"segmentId": "SEG-eyJ2IjoxfQ",
"marketingCarrier": "MX",
"marketingFlightNumber": "101",
"origin": "SLC",
"destination": "CHS",
"departureDateTime": "2026-09-15T08:00:00",
"arrivalDateTime": "2026-09-15T12:00:00",
"cabinTypeCode": "Y",
"rbd": "Y"
}
]
}
],
"payments": [],
"tickets": []
},
"error": null
}
Order retrieve errors
| Code | HTTP status | Cause |
|---|---|---|
ERR-1002 | 404 | Unsupported version segment in the path. |
ERR-4000 | 404 | Order not found. |
ERR-8000 | 401 | Missing or invalid API key or bearer token. |
ERR-8001 | 403 | API key not authorized for this request. |
ERR-8002 | 503 | Authentication store unavailable. |
ERR-9000 | 503 | A required service is unavailable. |
ERR-9003 | 500 | Booking lookup failed upstream. |