Skip to main content
POST
/
pages
TypeScript
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);
{
  "id": "<string>",
  "createdAt": "2023-11-07T05:31:56Z",
  "pageFilters": {
    "genres": [
      2
    ],
    "keywords": [
      2
    ],
    "media_type": "movie",
    "region": [
      "<string>"
    ],
    "with_runtime_gte": 1,
    "with_runtime_lte": 1,
    "with_release_date_gte": "2023-12-25",
    "with_release_date_lte": "2023-12-25",
    "with_watch_providers": [
      "<string>"
    ]
  }
}

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

Optional filters to shape the recommendation page. Omit for a default page based on the profile's full taste history.

pageFilters
object

Filters that shape which titles appear in a page's rows. All filters are optional.

name
string

Optional human-readable name for the page. When provided, the page can be identified by this name in subsequent GET /pages/:id responses.

Minimum string length: 1

Response

Page created successfully

The new page's ID and metadata. Pass the id to GET /pages/{pageId} or GET /pages/{pageId}/rows.

id
string
required

Unique identifier for the page

createdAt
string<date-time>
required

Creation timestamp

pageFilters
object

Filters that shape which titles appear in a page's rows. All filters are optional.