Create S3 storage connection

Creates a new S3-compatible storage connection with inline connectivity validation.

Body Params
string
required

S3 access key ID.

string | null

Bucket name. For Linode virtual-hosted endpoints this is derived from
the host; if supplied it must match. For Linode bare-regional endpoints
this is required (use this shape for dotted bucket names). For MinIO
this is always required.

config
object
required

Provider-specific configuration (e.g., {"force_path_style": true} for MinIO).

string
required

Contract ID.

string
required

Human-readable name for the connection.

string
required

S3-compatible endpoint URL. For Linode: virtual-hosted
https://<bucket>.<region>.linodeobjects.com or bare regional
https://<region>.linodeobjects.com (with body bucket). For MinIO:
http://<host>[:<port>] or https://<host>[:<port>]. Surrounding
whitespace and any trailing / are stripped before normalization.
Detailed validation lives in the service layer so error responses use
invalid_endpoint with provider-specific detail.

string | null

Optional folder (prefix) within the bucket. Leading/trailing ASCII
spaces are trimmed; leading/trailing / are stripped; consecutive /
are rejected. Maximum normalized length is 944 characters (leaves
room for the validation sub-key within S3's 1024-byte object-key
limit). Missing, JSON null, and empty string all create the empty
prefix.

string
required

Group ID.

string
enum

Storage provider. Defaults to "linode". Set to "minio" for local dev only.

Allowed:
string | null

Region. Ignored for Linode (always derived from the endpoint host).
For MinIO, optional; defaults to us-east-1 when omitted or empty.

string
required

S3 secret access key.

Responses

Language
Credentials
Bearer
JWT
URL
LoadingLoading…
Response
Click Try It! to start a request and see the response here! Or choose an example:
application/json