Get Upload Strategy (Direct or Presigned URL)
Returns the upload strategy for the requested object.
Local storage always returns direct upload endpoints. S3 storage may return either presigned or direct strategies depending on the S3_USE_PRESIGNED_URLS configuration.
Clients must determine the upload flow from the returned response, using the method field, rather than assuming behavior based on the configured storage backend.
The filename is used verbatim as the object key. Uploading to an existing key replaces the current object in place. To upload with a server-generated unique key instead, use POST /api/storage/buckets/{bucketName}/objects. End-user creates and replacements are gated by the storage.objects row-level-security policies.
Authorizations
Path Parameters
^[a-zA-Z0-9_-]+$Body
Response
Upload strategy details
Upload method. presigned is returned when S3 presigned URLs are enabled; direct is returned for local storage and S3 proxy mode.
presigned, direct "presigned"
URL to upload the file to
"https://s3-bucket.amazonaws.com/"
Final logical object key (the filename, used verbatim).
"profile-photo.jpg"
Whether the upload must be confirmed after completion. When false, clients must not call the confirm upload endpoint.
true
Form fields for presigned POST (S3 only)
Upload confirmation endpoint. Present only when confirmRequired is true.
"/api/storage/buckets/avatars/objects/profile.jpg/confirm-upload"
Expiration time for presigned URL (S3 only)
"2025-09-05T01:00:00Z"