Quick start
From credentials to a confirmed booking in five calls.
Five calls take you from credentials to a confirmed booking. Everything below runs against the sandbox, which returns structurally complete responses so you can build the whole flow before any commercial agreement is signed.
1. Get a token
curl
curl -X POST https://api.travelcore.tech/v1/oauth/token \ -H "Content-Type: application/x-www-form-urlencoded" \ -d "grant_type=client_credentials" \ -d "client_id=$TRAVELCORE_CLIENT_ID" \ -d "client_secret=$TRAVELCORE_CLIENT_SECRET" \ -d "scope=hotels.search hotels.book"Note:Tokens live for 15 minutes. Cache one and reuse it. Requesting a token per API call is the single most common way integrations hit the rate limiter.
2. Search
curl
curl -X POST https://api.travelcore.tech/v1/hotels/search \ -H "Authorization: Bearer $TOKEN" \ -H "X-TravelCore-Tenant: $TENANT_ID" \ -H "Content-Type: application/json" \ -d '{ "destination": { "type": "city", "code": "DXB" }, "checkIn": "2026-11-12", "checkOut": "2026-11-16", "occupancies": [{ "adults": 2 }], "currency": "AED", "nationality": "EG" }'Inspect the suppliers array in the response before you render. If partial is true, at least one supplier missed its budget; show what you have rather than blocking the page, and decide separately whether to re-query.
3. Re-validate the rate
curl
curl -X POST https://api.travelcore.tech/v1/hotels/rates/rt_01JQ8Y3M9F/check \ -H "Authorization: Bearer $TOKEN" \ -H "X-TravelCore-Tenant: $TENANT_ID"Note:Never skip this call. Suppliers reprice between search and booking. This is where you discover it, before you charge a customer rather than after.
4. Book
curl
curl -X POST https://api.travelcore.tech/v1/hotels/bookings \ -H "Authorization: Bearer $TOKEN" \ -H "X-TravelCore-Tenant: $TENANT_ID" \ -H "Idempotency-Key: $(uuidgen)" \ -H "Content-Type: application/json" \ -d '{ "rateId": "rt_01JQ8Y3M9F", "searchId": "srch_01JQ8Y3M4K7B2R", "holder": { "firstName": "Sara", "lastName": "Hassan", "email": "sara@example.com" }, "rooms": [{ "guests": [{ "type": "adult", "firstName": "Sara", "lastName": "Hassan" }] }], "clientReference": "OTA-2026-000148" }'5. Retrieve and issue the voucher
curl
curl https://api.travelcore.tech/v1/hotels/bookings/bkg_01JQ8YB4T2N6 \ -H "Authorization: Bearer $TOKEN" \ -H "X-TravelCore-Tenant: $TENANT_ID"Note:The base URL, credentials and tenant id above are illustrative. Sandbox credentials are issued per account; the API is in design-partner preview and is not open for self-service signup yet.