Start a multipart upload session
POST
/v1/uploads
const url = 'https://api.wirevod.online/v1/uploads';const options = { method: 'POST', headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'}, body: '{"asset_id":"ast_01J9Z","size_bytes":120000000,"sha256":"9f2c4d5e6a7b8c9d0e1f2a3b4c5d6e7f8a9b0c1d2e3f4a5b6c7d8e9f0a1b2c3d"}'};
try { const response = await fetch(url, options); const data = await response.json(); console.log(data);} catch (error) { console.error(error);}curl --request POST \ --url https://api.wirevod.online/v1/uploads \ --header 'Authorization: Bearer <token>' \ --header 'Content-Type: application/json' \ --data '{ "asset_id": "ast_01J9Z", "size_bytes": 120000000, "sha256": "9f2c4d5e6a7b8c9d0e1f2a3b4c5d6e7f8a9b0c1d2e3f4a5b6c7d8e9f0a1b2c3d" }'Authorizations
Section titled “Authorizations”Request Bodyrequired
Section titled “Request Bodyrequired”Media typeapplication/json
object
asset_id
required
string
size_bytes
required
integer
sha256
string
Example
{ "asset_id": "ast_01J9Z", "size_bytes": 120000000, "sha256": "9f2c4d5e6a7b8c9d0e1f2a3b4c5d6e7f8a9b0c1d2e3f4a5b6c7d8e9f0a1b2c3d"}Responses
Section titled “ Responses ”Upload session with one upload URL per part.
Media typeapplication/json
object
upload
required
object
id
required
string
asset_id
required
string
part_size
required
integer
part_count
required
integer
size_bytes
required
integer
expires_at
required
integer
parts
required
Array<object>
object
number
required
integer
url
required
string format: uri
Example
{ "upload": { "id": "upl_01J9Z", "asset_id": "ast_01J9Z", "part_size": 16777216, "part_count": 8, "size_bytes": 120000000, "expires_at": 1760086400000, "parts": [ { "number": 1, "url": "https://upload.example/part-1" } ] }}The request was malformed or failed validation.
Media typeapplication/json
object
error
required
string
code
required
string
message
required
string
details
Example
{ "error": "invalid_request", "code": "invalid_request", "message": "asset_id is required"}Missing or invalid credentials.
Media typeapplication/json
object
error
required
string
code
required
string
message
required
string
details
Example
{ "error": "unauthorized", "code": "unauthorized", "message": "Authentication required"}The principal lacks the required scope or role.
Media typeapplication/json
object
error
required
string
code
required
string
message
required
string
details
Example
{ "error": "forbidden", "code": "forbidden", "message": "Missing required scope: write"}The resource does not exist in the tenant, or the route is unknown.
Media typeapplication/json
object
error
required
string
code
required
string
message
required
string
details
Example
{ "error": "not_found", "code": "not_found", "message": "Asset not found"}The request conflicts with the resource’s current state.
Media typeapplication/json
object
error
required
string
code
required
string
message
required
string
details
Example
{ "error": "upload_in_progress", "code": "upload_in_progress", "message": "An upload is already in progress for this asset"}Too many requests in the current window.
Media typeapplication/json
object
error
required
string
code
required
string
message
required
string
details
Example
{ "error": "rate_limited", "code": "rate_limited", "message": "Too many requests", "details": { "retry_after": 60 }}Headers
Section titled “Headers”Retry-After
integer
Seconds to wait before retrying.
A temporary storage problem occurred; retry with backoff.
Media typeapplication/json
object
error
required
string
code
required
string
message
required
string
details
Example
{ "error": "storage_error", "code": "storage_error", "message": "Media storage unavailable"}