Skip to main content

Reservly API Documentation

Build integrations with Reservly's booking platform. Use our REST API to check availability, manage bookings, and automate your workflow.

Base URL

All API requests use your business slug as part of the URL path. You can find your slug in Settings on your dashboard.

https://reservly.io/api/public/{your-business-slug}/
text

Quick Start

Three steps to your first API-powered booking. Replace luxe-salon with your own business slug.

Step 1: Get your services

Fetch the list of active services to find a service ID.

curl https://reservly.io/api/public/luxe-salon/services
bash

Step 2: Check availability

Query available time slots for a specific date and service. Both date and service_id are required.

curl "https://reservly.io/api/public/luxe-salon/slots?date=2026-04-15&service_id=SERVICE_ID"
bash

Step 3: Book an appointment

Create a booking by sending a POST request with the service, date, time, and customer details.

curl -X POST https://reservly.io/api/public/luxe-salon/book \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer rsvly_YOUR_API_KEY" \
  -d '{
    "service_ids": ["SERVICE_ID"],
    "date": "2026-04-15",
    "time": "10:00",
    "customer_name": "Jane Smith",
    "customer_email": "jane@example.com"
  }'
bash

API Key Setup

API keys are managed from your dashboard. Go to Settings → Integrations and click Generate API Key. Each key is scoped to control what it can access:

  • read— GET endpoints only
  • write— GET and POST endpoints
  • all— full access

Pass your key in the Authorization header as a Bearer token. See the Authentication page for full details.

Rate Limits

EndpointLimit
POST /book (unauthenticated)10 requests / minute
POST /book (authenticated)100 requests / minute
GET /slots60 requests / minute

Other GET endpoints are cached and do not enforce per-IP rate limits.

Next Steps