Booking API
From test key to live: a checklist for integrating the Partner API
By Idea Holiday team · Updated 26 Oct 2026 · 3 min read
Most integration problems show up late, at the first real booking. This checklist moves you from first access to a live booking in an order that finds problems while they are cheap. It follows the Idea Holiday Partner API, which covers hotels, flights and fixed fares.
Before you write code
- Register your agency and verify your business with your PAN.
- Apply for API access in your account. Our team reviews the request and approves it.
- Read the guide for each product you will sell and keep the OpenAPI files beside it.
Keys
- Create a test key first. Keys are enabled per product, so check that the key covers the products you build.
- Lock each key to your server IP addresses. A request from any other address is refused.
- Keep keys on your server. Never put a key in browser code, a URL or source control.
Build the happy path with a test key
For hotels the flow is search, optional hotel details, prebook, book, then booking status. For flights it is search, fare quote, book, ticket where the fare needs it, then status. For hotels and flights, every endpoint works with a test key, but bookings are demos: no hotel or airline is called, your wallet is not debited and no fee is charged.
Make booking safe to retry
- Send a unique Idempotency-Key with every booking. It must be 8 to 128 characters.
- If a request times out, send it again with the same key and the same body. You get the first answer back and nothing is booked twice.
- Treat pending and unknown statuses as not finished: read the booking again, or wait for the webhook.
Webhooks
- Set one https address in your portal and choose your events.
- Verify every event: compute HMAC-SHA256 with your signing secret over the timestamp, a dot and the raw body, and compare it with the signature header.
- Reject events with an old timestamp, and drop duplicates using the delivery ID header.
- Answer with any 2xx status. Failed deliveries are retried several times over the following hours.
- Use the Send test button in the portal before you go live.
Going live
- Live keys work only after your business PAN is verified in the agent portal.
- Top up your wallet. Bookings are paid from your balance plus your credit limit.
- Set the low-balance webhook so that you hear before bookings are refused.
- Make your first live booking on a low-priced fare and check the booking, the wallet entry and the webhook together.
Common questions
- Is there a separate test server?
- No. Test keys and live keys call the same production host. A test key works on every hotel and flight endpoint but only makes demo bookings.
- Why is my request refused from my own server?
- If the key is locked to IP addresses, requests from any other address are refused. Check that your server's address is on the list.
- What do I quote when I contact support?
- The request ID from the response. It is also sent in the X-Request-Id header.