Create Presigned Upload
Upload
Create Presigned Upload
Get a short-lived URL to upload file bytes straight to storage, bypassing the API.
POST
Create Presigned Upload
Use this instead of Upload Media for large
files and browser uploads — the bytes go directly to storage and never pass
through the Dreep API.
The flow is three steps:
POST /api/v1/upload/presign→ returns anidand anuploadUrl.PUTthe raw file bytes touploadUrl, with aContent-Typematching thecontentTypeyou declared.POST /api/v1/upload/{id}/confirmto finalize the asset.
pending and is excluded from media listings.
Destination
The destination folder is named exactly as it is for a direct upload — withfolder, key, or folderId — and missing folders are created for you. When
you pass a key, its last segment supplies the filename, so filename becomes
optional. See Folders & Paths.
Skipping the upload for content Dreep already has
SendcontentHash (the SHA-256 of the file). If it matches content already in
storage, the response has "alreadyExists": true and no uploadUrl — skip the
PUT and go straight to confirm.
Authorizations
Bearer authentication header of the form Bearer <token>, where <token> is your auth token.
Body
application/json
Example:
"image/webp"
Example:
438720
Name to store the file under. Optional when key is given, since the key's last segment supplies it.
Example:
"me.webp"
Slug path of the destination folder. Missing folders are created.
Example:
"avatars/2024"
Full S3-style object key (folder path + filename).
Example:
"avatars/2024/me.webp"
UUID of an existing destination folder.
Available options:
true, false Target format to re-encode to on confirm.
SHA-256 of the file, used to skip re-uploading content Dreep already has.