Getting Started with the Xeni Activities APIHow to Book an ActivityHow to Browse Activity Tags and CategoriesHow to Cancel an Activity BookingHow to Check Activity AvailabilityHow to Get Activity DetailsHow to Retrieve Activity Booking DetailsHow to Search for Activities with FiltersHow to Search for Activity DestinationsCar Rental API - Getting StartedCar Rental API - Understanding Response FieldsHow to Book a Car RentalHow to Get Rental Car Details and Equipment Add-OnsHow to Retrieve or Cancel a Car Rental BookingHow to Search for Available Rental CarsHow to Search for Pickup LocationsHow to Use Car Rental Search FiltersDeals API Best Practices for IntegrationDeals API Frequently Asked QuestionsGetting Started with the Xeni Deals APIDeals API Request Parameters and Headers ReferenceDeals API Supported Currencies and LocalizationHow to Display Deals in Your ApplicationHow to Fetch Hotel Deals by LocationFlights API Error Codes and TroubleshootingGetting Started with the Xeni Flights APIHow to Book a FlightHow to Check Flight Availability and PricingHow to Confirm or Cancel a Flight BookingHow to Retrieve Fare Rules for a FlightHow to Retrieve Flight Booking DetailsHow to Search for Airports Using AutocompleteHow to Search for FlightsHow to Use Flight Search Filters, Sorting, and PaginationHow to Check Room Availability and PricingHow to Filter Vacation Rental ResultsHow to Get Resort Property Details, Amenities, and AccessibilityHow to Hold and Confirm a Resort BookingHow to Release a Resort HoldHow to Retrieve Resort Booking DetailsHow to Search for Available ResortsHow to Search for Resort DestinationsHow to Search for Vacation Rental LocationsHow to Search for Vacation RentalsHow to Use Resort Search Filters and SortingGetting Started with the Xeni Resorts APIResorts API: Understanding Booking Statuses and PoliciesGetting Started with the Vacation Rentals APIVacation Rentals Frequently Asked QuestionsVacation Rentals Supported Property TypesUnderstanding Async Search for Vacation RentalsAuthentication & API SignaturesBooking Hotels — Direct API & SSO CheckoutError Handling, Rate Limits & Best PracticesGetting Started with the Xeni Hotels APIManaging Bookings: Status, Retrieval & CancellationPricing Confirmation & Token LifecycleRetrieving Hotel Details & Room AvailabilitySearching for Hotels: Locations, Filters & PaginationSearching for HotelsSession Management & Correlation IDsAPI authentication and getting your API keys

How to Check Flight Availability and Pricing

Last updated: 2026-03-03

How to Check Flight Availability and Pricing

After selecting a flight from the search results, use the availability endpoint to retrieve detailed segment information, confirmed pricing, and a cabinavailabilitytoken needed for fare rules and booking.

Endpoint

GET /flights/api/v2/availability/{cabinsearchsession_id}

Headers

HeaderRequiredDescription
x-api-keyYesYour API key.
x-correlation-idYesCorrelation ID from the autocomplete response.

Path Parameters

ParameterTypeRequiredDescription
cabinsearchsession_idstringYesThe session ID from a cabin option in the search response.

Example Request

GET /flights/api/v2/availability/css_abc123def456

Example Response

JSON
{
  "status": "success",
  "data": {
    "segments": [
      {
        "flight_number": "UA123",
        "airline": "United Airlines",
        "origin": "SFO",
        "originairportname": "San Francisco International Airport",
        "destination": "FRA",
        "destinationairportname": "Frankfurt Airport",
        "departure_time": "2026-04-15T10:30:00",
        "arrival_time": "2026-04-16T06:45:00",
        "duration": "12h 15m",
        "cabin_class": "Economy",
        "aircraft_type": "Boeing 787-9",
        "baggage": {
          "cabin_baggage": "1 x 7kg",
          "checked_baggage": "1 x 23kg"
        }
      },
      {
        "flight_number": "LH456",
        "airline": "Lufthansa",
        "origin": "FRA",
        "originairportname": "Frankfurt Airport",
        "destination": "BLR",
        "destinationairportname": "Kempegowda International Airport",
        "departure_time": "2026-04-16T09:00:00",
        "arrival_time": "2026-04-16T22:30:00",
        "duration": "9h 0m",
        "cabin_class": "Economy",
        "aircraft_type": "Airbus A350-900",
        "layover": {
          "airport": "FRA",
          "duration": "2h 15m"
        },
        "baggage": {
          "cabin_baggage": "1 x 7kg",
          "checked_baggage": "1 x 23kg"
        }
      }
    ],
    "pricing": {
      "base_price": 450,
      "taxandfees": 85.5,
      "total_price": 535.5,
      "currency_code": "USD"
    },
    "ispassportrequired": true,
    "hold_allowed": true,
    "cabinavailabilitytoken": "cat_xyz789abc123"
  },
  "message": "Availability retrieved successfully"
}

Response Fields

Segments

FieldDescription
flightnumberAirline flight number.
airlineOperating airline name.
origin / destinationIATA airport codes.
originairportname / destinationairportnameFull airport names.
departuretime / arrivaltimeISO 8601 timestamps.
durationFlight duration for this segment.
cabinclassCabin class for this segment.
aircraft_typeAircraft model.
layoverLayover details (present on connecting segments). Includes airport code and duration.
baggageIncluded cabin and checked baggage allowances.

Pricing

FieldDescription
basepriceBase fare before taxes.
taxandfeesTotal taxes and fees.
totalpriceFinal price including all taxes and fees.
currency_codeCurrency of the quoted price (e.g., USD).

Booking Flags

FieldTypeDescription
ispassportrequiredbooleanWhether passport details are required during booking. If true, you must include passport information in the traveler data.
holdallowedbooleanWhether the booking can be held without immediate payment.
cabinavailability_tokenstringToken required for fare rules lookup and booking creation. Save this value.

Token Chaining

The cabinavailabilitytoken returned by this endpoint is used in two downstream calls:

  1. Fare RulesGET /flights/api/v2/farerules/{cabinavailabilitytoken}
  2. Create BookingPOST /flights/api/v2/bookings (passed in the request body)

Make sure to store this token after a successful availability check.

Tips

  • Always check availability before booking. Search results show estimated pricing; the availability endpoint provides confirmed, real-time pricing.
  • If ispassportrequired is true, ensure you collect passport details from all travelers before calling the booking endpoint.
  • If hold_allowed is true, you can create the booking and confirm it later within the ticket time limit.

Related Articles

Was this article helpful?