---
title: "The buckets an existing connection can see"
method: GET
path: "/storage/buckets"
tags: ["Storage"]
---

# The buckets an existing connection can see

`GET /storage/buckets`

Names only, read through a connection this org already has, so the next bucket can be picked from a list instead of typed. Empty is ordinary rather than an error: an org with no connection on that provider, an AWS role granted before s3:ListAllMyBuckets existed, the bucket-scoped IAM policy we print, or an R2 token scoped to one bucket. The form falls back to a typed name in every one of those cases.

## Query parameters

- `provider` 's3' | 'r2' — Which of this org's connections to ask. Only providers whose account root answers a bucket listing.

## Response `200`

Bucket names

- object
  - `data` object, required
    - `buckets` string[], required

## Other responses

- `401` — Unauthorized
- `403` — Missing scope or role

## Changes

- **2026-09-13** `e2df91eff7a2` — 1 info
  - endpoint added

[Change history](https://skmtc.dev/rendobar/apis/rendobar-api/changes/storage/buckets/get.md)

---

[API](https://skmtc.dev/rendobar/apis/rendobar-api.md) · [All operations](https://skmtc.dev/rendobar/apis/rendobar-api/llms.txt) · [OpenAPI document](https://skmtc.dev/rendobar/apis/rendobar-api/revisions/420f0f5209ca?raw)
