---
title: "Update the server with the client player state"
method: POST
path: "/videos/{video_id}/playback"
tags: ["Now Playing"]
---

# Update the server with the client player state

`POST /videos/{video_id}/playback`

Inform the server about the state of your client. (Song you are playing, Play/Pause state, etc.)

## Path parameters

- `video_id` string, required

## Query parameters

- `type` 'song' | 'video' | 'podcast_episode'
- `state` 'play' | 'stop'
- `time` integer
- `client` string

## Request body

- PlayerRequest
  - `type` 'song' | 'video' | 'podcast_episode'
  - `state` 'play' | 'stop'
  - `time` integer
  - `client` string — Client/agent name recorded with the request.

## Response `200`

Now playing response

- NowPlayingResponse
  - `now_playing` NowPlayingObject[], required
    - `id` string, required
    - `type` string, required
    - `client` string, required
    - `expire` integer, required
    - `user` object, required
      - `id` string, required
      - `username` string, required

## Other responses

- `400` — HTTP 400 Bad Request (errors 4705, 4710).
- `401` — HTTP 401 Unauthorized (error 4701).
- `403` — HTTP 403 Forbidden (errors 4700, 4703, 4742).
- `404` — HTTP 404 Not Found (error 4704).
- `500` — HTTP 500 Internal Server Error (error 4702).

---

[API](https://skmtc.net/ampache/apis/ampache-rest-api.md) · [All operations](https://skmtc.net/ampache/apis/ampache-rest-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/ampache/ampache-rest-api/revisions/535feee32afb/schema)
