API V2.0
This page explains the capabilities of the API Version 2.0 and explains how to use it.
Contents
1 Capabilities
2 API Access
To use the API you need to allow API ACCESS. Go to SETTINGS -> ACCOUNT -> ACCOUNT ACCESS and allow API access.
- The JSON functions can be created with a API and prop key which you set yourself in the Beds24 control panel {#fas:cog}} (SETTINGS)ACCOUNT and (SETTINGS) PROPERTIES > ACCESS
3 Tokens
4 Scopes
Each category of API endpoint (except /authentication) requires the corrosponding scope to access.
Some categories have additional scopes that allow access to personal or financial information. For example, the "bookings" scope would grant access to a booking's basic information such as the check-in and checkout dates. To access personal information such as the name of a guest, the "bookings-personal" scope would be required. Similarly, to access the invoice of a bookings, the "bookings-financial" scope would be required.
Each scope must also have an acompanying method. For example "get:bookings" would grant read access to bookings, but in order to create a new booking "post:bookings" would be required.
The "all" method may be used as a shortcut to grant access to all methods. For example "all:bookings" would allow for the reading, updating, creating and deleting of bookings.
5 POST method
5.1 Creating/modifying multiple items
All POST endpoints accept an array of items (an item may be a booking, message, property etc).
It is possible to create and modify multiple different items in one request this way.
All existing "POSTable" items will have an "id" field to uniquely identify it.
- To create a new item, just do not include an id.
- To modify an existing item, include its id.
6 Examples
6.1 Authentication
6.1.1 Refreshing a token
Request:
curl -X 'GET' \ 'https://api.example.com/v2/authentication/token' \ -H 'accept: application/json' \ -H 'refreshToken: Ea6DftE50aYYRe/qAd9SkQaSmTF6kaLQxH6gtRxO1h10yVC64d4qIj4BGiQOU+y5'
Response:
{ "token": "wEoJHQIwRrLwHqTqAsn0/XjzaZkVk4E8sSDwbRN2HKDlulkt6n7aHQCcvdqfX+y5", "expiresIn": 3600 }