Lock a flight offer
brij_create_flight_intentFree over MCP (the x402 price quoted below applies to the HTTP API only; MCP calls are rate-limited instead). Creates the escrow for one offer. KEEP customer_support_code from the answer: it cannot be read again, and orders and refunds need it. Next: brij_book_flight.
Create an escrow-backed booking intent from a selected offer.
Paid x402 endpoint. Send a valid PAYMENT-SIGNATURE header to create
the intent. Without payment, the API returns 402 Payment Required.
Optional request field referrer: an affiliate code (see POST /affiliates) — the resolved affiliate wallet is frozen on the intent and credited a share of the platform fee once the booking captures and the journey is flown without refund; unknown or self-referring codes are silently ignored.
Creates the local booking intent and initializes its Solana escrow. This does not fund the escrow, pay the airline, or issue a ticket.
Lowcost (trip.com: offers). These book through a browser-driven fulfiller, not an airline API, so a few rules differ. The escrow amount is the offer's own price (fare menus from POST /air/offer-details are bookable: an offer_id like "trip.com:##@s" locks fare n and the escrow prices at that fare). A fare offer_id is only bookable while its menu is fresh (~30 min) — a stale one returns 409 fare_menu_expired, re-open the fares and retry. If the most recent fare check (POST /air/offer-details) for the offer failed within the last ~30 min, intent creation returns 409 fare_check_failed — a failed fare check temporarily blocks booking that offer; retry POST /air/offer-details in a few minutes and book once it answers. If that supplier is not currently selling, intent creation returns 409 browser_booking_unavailable — book a fastbooking offer, or retry later. An unknown/expired browser-tier offer_id returns 404 offer_not_found. Send an offer_id back EXACTLY as received. A browser-tier id is derived from the flight, so it is the same string for every buyer; the trailing "@s" is what ties it to YOUR search, and therefore to the cabin, the party and the fare menu your price came from. Strip it and the offer resolves against whoever searched that flight most recently. Booking then requires the travel document at POST /air/book (see there).
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| offer_id | Yes | The offer to book, sent back EXACTLY as received from POST /air/search or POST /air/offer-details — never reassembled by hand. | |
| refund_wallet | No | Optional Solana wallet for refunds. Defaults to funding_wallet. | |
| funding_wallet | Yes | Solana wallet expected to fund the escrow. |
Output Schema
| Name | Required | Description | Default |
|---|---|---|---|
| intent | No | Read-only projection of a booking intent. Omits customer_support_code and passenger PII; those fields are returned once at intent-creation and /book time. |