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.
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"{
"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-Keyheader for 24 hours. AI agents and webhook consumers can replay requests without creating duplicates.
Next steps
Step 01
Authentication →
Issue an API key, choose a scope, and learn how requests are signed and rate limited.
Step 02
Endpoint reference →
Locations, services, staff, availability, clients, and bookings. Every endpoint you need for v1.
Step 03
Conventions →
Idempotency, error format, rate limits, pagination, and timezone handling.
Step 04
Request alpha access →
v1 is in alpha. Email us with your use case and the shop you're integrating with, and we'll send a test key.