Skip to main content
POST
/
profile
/
scrobble
/
{mediaId}
/
skip
TypeScript
import { DiscovrClient } from "discovr";
import type { ScrobbleSkipBody, ScrobbleSkipResponse, ScrobbleTv } from "discovr";

const discovr = new DiscovrClient("your-client-id", {
  basePath: "https://api.discovr.media",
});

// After sign-in and profile selection …
const response: ScrobbleSkipResponse = await discovr.scrobbleSkip("TV_1396", 10, 20, 20, { tv: { "season": 2, "episode": 5 } });
console.log(response);
{
  "status": "ok"
}

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}

Path Parameters

mediaId
string
required

The media ID in MV_<tmdbId> or TV_<tmdbId> format (e.g., MV_550, TV_1396).

Pattern: ^(MV|TV)_\d+$

Body

application/json
from
number
required

Playback position where the skip started (0–100).

Required range: 0 <= x <= 100
Example:

10

to
number
required

Playback position where the skip landed (0–100).

Required range: 0 <= x <= 100
Example:

20

duration
number
required

Number of seconds skipped.

Required range: x >= 0
Example:

20

tv
object

Episode context for TV show scrobbles.

Response

Skip event recorded.

status
string
required

Always "ok" on success.

Example:

"ok"