Base URL
All Storefront API endpoints live under a single base URL:/storefront — for example GET /storefront/products lists your bookable services. Responses are JSON with camelCase property names.
Make your first request
Get an API key
- Sign up at opencals.com and set up your store — services, staff members, locations, and schedules.
- In the dashboard, go to Settings → API Keys and create a new Storefront API Key.
- Each key is scoped to your store and starts with
sfk_.
Pagination
List endpoints acceptpage (1-indexed) and take (items per page, maximum 100) query parameters and return a meta object with page, take, itemCount, pageCount, hasPreviousPage, and hasNextPage.
Rate limits
Requests are rate-limited per API key:| Category | Limit |
|---|---|
| General | 100 requests / 60 seconds |
| Authentication | 20 requests / 10 seconds |
| Password reset | 5 requests / hour |
| Registration | 10 requests / minute |
429 Too Many Requests.
Timezones
All date and time values in requests and responses are in UTC. Availability endpoints accept a
timezone query parameter (for example America/New_York) so slots come back converted for display, and you should convert user-selected times back to UTC before creating appointments.Next steps
Authentication
API keys, customer tokens, and error responses.
Build a booking page
The full flow from listing services to a confirmed booking.
Storefront SDK
The typed TypeScript client for this API.
API reference
Every endpoint, parameter, and response shape.