POST /api/v1/flights/get_order_quote
Get the current price and payment status for a held order before paying.
Get the current quote (price, status, and available actions) for a held order. This step is optional — call it only when you want to preview or refresh the price before paying.
Permission: Read
Identifying the booking
Provide one of the following. order_id is strongly preferred.
| Field | Description |
|---|---|
order_id | Supplier order ID returned when the hold booking was created |
booking_id | FX-Port booking ID |
pnr | Airline record locator |
PNRs are not unique. The same PNR can be issued by a different supplier, GDS, or airline.
Looking a booking up by PNR alone can be ambiguous. Always use order_id when possible.
Request example
curl --request POST \
--url https://api.fx-port.com/api/v1/flights/get_order_quote \
--header 'Authorization: Bearer fxp_live_YOUR_KEY' \
--header 'Content-Type: application/json' \
--data '{
"order_id": "eJzTd9ePcDWJdHYCAAs9AlU"
}'Response example
{
"success": true,
"requestId": "a1b2c3d4",
"orderId": "eJzTd9ePcDWJdHYCAAs9AlU",
"orderQuote": {
"orderId": "eJzTd9ePcDWJdHYCAAs9AlU",
"bookingReference": "XE4YCB",
"status": "awaiting_payment",
"pricing": {
"supplierCurrency": "DZD",
"agencyCurrency": "DZD",
"basePrice": 3160.00,
"taxesAndFees": 1921.44,
"agencyCommission": 5.09,
"finalPrice": 5086.53,
"b2bPrice": 5081.44,
"totalAmount": 5081.44
},
"paymentStatus": {
"awaitingPayment": true,
"paymentRequiredBy": null,
"priceGuaranteeExpiresAt": null,
"priceGuaranteed": true,
"canPay": true
},
"liveMode": false
},
"supplier": {
"id": "amadeus_aqc_dz_1",
"technology": "amadeus_aqc",
"name": "Amadeus AQC"
},
"meta": {
"timestamp": "2026-08-17T11:00:00Z",
"priceGuaranteed": true,
"canPay": true
}
}Field meanings
| Field | Meaning |
|---|---|
pricing.b2bPrice | The amount that will be debited from your agency balance = finalPrice − agencyCommission |
pricing.totalAmount | Same as b2bPrice — alias for clarity |
paymentStatus.canPay | Whether the hold can currently be paid. See warning below. |
paymentStatus.priceGuaranteed | Whether the price is guaranteed not to change before priceGuaranteeExpiresAt |
Do not treat canPay as a hard guarantee. Payment can fail because the PNR has expired or
been cancelled, the hold/payment deadline has passed, or the airline released the reservation
before the expected date or time. The only authoritative outcome is the pay_order response.
Always handle payment failure gracefully even when canPay was true moments earlier.