Bewtee

REST API

Build bookings into your own app

The Bewtee API lets your server read a business's services, staff and open time slots, and create or cancel bookings. It speaks plain JSON over HTTPS and is scoped to one business per API key.

  • JSON over HTTPS
  • 120 requests per minute
  • Idempotent booking creation

Overview

A typical integration

  1. Step 1

    GET/services

    Show what can be booked

  2. Step 2

    GET/availability

    Offer times that are free

  3. Step 3

    POST/bookings

    Book the chosen slot

  4. Step 4

    HOOKWebhooks

    Hear when it is confirmed

Getting started

Base URL and authentication

All endpoints live under this base URL:

Base URL
https://api.bewtee.com/api/v1

Create an API key in the Developers section of your business dashboard and send it as a bearer token on every request:

Header
Authorization: Bearer bw_live_YOUR_API_KEY

Keep your key secret. API keys are for server-side use only. Never put a key in website JavaScript, a mobile app or a public repository. For a booking button on a website, use the booking widget instead.

Every response uses the same JSON envelope:

JSON
{
  "status": true,
  "message": "...",
  "data": { }
}

Reference

Endpoints

  • GET /business

    Business profile details for the key.

  • GET /services

    Services the business offers, with prices.

  • GET /staff

    Staff members who can be booked.

  • GET /availability

    Open time slots. Query: date=YYYY-MM-DD, service_ids[], optional staff_id.

  • GET /bookings

    List bookings.

  • POST /bookings

    Create a booking. Body: date, time, service_ids, optional staff_id, customer {name, phone, email}.

  • GET /bookings/{id}

    Fetch one booking.

  • POST /bookings/{id}/cancel

    Cancel a booking.

Examples

Try it with curl

List services

curl
curl https://api.bewtee.com/api/v1/services \
  -H "Authorization: Bearer bw_live_YOUR_API_KEY" \
  -H "Accept: application/json"

Check availability

Pass the date and the services the customer wants. Add staff_id to check one staff member.

curl
curl -G https://api.bewtee.com/api/v1/availability \
  -H "Authorization: Bearer bw_live_YOUR_API_KEY" \
  -H "Accept: application/json" \
  --data-urlencode "date=2026-11-15" \
  --data-urlencode "service_ids[]=101"

Create a booking

A new booking starts as pending. It is confirmed automatically if the business auto-accepts bookings. Otherwise the business accepts or declines it. Send an optional Idempotency-Key header so a retried request does not create a second booking.

curl
curl -X POST https://api.bewtee.com/api/v1/bookings \
  -H "Authorization: Bearer bw_live_YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -H "Accept: application/json" \
  -H "Idempotency-Key: 6f1c2a9e-order-4821" \
  -d '{
    "date": "2026-11-15",
    "time": "11:00",
    "service_ids": [101],
    "staff_id": 7,
    "customer": {
      "name": "Asha",
      "phone": "98XXXXXXXX",
      "email": "[email protected]"
    }
  }'

The response is the booking:

Response 201
{
  "status": true,
  "message": "Booking created.",
  "data": {
    "id": 9812,
    "status": "accepted",
    "date": "2026-11-15",
    "time": "11:00",
    "amount": { "subtotal": 1200, "discount": 0, "total": 1200, "currency": "INR" },
    "customer": { "id": 77, "name": "Asha", "phone": "98XXXXXXXX" },
    "services": [
      { "service_id": 101, "name": "Haircut", "price": 1200, "duration_minutes": 45, "quantity": 1, "staff_id": 7 }
    ]
  }
}

Limits

Limits and errors

120 requests per minute

Per API key. A 429 reply tells you how long to wait.

409 slot_unavailable

The time was taken. Fetch availability again and offer another slot.

422 validation_failed

A field is missing or wrong. The reply lists the fields.

To hear about booking changes without polling, use webhooks. Request and response fields, error codes and more examples are in the full API documentation.

Ready to connect Bewtee?

Everything is set up from the Developers section of your business dashboard. It is free for Bewtee businesses.

New to Bewtee? See what the salon software does

Found something wrong? Report an error

Login

Use your mobile number to view and manage your bookings.

+91

Enter the code we sent to +91 on WhatsApp.