Skip to main content
Named object-storage buckets, listed per organization. A bucket scoped to a project is usable only there; an organization-level shared bucket is usable from every project. Storage operations address a bucket by name via their bucket query parameter; without one they keep the original per-environment scope.

buckets.list

List all of the organization’s buckets — project-scoped ones (each annotated with its project’s slug) and organization-level shared ones (project null). Every project starts with a default bucket named after its slug.
  • Auth: Organization API key (Authorization: Bearer korve_...) or dashboard session.
  • Minimum role: member
  • Risk: read

Example

Responses

Response body (200)

An array of objects with these fields:

buckets.create

Create a bucket. Scope it to one project by passing that project’s id or slug, or omit project for an organization-level shared bucket usable from every project. Names follow project-slug rules and are unique per organization.
  • Auth: Organization API key (Authorization: Bearer korve_...) or dashboard session.
  • Minimum role: admin
  • Billing: requires active organization billing — returns 402 otherwise.
  • Risk: write

Request body

Example

Responses

Response body (201)

buckets.delete

Delete an empty bucket. A bucket that still holds any object answers 409 (BUCKET_NOT_EMPTY) — delete its objects first; bucket deletion never deletes data. Objects under the project’s original per-environment scope are unaffected either way.
  • Auth: Organization API key (Authorization: Bearer korve_...) or dashboard session.
  • Minimum role: admin
  • Risk: destructive

Path parameters

Example

Responses