---
title: "Hold Flight"
method: POST
path: "/conv/trips/{trip_id}/pin/flight/hold"
tags: ["conversational"]
---

# Hold Flight

`POST /conv/trips/{trip_id}/pin/flight/hold`

## Path parameters

- `trip_id` string, required

## Request body

- HoldFlightRequest — Arm a 24h fare hold on the trip's pinned flight (FAC-940). Basket lock (ENG-21867 follow-on): ``held_items`` are the bag/seat lines locked with the fare. The gateway forwards them verbatim — the brain owns every semantic validator (identity, amounts, all-or-nothing), so this model stays deliberately permissive: a stricter mirror here would just be a second copy that drifts. Without this field the default extra=ignore silently stripped the lines and every hold armed fare-only.
  - `observation_id` string, required
  - `displayed_total_cents` integer, required
  - `currency` string, required
  - `pax_count` integer, required
  - `payment_method_id` string, nullable
  - `held_items` object[], nullable

## Response `200`

Successful Response

- object

## 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/4f4ea4eb6a21/schema)
