Documentation

The API is S3-compatible. If your tooling already speaks S3, only the endpoint changes.

Authentication

Requests are signed with AWS Signature Version 4. Create an access key pair in the console, then export it the usual way.

export AWS_ACCESS_KEY_ID=CS0EXAMPLEKEYID
export AWS_SECRET_ACCESS_KEY=wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY
export AWS_DEFAULT_REGION=eu-central-1

Uploading objects

aws --endpoint-url https://s3.cloudstore.example \
    s3 cp report.pdf s3://project-assets/reports/2026-09.pdf

aws --endpoint-url https://s3.cloudstore.example \
    s3 sync ./public s3://project-assets/public --delete

Signed URLs

Generate a link that expires. The signature is computed locally, so the secret key never leaves your process.

aws --endpoint-url https://s3.cloudstore.example \
    s3 presign s3://project-assets/reports/2026-09.pdf --expires-in 3600

Lifecycle rules

Rules are evaluated once per day. Expired objects are removed asynchronously and stop being billed at removal time.

FieldTypeDescription
prefixstringKey prefix the rule applies to
expiration_daysintegerDelete objects older than N days
noncurrent_daysintegerDelete non-current versions after N days
abort_multipartintegerAbort incomplete uploads after N days

Limits

LimitValue
Maximum object size5 TB
Maximum single-part upload5 GB
Buckets per accountUnlimited
Key length1024 bytes