Next, you will upload the actual files by making a PUT request to the generated presigned URL you got in the previous API - POST /api/v1/assets/developer-generate-presigned-url/. This URL is a secure, 15 minutes limited link that allows you to send the file directly to the storage server.
Upload File using Presigned URL
put
Query parameters
X-Amz-AlgorithmstringRequired
X-Amz-CredentialstringRequired
X-Amz-DatestringRequired
X-Amz-ExpiresintegerRequired
X-Amz-SignedHeadersstringRequired
X-Amz-SignaturestringRequired
Header parameters
Content-TypestringOptionalExample: image/jpeg
Body
string · binaryOptional
Responses
200
Upload File using Presigned URL
put
/generated_presigned_url
200
Upload File using Presigned URL
No content
Confirm Upload
Lastly, confirm the upload by sending the details obtained from the Generate Presigned URL API. This step ensures that the system registers the uploaded file.
Use Mode 2: Confirm Upload
Upload File (Single File Upload or Confirm Upload)
post
/api/v1/assets/developer-upload-file/
This endpoint supports two upload modes:
Mode 1: Single File Upload
Use Content-Type: multipart/form-data
Upload file directly in the request body as form data
The file will be processed and stored immediately
Mode 2: Confirm Upload
Use Content-Type: application/json
Confirm a file that was previously uploaded via presigned URL
Include is_presigned: true along with storage details in the JSON body
Both modes return the same response format with asset details upon successful upload.
Header parameters
Content-Typestring · enumRequired
Use 'multipart/form-data' for direct upload or 'application/json' for presigned confirmation