REST API overview
The Cliento REST API is the same API that powers the booking widget. You can use it to build your own booking experience, for example a fully custom widget or a native app. This section documents everything you need to search availability and create bookings.
If you are new to the API, start with the Booking flow guide.
Base URL
All endpoints in this documentation are relative to the following base URL:
https://apibk.cliento.com/api/v2/partner/cliento/{id}
The id is the unique key for your Cliento account, the same key used by the
booking widget. You will find it in Cliento (go to Admin > Onlinebokning > Bokningssida / Widget).
Example: fetch services and resources for the account 7DUdvNGJ5LXQK83UlWTJ1O:
curl https://apibk.cliento.com/api/v2/partner/cliento/7DUdvNGJ5LXQK83UlWTJ1O/ref-data/
Authentication
The API does not use API keys. Requests are unauthenticated and the account is
identified by the id in the URL. The API is rate limited per source IP, so keep
request volume modest and back off when you receive 429.
Send these headers on every request:
| Header | Value |
|---|---|
Accept | application/json |
Content-Type | application/json (for POST requests) |
Captcha
Some accounts have an extra captcha check enabled for booking requests. The
captcha is tied to Cliento's own booking pages, so a custom client cannot
generate valid captcha tokens. The captchaResponse field that appears in some
request bodies can be sent as null. If your booking requests are rejected,
contact Cliento support to review the captcha setting for your account.
Errors
Successful responses use 200, 201 or 204. Error responses use standard
HTTP status codes. The body is usually a short plain text message. Requests
rejected with 403 may instead have a JSON body with code, message and
details fields.
| Status | Meaning |
|---|---|
| 400 | The request body or parameters are invalid |
| 403 | The request was blocked, for example by the captcha or abuse checks |
| 404 | Unknown account id or entity |
| 409 | Conflict, the operation is not possible in the current state |
| 410 | The slot is no longer available, or the reservation has expired |
| 429 | Rate limited, wait and retry with backoff |
Endpoints
| Method | Path | Description |
|---|---|---|
| GET | /settings/ | Booking settings for the account |
| GET | /ref-data/ | Services, resources and mappings |
| GET | /custom-fields/resource/{resourceHashId} | Custom form fields |
| GET | /resources/slots | Available slots |
| POST | /booking/reserve | Reserve a slot |
| POST | /booking/release | Release a reservation |
| POST | /booking/customer | Add customer details |
| POST | /booking/confirmation-options | Get confirmation options |
| POST | /booking/confirm | Confirm the booking |
| GET | /reviews/ | Reviews |
The API also has endpoints for online payments and discount vouchers. These are described at an overview level in Payments.