Developers · REST API

Build on top of Setora.

The Setora REST API exposes the same booking, availability, and client data that powers the Hub and the public booking portal. Use it to build AI phone agents, custom booking experiences, or operational integrations on behalf of a Setora-connected barbershop or salon.

API at a glance

Base URL
https://rest.setora.co.uk/v1
Format
JSON · UTF-8
Auth
Bearer API key
Rate limit
120 req/min default, raise on request
Idempotency
Idempotency-Key on POST /bookings
Status
v1 · alpha

Quickstart

Authenticate with a Bearer token issued from the Hub, then call the API like any other JSON service. Every endpoint is scoped to the organisation that owns the API key, so keys never reach across orgs.

bashGET availability for a service
curl https://rest.setora.co.uk/v1/locations/soho/availability \
  -G \
  --data-urlencode "service_ids=2a7c9e34-58b1-41f6-8d92-6e4a3b0c7d15" \
  --data-urlencode "date=2026-05-12" \
  --data-urlencode "days=7" \
  -H "Authorization: Bearer sk_live_xxxxxxxxxxxxxxxxxxxxxxxx" \
  -H "Accept: application/json"
json200 OK
{
  "data": {
    "location_slug": "soho",
    "timezone": "Europe/London",
    "service_ids": ["2a7c9e34-58b1-41f6-8d92-6e4a3b0c7d15"],
    "duration": { "minutes": 30, "display": "30 mins" },
    "slots": [
      {
        "starts_at": "2026-05-12T09:00:00+01:00",
        "ends_at": "2026-05-12T09:30:00+01:00",
        "staff_id": "9b3e7d2c-4a1f-48e6-bc52-7f0a9d3b1e84"
      },
      {
        "starts_at": "2026-05-12T09:30:00+01:00",
        "ends_at": "2026-05-12T10:00:00+01:00",
        "staff_id": "9b3e7d2c-4a1f-48e6-bc52-7f0a9d3b1e84"
      },
      {
        "starts_at": "2026-05-12T10:00:00+01:00",
        "ends_at": "2026-05-12T10:30:00+01:00",
        "staff_id": "c1d4f8a2-6e3b-49d7-a085-2b8c5f1e7d39"
      }
    ]
  }
}

What you can build

AI phone receptionist

Answer inbound calls, check availability in real time, take a deposit, and confirm a booking without a human picking up.

Custom booking flows

Embed availability and booking in your own website, branded portal, kiosk, or in-store device.

Operational automations

Sync client records to a CRM, push bookings into a back-office tool, or trigger downstream workflows when an appointment is created.

Design principles

  • Predictable resources. Clients, services, staff and locations map cleanly to REST nouns. Resource IDs are UUIDs; bookings use a short, human-readable reference (for example SET-A1B2C3).
  • Local time, where it matters. Availability slots are returned in the location's local timezone. Booking timestamps are returned in ISO 8601 with offset.
  • Safe retries. POST /bookings supports an Idempotency-Key header for 24 hours. AI agents and webhook consumers can replay requests without creating duplicates.

Next steps