Simple Schedule API
Welcome to the Simple Schedule API documentation. This API provides a robust, multi-tenant calendar booking system with configurable time slots, availability management, and closure handling.
Key Features
- Organization Isolation - Each API key is scoped to your organization's data
- Configurable Granularity - 15, 30, or 60-minute booking slots
- Working Hours - Define operating hours per day of week
- Availability Queries - Get available time slots
- One-time Closures - Block specific time ranges
- Recurring Closures - iCal RRULE format for recurring blocks (holidays, maintenance)
Quick Links
| Section | Description |
|---|---|
| Quick Start | Get up and running in minutes |
| Authentication | Learn about API key authentication |
| Timezone Guide | How to handle timezones and cross-timezone bookings |
| API Reference | Complete endpoint documentation |
| Data Models | Request/response schemas |
Base URL
API Endpoints Overview
| Resource | Endpoints |
|---|---|
| Health | GET /health |
| Calendars | POST, GET, PATCH, DELETE /calendars |
| Bookings | POST, GET, PATCH, DELETE /calendars/{id}/bookings, GET .../bookings/{id}/ics |
| Availability | GET /calendars/{id}/availability/day, GET /calendars/{id}/availability/week |
| Closures | POST, GET, DELETE /calendars/{id}/closures |
| Recurrence Rules | POST, GET, DELETE /calendars/{id}/recurrence-rules |
Response Format
All API responses follow a consistent JSON format:
Error Handling
Errors are returned with appropriate HTTP status codes and a JSON body:
| Status Code | Description |
|---|---|
| 400 | Bad Request - Invalid parameters |
| 401 | Unauthorized - Missing or invalid API key |
| 404 | Not Found - Resource doesn't exist |
| 409 | Conflict - Resource conflict (e.g., overlapping booking) |
| 429 | Too Many Requests - Rate limit exceeded |
| 500 | Internal Server Error |