The storage accounts (platform administrators)
const url = 'https://files.centralcodestation.com/api/v1/platform/storage-accounts';const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
try { const response = await fetch(url, options); const data = await response.json(); console.log(data);} catch (error) { console.error(error);}curl --request GET \ --url https://files.centralcodestation.com/api/v1/platform/storage-accounts \ --header 'Authorization: Bearer <token>'The platform storage of this environment (default) first, then the accounts created here. Credentials are never returned.
Authorizations
Section titled “Authorizations”Responses
Section titled “Responses”Success.
object
object
default (the platform storage of this environment) or a ULID.
The kind of account: a bucket account, filesystem for a directory account; local and memory are development only.
How the account’s objects are delivered.
object
Bucket accounts: the bucket.
Bucket accounts: the region (auto for stores without regions).
Bucket accounts: the endpoint of the object store; null is the platform’s default provider.
Bucket accounts: path-style addressing (most self-run object stores need it).
Bucket accounts: the public base URL of public copies (a CDN in front of the bucket); null is the bucket’s own URL.
Directory accounts (adapter: filesystem): the root directory, inside one of the roots the operator allowed.
Credentials are stored (encrypted, never returned).
The last four characters of the access key id.
Why the last verification failed.
Tenants assigned to the account.
Example
{ "items": [ { "status": "verified" } ]}Error. error is one of: invalid_token.
object
Stable snake_case error code.
Example
{ "status_code": 401, "error": "invalid_token", "message": "The bearer token is missing, malformed, expired, signed by an unknown key, or has the wrong audience (`aud` must be `files-api`).", "path": "/api/v1/tenants/fitness-co/applications/fitness-app/files/01J9Z6S9Q5F5R6Y2W2GZ3B3K4D", "timestamp": "2026-10-22T09:12:33.120Z"}Error. error is one of: insufficient_scope, client_context_mismatch, files_access_not_granted, platform_admin_required.
object
Stable snake_case error code.
Example
{ "status_code": 403, "error": "insufficient_scope", "message": "A user token lacks `files:access`, a machine token carries none of `files:manage`, `files:read`, `files:config.manage`, or the route needs a scope the token does not carry.", "path": "/api/v1/tenants/fitness-co/applications/fitness-app/files/01J9Z6S9Q5F5R6Y2W2GZ3B3K4D", "timestamp": "2026-10-22T09:12:33.120Z"}Error. error is one of: rate_limited.
object
Stable snake_case error code.
Example
{ "status_code": 429, "error": "rate_limited", "message": "Too many requests in the current window; `retry_after` (and the `Retry-After` header) says when to retry.", "path": "/api/v1/tenants/fitness-co/applications/fitness-app/files/01J9Z6S9Q5F5R6Y2W2GZ3B3K4D", "timestamp": "2026-10-22T09:12:33.120Z"}Error. error is one of: identity_unavailable.
object
Stable snake_case error code.
Example
{ "status_code": 503, "error": "identity_unavailable", "message": "The service could not reach the Identity Server and has no fresh cached answer.", "path": "/api/v1/tenants/fitness-co/applications/fitness-app/files/01J9Z6S9Q5F5R6Y2W2GZ3B3K4D", "timestamp": "2026-10-22T09:12:33.120Z"}default
Section titled “default”Error: see error for the code.
object
Stable snake_case error code.
Example
{ "status_code": 403, "error": "invalid_request", "message": "This client is not bound to this tenant/application", "path": "/api/v1/tenants/t1/applications/a1/files/01J9Z6S9Q5F5R6Y2W2GZ3B3K4D"}