Sandbox: real offers, real PNRs, test 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 booking or servicing fee — the calls themselves are metered like any other. Cancel what you create; anything left over expires on its own payment time limit.
  • Sandbox tickets are test documents. A paid order comes back ticketed with test ticket and EMD numbers in tickets[]; a hold comes back confirmed with none. Read status and tickets[], not the HTTP code — that is the check production relies on too.
Shopping

Price calendar

The cheapest fare per passenger your recent searches found on a route, day by day.

GET/v1/shopping/calendarRequires X-API-Key

For drawing prices on a date picker. Each day carries the cheapest fare your own searches in this key's environment found, divided by the search's adults and children, for as long as the airline honours the offers behind it (the search answer's expires_at). A day with no such search is absent from days: show no price there.

The call never reaches an airline and starts no search, so a price is a hint of what a day costs, not a quote. Search the day to get one. Each call is a metered data request (€0.0025 past the free allowance).

On a round trip without departure_date the days are departure days (any return). With departure_date they are return days for that outbound.

Request example

curl --request GET \
  --url https://api.norba.io/v1/shopping/calendar \
  --header "X-API-Key: $NORBA_KEY"

Response example

Response example
{
  "currency": "EUR",
  "days": [
    {
      "date": "2026-11-04",
      "amount": 412.5,
      "searched_at": "2026-10-21T18:02:11Z"
    },
    {
      "date": "2026-11-06",
      "amount": 386.1,
      "searched_at": "2026-10-22T07:45:40Z"
    }
  ]
}

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.

Query parameters

originstringRequired

IATA airport code.

Example: BCN
destinationstringRequired

IATA airport code.

Example: JFK
fromstringRequired

First day, YYYY-MM-DD, inclusive.

Example: 2026-11-01
tostringRequired

Last day, inclusive; at most 400 days after from.

Example: 2026-12-31
trip_typestring

one_way (default) or round_trip.

Example: round_trip
departure_datestring

Round trip only: the outbound whose return days you want.

Example: 2026-11-10
cabin_classstring

economy (default), premium_economy, business or first.

Example: economy
currencystring

Prices in this currency only. Default EUR.

Example: EUR

Error codes

400

invalid_search — a bad route, trip_type, cabin_class, currency, or departure_date without round_trip; invalid_date — a date that is not YYYY-MM-DD; date_out_of_range — to before from, or more than 400 days after it.

GET /v1/shopping/calendar — Price calendar | Norba API