Skip to content
Docs
Get early access

Submit a player telemetry beacon batch

POST
/v1/telemetry
curl --request POST \
--url https://media.wirevod.online/v1/telemetry \
--header 'Content-Type: text/plain' \
--data '{
"token": "v1.playback-token",
"player_version": "wireplayer-1.4.0",
"events": [
{
"event": "first_frame",
"ts_ms": 1760000005123,
"playhead_ms": 0,
"startup_ms": 850,
"rendition": "720p"
}
]
}'

Sent by WirePlayer. The body is JSON sent as text/plain (compatible with navigator.sendBeacon); the playback token is carried inside the body, not a header. At most 50 events and 32 KiB per batch.

Media typetext/plain
object
token
required
string
player_version
string
events
required
Array<object>
<= 50 items
object
event
required
string
Allowed values: session_start first_frame play pause seek stall stall_end quality_change error drm_error complete abandon
ts_ms
required
number
playhead_ms
required
number
rendition
string
error_code
string
startup_ms
number
stall_ms
number
bitrate_kbps
number
key
additional properties
any
key
additional properties
any
Example
{
"token": "v1.playback-token",
"player_version": "wireplayer-1.4.0",
"events": [
{
"event": "first_frame",
"ts_ms": 1760000005123,
"playhead_ms": 0,
"startup_ms": 850,
"rendition": "720p"
}
]
}

Accepted; the count of events stored is returned in x-telemetry-accepted.

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 request body exceeds the accepted size.

Media typeapplication/json
object
error
required
string
code
required
string
message
required
string
details
Example
{
"error": "payload_too_large",
"code": "payload_too_large",
"message": "Batch too large"
}