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.
Orders

Quote order

Reprice an existing order — what it would cost to change it now.

POST/v1/orders/{orderID}/quoteRequires X-API-Key
Asks the airline to reprice the order and returns a ChangeQuote: original fare, new fare, penalty and the difference to pay.With American Airlines this goes through the reshop engine — an IATA_OrderQuoteRQ comes back as an IATA_OrderReshopRS. That reply carries no prices at all, so the adapter fetches the order total to fill the quote rather than returning a row of zeros. When AA answers NoChangeInd: true the order still prices at what was paid and you get an even quote: difference 0.00, no penalty.?airline= is required. Takes no request body.

Request example

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

Response example

Response example
{
  "quote_id": "qte_01K2M8ZC3AC5N8",
  "order_id": "AA001Y1XD7ZA6",
  "original_fare": {
    "amount": 380.62,
    "currency": "EUR"
  },
  "new_fare": {
    "amount": 380.62,
    "currency": "EUR"
  },
  "penalty": {
    "amount": 0,
    "currency": "EUR"
  },
  "difference": {
    "amount": 0,
    "currency": "EUR"
  },
  "valid_until": "2026-08-14T10:15:00Z"
}

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

Response fields

quote_idstringRequired
Quote identifier.
order_idstringRequired
The order quoted.
original_fareobject
{amount, currency} paid for the original booking.
new_fareobject
{amount, currency} of the repriced itinerary.
penaltyobject
{amount, currency} change fee.
differenceobject
{amount, currency} additional amount to pay.
valid_untilstring (RFC 3339)
When the quote expires.

Error codes

400
unknown airline when ?airline= is missing.
502
The airline rejected the quote.
POST /v1/orders/{orderID}/quote — Quote order | Norba API