Base URL: https://api.chalk.q9labs.ai/api/v1
Authentication
All requests require an API key in the X-API-Key header:
X-API-Key: chalk_abc123...
See Authentication for token-based auth.
Endpoints
Tenants
| Method | Endpoint | Description |
|---|
| POST | /tenants | Create tenant |
| GET | /tenants/:id | Get tenant |
| PATCH | /tenants/:id | Update tenant |
| DELETE | /tenants/:id | Delete tenant |
| POST | /tenants/:id/rotate-key | Rotate API key |
| PATCH | /tenants/:id/config | Update config |
Authentication
| Method | Endpoint | Description |
|---|
| POST | /auth/token | Exchange API key for JWT |
| POST | /auth/refresh | Refresh JWT tokens |
Rooms
| Method | Endpoint | Description |
|---|
| POST | /rooms | Create room |
| GET | /rooms | List rooms |
| GET | /rooms/:id | Get room |
| PATCH | /rooms/:id | Update room |
| DELETE | /rooms/:id | Delete room |
| POST | /rooms/:id/end | End room |
Participants
| Method | Endpoint | Description |
|---|
| POST | /rooms/:id/participants | Add participant |
| GET | /rooms/:id/participants | List participants |
| DELETE | /rooms/:id/participants/:pid | Remove participant |
| POST | /rooms/:id/participants/:pid/token | Refresh token |
| POST | /rooms/:id/participants/bulk | Bulk add participants |
Recordings
| Method | Endpoint | Description |
|---|
| POST | /rooms/:id/recordings/start | Start recording |
| POST | /rooms/:id/recordings/stop | Stop recording |
| POST | /rooms/:id/recordings/sync | Sync from Cloudflare |
| GET | /recordings | List recordings |
| GET | /recordings/:id | Get recording |
| GET | /recordings/:id/download | Get download URL |
| POST | /recordings/:id/archive | Archive recording |
| POST | /recordings/:id/recover | Recover recording |
| DELETE | /recordings/:id | Delete recording |
Transcription
| Method | Endpoint | Description |
|---|
| POST | /recordings/:id/transcribe | Queue transcription |
| GET | /recordings/:id/transcript | Get transcript |
| GET | /transcription/:id | Get transcript by ID |
| GET | /transcription/providers | List providers |
WebSocket
| Method | Endpoint | Description |
|---|
| GET | /ws | WebSocket connection |
Successful responses return the resource directly:
Errors
| HTTP Status | Description |
|---|
| 400 | Bad request |
| 401 | Unauthorized |
| 403 | Forbidden |
| 404 | Not found |
| 409 | Conflict |
| 500 | Internal error |