Developers

Build travel without rebuilding the infrastructure.

Connect flights, hotels, baggage protection, eSIMs, and travel operations to your website, application, or AI agent through one platform.

One consistent connection

Start with one connection

Travel integrations become complicated quickly. Each supplier has different authentication, search structures, booking flows, errors, and operational rules.

Tripklik gives your development team one consistent connection to multiple travel services.

Use our APIs to build a booking website, mobile application, B2B portal, corporate travel platform, or AI travel agent while we manage the supplier connections behind it.

A standard integration follows this flow

Tripklik provides a REST API using JSON requests and responses.

  1. 1Receive sandbox credentials
  2. 2Generate an access token
  3. 3Search flights or hotels
  4. 4Revalidate the selected offer
  5. 5Create the booking
  6. 6Complete the required operational action
  7. 7Receive status updates through webhooks
  8. 8Retrieve tickets, vouchers, and documents
  9. 9Complete certification
  10. 10Move to production

Available products

Four products, one API surface

Flights API

Search and book flight content from connected GDSs, NDC suppliers, direct airlines, low-cost carriers, and aggregators.

  • Airport and city search
  • One-way, round-trip, and multi-city search
  • Fare and baggage details
  • Fare rules
  • Price revalidation
  • PNR creation
  • Hold
  • Ticket issuance
  • Booking retrieval
  • Cancellation
  • Ticket void
  • Refund request
  • Additional flight services

Hotels API

Search hotel inventory from global bedbanks, regional suppliers, and directly contracted hotels.

  • Destination search
  • Hotel availability
  • Hotel details
  • Room and rate information
  • Meal plans
  • Cancellation policies
  • Rate revalidation
  • Hold
  • Confirmation
  • Booking retrieval
  • Cancellation
  • Voucher retrieval

Blue Ribbon Bags API

Add baggage protection to the flight booking journey.

  • Service eligibility
  • Product and coverage details
  • Price retrieval
  • Protection registration
  • Passenger and flight association
  • Confirmation retrieval
  • Service status
  • Claim instructions

eSIM API

Sell destination and regional eSIM plans as part of a booking or as a standalone product.

  • Country and regional plan search
  • Data allowance and validity
  • Device compatibility information
  • Price retrieval
  • Order creation
  • QR code delivery
  • Installation instructions
  • Activation status

Authentication

Generate a temporary access token

Use your client credentials to generate a temporary access token.

curl --request POST \
  --url https://api.tripklik.com/v1/auth/token \
  --header "Content-Type: application/json" \
  --data '{
    "clientId": "YOUR_CLIENT_ID",
    "clientSecret": "YOUR_CLIENT_SECRET"
  }'

Send the access token with subsequent API requests:

Authorization: Bearer YOUR_ACCESS_TOKEN

Sandbox and production use separate credentials.

Quickstart

Your first searches

Quick flight search

curl --request POST \
  --url https://api.tripklik.com/v1/flights/search \
  --header "Authorization: Bearer YOUR_ACCESS_TOKEN" \
  --header "Content-Type: application/json" \
  --data '{
    "journeys": [
      {
        "origin": "DXB",
        "destination": "CAI",
        "departureDate": "2026-10-15"
      }
    ],
    "passengers": { "adults": 1, "children": 0, "infants": 0 },
    "cabinClass": "ECONOMY",
    "currency": "AED"
  }'

Quick hotel search

curl --request POST \
  --url https://api.tripklik.com/v1/hotels/search \
  --header "Authorization: Bearer YOUR_ACCESS_TOKEN" \
  --header "Content-Type: application/json" \
  --data '{
    "destination": { "type": "CITY", "code": "DXB" },
    "checkIn": "2026-10-15",
    "checkOut": "2026-10-18",
    "rooms": [ { "adults": 2, "children": 0 } ],
    "nationality": "SA",
    "residenceCountry": "SA",
    "currency": "SAR"
  }'

Revalidation

Revalidate before booking

Availability and prices can change between search and booking.

Use the revalidation endpoint before collecting final confirmation from the customer.

curl --request POST \
  --url https://api.tripklik.com/v1/flights/offers/OF-728191/revalidate \
  --header "Authorization: Bearer YOUR_ACCESS_TOKEN"

If the price changes, your application should display the new amount and request customer approval before continuing.

Bookings

Create a booking safely

Use an idempotency key with booking and payment requests to prevent duplicate transactions.

curl --request POST \
  --url https://api.tripklik.com/v1/flights/bookings \
  --header "Authorization: Bearer YOUR_ACCESS_TOKEN" \
  --header "Idempotency-Key: YOUR-UNIQUE-ORDER-ID" \
  --header "Content-Type: application/json" \
  --data '{
    "offerId": "OF-728191",
    "bookingMode": "HOLD",
    "contact": {
      "email": "[email protected]",
      "phone": "+971501234567"
    },
    "passengers": [
      {
        "type": "ADT",
        "title": "MR",
        "firstName": "AHMAD",
        "lastName": "ABUBAKR",
        "dateOfBirth": "1985-05-20",
        "nationality": "EG"
      }
    ]
  }'

Repeating the request with the same idempotency key returns the original booking result instead of creating another booking.

B2B wallet and credit

Wallet, credit, and the financial ledger

API clients can operate through a prepaid wallet, an approved credit limit, or a combination of both.

Retrieve account balance

curl --request GET \
  --url https://api.tripklik.com/v1/account/balance \
  --header "Authorization: Bearer YOUR_ACCESS_TOKEN"

The platform checks the available balance before completing a chargeable booking action. Deposits, bookings, confirmations, cancellations, voids, refunds, and adjustments are recorded in the financial ledger.

Webhooks

Receive asynchronous updates

Use webhooks to receive asynchronous booking and payment updates. Available events may include:

  • flight.booking.held
  • flight.ticket.issued
  • flight.booking.cancelled
  • flight.ticket.voided
  • hotel.booking.confirmed
  • hotel.booking.cancelled
  • payment.completed
  • payment.failed
  • refund.completed
  • wallet.balance.changed
  • esim.order.completed

Example webhook

{
  "eventId": "EVT-940173",
  "eventType": "hotel.booking.confirmed",
  "createdAt": "2026-08-23T10:42:17Z",
  "data": {
    "bookingId": "TK-H-450172",
    "status": "CONFIRMED",
    "supplierConfirmationNumber": "HC982173"
  }
}

Your application should acknowledge accepted webhook requests with a successful HTTP response. Webhook signatures allow your system to verify that the notification came from Tripklik.

Error handling

Standard status codes, structured errors

Tripklik uses standard HTTP status codes with structured error responses.

{
  "error": {
    "code": "OFFER_NO_LONGER_AVAILABLE",
    "message": "The selected offer is no longer available.",
    "requestId": "REQ-7812F9",
    "details": { "offerId": "OF-728191" }
  }
}

Common response codes

StatusMeaning
200Request completed
201Resource created
400Invalid request
401Authentication failed
403Operation not permitted
404Resource not found
409Booking or transaction conflict
422Supplier rejected the request
429Rate limit reached
500Internal processing error
502Supplier connection error

Store the requestId when reporting an issue. It helps the Tripklik support team trace the complete transaction.

MCP for AI applications

Connect approved AI assistants

Connect approved AI assistants to Tripklik through a controlled MCP server. Available tools may include:

  • search_flights
  • search_hotels
  • revalidate_offer
  • get_booking
  • hold_flight
  • cancel_booking
  • confirm_hotel
  • get_account_balance
  • get_travel_document

Example tool call

{
  "tool": "search_flights",
  "arguments": {
    "origin": "RUH",
    "destination": "DXB",
    "departureDate": "2026-10-15",
    "returnDate": "2026-10-18",
    "adults": 2,
    "cabinClass": "ECONOMY",
    "currency": "SAR"
  }
}

MCP access follows the same supplier availability, pricing rules, user permissions, approval controls, and activity logs as the rest of the Tripklik platform. Sensitive actions can require customer confirmation or employee approval before execution.

Environments

Sandbox first, production after certification

Sandbox

Use the sandbox to:

  • Test authentication
  • Build search requests
  • Simulate booking flows
  • Test hold and confirmation
  • Process sample errors
  • Verify webhook handling
  • Complete certification scenarios

Sandbox data does not create real supplier bookings.

Production

Production credentials are issued after the required integration and certification checks are completed. Your production configuration determines:

  • Available products
  • Connected suppliers
  • Markets
  • Currencies
  • Pricing rules
  • Wallet and credit limits
  • Permitted operations
  • Rate limits

Developer resources

Everything in the integration package

Your integration package can include:

  • API reference
  • Integration guide
  • Postman collection
  • Request and response examples
  • Error-code reference
  • Webhook guide
  • Test scenarios
  • Sandbox credentials
  • Certification checklist
  • Production launch guide

The exact endpoints, fields, and available operations depend on the enabled Tripklik services and connected supplier capabilities.

Production checklist

Before requesting production access

Confirm that your integration can:

  • Protect API credentials
  • Refresh expired access tokens
  • Revalidate offers before booking
  • Prevent duplicate bookings
  • Handle price changes
  • Handle supplier timeouts
  • Store Tripklik booking references
  • Process webhooks safely
  • Verify webhook signatures
  • Display cancellation conditions
  • Protect customer information
  • Record request identifiers
  • Handle booking failures without charging twice

Build on Tripklik.

Connect your website, mobile application, B2B platform, corporate booking tool, or AI agent to one travel technology platform.