Catalog wire schema
Catalog detail APIs and catalog URLs requested with Accept: application/activity+json serialize the same schemas. Generic API lists (trending and recommendations) use only the common item fields; typed detail and search responses add the fields below.
Notation: T? is nullable, T[] is a list, and deprecated fields, struck through together with their type, are compatibility aliases. Dates are partial ISO dates (YYYY, YYYY-MM, or YYYY-MM-DD) unless noted otherwise.
Common item fields
Emitted for Edition, Movie, TVShow, TVSeason, TVEpisode, Album, Game, Podcast, PodcastEpisode, Performance, PerformanceProduction, and Work:
| Field |
Type |
Meaning |
id |
string |
Absolute canonical item URL |
type |
string |
Model/AP type, such as Edition or Movie |
uuid |
string |
Base62 item UUID |
url |
string |
Relative web URL |
api_url |
string |
Relative API URL |
category |
string |
book, movie, tv, music, game, podcast, or performance |
parent_uuid |
string? |
Parent Work, show, season, podcast, or performance UUID |
title |
string |
Locale-selected display title |
description |
string |
Locale-selected description |
localized_title |
LocalizedLabel[] |
Titles by locale |
localized_description |
LocalizedLabel[] |
Descriptions by locale |
cover_image_url |
string? |
Absolute cover URL |
external_resources |
ExternalResource[]? |
Known external source URLs |
credits |
Credit[] |
Structured credits |
rating |
number? |
Average grade from 1 to 10 |
rating_count |
integer? |
Number of ratings |
rating_distribution |
integer[]? |
Percentages for grades 1-2, 3-4, 5-6, 7-8, and 9-10 |
tags |
string[]? |
Public tags; normally populated only on detail and search surfaces |
~~display_title~~ deprecated |
~~string~~ deprecated |
Alias of title |
~~brief~~ deprecated |
~~string~~ deprecated |
Alias of description |
LocalizedLabel
| Field |
Type |
lang |
string |
text |
string |
Credit
| Field |
Type |
role |
string |
name |
string |
character_name |
string |
person_url |
string? |
ExternalResource
Fields by type
Each type below includes the common fields unless stated otherwise.
Work (category: book)
| Field |
Type |
| — |
No type-specific fields; no public typed API endpoint |
Edition (category: book)
| Field |
Type |
subtitle |
string? |
orig_title |
string? |
author |
string[] |
translator |
string[] |
language |
string[] |
publisher |
string[] |
~~pub_house~~ deprecated |
~~string?~~ deprecated |
pub_year |
integer? |
pub_month |
integer? |
format |
string? |
~~binding~~ deprecated |
~~string?~~ deprecated |
price |
string? |
pages |
integer or string? |
series |
string? |
imprint |
string? |
contents |
string? |
isbn |
string? |
Movie (category: movie)
| Field |
Type |
orig_title |
string? |
director |
string[] |
playwright |
string[] |
actor |
string[] |
producer |
string[] |
genre |
string[] |
language |
string[] |
origin_country |
string[] |
release_date |
string? |
official_site |
string? |
length |
integer? (seconds) |
imdb |
string? |
~~year~~ deprecated |
~~integer?~~ deprecated |
~~site~~ deprecated |
~~string?~~ deprecated |
~~duration~~ deprecated |
~~string?~~ deprecated |
~~area~~ deprecated |
~~string[]~~ deprecated |
~~showtime~~ deprecated |
~~Showtime[]~~ deprecated |
Showtime
| Field |
Type |
time |
string |
region |
string |
TVShow (category: tv)
| Field |
Type |
| Movie fields above |
including compatibility aliases |
season_count |
integer? |
episode_count |
integer? |
season_uuids |
string[] |
TVSeason (category: tv)
| Field |
Type |
| Movie fields above |
including compatibility aliases |
season_number |
integer? |
episode_count |
integer? |
episode_uuids |
string[] |
TVEpisode (category: tv)
| Field |
Type |
episode_number |
integer? |
Album (category: music)
| Field |
Type |
genre |
string[] |
artist |
string[] |
company |
string[] |
length |
integer? (seconds) |
release_date |
string? |
album_type |
string[] |
media_format |
string[] |
track_list |
string? |
barcode |
string? |
~~duration~~ deprecated |
~~integer? (milliseconds)~~ deprecated |
~~media~~ deprecated |
~~string?~~ deprecated |
Game (category: game)
| Field |
Type |
genre |
string[] |
developer |
string[] |
publisher |
string[] |
platform |
string[] |
release_type |
string? |
release_date |
string? |
official_site |
string? |
~~release_year~~ deprecated |
~~integer?~~ deprecated |
Podcast (category: podcast)
| Field |
Type |
genre |
string[] |
host |
string[] |
language |
string[] |
official_site |
string? |
~~hosts~~ deprecated |
~~string[] (alias of host)~~ deprecated |
PodcastEpisode (category: podcast)
| Field |
Type |
guid |
string? |
pub_date |
datetime? (ISO 8601) |
media_url |
string? |
link |
string? |
length |
integer? (seconds) |
~~duration~~ deprecated |
~~integer? (seconds)~~ deprecated |
| Field |
Type |
orig_title |
string? |
genre |
string[] |
language |
string[] |
opening_date |
string? |
closing_date |
string? |
director |
string[] |
playwright |
string[] |
orig_creator |
string[] |
composer |
string[] |
choreographer |
string[] |
performer |
string[] |
actor |
CrewMember[] |
crew |
CrewMember[] |
official_site |
string? |
CrewMember
| Field |
Type |
name |
string |
role |
string? |
| Field |
Type |
orig_title |
string? |
language |
string[] |
opening_date |
string? |
closing_date |
string? |
director |
string[] |
playwright |
string[] |
orig_creator |
string[] |
composer |
string[] |
choreographer |
string[] |
performer |
string[] |
actor |
CrewMember[] |
crew |
CrewMember[] |
official_site |
string? |
People
People detail responses (GET /api/people/{uuid}) and People returned by catalog search use a separate schema and do not include the common item fields.
| Field |
Type |
id |
string |
uuid |
string |
url |
string |
api_url |
string |
people_type |
person or organization |
name |
string |
bio |
string |
localized_name |
LocalizedLabel[] |
localized_bio |
LocalizedLabel[] |
cover_image_url |
string? |
birth_date |
string? |
death_date |
string? |
official_site |
string? |
imdb |
string? |
~~display_name~~ deprecated |
~~string (alias of name)~~ deprecated |
People and credit endpoints
| Method and path |
Response |
Notes |
GET /api/people/{uuid} |
People |
Individual person or organization |
GET /api/catalog/{item_type}/{uuid}/credit/?page=N |
Page<CreditDetail> |
All credits; item_type accepts item or a concrete catalog type |
GET /api/people/{uuid}/work/?page=N |
Page<PeopleWork> |
Unique credited items; no role or category filter |
CreditItemType
| Value |
Catalog model |
item |
Any Item |
book |
Edition (canonical) |
edition |
Edition |
movie |
Movie |
tv |
TVShow (canonical) |
tvshow |
TVShow |
tvseason |
TVSeason |
tvepisode |
TVEpisode |
album |
Album |
game |
Game |
podcast |
Podcast |
podcastepisode |
PodcastEpisode |
performance |
Performance |
performanceproduction |
PerformanceProduction |
work |
Work |
Name-only credits are included by the item credit endpoint with person: null.
Page
| Field |
Type |
data |
T[] |
pages |
integer |
count |
integer |
CreditDetail
| Field |
Type |
role |
string |
name |
string |
character_name |
string |
person |
PeopleSummary? |
PeopleSummary
| Field |
Type |
id |
string |
uuid |
string |
url |
string |
api_url |
string |
people_type |
person or organization |
display_name |
string |
cover_image_url |
string? |
PeopleWork
| Field |
Type |
item |
ItemSummary |
credits |
PeopleWorkCredit[] |
PeopleWorkCredit
| Field |
Type |
role |
string |
name |
string |
character_name |
string |
ItemSummary
| Field |
Type |
id |
string |
type |
string |
uuid |
string |
url |
string |
api_url |
string |
category |
string |
parent_uuid |
string? |
display_title |
string |
cover_image_url |
string? |