View as Markdown

Getting started

Cliento is a complete booking system with point of sale (POS). As a developer you can build on it in two ways: connect your own systems to the data in Cliento, or put Cliento's online booking in front of your customers.

You want toUseStart here
Read and write an organisation's data in Cliento from your own serversCliento APIGet a sandbox and a key
Let customers book on your websiteBooking widgetPaste the snippet
Let customers book without having a websiteHosted booking pageShare the link
Build your own booking flow or appWidget APIMake the first call

Cliento API

The Cliento API gives your own systems server-to-server access to an organisation's data in Cliento. It is a REST API with JSON bodies, authenticated with an API key. You can try it in a few minutes, without being a Cliento customer:

  1. Sign up. You confirm your email address and choose a password, and you get a sandbox: an organisation of your own with test data, on the same API as live accounts.

  2. Create an API key for the sandbox on your account page, and choose what the key may do (its scopes). The key is shown once: copy it then.

  3. Make your first request. List the locations the key can be used on:

    curl https://api.cliento.com/v1/locations \
      -H "Authorization: Bearer $CLIENTO_API_KEY"
  4. Build. Almost everything else is addressed under a location. The Cliento API overview explains the basics, and the API reference lists every endpoint with code samples.

When your integration works in the sandbox, the same code runs against a live organisation with a key created for that organisation. An organisation you belong to is listed on your account page next to your sandboxes.

Online booking

There are three ways to let customers book online. The Online booking overview compares them side by side.

For the widget and the Widget API you need the id of the Cliento account. It is in Cliento under Admin > Onlinebokning > Bokningssida / Widget.

Booking widget

Paste this where the widget should appear on your page, with the account's id:

<script>
(function(c,l,i,e,n,t,o){if(c.cbk){return;}c.cbk=function(){
c.cbk.p.push(arguments);};c.cbk.p=[];e=l.createElement("script");e.async=1;
e.src=i;l.head.appendChild(e);n=l.createElement("div");n.id="cliento-booking";
t=l.getElementsByTagName("script");o=t[t.length-1];o.parentNode.insertBefore(n,o);
})(window,document,"https://cliento.com/widget-v3/cliento.js");
cbk("id", "[ENTER ID FOR ACCOUNT]");
</script>

That is a working booking flow. From there, the Booking widget section shows how to choose what it offers (parameters), match your site (styling) and follow bookings in your analytics (tracking).

Hosted booking page

No website? Cliento hosts a ready-made booking page for the business. There is nothing to install: you share its address. See Hosted booking page.

Widget API

The Widget API is the API the widget itself runs on. Use it to build your own booking flow when the widget is not enough: your own design, your own steps, or a native app. It needs no API key and is called straight from the customer's browser.

The calls that make a booking go to the account's own base URL, built from the account's id:

https://apibk.cliento.com/api/v2/partner/cliento/{id}

1. Load what can be booked. Ref-data lists the account's services and the resources (the staff or rooms) that perform them. This is what you render as the first step of your booking flow. The call below goes to a test account, so you can run it as it is:

curl https://apibk.cliento.com/api/v2/partner/cliento/1uAKYvE7mWcnxxdMuixis/ref-data/ \
  -H "Accept: application/json"
{
  "services": [
    { "serviceId": 68811, "name": "Women's haircut", "minDuration": 45, "minPrice": 595.0 }
  ],
  "resources": [
    { "id": 12816, "name": "Anna B.", "hashId": "Q45V5W" }
  ],
  "resourceMappings": {
    "12816:68811": { "serviceDuration": 45, "price": 595.0, "webAllowBooking": true }
  }
}

That is a shortened example of the answer; Settings and ref-data explains every part.

2. Find a free time. When the customer has chosen a service and a resource, ask for the available slots in a range of dates, with the ids from ref-data:

curl "https://apibk.cliento.com/api/v2/partner/cliento/1uAKYvE7mWcnxxdMuixis/resources/slots?srvIds=68811&resIds=12816&fromDate=2026-10-26&toDate=2026-11-01" \
  -H "Accept: application/json"

3. Book it. Reserve the chosen slot, add the customer's details and confirm. The Booking flow guide walks through the whole sequence in six steps, from loading services to a confirmed booking.

Before you build, read the Widget API overview: the API is not versioned and is rate limited, and some accounts require a captcha.