Sandbox: real offers, real PNRs, no tickets
In the sandbox these endpoints work against real carrier test inventory: a search returns real offers and you can create a real booking with a carrier PNR. Two things are worth knowing before you build against them.
- Sandbox orders are test reservations. Nobody flies on them, and they raise no fee. Cancel what you create; anything left over expires on its own payment time limit.
- Sandbox orders are never ticketed. A paid order comes back
confirmedwith an emptytickets[]and a warning saying why. Readstatusandtickets[], not the HTTP code — that is the check production relies on too.
Orders
Cancel order
Cancel an order at the airline. Verified, not merely accepted.
DELETE
/v1/orders/{orderID}Requires X-API-KeyCancels the order with the carrier and returns **
204 No Content** — no body.The cancellation is verified. Norba re-reads the order afterwards and fails the call if it is still open at the airline, so a 204 means the carrier actually closed it rather than merely acknowledging the message. A follow-up GET /v1/orders/{orderID} reports status: cancelled.Norba's stored copy is updated to cancelled in the same call, so order history stops reporting the old status.This releases the reservation; it does not compute a refund. To see the money first, call GET /v1/orders/{orderID}/refund-eligibility or POST /v1/orders/{orderID}/cancel for a quote, then cancel.?airline= is optional: the airline comes from your stored order, not from this parameter. A value that disagrees with the persisted carrier is refused with 400 airline does not match the order.Request example
curl --request DELETE \
--url https://api.norba.io/v1/orders/{orderID} \
--header "X-API-Key: $NORBA_KEY"Response example
Response example
(no content)Path parameters
orderIDstringRequiredCanonical order ID.
Example:
AA001Y1XD7ZA6Query parameters
airlinestringIATA code. Optional — inferred from your stored order. A value that disagrees with the persisted carrier is refused with
400 airline does not match the order.Example:
AAError codes
400airline does not match the order — only returned when a supplied ?airline= disagrees with the persisted carrier; omitting it is fine.502The airline rejected the cancel, or the order was still open afterwards.
503coming_soon — order writes disabled in this environment.