Skip to content
BreezePro docs

Error codes

JSON and NDC/XML share the same ERR-* catalog. JSON returns them in the response envelope (error.code); XML returns IATA Error elements with the same code text.

Endpoint pages list the codes that endpoint can return. This page is the cross-cutting reference plus the failures partners hit most often when integrating.

SymptomLikely codeFix
Missing or bad booking contactERR-1005 (JSON) / ERR-7004 (XML)Send contact with at least an email address (JSON) or an unreferenced ContactInfo (XML). See contacts.
Unsupported ContactPurposeTextERR-1004Only the primary booking contact can be set; leave it untagged, or tag it Primary.
Phone rejectedERR-1004Send a number that normalizes to E.164 (+1…, 00…, or 10-digit US/Canada).
Malformed emailERR-1004Fix the address format.
Field value too longERR-1004Check passenger name and document limits. Common: name.surname max 32 characters, documentNumber max 35 characters, remarks max 1 024 characters each.
placeOfBirth or placeOfIssue contains digits or punctuationERR-1004Letters and spaces only (e.g. send Los Angeles, not L.A. or St. Louis).
loyaltyProgram.programCode contains |ERR-1004Remove the | character from the program code.
gender: "F" or "female" on JSON createERR-1005Use Male / Female, spelled exactly. See passengers.
Duplicate passenger IDs or infants > adultsERR-1005 / ERR-7003Unique IDs; at most one infant per adult.
Unsupported currencyERR-1004USD only. See payments.
Offer not found / expiredERR-3000 / ERR-3001Re-shop and re-price; offer IDs are short-lived.
Same passenger name already on that flight (sandbox)ERR-4001Change the test passenger name or travel date.
Payment amount ≠ live balance (XML)ERR-3006Set PaymentProcessingDetails > Amount to the current amount due.
Metro return leg returns to a different airport than the outbound departed fromERR-3003Re-select: the return must mirror the outbound’s airports (HPN out → HPN back).
Shopped offer repriced at a different totalERR-3006Send expectedTotal (JSON) / TotalOfferPriceAmount (XML) with the accepted amount, or re-shop and retry.
Unsupported card brandERR-6001Use VI, CA, AX, or DS.
Payment declined / rejectedERR-6002Check card details; in test use 4111111111111111.
Token expiredERR-8000 / 401Fetch a new bearer token (≈30-minute lifetime).
Read-only API key on bookERR-8001Need full transaction (book) permissions.
Idempotency-Key reused with a different request bodyERR-1011Each key is bound to the first request body it was sent with. Use a different key for a new order attempt.
Flight change on a No Flex fareERR-4003No Flex allows no flight changes. Cancel instead.
Order create still in progress on this keyERR-4011The first request is still processing. Retry with the same Idempotency-Key after a moment.
CodeTypical HTTPMeaning
ERR-1000400Malformed XML.
ERR-1001400Malformed JSON: the body could not be parsed or is not a JSON object.
ERR-1002404Unsupported version segment in the path.
ERR-1003400Missing required XML element.
ERR-1004400Invalid field value (currency, contact type, phone, email, cabin, ancillary ID, …).
ERR-1005422Request validation failed (schema / business rules on the body).
ERR-1006422Origin or destination is not a valid market.
ERR-1007404Resource not found.
ERR-1008409The request conflicts with an existing record.
ERR-1009413Request body larger than 1 MiB.
ERR-1010415Unsupported Content-Type (NDC/XML takes application/xml or text/xml).
ERR-1011422Idempotency-Key reused: same key sent with a different request body.
ERR-2002500Availability could not be processed upstream.
ERR-3000404Referenced offer could not be found.
ERR-3001404Referenced offer has expired.
ERR-3002400One or more offer items not found on the offer.
ERR-3003400Invalid / partial selection (including package reshop item selection, or a metro round trip whose return uses different airports than the outbound).
ERR-3004400Reshop offer sent to OfferPrice / price offer; use quote instead.
ERR-3005400Shop offer sent to OrderQuote / quote order; use price / OfferPrice instead.
ERR-3006409Stated payment amount does not match the live amount due, or (on short sell) the repriced total differs from the shopped total and no stated total was sent.
ERR-3007422The requested flight is not available in the tour-operator inventory.
ERR-3008409Your negotiated contract applies to this journey, but its pricing has not been verified yet.
ERR-4000404Order not found.
ERR-4001400Order could not be created from the selected offer.
ERR-4002400Requested change could not be applied or quoted.
ERR-4003400The fare rules on this journey do not permit a flight change (for example, No Flex).
ERR-4004400The fare rules on this journey do not permit a partial cancellation; cancel the whole order.
ERR-4006400Referenced journey not found on the order.
ERR-4007400Journey has already flown, or a passenger on it boarded or no-showed; the journey can no longer be changed or cancelled.
ERR-4008404The order has been fully cancelled and has no order items left.
ERR-4009422An international itinerary cannot be sold this close to its first departure.
ERR-4010400Bundle change not permitted: a bundled journey cannot move to a lower bundle on the same flight, or to an unbundled fare on any flight.
ERR-4011409Order create with this Idempotency-Key is still being processed. Retry with the same key to receive its result.
ERR-5000501Operation not currently supported (e.g. standalone OrderCancel).
ERR-6000422Payment method not supported.
ERR-6001422Card brand not supported.
ERR-6002400Payment rejected.
ERR-6003501The refund cannot be completed automatically for this payment method. Contact Breeze.
ERR-6004501The refund cannot be completed automatically because a loyalty points refund is owed. Contact Breeze.
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. (JSON only.)
ERR-7003422Infants exceed adults.
ERR-7004422Missing order contact information (XML).
ERR-7006422One or more passenger dates of birth are invalid.
ERR-7007400Passenger update rejected.
ERR-7008422Loyalty number unrecognized or does not match the passenger name.
ERR-7009422Split would leave a child passenger without an adult on one of the resulting orders.
ERR-8000401Missing or invalid API key or bearer token.
ERR-8001403API key not authorized for this request (permissions / agency mismatch).
ERR-8002503Authentication store unavailable.
ERR-9000503A required service is unavailable.
ERR-9001500Unexpected upstream response.
ERR-9002503Offer cache unavailable.
ERR-9003500Upstream booking / change / lookup failure.
ERR-9005500Internal error. Retry; contact Breeze if it persists.

JSON error bodies may also include error.fields naming the invalid property; check that map before retrying.