Live and bookable — pre-production, and no payment

These endpoints work against real American Airlines inventory: a search returns real offers and you can create a real booking with a carrier PNR. Two limits are worth knowing before you build against them.

  • Orders are pre-production. They are genuine reservations in the airline's pre-production system, not commercial tickets — nobody flies on them. Cancel what you create; anything left over expires on its own payment time limit.
  • Payment and ticketing cannot complete. An order is created as an unpaid hold, which is the normal agency flow, but ticketing is inhibited on this IATA number, so POST /v1/orders/{orderID}/commit returns 502. Everything up to and including the reservation works.
Servicing

Refund order

Cancel the order and mark it refunded. Returns 202 Accepted.

POST/v1/orders/{orderID}/refundRequires X-API-Key
Cancels the order at the airline and records the local status as refunded, answering **202 Accepted** with a minimal {order_id, status} body.> This is a cancellation, not a settlement. The handler performs the same OrderCancel as DELETE /v1/orders/{orderID} and then relabels the stored order refunded. No refund amount is quoted, computed or transferred, and no money movement is initiated. 202 reports that the cancellation was accepted, nothing more. Reconcile the actual refund with the airline or your BSP settlement separately.Call GET /v1/orders/{orderID}/refund-eligibility first to show the traveller an estimate. Takes no request body. ?airline= is required.

Request example

curl --request POST \
  --url https://api.norba.io/v1/orders/{orderID}/refund \
  --header "X-API-Key: $NORBA_KEY"

Response example

Response example
{
  "order_id": "AA001Y1XD7ZA6",
  "status": "refunded"
}

Authorization

X-API-KeystringRequired
Opaque API key issued from the Norba dashboard. Sent on every request as the X-API-Key HTTP header. Missing or invalid keys are rejected with 401 Unauthorized.

Path parameters

orderIDstringRequired
Canonical order ID.
Example: AA001Y1XD7ZA6

Query parameters

airlinestringRequired
IATA code. Required.
Example: AA

Error codes

400
unknown airline when ?airline= is missing.
502
The airline rejected the cancellation.
503
coming_soon — order writes disabled.
POST /v1/orders/{orderID}/refund — Refund order | Norba API