Skip to content

The bucket the project keeps its result files in

GET
/v1/projects/{id}/storage
curl --request GET \
--url https://beta-api.plune.ai/v1/projects/example/storage \
--cookie plune_session=<plune_session>

Every member of the project reads it, a reader too — the connection and what is known of it, never its Secret: { "configured": false } when none is connected, otherwise the provider, the bucket, the folder, the region, accessKeyLast4 (the last four characters of the access key id — not the whole of it), who connected it and when, and what the last check of it found. The project is the one in the path; a project you are not in answers 404, the same as one that does not exist. Session cookie only: a CLI token is refused with 401, because a leaked token must not be able to read — or, on the routes below, point — where a project’s files go.

id
required
string

An id from GET /v1/projects

The connection, or { "configured": false }

Media type application/json

The bucket of a project, as every member of it reads it. { "configured": false } when none is connected. The Secret is not in it, nor is the whole access key id.

object
configured
required
boolean
provider

Present exactly when configured is true, as every field below.

string
Allowed values: aws r2 s3
bucket
string
prefix
string
region

auto for r2.

string
accountId

r2 only.

string
endpoint

s3 only.

string
pathStyle
boolean
accessKeyLast4

Exactly the last four characters of the access key id: enough to tell two keys apart, not to use one.

string
>= 4 characters <= 4 characters
savedBy

userId of the owner who connected it.

string
savedAt
string format: date-time
verifiedAt

When the SAVED connection was last checked (POST …/test with no body); null if it never was, or since it last changed.

string format: date-time
nullable
verifyResult

What that check found; null when verifiedAt is.

object
ok
required
boolean
steps
required
Array<object>
object
step
required
string
Allowed values: reach write read cors public delete
result
required
string
Allowed values: ok failed skipped
code

Present exactly when result is failed.

string
Allowed values: unreachable tls bad_credentials no_bucket wrong_region write_denied read_denied delete_denied cors_missing unexpected
status

The HTTP status the bucket answered with, when it answered and the step did not want that. Never its body.

integer
warnings
required
Array<string>
Allowed values: bucket_public
Example
{
"configured": true,
"provider": "aws",
"bucket": "acme-test-results",
"prefix": "plune",
"region": "eu-central-1",
"pathStyle": false,
"accessKeyLast4": "MPLE",
"savedBy": "u-shop",
"savedAt": "2026-09-16T09:12:04.151Z",
"verifiedAt": null,
"verifyResult": null
}

No / invalid session — a CLI token is refused here

No such project among yours

Media type application/json
object
error
required
string
Example
{
"error": "project 'u-shop::default' not found"
}

The server has no key to keep Secrets under — the operator has not set STORAGE_ENCRYPTION_KEY

Media type application/json
object
error
required
string
Example
{
"error": "storage is not configured on this server — contact your operator"
}