Storage Connections
REST API for managing external S3-compatible storage connections.
#Storage Connections API
Manage external S3-compatible connection profiles for use in automation flows.
Base path: /api/v1/storage-connections (the bare /api/storage-connections alias is deprecated)
#List all connections
GET /api/v1/storage-connections
Returns all storage connections for the authenticated user's project. Secret keys are never included in the response.
Response
{
"data": [
{
"id": "sc_abc123",
"label": "Production R2",
"provider": "r2",
"endpoint": "https://abc123.r2.cloudflarestorage.com",
"region": "auto",
"bucketName": "my-bucket",
"accessKeyId": "AKIA...",
"createdAt": 1719705600,
"updatedAt": 1719705600
}
]
}
#Get a single connection
GET /api/v1/storage-connections/:id
Returns a single connection by ID (without the secret key).
#Create a connection
POST /api/v1/storage-connections
Body
| Field | Type | Required | Description |
|---|---|---|---|
label |
string | Yes | Friendly name |
provider |
r2 | s3 | minio |
No | Default: s3 |
endpoint |
string | Yes | S3-compatible endpoint URL |
region |
string | No | Default: auto |
bucketName |
string | Yes | Target bucket name |
accessKeyId |
string | Yes | Access key ID |
secretKey |
string | Yes | Secret access key (encrypted at rest) |
Response
{
"data": {
"id": "sc_abc123",
"label": "Production R2",
"provider": "r2",
"endpoint": "https://abc123.r2.cloudflarestorage.com",
"region": "auto",
"bucketName": "my-bucket",
"accessKeyId": "AKIA...",
"createdAt": 1719705600,
"updatedAt": 1719705600
}
}
#Update a connection
PUT /api/v1/storage-connections/:id
Body
All fields are optional. If secretKey is omitted, the existing secret key is preserved.
| Field | Type | Description |
|---|---|---|
label |
string | Updated label |
provider |
r2 | s3 | minio |
Updated provider |
endpoint |
string | Updated endpoint URL |
region |
string | Updated region |
bucketName |
string | Updated bucket name |
accessKeyId |
string | Updated access key ID |
secretKey |
string | New secret key (leave blank to keep current) |
#Delete a connection
DELETE /api/v1/storage-connections/:id
Deletes the connection permanently. This does not affect any files in the bucket — it only removes the connection profile from EmuView.
Response: 204 No Content