Skip to main content

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.

Profile context is everything tied to this viewer, not catalog data from getMedia(): bookmarks, sentiment lists, playback position, watched history, and how you sync progress back to Discovr. Browse rows (Rows overview) are still chosen by recommendation for the profile; playback and lists here are explicit your app ↔ Discovr state—you build home-screen rails or detail affordances from them.

Understanding Your Media State

Likes, resume position, watch history—layer user state on catalog data for personalized title sheets.

Tracking Playback with Scrobbling

Keep watch history in sync with real-time progress updates as users watch.
Endpoints under /profile/* plus getMediaProfileMeta need a session JWT minted after selectProfile() (Sessions, Profiles & Sign Out). Examples below use TypeScript / Kotlin / Swift like Authentication.

Continue watching → playback list

Below is illustrative UI: thumbnails and progress (0–100) on tiles match what getPlaybackItems() returns for the browse surface. When the user opens a title sheet, the same percentages and TV season/episode hints surface through getMediaProfileMeta.playback (Understanding getMediaProfileMeta).
Light-themed horizontal Continue Watching strip: oval avatars labeled “Continue Watching…” with blurred-backdrop thumbnails, media-type badges (movies vs episodes), readable titles, and shaded progress arcs under each poster—matching playback list payloads from getPlaybackItems and the progress field mirrored on a detail sheet via getMediaProfileMeta.playback.
Dark-themed same Continue Watching row: luminous poster tiles on a charcoal background with ring progress overlays and typography tuned for OLED; analogous to playback items served for the profile and the resume chrome derived from playback.inlist plus playback.data in getMediaProfileMeta.
Use the playback list for “resume from here”: each item exposes progress (0–100). Fetch with getPlaybackItems (cursor via nextPageToken, limit 1–50). Prefer updatePlaybackItem during playback or scrobble (recommended for one call that aligns history and side effects)—see scrobbling below.

Curated lists (liked, disliked, super liked, watchlist)

Each category is symmetric: get* enumerates IDs; add* attaches a mediaId; delete* removes it. Wire your UI (“My list”, thumbs, etc.) to the matching SDK operations—return shapes are documented on each Profile Lists SDK page and echoed in API Reference; you can cross-check wire fields in Type reference where they appear. Method names follow the SDK Reference sidebar under Profile Lists.

History vs playback

History logs watch events (duplicates allowed—see getHistoryItems and patchHistoryItem). Playback drives “continue watching”. scrobble is the everyday path during viewing; patch/add history suits explicit corrections or tooling.