Records a watch history entry. Unlike other lists, history allows multiple entries for the same title — each completed viewing is tracked separately.
mediaId: the title to record. Use MV_<tmdbId> for movies, TV_<tmdbId> for TV shows.progress: how far through the title the user watched, as a percentage (0–100). Optional.updatedAt: the ISO 8601 timestamp of when the viewing was recorded. Defaults to now if omitted.TV Shows:
Include season (required for TV shows) and optionally episode to track per-episode history. Omitting episode records a season-level entry — clients can use this to mark all episodes in a season as watched in a single call.
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.
Bearer token authentication.
/profiles, /auth/session-token,
/auth/session) accept a long-lived refresh token
(rt_<hex>)./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}
A watch history entry to record. For TV shows, season is required; episode is optional.
Full media ID — MV_<tmdbId> for movies, TV_<tmdbId> for TV shows (e.g., TV_1396)
"TV_1396"
ISO 8601 timestamp indicating when the history entry was last updated
"2023-01-15T00:00:00.000Z"
Playback progress percentage (0-100)
0 <= x <= 10045.5
Season number (required for TV shows)
x >= 11
Episode number (optional for TV shows). When omitted, creates a "Default for Episode" entry that applies to all episodes in the season where episode.air_date < historyItem.updatedAt. This allows updating multiple episodes with a single history entry.
Overriding Season Defaults: When provided, creates an explicit episode entry that takes precedence over any season default entries. To unmark an episode completed via season default, create an explicit entry with progress < 80% (which will not be marked as completed).
x >= 15
Source of import (e.g., "trakt") if this item was imported
"trakt"
Item added successfully
Confirmation response with the action taken. For exclusive lists (liked/disliked/super_liked), also includes added (which list the item was added to) and optionally removed (which list it was removed from).