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.
Create a new page for the profile bound to your session token (profileId is a JWT claim, not request body).
Pages with identical filters within the same session are deduplicated (deterministic page id).
A page represents a collection of rows (media recommendations) based on optional filters.
Parameters
Name Type Required Description pageFilters FilterSpecNo name stringNo Optional human-readable name for the page. When provided, the page can be identified by this name in subsequent GET /pages/:id responses.
View FilterSpec structure
{
"genres" : [ "integer" ],
"keywords" : [ "integer" ],
"media_type" : "movie" /* enum: "movie", "tv", "all" */ ,
"region" : [ "string" ],
"with_runtime_gte" : 0 ,
"with_runtime_lte" : 0 ,
"with_release_date_gte" : "string" /* date */ ,
"with_release_date_lte" : "string" /* date */ ,
"with_watch_providers" : [ "string" ]
}
Returns
CreatePageResponse — Page created successfully
{
"id" : "string" ,
"createdAt" : "string" /* date-time */ ,
"pageFilters" : {
"genres" : [ "integer" ],
"keywords" : [ "integer" ],
"media_type" : "movie" /* enum: "movie", "tv", "all" */ ,
"region" : [ "string" ],
"with_runtime_gte" : 0 ,
"with_runtime_lte" : 0 ,
"with_release_date_gte" : "string" /* date */ ,
"with_release_date_lte" : "string" /* date */ ,
"with_watch_providers" : [ "string" ]
}
}
Example
import { DiscovrClient } from "discovr" ;
import type { CreatePagePayload , CreatePageResponse , FilterSpec } from "discovr" ;
const discovr = new DiscovrClient ( "your-client-id" , {
basePath: "https://api.discovr.media" ,
});
// After sign-in and profile selection …
const response : CreatePageResponse = await discovr . createPage ({ pageFilters: { "media_type" : "movie" }, name: "a" });
console . log ( response );