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
Section titled “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/ABC123Authorization: <bearer token from /auth/token>Accept: application/jsonResponse
Section titled “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 when present. Baggage attributes: pieceCount (integer) and weight: { value, unit } where unit is KGM (kilograms) or LBR (pounds). Seat attributes: seat position. |
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.
Legs carry a statusCode field (order retrieve only; absent on offers and when the upstream system sends no status). Values: SCHEDULED, CANCELLED (airline-cancelled: never flew, stays refundable after its scheduled departure passes), CLOSED (flown, the same condition ERR-4007 checks), LOCKED (no changes permitted, but not flown). This field is JSON-only; IATA NDC has no leg-status concept at these schema versions.
{ "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, "weight": { "value": 50, "unit": "LBR" } } } ], "pax": [ { "paxId": "PAX-eyJ2IjoxfQ", "ptc": "ADT", "name": { "givenName": "Jane", "surname": "Doe" } } ], "contacts": [ { "contactId": "CTC-UA", "contactTypeCode": "P", "contactTypeName": "Primary", "phoneNumbers": [ { "number": "+18015551212", "type": "Other" } ], "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
Section titled “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. |