Buckets
Lifecycle operations on the Bucket entity. See Core Concepts → Bucket for the type signature.
| RPC | HTTP |
|---|---|
CreateBucket | POST /admin/buckets |
GetBucket | GET /admin/buckets/:name |
ListBuckets | GET /admin/buckets |
UpdateBucket | PATCH /admin/buckets/:name |
DeleteBucket | DELETE /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
HTTP
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
HTTP
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
HTTP
curl -sS "https://k3.dev.dodil.io/admin/buckets?page_size=20&search=prod" \
-H "Authorization: Bearer $DODIL_TOKEN"Response
HTTP
{
"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
HTTP
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
HTTP
curl -sS -X DELETE "https://k3.dev.dodil.io/admin/buckets/kb-prod" \
-H "Authorization: Bearer $DODIL_TOKEN"Response
Empty (DeleteBucketResponse {}).
See also
- Core Concepts → Bucket — type signature + enums
- Policy · CORS · Objects
- Conventions — auth, headers, error envelope
grpcurlreference — full flag set + reflection-disabled fallbacks