3255 lines
69 KiB
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"
|
|
}
|
|
}
|