POST /api/v1/flights/cancel_order
Cancel a held (unpaid) flight reservation to release the PNR. This is not a refund.
Cancel a held (unpaid) reservation. This deletes the reservation and releases the PNR with the airline.
Permission: Read+Write
This is NOT a refund and does NOT apply to issued (paid) tickets. A held reservation was never paid, so nothing is refunded — the reservation is simply cancelled and the PNR released.
For refund / void / exchange of an issued ticket, see Post-booking operations (currently handled manually by the FX-Port team through dashboard Request support or [email protected]).
Why cancel a hold
If you create a hold and then abandon it, the airline may refuse a new booking for the same passenger on the same route while the un-voided reservation is pending. Always cancel the old hold to release the PNR before re-booking that passenger.
Identifying the booking
| Field | Description |
|---|---|
order_id | Preferred. Supplier order ID returned when the hold was created. |
booking_id | FX-Port booking ID or stored booking reference. |
pnr | Airline PNR returned when the hold was created. |
Prefer order_id. PNRs are not globally unique across suppliers/airlines.
Send only one identifier. FX-Port resolves it to the supplier order ID before cancelling the hold.
Request example
curl --request POST \
--url https://api.fx-port.com/api/v1/flights/cancel_order \
--header 'Authorization: Bearer fxp_live_YOUR_KEY' \
--header 'Content-Type: application/json' \
--data '{
"order_id": "eJzTd9ePcDWJdHYCAAs9AlU"
}'Response example
{
"success": true,
"status": "cancelled",
"cancelledAt": "2026-08-17T12:00:00Z"
}POST /api/v1/flights/pay_order
Pay a held order, issue tickets, and debit the agency balance. Requires Read+Write permission.
POST /api/v1/flights/get_booking
Retrieve full booking details through one booking_id field that accepts an internal UUID, supplier order ID, or PNR. Includes the PDF download link.