Code Buckets
Events
An ordered feed of everything that happens in a project or bucket. Code Buckets uses events instead of comments.
Every action that changes something writes an event: who did it, what changed, and when. Read a bucket's feed with List bucket events or a whole project's with List project events. The Console shows the same feeds on the project and bucket pages.
JSON
{
"object": "event",
"id": "cbe_7y2u5i8o1p4a6s9d3f0g",
"type": "backup.restored",
"summary": "Backup \"Before checkout rewrite\" restored, 1 objects brought back",
"project_id": "cbp_4k9x2m7q1n8v3c6z0b5w",
"bucket_id": "cbk_q7c1r9t2y6u0i3o8p5a4",
"actor": { "type": "api_key", "key_id": "key_7f3a…", "key_name": "CI" },
"data": { "backup_id": "cbb_h3g7f1d9s5a2q8w4e6r0", "ref": "3e8d0b7c…", "objects_mode": "keep", "revived": 1, "hidden": 0 },
"at": "2026-10-28T14:21:03.552Z"
}Event types
| Type | When |
|---|---|
project.created, project.updated, project.deleted | A project was created, renamed or deleted |
bucket.created, bucket.updated, bucket.deleted | A bucket was created (with its own AES-256-GCM data key), changed (name, preview) or deleted |
encryption.key_created | Older buckets only: the bucket's data key was created. New buckets note this in bucket.created |
upload.started | An upload was opened (name, size, chunks) |
upload.completed | All chunks arrived and the file was stored, encrypted |
upload.aborted | An unfinished upload was cancelled |
code.updated | A zip was unpacked into a new code tree (data.ref, files, skipped) |
code.update_failed | A zip couldn't be unpacked; it's still stored |
object.deleted | A stored zip or asset was deleted |
object.visibility_changed | A file was made public, private or set to follow its bucket (data.from, to, effective, public_url). See Public files |
bucket.visibility_changed | A bucket was made public or private (data.from, to, files_following) |
backup.created, backup.replaced, backup.deleted | Backups were made, replaced (Free tier) or deleted |
backup.restored | A backup was restored (data.ref, revived, hidden) |
Who did it
actor says where the change came from:
{ "type": "api_key", "key_id", "key_name" }: a request made with that API key,{ "type": "console" }: you, in the Console,{ "type": "system" }: Code Buckets itself (for example, finishing a preview).
Paging and filtering
Events come newest first, 50 per page by default (up to 100 with limit). When has_more is true, pass next_before as before to get older ones. Filter with type=backup.restored, or a prefix like type=upload..
Was this page helpful?