Code Buckets
Code Buckets API
Projects, buckets, chunked uploads, code preview, events and backups over HTTPS.
Base URL
Text
https://api.codebuckets.clatterlabs.xyzAll requests use HTTPS. Bodies are JSON, except chunk uploads and downloads (raw bytes). GET / describes the service without a key.
Authentication
Send your API key and your Account ID on every request. See Authentication.
HTTP
Authorization: Bearer clsk_...
X-Clatter-Account: CL-XXXXXXXXEndpoints
| Method | Path | Permission | |
|---|---|---|---|
GET | /v1/projects | buckets:read | List projects |
POST | /v1/projects | buckets:write | Create a project |
GET | /v1/projects/{project_id} | buckets:read | Get a project |
PATCH | /v1/projects/{project_id} | buckets:write | Update a project |
DELETE | /v1/projects/{project_id} | buckets:write | Delete a project |
GET | /v1/projects/{project_id}/events | buckets:read | List project events |
GET | /v1/projects/{project_id}/buckets | buckets:read | List buckets |
POST | /v1/projects/{project_id}/buckets | buckets:write | Create a bucket |
GET | /v1/buckets/{bucket_id} | buckets:read | Get a bucket |
PATCH | /v1/buckets/{bucket_id} | buckets:write | Update a bucket |
DELETE | /v1/buckets/{bucket_id} | buckets:write | Delete a bucket |
GET | /v1/buckets/{bucket_id}/events | buckets:read | List bucket events |
POST | /v1/buckets/{bucket_id}/uploads | buckets:write | Start an upload |
PUT | /v1/uploads/{upload_id}/chunks/{index} | buckets:write | Upload a chunk |
GET | /v1/uploads/{upload_id} | buckets:read | Get an upload |
POST | /v1/uploads/{upload_id}/complete | buckets:write | Complete an upload |
POST | /v1/uploads/{upload_id}/abort | buckets:write | Abort an upload |
GET | /v1/buckets/{bucket_id}/objects | buckets:read | List objects |
GET | /v1/buckets/{bucket_id}/objects/{object_id} | buckets:read | Get an object |
GET | /v1/buckets/{bucket_id}/objects/{object_id}/content | buckets:read | Download an object |
GET | /v1/buckets/{bucket_id}/objects/{object_id}/chunks/{index} | buckets:read | Download a chunk |
DELETE | /v1/buckets/{bucket_id}/objects/{object_id} | buckets:write | Delete an object |
GET | /v1/buckets/{bucket_id}/tree | buckets:read | Get the code tree |
GET | /v1/buckets/{bucket_id}/files/{path} | buckets:read | Get a file |
GET | /v1/buckets/{bucket_id}/backups | buckets:read | List backups |
POST | /v1/buckets/{bucket_id}/backups | backups:write | Create a backup |
GET | /v1/backups/{backup_id} | buckets:read | Get a backup |
POST | /v1/backups/{backup_id}/restore | backups:write | Restore a backup |
DELETE | /v1/backups/{backup_id} | backups:write | Delete a backup |
GET | /v1/usage | buckets:read | Get usage |
Response headers
| Header | Meaning |
|---|---|
X-Codebuckets-Tokens | Tokens this request used (Pricing) |
X-RateLimit-Limit | The key's per-minute limit |
X-Request-Id | Quote it when you contact support |
X-Content-SHA256 | On chunk downloads: the chunk's SHA-256 |
Objects and ids
Every JSON object has an object field (project, bucket, upload, object, event, backup, tree, file, list). Lists are { "object": "list", "data": [...], "has_more": bool }, newest first; page with before.
Versioning
The API version is a date, returned by GET / as version (currently 2026-10-28). Breaking changes get a new version and a changelog entry.
Was this page helpful?