Skip to main content
The Offers API allows you to search for flights and retrieve priced itineraries from airline and supplier systems. Offers represent priced flight options that can be booked by creating an order.

Overview

Offer retrieval is a two-step process:
  1. Create an offer request
  2. Retrieve offers associated with that request
This design ensures:
  • Deterministic search results
  • Supplier timeout isolation
  • Async supplier aggregation support
  • Pagination support
  • Reliable pricing consistency

Offer Lifecycle

Create Offers Request

Request Body

Request Fields


Slice Object

Defines a flight segment.

Passenger Object

Supported passenger types:

  • adult
  • child
  • infant_without_seat

Cabin Classes

Supported values:
  • economy
  • premium_economy
  • business
  • first

Example Request

Response

Pagination

This endpoint supports cursor-based pagination for efficient retrieval of large result sets. Use the limit, after, and before parameters to navigate between pages.

Example

Filtering Connections

Retrieve an Offer

GET /v1/air/offers/:id Retrieve a single offer by ID to view specific pricing and itinerary details before booking.

Path Parameters

Query Parameters


Example Request

Response

An empty additionalBaggageOptions array means the selected offer does not currently support extra bags. Retrieve the offer again immediately before creating the order because availability and prices can change.

The Offer Object

An Offer is a time-sensitive, priced itinerary. It represents the final “quote” provided by a supplier before a booking is finalized. Because airline pricing is dynamic, these objects are ephemeral and must be consumed before they expire.

Attributes


Offer Expiration

Offers expire after a supplier-defined duration. Expired offers cannot be booked. If the expires_at timestamp has passed, you must initiate a new offer request to retrieve fresh availability and pricing. Attempting to book an expired offer will result in an error.

Pagination

The list endpoint supports cursor-based pagination to manage large result sets efficiently.

Best Practices

Cache Request IDs

Store the offer_request_id to quickly refresh results for a user session.

Avoid Long-term Storage

Offers are ephemeral. Do not store them in long-term databases.

Verification

Always verify the expires_at field on the client side before allowing a user to proceed to the booking stage.

Performance

Use the limit parameter to paginate results and keep your UI responsive.

Timeouts

Respect supplier timeouts to ensure optimal system performance and user experience.

Next Steps

Create Order

Book an offer and issue a ticket by creating an order.