Base URL
Authentication
Every request must include a valid session token:Endpoints
Sessions
| Method | Path | Description |
|---|---|---|
GET | /session | Get current session status |
POST | /session/spawn | Start a new container |
POST | /session/freeze | Freeze the active container |
POST | /session/restore | Restore a frozen container |
POST | /session/kill | Destroy the container |
Credentials
| Method | Path | Description |
|---|---|---|
GET | /credentials | List stored credentials |
POST | /credentials | Store an API key (encrypted) |
DELETE | /credentials/:id | Remove a credential |
Usage
| Method | Path | Description |
|---|---|---|
GET | /usage | Get token usage and cost for current period |
GET | /usage/history | Historical usage data |
WebSocket
| Path | Description |
|---|---|
/ws/terminal | Terminal session to your container |
/ws/gateway | ZeroClaw gateway connection (real-time chat) |
Session management
Detailed session lifecycle API.
Rate limits
| Plan | Requests per minute |
|---|---|
| Free | 30 |
| Pro | 120 |
| Ultra | 300 |
Error format
All errors return JSON with a consistent structure:| Code | HTTP Status | Description |
|---|---|---|
unauthorized | 401 | Missing or invalid auth token |
forbidden | 403 | Insufficient plan or permissions |
not_found | 404 | Resource doesn’t exist |
rate_limited | 429 | Too many requests |
server_error | 500 | Internal error |

