FX-Port API
Account

GET /api/v1/history

Booking summaries across all products, sorted newest first.

Booking summaries across one or all products, sorted by createdAt descending.

Permission: Read

Returns lightweight records — enough for status tracking, reconciliation, and dashboards. For full traveler details, fare rules, and pricing breakdown, use the product-specific booking endpoints (e.g. GET /api/v1/bookings/{id} or POST /api/v1/flights/get_booking).

Query parameters

ParameterTypeDefaultDescription
productstringallall | flights | hotels | esims | transfers
statusstringFilter to a single status (e.g. confirmed, awaiting_payment, cancelled)
fromstringInclusive start. ISO-8601 date or datetime
tostringInclusive end. ISO-8601 date or datetime
pageinteger11-based page number
limitinteger20Items per page. Range 1–100

Status reference

StatusProducts
confirmedFlights, hotels, esims, transfers
awaiting_paymentFlights (held orders not yet paid)
pendingFlights, hotels (booking in progress)
cancelledAll products
failedAll products
refundedFlights, hotels

Request examples

# All recent bookings
curl --request GET \
  --url https://api.fx-port.com/api/v1/history \
  --header 'Authorization: Bearer fxp_live_YOUR_KEY'

# Confirmed flights only, this month
curl --get \
  --url https://api.fx-port.com/api/v1/history \
  --header 'Authorization: Bearer fxp_live_YOUR_KEY' \
  --data-urlencode 'product=flights' \
  --data-urlencode 'status=confirmed' \
  --data-urlencode 'from=2026-08-01'

Response example

{
    "success": true,
    "data": [
        {
            "product": "flights",
            "id": "e133d887-fd3c-4a44-a19e-4f20ddb690d4",
            "bookingId": "XE4YCB",
            "status": "confirmed",
            "totalPrice": 6350.00,
            "currency": "EGP",
            "createdAt": "2026-08-17T11:22:00+00:00",
            "paidAt": "2026-08-17T11:22:05+00:00",
            "departureAirport": "CAI",
            "arrivalAirport": "DXB"
        }
    ],
    "pagination": {
        "page": 1,
        "limit": 20,
        "total": 1,
        "hasMore": false
    },
    "meta": {
        "agencyId": "2e800fb6-0bbf-4fc1-b0bd-0f3be3b5bcc4",
        "environment": "live",
        "product": "all"
    }
}

Each entry includes both the internal id (a stable UUID) and the public bookingId (PNR / reference). Use id as your primary key when storing or re-fetching a booking — PNRs are not globally unique. Fetch full details with GET /api/v1/bookings/{id} using that id.

On this page