Unscored, age-gated catalog read

Returns the namespace-pruned, age-gated, deterministically-ordered visible catalog for the caller's airline_id — no ranking, no vectors, no persona (see POST for the scored variant). The member age tier is resolved SERVER-SIDE from the bound member profile via the optional seatId + memberSlot query params (UN-TRUSTED LOCATORS only, never a trust assertion — member identity is the combination of airline, session, seat, and slot, since memberSlot alone is per-seat, not session-globally-unique) — an unresolved/unbound member, or a request with no seatId, is served the most-restrictive (child-safe) catalog, never the full one. Response coverage reports an honest ageExcludedCount and the ageTierApplied. When the optional sourceSystem query parameter names the caller's own id namespace, each served item also echoes the caller's externalTitleId under it (null for titles the caller did not ingest).

Authentication

AuthorizationBearer

Bearer authentication of the form Bearer <token>, where token is your auth token.

Query parameters

kindstringOptional

Optional content-kind filter, accepted in any casing and normalized to ‘Movie’, ‘TV’, ‘Audio’, or ‘Game’; omitted applies no kind filter, so every catalog kind is returned.

limitintegerOptional1-500

Optional page size, 1-500 inclusive; omitted returns the full age-gated/kind-filtered page.

offsetintegerOptional>=0

Optional zero-based skip count; omitted defaults to 0.

seatIdstringOptional

Untrusted locator only (never a trust assertion) — together with memberSlot, selects the bound member profile server-side; an absent or unbound value resolves to the most-restrictive (child-safe) age tier.

memberSlotstringOptional

Untrusted locator only (never a trust assertion), paired with seatId — memberSlot alone is per-seat, not session-globally-unique.

sourceSystemstringOptional
Optional id-namespace token — the same sourceSystem used when this caller's titles were centrally ingested (1-64 characters of lowercase letters, digits, and hyphens). When present, each served item echoes the caller's own externalTitleId under that namespace (null for titles without a confirmed ingest mapping there); omitted = no external-id echo.

Response

OK
correlationIdstring
itemslist of objects
totalItemsinteger or string

The count of titles this request could serve, before age-gate exclusion: the caller’s visible catalog — and, when the session is bound to a flight with a pushed active catalog, only the titles on that flight.

ageExcludedCountinteger or string

Honest count of items the age gate removed from that total — this number is always accurate, never silently omitted.

ageTierAppliedenum

The server-resolved age tier the age gate applied (never a client-asserted value).

schemaVersionstringOptional

Errors

401
Unauthorized Error
403
Forbidden Error
422
Unprocessable Entity Error
500
Internal Server Error