Webhooks
Outbound booking event notifications - confirmations, modifications, and cancellations - pushed to integrator endpoints so partner systems stay in sync without polling. Availability varies by partner agreement.
Outbound booking event notifications - confirmations, modifications, and cancellations - pushed to integrator endpoints so partner systems stay in sync without polling. Availability varies by partner agreement.
openapi: 3.0.1
info:
title: Hotelbeds APItude API
description: >-
Specification of the Hotelbeds (HBX Group) APItude API suite. Covers the Hotel
Booking API (availability, checkrates, bookings), the Hotel Content API (static
hotel and destination data), the Activities API, the Transfers API, and the
Hotel Cache API. All requests authenticate with an Api-key header plus an
X-Signature header, a SHA256 hash (in hex) of the API key, shared secret, and
the current Unix timestamp in seconds.
termsOfService: https://www.hotelbeds.com/terms-conditions/
contact:
name: Hotelbeds Developer Support
url: https://developer.hotelbeds.com/support/
version: '1.0'
servers:
- url: https://api.hotelbeds.com
description: Production environment
- url: https://api.test.hotelbeds.com
description: Test / evaluation environment
security:
- ApiKeyAuth: []
SignatureAuth: []
paths:
/hotel-api/1.0/status:
get:
operationId: getStatus
tags:
- Booking
summary: API status check
description: Returns the operational status of the Hotel Booking API.
responses:
'200':
description: API is operational.
content:
application/json:
schema:
$ref: '#/components/schemas/Status'
/hotel-api/1.0/hotels:
post:
operationId: getAvailability
tags:
- Booking
summary: Hotel availability search
description: >-
Requests room availability and rates for a stay, filtered by destination,
hotel codes, geolocation, dates, and occupancies.
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/AvailabilityRequest'
responses:
'200':
description: Availability results.
content:
application/json:
schema:
$ref: '#/components/schemas/AvailabilityResponse'
/hotel-api/1.0/checkrates:
post:
operationId: checkRates
tags:
- Booking
summary: Check rates
description: >-
Re-validates the price and availability of one or more rates returned by
an availability search before confirming a booking.
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/CheckRateRequest'
responses:
'200':
description: Confirmed rate details.
content:
application/json:
schema:
$ref: '#/components/schemas/AvailabilityResponse'
/hotel-api/1.0/bookings:
get:
operationId: listBookings
tags:
- Booking
summary: List bookings
description: Retrieves a list of bookings filtered by client reference or dates.
parameters:
- name: start
in: query
schema:
type: integer
- name: end
in: query
schema:
type: integer
responses:
'200':
description: A list of bookings.
content:
application/json:
schema:
$ref: '#/components/schemas/Booking'
post:
operationId: confirmBooking
tags:
- Booking
summary: Confirm a booking
description: Confirms a booking for a rate key validated through checkrates.
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/BookingRequest'
responses:
'200':
description: The confirmed booking.
content:
application/json:
schema:
$ref: '#/components/schemas/Booking'
/hotel-api/1.0/bookings/{bookingId}:
get:
operationId: getBookingDetail
tags:
- Booking
summary: Booking detail
description: Retrieves the full detail of a single booking by reference.
parameters:
- name: bookingId
in: path
required: true
schema:
type: string
responses:
'200':
description: The requested booking.
content:
application/json:
schema:
$ref: '#/components/schemas/Booking'
delete:
operationId: cancelBooking
tags:
- Booking
summary: Cancel a booking
description: >-
Cancels a booking, or simulates the cancellation when cancellationFlag is
SIMULATION.
parameters:
- name: bookingId
in: path
required: true
schema:
type: string
- name: cancellationFlag
in: query
schema:
type: string
enum:
- CANCELLATION
- SIMULATION
responses:
'200':
description: The cancelled booking.
content:
application/json:
schema:
$ref: '#/components/schemas/Booking'
/hotel-content-api/1.0/hotels:
get:
operationId: getHotelContent
tags:
- Content
summary: Hotel content
description: Returns static content for hotels - descriptions, addresses, images, and facilities.
parameters:
- name: fields
in: query
schema:
type: string
- name: language
in: query
schema:
type: string
- name: from
in: query
schema:
type: integer
- name: to
in: query
schema:
type: integer
responses:
'200':
description: Hotel content results.
content:
application/json:
schema:
$ref: '#/components/schemas/HotelContentResponse'
/hotel-content-api/1.0/locations/countries:
get:
operationId: getCountries
tags:
- Content
summary: Countries
description: Returns the list of countries available in the content database.
parameters:
- name: fields
in: query
schema:
type: string
- name: language
in: query
schema:
type: string
responses:
'200':
description: Country list.
content:
application/json:
schema:
$ref: '#/components/schemas/HotelContentResponse'
/hotel-content-api/1.0/locations/destinations:
get:
operationId: getDestinations
tags:
- Content
summary: Destinations
description: Returns the list of destinations available in the content database.
parameters:
- name: fields
in: query
schema:
type: string
- name: language
in: query
schema:
type: string
responses:
'200':
description: Destination list.
content:
application/json:
schema:
$ref: '#/components/schemas/HotelContentResponse'
/activity-api/3.0/activities/availability:
post:
operationId: getActivityAvailability
tags:
- Activities
summary: Activities availability search
description: Returns real-time availability and pricing for tours and activities.
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/AvailabilityRequest'
responses:
'200':
description: Activity availability results.
content:
application/json:
schema:
$ref: '#/components/schemas/AvailabilityResponse'
/transfer-api/1.0/availability/{language}/from/{fromType}/{fromCode}/to/{toType}/{toCode}:
get:
operationId: getTransferAvailability
tags:
- Transfers
summary: Transfer availability search
description: >-
Returns available transfers between an origin and destination identified
by IATA code, GPS coordinates, or Hotelbeds custom codes.
parameters:
- name: language
in: path
required: true
schema:
type: string
- name: fromType
in: path
required: true
schema:
type: string
- name: fromCode
in: path
required: true
schema:
type: string
- name: toType
in: path
required: true
schema:
type: string
- name: toCode
in: path
required: true
schema:
type: string
responses:
'200':
description: Transfer availability results.
content:
application/json:
schema:
$ref: '#/components/schemas/AvailabilityResponse'
/hotel-cache-api/1.0/availabilities:
get:
operationId: getCacheFiles
tags:
- Cache
summary: Cache availability files
description: >-
Returns the hourly cache snapshot of all prices and availability as a CSV
file compressed in .zip.
responses:
'200':
description: A zipped CSV cache file.
content:
application/zip:
schema:
type: string
format: binary
components:
securitySchemes:
ApiKeyAuth:
type: apiKey
in: header
name: Api-key
description: Your APItude API key, issued per API suite (Hotel, Activities, Transfers).
SignatureAuth:
type: apiKey
in: header
name: X-Signature
description: >-
SHA256 hash, in hexadecimal, of the concatenation of the API key, the
shared secret, and the current Unix timestamp in seconds.
schemas:
Status:
type: object
properties:
status:
type: string
example: OK
AvailabilityRequest:
type: object
properties:
stay:
type: object
properties:
checkIn:
type: string
format: date
checkOut:
type: string
format: date
occupancies:
type: array
items:
type: object
properties:
rooms:
type: integer
adults:
type: integer
children:
type: integer
destination:
type: object
properties:
code:
type: string
AvailabilityResponse:
type: object
properties:
auditData:
type: object
hotels:
type: object
properties:
total:
type: integer
hotels:
type: array
items:
$ref: '#/components/schemas/Hotel'
Hotel:
type: object
properties:
code:
type: integer
name:
type: string
categoryName:
type: string
destinationName:
type: string
minRate:
type: string
currency:
type: string
CheckRateRequest:
type: object
properties:
rooms:
type: array
items:
type: object
properties:
rateKey:
type: string
BookingRequest:
type: object
properties:
holder:
type: object
properties:
name:
type: string
surname:
type: string
rooms:
type: array
items:
type: object
properties:
rateKey:
type: string
paxes:
type: array
items:
type: object
clientReference:
type: string
Booking:
type: object
properties:
reference:
type: string
clientReference:
type: string
status:
type: string
totalNet:
type: string
currency:
type: string
HotelContentResponse:
type: object
properties:
from:
type: integer
to:
type: integer
total:
type: integer
hotels:
type: array
items:
$ref: '#/components/schemas/Hotel'