FX-Port API
Flights

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

FieldDescription
order_idPreferred. Supplier order ID returned when the hold was created.
booking_idFX-Port booking ID or stored booking reference.
pnrAirline 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"
}

On this page