Storage

Storage reference

S3-compatible buckets backed by MinIO. Uploads go direct to MinIO via presigned URLs.

Endpoints

MethodPathScopeDescription
POST/dashboard/storage/bucketsstorage:writeCreate a bucket.
POST/dashboard/storage/buckets/{name}/presign-putstorage:writeRequest a presigned PUT URL for a single-part upload.
POST/dashboard/storage/buckets/{name}/multipart/startstorage:writeStart a multipart upload (files > 100 MB).

Quickstart

# 1. Presign
curl -X POST https://api.valienz.io/dashboard/storage/buckets/my-bucket/presign-put \
  -H "Authorization: Bearer $VALIENZ_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"key":"hello.txt","contentType":"text/plain","size":5}'

# 2. Upload to the returned URL
curl -X PUT --data-binary @hello.txt \
  -H "Content-Type: text/plain" \
  "<url-from-step-1>"

Notes

  • S3-compatible access keys

    Issue from /storage/access-keys. Use any S3 client (aws-cli, boto3, mc). The reveal dialog ships ready-to-paste config snippets for each.

  • Multipart threshold

    Files > 100 MB switch to multipart automatically when using the dashboard or our SDK. Direct API callers should call /multipart/start when their file exceeds the threshold.

Errors

CodeHTTPDescriptionResolution
E_BUCKET_EXISTS409Bucket name already taken (S3 naming rules).Pick another name. Names are tenant-scoped but globally unique within the underlying MinIO.
E_OBJECT_NOT_FOUND404Object not in the bucket.Check the key (case-sensitive) or list the prefix.