Skip to Content
We are live but in Staging 🎉

Buckets

Lifecycle operations on the Bucket entity. See Core Concepts → Bucket for the type signature.

RPCHTTP
CreateBucketPOST /admin/buckets
GetBucketGET /admin/buckets/:name
ListBucketsGET /admin/buckets
UpdateBucketPATCH /admin/buckets/:name
DeleteBucketDELETE /admin/buckets/:name

gRPC setup — grpcurl, endpoints, reflection, and field-name casing — is covered once in Conventions → Using gRPC.

CreateBucket

Creates a new bucket scoped to the caller’s org. access_mode defaults to BUCKET_ACCESS_MODE_PRIVATE; storage_quota_bytes: 0 means unlimited.

Request

curl -sS -X POST "https://k3.dev.dodil.io/admin/buckets" \ -H "Authorization: Bearer $DODIL_TOKEN" \ -H "Content-Type: application/json" \ -d '{ "name": "kb-prod", "description": "Production knowledge base", "storageQuotaBytes": "0", "accessMode": "BUCKET_ACCESS_MODE_PRIVATE" }'

Response

A Bucket row — see Core Concepts → Bucket.

GetBucket

Request

curl -sS "https://k3.dev.dodil.io/admin/buckets/kb-prod" \ -H "Authorization: Bearer $DODIL_TOKEN"

Response

A Bucket row — see Core Concepts → Bucket.

ListBuckets

Optional query params (snake_case): page_size, page_token, search (case-insensitive name/description filter).

Request

curl -sS "https://k3.dev.dodil.io/admin/buckets?page_size=20&search=prod" \ -H "Authorization: Bearer $DODIL_TOKEN"

Response

{ "buckets": [ { "name": "kb-prod", "description": "Production knowledge base", "storageQuotaBytes": "0", "accessMode": "BUCKET_ACCESS_MODE_PRIVATE", "storageUsedBytes": "12483920", "objectCount": "1247" } ], "pagination": { "nextPageToken": "", "totalCount": "1" } }

UpdateBucket

Patches mutable fields. All body fields are optional — only the ones you send change. *_count and storage_used_bytes are server-maintained and ignored on update.

Request

curl -sS -X PATCH "https://k3.dev.dodil.io/admin/buckets/kb-prod" \ -H "Authorization: Bearer $DODIL_TOKEN" \ -H "Content-Type: application/json" \ -d '{ "description": "Renamed", "accessMode": "BUCKET_ACCESS_MODE_PUBLIC" }'

Response

A Bucket row — see Core Concepts → Bucket.

DeleteBucket

Request

curl -sS -X DELETE "https://k3.dev.dodil.io/admin/buckets/kb-prod" \ -H "Authorization: Bearer $DODIL_TOKEN"

Response

Empty (DeleteBucketResponse {}).


See also