Retrieving and cancelling a booking
After a booking is confirmed, it can be retrieved and cancelled. These are the same endpoints that power the "manage booking" page linked from Cliento's confirmation email and SMS.
Unlike the rest of the API, these endpoints are not under the account base URL. The booking reference alone identifies both the account and the booking:
https://apibk.cliento.com/api/v2/booking/{ref}
The booking ref
The {ref} in the URL is the cbUuid from the
reserve and confirm responses, encoded as Base64. This is
the same format Cliento's own confirmation links use.
echo -n "4674c65b-a64f-43a5-94c7-af3b59053cc6" | base64
# NDY3NGM2NWItYTY0Zi00M2E1LTk0YzctYWYzYjU5MDUzY2M2
Store the cbUuid if your client needs to manage bookings later. It is the
only identifier these endpoints are documented for.
The ref is the only credential: anyone with the ref can view and cancel the booking, just like anyone with the confirmation email can. Treat it like a secret and never expose refs of other customers' bookings.
Retrieve a booking
GET https://apibk.cliento.com/api/v2/booking/{ref}
Returns the booking, whether it is cancelled, and the account settings needed to render a manage-booking page.
Response 200
{
"created": "2026-07-23T11:41:24+02:00",
"date": "2026-07-31",
"time": "09:00:00",
"resource": "",
"customer": "Test Testsson",
"phoneNumber": "+46701234567",
"customerEmail": "test@example.com",
"cancelled": false,
"services": [
{ "id": 66638, "name": "Påminnelser", "price": 0.0, "priceFrom": false, "duration": 10 }
],
"payment": null,
"prefs": { "...": "same preference object as in settings, shortened here" }
}
| Field | Description |
|---|---|
created | When the booking was made, in the account's time zone |
date, time | Start of the booking, in the account's time zone |
resource | Public name of the booked resource, may be empty |
customer, phoneNumber, customerEmail | The customer details from the booking |
cancelled | true when the booking is cancelled |
services | The booked services, same shape as in the reserve response |
payment | The online payment, or null when the booking was not paid online |
prefs | The account preferences, see settings |
When the booking was paid online, payment contains among other fields
paymentProvider, paymentStatus, amount, refundedAmount,
transactionDate and refundDate (null until a refund is made). See
Payments.
The prefs object tells you whether cancellation is possible:
| Preference | Meaning |
|---|---|
web_allowCancellation | The account allows customers to cancel online |
web_cancelUpToMinutes | Cancellation closes this many minutes before the booking starts |
The cancellation deadline is the booking start time minus
web_cancelUpToMinutes. Use it to decide whether to show a cancel button, and
to explain why cancellation is closed. Also check cancelled first: a
cancelled booking cannot be cancelled again.
Errors
| Status | When |
|---|---|
| 404 | The ref does not match a booking, or the account no longer exists |
A malformed ref can also produce other error statuses. Treat every non-200
response as "booking not available" rather than branching on the exact status.
Cancel a booking
DELETE https://apibk.cliento.com/api/v2/booking/{ref}
Cancels the booking. Cliento sends cancellation notifications to the customer according to the account settings, and when the booking was paid online with a completed payment, the refund is triggered automatically. Refund timing depends on the payment provider (Swish refunds are immediate, card refunds take a few days).
Response is 204 with no body. Cancelling an already cancelled booking is
also 204, without repeating notifications or refunds, so the call is safe to
retry.
Errors
| Status | When |
|---|---|
| 403 | Cancellation is not allowed: the account has online cancellation off, or the cancellation deadline has passed |
| 404 | The ref does not match a booking, or the account no longer exists |
After a successful cancellation the slot opens up for other customers.
Retrieving the booking again returns it with "cancelled": true.
Rescheduling
There is no reschedule endpoint. To move a booking, cancel it and create a new booking through the regular booking flow. Note that the cancellation policy applies: past the cancellation deadline the booking cannot be moved either.