Developer

v1

API REFERENCE

Manage bookings, clients, services, and staff programmatically. Available on the Empire plan.

API access requires an Empire plan

OVERVIEW

The BarberBoost REST API lets you read and write data in your shop programmatically — integrate with your own systems, build custom workflows, or sync with third-party tools.

Base URL

https://barberboost.app/api/v1

All requests and responses use JSON. Dates are returned in ISO 8601 format (2026-04-25T14:00:00Z).

AUTHENTICATION

Authenticate using a Bearer token in the Authorization header. Generate your API key from Settings → Account → API Keys.

bash
curl https://barberboost.app/api/v1/bookings \
  -H "Authorization: Bearer bb_live_xxxxxxxxxxxxxxxxxxxx"

Keep your API key secret — treat it like a password. Rotate it from your settings at any time. Each shop has one API key.

RATE LIMITS

Requests are limited to 300 per minute per API key. Rate limit headers are included on every response:

http
X-RateLimit-Limit: 300
X-RateLimit-Remaining: 287
X-RateLimit-Reset: 1745600460

When you exceed the limit, requests return 429 Too Many Requests. Back off and retry after the time indicated in X-RateLimit-Reset.

BOOKINGS

Retrieve, create, and cancel bookings in your shop.

GET/bookings

List all bookings. Supports filtering by date range, staff, and status.

bash
curl https://barberboost.app/api/v1/bookings?date=2026-04-25 \
  -H "Authorization: Bearer bb_live_xxxx"
json
{
  "data": [
    {
      "id": "bkg_01jvz3m8xk",
      "client": { "id": "clt_01jvz2b", "name": "Marcus Reid", "phone": "+447700900123" },
      "service": { "id": "svc_01jvz1a", "name": "Fade & Beard", "duration": 45, "price": 2500 },
      "staff": { "id": "stf_01jvz0f", "name": "Jordan" },
      "starts_at": "2026-04-25T14:00:00Z",
      "ends_at": "2026-04-25T14:45:00Z",
      "status": "confirmed"
    }
  ],
  "total": 1
}
POST/bookings

Create a new booking.

bash
curl -X POST https://barberboost.app/api/v1/bookings \
  -H "Authorization: Bearer bb_live_xxxx" \
  -H "Content-Type: application/json" \
  -d '{
    "client_id": "clt_01jvz2b",
    "service_id": "svc_01jvz1a",
    "staff_id": "stf_01jvz0f",
    "starts_at": "2026-04-26T10:00:00Z"
  }'
DELETE/bookings/:id

Cancel a booking by ID. The client is notified automatically.

bash
curl -X DELETE https://barberboost.app/api/v1/bookings/bkg_01jvz3m8xk \
  -H "Authorization: Bearer bb_live_xxxx"

CLIENTS

Read and manage your client database.

GET
/clients

List all clients. Supports search by name or phone.

GET
/clients/:id

Get a single client with full visit history.

POST
/clients

Create a new client record.

PATCH
/clients/:id

Update client details (name, email, phone, tags).

SERVICES

Read your service menu.

GET
/services

List all active services.

GET
/services/:id

Get a service including pricing and assigned staff.

STAFF

Read staff profiles and availability.

GET
/staff

List all staff members.

GET
/staff/:id/availability

Get available slots for a staff member on a given date.

ERRORS

The API uses standard HTTP status codes. Errors include a machine-readable code and a human-readable message.

json
{
  "error": {
    "code": "SLOT_UNAVAILABLE",
    "message": "The requested time slot is no longer available."
  }
}
200OKRequest succeeded.
201CreatedResource created successfully.
400Bad RequestInvalid parameters. Check the error code for details.
401UnauthorisedMissing or invalid API key.
403ForbiddenYour plan does not support API access.
404Not FoundThe requested resource does not exist.
429Too Many RequestsRate limit exceeded. Retry after X-RateLimit-Reset.
500Server ErrorSomething went wrong on our end. Check status.barberboost.app.

Empire plan

UNLOCK API ACCESS

API access is included on the Empire plan. Upgrade to get your API key and start building.

View Empire plan