---
title: "Verify flight offer"
method: POST
path: "/flights/verify"
tags: ["Flight Search"]
---

# Verify flight offer

`POST /flights/verify`

## Overview

Confirm a flight offer is still available and retrieve the latest pricing before proceeding to booking. Always verify before prebooking to avoid price discrepancies.

## When to Use

- **Pre-booking validation** - Confirm offer availability after user selects a flight
- **Price confirmation** - Show users the guaranteed price before they enter payment details
- **Fare rule retrieval** - Get the latest cancellation and change policies

## What You Get

- **Verified pricing** with up-to-date fare breakdown
- **`changes`** (when present) — cabin/fare flags, human-readable `messages`, and **`pricing`** (`old` / `new` full OfferPricing) instead of deprecated scalar currency/prices
- **Journey `pricing`** — `original` (provider/PCC) and `display` (customer) price breakdown per provider FlattenedJourney
- **Fare family details** including name and included amenities
- **Baggage policy** for each passenger type and segment
- **Booking terms** including cancellation and change fee rules

## Key Features

- **Real-time price check**: Confirms current availability and price with the provider
- **Updated baggage info**: Returns the latest baggage allowances at time of verification
- **Fare rules**: Includes cancellation and change fee policies before commitment

## Quick Start

Provide the `offerId` from `/flights/rates` search results. Use the verified offer data to populate a booking summary page before proceeding to `/flights/prebooks`.

## Request body

- object
  - `offerId` string, required — The offerId from the search results

## Response `200`

Successful response

- object
  - `data` object[] — Verified journey result
    - `journey` FlightVerifyJourney — Journey in verify response. The `offerId` is not returned in the JSON body (use the same id you sent on the verify request for prebook/book).
      - `journeyKey` string — Unique identifier for this journey
      - `expiration` string — Offer expiration time (ISO 8601)
      - `timestamp` string — When the journey was generated (ISO 8601)
      - `provider` object — Flight provider information
        - `code` string — Provider code (e.g. SABRE, TRAVELPORT, ATLAS, FLIGHTHUB)
        - `logo` string — URL to provider logo
      - `pricing` FlightFullOfferPricing — Offer pricing for the verify journey and changes: customer-facing display price.
        - `display` FlightPrice, required — Full price breakdown including base fare, taxes, fees, and per-passenger amounts
          - `base` number — Base fare amount (before taxes and fees)
          - `currency` string — ISO 4217 currency code
          - `fees` number — Service fees and surcharges
          - `taxes` number — Total taxes applied to the fare
          - `total` number — Total price (base + taxes + fees)
          - `perPassenger` object — Price breakdown per passenger type
            - `adult` object — Price breakdown for each adult passenger
              - …
            - `child` object — Price breakdown for each child passenger
              - …
            - `infant` object — Price breakdown for each infant passenger
              - …
        - `converted` boolean, required — Whether FX currency conversion was applied
      - `baggage` object — Baggage policy for this offer
        - `hasCarryOnBag` boolean — True if a carry-on bag is included in this offer
        - `hasCheckedBag` boolean — True if a checked bag is included in this offer
        - `included` object[] — List of included baggage allowances per passenger type
          - `bagType` 'cabin' | 'checked' — Type of bag: cabin (carry-on) or checked
          - `description` string — Human-readable baggage allowance description
          - `passengerType` 'ADT' | 'CHD' | 'INF' — Passenger type this allowance applies to (ADT, CHD, INF)
          - `pieces` integer — Number of bag pieces allowed
          - `pricing` FlightItemPricing — Pricing for an ancillary item (e.g. baggage)
            - `display` FlightMoneyAmount — A monetary amount with currency
              - …
            - `converted` boolean — True if FX currency conversion was applied
          - `unit` string — Weight unit (e.g. kg)
          - `weightKg` number — Maximum weight per bag in kg
      - `fare` object — Fare class information
        - `family` string — Fare family name (e.g. Economy, Business, First)
        - `mixedCabin` boolean — True if outbound and inbound legs are in different cabin classes
        - `seatsRemaining` integer — Number of seats remaining at this fare
      - `passengers` object — Passenger counts for this journey
        - `adults` integer — Number of adult passengers
        - `children` integer — Number of child passengers
        - `infants` integer — Number of infant passengers
      - `segments` FlightSegment[] — Ordered list of flight segments for this journey
        - `arrivalTime` string — Arrival time (ISO 8601)
        - `carrier` object — Marketing and operating carrier details for this segment
          - `marketingCode` string — Marketing carrier IATA code
          - `marketingLogo` string — Marketing carrier logo path/URL
          - `marketingName` string — Marketing carrier name
          - `operatingCode` string — Operating carrier IATA code
          - `operatingLogo` string — Operating carrier logo path/URL
          - `operatingName` string — Operating carrier name
        - `departureTime` string — Departure time (ISO 8601)
        - `destinationCode` string — Destination IATA code
        - `direction` string — OUTBOUND or INBOUND
        - `duration` object — Flight duration in ISO 8601 and minutes
          - `iso8601` string — Duration in ISO 8601 format (e.g. PT7H45M)
          - `minutes` integer — Duration in minutes
        - `flight` object — Marketing and operating flight numbers
          - `marketingNumber` string — Flight number as marketed to passengers
          - `operatingNumber` string — Flight number as operated by the carrier
        - `originCode` string — Origin IATA code
        - `originName` string — Full name of the origin airport
        - `destinationName` string — Full name of the destination airport
        - `segmentKey` string — Unique identifier for this segment, used to link with offers, fares, and amenities
      - `segmentFares` object[] — Per-segment fare details
        - `bookingCode` string — Booking/RBD class code (e.g. W, Y, J)
        - `cabin` string — Cabin class (e.g. Economy, Business, First)
        - `fareBasisCode` string — Fare basis code used for pricing and rules
        - `fareFamily` string — Commercial fare family name
        - `seatsRemaining` integer — Number of seats remaining at this fare
        - `segmentKey` string — Links this fare to the corresponding segment
      - `terms` object — Booking terms and conditions for this offer
        - `changeable` boolean — True if the fare allows changes (rebooking)
        - `refundable` boolean — True if the fare is refundable
        - `summary` object[] — Human-readable policy messages with severity levels
          - `level` string — Severity: info, warning, or danger
          - `message` string — Policy message text
        - `changeFee` FlightFee, nullable — Change or refund fee published by the provider. Null when the provider does not publish a fee.
          - `pricing` object, nullable — Fee pricing; null when only a percentage is available
            - `display` FlightMoneyAmount — A monetary amount with currency
              - …
            - `converted` boolean — True when FX conversion was applied
          - `percent` number, nullable — Fee as a percentage of the base fare (e.g. 100 = full penalty). May appear without pricing.
          - `applicability` 'anytime' | 'noShow' | 'beforeDeparture' | 'afterDeparture' — When the fee applies
          - `label` string — Human-readable fee description (e.g. 'Change fee (before departure)')
        - `refundFee` FlightFee, nullable — Change or refund fee published by the provider. Null when the provider does not publish a fee.
          - `pricing` object, nullable — Fee pricing; null when only a percentage is available
            - `display` FlightMoneyAmount — A monetary amount with currency
              - …
            - `converted` boolean — True when FX conversion was applied
          - `percent` number, nullable — Fee as a percentage of the base fare (e.g. 100 = full penalty). May appear without pricing.
          - `applicability` 'anytime' | 'noShow' | 'beforeDeparture' | 'afterDeparture' — When the fee applies
          - `label` string — Human-readable fee description (e.g. 'Change fee (before departure)')
        - `hasChangeFee` boolean — True when the provider signalled that a change fee applies to the fare, even when the actual amount is not published in `changeFee`. Lets clients render a "change fee applies — amount on request" remark for fares where the rule is known but the monetary amount is not exposed. When `false` or absent, no change fee is known to apply.
        - `hasRefundFee` boolean — True when the provider signalled that a refund/cancellation fee applies to the fare, even when the actual amount is not published in `refundFee`. Lets clients render a "cancellation fee applies — amount on request" remark for fares where the rule is known but the monetary amount is not exposed. When `false` or absent, no refund fee is known to apply.
    - `changes` FlightVerifyChanges — Changes detected between search and verification.
      - `cabinChanged` boolean — True if cabin class changed
      - `fareChanged` boolean — True if fare class/booking code changed
      - `messages` string[] — Human-readable list of change descriptions
      - `newCabin` string, nullable — Current cabin class
      - `newFareClass` string, nullable — Current booking code
      - `newFareFamily` string, nullable — Current fare brand
      - `oldCabin` string, nullable — Original cabin class
      - `oldFareClass` string, nullable — Original booking code (e.g., Y, M)
      - `oldFareFamily` string, nullable — Original fare brand (e.g., Economy Light)
      - `priceChanged` boolean — True if price has changed
      - `pricing` FlightChangesPricing — Pricing comparison between search and verification (provider ChangesPricing).
        - `old` FlightFullOfferPricing, required — Offer pricing for the verify journey and changes: customer-facing display price.
          - `display` FlightPrice, required — Full price breakdown including base fare, taxes, fees, and per-passenger amounts
            - `base` number — Base fare amount (before taxes and fees)
            - `currency` string — ISO 4217 currency code
            - `fees` number — Service fees and surcharges
            - `taxes` number — Total taxes applied to the fare
            - `total` number — Total price (base + taxes + fees)
            - `perPassenger` object — Price breakdown per passenger type
              - …
          - `converted` boolean, required — Whether FX currency conversion was applied
        - `new` FlightFullOfferPricing, required — Offer pricing for the verify journey and changes: customer-facing display price.
          - `display` FlightPrice, required — Full price breakdown including base fare, taxes, fees, and per-passenger amounts
            - `base` number — Base fare amount (before taxes and fees)
            - `currency` string — ISO 4217 currency code
            - `fees` number — Service fees and surcharges
            - `taxes` number — Total taxes applied to the fare
            - `total` number — Total price (base + taxes + fees)
            - `perPassenger` object — Price breakdown per passenger type
              - …
          - `converted` boolean, required — Whether FX currency conversion was applied

## Other responses

- `400` — Bad request — missing or invalid verify parameters
- `401` — Unauthorized
- `404` — Offer expired, not found, or session expired
- `502` — Provider error during verification
- `503` — Service unavailable

---

[API](https://skmtc.net/liteapi/apis/api-search.md) · [All operations](https://skmtc.net/liteapi/apis/api-search/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/liteapi/api-search/versions/315ba2a4dcf4/schema)
