---
title: "add reporter"
method: POST
path: "/reports/playback"
tags: ["reporter"]
---

# add reporter

`POST /reports/playback`

## Request body

- PlaybackReport
  - `bandwidth` integer — Client bandwidth, bit/s
  - `bitrate` integer — Media bitrate, bit/s
  - `cache` 'local' | 'player' | 'miss' — Cache status of video
  - `device` 'ios' | 'adr' | 'web' | 'dsk' | 'stb', required — Client device
  - `duration` integer, required — Duration of time between event calls in ms (aiming for between 5s and 30s so generally 5000–30000)
  - `player` string, required — Player server name
  - `position` integer, required — Current playback report stream position, ms
  - `protocol` 'stb' | 'hls' | 'lvs', required — Standard binary stream (`stb`), HLS (`hls`) or live stream (`lvs`)
  - `rebuf_count` integer, required — Rebuffering events count during the interval
  - `rebuf_duration` integer, required — Sum of total rebuffering events duration in the interval, ms
  - `rel_position` integer, required — Relative stream position, pct, 0—100
  - `url` string, required — LBRY URL (lbry://... without the protocol part)
  - `user_id` string, required — User ID

## Response `201`

Created response.

## Other responses

- `400` — Bad Request response.

---

[API](https://skmtc.net/odyseeteam/apis/watchman-service.md) · [All operations](https://skmtc.net/odyseeteam/apis/watchman-service/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/odyseeteam/watchman-service/versions/692775319e65/schema)
