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}/textQuick 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/servicesbash
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"
}'bashAPI 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
| Endpoint | Limit |
|---|---|
| POST /book (unauthenticated) | 10 requests / minute |
| POST /book (authenticated) | 100 requests / minute |
| GET /slots | 60 requests / minute |
Other GET endpoints are cached and do not enforce per-IP rate limits.
Next Steps
- Authentication— API key scopes, header format, and security best practices
- REST API Reference— full documentation for all 7 public endpoints