Distribution · Developer reference
GDS Distribution API
A simple REST API to distribute StayMe inventory through your GDS or agency platform — search availability, create and cancel reservations, and pull property detail.
Get an API key →Supported GDS platforms
amadeusA major European powerhouse and the most dominant GDS globally. Widely used by large agencies for complex, international airline and multi-service itineraries.
sabreHighly popular in North America, heavily used by Travel Management Companies (TMCs); a powerful flight and hotel reservation system.
travelportParent of Galileo, Worldspan and Apollo. Particularly strong in hotel distribution and mid-to-large global agencies.
genericDirect REST connect for any agency or platform that does not use one of the major GDS networks.
Pick your network when registering. The API surface is identical across providers; the provider tag is used for routing, reporting and reconciliation.
Authentication
Send your key in the X-GDS-API-Key header on every request. Calls are rate-limited per credential (default 100 req/min).
curl -X POST https://staybook-quf2jwtmya-as.a.run.app/api/gds/availability \
-H "X-GDS-API-Key: <your-api-key>" \
-H "Content-Type: application/json" \
-d '{"city":"Dubai","check_in":"2026-07-10","check_out":"2026-07-12","guests":2}'
Endpoints
Base URL: https://staybook-quf2jwtmya-as.a.run.app/api/gds
| Method | Path | Purpose |
|---|---|---|
| POST | /api/gds/availability | Search bookable inventory for a city + dates. |
| POST | /api/gds/reservations | Create a confirmed reservation for a room. |
| DELETE | /api/gds/reservations/{ref} | Cancel a reservation by its reference. |
| GET | /api/gds/properties/{code} | Fetch full details for one property. |
Create a reservation
Use a property_id and room_id from an availability response.
curl -X POST https://staybook-quf2jwtmya-as.a.run.app/api/gds/reservations \
-H "X-GDS-API-Key: <your-api-key>" -H "Content-Type: application/json" \
-d '{
"property_id": 13, "room_id": 33,
"check_in": "2026-07-10", "check_out": "2026-07-12",
"guest_first_name": "Ada", "guest_last_name": "Lovelace",
"guest_email": "ada@agency.com", "guest_phone": "+60123456789"
}'
# → { "status": "SUCCESS", "reservation": { "ref_number": "GDS-1A2B3C4D",
# "status": "confirmed", "total": 1500, "currency": "USD", ... } }
Error responses
| HTTP | Code | Meaning |
|---|---|---|
| 401 | MISSING_API_KEY | No X-GDS-API-Key header was sent. |
| 401 | INVALID_API_KEY | Key not found or inactive (pending approval / revoked). |
| 429 | RATE_LIMITED | Per-credential rate limit exceeded — retry after the window. |
| 422 | VALIDATION | Missing/invalid fields — see the response body for details. |
Every error returns JSON: {"status":"ERROR","code":"...","message":"..."}