/projects/{project_id}/branches/{branch_id}/storageGet branch object storage stateReturns whether branchable object storage is usable for the specified branch. A 200 response means the branch is registered in the object storage service and the S3 data plane will accept requests for it. A 404 response includes a reason field indicating why object storage is unavailable.
Note: This endpoint is currently in Beta.
Parameters
project_idstringpathrequiredThe Neon project ID
branch_idstringpathrequiredThe Neon branch ID
Responses
enabledbooleanrequiredAlways `true` in 200 responses. Present for forward compatibility: a future version may add intermediate states; callers should treat `true` as "object storage is usable for this branch right now."
force_path_stylebooleanrequiredWhether the S3 client must use path-style addressing (bucket-in-path rather than virtual-hosted subdomain). Always true: the wildcard TLS cert covers one level of subdomain (*.storage.<suffix>), so the branch ID occupies that label and the bucket name must travel in the request path, not as a further subdomain. Callers must set the S3 SDK's ForcePathStyle (or equivalent) to true.
regionstringrequiredThe AWS region for this branch's object storage. The platform normalizes the us-east-1 convention server-side: a non-empty region string is always returned in 200 responses (e.g. `"us-east-1"` for the S3 default region).
s3_endpointstring · urirequiredThe S3-compatible endpoint URL for this branch.
{
"enabled": true,
"force_path_style": true,
"region": "us-east-2",
"s3_endpoint": "https://br-cool-moon-42.storage.c-2.local.neon.build"
}codestringrequiredmessagestringrequiredreasonstringrequiredMachine-readable reason why object storage is unavailable: - `org_not_entitled`: the org's `PlatformBranchableStorage` feature flag is off. - `region_unavailable`: the project's region has no object storage admin service wired. - `branch_directory_missing`: the branch is not registered in the object storage service. - `branch_not_found`: the project or branch does not exist, or the caller does not have access to it.
{
"code": "STORAGE_NOT_ENABLED",
"message": "string",
"reason": "branch_directory_missing"
}codestringrequiredmessagestringrequiredError message
request_idstringUnique identifier for the request, useful for debugging. You can set this value manually by including an `X-Request-ID` header in the request. If not provided, the value will be generated automatically.
{
"code": "",
"message": "string",
"request_id": "string"
}