FX-Port API
Account

GET /api/v1/bookings/{id}

Single booking detail by public reference — includes pricing breakdown and traveler pricing.

Returns the detail record for a single booking. You can look it up by the internal booking id (a UUID) or by a public reference.

Permission: Read

Path parameterAcceptsDescription
{id}internal id (UUID) · PNR / booking reference · order id · ICCID (eSIM)The booking to fetch

Prefer the internal id (UUID). PNRs and booking references are not globally unique — the same PNR can be issued by a different airline or supplier, so a lookup by PNR can be ambiguous. The internal id returned in every booking/response payload is unique and stable. Store it and use it as your primary key; treat the PNR as a display reference only.

Query parameters

ParameterDefaultDescription
productallScope to a specific product for faster resolution: flights, hotels, esims, transfers

Request examples

# Recommended: internal id (UUID), unambiguous
curl --get \
    --url https://api.fx-port.com/api/v1/bookings/e133d887-fd3c-4a44-a19e-4f20ddb690d4 \
    --header 'Authorization: Bearer fxp_live_YOUR_KEY' \
    --data-urlencode 'product=flights'

# Also supported: PNR (may be ambiguous across suppliers)
curl --get \
    --url https://api.fx-port.com/api/v1/bookings/XE4YCB \
    --header 'Authorization: Bearer fxp_live_YOUR_KEY' \
    --data-urlencode 'product=flights'

Response example

{
    "success": true,
    "data": {
        "product": "flights",
        "bookingId": "XE4YCB",
        "status": "confirmed",
        "record": {
            "booking_id": "XE4YCB",
            "status": "confirmed",
            "total_price": 5086.53,
            "agency_commission": 5.09,
            "currency": "DZD",
            "departure_airport": "ALG",
            "arrival_airport": "CDG",
            "departure_date": "2026-09-15T08:30:00",
            "ticket_number": "124-2442997931",
            "bucket_link": "https://s3.eu-central-003.backblazeb2.com/213carousat/flight-bookings/XE4YCB-JAMES-SMITH.pdf",
            "supplier_id": "amadeus_aqc_dz_1",
            "environment": "live",
            "created_at": "2026-08-17T11:22:00+00:00",
            "paid_at": "2026-08-17T11:22:05+00:00"
        },
        "pricing": [
            {
                "supplier_currency": "DZD",
                "agency_currency": "DZD",
                "base_price": 3160.00,
                "taxes_and_fees": 1921.44,
                "agency_commission": 5.09,
                "final_price": 5086.53,
                "b2b_price": 5081.44,
                "environment": "live"
            }
        ],
        "travelerPricing": [
            {
                "traveler_id": "1",
                "traveler_type": "ADULT",
                "fare_option": "STANDARD",
                "supplier_currency": "DZD",
                "agency_currency": "DZD",
                "base": 3160.00,
                "total": 5086.53,
                "b2b_price": 5081.44,
                "environment": "live"
            }
        ],
        "balanceOperations": []
    },
    "meta": {
        "agencyId": "2e800fb6-0bbf-4fc1-b0bd-0f3be3b5bcc4",
        "environment": "live"
    }
}

Field reference

FieldDescription
record.bucket_linkConfirmation PDF download URL (flights only)
record.ticket_numberE-ticket number(s)
pricing[0].b2b_priceAmount debited from agency balance = final_price − agency_commission
pricing[0].taxes_and_feesTaxes + platform fees. Excludes agency_commission.
travelerPricing[n].b2b_pricePer-traveler debit amount

On this page