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