Skip to content
Docs
Get early access

Start a multipart upload session

POST
/v1/uploads
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" }'
Media typeapplication/json
object
asset_id
required
string
>= 1 characters
size_bytes
required
integer
>= 1 <= 107374182400
sha256
string
/^[0-9a-f]{64}$/
Example
{
"asset_id": "ast_01J9Z",
"size_bytes": 120000000,
"sha256": "9f2c4d5e6a7b8c9d0e1f2a3b4c5d6e7f8a9b0c1d2e3f4a5b6c7d8e9f0a1b2c3d"
}

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
}
}
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"
}