---
title: "Check Visible Flight Prices"
method: POST
path: "/browser-extension/flight-price-checks/"
tags: ["browser-extension"]
---

# Check Visible Flight Prices

`POST /browser-extension/flight-price-checks/`

Return only exact observations with an Axel price below the visible price.

## Request body

- ExtensionFlightPriceCheckRequest
  - `stage` 'one_way' | 'round_trip_outbound' | 'round_trip_return' | 'booking_options', required
  - `origin` string, required
  - `destination` string, required
  - `departure_date` string, date, required
  - `return_date` string, date, nullable
  - `cabin` 'economy' | 'premium_economy' | 'business' | 'first', required — Aircraft cabin class.
  - `passengers` PassengerCount, required — Passenger breakdown for offers/searches. Simple counts by type.
    - `adults` integer
    - `children` integer
    - `infants_in_seat` integer
    - `infants_on_lap` integer
  - `results` ExtensionVisibleFlightResult[], required
    - `client_result_id` string, required
    - `google_price` Money, required — Immutable money value stored as integer minor units. Amount is always stored in the smallest currency unit (cents, yen, pesos, etc). This avoids floating-point precision issues and matches payment processor standards. Examples: $19.99 USD -> Money(amount=1999, currency="USD") ¥1000 JPY -> Money(amount=1000, currency="JPY") $1000.00 CLP -> Money(amount=1000, currency="CLP") Serializes to {"amount": 1999, "currency": "USD"}. IMPORTANT: Use Money.from_decimal() for user-facing amounts like "$19.99". The constructor expects integer minor units (cents).
      - `amount` integer, required
      - `currency` string, required
    - `segments` FlightRepriceSegmentRequirement[], required
      - `flight_number` string, required — Customer-facing marketed flight number, e.g. 'UA790'.
      - `origin` string, required — Segment origin airport code.
      - `destination` string, required — Segment destination airport code.
      - `departure_date` string, date, required — Segment local departure date.
      - `departure_time` string, nullable — Segment local departure time as HH:MM or HH:MM:SS when known.
      - `cabin` string, nullable — Normalized booked segment cabin, when known.
      - `fare_family_id` string, nullable — Canonical booked segment fare-family ID, when known.
      - `marketing_carrier` string, nullable — Marketing carrier code from the original booking.
      - `marketing_flight_number` string, nullable — Marketing flight number from the original booking.
      - `operating_carrier` string, nullable — Operating carrier code from the original booking.
      - `operating_flight_number` string, nullable — Operating flight number from the original booking.
    - `return_segments` FlightRepriceSegmentRequirement[], nullable
      - `flight_number` string, required — Customer-facing marketed flight number, e.g. 'UA790'.
      - `origin` string, required — Segment origin airport code.
      - `destination` string, required — Segment destination airport code.
      - `departure_date` string, date, required — Segment local departure date.
      - `departure_time` string, nullable — Segment local departure time as HH:MM or HH:MM:SS when known.
      - `cabin` string, nullable — Normalized booked segment cabin, when known.
      - `fare_family_id` string, nullable — Canonical booked segment fare-family ID, when known.
      - `marketing_carrier` string, nullable — Marketing carrier code from the original booking.
      - `marketing_flight_number` string, nullable — Marketing flight number from the original booking.
      - `operating_carrier` string, nullable — Operating carrier code from the original booking.
      - `operating_flight_number` string, nullable — Operating flight number from the original booking.
    - `fare_family_label` string, nullable
  - `source_observation_id` string, uuid, nullable

## Response `200`

Successful Response

- ExtensionFlightPriceCheckResponse
  - `proofs` ExtensionFlightPriceProof[], required
    - `client_result_id` string, required
    - `observation_id` string, uuid, required
    - `axel_price` Money, required — Immutable money value stored as integer minor units. Amount is always stored in the smallest currency unit (cents, yen, pesos, etc). This avoids floating-point precision issues and matches payment processor standards. Examples: $19.99 USD -> Money(amount=1999, currency="USD") ¥1000 JPY -> Money(amount=1000, currency="JPY") $1000.00 CLP -> Money(amount=1000, currency="CLP") Serializes to {"amount": 1999, "currency": "USD"}. IMPORTANT: Use Money.from_decimal() for user-facing amounts like "$19.99". The constructor expects integer minor units (cents).
      - `amount` integer, required
      - `currency` string, required
    - `axel_price_usd` Money — Immutable money value stored as integer minor units. Amount is always stored in the smallest currency unit (cents, yen, pesos, etc). This avoids floating-point precision issues and matches payment processor standards. Examples: $19.99 USD -> Money(amount=1999, currency="USD") ¥1000 JPY -> Money(amount=1000, currency="JPY") $1000.00 CLP -> Money(amount=1000, currency="CLP") Serializes to {"amount": 1999, "currency": "USD"}. IMPORTANT: Use Money.from_decimal() for user-facing amounts like "$19.99". The constructor expects integer minor units (cents).
      - `amount` integer, required
      - `currency` string, required
    - `axel_member_price` Money — Immutable money value stored as integer minor units. Amount is always stored in the smallest currency unit (cents, yen, pesos, etc). This avoids floating-point precision issues and matches payment processor standards. Examples: $19.99 USD -> Money(amount=1999, currency="USD") ¥1000 JPY -> Money(amount=1000, currency="JPY") $1000.00 CLP -> Money(amount=1000, currency="CLP") Serializes to {"amount": 1999, "currency": "USD"}. IMPORTANT: Use Money.from_decimal() for user-facing amounts like "$19.99". The constructor expects integer minor units (cents).
      - `amount` integer, required
      - `currency` string, required
    - `axel_member_price_usd` Money — Immutable money value stored as integer minor units. Amount is always stored in the smallest currency unit (cents, yen, pesos, etc). This avoids floating-point precision issues and matches payment processor standards. Examples: $19.99 USD -> Money(amount=1999, currency="USD") ¥1000 JPY -> Money(amount=1000, currency="JPY") $1000.00 CLP -> Money(amount=1000, currency="CLP") Serializes to {"amount": 1999, "currency": "USD"}. IMPORTANT: Use Money.from_decimal() for user-facing amounts like "$19.99". The constructor expects integer minor units (cents).
      - `amount` integer, required
      - `currency` string, required

## Other responses

- `422` — Validation Error

---

[API](https://skmtc.dev/helloaxel/apis/client-api-gateway.md) · [All operations](https://skmtc.dev/helloaxel/apis/client-api-gateway/llms.txt) · [OpenAPI document](https://skmtc-service-production.skmtc.workers.dev/v1/apis/helloaxel/client-api-gateway/revisions/d3c4c29fede7/schema)
