API Reference
Integrate QuoteLab with your existing tools using our REST API. Available on Business and Enterprise plans.
Overview
The QuoteLab API is a RESTful API that returns JSON responses. Public endpoints are available without authentication for widget functionality. Business endpoints require authentication via API key or session token. All timestamps are returned in ISO 8601 format (UTC).
Base URL
https://quotelab.io/api/v1Authentication
Authenticated endpoints require an API key passed in the x-api-key header. You can generate an API key from your dashboard under Settings → API. Keep your API key secret and never expose it in client-side code.
curl -H "x-api-key: your_api_key_here" \
https://quotelab.io/api/v1/business/bookingsKey Endpoints
Public Endpoints
No authentication required. Rate limited to 30 requests per minute per IP.
| Method | Endpoint | Description |
|---|---|---|
| GET | /public/businesses/:slug/config | Vertical config, services, pricing rules, and branding |
| GET | /public/businesses/:slug/availability | Available time slots for a date range |
| POST | /public/businesses/:slug/quotes | Calculate and save a quote |
| POST | /public/businesses/:slug/bookings | Create a new booking |
| POST | /public/businesses/:slug/leads | Capture a lead (quote interest, no booking) |
| GET | /public/businesses/:slug/reviews | Public reviews (paginated) |
Business Endpoints
Requires API key authentication. Rate limited to 120 requests per minute.
| Method | Endpoint | Description |
|---|---|---|
| GET | /business/bookings | List bookings (filterable by status, date, team member) |
| GET | /business/bookings/:id | Get booking details |
| PATCH | /business/bookings/:id | Update booking (reschedule, reassign, notes) |
| GET | /business/customers | List customers (search, sort, filter by tags) |
| GET | /business/customers/:id | Customer profile with booking history |
| GET | /business/quotes | List quotes (filterable by status) |
| GET | /business/services | List services with pricing rules |
| GET | /business/analytics/overview | Revenue, bookings, conversion, and trends |
Webhooks
Webhooks let you receive real-time notifications when events occur in your account. Register a webhook endpoint in your dashboard under Settings → Integrations → Webhooks. All webhook payloads include an X-QuoteLab-Signature header for HMAC-SHA256 verification.
| Event | Description |
|---|---|
| booking.created | A new booking was created |
| booking.completed | A booking was marked complete |
| booking.cancelled | A booking was cancelled |
| payment.deposit_received | A deposit payment was received |
| payment.balance_received | A balance payment was received |
| customer.created | A new customer was created |
| review.created | A new review was submitted |
| quote.created | A new quote was generated |
Rate Limits
To ensure reliability for all users, the API enforces the following rate limits. Exceeding these limits returns a 429 Too Many Requests response with a Retry-After header.
| Endpoint Type | Limit |
|---|---|
| Public endpoints | 30 requests per minute per IP |
| Authenticated endpoints | 120 requests per minute per API key |
| Booking creation | 5 requests per minute per IP |
API access is available on Business and Enterprise plans. View pricing or contact us for questions.
