Sandbox orders are test bookings

Sandbox keys reach the airlines’ test systems: nobody flies on these orders and no booking fee is charged. Check status and tickets[], not the HTTP code.

Orders

List orders

Every order stored for your agency, newest first.

GET/v1/ordersRequires X-API-Key

Your agency's orders in the key's environment, newest first, from Norba's copy (no airline call).

Paginate with limit (1–100, default 20) and cursor (the previous next_cursor; empty means last page). Filter by status, airline and pnr. Needs a key with an agency behind it (401 otherwise).

Request example

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

Response example

Response example
{
  "orders": [
    {
      "order_id": "AA001Y1XD7ZA6",
      "pnr": "JBQGEY",
      "airline": "AA",
      "environment": "sandbox",
      "status": "confirmed",
      "currency": "EUR",
      "total_amount": 380.62,
      "created_at": "2026-08-14T09:15:00Z"
    }
  ],
  "next_cursor": ""
}

Authorization

X-API-KeystringRequired

Your API key from the dashboard. A missing or invalid key answers 401; see Authentication.

Query parameters

airlinestring

IATA airline code.

Example: AA
cursorstring

next_cursor from the previous page. Omit for the first page.

limitinteger

Page size, 1–100 (default 20).

Example: 20
pnrstring

Exact record locator.

Example: JBQGEY
statusstring

pending, confirmed, ticketed, cancelled, partially_cancelled, disrupted, refunded, failed.

Example: confirmed

Response fields

next_cursorstringRequired

Pass as cursor for the next page. Empty on the last page.

orders[]array<Order>Required

Orders on this page, each the Order without history[].

Error codes

400

limit must be between 1 and 100, or invalid cursor.

GET /v1/orders — List orders | Norba API