---
title: "Get Flight Hotel Obligation"
method: GET
path: "/flight-hotel-obligations/{obligation_id}"
tags: ["flight-hotel-offers"]
---

# Get Flight Hotel Obligation

`GET /flight-hotel-obligations/{obligation_id}`

## Path parameters

- `obligation_id` string, uuid, required

## Response `200`

Successful Response

- FlightHotelObligationResponse
  - `id` string, uuid, required
  - `user_id` string, uuid, required
  - `flight_booking_id` string, required
  - `payment_intent_id` string, required
  - `qualification_conditions` HotelQualificationConditions, required — Versioned JSON; new fields require explicit schema/evaluator support.
    - `schema_version` integer, required
    - `all` HotelStarRatingCondition[], required
      - `field` 'hotel.star_rating', required
      - `operator` 'eq' | 'gte', required
      - `value` number, required
  - `accepted_terms_version` string, required
  - `accepted_terms_text` string, required
  - `customer_deadline` string, date-time, required
  - `final_cutoff` string, date-time, required
  - `flight_booking_session_id` string, uuid, required
  - `status` 'waiting_hotel' | 'capture_pending' | 'satisfied' | 'expiry_checking' | 'expiring' | 'expired' | 'needs_review', required
  - `accepted_at` string, date-time, required
  - `window_started_at` string, date-time, required
  - `qualifying_hotel_purchase_id` string, uuid, nullable, required
  - `hotel_completed_at` string, date-time, nullable, required
  - `captured_at` string, date-time, nullable, required
  - `expiry_started_at` string, date-time, nullable, required
  - `hold_released_at` string, date-time, nullable, required
  - `expired_at` string, date-time, nullable, required
  - `payment_status` string, nullable, required — Persisted flight payment status; not a live Stripe lookup.
  - `flight_cancellation_status` 'not_requested' | 'pending' | 'cancelled' | 'failed', required
  - `flight_cancelled_at` string, date-time, nullable, required
  - `recovery` FlightHotelObligationRecovery, required — Customer-safe recovery guidance; never supplier or payment error text.
    - `code` 'flight_capture_needs_review' | 'flight_expiry_needs_review' | 'flight_cancellation_needs_review' | 'obligation_needs_review', required
    - `action` 'contact_support', required

## Other responses

- `422` — Validation Error

## Changes

> 19 revisions in range; 1 not diffed.

- **2026-09-23** `5d2121d26b96` — 1 info
  - endpoint added

[Change history](https://skmtc.dev/helloaxel/apis/client-api-gateway/changes/flight-hotel-obligations/:obligation_id/get.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/201bba08e85c?raw)
