Skip to main content
PATCH
/
profile
/
playback
Update playback progress
const options = {
  method: 'PATCH',
  headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
  body: JSON.stringify({mediaId: '550', progress: 75, updatedAt: '2023-01-20T00:00:00.000Z'})
};

fetch('https://api.discovr.media/profile/playback', options)
  .then(res => res.json())
  .then(res => console.log(res))
  .catch(err => console.error(err));
{
  "message": "Playback item updated successfully"
}

Documentation Index

Fetch the complete documentation index at: https://docs.discovr.media/llms.txt

Use this file to discover all available pages before exploring further.

Authorizations

Authorization
string
header
required

Bearer token authentication.

  • Identity-tier endpoints (/profiles, /auth/session-token, /auth/session) accept a long-lived refresh token (rt_<hex>).
  • Session-tier endpoints (/pages/*, /profile/*) accept a short-lived session JWT.

SDK clients use two typed API accessors (identityApi() with the refresh token vs sessionApi() with the session JWT) — see the SDK DiscovrAuth helper.

Format: Authorization: Bearer {token}

Body

application/json
mediaId
string
required

The media ID with prefix (MV_TMDBID for movies, TV_TMDBID for TV shows)

Example:

"MV_TMDBID550"

progress
number

New playback progress percentage (0-100)

Required range: 0 <= x <= 100
Example:

75

updatedAt
string<date-time>

ISO 8601 timestamp for when playback was last updated

Example:

"2023-01-15T00:00:00.000Z"

season
integer

Season number (only for TV shows)

Required range: x >= 1
Example:

2

episode
integer

Episode number (only for TV shows)

Required range: x >= 1
Example:

5

Response

Item updated successfully

message
string
required

Success message

Example:

"Item added successfully"

added
string

The list type the item was added to (for exclusive lists)

Example:

"liked"

removed
string

The list type the item was removed from, if any (for exclusive lists)

Example:

"disliked"