Get a booking
Get one booking of your agency, whatever its product: the summary of the history, the stored record and, for flights and hotels, the price breakdown and the balance operations.
/api/v1/bookings/{booking_id}The reference is looked up in these fields, in this order, and the first booking found is returned. Flights: booking_id (the record locator), the supplier order id, id. Hotels: booking_id, id. eSIMs: booking_id (FX-...), the supplier order code, the ICCID, id. Transfers: booking_id, id. Without product the products are tried in the order flights, hotels, eSIMs, transfers.
Prefer the internal id (a UUID): record locators are not unique across suppliers. An ICCID matches the original order of the eSIM, not its topups: look a topup up by its booking_id or its id. A reference that does not match the product you ask for is booking_not_found.
curl 'https://api.fx-port.com/api/v1/bookings/FX-1793546602916?product=esims' \
-H "Authorization: Bearer fxp_test_YOUR_KEY"{
"environment": "sandbox",
"success": true,
"data": {
"product": "esims",
"id": "639417b4-b103-4ece-bd5d-850315322278",
"bookingId": "FX-1793546602916",
"booking_id": "FX-1793546602916",
"status": "confirmed",
"environment": "sandbox",
"agencyId": "0b1c2d3e-4f50-4a6b-8c7d-9e0f1a2b3c4d",
"agency_id": "0b1c2d3e-4f50-4a6b-8c7d-9e0f1a2b3c4d",
"agentId": null,
"agent_id": null,
"currency": "DZD",
"totalPrice": 468.84,
"total_price": 468.84,
"netPrice": 418.6,
"b2b_price": 418.6,
"agencyCommission": 50.24,
"agency_commission": 50.24,
"providerName": "Airalo",
"provider_name": "Airalo",
"supplierId": "airalo",
"supplier_id": "airalo",
"createdAt": "2026-11-01T15:23:22.961228+00:00",
"created_at": "2026-11-01T15:23:22.961228+00:00",
"updatedAt": "2026-11-01T15:23:22.961228+00:00",
"updated_at": "2026-11-01T15:23:22.961228+00:00",
"orderId": "20261101-106852",
"order_id": "20261101-106852",
"type": "esim",
"packageName": "1 GB - 7 days • France",
"package_name": "1 GB - 7 days • France",
"iccid": "8900000540463077957",
"customerEmail": "[email protected]",
"customer_email": "[email protected]",
"customer_first_name": "John",
"customer_last_name": "Smith",
"customer_phone": "+15555550123",
"record": {
"id": "639417b4-b103-4ece-bd5d-850315322278",
"booking_id": "FX-1793546602916",
"order_id": "20261101-106852",
"status": "confirmed",
"currency": "DZD",
"total_price": 468.84,
"agency_commission": 50.24,
"type": "esim",
"package_name": "1 GB - 7 days • France",
"iccid": "8900000540463077957",
"customer_email": "[email protected]",
"customer_first_name": "John",
"customer_last_name": "Smith",
"customer_phone": "+15555550123",
"provider_name": "Airalo",
"supplier_id": "airalo",
"created_at": "2026-11-01T15:23:22.961228+00:00",
"updated_at": "2026-11-01T15:23:22.961228+00:00",
"environment": "sandbox"
}
},
"meta": {
"agencyId": "0b1c2d3e-4f50-4a6b-8c7d-9e0f1a2b3c4d",
"agency_id": "0b1c2d3e-4f50-4a6b-8c7d-9e0f1a2b3c4d",
"environment": "sandbox"
}
}{
"environment": "sandbox",
"success": true,
"data": {
"product": "flights",
"id": "711371c3-00aa-4be2-b790-9f0ca2ccfdb7",
"bookingId": "Y7PAEU",
"booking_id": "Y7PAEU",
"status": "confirmed",
"environment": "sandbox",
"agencyId": "0b1c2d3e-4f50-4a6b-8c7d-9e0f1a2b3c4d",
"agency_id": "0b1c2d3e-4f50-4a6b-8c7d-9e0f1a2b3c4d",
"agentId": null,
"agent_id": null,
"currency": "DZD",
"totalPrice": 4930.37,
"total_price": 4930.37,
"netPrice": 4925.44,
"b2b_price": 4925.44,
"agencyCommission": 4.93,
"agency_commission": 4.93,
"providerName": "Amadeus Algeria",
"provider_name": "Amadeus Algeria",
"supplierId": "amadeus_aqc_dz_1",
"supplier_id": "amadeus_aqc_dz_1",
"createdAt": "2026-11-01T15:26:14.871035+00:00",
"created_at": "2026-11-01T15:26:14.871035+00:00",
"updatedAt": "2026-11-01T15:26:23.505356+00:00",
"updated_at": "2026-11-01T15:26:23.505356+00:00",
"departureAirport": "ALG",
"arrivalAirport": "ORN",
"departureDate": "2026-12-22T19:45:00",
"arrivalDate": "2026-12-22T20:45:00",
"ticketNumber": "124-2446977397",
"requireAcd": false,
"require_acd": false,
"voucherUrl": "https://files.example.com/flight-bookings/Y7PAEU-JAMES-SMITH-confirmed.pdf",
"voucherUrlWithPrice": "https://files.example.com/flight-bookings/Y7PAEU-JAMES-SMITH-confirmed.pdf",
"voucherUrlNoPrice": "https://files.example.com/flight-bookings/Y7PAEU-JAMES-SMITH-confirmed-no-price.pdf",
"record": {
"id": "711371c3-00aa-4be2-b790-9f0ca2ccfdb7",
"booking_id": "Y7PAEU",
"status": "confirmed",
"currency": "DZD",
"total_price": 4930.37,
"agency_commission": 4.93,
"departure_airport": "ALG",
"arrival_airport": "ORN",
"departure_date": "2026-12-22T19:45:00",
"arrival_date": "2026-12-22T20:45:00",
"return_departure_date": null,
"return_arrival_date": null,
"included_checked_bags": "0",
"ticket_number": "124-2446977397",
"require_acd": false,
"bucket_link": "https://files.example.com/flight-bookings/Y7PAEU-JAMES-SMITH-confirmed.pdf",
"bucket_link_no_price": "https://files.example.com/flight-bookings/Y7PAEU-JAMES-SMITH-confirmed-no-price.pdf",
"refund_amount": null,
"refund_currency": null,
"refund_method": null,
"paid_at": "2026-11-01T15:26:14.842190+00:00",
"voided_at": null,
"created_at": "2026-11-01T15:26:14.871035+00:00",
"updated_at": "2026-11-01T15:26:23.505356+00:00",
"environment": "sandbox"
},
"pricing": [
{
"supplier_currency": "DZD",
"agency_currency": "DZD",
"base_price": 3160,
"taxes_and_fees": 1765.44,
"agency_commission": 4.93,
"final_price": 4930.37,
"b2b_price": 4925.44,
"created_at": "2026-11-01T15:26:22.176516+00:00",
"environment": "sandbox"
}
],
"travelerPricing": [
{
"traveler_id": "1",
"traveler_type": "ADULT",
"fare_option": "STANDARD",
"supplier_currency": "DZD",
"agency_currency": "DZD",
"base": 3160,
"total": 4930.37,
"b2b_price": 4925.44,
"created_at": "2026-11-01T15:26:15.133066+00:00",
"environment": "sandbox"
}
],
"traveler_pricing": [
{
"traveler_id": "1",
"traveler_type": "ADULT",
"fare_option": "STANDARD",
"supplier_currency": "DZD",
"agency_currency": "DZD",
"base": 3160,
"total": 4930.37,
"b2b_price": 4925.44,
"created_at": "2026-11-01T15:26:15.133066+00:00",
"environment": "sandbox"
}
],
"balanceOperations": [],
"balance_operations": []
},
"meta": {
"agencyId": "0b1c2d3e-4f50-4a6b-8c7d-9e0f1a2b3c4d",
"agency_id": "0b1c2d3e-4f50-4a6b-8c7d-9e0f1a2b3c4d",
"environment": "sandbox"
}
}{
"environment": "sandbox",
"success": true,
"data": {
"product": "hotels",
"id": "34a08cf3-dff6-45c6-bdae-882061aa78f5",
"bookingId": "HMVXX4ZQ3",
"booking_id": "HMVXX4ZQ3",
"status": "refunded",
"environment": "sandbox",
"agencyId": "0b1c2d3e-4f50-4a6b-8c7d-9e0f1a2b3c4d",
"agency_id": "0b1c2d3e-4f50-4a6b-8c7d-9e0f1a2b3c4d",
"agentId": null,
"agent_id": null,
"currency": "DZD",
"totalPrice": 1484.97,
"total_price": 1484.97,
"netPrice": 1482,
"b2b_price": 1482,
"agencyCommission": 2.97,
"agency_commission": 2.97,
"providerName": "ETG - RateHawk",
"provider_name": "ETG - RateHawk",
"supplierId": "ratehawk",
"supplier_id": "ratehawk",
"createdAt": "2026-11-01T14:22:00.924125+00:00",
"created_at": "2026-11-01T14:22:00.924125+00:00",
"updatedAt": "2026-11-01T14:22:32.992144+00:00",
"updated_at": "2026-11-01T14:22:32.992144+00:00",
"hotelId": "test_hotel_do_not_book",
"hotelName": "Test Hotel (Do Not Book) test",
"checkinDate": "2026-12-01",
"checkoutDate": "2026-12-04",
"bookingMode": "standard",
"voucherUrl": "https://files.example.com/hotel-bookings/HMVXX4ZQ3-Jane-Smith.pdf",
"voucherUrlWithPrice": "https://files.example.com/hotel-bookings/HMVXX4ZQ3-Jane-Smith.pdf",
"voucherUrlNoPrice": "https://files.example.com/hotel-bookings/HMVXX4ZQ3-Jane-Smith-no-price.pdf",
"record": {
"id": "34a08cf3-dff6-45c6-bdae-882061aa78f5",
"booking_id": "HMVXX4ZQ3",
"status": "refunded",
"currency": "DZD",
"total_price": 1484.97,
"agency_commission": 2.97,
"hotel_id": "test_hotel_do_not_book",
"hotel_name": "Test Hotel (Do Not Book) test",
"checkin_date": "2026-12-01",
"checkout_date": "2026-12-04",
"booking_mode": "standard",
"bucket_link": "https://files.example.com/hotel-bookings/HMVXX4ZQ3-Jane-Smith.pdf",
"bucket_link_no_price": "https://files.example.com/hotel-bookings/HMVXX4ZQ3-Jane-Smith-no-price.pdf",
"free_cancellation_deadline_at": null,
"paid_at": null,
"supplier_id": "ratehawk",
"created_at": "2026-11-01T14:22:00.924125+00:00",
"updated_at": "2026-11-01T14:22:32.992144+00:00",
"environment": "sandbox",
"refund_amount": 1482,
"refund_currency": "DZD"
},
"pricing": [
{
"id": "72db7216-177e-4c5b-bde6-74c5ca3c8db2",
"created_at": "2026-11-01T14:22:05.162117+00:00",
"agency_currency": "DZD",
"total_price": 1484.97,
"agency_commission": 2.97,
"environment": "sandbox",
"b2b_price": 1482
}
],
"balanceOperations": [],
"balance_operations": []
},
"meta": {
"agencyId": "0b1c2d3e-4f50-4a6b-8c7d-9e0f1a2b3c4d",
"agency_id": "0b1c2d3e-4f50-4a6b-8c7d-9e0f1a2b3c4d",
"environment": "sandbox"
}
}{
"environment": "sandbox",
"success": true,
"data": {
"product": "transfers",
"id": "4745c761-0737-421a-aaab-c90f9c0aca8f",
"bookingId": "VIA-1782555657-QCF",
"booking_id": "VIA-1782555657-QCF",
"status": "refunded",
"environment": "sandbox",
"agencyId": "0b1c2d3e-4f50-4a6b-8c7d-9e0f1a2b3c4d",
"agency_id": "0b1c2d3e-4f50-4a6b-8c7d-9e0f1a2b3c4d",
"agentId": "5d6e7f80-91a2-4b3c-8d4e-5f6071829304",
"agent_id": "5d6e7f80-91a2-4b3c-8d4e-5f6071829304",
"currency": "DZD",
"totalPrice": 15124.38,
"total_price": 15124.38,
"netPrice": 15002.38,
"b2b_price": 15002.38,
"agencyCommission": 122,
"agency_commission": 122,
"providerName": "AirportTransfer.com",
"provider_name": "AirportTransfer.com",
"supplierId": null,
"supplier_id": null,
"createdAt": "2026-06-27T10:20:59.188372+00:00",
"created_at": "2026-06-27T10:20:59.188372+00:00",
"updatedAt": "2026-06-27T10:29:28.684+00:00",
"updated_at": "2026-06-27T10:29:28.684+00:00",
"arrivalDate": "2026-08-14T16:00:00+00:00",
"flightNumber": "593",
"voucherUrl": null,
"receiptUrl": "https://files.example.com/transfer-bookings/VIA-1782555657-QCF.pdf",
"record": {
"id": "4745c761-0737-421a-aaab-c90f9c0aca8f",
"booking_id": "VIA-1782555657-QCF",
"status": "refunded",
"currency": "DZD",
"total_price": 15124.38,
"agency_commission": 122,
"arrival_date": "2026-08-14T16:00:00+00:00",
"flight_number": "593",
"provider_name": "AirportTransfer.com",
"bucket_link": "https://files.example.com/transfer-bookings/VIA-1782555657-QCF.pdf",
"voucher_link": null,
"refunded_amount": 15002.38,
"refunded_currency": "DZD",
"created_at": "2026-06-27T10:20:59.188372+00:00",
"updated_at": "2026-06-27T10:29:28.684+00:00",
"environment": "sandbox"
}
},
"meta": {
"agencyId": "0b1c2d3e-4f50-4a6b-8c7d-9e0f1a2b3c4d",
"agency_id": "0b1c2d3e-4f50-4a6b-8c7d-9e0f1a2b3c4d",
"environment": "sandbox"
}
}Request
Path parameters
booking_idstringrequiredThe booking reference: the internal id or the public reference of the product (see above).
At most 100 characters.
Query parameters
productstringLook in one product only, which is faster and avoids a match in another product. Case does not matter. The singular names (flight, hotel, esim, transfer) are read as the plural.
One of all, esims, flights, hotels, transfers. Default all.
Response
200The booking. The keys after updatedAt and in record depend on the product.
successbooleantrue when the booking was found.
dataAccountBookingDetailOne booking with its stored record. The summary keys are the ones of the history; record repeats the booking in snake_case.
metaobjectFacts about the answer.
ShowHide 3 attributes
agencyIdstring (uuid)deprecatedLegacy name, still accepted. Use agency_id instead.
The id of your agency, resolved from the key. The older name of agency_id: same value, use agency_id.
agency_idstring (uuid)The id of your agency, resolved from the key. The snake_case twin of agencyId, with the same value: use this name.
environmentstringThe environment of the key that made the call: sandbox for fxp_test_ keys, live for fxp_live_ keys. Present in every JSON body.
One of sandbox, live.
Errors
| Status | Code | Example message |
|---|---|---|
| 400 | invalid_product | product must be one of all, esims, flights, hotels, transfers. |
| 400 | invalid_booking_id | booking_id is not a valid booking reference (received '!'). |
| 400 | agency_id_not_allowed | External API keys resolve agency_id automatically; do not send agency_id as a query parameter. |
| 404 | booking_not_found | No sandbox booking found for 'FX-0000000000000'. |
| 503 | service_overloaded | The service is temporarily overloaded; retry after the time given in the Retry-After header. |
The shape of the error body depends on the endpoint. See Errors for every shape and code.