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

# Update the server with the client player state

`POST /podcast-episodes/{episode_id}/playback`

## Request

- Base URL: `https://develop.ampache.dev/rest/8/json`
- URL: `https://develop.ampache.dev/rest/8/json/podcast-episodes/{episode_id}/playback`
- Auth: one of:
  - HTTP bearer
  - API key in header `auth`
  - API key in query parameter `auth`

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

## Path parameters

- `episode_id` string, required

## Query parameters

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

## Request body

- PlayerRequest
  - `type` 'song' | 'video' | 'podcast_episode'
  - `state` 'play' | 'pause' | '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).

## Changes

- **2026-10-19** `6748b4120f91`: 3 info
  - added the new enum value `pause` to the `query` request parameter `state`
  - added the new `pause` enum value to the request property `state` (media type: application/json)
  - added the new `pause` enum value to the request property `state` (media type: application/x-www-form-urlencoded)
- **2026-07-31** `e8e6b266ea29`: 6 info
  - api operation id `playerPodcastEpisodesPlayback` was added
  - added optional request body
  - added the non-success response with the status `401`
  - added the non-success response with the status `403`
  - …2 more
- **2026-07-31** `2ff18e50dcc1`: 1 info
  - added the required property `now_playing` to the response with the `200` status
- **2026-07-31** `7ed7a764efd9`: 1 info
  - added the non-success response with the status `400`
- **2026-05-11** `b515694fd82a`: 1 info
  - endpoint added

[Operation history](https://skmtc.dev/ampache/apis/ampache-rest-api/changes/podcast-episodes/:episode_id/playback/post.md)

---

[API](https://skmtc.dev/ampache/apis/ampache-rest-api.md) - [All operations](https://skmtc.dev/ampache/apis/ampache-rest-api/llms.txt) - [OpenAPI document](https://skmtc.dev/ampache/apis/ampache-rest-api/revisions/7e3d431e8627?raw)
