Building Custom Booking Flows with the RZRV API: A Developer's Guide
Everything you need to integrate RZRV's scheduling API into your app. REST endpoints, webhooks, authentication, and real-world integration patterns.

Why use the API?
The RZRV booking page and AI chat handle most use cases out of the box — see the full RZRV feature set for what's included without any code. But sometimes you need scheduling deeply integrated into your own product:
- Custom booking UIs that match your brand exactly
- CRM integrations that sync appointments with your customer database
- Marketplace apps where multiple businesses list services
- Internal tools that staff use alongside other business systems
The RZRV API gives you full programmatic access to everything the dashboard does.
Authentication
Every API request requires an API key passed in the X-Api-Key header:
curl -H "X-Api-Key: your_api_key_here" \
https://api.rzrv.ai/api/v1/services
Generate API keys from your dashboard under Settings > API. Keys are scoped to your business and can be revoked anytime.
Core endpoints
Services
GET /api/v1/services # List all services
GET /api/v1/services/:id # Get service details
POST /api/v1/services # Create service
PUT /api/v1/services/:id # Update service
DELETE /api/v1/services/:id # Delete service
Staff
GET /api/v1/staff # List all staff
GET /api/v1/staff/:id # Get staff details + schedule
Availability
GET /api/v1/availability # Get available time slots
?service_id=...
&staff_id=... # Optional: specific staff
&date=2026-05-20 # Required: YYYY-MM-DD
This is the most important endpoint. It returns available slots accounting for:
- Staff schedules and break times
- Existing appointments
- Buffer times between services
- Calendar sync blocks (Google Calendar, Outlook)
Appointments
GET /api/v1/appointments # List appointments
POST /api/v1/appointments # Create appointment
GET /api/v1/appointments/:id # Get appointment details
PATCH /api/v1/appointments/:id # Update status
DELETE /api/v1/appointments/:id # Cancel appointment
Customers
GET /api/v1/customers # List customers
POST /api/v1/customers # Create customer
GET /api/v1/customers/:id # Get customer + history
Webhooks
Instead of polling for changes, subscribe to real-time events:
{
"url": "https://your-app.com/webhooks/rzrv",
"events": [
"appointment.created",
"appointment.confirmed",
"appointment.cancelled",
"appointment.completed",
"appointment.no_show"
],
"secret": "your_webhook_secret"
}
Every webhook delivery includes an HMAC signature in the X-Webhook-Signature header. Always verify it:
const crypto = require('crypto');
function verifyWebhook(payload, signature, secret) {
const expected = crypto
.createHmac('sha256', secret)
.update(payload)
.digest('hex');
return crypto.timingSafeEqual(
Buffer.from(signature),
Buffer.from(expected)
);
}
Common integration patterns
Pattern 1: Embedded booking widget
Use the public endpoints (no API key needed) to build a custom booking flow:
GET /api/public/business/:slug— Get services and staffGET /api/public/business/:slug/availability— Get time slotsPOST /api/public/business/:slug/book— Create the appointment
This is how the RZRV embeddable widget works internally.
Pattern 2: CRM sync
Subscribe to appointment webhooks and sync to your CRM:
appointment.created → Create CRM contact + activity
appointment.completed → Update CRM deal stage
appointment.no_show → Flag in CRM for follow-up
Pattern 3: Custom notifications
Disable RZRV's built-in notifications and handle them yourself:
- Subscribe to
appointment.createdwebhook - Send your own branded confirmation
- Implement your own reminder schedule — custom sequences are one of the most effective strategies for reducing appointment no-shows
- Track opens/clicks for optimization
Rate limits
- API key requests: 100 requests/minute
- Public endpoints: 30 requests/minute per IP
- Webhook deliveries: Retried 3 times with exponential backoff
What's next
The API is in active development. Coming soon:
- Batch operations for bulk appointment management
- Analytics endpoints for revenue and utilization data
- Calendar sync API for programmatic calendar connections
Check the full API reference at your dashboard's API Docs section, or explore interactively with our Scalar API explorer.
Not sure you need the API? Most businesses get everything they need from RZRV's built-in AI-powered scheduling — no code required.