DocumentationComplete Multipart Upload
Complete Multipart Upload
Finalize the multipart upload after all parts have been uploaded. After this, HLS processing starts in the background.
Endpoints
POST/api/videos/uploads/:jobId/files/:uploadId/complete
Complete the multipart upload.
Request
curl -X POST "https://theamplium.com/api/videos/uploads/JOB_ID/files/UPLOAD_ID/complete" \
-H "Content-Type: application/json" \
-H "x-api-key: YOUR_API_KEY" \
-d '{
"parts": [
{ "partNumber": 1, "etag": "\"etag-from-part-1\"" },
{ "partNumber": 2, "etag": "\"etag-from-part-2\"" },
{ "partNumber": 3, "etag": "\"etag-from-part-3\"" }
]
}'Response
{
"status": "ok",
"jobId": "0f6c1e5d-5f6a-4ef5-90b2-7a3b2e1e1111",
"layout": "AIV",
"upload_status": {
"percent": 100,
"status": "Processing",
"message": "Upload completed."
}
}Error Response
When an error occurs, the API returns a JSON response with this structure:
{
"error": "BadRequest",
"message": "isEncode must be true or false."
}HTTP Error Codes
| Code | Error Type |
|---|---|
| 400 | BadRequest |
| 401 | Unauthorized |
| 403 | Forbidden |
| 404 | NotFound |
| 413 | PayloadTooLarge |
| 415 | UnsupportedMediaType |
| 500 | InternalServerError |
Upload Rules
- parts must include exactly totalParts entries.
- Each part needs partNumber and etag.
- No duplicate partNumber values are allowed.
- After a successful response, HLS processing starts in the background.