https://s3-blob.squarecloud.app. Any tool that lets you set a custom endpoint works: aws-cli, boto3, the AWS SDK for JavaScript, rclone, Cyberduck and most backup tools.
Credentials
S3 tools sign requests with an access key pair. Get it from S3 Credentials:blob:read gives a read-only pair.
The pair doesn’t change while the API key doesn’t change, so fetch it once and keep it in your secret manager or in an environment variable. Don’t call the route on every boot: it accepts 10 requests per hour.
Buckets
Your account sees three fixed buckets. You can’t create or delete buckets.
A key in the
public or private bucket is the object path without your user id: images/logo.png in the public bucket is the object pub/<user_id>/images/logo.png on the REST API. Files written over S3 appear on the REST API and in the dashboard, and the other way around.
Configuration
boto3 needs
signature_version="s3v4" for presigned URLs: without it, generate_presigned_url signs with the older SigV2, which the gateway doesn’t accept. Presigned URLs last up to 7 days (604800 seconds).Supported operations
Bucket policies, CORS, lifecycle, website, encryption, object lock, versions, logging, notifications, replication, ACL and tag writes,
GET by partNumber and browser POST form uploads answer 501 NotImplemented. Use account settings for lifecycle rules.
Keys
- Keys are literal paths. A key can have up to about 1000 bytes: the 1024-byte limit counts the account prefix too. A longer key answers
KeyTooLongError, and its message says the exact number of bytes you have. Segments can’t be empty,.or... - A 0-byte key ending in
/is a folder marker, the way the AWS console creates folders. - The served
Content-Typeis derived from the extension, as on the REST API. Executables are refused withInvalidArgumentand.html,.svgand.xmlare served as downloads.
Metadata, cache and expiry
x-amz-meta-*headers are kept on Pro and Enterprise (up to 5 keys and 512 bytes, otherwiseMetadataTooLarge). On other plans they are dropped.Cache-ControlandContent-Dispositionare kept. An uncachedCache-Control(no-cache,no-storeormax-age=0) outside Enterprise is refused withAccessDenied.- Rules per prefix apply to objects written over S3, including automatic deletion. A rule’s
max_sizeandextensionsapply to REST uploads only.
Limits
Past a limit the gateway answers
SlowDown (HTTP 503), and the AWS SDKs back off and retry on their own. S3 requests don’t count against your plan’s API request limit.
Check the key pair before retrying in a loop: an IP that sends too many invalid credentials is blocked for a few minutes.
Part size
Multipart tools split big files on their own; keep each part at 80 MB or less. The defaults of the AWS CLI (8 MB) and rclone (5 MB) already fit.legacy bucket, writes answer AccessDenied. Storage quota applies as on the REST API.

