---
title: "Retry Agent Flight Quote"
method: POST
path: "/conv/agent-flight-quotes/{token}/retry"
tags: ["conversational"]
---

# Retry Agent Flight Quote

`POST /conv/agent-flight-quotes/{token}/retry`

## Request

- Base URL: `https://api.helloaxel.com` (the document declares no server; this is the origin it was published from)
- URL: `https://api.helloaxel.com/conv/agent-flight-quotes/{token}/retry`
- Auth: none declared

Recheck unavailable saved fares. PUBLIC; the token grants access.

Brain allows one automatic retry per offer, coalesces pending work and limits
manual retries to once per minute per quote.
Published fares are left unchanged. Only incomplete failures retry automatically;
an explicit manual retry can also recheck a completed empty result.

## Path parameters

- `token` string, required

## Query parameters

- `automatic` boolean: Use the offer's single automatic retry on customer open.

## Response `200`

Successful Response

- AgentFlightQuoteResolveResponse: Persisted quote readable independently of its creating browser/session.
  - `target` FlightShareTarget: Public target discriminator for a shared flight.
    - `type` 'flight_share'
  - `share_kind` 'agent_quote'
  - `quote_id` string, uuid, required
  - `search_session_id` string, uuid, nullable: Saved search session that created this quote; absent on unlinked historical quotes.
  - `trip_reference` string, nullable
  - `travel_intent` TravelIntent: Null means unknown, never unconstrained or consent. USD totals are for the party.
    - `willingness` 'definite' | 'price_dependent', nullable
    - `date_flexibility` 'fixed' | 'flexible', nullable
    - `fixed_commitment` boolean, nullable
    - `departure_windows` TravelDateWindow[]
      - `start` string, date, required
      - `end` string, date, required
    - `return_windows` TravelDateWindow[]
      - `start` string, date, required
      - `end` string, date, required
    - `departure_weekdays` integer[]: Allowed departure weekdays, Monday=0. Empty means unknown.
    - `return_weekdays` integer[]: Allowed return weekdays, Monday=0. Empty means unknown.
    - `stay_nights` integer, nullable
    - `stay_nights_min` integer, nullable
    - `stay_nights_max` integer, nullable
    - `origin_airport_codes` string[], nullable
    - `destination_airport_codes` string[], nullable
    - `depart_after` string, nullable: Earliest outbound departure, local clock time, inclusive.
    - `depart_before` string, nullable: Latest outbound departure, local clock time, inclusive. Before earlier than after denotes an overnight window.
    - `return_depart_after` string, nullable: Earliest return departure, local clock time, inclusive.
    - `return_depart_before` string, nullable: Latest return departure, local clock time, inclusive. Before earlier than after denotes an overnight window.
    - `arrive_by` string, date-time, nullable: Latest acceptable arrival at destination, destination local time. Buffer is subtracted from this deadline.
    - `return_by` string, date-time, nullable: Latest acceptable arrival home, origin local time. Buffer is subtracted from this deadline.
    - `arrival_buffer_minutes` integer, nullable
    - `return_buffer_minutes` integer, nullable
    - `airport_flexibility` 'exact' | 'nearby', nullable
    - `budget_target_cents` integer, nullable
    - `budget_limit_cents` integer, nullable
    - `currency` 'USD'
  - `search_choices` FlightSearchChoices
    - `airline` string, nullable
    - `max_stops` integer, nullable
    - `outbound` FlightSearchLegChoices
      - `stops` 'nonstop' | 'one' | 'twoPlus', nullable
      - `airline_only` string, nullable
      - `avoided_airlines` string[]
    - `returning` FlightSearchLegChoices
      - `stops` 'nonstop' | 'one' | 'twoPlus', nullable
      - `airline_only` string, nullable
      - `avoided_airlines` string[]
    - `fare_preferences` FlightFarePreferences: Stated needs for this party; None is unstated, never a requirement.
      - `seat_selection` boolean, nullable
      - `carry_on` boolean, nullable
      - `checked_bags` integer, nullable: Checked bags needed per ticketed traveler, on each direction.
      - `changes` boolean, nullable
      - `refunds` boolean, nullable
  - `request` AgentFlightQuoteRequest, required: Route search using existing airport resolution and traveler types.
    - `origin` string, required: Airport code, city/metro name or code, or comma-separated airport codes. Resolves to searchable airport codes before search.
    - `destination` string, required: Airport code, city/metro name or code, or comma-separated airport codes. Resolves to searchable airport codes before search.
    - `departure_date` string, date, required
    - `return_date` string, date, nullable
    - `passengers` AgentFlightPassengers, required: Anonymous pricing needs counts/types, never traveler identities.
      - `adults` integer, required
      - `children` integer
      - `infants_in_seat` integer
      - `infants_on_lap` integer
    - `airline` string, nullable
    - `max_stops` integer, nullable: Maximum stops per direction; null leaves stops unrestricted.
    - `cabin` 'economy' | 'business'
    - `currency` 'USD'
  - `snapshot` FlightShareSnapshot, required: Immutable, explicitly whitelisted facts safe for a public share page.
    - `fare_label` string, nullable
    - `passenger_count` integer, required
    - `legs` FlightShareLeg[], required
      - `airline_name` string, nullable
      - `airline_code` string, nullable
      - `origin` string, required
      - `destination` string, required
      - `departure_date` string, required
      - `departure_time` string, nullable
      - `arrival_date` string, nullable
      - `arrival_time` string, nullable
      - `duration_minutes` integer, nullable
      - `stops` integer, required
      - `connection_airports` string[], nullable: Ordered connection airport codes when every segment boundary is known and stays at the same airport. Null when unavailable, incomplete, or requiring an airport change; an empty list means a confirmed nonstop leg.
      - `flight_numbers` string[]
      - `segments` FlightShareSegment[]
        - `origin` string, nullable
        - `destination` string, nullable
        - `departure_date` string, nullable
        - `departure_time` string, nullable
        - `arrival_date` string, nullable
        - `arrival_time` string, nullable
        - `flight_number` string, nullable
        - `duration_minutes` integer, nullable
        - `layover_after_minutes` integer, nullable: Elapsed time until the next segment at the same airport; null when unknown or on the last segment.
    - `axel_price_total` 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
    - `comparison_price_total` 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
    - `ticketed_passenger_count` integer, nullable: Travelers occupying seats. Older snapshots lack the mix and retain their original passenger-count basis.
    - `axel_price_per_person` 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
    - `comparison_price_per_person` 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
    - `non_member_price_total` 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
  - `checked_at` string, date-time, required
  - `fare_options` AgentFlightFareOption[]
    - `baggage` string[]
    - `baggage_policy` FareBaggagePolicy: Structured fare baggage policy, with raw supplier text preserved.
      - `source` 'serpapi_google_flights' | 'unknown'
      - `quotes` FareBaggageQuote[]
        - `bag_type` 'personal_item' | 'carry_on' | 'checked' | 'checked_first' | 'checked_second' | 'unknown'
        - `quantity` integer, nullable: Bag count when the supplier text states one; 0 for explicit restrictions.
        - `is_included` boolean
        - `is_restriction` boolean
        - `fee_amount` string, nullable
        - `fee_currency` string, nullable
        - `fee_basis` 'round_trip' | 'one_way' | 'per_segment' | 'unknown'
        - `pax_basis` 'per_pax' | 'total' | 'unknown'
        - `fee_amount_per_direction` string, nullable: Per-passenger one-way fee amount when it can be normalized from the supplier quote. For round-trip totals, this is half of fee_amount.
        - `source_key` 'together' | 'departing' | 'returning' | 'unknown'
        - `raw_text` string, required
    - `features` string[]
    - `fare_policy` FarePolicy
      - `facts` FarePolicyFact[]
        - `category` 'personal_item' | 'carry_on' | 'checked_bags' | 'seat_selection' | 'changes' | 'refunds' | 'seat_upgrade' | 'same_day_changes' | 'priority_boarding' | 'wifi' | 'meals' | 'lounge' | 'entertainment' | 'rewards', required
        - `state` 'included' | 'fee' | 'not_included' | 'not_available' | 'conditional' | 'unknown'
        - `quantity` integer, nullable: Included bag count, only when established by evidence.
        - `evidence` string[]: Supplier statements or curated airline-policy references, including qualifications.
        - `details` string[]: Qualifications the customer must see alongside the summary.
        - `reason` 'not_provided' | 'conflicting_evidence' | 'conditional' | 'varies_by_leg', nullable
      - `unclassified` string[]
    - `fare_name` string, required
    - `fallback_label_used` boolean, nullable: The fare name is a cabin display label, not a supplier fare brand or an exact fare-family identity.
    - `comparison_price_total` 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
    - `non_member_price_total` 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
    - `member_price_total` 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
    - `separate_tickets` boolean
  - `fare_options_started_at` string, date-time, nullable: When this fare check entered pending; preserved across reads and worker recovery, reset only for an explicit retry. Absent on older quotes without timing evidence.
  - `fare_options_retrieved_at` string, date-time, nullable
  - `fare_options_incomplete` boolean, nullable
  - `fare_auto_retry_attempted` boolean, nullable: True after the offer's one automatic fare retry on customer open is requested; absent on older snapshots. Manual retry remains available after failure.
  - `fare_options_status` 'pending' | 'ready' | 'unavailable', nullable: Background fare lookup state; absent on historical snapshots.
  - `membership_required` true
  - `membership_terms` string
  - `non_member_booking` string
  - `price_hold` AgentQuotePriceHold: A free price hold an assistant placed on its saved offer (Oct 2026). A price lock, never a seat: when a person claims the offer before ``expires_at``, travel arms a free fare hold on their checkout with this clock and checkout charges the lower of ``held_total_cents`` and the live price. Absent when no hold is active.
    - `held_total_cents` integer, required: Whole-party price held, in cents: the offer's saved price without Membership.
    - `currency` 'USD'
    - `armed_at` string, date-time, required
    - `expires_at` string, date-time, required
    - `basis` 'free'
    - `source` 'assistant'

## Other responses

- `422`: Validation Error

## Changes

> 68 revisions in range; 1 not diffed.

- **2026-10-18** `d5c0dc4b71d9`: 4 info
  - added the optional property `travel_intent/anyOf[subschema #1: TravelIntent]/depart_after` to the response with the `200` status
  - added the optional property `travel_intent/anyOf[subschema #1: TravelIntent]/depart_before` to the response with the `200` status
  - added the optional property `travel_intent/anyOf[subschema #1: TravelIntent]/return_depart_after` to the response with the `200` status
  - added the optional property `travel_intent/anyOf[subschema #1: TravelIntent]/return_depart_before` to the response with the `200` status
- **2026-10-18** `5c44a367b274`: 1 info
  - added the optional property `fare_options_started_at` to the response with the `200` status
- **2026-10-18** `c02ec1aa4be1`: 1 info
  - added the optional property `search_session_id` to the response with the `200` status
- **2026-10-17** `668a75ecc288`: 1 info
  - endpoint added

[Operation history](https://skmtc.dev/helloaxel/apis/client-api-gateway/changes/conv/agent-flight-quotes/:token/retry/post.md)

---

[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.dev/helloaxel/apis/client-api-gateway/revisions/8824999a7a0a?raw)
