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

Reshop order

Find alternative flights for an existing booking — disruption or voluntary change.

POST/v1/orders/{orderID}/reshopRequires X-API-Key

Finds alternatives for a booked itinerary and returns {"offers": [...]} in the search offer shape. It does not change the order: accept one with POST /v1/orders/{orderID}/change/confirm.

  • Fields you leave out come from the order: new_departure_date alone moves the outbound, new_return_date alone the return; new_origin/new_destination change the route.
  • Dates are RFC 3339 timestamps (2026-12-17T00:00:00Z), not plain dates.
  • {} or {"partial_cancel": true} returns the cancel offer (negative total_amount = refund); with segment_ids, for those flights only. POST /v1/orders/{orderID}/cancel wraps this.
  • No alternative on those dates is 422 no_alternatives.

Request example

curl --request POST \
  --url https://api.norba.io/v1/orders/{orderID}/reshop \
  --header "X-API-Key: $NORBA_KEY" \
  --header "Content-Type: application/json" \
  --data '{ "partial_cancel": true }'

Response example

Response example
{
  "offers": [
    {
      "offer_id": "AA-X9F21AB03-…|X9F21AB03-…-1-1",
      "airline": "AA",
      "currency": "EUR",
      "total_amount": 412.8,
      "slices": [
        {
          "origin": "BCN",
          "destination": "JFK",
          "stops": 0
        }
      ]
    }
  ]
}

Authorization

X-API-KeystringRequired

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

Path parameters

orderIDstringRequired

Canonical order ID.

Example: AA001Y1XD7ZA6

Query parameters

airlinestring

IATA code. Optional: taken from your stored order; a different value is 400 airline does not match the order.

Example: AA

Request body

new_departure_datestring (RFC 3339)

Replacement outbound date.

new_destinationstring

Replacement destination IATA code.

new_originstring

Replacement origin IATA code.

new_return_datestring (RFC 3339)

Replacement return date.

partial_cancelboolean

With segment_ids and no new dates: quote dropping only those flights. Alone: the whole-order cancel offer.

segment_idsarray<string>

Segments to drop (partial_cancel), or to replace when new dates are given.

Error codes

400

invalid request body (including a date that is not RFC 3339) or airline does not match the order.

404

order_not_found — not this account's order in this key's environment.

422

no_alternatives — the airline has no fares for that itinerary on those dates.

502

The airline rejected the reshop.

503

coming_soon.

POST /v1/orders/{orderID}/reshop — Reshop order | Norba API