You list profiles withDocumentation Index
Fetch the complete documentation index at: https://docs.discovr.media/llms.txt
Use this file to discover all available pages before exploring further.
getProfiles() for your “who’s watching?” UI, then select one with selectProfile() so the SDK mints a session JWT for that viewer. Session-tier endpoints (pages, rows, tailored lists) then follow that profile’s recommendation snapshot and library state.

getProfiles → selectProfile sequence stays the same.
Build the flow
Ensure the user is signed in
Finish a sign-in flow from Authentication so the SDK holds a refresh
token (
isSignedIn() is true).List profiles for the picker
Call
getProfiles() (identity tier). Render each
profile’s name and avatarUrl—for example as a horizontal row or grid with an
optional “Add profile” tile that navigates to your create UI. Avatars may be image or MP4
URLs; use an image view, video/looping player, or a small wrapper that picks by URL or content
type (see Managing profiles).Handle zero profiles
If the list is empty, send users to your create-flow (see Managing
profiles) and call
createProfile() before returning here.On selection, mint the session
When the user taps a profile, call
selectProfile(profileId). You can use
switchProfile() when swapping from another
profile—the SDK rotates the session and recommendation snapshot.Gate session-tier calls
Before
createPage, list rows, or other session APIs, use
hasActiveProfile() or
getActiveProfileId() if you want a
defensive check.