wolfskin/conductarr-client/src/test/resources/model-contracts.json

3255 lines
69 KiB
JSON

{
"ActingCredit": {
"additionalProperties": false,
"properties": {
"character": {
"type": "string"
},
"credit_id": {
"type": "string"
},
"episode_count": {
"format": "int64",
"type": "integer"
}
},
"required": [
"credit_id",
"character"
],
"type": "object"
},
"ActivityFeed": {
"additionalProperties": false,
"properties": {
"$schema": {
"description": "A URL to the JSON Schema for this object.",
"examples": [
"https://example.com/schemas/ActivityFeed.json"
],
"format": "uri",
"readOnly": true,
"type": "string"
},
"items": {
"items": {
"$ref": "#/components/schemas/RequestProgress"
},
"type": [
"array",
"null"
]
},
"requester": {
"description": "Household key the feed is attributed to, or all for the household",
"type": "string"
},
"sources": {
"items": {
"$ref": "#/components/schemas/EvidenceSource"
},
"type": [
"array",
"null"
]
},
"truncated": {
"description": "More recent requests exist than the window returned",
"type": "boolean"
}
},
"required": [
"requester",
"items",
"truncated",
"sources"
],
"type": "object"
},
"Actor": {
"additionalProperties": false,
"properties": {
"name": {
"type": "string"
},
"requester": {
"description": "The acting operator's own household requester key",
"type": "string"
},
"role": {
"enum": [
"admin",
"household"
],
"type": "string"
}
},
"required": [
"name",
"role",
"requester"
],
"type": "object"
},
"Candidate": {
"additionalProperties": false,
"properties": {
"backdrop_path": {
"description": "TMDB-relative landscape artwork path; absent when none is observed",
"type": "string"
},
"contributions": {
"items": {
"$ref": "#/components/schemas/SeedContribution"
},
"type": [
"array",
"null"
]
},
"genre_ids": {
"description": "Observed candidate genre IDs; absence does not prove no genres",
"items": {
"format": "int64",
"type": "integer"
},
"type": [
"array",
"null"
]
},
"media_type": {
"enum": [
"movie",
"tv"
],
"type": "string"
},
"overview": {
"type": "string"
},
"poster_path": {
"type": "string"
},
"score": {
"format": "double",
"type": "number"
},
"title": {
"type": "string"
},
"tmdb_id": {
"format": "int64",
"type": "integer"
},
"tvdb_id": {
"format": "int64",
"type": "integer"
},
"year": {
"format": "int64",
"type": "integer"
}
},
"required": [
"tvdb_id",
"title",
"overview",
"poster_path",
"year",
"score",
"contributions",
"media_type",
"tmdb_id"
],
"type": "object"
},
"CastMember": {
"additionalProperties": false,
"properties": {
"character": {
"type": "string"
},
"credit_id": {
"type": "string"
},
"name": {
"type": "string"
},
"order": {
"format": "int64",
"type": "integer"
},
"performer_id": {
"format": "int64",
"type": "integer"
},
"profile_url": {
"type": "string"
}
},
"required": [
"performer_id",
"name",
"character",
"credit_id",
"order"
],
"type": "object"
},
"Detail": {
"additionalProperties": false,
"properties": {
"$schema": {
"description": "A URL to the JSON Schema for this object.",
"examples": [
"https://example.com/schemas/Detail.json"
],
"format": "uri",
"readOnly": true,
"type": "string"
},
"genres": {
"items": {
"type": "string"
},
"type": [
"array",
"null"
]
},
"held_title": {
"$ref": "#/components/schemas/HeldTitle"
},
"metadata": {
"$ref": "#/components/schemas/TitleMetadata"
},
"metadata_state": {
"enum": [
"observed",
"missing",
"unavailable"
],
"type": "string"
},
"observations": {
"items": {
"$ref": "#/components/schemas/LibraryObservation"
},
"type": [
"array",
"null"
]
},
"ratings": {
"items": {
"$ref": "#/components/schemas/Rating"
},
"type": [
"array",
"null"
]
},
"runtime": {
"format": "int64",
"type": "integer"
},
"seasons": {
"items": {
"$ref": "#/components/schemas/Season"
},
"type": [
"array",
"null"
]
},
"state": {
"enum": [
"observed",
"partial",
"unavailable"
],
"type": "string"
},
"title": {
"$ref": "#/components/schemas/Title"
}
},
"required": [
"state",
"title",
"metadata_state",
"genres",
"seasons",
"metadata",
"observations"
],
"type": "object"
},
"Discovery": {
"additionalProperties": false,
"properties": {
"genre_id": {
"format": "int64",
"type": "integer"
},
"next": {
"description": "Same selected query's next public page, bounded at page 500; absence alone does not prove catalogue exhaustion",
"type": "string"
},
"region": {
"description": "Comma-separated selected service regions; NL for unfiltered discovery",
"type": "string"
},
"service_id": {
"format": "int64",
"type": "integer"
},
"sort": {
"enum": [
"trending",
"popular",
"new",
"top",
"upcoming"
],
"type": "string"
},
"state": {
"description": "Empty is an answered zero-match lane; exhausted is an empty page beyond upstream total_pages; partial cannot prove absence",
"enum": [
"observed",
"empty",
"partial",
"exhausted"
],
"type": "string"
}
},
"required": [
"genre_id",
"service_id",
"sort",
"region",
"state"
],
"type": "object"
},
"Enrichment": {
"additionalProperties": false,
"properties": {
"$schema": {
"description": "A URL to the JSON Schema for this object.",
"examples": [
"https://example.com/schemas/Enrichment.json"
],
"format": "uri",
"readOnly": true,
"type": "string"
},
"genres": {
"items": {
"type": "string"
},
"type": [
"array",
"null"
]
},
"metadata": {
"$ref": "#/components/schemas/TitleMetadata"
},
"metadata_state": {
"enum": [
"observed",
"missing",
"unavailable"
],
"type": "string"
},
"observations": {
"items": {
"$ref": "#/components/schemas/LibraryObservation"
},
"type": [
"array",
"null"
]
},
"ratings": {
"items": {
"$ref": "#/components/schemas/Rating"
},
"type": [
"array",
"null"
]
},
"runtime": {
"format": "int64",
"type": "integer"
},
"seasons": {
"items": {
"$ref": "#/components/schemas/Season"
},
"type": [
"array",
"null"
]
},
"state": {
"enum": [
"observed",
"unavailable"
],
"type": "string"
},
"title": {
"$ref": "#/components/schemas/Title"
}
},
"required": [
"state",
"title",
"metadata_state",
"genres",
"seasons",
"metadata",
"observations",
"ratings"
],
"type": "object"
},
"Episode": {
"additionalProperties": false,
"properties": {
"air_date": {
"type": "string"
},
"name": {
"type": "string"
},
"number": {
"format": "int64",
"type": "integer"
},
"overview": {
"type": "string"
},
"recorded": {
"enum": [
"recorded",
"missing",
"unknown"
],
"type": "string"
},
"vote_average": {
"description": "Provider episode score on a 0\u201310 scale; absence is not zero.",
"format": "double",
"type": "number"
},
"vote_count": {
"description": "Provider episode vote count; explicit zero is retained.",
"format": "int64",
"type": "integer"
}
},
"required": [
"number",
"name",
"overview",
"recorded"
],
"type": "object"
},
"EpisodeFileChip": {
"additionalProperties": false,
"properties": {
"quality": {
"type": "string"
},
"release_name": {
"type": "string"
},
"resolution": {
"type": "string"
},
"size_bytes": {
"format": "int64",
"type": "integer"
}
},
"required": [
"size_bytes"
],
"type": "object"
},
"EpisodeRow": {
"additionalProperties": false,
"properties": {
"air_date": {
"type": "string"
},
"episode": {
"format": "int64",
"type": "integer"
},
"file": {
"$ref": "#/components/schemas/EpisodeFileChip"
},
"has_file": {
"type": "boolean"
},
"key": {
"description": "SxxEyy",
"type": "string"
},
"monitored": {
"type": "boolean"
},
"queue_state": {
"description": "Arr queue status for this exact episode; omitted when no matching queue row was observed",
"type": "string"
},
"runtime_minutes": {
"description": "Sonarr episode runtime in minutes; omitted when Sonarr reports none",
"format": "int64",
"type": "integer"
},
"season": {
"format": "int64",
"type": "integer"
},
"title": {
"type": "string"
},
"watched": {
"additionalProperties": {
"type": "boolean"
},
"type": "object"
}
},
"required": [
"season",
"episode",
"key",
"monitored",
"has_file",
"watched"
],
"type": "object"
},
"EpisodeView": {
"additionalProperties": false,
"properties": {
"$schema": {
"description": "A URL to the JSON Schema for this object.",
"examples": [
"https://example.com/schemas/EpisodeView.json"
],
"format": "uri",
"readOnly": true,
"type": "string"
},
"owners": {
"items": {
"type": "string"
},
"type": [
"array",
"null"
]
},
"seasons": {
"items": {
"$ref": "#/components/schemas/SeasonGroup"
},
"type": [
"array",
"null"
]
},
"title": {
"type": "string"
},
"tmdb_id": {
"format": "int64",
"type": "integer"
},
"users": {
"description": "jellyfin usernames whose sees: matrix covers this item (watch-chip columns)",
"items": {
"type": "string"
},
"type": [
"array",
"null"
]
}
},
"required": [
"tmdb_id",
"title",
"owners",
"users",
"seasons"
],
"type": "object"
},
"ErrorDetail": {
"additionalProperties": false,
"properties": {
"location": {
"description": "Where the error occurred, e.g. 'body.items[3].tags' or 'path.thing-id'",
"type": "string"
},
"message": {
"description": "Error message text",
"type": "string"
},
"value": {
"description": "The value at the given location"
}
},
"type": "object"
},
"ErrorModel": {
"additionalProperties": false,
"properties": {
"$schema": {
"description": "A URL to the JSON Schema for this object.",
"examples": [
"https://example.com/schemas/ErrorModel.json"
],
"format": "uri",
"readOnly": true,
"type": "string"
},
"detail": {
"description": "A human-readable explanation specific to this occurrence of the problem.",
"examples": [
"Property foo is required but is missing."
],
"type": "string"
},
"errors": {
"description": "Optional list of individual error details",
"items": {
"$ref": "#/components/schemas/ErrorDetail"
},
"type": [
"array",
"null"
]
},
"instance": {
"description": "A URI reference that identifies the specific occurrence of the problem.",
"examples": [
"https://example.com/error-log/abc123"
],
"format": "uri",
"type": "string"
},
"status": {
"description": "HTTP status code",
"examples": [
400
],
"format": "int64",
"type": "integer"
},
"title": {
"description": "A short, human-readable summary of the problem type. This value should not change between occurrences of the error.",
"examples": [
"Bad Request"
],
"type": "string"
},
"type": {
"default": "about:blank",
"description": "A URI reference to human-readable documentation for the error.",
"examples": [
"https://example.com/errors/example"
],
"format": "uri",
"type": "string"
}
},
"type": "object"
},
"EvidenceSource": {
"additionalProperties": false,
"properties": {
"detail": {
"type": "string"
},
"name": {
"type": "string"
},
"state": {
"enum": [
"observed",
"unavailable"
],
"type": "string"
}
},
"required": [
"name",
"state"
],
"type": "object"
},
"FileDetail": {
"additionalProperties": false,
"properties": {
"audio": {
"type": "string"
},
"container": {
"type": "string"
},
"quality": {
"type": "string"
},
"release_name": {
"type": "string"
},
"resolution": {
"type": "string"
},
"size_bytes": {
"format": "int64",
"type": "integer"
},
"video": {
"type": "string"
}
},
"required": [
"size_bytes"
],
"type": "object"
},
"FilmographyPage": {
"additionalProperties": false,
"properties": {
"$schema": {
"description": "A URL to the JSON Schema for this object.",
"examples": [
"https://example.com/schemas/FilmographyPage.json"
],
"format": "uri",
"readOnly": true,
"type": "string"
},
"completeness": {
"description": "Seerr filters adult credits and excludes crew here; not an exhaustive career",
"enum": [
"returned-non-adult-cast"
],
"type": "string"
},
"items": {
"items": {
"$ref": "#/components/schemas/FilmographyTitle"
},
"type": [
"array",
"null"
]
},
"metadata_state": {
"enum": [
"observed",
"missing",
"unavailable"
],
"type": "string"
},
"observations": {
"items": {
"$ref": "#/components/schemas/LibraryObservation"
},
"type": [
"array",
"null"
]
},
"page": {
"format": "int64",
"type": "integer"
},
"page_size": {
"format": "int64",
"type": "integer"
},
"performer_id": {
"format": "int64",
"type": "integer"
},
"source": {
"enum": [
"seerr"
],
"type": "string"
},
"source_paging": {
"enum": [
"unpaged"
],
"type": "string"
},
"total_pages": {
"description": "Native pages of grouped typed titles; absent when source is unanswered",
"format": "int64",
"type": "integer"
},
"total_results": {
"description": "Unique typed titles in this returned source set; absent when source is unanswered",
"format": "int64",
"type": "integer"
}
},
"required": [
"performer_id",
"metadata_state",
"source",
"source_paging",
"completeness",
"page",
"page_size",
"items",
"observations"
],
"type": "object"
},
"FilmographyTitle": {
"additionalProperties": false,
"properties": {
"credits": {
"items": {
"$ref": "#/components/schemas/ActingCredit"
},
"type": [
"array",
"null"
]
},
"title": {
"$ref": "#/components/schemas/Title"
},
"users": {
"description": "Configured viewers when visibility_state is configured; otherwise unknown",
"items": {
"type": "string"
},
"type": [
"array",
"null"
]
},
"visibility_state": {
"description": "Configured library audience only, never observed Jellyfin visibility or playback",
"enum": [
"configured",
"unknown"
],
"type": "string"
}
},
"required": [
"title",
"credits",
"visibility_state",
"users"
],
"type": "object"
},
"Genre": {
"additionalProperties": false,
"properties": {
"id": {
"format": "int64",
"type": "integer"
},
"name": {
"type": "string"
}
},
"required": [
"id",
"name"
],
"type": "object"
},
"HealthDetail": {
"additionalProperties": false,
"properties": {
"failed": {
"type": "boolean"
},
"has_file": {
"type": "boolean"
},
"in_queue": {
"type": "boolean"
},
"missing": {
"type": "boolean"
}
},
"required": [
"has_file",
"in_queue",
"failed",
"missing"
],
"type": "object"
},
"HeldTitle": {
"additionalProperties": false,
"properties": {
"$schema": {
"description": "A URL to the JSON Schema for this object.",
"examples": [
"https://example.com/schemas/HeldTitle.json"
],
"format": "uri",
"readOnly": true,
"type": "string"
},
"detail": {
"$ref": "#/components/schemas/ItemDetail"
},
"episodes": {
"$ref": "#/components/schemas/EpisodeView"
},
"libraries": {
"items": {
"type": "string"
},
"type": [
"array",
"null"
]
},
"observations": {
"items": {
"$ref": "#/components/schemas/LibraryObservation"
},
"type": [
"array",
"null"
]
},
"state": {
"enum": [
"observed",
"partial"
],
"type": "string"
},
"versions": {
"items": {
"$ref": "#/components/schemas/TitleVersion"
},
"type": [
"array",
"null"
]
},
"watched": {
"additionalProperties": {
"type": "boolean"
},
"type": "object"
}
},
"required": [
"state",
"detail",
"libraries",
"versions",
"observations",
"watched"
],
"type": "object"
},
"ItemDetail": {
"additionalProperties": false,
"properties": {
"$schema": {
"description": "A URL to the JSON Schema for this object.",
"examples": [
"https://example.com/schemas/ItemDetail.json"
],
"format": "uri",
"readOnly": true,
"type": "string"
},
"backdrop_ref": {
"description": "Public provider landscape artwork from the holding Arr",
"type": "string"
},
"file": {
"$ref": "#/components/schemas/FileDetail"
},
"health": {
"$ref": "#/components/schemas/HealthDetail"
},
"is_anime": {
"type": "boolean"
},
"media_type": {
"type": "string"
},
"owners": {
"items": {
"type": "string"
},
"type": [
"array",
"null"
]
},
"poster_ref": {
"description": "Public provider poster artwork from the holding Arr",
"type": "string"
},
"runtime": {
"description": "minutes",
"format": "int64",
"type": "integer"
},
"source": {
"$ref": "#/components/schemas/SourceDetail"
},
"title": {
"type": "string"
},
"tmdb_id": {
"format": "int64",
"type": "integer"
},
"users": {
"description": "jellyfin usernames whose sees: matrix covers this item (movie watch-chip columns)",
"items": {
"type": "string"
},
"type": [
"array",
"null"
]
},
"year": {
"format": "int64",
"type": "integer"
}
},
"required": [
"tmdb_id",
"media_type",
"title",
"owners",
"is_anime",
"source",
"health",
"users"
],
"type": "object"
},
"LibraryAudience": {
"additionalProperties": false,
"properties": {
"is_anime": {
"type": "boolean"
},
"libraries": {
"description": "Enabled configured household libraries covering this membership scope",
"items": {
"type": "string"
},
"type": [
"array",
"null"
]
},
"media_type": {
"enum": [
"movie",
"tv"
],
"type": "string"
},
"owner": {
"description": "Named household membership used by the existing add, move and remove interface",
"type": "string"
},
"users": {
"description": "Enabled Jellyfin usernames whose configured sees covers this scope, not watch-write authority",
"items": {
"type": "string"
},
"type": [
"array",
"null"
]
}
},
"required": [
"owner",
"media_type",
"is_anime",
"libraries",
"users"
],
"type": "object"
},
"LibraryAudiencesBody": {
"additionalProperties": false,
"properties": {
"$schema": {
"description": "A URL to the JSON Schema for this object.",
"examples": [
"https://example.com/schemas/LibraryAudiencesBody.json"
],
"format": "uri",
"readOnly": true,
"type": "string"
},
"audiences": {
"items": {
"$ref": "#/components/schemas/LibraryAudience"
},
"type": [
"array",
"null"
]
}
},
"required": [
"audiences"
],
"type": "object"
},
"LibraryObservation": {
"additionalProperties": false,
"properties": {
"detail": {
"type": "string"
},
"observed_at": {
"format": "date-time",
"type": "string"
},
"source": {
"type": "string"
},
"state": {
"enum": [
"observed",
"partial",
"unavailable"
],
"type": "string"
}
},
"required": [
"source",
"state"
],
"type": "object"
},
"OpenLink": {
"additionalProperties": false,
"properties": {
"detail": {
"type": "string"
},
"state": {
"enum": [
"observed",
"missing",
"unavailable",
"unconfigured",
"not_permitted"
],
"type": "string"
},
"url": {
"description": "The viewer's own Jellyfin item page; the person signs in to Jellyfin as themself",
"type": "string"
}
},
"required": [
"state"
],
"type": "object"
},
"Operator": {
"additionalProperties": false,
"properties": {
"$schema": {
"description": "A URL to the JSON Schema for this object.",
"examples": [
"https://example.com/schemas/Operator.json"
],
"format": "uri",
"readOnly": true,
"type": "string"
},
"capabilities": {
"$ref": "#/components/schemas/OperatorCapabilities"
},
"name": {
"type": "string"
},
"recommendation_profile": {
"type": "string"
},
"requester": {
"type": "string"
},
"role": {
"enum": [
"admin",
"household"
],
"type": "string"
},
"subject": {
"type": "string"
},
"watch_user": {
"type": "string"
}
},
"required": [
"subject",
"name",
"role",
"requester",
"watch_user",
"recommendation_profile",
"capabilities"
],
"type": "object"
},
"OperatorCapabilities": {
"additionalProperties": false,
"properties": {
"administer": {
"type": "boolean"
},
"manage_library": {
"type": "boolean"
},
"manage_memberships": {
"type": "boolean"
},
"recommendation_profiles": {
"items": {
"type": "string"
},
"type": [
"array",
"null"
]
},
"request_media": {
"type": "boolean"
},
"requesters": {
"items": {
"type": "string"
},
"type": [
"array",
"null"
]
},
"watch_users": {
"items": {
"type": "string"
},
"type": [
"array",
"null"
]
}
},
"required": [
"administer",
"manage_library",
"manage_memberships",
"request_media",
"watch_users",
"recommendation_profiles",
"requesters"
],
"type": "object"
},
"Option": {
"additionalProperties": false,
"properties": {
"id": {
"format": "int64",
"type": "integer"
},
"logo_url": {
"description": "Validated TMDB CDN logo for a watch provider; absent for genres and when upstream has no safe logo",
"type": "string"
},
"name": {
"type": "string"
}
},
"required": [
"id",
"name"
],
"type": "object"
},
"Options": {
"additionalProperties": false,
"properties": {
"$schema": {
"description": "A URL to the JSON Schema for this object.",
"examples": [
"https://example.com/schemas/Options.json"
],
"format": "uri",
"readOnly": true,
"type": "string"
},
"genres": {
"items": {
"$ref": "#/components/schemas/Option"
},
"type": [
"array",
"null"
]
},
"media_type": {
"enum": [
"movie",
"tv"
],
"type": "string"
},
"observations": {
"items": {
"$ref": "#/components/schemas/LibraryObservation"
},
"type": [
"array",
"null"
]
},
"region": {
"description": "Comma-separated configured catalogue regions",
"type": "string"
},
"services": {
"description": "Curated streaming providers observed in their configured regions, not title availability or playback evidence",
"items": {
"$ref": "#/components/schemas/Option"
},
"type": [
"array",
"null"
]
},
"state": {
"enum": [
"observed",
"partial",
"unavailable"
],
"type": "string"
}
},
"required": [
"state",
"media_type",
"region",
"genres",
"services",
"observations"
],
"type": "object"
},
"Page": {
"additionalProperties": false,
"properties": {
"$schema": {
"description": "A URL to the JSON Schema for this object.",
"examples": [
"https://example.com/schemas/Page.json"
],
"format": "uri",
"readOnly": true,
"type": "string"
},
"discovery": {
"$ref": "#/components/schemas/Discovery",
"description": "General discovery context and upstream page observation, independent of local holding freshness"
},
"items": {
"items": {
"$ref": "#/components/schemas/Title"
},
"type": [
"array",
"null"
]
},
"media_type": {
"enum": [
"all",
"movie",
"tv"
],
"type": "string"
},
"observations": {
"items": {
"$ref": "#/components/schemas/LibraryObservation"
},
"type": [
"array",
"null"
]
},
"page": {
"format": "int64",
"type": "integer"
},
"query": {
"type": "string"
},
"source": {
"enum": [
"search",
"general",
"related"
],
"type": "string"
},
"state": {
"enum": [
"observed",
"partial"
],
"type": "string"
},
"total_pages": {
"description": "Known pages; merged regional service lanes expose only the materialized prefix until exhaustion",
"format": "int64",
"type": "integer"
},
"total_results": {
"description": "Upstream matches before type filtering, or the known deduplicated prefix for merged regional service lanes",
"format": "int64",
"type": "integer"
}
},
"required": [
"state",
"source",
"query",
"media_type",
"page",
"total_pages",
"total_results",
"items",
"observations"
],
"type": "object"
},
"PerformerDetail": {
"additionalProperties": false,
"properties": {
"$schema": {
"description": "A URL to the JSON Schema for this object.",
"examples": [
"https://example.com/schemas/PerformerDetail.json"
],
"format": "uri",
"readOnly": true,
"type": "string"
},
"also_known_as": {
"items": {
"type": "string"
},
"type": [
"array",
"null"
]
},
"biography": {
"type": "string"
},
"birthday": {
"type": "string"
},
"deathday": {
"type": "string"
},
"known_for_department": {
"type": "string"
},
"metadata_state": {
"enum": [
"observed",
"missing",
"unavailable"
],
"type": "string"
},
"name": {
"type": "string"
},
"performer_id": {
"format": "int64",
"type": "integer"
},
"place_of_birth": {
"type": "string"
},
"profile_url": {
"type": "string"
},
"source": {
"enum": [
"seerr"
],
"type": "string"
}
},
"required": [
"performer_id",
"metadata_state",
"source"
],
"type": "object"
},
"Person": {
"additionalProperties": false,
"properties": {
"key": {
"type": "string"
},
"name": {
"description": "Jellyfin username the household member is known by",
"type": "string"
}
},
"required": [
"key",
"name"
],
"type": "object"
},
"Provider": {
"additionalProperties": false,
"properties": {
"id": {
"format": "int64",
"type": "integer"
},
"logo_url": {
"type": "string"
},
"name": {
"type": "string"
}
},
"required": [
"id",
"name"
],
"type": "object"
},
"Rating": {
"additionalProperties": false,
"properties": {
"score": {
"description": "RT is 0\u2013100; IMDb and TMDB are 0\u201310. Absent is never zero.",
"format": "double",
"type": "number"
},
"source": {
"enum": [
"rt_critics",
"rt_audience",
"imdb",
"tmdb"
],
"type": "string"
},
"state": {
"enum": [
"observed",
"unrated",
"missing",
"unavailable"
],
"type": "string"
},
"status": {
"description": "Observed RT critics or audience label, never inferred from a percentage.",
"type": "string"
},
"url": {
"type": "string"
},
"votes": {
"format": "int64",
"type": "integer"
}
},
"required": [
"source",
"state"
],
"type": "object"
},
"ReadProfile": {
"additionalProperties": false,
"properties": {
"key": {
"type": "string"
},
"name": {
"type": "string"
}
},
"required": [
"key",
"name"
],
"type": "object"
},
"ReadinessStage": {
"additionalProperties": false,
"properties": {
"name": {
"enum": [
"request",
"acquisition",
"visibility",
"playback"
],
"type": "string"
},
"observed_at": {
"description": "When the evidence was last observed (RFC 3339 UTC), when the owner records it",
"type": "string"
},
"source": {
"description": "The evidence owner this stage reads; it never stands in for another stage",
"type": "string"
},
"state": {
"enum": [
"done",
"partial",
"in_progress",
"none",
"unknown",
"stale",
"conflicting",
"failed"
],
"type": "string"
},
"summary": {
"description": "What this stage's own evidence says, including why it is unknown, stale, conflicting or failed",
"type": "string"
}
},
"required": [
"name",
"state",
"summary",
"source"
],
"type": "object"
},
"RecommendationCoverage": {
"additionalProperties": false,
"properties": {
"complete": {
"description": "Successful ranked snapshot and all active predicates observed for its scoped candidates; not freshness, catalogue completeness or playback proof",
"type": "boolean"
},
"excluded": {
"format": "int64",
"type": "integer"
},
"matched": {
"format": "int64",
"type": "integer"
},
"total": {
"format": "int64",
"type": "integer"
},
"unresolved": {
"format": "int64",
"type": "integer"
}
},
"required": [
"total",
"matched",
"excluded",
"unresolved",
"complete"
],
"type": "object"
},
"RecommendationDismissal": {
"additionalProperties": false,
"properties": {
"hidden_at": {
"format": "date-time",
"type": "string"
},
"hidden_by": {
"description": "Household requester key of the operator who hid it",
"type": "string"
},
"media_type": {
"enum": [
"movie",
"tv"
],
"type": "string"
},
"poster_path": {
"type": "string"
},
"title": {
"description": "Display name captured when hidden; empty when it was unknown",
"type": "string"
},
"tmdb_id": {
"format": "int64",
"type": "integer"
},
"year": {
"format": "int64",
"type": "integer"
}
},
"required": [
"media_type",
"tmdb_id",
"title",
"year",
"poster_path",
"hidden_by",
"hidden_at"
],
"type": "object"
},
"RecommendationDismissals": {
"additionalProperties": false,
"properties": {
"$schema": {
"description": "A URL to the JSON Schema for this object.",
"examples": [
"https://example.com/schemas/RecommendationDismissals.json"
],
"format": "uri",
"readOnly": true,
"type": "string"
},
"dismissals": {
"items": {
"$ref": "#/components/schemas/RecommendationDismissal"
},
"type": [
"array",
"null"
]
},
"profile": {
"type": "string"
}
},
"required": [
"profile",
"dismissals"
],
"type": "object"
},
"RecommendationFact": {
"additionalProperties": false,
"properties": {
"genre_source": {
"description": "Ranked genre context takes precedence; metadata is a fallback only when ranked genres are unknown",
"enum": [
"ranked",
"metadata",
"unknown"
],
"type": "string"
},
"match": {
"enum": [
"matched",
"excluded",
"unresolved"
],
"type": "string"
},
"metadata": {
"$ref": "#/components/schemas/TitleMetadata"
}
},
"required": [
"metadata",
"match",
"genre_source"
],
"type": "object"
},
"RecommendationFeed": {
"additionalProperties": false,
"properties": {
"$schema": {
"description": "A URL to the JSON Schema for this object.",
"examples": [
"https://example.com/schemas/RecommendationFeed.json"
],
"format": "uri",
"readOnly": true,
"type": "string"
},
"attempted_at": {
"format": "date-time",
"type": "string"
},
"expires_at": {
"description": "observed_at plus the configured feed interval; expiry only, not a scheduled refresh or retry",
"format": "date-time",
"type": "string"
},
"failure": {
"enum": [
"profile_resolution",
"memberships",
"history",
"candidates",
"cycle"
],
"type": "string"
},
"materialization": {
"enum": [
"unknown",
"pending",
"current",
"failed"
],
"type": "string"
},
"movies": {
"items": {
"$ref": "#/components/schemas/Candidate"
},
"type": [
"array",
"null"
]
},
"observed_at": {
"format": "date-time",
"type": "string"
},
"outcome": {
"enum": [
"unknown",
"ranked",
"no_seeds",
"empty"
],
"type": "string"
},
"profile": {
"$ref": "#/components/schemas/ReadProfile"
},
"projection": {
"$ref": "#/components/schemas/RecommendationProjection"
},
"shows": {
"items": {
"$ref": "#/components/schemas/Candidate"
},
"type": [
"array",
"null"
]
},
"state": {
"enum": [
"current",
"stale",
"unavailable"
],
"type": "string"
}
},
"required": [
"projection",
"profile",
"state",
"outcome",
"materialization",
"movies",
"shows"
],
"type": "object"
},
"RecommendationHideInputBody": {
"additionalProperties": false,
"properties": {
"$schema": {
"description": "A URL to the JSON Schema for this object.",
"examples": [
"https://example.com/schemas/RecommendationHideInputBody.json"
],
"format": "uri",
"readOnly": true,
"type": "string"
},
"media_type": {
"enum": [
"movie",
"tv"
],
"type": "string"
},
"poster_path": {
"maxLength": 200,
"type": "string"
},
"title": {
"description": "Display hint, used only when the retained feed no longer carries the title",
"maxLength": 300,
"type": "string"
},
"tmdb_id": {
"format": "int64",
"minimum": 1,
"type": "integer"
},
"year": {
"format": "int64",
"maximum": 9999,
"minimum": 0,
"type": "integer"
}
},
"required": [
"media_type",
"tmdb_id"
],
"type": "object"
},
"RecommendationHideResult": {
"additionalProperties": false,
"properties": {
"$schema": {
"description": "A URL to the JSON Schema for this object.",
"examples": [
"https://example.com/schemas/RecommendationHideResult.json"
],
"format": "uri",
"readOnly": true,
"type": "string"
},
"created": {
"description": "False when the title was already hidden",
"type": "boolean"
},
"dismissal": {
"$ref": "#/components/schemas/RecommendationDismissal"
},
"materialization": {
"description": "Jellyfin recommendation folders after the hide; failed leaves the dismissal in force until the next cycle converges them",
"enum": [
"current",
"failed",
"unchanged"
],
"type": "string"
},
"profile": {
"type": "string"
}
},
"required": [
"profile",
"dismissal",
"created",
"materialization"
],
"type": "object"
},
"RecommendationProfiles": {
"additionalProperties": false,
"properties": {
"$schema": {
"description": "A URL to the JSON Schema for this object.",
"examples": [
"https://example.com/schemas/RecommendationProfiles.json"
],
"format": "uri",
"readOnly": true,
"type": "string"
},
"default_profile": {
"type": "string"
},
"profiles": {
"items": {
"$ref": "#/components/schemas/ReadProfile"
},
"type": [
"array",
"null"
]
}
},
"required": [
"profiles",
"default_profile"
],
"type": "object"
},
"RecommendationProjection": {
"additionalProperties": false,
"properties": {
"coverage": {
"$ref": "#/components/schemas/RecommendationCoverage"
},
"facts": {
"description": "Scoped candidates in original movie rank followed by original series rank; unknown observations never prove exclusion",
"items": {
"$ref": "#/components/schemas/RecommendationFact"
},
"type": [
"array",
"null"
]
},
"genre_id": {
"format": "int64",
"type": "integer"
},
"media_type": {
"enum": [
"all",
"movie",
"tv"
],
"type": "string"
},
"service_id": {
"format": "int64",
"type": "integer"
},
"unresolved": {
"description": "Possible matches with unknown active predicates, in original per-media relative order",
"items": {
"$ref": "#/components/schemas/Candidate"
},
"type": [
"array",
"null"
]
}
},
"required": [
"media_type",
"genre_id",
"service_id",
"coverage",
"facts",
"unresolved"
],
"type": "object"
},
"RecommendationRestoreResult": {
"additionalProperties": false,
"properties": {
"$schema": {
"description": "A URL to the JSON Schema for this object.",
"examples": [
"https://example.com/schemas/RecommendationRestoreResult.json"
],
"format": "uri",
"readOnly": true,
"type": "string"
},
"media_type": {
"enum": [
"movie",
"tv"
],
"type": "string"
},
"profile": {
"type": "string"
},
"restored": {
"description": "False when the title was not hidden",
"type": "boolean"
},
"tmdb_id": {
"format": "int64",
"type": "integer"
}
},
"required": [
"profile",
"media_type",
"tmdb_id",
"restored"
],
"type": "object"
},
"RequestIntentBody": {
"additionalProperties": false,
"properties": {
"$schema": {
"description": "A URL to the JSON Schema for this object.",
"examples": [
"https://example.com/schemas/RequestIntentBody.json"
],
"format": "uri",
"readOnly": true,
"type": "string"
},
"media_type": {
"enum": [
"movie",
"tv"
],
"type": "string"
},
"recommendation_profile": {
"type": "string"
},
"requester": {
"description": "Household requester key to attribute the request to; defaults to the signed-in operator's own requester and must be one of the operator's capability requesters",
"type": "string"
},
"seasons": {
"description": "Television only: the explicit seasons wanted (0 is specials). An empty selection is refused, never read as all seasons. Omit for a movie",
"items": {
"format": "int64",
"type": "integer"
},
"type": [
"array",
"null"
]
},
"source": {
"default": "title",
"description": "Recommendation requires recommendation_profile and settles that profile's own acceptance only when it is also the requester",
"enum": [
"title",
"recommendation"
],
"type": "string"
},
"tmdb_id": {
"format": "int64",
"minimum": 1,
"type": "integer"
}
},
"required": [
"media_type",
"tmdb_id"
],
"type": "object"
},
"RequestProgress": {
"additionalProperties": false,
"properties": {
"actor": {
"$ref": "#/components/schemas/Actor",
"description": "Who filed it, as recorded; absent when the request was filed outside the cockpit"
},
"awaiting_approval": {
"description": "The request is filed in Seerr and nothing has been dispatched, imported or observed yet, so no acquisition has started. Absent otherwise",
"type": "boolean"
},
"blocking_stage": {
"description": "First stage without done evidence. Absent only when every stage has it. Not a readiness claim",
"enum": [
"request",
"acquisition",
"visibility",
"playback"
],
"type": "string"
},
"filed_by_you": {
"description": "The signed-in operator filed this command",
"type": "boolean"
},
"id": {
"description": "request-N for a cockpit command, dispatch-N for a request Seerr approved outside the cockpit",
"type": "string"
},
"media_type": {
"enum": [
"movie",
"tv"
],
"type": "string"
},
"on_behalf": {
"description": "The actor's own requester differs from the attributed requester",
"type": "boolean"
},
"requested_at": {
"type": "string"
},
"requester": {
"$ref": "#/components/schemas/Person",
"description": "The household member the request is attributed to; this decides which feed the item belongs to"
},
"seasons": {
"description": "Television seasons explicitly requested; empty for a movie or when not recorded",
"items": {
"format": "int64",
"type": "integer"
},
"type": [
"array",
"null"
]
},
"stages": {
"items": {
"$ref": "#/components/schemas/ReadinessStage"
},
"type": [
"array",
"null"
]
},
"title": {
"description": "Known from the dispatch log or library membership; empty when no local record names the title yet",
"type": "string"
},
"tmdb_id": {
"format": "int64",
"type": "integer"
}
},
"required": [
"id",
"tmdb_id",
"media_type",
"requester",
"on_behalf",
"filed_by_you",
"seasons",
"stages"
],
"type": "object"
},
"RequestReceipt": {
"additionalProperties": false,
"properties": {
"$schema": {
"description": "A URL to the JSON Schema for this object.",
"examples": [
"https://example.com/schemas/RequestReceipt.json"
],
"format": "uri",
"readOnly": true,
"type": "string"
},
"actor": {
"$ref": "#/components/schemas/RequestReceiptActor",
"description": "Authenticated operator who issued the command; separate from the requester"
},
"attempts": {
"format": "int64",
"type": "integer"
},
"coverage": {
"description": "One outcome per selected season, never inferred from other seasons",
"items": {
"$ref": "#/components/schemas/RequestReceiptCoverage"
},
"type": [
"array",
"null"
]
},
"created_at": {
"type": "string"
},
"detail": {
"description": "Why the command is pending or what was refused",
"type": "string"
},
"id": {
"description": "Native request record; retrying the same command resumes this record",
"format": "int64",
"type": "integer"
},
"media_type": {
"enum": [
"movie",
"tv"
],
"type": "string"
},
"membership": {
"$ref": "#/components/schemas/RequestReceiptMembership"
},
"on_behalf": {
"description": "The requester differs from the acting operator's own household requester",
"type": "boolean"
},
"recommendation_profile": {
"type": "string"
},
"requester": {
"description": "Household requester the request is attributed to",
"type": "string"
},
"requester_username": {
"type": "string"
},
"seasons": {
"description": "Explicit television seasons the operator asked for; empty for a movie",
"items": {
"format": "int64",
"type": "integer"
},
"type": [
"array",
"null"
]
},
"seerr": {
"$ref": "#/components/schemas/RequestReceiptSeerr"
},
"source": {
"enum": [
"title",
"recommendation"
],
"type": "string"
},
"state": {
"description": "Settled: every part has a verified outcome. Pending: a fact is unresolved. Retired: an administrator ended a stale-identity pending command without cancelling any Seerr request or reversing media effects",
"enum": [
"settled",
"pending",
"retired"
],
"type": "string"
},
"tmdb_id": {
"format": "int64",
"type": "integer"
},
"updated_at": {
"type": "string"
}
},
"required": [
"id",
"media_type",
"tmdb_id",
"state",
"requester",
"requester_username",
"actor",
"on_behalf",
"source",
"seasons",
"membership",
"seerr",
"coverage",
"attempts",
"created_at",
"updated_at"
],
"type": "object"
},
"RequestReceiptActor": {
"additionalProperties": false,
"properties": {
"name": {
"type": "string"
},
"requester": {
"description": "The acting operator's own household requester key",
"type": "string"
},
"role": {
"enum": [
"admin",
"household"
],
"type": "string"
}
},
"required": [
"name",
"role",
"requester"
],
"type": "object"
},
"RequestReceiptCoverage": {
"additionalProperties": false,
"properties": {
"outcome": {
"enum": [
"requested",
"already_requested",
"already_held",
"unresolved"
],
"type": "string"
},
"request_id": {
"format": "int64",
"type": "integer"
},
"season": {
"format": "int64",
"type": "integer"
}
},
"required": [
"season",
"outcome"
],
"type": "object"
},
"RequestReceiptMembership": {
"additionalProperties": false,
"properties": {
"bucket": {
"description": "Library route the membership landed in",
"type": "string"
},
"dispatch_log_id": {
"format": "int64",
"type": "integer"
},
"status": {
"enum": [
"added",
"already_owned",
"pending_dispatch",
"conflict",
"failed"
],
"type": "string"
}
},
"required": [
"status"
],
"type": "object"
},
"RequestReceiptSeerr": {
"additionalProperties": false,
"properties": {
"outcome": {
"enum": [
"requested",
"already_requested",
"not_needed",
"not_attempted",
"unresolved"
],
"type": "string"
},
"request_id": {
"description": "Seerr request attributed to the requester that covers this command",
"format": "int64",
"type": "integer"
}
},
"required": [
"outcome"
],
"type": "object"
},
"Season": {
"additionalProperties": false,
"properties": {
"air_date": {
"type": "string"
},
"coverage": {
"enum": [
"none",
"partial",
"complete",
"unknown"
],
"type": "string"
},
"episode_count": {
"format": "int64",
"type": "integer"
},
"name": {
"type": "string"
},
"number": {
"format": "int64",
"type": "integer"
},
"overview": {
"type": "string"
},
"recorded_episodes": {
"format": "int64",
"type": "integer"
},
"request_state": {
"enum": [
"none",
"requested",
"unknown"
],
"type": "string"
},
"seerr_state": {
"enum": [
"untracked",
"unknown",
"pending",
"processing",
"partial",
"available",
"blocklisted",
"deleted"
],
"type": "string"
}
},
"required": [
"number",
"name",
"overview",
"episode_count",
"recorded_episodes",
"coverage",
"request_state",
"seerr_state"
],
"type": "object"
},
"SeasonCoverage": {
"additionalProperties": false,
"properties": {
"coverage": {
"enum": [
"complete",
"partial",
"none",
"unknown"
],
"type": "string"
},
"season": {
"format": "int64",
"type": "integer"
}
},
"required": [
"season",
"coverage"
],
"type": "object"
},
"SeasonDetail": {
"additionalProperties": false,
"properties": {
"$schema": {
"description": "A URL to the JSON Schema for this object.",
"examples": [
"https://example.com/schemas/SeasonDetail.json"
],
"format": "uri",
"readOnly": true,
"type": "string"
},
"episodes": {
"items": {
"$ref": "#/components/schemas/Episode"
},
"type": [
"array",
"null"
]
},
"media_type": {
"enum": [
"tv"
],
"type": "string"
},
"metadata_state": {
"enum": [
"observed",
"missing",
"unavailable"
],
"type": "string"
},
"observations": {
"items": {
"$ref": "#/components/schemas/LibraryObservation"
},
"type": [
"array",
"null"
]
},
"season": {
"$ref": "#/components/schemas/Season"
},
"tmdb_id": {
"format": "int64",
"type": "integer"
}
},
"required": [
"tmdb_id",
"media_type",
"metadata_state",
"season",
"episodes",
"observations"
],
"type": "object"
},
"SeasonGroup": {
"additionalProperties": false,
"properties": {
"episodes": {
"items": {
"$ref": "#/components/schemas/EpisodeRow"
},
"type": [
"array",
"null"
]
},
"season": {
"format": "int64",
"type": "integer"
}
},
"required": [
"season",
"episodes"
],
"type": "object"
},
"SeedContribution": {
"additionalProperties": false,
"properties": {
"added": {
"description": "A successful attributed addition contributed nonzero seed weight",
"type": "boolean"
},
"media_type": {
"enum": [
"movie",
"tv"
],
"type": "string"
},
"title": {
"description": "Observed display name; absent when unknown",
"type": "string"
},
"tmdb_id": {
"format": "int64",
"type": "integer"
},
"watched": {
"description": "A played history event contributed nonzero seed weight",
"type": "boolean"
}
},
"required": [
"watched",
"added",
"media_type",
"tmdb_id"
],
"type": "object"
},
"SeerrObservation": {
"additionalProperties": false,
"properties": {
"detail": {
"type": "string"
},
"requests": {
"items": {
"$ref": "#/components/schemas/SeerrRequest"
},
"type": [
"array",
"null"
]
},
"state": {
"enum": [
"observed",
"unavailable"
],
"type": "string"
}
},
"required": [
"state",
"requests"
],
"type": "object"
},
"SeerrRequest": {
"additionalProperties": false,
"properties": {
"id": {
"format": "int64",
"type": "integer"
},
"status": {
"enum": [
"pending",
"approved",
"declined",
"failed",
"completed",
"unknown"
],
"type": "string"
}
},
"required": [
"id",
"status"
],
"type": "object"
},
"SourceDetail": {
"additionalProperties": false,
"properties": {
"arr": {
"type": "string"
},
"imported": {
"description": "import timestamp (RFC3339)",
"type": "string"
},
"indexer": {
"type": "string"
}
},
"required": [
"arr"
],
"type": "object"
},
"Title": {
"additionalProperties": false,
"properties": {
"backdrop_url": {
"description": "Landscape artwork on the TMDB image CDN; absent when none is observed or the upstream path is not a CDN-relative path",
"type": "string"
},
"genre_ids": {
"description": "TMDB genre IDs in this title's media-type namespace; absent is unobserved, empty is observed without genres",
"items": {
"format": "int64",
"type": "integer"
},
"type": "array"
},
"held": {
"enum": [
"held",
"unheld",
"unknown"
],
"type": "string"
},
"libraries": {
"items": {
"type": "string"
},
"type": [
"array",
"null"
]
},
"media_type": {
"enum": [
"movie",
"tv"
],
"type": "string"
},
"overview": {
"type": "string"
},
"poster_url": {
"type": "string"
},
"release_date": {
"type": "string"
},
"request_state": {
"enum": [
"none",
"requested",
"unknown"
],
"type": "string"
},
"seerr_state": {
"enum": [
"untracked",
"unknown",
"pending",
"processing",
"partial",
"available",
"blocklisted",
"deleted"
],
"type": "string"
},
"title": {
"type": "string"
},
"tmdb_id": {
"format": "int64",
"type": "integer"
}
},
"required": [
"tmdb_id",
"media_type",
"title",
"overview",
"held",
"request_state",
"seerr_state",
"libraries"
],
"type": "object"
},
"TitleCast": {
"additionalProperties": false,
"properties": {
"$schema": {
"description": "A URL to the JSON Schema for this object.",
"examples": [
"https://example.com/schemas/TitleCast.json"
],
"format": "uri",
"readOnly": true,
"type": "string"
},
"credit_context": {
"description": "Seerr exposes only each TV performer's most frequent aggregate role, not every role or episode count",
"enum": [
"movie-character",
"tv-leading-character"
],
"type": "string"
},
"items": {
"items": {
"$ref": "#/components/schemas/CastMember"
},
"type": [
"array",
"null"
]
},
"media_type": {
"enum": [
"movie",
"tv"
],
"type": "string"
},
"metadata_state": {
"enum": [
"observed",
"missing",
"unavailable"
],
"type": "string"
},
"paging": {
"description": "One complete returned Seerr cast list, not invented upstream pages",
"enum": [
"unpaged"
],
"type": "string"
},
"source": {
"enum": [
"seerr"
],
"type": "string"
},
"tmdb_id": {
"format": "int64",
"type": "integer"
}
},
"required": [
"tmdb_id",
"media_type",
"metadata_state",
"source",
"paging",
"credit_context",
"items"
],
"type": "object"
},
"TitleMetadata": {
"additionalProperties": false,
"properties": {
"$schema": {
"description": "A URL to the JSON Schema for this object.",
"examples": [
"https://example.com/schemas/TitleMetadata.json"
],
"format": "uri",
"readOnly": true,
"type": "string"
},
"checked_at": {
"format": "date-time",
"type": "string"
},
"genre_state": {
"enum": [
"unobserved",
"observed",
"missing",
"unavailable"
],
"type": "string"
},
"genres": {
"items": {
"$ref": "#/components/schemas/Genre"
},
"type": [
"array",
"null"
]
},
"genres_observed_at": {
"format": "date-time",
"type": "string"
},
"media_type": {
"enum": [
"movie",
"tv"
],
"type": "string"
},
"provider_state": {
"enum": [
"unobserved",
"observed",
"missing",
"unavailable"
],
"type": "string"
},
"providers": {
"items": {
"$ref": "#/components/schemas/Provider"
},
"type": [
"array",
"null"
]
},
"providers_observed_at": {
"format": "date-time",
"type": "string"
},
"region": {
"enum": [
"NL"
],
"type": "string"
},
"tmdb_id": {
"format": "int64",
"type": "integer"
}
},
"required": [
"tmdb_id",
"media_type",
"region",
"genre_state",
"provider_state",
"genres",
"providers"
],
"type": "object"
},
"TitleRequestsBody": {
"additionalProperties": false,
"properties": {
"$schema": {
"description": "A URL to the JSON Schema for this object.",
"examples": [
"https://example.com/schemas/TitleRequestsBody.json"
],
"format": "uri",
"readOnly": true,
"type": "string"
},
"requests": {
"items": {
"$ref": "#/components/schemas/RequestReceipt"
},
"type": [
"array",
"null"
]
}
},
"required": [
"requests"
],
"type": "object"
},
"TitleVersion": {
"additionalProperties": false,
"properties": {
"file": {
"$ref": "#/components/schemas/FileDetail"
},
"role": {
"enum": [
"primary",
"mirror"
],
"type": "string"
},
"seasons": {
"items": {
"$ref": "#/components/schemas/SeasonGroup"
},
"type": [
"array",
"null"
]
},
"source": {
"type": "string"
}
},
"required": [
"source",
"role"
],
"type": "object"
},
"ViewerReadiness": {
"additionalProperties": false,
"properties": {
"$schema": {
"description": "A URL to the JSON Schema for this object.",
"examples": [
"https://example.com/schemas/ViewerReadiness.json"
],
"format": "uri",
"readOnly": true,
"type": "string"
},
"blocking_stage": {
"enum": [
"request",
"acquisition",
"visibility",
"playback"
],
"type": "string"
},
"coverage": {
"description": "Recorded-file coverage of the requested seasons (or every listed season when none were recorded); empty for a movie",
"items": {
"$ref": "#/components/schemas/SeasonCoverage"
},
"type": [
"array",
"null"
]
},
"media_type": {
"enum": [
"movie",
"tv"
],
"type": "string"
},
"open_link": {
"$ref": "#/components/schemas/OpenLink"
},
"seerr": {
"$ref": "#/components/schemas/SeerrObservation"
},
"sources": {
"items": {
"$ref": "#/components/schemas/EvidenceSource"
},
"type": [
"array",
"null"
]
},
"stages": {
"items": {
"$ref": "#/components/schemas/ReadinessStage"
},
"type": [
"array",
"null"
]
},
"title": {
"type": "string"
},
"tmdb_id": {
"format": "int64",
"type": "integer"
},
"viewer": {
"$ref": "#/components/schemas/Person"
}
},
"required": [
"tmdb_id",
"media_type",
"viewer",
"stages",
"seerr",
"coverage",
"open_link",
"sources"
],
"type": "object"
},
"Display": {
"additionalProperties": false,
"properties": {
"$schema": {
"description": "A URL to the JSON Schema for this object.",
"examples": [
"https://example.com/schemas/Display.json"
],
"format": "uri",
"readOnly": true,
"type": "string"
},
"media_type": {
"enum": [
"movie",
"tv"
],
"type": "string"
},
"metadata_state": {
"enum": [
"observed",
"missing",
"unavailable"
],
"type": "string"
},
"poster_url": {
"type": "string"
},
"title": {
"type": "string"
},
"tmdb_id": {
"format": "int64",
"type": "integer"
}
},
"required": [
"tmdb_id",
"media_type",
"metadata_state"
],
"type": "object"
},
"TitleRatings": {
"additionalProperties": false,
"properties": {
"$schema": {
"description": "A URL to the JSON Schema for this object.",
"examples": [
"https://example.com/schemas/TitleRatings.json"
],
"format": "uri",
"readOnly": true,
"type": "string"
},
"ratings": {
"items": {
"$ref": "#/components/schemas/Rating"
},
"type": [
"array",
"null"
]
}
},
"required": [
"ratings"
],
"type": "object"
}
}