POST the returned completion_url before expires_at. Single-PUT Uploads send no body; multipart Uploads send every part number and storage ETag. Chunkify verifies the assembled object and atomically creates the Source and optional Asset. An Asset destination conflict returns 409 and fails the Upload without committing Source, Asset, or usage changes. Valid retries return 204 without duplicate side effects. Retry network errors, 429, and 5xx responses with bounded backoff.
POST
/uploads/completion/{token}
Path Parameters
token
string
required
Opaque completion capability from completion_url
Bodyapplication/json
Multipart Uploads send every part number and storage ETag. Single-PUT Uploads send no body.
parts
object[]
required
All uploaded parts in ascending part_number order, with the ETags returned by storage.
etag
string
required
ETag returned by storage for this part, including its quotation marks when present.
part_number
integer
required
One-based part number.
Required range: 1 <= x <= 10000
Responses
Upload completed or already completed. The response body is empty.
application/json
error
object
required
code
400
integer
required
Code is the HTTP status code
Examples:
400
message
string
required
Message is a human-readable error description
Examples:
Invalid request parameters
type
"ValidationError"
string
required
Type indicates the error category
Available options:
ValidationError
status
"error"
string
required
Status indicates the response status "error"
Invalid uploaded media or Upload is no longer waiting
application/json
error
object
required
Error response details
code
401
integer
required
Code is the HTTP status code
Examples:
401
message
string
required
Message is a human-readable error description
Examples:
Authentication error: invalid token or subscription inactive
type
"AuthenticationError"
string
required
Type indicates the error category
Available options:
AuthenticationError
status
"error"
string
required
Status indicates the response status "error"
Invalid completion capability
application/json
error
object
required
Error response details
code
403
integer
required
Code is the HTTP status code
Examples:
403
message
string
required
Message is a human-readable error description
Examples:
Unauthorized to perform this action
type
"ForbiddenError"
string
required
Type indicates the error category
Available options:
ForbiddenError
status
"error"
string
required
Status indicates the response status "error"
Storage permission or plan limit prevents completion
application/json
error
object
required
Error response details
code
409
integer
required
Code is the HTTP status code
Examples:
409
message
string
required
Message is a human-readable error description
Examples:
source_unavailable: the original video is no longer accessible
type
"ConflictError"
string
required
Type indicates the error category
Available options:
ConflictError
status
"error"
string
required
Status indicates the response status "error"
Asset output folder conflicts with another Asset; Upload is failed
application/json
error
object
required
Error response details
code
410
integer
required
Code is the HTTP status code
Examples:
410
message
string
required
Message is a human-readable error description
Examples:
The requested resource is no longer available
type
"GoneError"
string
required
Type indicates the error category
Available options:
GoneError
status
"error"
string
required
Status indicates the response status "error"
Upload session expired or was deleted
application/json
error
object
required
Error response details
code
429
integer
required
Code is the HTTP status code
Examples:
429
message
string
required
Message is a human-readable error description
Examples:
Rate limit exceeded
type
"TooManyRequestsError"
string
required
Type indicates the error category
Available options:
TooManyRequestsError
status
"error"
string
required
Status indicates the response status "error"
Rate limited; retry with backoff
application/json
error
object
required
Error response details
code
503
integer
required
Code is the HTTP status code
Examples:
503
message
string
required
Message is a human-readable error description
Examples:
The service is temporarily unavailable; retry the request