{ "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" } }