Skip to content
BreezePro docs

Change order

PATCH /json/{version}/orders/{orderId} applies changes to an existing booking. It is the JSON counterpart of the NDC IATA_OrderChangeRQ.

orderId is the order ID or record locator (PNR).

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

Card methods, brands, and the sandbox test card are documented under payments.

The body must include at least one of changes, passengers, or payment. Each changes[] entry is one instruction; changes accepts up to 10 entries per request.

Instruction typeDescription
CancelUnpaidOrderCancels an unpaid (hold) booking.
CancelJourneyCancels one journey by journeyRef.
UpdatePassengerPatches one passenger (passengerId + non-empty patch of name, date of birth, gender, nationality, residence country, travel documents (up to 4 per request), or a per-passenger contact with email and/or phone).
UpdateContactReplaces the primary booking contact. Requires the contact name. See contacts.
ConfirmHoldConfirms a hold booking; combine with payment.
AcceptOfferAdds ancillary offer items (seats, services) to the order; entries carry offerId, offerItemId, optional passengerIds and seat (row integer + column single letter, e.g. "D").
AcceptReshopOfferAccepts a reshop offer quoted by quote order.

Changes that create a positive balance require payment, except on a held (unpaid) booking, where the change commits without payment and grows the balance due by the payment time limit.

PATCH /json/v0/orders/ABC123
Authorization: <bearer token from /auth/token>
Content-Type: application/json
{
"changes": [
{
"type": "CancelUnpaidOrder"
}
]
}
PATCH /json/v0/orders/ABC123
Authorization: <bearer token from /auth/token>
Content-Type: application/json
{
"changes": [
{
"type": "ConfirmHold"
}
],
"payment": {
"type": "CreditCard",
"cardType": "VI",
"cardNumber": "4111111111111111",
"expiryDate": "1227",
"securityCode": "123",
"payer": {
"name": {
"givenName": "Jane",
"surname": "Doe"
},
"postalAddress": {
"line1": "123 Main St",
"city": "Los Angeles",
"stateProvince": "California",
"postalCode": "90210",
"countryCode": "US"
}
}
}
}
PATCH /json/v0/orders/ABC123
Authorization: <bearer token from /auth/token>
Content-Type: application/json
{
"changes": [
{
"type": "UpdatePassenger",
"passengerId": "PAX-eyJ2IjoxfQ",
"patch": {
"name": {
"givenName": "Jane",
"surname": "Smith"
}
}
}
]
}
PATCH /json/v0/orders/ABC123
Authorization: <bearer token from /auth/token>
Content-Type: application/json
{
"changes": [
{
"type": "AcceptReshopOffer",
"offerId": "OF-8c1e2f04-9d21-4b7a-b3c2-77c101f1a001",
"offerItemIds": [
"OFI-8c1e2f04-9d21-4b7a-b3c2-77c101f1a001-0"
]
}
]
}

The updated OrderView projection, the same shape as order retrieve.

{
"data": {
"order": {
"orderId": "ABC123",
"recordLocator": "ABC123",
"ownerCode": "MX",
"statusCode": "CONFIRMED",
"creationDateTime": "2026-07-01T15:04:05Z",
"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",
"emailAddress": "[email protected]",
"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
}
CodeHTTP statusCause
ERR-1002404Unsupported version segment in the path.
ERR-1005422Request validation failed: empty body, empty passenger patch.
ERR-4000404Order not found.
ERR-4002400Requested change could not be applied.
ERR-4006400Referenced journey not found on the order.
ERR-4007400Journey already flown, or a passenger boarded or no-showed.
ERR-6000422Payment method not supported.
ERR-6001422Card brand not supported.
ERR-6002400Payment rejected.
ERR-6005503Payment processing timed out.
ERR-6006422This change would leave a balance due, which this booking cannot pay. Changes that cost nothing or leave a credit are accepted.
ERR-8000401Missing or invalid API key or bearer token.
ERR-8001403API key lacks full transaction permissions.
ERR-8002503Authentication store unavailable.
ERR-9003500Booking change failed upstream.