Bookings

Book a flight offer

Changed on

Book one offer from one of your own searches, on the Revolut method connected to this key.

The method is held, not charged, for the fare plus the payment markup. A LetsFG booking agent then buys the ticket from the seller and the hold is captured only against a real airline PNR. If the booking fails the hold is released and nothing is taken.

Answers 202 within seconds with a booking_id; the booking itself takes 4–11 minutes. Poll GET /flights/bookings/{booking_id} until terminal is true. A completed booking also resets your free-search allowance.

Retrying with the same idempotency_key returns the existing booking rather than opening a second hold. Nothing is charged on any refusal.

post/api/v1/flights/book

Request

  • Base URL: https://letsfg.co/developers/api/v1
  • URL: https://letsfg.co/developers/api/v1/api/v1/flights/book
  • Auth: API key in header X-API-Key

Request body

search_idstring required

search_id from the search response. An offer is bookable only inside its own search.

offer_idstring required

id of one offer from that search

contact_emailstring email

Where the confirmation goes. Defaults to the lead passenger's email.

idempotency_keystring

Retrying with the same key returns the same booking instead of opening a second hold.

want_seatboolean

Pause at the airline's seat map and ask (see the booking's question).

Example request

{
  "passengers": [
    {
      "phone_number": "+48501234567"
    }
  ]
}

Response

Hold placed and the booking agent dispatched

okboolean
booking_idstring
statestring
dispatchedboolean
chargednumber

Always 0 at this point. Capture happens only against a real PNR.

offerobject
poll_urlstring uri
messagestring

Example response

{
  "state": "authorised"
}

Changes