Introduction
Slatis is a scheduling platform. Book meetings, route them to the right person automatically, and track real capacity in one place. The public API and SDK give developers programmatic access to the entire platform.
Our platform handles the full scheduling layer: book meetings, route them to the right person automatically, and track your team's real capacity in one place. Not just open slots on a calendar.
The public API gives you programmatic access to every part of the platform. Embed booking flows, react to confirmations in real time, query live availability, or pull scheduling data into your own systems.
Quickstart
Create your first booking in three steps
Authentication
API keys, scopes, and key types
SDK
TypeScript SDK + React hooks
API Reference
Interactive endpoint explorer
Webhooks
Real-time event delivery with signing
Calendars
Read calendar integrations and sync status
Base URL
All paths in this reference are appended to this base URL. For local development, point the SDK to your local server:
Authentication
All requests require an API key in the Authorization header or X-API-Key:
Two key types are supported:
| Type | Prefix | Use case |
|---|---|---|
| Secret key | sk_live_* / sk_test_* | Server-to-server. Full scope access including write operations. |
| Public key | pk_live_* / pk_test_* | Client-side (browser). Safe for bookings, availability, and event type reads. |
Never expose a secret key (sk_*) in client-side code or public repositories. Use public keys
(pk_*) for browser contexts.
Request headers
| Prop | Type | Default |
|---|---|---|
Authorization | string | - |
X-API-Key | string | - |
Idempotency-Key | string | - |
X-Request-Id | string | - |
Content-Type | string | "application/json" |
Tracing requests
Every response echoes back a X-Request-Id header. If you provide your own value in the request, the same value is returned. If you omit it, Slatis generates one automatically.
Use this ID to correlate your application logs with Slatis server-side logs when filing a support request or debugging a production incident. All audit log entries are indexed by this ID.
Slatis support can look up any request by its X-Request-Id value. Include it when reporting
unexpected behavior.
Rate limits
Limits are per API key, based on key environment:
| Environment | Limit |
|---|---|
Live (*_live_*) | 1,000 requests / minute |
Test (*_test_*) | 100 requests / minute |
Every authenticated response includes rate limit headers:
Body size limit
POST, PATCH, and PUT requests are limited to 256 KB. Requests exceeding this return 413 Payload Too Large.
Response format
All responses use a consistent envelope with a named top-level resource key:
Error codes
| Status | Code | Meaning |
|---|---|---|
| 400 | validation_error | Request data is invalid |
| 401 | unauthorized | Missing or invalid API key |
| 403 | forbidden | Key lacks the required scope or origin not allowed |
| 404 | not_found | Resource not found |
| 409 | conflict | Invalid state transition or duplicate |
| 413 | payload_too_large | Body exceeds 256 KB |
| 429 | rate_limit_exceeded | Rate limit reached |
| 500 | internal_error | Unexpected server error |