Skip to content
Docs
Get early access

Mint a playback session token

POST
/v1/playback/sessions
curl --request POST \
--url https://api.wirevod.online/v1/playback/sessions \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '{ "asset_id": "ast_01J9Z", "ttl_seconds": 14400 }'
Media typeapplication/json
object
asset_id
required
string
>= 1 characters
ttl_seconds
integer
default: 14400 >= 60 <= 86400
Example
{
"asset_id": "ast_01J9Z",
"ttl_seconds": 14400
}

Signed session token and the delivery URLs it unlocks.

Media typeapplication/json
object
session
required
object
id
required
string
asset_id
required
string
expires_at
required
integer
drm
required
boolean
token
required
string
urls
required
object
manifest
required
string format: uri
telemetry
required
string format: uri
entitlement

Present only for DRM-protected assets.

string format: uri
Example
{
"session": {
"id": "pbs_01J9Z",
"asset_id": "ast_01J9Z",
"expires_at": 1760014400000,
"drm": false
},
"token": "v1.playback-token",
"urls": {
"manifest": "https://media.wirevod.online/v1/play/v1.playback-token/package/hls/master.m3u8",
"telemetry": "https://media.wirevod.online/v1/telemetry"
}
}

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 dependency (DRM, Google, playback signing) is not configured or unavailable.

Media typeapplication/json
object
error
required
string
code
required
string
message
required
string
details
Example
{
"error": "playback_unavailable",
"code": "playback_unavailable",
"message": "Playback is not configured"
}