---
title: "Get cancellation quote"
method: GET
path: "/flights/bookings/{bookingId}/cancellations"
tags: ["Flight Bookings"]
---

# Get cancellation quote

`GET /flights/bookings/{bookingId}/cancellations`

## Request

- Base URL: `https://api.liteapi.travel/v3.0`
- URL: `https://api.liteapi.travel/v3.0/flights/bookings/{bookingId}/cancellations`
- Auth: API key in header `X-API-Key`

## Overview

Returns refund eligibility, estimated refund amounts, and penalty details for a booking **without actually cancelling it**. Use this before calling `POST /flights/bookings/{bookingId}/cancellations` to understand the financial impact of cancellation.

## When to Use

- **Pre-cancellation review** — Show the customer the potential maximum refund (not guaranteed) before they confirm cancellation
- **Refund estimation** — Display potential maximum refund and penalty amounts in the booking management UI (refund is not granted until cancel completes)
- **Eligibility check** — Determine whether the booking is within the void window (`isVoidable`) or eligible for a partial refund (`isRefundable`)

## What You Get

- **`confidence`** — How reliable the quote is (`confirmed`, `estimated`, `heuristic`, `unknown`)
- **`isRefundable` / `isVoidable`** — Quick eligibility flags
- **`refund` / `penalty`** — Aggregate amounts with margin applied. `refund` is the potential maximum the airline may refund — not a granted/guaranteed amount
- **`penalties[]`** — Itemised penalty breakdown when available
- **`tickets[]`** — Per-ticket detail when available
- **`destination`** — Where refunded money goes (`original_payment`, `agency_deposit`, `voucher`, etc.)
- **`vouchers[]`** — Airline travel vouchers / credit-shells when `destination` is `voucher`; omitted when absent. Distinct from LiteAPI discount `voucherCode` on prebook

## Concurrent cancellation

If a cancellation was already submitted and is still awaiting provider confirmation, this endpoint returns **HTTP 409** with code `49007` (`CONCURRENT_OPERATION`). A new quote is not available until that cancellation completes or fails.

## Refund amount caveat

The `refund` amount on a cancellation quote is the **potential maximum** the airline may refund if cancellation proceeds under the quoted conditions. It is an estimate for decision-making only and is **not granted** — the final refund (if any) is determined when cancellation completes and may be lower or zero. The refund may arrive asynchronously once the airline determines the final amount.

## Key Features

- **Non-destructive** — Does not cancel the booking; safe to call before user confirmation
- **Margin-applied pricing** — All amounts (including voucher `pricing.display`) reflect the same margin applied at booking time
- **Booking currency** — Every amount, including `tickets[]` and `penalties[]` lines, is returned in the booking currency. Amounts the airline quotes in another currency are converted at the rate implied by the quote itself, or at the current exchange rate when the quote does not price them in the booking currency

## Quick Start

Provide the `bookingId` from `POST /flights/bookings` in the URL path. Every call hits the upstream provider — do not place this on a hot polling loop.

## Path parameters

- `bookingId` string, required

## Response `200`

Successful response

- object
  - `data` object[]: Cancellation quote array (always one item)
    - `confidence` 'confirmed' | 'estimated' | 'heuristic' | 'unknown': Quote reliability indicator
    - `timestamp` string: UTC timestamp when the quote was generated
    - `isRefundable` boolean, nullable: True if any refund is available
    - `isVoidable` boolean, nullable: True if within the void window (cancel without penalty)
    - `refund` object, nullable: Potential maximum refund amount the airline may return if cancellation proceeds under this quote. Display amount includes margin. This value is not granted or guaranteed — the final refund (if any) is confirmed only after cancellation completes and may be lower or zero.
      - `display` object
        - `amount` number: Potential maximum refund amount in the display currency. Not granted — subject to airline confirmation at cancel time.
        - `currency` string: ISO 4217 currency code for the display refund amount
    - `penalty` object, nullable: Total estimated penalty amount
      - `display` object
        - `amount` number: Total estimated penalty amount in the display currency
        - `currency` string: ISO 4217 currency code for the display penalty amount
    - `penalties` object[], nullable: Itemised penalty breakdown
      - `type` string: Penalty category (e.g. transaction_fee, cancellation_fee)
      - `description` string, nullable: Human-readable penalty description when provided
      - `pricing` object, nullable: Penalty amount with margin applied on display
        - `display` object
          - `amount` number: Penalty amount in the display currency
          - `currency` string: ISO 4217 currency code for this penalty amount
    - `tickets` object[], nullable: Per-ticket breakdown when available
      - `ticketNumber` string: Airline ticket number
      - `isRefundable` boolean, nullable: True if this ticket is eligible for a refund
      - `isVoidable` boolean, nullable: True if this ticket is within the void window
      - `status` string: Ticket status from the cancellation quote
      - `refund` object, nullable: Per-ticket potential maximum refund from the airline for this quote. Not granted or guaranteed.
      - `penalty` object, nullable: Estimated penalty for this ticket
      - `penalties` object[], nullable: Itemised penalty breakdown for this ticket
    - `destination` 'original_payment' | 'agency_deposit' | 'voucher' | 'bsp_settlement' | 'manual' | 'unknown', nullable: Likely refund destination
    - `expiresAt` string, nullable: UTC timestamp when this quote expires
    - `pnr` string, nullable: PNR / record locator
    - `vouchers` object[], nullable: Airline travel vouchers when destination is voucher. Omitted when the provider does not return any.
      - `voucherId` string: Provider voucher identifier
      - `code` string: Airline credit / voucher code
      - `airline` string: Issuing airline IATA code
      - `pricing` object, nullable: Voucher face value with margin applied on display
        - `display` object: Customer-facing voucher value in the display currency
          - `amount` number: Voucher face value in the display currency (margin applied)
          - `currency` string: ISO 4217 currency code for the voucher display amount
      - `validFrom` string: Voucher validity start date (YYYY-MM-DD)
      - `expiresAt` string: Voucher expiry date (YYYY-MM-DD)
      - `passengerNames` string[]: Passenger names the voucher applies to
      - `notes` string: Provider notes / restrictions

## Other responses

- `400`: Bad request — invalid booking ID format
- `401`: Unauthorized
- `404`: Booking not found
- `409`: Booking cannot be quoted for cancellation in its current state (including when a cancellation is already in progress)
- `500`: Internal server error
- `502`: Provider error

---

[API](https://skmtc.dev/liteapi/apis/api-flights.md) - [All operations](https://skmtc.dev/liteapi/apis/api-flights/llms.txt) - [OpenAPI document](https://skmtc.dev/liteapi/apis/api-flights/revisions/7ccb4b3a8bde?raw)
