## Python SDK Changes:

* `plex_api.library_playlists.add_playlist_items()`:  `response.media_container.metadata.[]` **Changed** **Breaking** ⚠️
* `plex_api.hubs.get_metadata_hubs()`: 
  *  `request.only_transient` **Changed**
  *  `response.media_container.hub.[].metadata.[]` **Changed** **Breaking** ⚠️
* `plex_api.library_collections.move_collection_item()`:  `response.media_container.metadata.[]` **Changed** **Breaking** ⚠️
* `plex_api.library_collections.delete_collection_item()`:  `response.media_container.metadata.[]` **Changed** **Breaking** ⚠️
* `plex_api.library_collections.add_collection_items()`:  `response.media_container.metadata.[]` **Changed** **Breaking** ⚠️
* `plex_api.content.get_sonically_similar()`:  `response.media_container.metadata.[]` **Changed** **Breaking** ⚠️
* `plex_api.butler.stop_task()`:  `request` **Changed** **Breaking** ⚠️
* `plex_api.butler.start_task()`:  `request` **Changed** **Breaking** ⚠️
* `plex_api.content.get_sonic_path()`:  `response.media_container.metadata.[]` **Changed** **Breaking** ⚠️
* `plex_api.download_queue.get_item_decision()`:  `response.media_container.metadata.[]` **Changed** **Breaking** ⚠️
* `plex_api.hubs.get_all_hubs()`: 
  *  `request.only_transient` **Changed**
  *  `response.media_container.hub.[].metadata.[]` **Changed** **Breaking** ⚠️
* `plex_api.hubs.get_continue_watching()`:  `response.media_container.hub.[].metadata.[]` **Changed** **Breaking** ⚠️
* `plex_api.hubs.get_promoted_hubs()`:  `response.media_container.hub.[].metadata.[]` **Changed** **Breaking** ⚠️
* `plex_api.content.get_all_leaves()`:  `response.media_container.metadata.[]` **Changed** **Breaking** ⚠️
* `plex_api.hubs.get_postplay_hubs()`: 
  *  `request.only_transient` **Changed**
  *  `response.media_container.hub.[].metadata.[]` **Changed** **Breaking** ⚠️
* `plex_api.hubs.get_related_hubs()`: 
  *  `request.only_transient` **Changed**
  *  `response.media_container.hub.[].metadata.[]` **Changed** **Breaking** ⚠️
* `plex_api.hubs.get_section_hubs()`: 
  *  `request.only_transient` **Changed**
  *  `response.media_container.hub.[].metadata.[]` **Changed** **Breaking** ⚠️
* `plex_api.content.list_content()`: 
  *  `request` **Changed**
  *  `response.media_container.metadata.[]` **Changed** **Breaking** ⚠️
* `plex_api.content.get_albums()`:  `response.media_container.metadata.[]` **Changed** **Breaking** ⚠️
* `plex_api.search.search_hubs()`:  `response.media_container.hub.[].metadata.[]` **Changed** **Breaking** ⚠️
* `plex_api.search.voice_search_hubs()`: 
  *  `request.type` **Changed** **Breaking** ⚠️
  *  `response.media_container.hub.[].metadata.[]` **Changed** **Breaking** ⚠️
* `plex_api.library.get_library_items()`: 
  *  `request.media_query` **Changed**
  *  `response.media_container.metadata.[]` **Changed** **Breaking** ⚠️
* `plex_api.library.ingest_transient_item()`: 
  *  `request` **Changed**
  *  `response.media_container.metadata.[]` **Changed** **Breaking** ⚠️
* `plex_api.library.get_library_matches()`: 
  *  `request` **Changed** **Breaking** ⚠️
  *  `response.media_container.metadata.[]` **Changed** **Breaking** ⚠️
* `plex_api.content.get_metadata_item()`: 
  *  `request` **Changed**
  *  `response.media_container.metadata.[]` **Changed** **Breaking** ⚠️
* `plex_api.library.get_sections()`:  `response.media_container.directory.[]` **Changed** **Breaking** ⚠️
* `plex_api.library.add_section()`: 
  *  `request` **Changed**
  *  `response.media_container.directory.[]` **Changed** **Breaking** ⚠️
* `plex_api.library.get_tags()`: 
  *  `request.type` **Changed** **Breaking** ⚠️
* `plex_api.content.get_collection_items()`:  `response.media_container.metadata.[]` **Changed** **Breaking** ⚠️
* `plex_api.library.get_all_item_leaves()`:  `response.media_container.metadata.[]` **Changed** **Breaking** ⚠️
* `plex_api.status.list_sessions()`:  `response.media_container.metadata.[]` **Changed** **Breaking** ⚠️
* `plex_api.play_queue.move_play_queue_item()`:  `response.media_container.metadata.[]` **Changed** **Breaking** ⚠️
* `plex_api.library.get_extras()`:  `response.media_container.metadata.[]` **Changed** **Breaking** ⚠️
* `plex_api.play_queue.delete_play_queue_item()`:  `response.media_container.metadata.[]` **Changed** **Breaking** ⚠️
* `plex_api.play_queue.unshuffle()`:  `response.media_container.metadata.[]` **Changed** **Breaking** ⚠️
* `plex_api.library.list_matches()`: 
  *  `request.manual` **Changed**
  *  `response.media_container.metadata.[]` **Changed** **Breaking** ⚠️
* `plex_api.library.list_sonically_similar()`:  `response.media_container.metadata.[]` **Changed** **Breaking** ⚠️
* `plex_api.play_queue.reset_play_queue()`:  `response.media_container.metadata.[]` **Changed** **Breaking** ⚠️
* `plex_api.library.get_related_items()`:  `response.media_container.hub.[].metadata.[]` **Changed** **Breaking** ⚠️
* `plex_api.library.list_similar()`:  `response.media_container.metadata.[]` **Changed** **Breaking** ⚠️
* `plex_api.play_queue.clear_play_queue()`:  `response.media_container.metadata.[]` **Changed** **Breaking** ⚠️
* `plex_api.library.get_item_tree()`:  `response.media_container.metadata_item.[]` **Changed** **Breaking** ⚠️
* `plex_api.play_queue.add_to_play_queue()`: 
  *  `request.next` **Changed**
  *  `response.media_container.metadata.[]` **Changed** **Breaking** ⚠️
* `plex_api.play_queue.get_play_queue()`: 
  *  `request` **Changed**
  *  `response.media_container.metadata.[]` **Changed** **Breaking** ⚠️
* `plex_api.library_playlists.move_playlist_item()`:  `response.media_container.metadata.[]` **Changed** **Breaking** ⚠️
* `plex_api.library.get_person()`:  `response.media_container.directory.[]` **Changed** **Breaking** ⚠️
* `plex_api.library.list_person_media()`:  `response.media_container.metadata.[]` **Changed** **Breaking** ⚠️
* `plex_api.library_playlists.get_playlist_generator_items()`:  `response.media_container.metadata` **Changed** **Breaking** ⚠️
* `plex_api.library.get_library_details()`: 
  *  `request.include_details` **Changed**
  *  `response.media_container.directory.[]` **Changed** **Breaking** ⚠️
* `plex_api.library_playlists.modify_playlist_generator()`: 
  *  `request.item` **Changed**
  *  `response.media_container.metadata.[]` **Changed** **Breaking** ⚠️
* `plex_api.library.autocomplete()`: 
  *  `request.media_query` **Changed**
  *  `response.media_container.metadata.[]` **Changed** **Breaking** ⚠️
* `plex_api.library.get_collections()`: 
  *  `request.media_query` **Changed**
  *  `response.media_container.metadata.[]` **Changed** **Breaking** ⚠️
* `plex_api.library.get_common()`: 
  *  `request.media_query` **Changed**
  *  `response.media_container.metadata.[]` **Changed** **Breaking** ⚠️
* `plex_api.library_playlists.delete_playlist_item()`:  `response.media_container.metadata.[]` **Changed** **Breaking** ⚠️
* `plex_api.library_playlists.clear_playlist_items()`:  `response.media_container.metadata.[]` **Changed** **Breaking** ⚠️
* `plex_api.play_queue.shuffle()`:  `response.media_container.metadata.[]` **Changed** **Breaking** ⚠️
* `plex_api.library_playlists.create_playlist()`:  `response.media_container.metadata.[]` **Changed** **Breaking** ⚠️
* `plex_api.playlist.get_playlist_items()`:  `response.media_container.metadata.[]` **Changed** **Breaking** ⚠️
* `plex_api.playlist.get_playlist()`:  `response.media_container.metadata.[]` **Changed** **Breaking** ⚠️
* `plex_api.collections.create_collection()`: 
  *  `request.type` **Changed** **Breaking** ⚠️
  *  `response.media_container.metadata.[]` **Changed** **Breaking** ⚠️
* `plex_api.dv_rs.tune_channel()`:  `response.media_container.metadata.[]` **Changed** **Breaking** ⚠️
* `plex_api.live_tv.get_sessions()`:  `response.media_container.metadata.[]` **Changed** **Breaking** ⚠️
* `plex_api.live_tv.get_live_tv_session()`:  `response.media_container.metadata.[]` **Changed** **Breaking** ⚠️
* `plex_api.playlist.list_playlists()`:  `response.media_container.metadata.[]` **Changed** **Breaking** ⚠️
* `plex_api.subscriptions.get_all_subscriptions()`: 
  *  `request` **Changed**
  *  `response.media_container.media_subscription.[].media_grab_operation.[].metadata` **Changed** **Breaking** ⚠️
* `plex_api.subscriptions.create_subscription()`:  `response.media_container.media_subscription.[].media_grab_operation.[].metadata` **Changed** **Breaking** ⚠️
* `plex_api.subscriptions.get_scheduled_recordings()`:  `response.media_container.media_grab_operation.[].metadata` **Changed** **Breaking** ⚠️
* `plex_api.subscriptions.get_template()`:  `response.media_container.subscription_template.[].media_subscription.[].media_grab_operation.[].metadata` **Changed** **Breaking** ⚠️
* `plex_api.subscriptions.get_subscription()`: 
  *  `request` **Changed**
  *  `response.media_container.media_subscription.[].media_grab_operation.[].metadata` **Changed** **Breaking** ⚠️
* `plex_api.subscriptions.edit_subscription_preferences()`:  `response.media_container.media_subscription.[].media_grab_operation.[].metadata` **Changed** **Breaking** ⚠️
* `plex_api.subscriptions.reorder_subscription()`:  `response.media_container.media_subscription.[].media_grab_operation.[].metadata` **Changed** **Breaking** ⚠️
* `plex_api.transcoder.make_decision()`: 
  *  `request` **Changed**
  *  `response.media_container.metadata.[]` **Changed** **Breaking** ⚠️
* `plex_api.library.refresh_items_metadata()`: 
  *  `request.mark_updated` **Changed**
* `plex_api.authentication.post-users-sign-in-data()`: **Added**
* `plex_api.transcoder.start_transcode_session()`:  `request` **Changed**
* `plex_api.devices.modify_device()`: 
  *  `request.enabled` **Changed**
* `plex_api.library.get_media_part()`: 
  *  `request.download` **Changed**
* `plex_api.library.detect_intros()`: 
  *  `request.force` **Changed**
* `plex_api.library.refresh_section()`: 
  *  `request.force` **Changed**
* `plex_api.library_playlists.upload_playlist()`: 
  *  `request.force` **Changed**
* `plex_api.library.delete_media_item()`: 
  *  `request.proxy` **Changed**
* `plex_api.authentication.get_token_details()`: **Added**
* `plex_api.library.get_first_characters()`: 
  *  `request.media_query` **Changed**
* `plex_api.library.update_items()`: 
  *  `request.field.locked` **Changed**
* `plex_api.library.delete_library_section()`: 
  *  `request.async` **Changed**
* `plex_api.library.set_stream_selection()`: 
  *  `request.all_parts` **Changed**
* `plex_api.play_queue.create_play_queue()`:  `request` **Changed**
* `plex_api.library.get_augmentation_status()`: 
  *  `request.wait` **Changed**
* `plex_api.library.detect_voice_activity()`:  `request` **Changed**
* `plex_api.transcoder.transcode_image()`:  `request` **Changed**
* `plex_api.transcoder.transcode_subtitles()`:  `request` **Changed**
* `plex_api.library.add_subtitles()`:  `request` **Changed**
* `plex_api.library.get_stream()`: 
  *  `request.auto_adjust_subtitle` **Changed**
* `plex_api.library.start_bif_generation()`: 
  *  `request.force` **Changed**
* `plex_api.library.detect_credits()`:  `request` **Changed**
* `plex_api.ultra_blur.get_image()`: 
  *  `request.noise` **Changed**
* `plex_api.library.generate_thumbs()`: 
  *  `request.force` **Changed**
* `plex_api.updater.apply_updates()`:  `request` **Changed**
* `plex_api.updater.check_updates()`: 
  *  `request.download` **Changed**
* `plex_api.library.delete_metadata_item()`: 
  *  `request.proxy` **Changed**
* `plex_api.library.optimize_database()`: 
  *  `request.async` **Changed**
* `plex_api.hubs.update_hub_visibility()`:  `request` **Changed**
* `plex_api.hubs.create_custom_hub()`:  `request` **Changed**
* `plex_api.library.get_section_image()`: 
  *  `request.media_query` **Changed**
* `plex_api.download_queue.add_download_queue_items()`:  `request` **Changed**
* `plex_api.timeline.report()`:  `request` **Changed**
* `plex_api.general.get_source_connection_information()`: 
  *  `request.refresh` **Changed**
* `plex_api.plex.get-server-resources()`: **Added**
* `plex_api.users.get-users()`: **Added**
This commit is contained in:
speakeasybot
2025-12-01 00:03:55 +00:00
parent 1d16fd5839
commit d0db038e53
280 changed files with 10483 additions and 2036 deletions

File diff suppressed because one or more lines are too long

View File

@@ -25,7 +25,7 @@ generation:
generateNewTests: false
skipResponseBodyAssertions: false
python:
version: 0.32.6
version: 0.33.0
additionalDependencies:
dev: {}
main: {}
@@ -55,12 +55,14 @@ python:
operations: models/operations
shared: models/components
webhooks: models/webhooks
inferUnionDiscriminators: true
inputModelSuffix: input
legacyPyright: true
license: ""
maxMethodParams: 4
methodArguments: require-security-and-request
moduleName: ""
multipartArrayFormat: legacy
outputModelSuffix: output
packageManager: poetry
packageName: plex-api-client

View File

@@ -1,4 +1,4 @@
speakeasyVersion: 1.656.1
speakeasyVersion: 1.665.0
sources:
my-source:
sourceNamespace: my-source
@@ -8,20 +8,20 @@ sources:
- latest
plexapi:
sourceNamespace: plexapi
sourceRevisionDigest: sha256:56fc783b16af019db4eb0fe52df504315e8e7c7ae41e319a61bba8823f19df4b
sourceBlobDigest: sha256:b62613477fd824bb42cf0bf5d0f9980448259c9c7456e03ca6a10eef39a3994f
sourceRevisionDigest: sha256:ace004a3b232e8ab9ca3d89f2da8e40470236e6d997073a16c3f8872d67a7383
sourceBlobDigest: sha256:993bfb796a3833b0a3b813ad12469ca34db94f23c2d15ae988a26b4d1ed80fbe
tags:
- latest
- speakeasy-sdk-regen-1763337701
- speakeasy-sdk-regen-1764547300
- 1.1.1
targets:
plexpy:
source: plexapi
sourceNamespace: plexapi
sourceRevisionDigest: sha256:56fc783b16af019db4eb0fe52df504315e8e7c7ae41e319a61bba8823f19df4b
sourceBlobDigest: sha256:b62613477fd824bb42cf0bf5d0f9980448259c9c7456e03ca6a10eef39a3994f
sourceRevisionDigest: sha256:ace004a3b232e8ab9ca3d89f2da8e40470236e6d997073a16c3f8872d67a7383
sourceBlobDigest: sha256:993bfb796a3833b0a3b813ad12469ca34db94f23c2d15ae988a26b4d1ed80fbe
codeSamplesNamespace: code-samples-python-plexpy
codeSamplesRevisionDigest: sha256:39ad594554f1a54269a49bd47d65dd94b314d86d78c2253c0df18faea56898f4
codeSamplesRevisionDigest: sha256:71bb3eae1e48131d326b421168d4e5479c850ca0c53e631296607026eb29c799
workflow:
workflowVersion: 1.0.0
speakeasyVersion: latest

View File

@@ -143,13 +143,13 @@ with PlexAPI(
advanced_subtitles=components.AdvancedSubtitles.BURN,
audio_boost=50,
audio_channel_count=5,
auto_adjust_quality=components.BoolInt.ONE,
auto_adjust_subtitle=components.BoolInt.ONE,
direct_play=components.BoolInt.ONE,
direct_stream=components.BoolInt.ONE,
direct_stream_audio=components.BoolInt.ONE,
disable_resolution_rotation=components.BoolInt.ONE,
has_mde=components.BoolInt.ONE,
auto_adjust_quality=components.BoolInt.TRUE,
auto_adjust_subtitle=components.BoolInt.TRUE,
direct_play=components.BoolInt.TRUE,
direct_stream=components.BoolInt.TRUE,
direct_stream_audio=components.BoolInt.TRUE,
disable_resolution_rotation=components.BoolInt.TRUE,
has_mde=components.BoolInt.TRUE,
location=operations.StartTranscodeSessionQueryParamLocation.WAN,
media_buffer_size=102400,
media_index=0,
@@ -208,13 +208,13 @@ async def main():
advanced_subtitles=components.AdvancedSubtitles.BURN,
audio_boost=50,
audio_channel_count=5,
auto_adjust_quality=components.BoolInt.ONE,
auto_adjust_subtitle=components.BoolInt.ONE,
direct_play=components.BoolInt.ONE,
direct_stream=components.BoolInt.ONE,
direct_stream_audio=components.BoolInt.ONE,
disable_resolution_rotation=components.BoolInt.ONE,
has_mde=components.BoolInt.ONE,
auto_adjust_quality=components.BoolInt.TRUE,
auto_adjust_subtitle=components.BoolInt.TRUE,
direct_play=components.BoolInt.TRUE,
direct_stream=components.BoolInt.TRUE,
direct_stream_audio=components.BoolInt.TRUE,
disable_resolution_rotation=components.BoolInt.TRUE,
has_mde=components.BoolInt.TRUE,
location=operations.StartTranscodeSessionQueryParamLocation.WAN,
media_buffer_size=102400,
media_index=0,
@@ -254,6 +254,11 @@ asyncio.run(main())
* [list_activities](docs/sdks/activities/README.md#list_activities) - Get all activities
* [cancel_activity](docs/sdks/activities/README.md#cancel_activity) - Cancel a running activity
### [authentication](docs/sdks/authentication/README.md)
* [get_token_details](docs/sdks/authentication/README.md#get_token_details) - Get Token Details
* [post_users_sign_in_data](docs/sdks/authentication/README.md#post_users_sign_in_data) - Get User Sign In Data
### [butler](docs/sdks/butler/README.md)
* [stop_tasks](docs/sdks/butler/README.md#stop_tasks) - Stop all Butler tasks
@@ -501,6 +506,10 @@ asyncio.run(main())
* [get_playlist](docs/sdks/playlist/README.md#get_playlist) - Retrieve Playlist
* [get_playlist_items](docs/sdks/playlist/README.md#get_playlist_items) - Retrieve Playlist Contents
### [plex](docs/sdks/plex/README.md)
* [get_server_resources](docs/sdks/plex/README.md#get_server_resources) - Get Server Resources
### [preferences](docs/sdks/preferences/README.md)
* [get_all_preferences](docs/sdks/preferences/README.md#get_all_preferences) - Get all preferences
@@ -570,6 +579,10 @@ asyncio.run(main())
* [check_updates](docs/sdks/updater/README.md#check_updates) - Checking for updates
* [get_updates_status](docs/sdks/updater/README.md#get_updates_status) - Querying status of updates
### [users](docs/sdks/users/README.md)
* [get_users](docs/sdks/users/README.md#get_users) - Get list of all connected users
</details>
<!-- End Available Resources and Operations [operations] -->
@@ -677,12 +690,13 @@ with PlexAPI(
[`PlexAPIError`](./src/plex_api_client/models/errors/plexapierror.py) is the base class for all HTTP error responses. It has the following properties:
| Property | Type | Description |
| ------------------ | ---------------- | ------------------------------------------------------ |
| ------------------ | ---------------- | --------------------------------------------------------------------------------------- |
| `err.message` | `str` | Error message |
| `err.status_code` | `int` | HTTP response status code eg `404` |
| `err.headers` | `httpx.Headers` | HTTP response headers |
| `err.body` | `str` | HTTP body. Can be empty string if no body is returned. |
| `err.raw_response` | `httpx.Response` | Raw HTTP response |
| `err.data` | | Optional. Some errors may contain structured data. [See Error Classes](#error-classes). |
### Example
```python
@@ -707,12 +721,12 @@ with PlexAPI(
res = None
try:
res = plex_api.general.get_server_info(request={})
res = plex_api.authentication.get_token_details(request={})
assert res.media_container_with_directory is not None
assert res.user_plex_account is not None
# Handle response
print(res.media_container_with_directory)
print(res.user_plex_account)
except errors.PlexAPIError as e:
@@ -723,13 +737,17 @@ with PlexAPI(
print(e.headers)
print(e.raw_response)
# Depending on the method different errors may be thrown
if isinstance(e, errors.GetTokenDetailsBadRequest):
print(e.data.errors) # Optional[List[errors.Errors]]
print(e.data.raw_response) # Optional[httpx.Response]
```
### Error Classes
**Primary error:**
* [`PlexAPIError`](./src/plex_api_client/models/errors/plexapierror.py): The base class for HTTP error responses.
<details><summary>Less common errors (5)</summary>
<details><summary>Less common errors (12)</summary>
<br />
@@ -740,9 +758,18 @@ with PlexAPI(
**Inherit from [`PlexAPIError`](./src/plex_api_client/models/errors/plexapierror.py)**:
* [`GetTokenDetailsBadRequest`](./src/plex_api_client/models/errors/gettokendetailsbadrequest.py): Bad Request - A parameter was not specified, or was specified incorrectly. Status code `400`. Applicable to 1 of 241 methods.*
* [`PostUsersSignInDataBadRequest`](./src/plex_api_client/models/errors/postuserssignindatabadrequest.py): Bad Request - A parameter was not specified, or was specified incorrectly. Status code `400`. Applicable to 1 of 241 methods.*
* [`GetUsersBadRequest`](./src/plex_api_client/models/errors/getusersbadrequest.py): Bad Request - A parameter was not specified, or was specified incorrectly. Status code `400`. Applicable to 1 of 241 methods.*
* [`GetTokenDetailsUnauthorized`](./src/plex_api_client/models/errors/gettokendetailsunauthorized.py): Unauthorized - Returned if the X-Plex-Token is missing from the header or query. Status code `401`. Applicable to 1 of 241 methods.*
* [`PostUsersSignInDataUnauthorized`](./src/plex_api_client/models/errors/postuserssignindataunauthorized.py): Unauthorized - Returned if the X-Plex-Token is missing from the header or query. Status code `401`. Applicable to 1 of 241 methods.*
* [`GetUsersUnauthorized`](./src/plex_api_client/models/errors/getusersunauthorized.py): Unauthorized - Returned if the X-Plex-Token is missing from the header or query. Status code `401`. Applicable to 1 of 241 methods.*
* [`GetServerResourcesUnauthorized`](./src/plex_api_client/models/errors/getserverresourcesunauthorized.py): Unauthorized - Returned if the X-Plex-Token is missing from the header or query. Status code `401`. Applicable to 1 of 241 methods.*
* [`ResponseValidationError`](./src/plex_api_client/models/errors/responsevalidationerror.py): Type mismatch between the response data and the expected Pydantic model. Provides access to the Pydantic validation error via the `cause` attribute.
</details>
\* Check [the method documentation](#available-resources-and-operations) to see if the error is applicable.
<!-- End Error Handling [errors] -->
<!-- Start Server Selection [server] -->
@@ -835,6 +862,38 @@ with PlexAPI(
# Handle response
print(res.media_container_with_directory)
```
### Override Server URL Per-Operation
The server URL can also be overridden on a per-operation basis, provided a server list was specified for the operation. For example:
```python
from plex_api_client import PlexAPI
from plex_api_client.models import components
with PlexAPI(
accepts=components.Accepts.APPLICATION_XML,
client_identifier="abc123",
product="Plex for Roku",
version="2.4.1",
platform="Roku",
platform_version="4.3 build 1057",
device="Roku 3",
model="4200X",
device_vendor="Roku",
device_name="Living Room TV",
marketplace="googlePlay",
token="<YOUR_API_KEY_HERE>",
) as plex_api:
res = plex_api.authentication.get_token_details(request={}, server_url="https://plex.tv/api/v2")
assert res.user_plex_account is not None
# Handle response
print(res.user_plex_account)
```
<!-- End Server Selection [server] -->

View File

@@ -1159,3 +1159,13 @@ Based on:
- [python v0.32.6] .
### Releases
- [PyPI v0.32.6] https://pypi.org/project/plex-api-client/0.32.6 - .
## 2025-12-01 00:01:21
### Changes
Based on:
- OpenAPI Doc
- Speakeasy CLI 1.665.0 (2.767.2) https://github.com/speakeasy-api/speakeasy
### Generated
- [python v0.33.0] .
### Releases
- [PyPI v0.33.0] https://pypi.org/project/plex-api-client/0.33.0 - .

View File

@@ -26,13 +26,13 @@ with PlexAPI(
advanced_subtitles=components.AdvancedSubtitles.BURN,
audio_boost=50,
audio_channel_count=5,
auto_adjust_quality=components.BoolInt.ONE,
auto_adjust_subtitle=components.BoolInt.ONE,
direct_play=components.BoolInt.ONE,
direct_stream=components.BoolInt.ONE,
direct_stream_audio=components.BoolInt.ONE,
disable_resolution_rotation=components.BoolInt.ONE,
has_mde=components.BoolInt.ONE,
auto_adjust_quality=components.BoolInt.TRUE,
auto_adjust_subtitle=components.BoolInt.TRUE,
direct_play=components.BoolInt.TRUE,
direct_stream=components.BoolInt.TRUE,
direct_stream_audio=components.BoolInt.TRUE,
disable_resolution_rotation=components.BoolInt.TRUE,
has_mde=components.BoolInt.TRUE,
location=operations.StartTranscodeSessionQueryParamLocation.WAN,
media_buffer_size=102400,
media_index=0,
@@ -91,13 +91,13 @@ async def main():
advanced_subtitles=components.AdvancedSubtitles.BURN,
audio_boost=50,
audio_channel_count=5,
auto_adjust_quality=components.BoolInt.ONE,
auto_adjust_subtitle=components.BoolInt.ONE,
direct_play=components.BoolInt.ONE,
direct_stream=components.BoolInt.ONE,
direct_stream_audio=components.BoolInt.ONE,
disable_resolution_rotation=components.BoolInt.ONE,
has_mde=components.BoolInt.ONE,
auto_adjust_quality=components.BoolInt.TRUE,
auto_adjust_subtitle=components.BoolInt.TRUE,
direct_play=components.BoolInt.TRUE,
direct_stream=components.BoolInt.TRUE,
direct_stream_audio=components.BoolInt.TRUE,
disable_resolution_rotation=components.BoolInt.TRUE,
has_mde=components.BoolInt.TRUE,
location=operations.StartTranscodeSessionQueryParamLocation.WAN,
media_buffer_size=102400,
media_index=0,

View File

@@ -248,9 +248,9 @@ actions:
play_queue_item_id="123",
time=0,
duration=10000,
continuing=components.BoolInt.ONE,
continuing=components.BoolInt.TRUE,
updated=14200000,
offline=components.BoolInt.ONE,
offline=components.BoolInt.TRUE,
time_to_first_frame=1000,
time_stalled=1000,
bandwidth=100,
@@ -435,7 +435,7 @@ actions:
# Handle response
print(res)
- target: $["paths"]["/butler/{task}"]["delete"]
- target: $["paths"]["/butler/{butlerTask}"]["delete"]
update:
x-codeSamples:
- lang: python
@@ -461,14 +461,14 @@ actions:
) as plex_api:
res = plex_api.butler.stop_task(request={
"task": operations.Task.CLEAN_OLD_BUNDLES,
"butler_task": operations.ButlerTask.CLEAN_OLD_BUNDLES,
})
assert res is not None
# Handle response
print(res)
- target: $["paths"]["/butler/{task}"]["post"]
- target: $["paths"]["/butler/{butlerTask}"]["post"]
update:
x-codeSamples:
- lang: python
@@ -494,7 +494,7 @@ actions:
) as plex_api:
res = plex_api.butler.start_task(request={
"task": operations.PathParamTask.REFRESH_LOCAL_MEDIA,
"butler_task": operations.PathParamButlerTask.REFRESH_LOCAL_MEDIA,
})
assert res is not None
@@ -587,13 +587,13 @@ actions:
advanced_subtitles=components.AdvancedSubtitles.BURN,
audio_boost=50,
audio_channel_count=5,
auto_adjust_quality=components.BoolInt.ONE,
auto_adjust_subtitle=components.BoolInt.ONE,
direct_play=components.BoolInt.ONE,
direct_stream=components.BoolInt.ONE,
direct_stream_audio=components.BoolInt.ONE,
disable_resolution_rotation=components.BoolInt.ONE,
has_mde=components.BoolInt.ONE,
auto_adjust_quality=components.BoolInt.TRUE,
auto_adjust_subtitle=components.BoolInt.TRUE,
direct_play=components.BoolInt.TRUE,
direct_stream=components.BoolInt.TRUE,
direct_stream_audio=components.BoolInt.TRUE,
disable_resolution_rotation=components.BoolInt.TRUE,
has_mde=components.BoolInt.TRUE,
location=components.Location.WAN,
media_buffer_size=102400,
media_index=0,
@@ -856,7 +856,7 @@ actions:
) as plex_api:
res = plex_api.hubs.get_all_hubs(request={
"only_transient": components.BoolInt.ONE,
"only_transient": components.BoolInt.TRUE,
})
assert res.object is not None
@@ -958,7 +958,7 @@ actions:
res = plex_api.hubs.get_metadata_hubs(request={
"metadata_id": 605482,
"only_transient": components.BoolInt.ONE,
"only_transient": components.BoolInt.TRUE,
})
assert res.media_container_with_hubs is not None
@@ -992,7 +992,7 @@ actions:
res = plex_api.hubs.get_postplay_hubs(request={
"metadata_id": 441419,
"only_transient": components.BoolInt.ONE,
"only_transient": components.BoolInt.TRUE,
})
assert res.media_container_with_hubs is not None
@@ -1026,7 +1026,7 @@ actions:
res = plex_api.hubs.get_related_hubs(request={
"metadata_id": 8858,
"only_transient": components.BoolInt.ONE,
"only_transient": components.BoolInt.TRUE,
})
assert res.media_container_with_hubs is not None
@@ -1125,6 +1125,7 @@ actions:
res = plex_api.search.voice_search_hubs(request={
"query": "<value>",
"type": components.MediaType.TV_SHOW,
})
assert res.object is not None
@@ -1158,7 +1159,7 @@ actions:
res = plex_api.hubs.get_section_hubs(request={
"section_id": 336924,
"only_transient": components.BoolInt.ONE,
"only_transient": components.BoolInt.TRUE,
})
assert res.object is not None
@@ -1259,9 +1260,9 @@ actions:
res = plex_api.hubs.create_custom_hub(request=operations.CreateCustomHubRequest(
section_id=869922,
metadata_item_id=703843,
promoted_to_recommended=components.BoolInt.ONE,
promoted_to_own_home=components.BoolInt.ONE,
promoted_to_shared_home=components.BoolInt.ONE,
promoted_to_recommended=components.BoolInt.TRUE,
promoted_to_own_home=components.BoolInt.TRUE,
promoted_to_shared_home=components.BoolInt.TRUE,
))
assert res is not None
@@ -1364,9 +1365,9 @@ actions:
res = plex_api.hubs.update_hub_visibility(request=operations.UpdateHubVisibilityRequest(
section_id=341650,
identifier="<value>",
promoted_to_recommended=components.BoolInt.ONE,
promoted_to_own_home=components.BoolInt.ONE,
promoted_to_shared_home=components.BoolInt.ONE,
promoted_to_recommended=components.BoolInt.TRUE,
promoted_to_own_home=components.BoolInt.TRUE,
promoted_to_shared_home=components.BoolInt.TRUE,
))
assert res is not None
@@ -1415,7 +1416,13 @@ actions:
token="<YOUR_API_KEY_HERE>",
) as plex_api:
res = plex_api.library.get_library_items(request={})
res = plex_api.library.get_library_items(request={
"media_query": {
"type": components.MediaType.EPISODE,
"source_type": 2,
"sort": "duration:desc,index",
},
})
assert res.media_container_with_metadata is not None
@@ -1486,6 +1493,7 @@ actions:
res = plex_api.collections.create_collection(request={
"section_id": "<id>",
"type": components.MediaType.TV_SHOW,
})
assert res.media_container_with_metadata is not None
@@ -1689,8 +1697,8 @@ actions:
res = plex_api.library.ingest_transient_item(request=operations.IngestTransientItemRequest(
url="file:///storage%2Femulated%2F0%2FArcher-S01E01.mkv",
virtual_file_path="/Avatar.mkv",
compute_hashes=components.BoolInt.ONE,
ingest_non_matches=components.BoolInt.ONE,
compute_hashes=components.BoolInt.TRUE,
ingest_non_matches=components.BoolInt.TRUE,
))
assert res.media_container_with_metadata is not None
@@ -1723,9 +1731,10 @@ actions:
) as plex_api:
res = plex_api.library.get_library_matches(request=operations.GetLibraryMatchesRequest(
include_full_metadata=components.BoolInt.ONE,
include_ancestor_metadata=components.BoolInt.ONE,
include_alternate_metadata_sources=components.BoolInt.ONE,
type=components.MediaType.TV_SHOW,
include_full_metadata=components.BoolInt.TRUE,
include_ancestor_metadata=components.BoolInt.TRUE,
include_alternate_metadata_sources=components.BoolInt.TRUE,
))
assert res.media_container_with_metadata is not None
@@ -1793,7 +1802,7 @@ actions:
res = plex_api.library.get_augmentation_status(request={
"augmentation_id": "<id>",
"wait": components.BoolInt.ONE,
"wait": components.BoolInt.TRUE,
})
assert res is not None
@@ -1827,7 +1836,7 @@ actions:
res = plex_api.library.delete_metadata_item(request={
"ids": "<value>",
"proxy": components.BoolInt.ONE,
"proxy": components.BoolInt.TRUE,
})
assert res is not None
@@ -1861,14 +1870,14 @@ actions:
res = plex_api.content.get_metadata_item(request=operations.GetMetadataItemRequest(
ids=[],
async_check_files=components.BoolInt.ONE,
async_refresh_local_media_agent=components.BoolInt.ONE,
async_refresh_analysis=components.BoolInt.ONE,
check_files=components.BoolInt.ONE,
skip_refresh=components.BoolInt.ONE,
check_file_availability=components.BoolInt.ONE,
async_augment_metadata=components.BoolInt.ONE,
augment_count=components.BoolInt.ONE,
async_check_files=components.BoolInt.TRUE,
async_refresh_local_media_agent=components.BoolInt.TRUE,
async_refresh_analysis=components.BoolInt.TRUE,
check_files=components.BoolInt.TRUE,
skip_refresh=components.BoolInt.TRUE,
check_file_availability=components.BoolInt.TRUE,
async_augment_metadata=components.BoolInt.TRUE,
augment_count=components.BoolInt.TRUE,
))
assert res.media_container_with_metadata is not None
@@ -2037,7 +2046,7 @@ actions:
res = plex_api.library.generate_thumbs(request={
"ids": "<value>",
"force": components.BoolInt.ONE,
"force": components.BoolInt.TRUE,
})
assert res is not None
@@ -2071,8 +2080,8 @@ actions:
res = plex_api.library.detect_credits(request=operations.DetectCreditsRequest(
ids="<value>",
force=components.BoolInt.ONE,
manual=components.BoolInt.ONE,
force=components.BoolInt.TRUE,
manual=components.BoolInt.TRUE,
))
assert res is not None
@@ -2206,7 +2215,7 @@ actions:
res = plex_api.library.start_bif_generation(request={
"ids": "<value>",
"force": components.BoolInt.ONE,
"force": components.BoolInt.TRUE,
})
assert res is not None
@@ -2240,7 +2249,7 @@ actions:
res = plex_api.library.detect_intros(request={
"ids": "<value>",
"force": components.BoolInt.ONE,
"force": components.BoolInt.TRUE,
})
assert res is not None
@@ -2414,7 +2423,7 @@ actions:
res = plex_api.library.list_matches(request={
"ids": "<value>",
"manual": components.BoolInt.ONE,
"manual": components.BoolInt.TRUE,
})
assert res.media_container_with_metadata is not None
@@ -2449,7 +2458,7 @@ actions:
res = plex_api.library.delete_media_item(request={
"ids": "<value>",
"media_item": "<value>",
"proxy": components.BoolInt.ONE,
"proxy": components.BoolInt.TRUE,
})
assert res is not None
@@ -2582,7 +2591,7 @@ actions:
res = plex_api.library.refresh_items_metadata(request={
"ids": "<value>",
"mark_updated": components.BoolInt.ONE,
"mark_updated": components.BoolInt.TRUE,
})
assert res is not None
@@ -2715,8 +2724,8 @@ actions:
res = plex_api.library.add_subtitles(request=operations.AddSubtitlesRequest(
ids="<value>",
forced=components.BoolInt.ONE,
hearing_impaired=components.BoolInt.ONE,
forced=components.BoolInt.TRUE,
hearing_impaired=components.BoolInt.TRUE,
))
assert res is not None
@@ -2849,8 +2858,8 @@ actions:
res = plex_api.library.detect_voice_activity(request=operations.DetectVoiceActivityRequest(
ids="<value>",
force=components.BoolInt.ONE,
manual=components.BoolInt.ONE,
force=components.BoolInt.TRUE,
manual=components.BoolInt.TRUE,
))
assert res is not None
@@ -2986,7 +2995,7 @@ actions:
) as plex_api:
res = plex_api.library.optimize_database(request={
"async_": components.BoolInt.ONE,
"async_": components.BoolInt.TRUE,
})
assert res is not None
@@ -3020,7 +3029,7 @@ actions:
res = plex_api.library.set_stream_selection(request={
"part_id": 360489,
"all_parts": components.BoolInt.ONE,
"all_parts": components.BoolInt.TRUE,
})
assert res is not None
@@ -3125,7 +3134,7 @@ actions:
"part_id": 877105,
"changestamp": 970622,
"filename": "example.file",
"download": components.BoolInt.ONE,
"download": components.BoolInt.TRUE,
})
assert res is not None
@@ -3288,8 +3297,8 @@ actions:
"O:\fatboy\\Media\\My Music",
],
prefs=operations.QueryParamPrefs(),
relative=components.BoolInt.ONE,
import_fromi_tunes=components.BoolInt.ONE,
relative=components.BoolInt.TRUE,
import_fromi_tunes=components.BoolInt.TRUE,
))
assert res.slash_get_responses_200 is not None
@@ -3406,7 +3415,7 @@ actions:
res = plex_api.library.delete_library_section(request={
"section_id": "<id>",
"async_": components.BoolInt.ONE,
"async_": components.BoolInt.TRUE,
})
assert res is not None
@@ -3440,7 +3449,7 @@ actions:
res = plex_api.library.get_library_details(request={
"section_id": "<id>",
"include_details": components.BoolInt.ONE,
"include_details": components.BoolInt.TRUE,
})
assert res.object is not None
@@ -3526,7 +3535,7 @@ actions:
label: PlexPy
source: |-
from plex_api_client import PlexAPI
from plex_api_client.models import components
from plex_api_client.models import components, operations
with PlexAPI(
@@ -3544,9 +3553,16 @@ actions:
token="<YOUR_API_KEY_HERE>",
) as plex_api:
res = plex_api.content.list_content(request={
"section_id": "<id>",
})
res = plex_api.content.list_content(request=operations.ListContentRequest(
media_query=components.MediaQuery(
type=components.MediaType.EPISODE,
source_type=2,
sort="duration:desc,index",
),
include_meta=components.BoolInt.TRUE,
include_guids=components.BoolInt.TRUE,
section_id="<id>",
))
assert res.media_container_with_metadata is not None
@@ -3579,7 +3595,7 @@ actions:
res = plex_api.library.update_items(request={
"section_id": "<id>",
"field_locked": components.BoolInt.ONE,
"field_locked": components.BoolInt.TRUE,
})
assert res is not None
@@ -3712,6 +3728,11 @@ actions:
res = plex_api.library.autocomplete(request={
"section_id": 942007,
"media_query": {
"type": components.MediaType.EPISODE,
"source_type": 2,
"sort": "duration:desc,index",
},
})
assert res.media_container_with_metadata is not None
@@ -3845,6 +3866,11 @@ actions:
res = plex_api.library.get_collections(request={
"section_id": 348838,
"media_query": {
"type": components.MediaType.EPISODE,
"source_type": 2,
"sort": "duration:desc,index",
},
})
assert res.media_container_with_metadata is not None
@@ -3878,6 +3904,11 @@ actions:
res = plex_api.library.get_common(request={
"section_id": 298154,
"media_query": {
"type": components.MediaType.EPISODE,
"source_type": 2,
"sort": "duration:desc,index",
},
})
assert res.media_container_with_metadata is not None
@@ -3912,6 +3943,11 @@ actions:
res = plex_api.library.get_section_image(request={
"section_id": 925611,
"updated_at": 117413,
"media_query": {
"type": components.MediaType.EPISODE,
"source_type": 2,
"sort": "duration:desc,index",
},
})
assert res is not None
@@ -4046,6 +4082,11 @@ actions:
res = plex_api.library.get_first_characters(request={
"section_id": 3947,
"media_query": {
"type": components.MediaType.EPISODE,
"source_type": 2,
"sort": "duration:desc,index",
},
})
assert res.object is not None
@@ -4345,7 +4386,7 @@ actions:
res = plex_api.library.refresh_section(request={
"section_id": 450300,
"force": components.BoolInt.ONE,
"force": components.BoolInt.TRUE,
})
assert res is not None
@@ -4447,7 +4488,7 @@ actions:
res = plex_api.library.get_stream(request={
"stream_id": 314506,
"ext": "<value>",
"auto_adjust_subtitle": components.BoolInt.ONE,
"auto_adjust_subtitle": components.BoolInt.TRUE,
})
assert res is not None
@@ -4579,7 +4620,9 @@ actions:
token="<YOUR_API_KEY_HERE>",
) as plex_api:
res = plex_api.library.get_tags(request={})
res = plex_api.library.get_tags(request={
"type": components.MediaType.TV_SHOW,
})
assert res.object is not None
@@ -5705,7 +5748,7 @@ actions:
res = plex_api.devices.modify_device(request={
"device_id": 879135,
"enabled": components.BoolInt.ONE,
"enabled": components.BoolInt.TRUE,
})
assert res.object is not None
@@ -6093,8 +6136,8 @@ actions:
) as plex_api:
res = plex_api.subscriptions.get_all_subscriptions(request=operations.GetAllSubscriptionsRequest(
include_grabs=components.BoolInt.ONE,
include_storage=components.BoolInt.ONE,
include_grabs=components.BoolInt.TRUE,
include_storage=components.BoolInt.TRUE,
))
assert res.media_container_with_subscription is not None
@@ -6270,8 +6313,8 @@ actions:
res = plex_api.subscriptions.get_subscription(request=operations.GetSubscriptionRequest(
subscription_id=186713,
include_grabs=components.BoolInt.ONE,
include_storage=components.BoolInt.ONE,
include_grabs=components.BoolInt.TRUE,
include_storage=components.BoolInt.TRUE,
))
assert res.media_container_with_subscription is not None
@@ -6373,9 +6416,9 @@ actions:
res = plex_api.transcoder.transcode_image(request=operations.TranscodeImageRequest(
url="/library/metadata/265/thumb/1715112705",
background="#ff5522",
upscale=components.BoolInt.ONE,
min_size=components.BoolInt.ONE,
rotate=components.BoolInt.ONE,
upscale=components.BoolInt.TRUE,
min_size=components.BoolInt.TRUE,
rotate=components.BoolInt.TRUE,
blend_color="#ff5522",
))
@@ -6410,11 +6453,11 @@ actions:
res = plex_api.play_queue.create_play_queue(request=operations.CreatePlayQueueRequest(
type=operations.Type.AUDIO,
shuffle=components.BoolInt.ONE,
repeat=components.BoolInt.ONE,
continuous=components.BoolInt.ONE,
recursive=components.BoolInt.ONE,
on_deck=components.BoolInt.ONE,
shuffle=components.BoolInt.TRUE,
repeat=components.BoolInt.TRUE,
continuous=components.BoolInt.TRUE,
recursive=components.BoolInt.TRUE,
on_deck=components.BoolInt.TRUE,
))
assert res.object is not None
@@ -6448,9 +6491,9 @@ actions:
res = plex_api.play_queue.get_play_queue(request=operations.GetPlayQueueRequest(
play_queue_id=210646,
own=components.BoolInt.ONE,
include_before=components.BoolInt.ONE,
include_after=components.BoolInt.ONE,
own=components.BoolInt.TRUE,
include_before=components.BoolInt.TRUE,
include_after=components.BoolInt.TRUE,
))
assert res.media_container_with_playlist_metadata is not None
@@ -6484,7 +6527,7 @@ actions:
res = plex_api.play_queue.add_to_play_queue(request={
"play_queue_id": 919248,
"next": components.BoolInt.ONE,
"next": components.BoolInt.TRUE,
})
assert res.media_container_with_playlist_metadata is not None
@@ -6780,7 +6823,7 @@ actions:
res = plex_api.library_playlists.upload_playlist(request={
"path": "/home/barkley/playlist.m3u",
"force": components.BoolInt.ONE,
"force": components.BoolInt.TRUE,
})
assert res is not None
@@ -7121,7 +7164,6 @@ actions:
"location_id": -1,
"policy": {
"scope": operations.QueryParamScope.ALL,
"unwatched": components.BoolInt.ZERO,
},
"target": "",
"target_tag_id": 1,
@@ -7238,6 +7280,32 @@ actions:
# Handle response
print(res.media_container_with_playlist_metadata)
- target: $["paths"]["/resources"]["get"]
update:
x-codeSamples:
- lang: python
label: PlexPy
source: |-
from plex_api_client import PlexAPI
from plex_api_client.models import components, operations
with PlexAPI(
accepts=components.Accepts.APPLICATION_XML,
client_identifier="abc123",
token="<YOUR_API_KEY_HERE>",
) as plex_api:
res = plex_api.plex.get_server_resources(request={
"include_https": operations.IncludeHTTPS.TRUE,
"include_relay": operations.IncludeRelay.TRUE,
"include_i_pv6": operations.IncludeIPv6.TRUE,
})
assert res.plex_devices is not None
# Handle response
print(res.plex_devices)
- target: $["paths"]["/security/resources"]["get"]
update:
x-codeSamples:
@@ -7265,7 +7333,7 @@ actions:
res = plex_api.general.get_source_connection_information(request={
"source": "<value>",
"refresh": components.BoolInt.ONE,
"refresh": components.BoolInt.TRUE,
})
assert res.object is not None
@@ -7371,7 +7439,7 @@ actions:
"bottom_left": "1c425d",
"width": 1920,
"height": 1080,
"noise": components.BoolInt.ONE,
"noise": components.BoolInt.TRUE,
})
assert res.response_stream is not None
@@ -7599,8 +7667,8 @@ actions:
) as plex_api:
res = plex_api.updater.apply_updates(request=operations.ApplyUpdatesRequest(
tonight=components.BoolInt.ONE,
skip=components.BoolInt.ONE,
tonight=components.BoolInt.TRUE,
skip=components.BoolInt.TRUE,
))
assert res is not None
@@ -7633,7 +7701,7 @@ actions:
) as plex_api:
res = plex_api.updater.check_updates(request={
"download": components.BoolInt.ONE,
"download": components.BoolInt.TRUE,
})
assert res is not None
@@ -7659,6 +7727,104 @@ actions:
# Handle response
print(res.object)
- target: $["paths"]["/user"]["get"]
update:
x-codeSamples:
- lang: python
label: PlexPy
source: |-
from plex_api_client import PlexAPI
from plex_api_client.models import components
with PlexAPI(
accepts=components.Accepts.APPLICATION_XML,
client_identifier="abc123",
product="Plex for Roku",
version="2.4.1",
platform="Roku",
platform_version="4.3 build 1057",
device="Roku 3",
model="4200X",
device_vendor="Roku",
device_name="Living Room TV",
marketplace="googlePlay",
token="<YOUR_API_KEY_HERE>",
) as plex_api:
res = plex_api.authentication.get_token_details(request={})
assert res.user_plex_account is not None
# Handle response
print(res.user_plex_account)
- target: $["paths"]["/users"]["get"]
update:
x-codeSamples:
- lang: python
label: PlexPy
source: |-
from plex_api_client import PlexAPI
from plex_api_client.models import components
with PlexAPI(
accepts=components.Accepts.APPLICATION_XML,
client_identifier="abc123",
product="Plex for Roku",
version="2.4.1",
platform="Roku",
platform_version="4.3 build 1057",
device="Roku 3",
model="4200X",
device_vendor="Roku",
device_name="Living Room TV",
marketplace="googlePlay",
token="<YOUR_API_KEY_HERE>",
) as plex_api:
res = plex_api.users.get_users(request={})
assert res.object is not None
# Handle response
print(res.object)
- target: $["paths"]["/users/signin"]["post"]
update:
x-codeSamples:
- lang: python
label: PlexPy
source: |-
from plex_api_client import PlexAPI
from plex_api_client.models import components
with PlexAPI(
accepts=components.Accepts.APPLICATION_XML,
client_identifier="abc123",
product="Plex for Roku",
version="2.4.1",
platform="Roku",
platform_version="4.3 build 1057",
device="Roku 3",
model="4200X",
device_vendor="Roku",
device_name="Living Room TV",
marketplace="googlePlay",
) as plex_api:
res = plex_api.authentication.post_users_sign_in_data(request={
"request_body": {
"login": "username@email.com",
"password": "password123",
"verification_code": "123456",
},
})
assert res.user_plex_account is not None
# Handle response
print(res.user_plex_account)
- target: $["paths"]["/{transcodeType}/:/transcode/universal/decision"]["get"]
update:
x-codeSamples:
@@ -7689,13 +7855,13 @@ actions:
advanced_subtitles=components.AdvancedSubtitles.BURN,
audio_boost=50,
audio_channel_count=5,
auto_adjust_quality=components.BoolInt.ONE,
auto_adjust_subtitle=components.BoolInt.ONE,
direct_play=components.BoolInt.ONE,
direct_stream=components.BoolInt.ONE,
direct_stream_audio=components.BoolInt.ONE,
disable_resolution_rotation=components.BoolInt.ONE,
has_mde=components.BoolInt.ONE,
auto_adjust_quality=components.BoolInt.TRUE,
auto_adjust_subtitle=components.BoolInt.TRUE,
direct_play=components.BoolInt.TRUE,
direct_stream=components.BoolInt.TRUE,
direct_stream_audio=components.BoolInt.TRUE,
disable_resolution_rotation=components.BoolInt.TRUE,
has_mde=components.BoolInt.TRUE,
location=operations.Location.WAN,
media_buffer_size=102400,
media_index=0,
@@ -7783,13 +7949,13 @@ actions:
advanced_subtitles=components.AdvancedSubtitles.BURN,
audio_boost=50,
audio_channel_count=5,
auto_adjust_quality=components.BoolInt.ONE,
auto_adjust_subtitle=components.BoolInt.ONE,
direct_play=components.BoolInt.ONE,
direct_stream=components.BoolInt.ONE,
direct_stream_audio=components.BoolInt.ONE,
disable_resolution_rotation=components.BoolInt.ONE,
has_mde=components.BoolInt.ONE,
auto_adjust_quality=components.BoolInt.TRUE,
auto_adjust_subtitle=components.BoolInt.TRUE,
direct_play=components.BoolInt.TRUE,
direct_stream=components.BoolInt.TRUE,
direct_stream_audio=components.BoolInt.TRUE,
disable_resolution_rotation=components.BoolInt.TRUE,
has_mde=components.BoolInt.TRUE,
location=operations.StartTranscodeSessionQueryParamLocation.WAN,
media_buffer_size=102400,
media_index=0,
@@ -7843,13 +8009,13 @@ actions:
advanced_subtitles=components.AdvancedSubtitles.BURN,
audio_boost=50,
audio_channel_count=5,
auto_adjust_quality=components.BoolInt.ONE,
auto_adjust_subtitle=components.BoolInt.ONE,
direct_play=components.BoolInt.ONE,
direct_stream=components.BoolInt.ONE,
direct_stream_audio=components.BoolInt.ONE,
disable_resolution_rotation=components.BoolInt.ONE,
has_mde=components.BoolInt.ONE,
auto_adjust_quality=components.BoolInt.TRUE,
auto_adjust_subtitle=components.BoolInt.TRUE,
direct_play=components.BoolInt.TRUE,
direct_stream=components.BoolInt.TRUE,
direct_stream_audio=components.BoolInt.TRUE,
disable_resolution_rotation=components.BoolInt.TRUE,
has_mde=components.BoolInt.TRUE,
location=operations.QueryParamLocation.WAN,
media_buffer_size=102400,
media_index=0,

View File

@@ -0,0 +1,12 @@
# AutoSelectSubtitle
The auto-select subtitle mode (0 = Manually selected, 1 = Shown with foreign audio, 2 = Always enabled)
## Values
| Name | Value |
| -------------------------- | -------------------------- |
| `MANUALLY_SELECTED` | 0 |
| `SHOWN_WITH_FOREIGN_AUDIO` | 1 |
| `ALWAYS_ENABLED` | 2 |

View File

@@ -4,6 +4,6 @@
## Values
| Name | Value |
| ------ | ------ |
| `ZERO` | 0 |
| `ONE` | 1 |
| ------- | ------- |
| `FALSE` | 0 |
| `TRUE` | 1 |

View File

@@ -0,0 +1,14 @@
# Connections
## Fields
| Field | Type | Required | Description | Example |
| ------------------------------------------------------------------------------ | ------------------------------------------------------------------------------ | ------------------------------------------------------------------------------ | ------------------------------------------------------------------------------ | ------------------------------------------------------------------------------ |
| `protocol` | [components.PlexDeviceProtocol](../../models/components/plexdeviceprotocol.md) | :heavy_check_mark: | The protocol used for the connection (http, https, etc) | http |
| `address` | *str* | :heavy_check_mark: | The (ip) address or domain name used for the connection | |
| `port` | *int* | :heavy_check_mark: | The port used for the connection | |
| `uri` | *str* | :heavy_check_mark: | The full URI of the connection | |
| `local` | *bool* | :heavy_check_mark: | If the connection is local address | |
| `relay` | *bool* | :heavy_check_mark: | If the connection is relayed through plex.direct | |
| `i_pv6` | *bool* | :heavy_check_mark: | If the connection is using IPv6 | |

View File

@@ -0,0 +1,13 @@
# DefaultAudioAccessibility
The audio accessibility mode (0 = Prefer non-accessibility audio, 1 = Prefer accessibility audio, 2 = Only show accessibility audio, 3 = Only show non-accessibility audio)
## Values
| Name | Value |
| -------------------------- | -------------------------- |
| `PREFER_NON_ACCESSIBILITY` | 0 |
| `PREFER_ACCESSIBILITY` | 1 |
| `ONLY_ACCESSIBILITY` | 2 |
| `ONLY_NON_ACCESSIBILITY` | 3 |

View File

@@ -0,0 +1,13 @@
# DefaultSubtitleAccessibility
The subtitles for the deaf or hard-of-hearing (SDH) searches mode (0 = Prefer non-SDH subtitles, 1 = Prefer SDH subtitles, 2 = Only show SDH subtitles, 3 = Only show non-SDH subtitles)
## Values
| Name | Value |
| ---------------- | ---------------- |
| `PREFER_NON_SDH` | 0 |
| `PREFER_SDH` | 1 |
| `ONLY_SDH` | 2 |
| `ONLY_NON_SDH` | 3 |

View File

@@ -0,0 +1,13 @@
# DefaultSubtitleForced
The forced subtitles searches mode (0 = Prefer non-forced subtitles, 1 = Prefer forced subtitles, 2 = Only show forced subtitles, 3 = Only show non-forced subtitles)
## Values
| Name | Value |
| ------------------- | ------------------- |
| `PREFER_NON_FORCED` | 0 |
| `PREFER_FORCED` | 1 |
| `ONLY_FORCED` | 2 |
| `ONLY_NON_FORCED` | 3 |

View File

@@ -0,0 +1,8 @@
# Guids
## Fields
| Field | Type | Required | Description | Example |
| -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `id` | *str* | :heavy_check_mark: | The unique identifier for the Guid. Can be prefixed with imdb://, tmdb://, tvdb://<br/> | {<br/>"imdbExample": {<br/>"summary": "IMDB example",<br/>"value": "imdb://tt13015952"<br/>},<br/>"tmdbExample": {<br/>"summary": "TMDB example",<br/>"value": "tmdb://2434012"<br/>},<br/>"tvdbExample": {<br/>"summary": "TVDB example",<br/>"value": "tvdb://7945991"<br/>}<br/>} |

View File

@@ -10,74 +10,78 @@ Metadata items can often live in a hierarchy with relationships between them. F
## Fields
| Field | Type | Required | Description |
| ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `title` | *Optional[Any]* | :heavy_minus_sign: | The title of the item (e.g. “300” or “The Simpsons”) |
| `type` | *Optional[Any]* | :heavy_minus_sign: | The type of the video item, such as `movie`, `episode`, or `clip`. |
| `absolute_index` | *Optional[int]* | :heavy_minus_sign: | When present, contains the disc number for a track on multi-disc albums. |
| `added_at` | *Optional[int]* | :heavy_minus_sign: | In units of seconds since the epoch, returns the time at which the item was added to the library. |
| `art` | *Optional[Any]* | :heavy_minus_sign: | When present, the URL for the background artwork for the item. |
| `audience_rating` | *Optional[float]* | :heavy_minus_sign: | Some rating systems separate reviewer ratings from audience ratings |
| `audience_rating_image` | *Optional[Any]* | :heavy_minus_sign: | A URI representing the image to be shown with the audience rating (e.g. rottentomatoes://image.rating.spilled). |
| `autotag` | List[[components.Tag](../../models/components/tag.md)] | :heavy_minus_sign: | N/A |
| `banner` | *Optional[Any]* | :heavy_minus_sign: | When present, the URL for a banner graphic for the item. |
| `chapter_source` | *Optional[Any]* | :heavy_minus_sign: | When present, indicates the source for the chapters in the media file. Can be media (the chapters were embedded in the media itself), agent (a metadata agent computed them), or mixed (a combination of the two). |
| `composite` | *Optional[Any]* | :heavy_minus_sign: | When present, the URL for a composite image for descendent items (e.g. photo albums or playlists). |
| `content_rating` | *Optional[Any]* | :heavy_minus_sign: | If known, the content rating (e.g. MPAA) for an item. |
| `country` | List[[components.Tag](../../models/components/tag.md)] | :heavy_minus_sign: | N/A |
| `director` | List[[components.Tag](../../models/components/tag.md)] | :heavy_minus_sign: | N/A |
| `duration` | *Optional[int]* | :heavy_minus_sign: | When present, the duration for the item, in units of milliseconds. |
| `filter_` | List[[components.Filter](../../models/components/filter_.md)] | :heavy_minus_sign: | Typically only seen in metadata at a library's top level |
| `genre` | List[[components.Tag](../../models/components/tag.md)] | :heavy_minus_sign: | N/A |
| `grandparent_art` | *Optional[str]* | :heavy_minus_sign: | The `art` of the grandparent |
| `grandparent_hero` | *Optional[str]* | :heavy_minus_sign: | The `hero` of the grandparent |
| `grandparent_key` | *Optional[str]* | :heavy_minus_sign: | The `key` of the grandparent |
| `grandparent_rating_key` | *Optional[str]* | :heavy_minus_sign: | The `ratingKey` of the grandparent |
| `grandparent_theme` | *Optional[str]* | :heavy_minus_sign: | The `theme` of the grandparent |
| `grandparent_thumb` | *Optional[str]* | :heavy_minus_sign: | The `thumb` of the grandparent |
| `grandparent_title` | *Optional[str]* | :heavy_minus_sign: | The `title` of the grandparent |
| `guid` | List[[components.Tag](../../models/components/tag.md)] | :heavy_minus_sign: | N/A |
| `hero` | *Optional[Any]* | :heavy_minus_sign: | When present, the URL for a hero image for the item. |
| `image` | List[[components.Image](../../models/components/image.md)] | :heavy_minus_sign: | N/A |
| `index` | *Optional[int]* | :heavy_minus_sign: | When present, this represents the episode number for episodes, season number for seasons, or track number for audio tracks. |
| `key` | *Optional[Any]* | :heavy_minus_sign: | The key at which the item's details can be fetched. In many cases a metadata item may be passed without all the details (such as in a hub) and this key corresponds to the endpoint to fetch additional details. |
| `last_viewed_at` | *Optional[int]* | :heavy_minus_sign: | When a user has watched or listened to an item, this contains a timestamp (epoch seconds) for that last consumption time. |
| `leaf_count` | *Optional[int]* | :heavy_minus_sign: | For shows and seasons, contains the number of total episodes. |
| `media` | List[[components.Media](../../models/components/media.md)] | :heavy_minus_sign: | N/A |
| `originally_available_at` | *Optional[Any]* | :heavy_minus_sign: | When present, in the format YYYY-MM-DD [HH:MM:SS] (the hours/minutes/seconds part is not always present). The air date, or a higher resolution release date for an item, depending on type. For example, episodes usually have air date like 1979-08-10 (we don't use epoch seconds because media existed prior to 1970). In some cases, recorded over-the-air content has higher resolution air date which includes a time component. Albums and movies may have day-resolution release dates as well. |
| `original_title` | *Optional[Any]* | :heavy_minus_sign: | When present, used to indicate an item's original title, e.g. a movie's foreign title. |
| `parent_hero` | *Optional[str]* | :heavy_minus_sign: | The `hero` of the parent |
| `parent_index` | *Optional[int]* | :heavy_minus_sign: | The `index` of the parent |
| `parent_key` | *Optional[str]* | :heavy_minus_sign: | The `key` of the parent |
| `parent_rating_key` | *Optional[str]* | :heavy_minus_sign: | The `ratingKey` of the parent |
| `parent_thumb` | *Optional[str]* | :heavy_minus_sign: | The `thumb` of the parent |
| `parent_title` | *Optional[str]* | :heavy_minus_sign: | The `title` of the parent |
| `primary_extra_key` | *Optional[Any]* | :heavy_minus_sign: | Indicates that the item has a primary extra; for a movie, this is a trailer, and for a music track it is a music video. The URL points to the metadata details endpoint for the item. |
| `prompt` | *Optional[str]* | :heavy_minus_sign: | Prompt to give the user for this directory (such as `Search Movies`) |
| `rating` | *Optional[float]* | :heavy_minus_sign: | When present, the rating for the item. The exact meaning and representation depends on where the rating was sourced from. |
| `rating_array` | List[[components.Tag](../../models/components/tag.md)] | :heavy_minus_sign: | N/A |
| `rating_count` | *Optional[int]* | :heavy_minus_sign: | Number of ratings under this metadata |
| `rating_image` | *Optional[Any]* | :heavy_minus_sign: | When present, indicates an image to be shown with the rating. This is passed back as a small set of defined URI values, e.g. rottentomatoes://image.rating.rotten. |
| `rating_key` | *Optional[Any]* | :heavy_minus_sign: | This is the opaque string to be passed into timeline, scrobble, and rating endpoints to identify them. While it often appears to be numeric, this is not guaranteed. |
| `role` | List[[components.Tag](../../models/components/tag.md)] | :heavy_minus_sign: | N/A |
| `search` | *Optional[bool]* | :heavy_minus_sign: | Indicates this is a search directory |
| `secondary` | *Optional[bool]* | :heavy_minus_sign: | Used by old clients to provide nested menus allowing for primative (but structured) navigation. |
| `skip_children` | *Optional[bool]* | :heavy_minus_sign: | When found on a show item, indicates that the children (seasons) should be skipped in favor of the grandchildren (episodes). Useful for mini-series, etc. |
| `skip_parent` | *Optional[bool]* | :heavy_minus_sign: | When present on an episode or track item, indicates parent should be skipped in favor of grandparent (show). |
| `sort` | List[[components.Sort](../../models/components/sort.md)] | :heavy_minus_sign: | Typically only seen in metadata at a library's top level |
| `studio` | *Optional[Any]* | :heavy_minus_sign: | When present, the studio or label which produced an item (e.g. movie studio for movies, record label for albums). |
| `subtype` | *Optional[Any]* | :heavy_minus_sign: | The subtype of the video item, such as `photo` when the video item is in a photo library |
| `summary` | *Optional[Any]* | :heavy_minus_sign: | When present, the extended textual information about the item (e.g. movie plot, artist biography, album review). |
| `tagline` | *Optional[Any]* | :heavy_minus_sign: | When present, a pithy one-liner about the item (usually only seen for movies). |
| `theme` | *Optional[Any]* | :heavy_minus_sign: | When present, the URL for theme music for the item (usually only for TV shows). |
| `thumb` | *Optional[Any]* | :heavy_minus_sign: | When present, the URL for the poster or thumbnail for the item. When available for types like movie, it will be the poster graphic, but fall-back to the extracted media thumbnail. |
| `title_sort` | *Optional[Any]* | :heavy_minus_sign: | Whene present, this is the string used for sorting the item. It's usually the title with any leading articles removed (e.g. “Simpsons”). |
| `updated_at` | *Optional[int]* | :heavy_minus_sign: | In units of seconds since the epoch, returns the time at which the item was last changed (e.g. had its metadata updated). |
| `user_rating` | *Optional[float]* | :heavy_minus_sign: | When the user has rated an item, this contains the user rating |
| `view_count` | *Optional[int]* | :heavy_minus_sign: | When a users has completed watched or listened to an item, this attribute contains the number of consumptions. |
| `viewed_leaf_count` | *Optional[int]* | :heavy_minus_sign: | For shows and seasons, contains the number of viewed episodes. |
| `view_offset` | *Optional[int]* | :heavy_minus_sign: | When a user is in the process of viewing or listening to this item, this attribute contains the current offset, in units of milliseconds. |
| `writer` | List[[components.Tag](../../models/components/tag.md)] | :heavy_minus_sign: | N/A |
| `year` | *Optional[int]* | :heavy_minus_sign: | When present, the year associated with the item's release (e.g. release year for a movie). |
| `metadata_item` | List[[components.Items](../../models/components/items.md)] | :heavy_minus_sign: | N/A |
| `__pydantic_extra__` | Dict[str, *Any*] | :heavy_minus_sign: | N/A |
| Field | Type | Required | Description | Example |
| ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `title` | *str* | :heavy_check_mark: | The title of the item (e.g. “300” or “The Simpsons”) | |
| `type` | *str* | :heavy_check_mark: | The type of the video item, such as `movie`, `episode`, or `clip`. | |
| `absolute_index` | *Optional[int]* | :heavy_minus_sign: | When present, contains the disc number for a track on multi-disc albums. | |
| `added_at` | *int* | :heavy_check_mark: | In units of seconds since the epoch, returns the time at which the item was added to the library. | |
| `art` | *Optional[str]* | :heavy_minus_sign: | When present, the URL for the background artwork for the item. | /library/metadata/58683/art/1703239236 |
| `audience_rating` | *Optional[float]* | :heavy_minus_sign: | Some rating systems separate reviewer ratings from audience ratings | |
| `audience_rating_image` | *Optional[str]* | :heavy_minus_sign: | A URI representing the image to be shown with the audience rating (e.g. rottentomatoes://image.rating.spilled). | |
| `autotag` | List[[components.Tag](../../models/components/tag.md)] | :heavy_minus_sign: | N/A | |
| `banner` | *Optional[str]* | :heavy_minus_sign: | When present, the URL for a banner graphic for the item. | |
| `chapter_source` | *Optional[str]* | :heavy_minus_sign: | When present, indicates the source for the chapters in the media file. Can be media (the chapters were embedded in the media itself), agent (a metadata agent computed them), or mixed (a combination of the two). | media |
| `child_count` | *Optional[int]* | :heavy_minus_sign: | The number of child items associated with this media item. | 1 |
| `composite` | *Optional[str]* | :heavy_minus_sign: | When present, the URL for a composite image for descendent items (e.g. photo albums or playlists). | |
| `content_rating` | *Optional[str]* | :heavy_minus_sign: | If known, the content rating (e.g. MPAA) for an item. | |
| `country` | List[[components.Tag](../../models/components/tag.md)] | :heavy_minus_sign: | N/A | |
| `director` | List[[components.Tag](../../models/components/tag.md)] | :heavy_minus_sign: | N/A | |
| `duration` | *Optional[int]* | :heavy_minus_sign: | When present, the duration for the item, in units of milliseconds. | |
| `filter_` | List[[components.Filter](../../models/components/filter_.md)] | :heavy_minus_sign: | Typically only seen in metadata at a library's top level | |
| `genre` | List[[components.Tag](../../models/components/tag.md)] | :heavy_minus_sign: | N/A | |
| `grandparent_art` | *Optional[str]* | :heavy_minus_sign: | The `art` of the grandparent | |
| `grandparent_guid` | *Optional[str]* | :heavy_minus_sign: | The GUID of the grandparent media item. | plex://show/5d9c081b170e24001f2a7be4 |
| `grandparent_hero` | *Optional[str]* | :heavy_minus_sign: | The `hero` of the grandparent | |
| `grandparent_key` | *Optional[str]* | :heavy_minus_sign: | The `key` of the grandparent | |
| `grandparent_rating_key` | *Optional[str]* | :heavy_minus_sign: | The `ratingKey` of the grandparent | |
| `grandparent_theme` | *Optional[str]* | :heavy_minus_sign: | The `theme` of the grandparent | |
| `grandparent_thumb` | *Optional[str]* | :heavy_minus_sign: | The `thumb` of the grandparent | |
| `grandparent_title` | *Optional[str]* | :heavy_minus_sign: | The `title` of the grandparent | |
| `guid` | *Optional[str]* | :heavy_minus_sign: | The globally unique identifier for the media item. | plex://movie/5d7768ba96b655001fdc0408 |
| `guids` | List[[components.ItemsGuids](../../models/components/itemsguids.md)] | :heavy_minus_sign: | N/A | |
| `hero` | *Optional[str]* | :heavy_minus_sign: | When present, the URL for a hero image for the item. | |
| `image` | List[[components.Image](../../models/components/image.md)] | :heavy_minus_sign: | N/A | |
| `index` | *Optional[int]* | :heavy_minus_sign: | When present, this represents the episode number for episodes, season number for seasons, or track number for audio tracks. | |
| `key` | *str* | :heavy_check_mark: | The key at which the item's details can be fetched. In many cases a metadata item may be passed without all the details (such as in a hub) and this key corresponds to the endpoint to fetch additional details. | |
| `last_viewed_at` | *Optional[int]* | :heavy_minus_sign: | N/A | 1556281940 |
| `leaf_count` | *Optional[int]* | :heavy_minus_sign: | For shows and seasons, contains the number of total episodes. | |
| `media` | List[[components.Media](../../models/components/media.md)] | :heavy_minus_sign: | N/A | |
| `originally_available_at` | [datetime](https://docs.python.org/3/library/datetime.html#datetime-objects) | :heavy_minus_sign: | When present, in the format YYYY-MM-DD [HH:MM:SS] (the hours/minutes/seconds part is not always present). The air date, or a higher resolution release date for an item, depending on type. For example, episodes usually have air date like 1979-08-10 (we don't use epoch seconds because media existed prior to 1970). In some cases, recorded over-the-air content has higher resolution air date which includes a time component. Albums and movies may have day-resolution release dates as well. | 2022-12-14 |
| `original_title` | *Optional[str]* | :heavy_minus_sign: | When present, used to indicate an item's original title, e.g. a movie's foreign title. | |
| `parent_guid` | *Optional[str]* | :heavy_minus_sign: | The GUID of the parent media item. | plex://show/5d9c081b170e24001f2a7be4 |
| `parent_hero` | *Optional[str]* | :heavy_minus_sign: | The `hero` of the parent | |
| `parent_index` | *Optional[int]* | :heavy_minus_sign: | The `index` of the parent | |
| `parent_key` | *Optional[str]* | :heavy_minus_sign: | The `key` of the parent | |
| `parent_rating_key` | *Optional[str]* | :heavy_minus_sign: | The `ratingKey` of the parent | |
| `parent_thumb` | *Optional[str]* | :heavy_minus_sign: | The `thumb` of the parent | |
| `parent_title` | *Optional[str]* | :heavy_minus_sign: | The `title` of the parent | |
| `primary_extra_key` | *Optional[str]* | :heavy_minus_sign: | Indicates that the item has a primary extra; for a movie, this is a trailer, and for a music track it is a music video. The URL points to the metadata details endpoint for the item. | |
| `prompt` | *Optional[str]* | :heavy_minus_sign: | Prompt to give the user for this directory (such as `Search Movies`) | |
| `rating` | *Optional[float]* | :heavy_minus_sign: | When present, the rating for the item. The exact meaning and representation depends on where the rating was sourced from. | |
| `rating_array` | List[[components.Tag](../../models/components/tag.md)] | :heavy_minus_sign: | N/A | |
| `rating_count` | *Optional[int]* | :heavy_minus_sign: | Number of ratings under this metadata | |
| `rating_image` | *Optional[str]* | :heavy_minus_sign: | When present, indicates an image to be shown with the rating. This is passed back as a small set of defined URI values, e.g. rottentomatoes://image.rating.rotten. | |
| `rating_key` | *Optional[str]* | :heavy_minus_sign: | This is the opaque string to be passed into timeline, scrobble, and rating endpoints to identify them. While it often appears to be numeric, this is not guaranteed. | |
| `role` | List[[components.Tag](../../models/components/tag.md)] | :heavy_minus_sign: | N/A | |
| `search` | *Optional[bool]* | :heavy_minus_sign: | Indicates this is a search directory | |
| `secondary` | *Optional[bool]* | :heavy_minus_sign: | Used by old clients to provide nested menus allowing for primative (but structured) navigation. | |
| `skip_children` | *Optional[bool]* | :heavy_minus_sign: | When found on a show item, indicates that the children (seasons) should be skipped in favor of the grandchildren (episodes). Useful for mini-series, etc. | |
| `skip_parent` | *Optional[bool]* | :heavy_minus_sign: | When present on an episode or track item, indicates parent should be skipped in favor of grandparent (show). | |
| `sort` | List[[components.Sort](../../models/components/sort.md)] | :heavy_minus_sign: | Typically only seen in metadata at a library's top level | |
| `studio` | *Optional[str]* | :heavy_minus_sign: | When present, the studio or label which produced an item (e.g. movie studio for movies, record label for albums). | |
| `subtype` | *Optional[str]* | :heavy_minus_sign: | The subtype of the video item, such as `photo` when the video item is in a photo library | |
| `summary` | *Optional[str]* | :heavy_minus_sign: | When present, the extended textual information about the item (e.g. movie plot, artist biography, album review). | |
| `tagline` | *Optional[str]* | :heavy_minus_sign: | When present, a pithy one-liner about the item (usually only seen for movies). | |
| `theme` | *Optional[str]* | :heavy_minus_sign: | When present, the URL for theme music for the item (usually only for TV shows). | /library/metadata/1/theme/1705636920 |
| `thumb` | *Optional[str]* | :heavy_minus_sign: | When present, the URL for the poster or thumbnail for the item. When available for types like movie, it will be the poster graphic, but fall-back to the extracted media thumbnail. | /library/metadata/58683/thumb/1703239236 |
| `title_sort` | *Optional[str]* | :heavy_minus_sign: | Whene present, this is the string used for sorting the item. It's usually the title with any leading articles removed (e.g. “Simpsons”). | |
| `updated_at` | *Optional[int]* | :heavy_minus_sign: | In units of seconds since the epoch, returns the time at which the item was last changed (e.g. had its metadata updated). | |
| `user_rating` | *Optional[float]* | :heavy_minus_sign: | When the user has rated an item, this contains the user rating | |
| `view_count` | *Optional[int]* | :heavy_minus_sign: | When a users has completed watched or listened to an item, this attribute contains the number of consumptions. | |
| `viewed_leaf_count` | *Optional[int]* | :heavy_minus_sign: | For shows and seasons, contains the number of viewed episodes. | |
| `view_offset` | *Optional[int]* | :heavy_minus_sign: | When a user is in the process of viewing or listening to this item, this attribute contains the current offset, in units of milliseconds. | |
| `writer` | List[[components.Tag](../../models/components/tag.md)] | :heavy_minus_sign: | N/A | |
| `year` | *Optional[int]* | :heavy_minus_sign: | When present, the year associated with the item's release (e.g. release year for a movie). | |
| `metadata_item` | List[[components.Items](../../models/components/items.md)] | :heavy_minus_sign: | N/A | |
| `__pydantic_extra__` | Dict[str, *Any*] | :heavy_minus_sign: | N/A | |

View File

@@ -0,0 +1,8 @@
# ItemsGuids
## Fields
| Field | Type | Required | Description | Example |
| -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `id` | *str* | :heavy_check_mark: | The unique identifier for the Guid. Can be prefixed with imdb://, tmdb://, tvdb://<br/> | {<br/>"imdbExample": {<br/>"summary": "IMDB example",<br/>"value": "imdb://tt13015952"<br/>},<br/>"tmdbExample": {<br/>"summary": "TMDB example",<br/>"value": "tmdb://2434012"<br/>},<br/>"tvdbExample": {<br/>"summary": "TVDB example",<br/>"value": "tvdb://7945991"<br/>}<br/>} |

View File

@@ -3,25 +3,26 @@
## Fields
| Field | Type | Required | Description |
| -------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------- |
| `title` | *Optional[str]* | :heavy_minus_sign: | N/A |
| `type` | *Optional[str]* | :heavy_minus_sign: | N/A |
| `agent` | *Optional[str]* | :heavy_minus_sign: | N/A |
| `allow_sync` | *Optional[bool]* | :heavy_minus_sign: | N/A |
| `art` | *Optional[str]* | :heavy_minus_sign: | N/A |
| `composite` | *Optional[str]* | :heavy_minus_sign: | N/A |
| `content` | *Optional[bool]* | :heavy_minus_sign: | N/A |
| `content_changed_at` | *Optional[int]* | :heavy_minus_sign: | N/A |
| `created_at` | *Optional[int]* | :heavy_minus_sign: | N/A |
| `directory` | *Optional[bool]* | :heavy_minus_sign: | N/A |
| `filters` | *Optional[bool]* | :heavy_minus_sign: | Indicates whether this section has filtering capabilities |
| `hidden` | *Optional[bool]* | :heavy_minus_sign: | N/A |
| `key` | *Optional[str]* | :heavy_minus_sign: | N/A |
| `language` | *Optional[str]* | :heavy_minus_sign: | N/A |
| `location` | List[[components.LibrarySectionLocation](../../models/components/librarysectionlocation.md)] | :heavy_minus_sign: | N/A |
| `refreshing` | *Optional[bool]* | :heavy_minus_sign: | Indicates whether this library section is currently scanning |
| `scanned_at` | *Optional[int]* | :heavy_minus_sign: | N/A |
| `scanner` | *Optional[str]* | :heavy_minus_sign: | N/A |
| `thumb` | *Optional[str]* | :heavy_minus_sign: | N/A |
| `updated_at` | *Optional[int]* | :heavy_minus_sign: | N/A |
| Field | Type | Required | Description | Example |
| -------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------- |
| `title` | *Optional[str]* | :heavy_minus_sign: | The title of the library | Movies |
| `type` | [components.MediaTypeString](../../models/components/mediatypestring.md) | :heavy_check_mark: | The type of media content in the Plex library. This can represent videos, music, or photos.<br/> | movie |
| `agent` | *Optional[str]* | :heavy_minus_sign: | N/A | |
| `allow_sync` | *Optional[bool]* | :heavy_minus_sign: | N/A | |
| `art` | *Optional[str]* | :heavy_minus_sign: | N/A | |
| `composite` | *Optional[str]* | :heavy_minus_sign: | N/A | |
| `content` | *Optional[bool]* | :heavy_minus_sign: | N/A | |
| `content_changed_at` | *Optional[int]* | :heavy_minus_sign: | N/A | 1556281940 |
| `created_at` | *Optional[int]* | :heavy_minus_sign: | N/A | 1556281940 |
| `directory` | *Optional[bool]* | :heavy_minus_sign: | N/A | |
| `filters` | *Optional[bool]* | :heavy_minus_sign: | Indicates whether this section has filtering capabilities | |
| `hidden` | *Optional[bool]* | :heavy_minus_sign: | N/A | |
| `key` | *Optional[str]* | :heavy_minus_sign: | N/A | |
| `language` | *str* | :heavy_check_mark: | N/A | |
| `uuid` | *str* | :heavy_check_mark: | The universally unique identifier for the library. | e69655a2-ef48-4aba-bb19-d3cc3401e7d6 |
| `location` | List[[components.LibrarySectionLocation](../../models/components/librarysectionlocation.md)] | :heavy_minus_sign: | N/A | |
| `refreshing` | *Optional[bool]* | :heavy_minus_sign: | Indicates whether this library section is currently scanning | |
| `scanned_at` | *Optional[int]* | :heavy_minus_sign: | N/A | 1556281940 |
| `scanner` | *Optional[str]* | :heavy_minus_sign: | N/A | |
| `thumb` | *Optional[str]* | :heavy_minus_sign: | N/A | |
| `updated_at` | *Optional[int]* | :heavy_minus_sign: | N/A | 1556281940 |

View File

@@ -0,0 +1,12 @@
# MailingListStatus
Your current mailing list status
## Values
| Name | Value |
| -------------- | -------------- |
| `ACTIVE` | active |
| `UNSUBSCRIBED` | unsubscribed |
| `REMOVED` | removed |

View File

@@ -10,20 +10,20 @@
| -------------------------------------------------------- | -------------------------------------------------------- | -------------------------------------------------------- | -------------------------------------------------------- | -------------------------------------------------------- |
| `aspect_ratio` | *Optional[float]* | :heavy_minus_sign: | N/A | 2.35 |
| `audio_channels` | *Optional[int]* | :heavy_minus_sign: | N/A | 2 |
| `audio_codec` | *Optional[Any]* | :heavy_minus_sign: | N/A | aac |
| `audio_profile` | *Optional[Any]* | :heavy_minus_sign: | N/A | lc |
| `audio_codec` | *Optional[str]* | :heavy_minus_sign: | N/A | aac |
| `audio_profile` | *Optional[str]* | :heavy_minus_sign: | N/A | lc |
| `bitrate` | *Optional[int]* | :heavy_minus_sign: | N/A | 5612 |
| `container` | *Optional[Any]* | :heavy_minus_sign: | N/A | mov |
| `container` | *Optional[str]* | :heavy_minus_sign: | N/A | mov |
| `duration` | *Optional[int]* | :heavy_minus_sign: | N/A | 150192 |
| `has64bit_offsets` | *Optional[bool]* | :heavy_minus_sign: | N/A | false |
| `has_voice_activity` | *Optional[bool]* | :heavy_minus_sign: | N/A | true |
| `height` | *Optional[int]* | :heavy_minus_sign: | N/A | 544 |
| `id` | *Optional[int]* | :heavy_minus_sign: | N/A | 1 |
| `id` | *int* | :heavy_check_mark: | N/A | 1 |
| `optimized_for_streaming` | *Optional[bool]* | :heavy_minus_sign: | N/A | false |
| `part` | List[[components.Part](../../models/components/part.md)] | :heavy_minus_sign: | N/A | |
| `video_codec` | *Optional[Any]* | :heavy_minus_sign: | N/A | h264 |
| `video_frame_rate` | *Optional[Any]* | :heavy_minus_sign: | N/A | 24p |
| `video_profile` | *Optional[Any]* | :heavy_minus_sign: | N/A | main |
| `video_resolution` | *Optional[Any]* | :heavy_minus_sign: | N/A | 720 |
| `video_codec` | *Optional[str]* | :heavy_minus_sign: | N/A | h264 |
| `video_frame_rate` | *Optional[str]* | :heavy_minus_sign: | N/A | 24p |
| `video_profile` | *Optional[str]* | :heavy_minus_sign: | N/A | main |
| `video_resolution` | *Optional[str]* | :heavy_minus_sign: | N/A | 720 |
| `width` | *Optional[int]* | :heavy_minus_sign: | N/A | 1280 |
| `__pydantic_extra__` | Dict[str, *Any*] | :heavy_minus_sign: | N/A | |

View File

@@ -0,0 +1,8 @@
# MediaContainerWithDecisionGuids
## Fields
| Field | Type | Required | Description | Example |
| -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `id` | *str* | :heavy_check_mark: | The unique identifier for the Guid. Can be prefixed with imdb://, tmdb://, tvdb://<br/> | {<br/>"imdbExample": {<br/>"summary": "IMDB example",<br/>"value": "imdb://tt13015952"<br/>},<br/>"tmdbExample": {<br/>"summary": "TMDB example",<br/>"value": "tmdb://2434012"<br/>},<br/>"tvdbExample": {<br/>"summary": "TVDB example",<br/>"value": "tvdb://7945991"<br/>}<br/>} |

View File

@@ -10,21 +10,21 @@
| ------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------ |
| `aspect_ratio` | *Optional[float]* | :heavy_minus_sign: | N/A | 2.35 |
| `audio_channels` | *Optional[int]* | :heavy_minus_sign: | N/A | 2 |
| `audio_codec` | *Optional[Any]* | :heavy_minus_sign: | N/A | aac |
| `audio_profile` | *Optional[Any]* | :heavy_minus_sign: | N/A | lc |
| `audio_codec` | *Optional[str]* | :heavy_minus_sign: | N/A | aac |
| `audio_profile` | *Optional[str]* | :heavy_minus_sign: | N/A | lc |
| `bitrate` | *Optional[int]* | :heavy_minus_sign: | N/A | 5612 |
| `container` | *Optional[Any]* | :heavy_minus_sign: | N/A | mov |
| `container` | *Optional[str]* | :heavy_minus_sign: | N/A | mov |
| `duration` | *Optional[int]* | :heavy_minus_sign: | N/A | 150192 |
| `has64bit_offsets` | *Optional[bool]* | :heavy_minus_sign: | N/A | false |
| `has_voice_activity` | *Optional[bool]* | :heavy_minus_sign: | N/A | true |
| `height` | *Optional[int]* | :heavy_minus_sign: | N/A | 544 |
| `id` | *Optional[int]* | :heavy_minus_sign: | N/A | 1 |
| `id` | *int* | :heavy_check_mark: | N/A | 1 |
| `optimized_for_streaming` | *Optional[bool]* | :heavy_minus_sign: | N/A | false |
| `part` | List[[components.MediaContainerWithDecisionPart](../../models/components/mediacontainerwithdecisionpart.md)] | :heavy_minus_sign: | N/A | |
| `video_codec` | *Optional[Any]* | :heavy_minus_sign: | N/A | h264 |
| `video_frame_rate` | *Optional[Any]* | :heavy_minus_sign: | N/A | 24p |
| `video_profile` | *Optional[Any]* | :heavy_minus_sign: | N/A | main |
| `video_resolution` | *Optional[Any]* | :heavy_minus_sign: | N/A | 720 |
| `video_codec` | *Optional[str]* | :heavy_minus_sign: | N/A | h264 |
| `video_frame_rate` | *Optional[str]* | :heavy_minus_sign: | N/A | 24p |
| `video_profile` | *Optional[str]* | :heavy_minus_sign: | N/A | main |
| `video_resolution` | *Optional[str]* | :heavy_minus_sign: | N/A | 720 |
| `width` | *Optional[int]* | :heavy_minus_sign: | N/A | 1280 |
| `abr` | *Optional[bool]* | :heavy_minus_sign: | N/A | |
| `resource_session` | *Optional[str]* | :heavy_minus_sign: | N/A | |

View File

@@ -10,73 +10,77 @@ Metadata items can often live in a hierarchy with relationships between them. F
## Fields
| Field | Type | Required | Description |
| ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `title` | *Optional[Any]* | :heavy_minus_sign: | The title of the item (e.g. “300” or “The Simpsons”) |
| `type` | *Optional[Any]* | :heavy_minus_sign: | The type of the video item, such as `movie`, `episode`, or `clip`. |
| `absolute_index` | *Optional[int]* | :heavy_minus_sign: | When present, contains the disc number for a track on multi-disc albums. |
| `added_at` | *Optional[int]* | :heavy_minus_sign: | In units of seconds since the epoch, returns the time at which the item was added to the library. |
| `art` | *Optional[Any]* | :heavy_minus_sign: | When present, the URL for the background artwork for the item. |
| `audience_rating` | *Optional[float]* | :heavy_minus_sign: | Some rating systems separate reviewer ratings from audience ratings |
| `audience_rating_image` | *Optional[Any]* | :heavy_minus_sign: | A URI representing the image to be shown with the audience rating (e.g. rottentomatoes://image.rating.spilled). |
| `autotag` | List[[components.Tag](../../models/components/tag.md)] | :heavy_minus_sign: | N/A |
| `banner` | *Optional[Any]* | :heavy_minus_sign: | When present, the URL for a banner graphic for the item. |
| `chapter_source` | *Optional[Any]* | :heavy_minus_sign: | When present, indicates the source for the chapters in the media file. Can be media (the chapters were embedded in the media itself), agent (a metadata agent computed them), or mixed (a combination of the two). |
| `composite` | *Optional[Any]* | :heavy_minus_sign: | When present, the URL for a composite image for descendent items (e.g. photo albums or playlists). |
| `content_rating` | *Optional[Any]* | :heavy_minus_sign: | If known, the content rating (e.g. MPAA) for an item. |
| `country` | List[[components.Tag](../../models/components/tag.md)] | :heavy_minus_sign: | N/A |
| `director` | List[[components.Tag](../../models/components/tag.md)] | :heavy_minus_sign: | N/A |
| `duration` | *Optional[int]* | :heavy_minus_sign: | When present, the duration for the item, in units of milliseconds. |
| `filter_` | List[[components.Filter](../../models/components/filter_.md)] | :heavy_minus_sign: | Typically only seen in metadata at a library's top level |
| `genre` | List[[components.Tag](../../models/components/tag.md)] | :heavy_minus_sign: | N/A |
| `grandparent_art` | *Optional[str]* | :heavy_minus_sign: | The `art` of the grandparent |
| `grandparent_hero` | *Optional[str]* | :heavy_minus_sign: | The `hero` of the grandparent |
| `grandparent_key` | *Optional[str]* | :heavy_minus_sign: | The `key` of the grandparent |
| `grandparent_rating_key` | *Optional[str]* | :heavy_minus_sign: | The `ratingKey` of the grandparent |
| `grandparent_theme` | *Optional[str]* | :heavy_minus_sign: | The `theme` of the grandparent |
| `grandparent_thumb` | *Optional[str]* | :heavy_minus_sign: | The `thumb` of the grandparent |
| `grandparent_title` | *Optional[str]* | :heavy_minus_sign: | The `title` of the grandparent |
| `guid` | List[[components.Tag](../../models/components/tag.md)] | :heavy_minus_sign: | N/A |
| `hero` | *Optional[Any]* | :heavy_minus_sign: | When present, the URL for a hero image for the item. |
| `image` | List[[components.Image](../../models/components/image.md)] | :heavy_minus_sign: | N/A |
| `index` | *Optional[int]* | :heavy_minus_sign: | When present, this represents the episode number for episodes, season number for seasons, or track number for audio tracks. |
| `key` | *Optional[Any]* | :heavy_minus_sign: | The key at which the item's details can be fetched. In many cases a metadata item may be passed without all the details (such as in a hub) and this key corresponds to the endpoint to fetch additional details. |
| `last_viewed_at` | *Optional[int]* | :heavy_minus_sign: | When a user has watched or listened to an item, this contains a timestamp (epoch seconds) for that last consumption time. |
| `leaf_count` | *Optional[int]* | :heavy_minus_sign: | For shows and seasons, contains the number of total episodes. |
| `media` | List[[components.MediaContainerWithDecisionMedia](../../models/components/mediacontainerwithdecisionmedia.md)] | :heavy_minus_sign: | N/A |
| `originally_available_at` | *Optional[Any]* | :heavy_minus_sign: | When present, in the format YYYY-MM-DD [HH:MM:SS] (the hours/minutes/seconds part is not always present). The air date, or a higher resolution release date for an item, depending on type. For example, episodes usually have air date like 1979-08-10 (we don't use epoch seconds because media existed prior to 1970). In some cases, recorded over-the-air content has higher resolution air date which includes a time component. Albums and movies may have day-resolution release dates as well. |
| `original_title` | *Optional[Any]* | :heavy_minus_sign: | When present, used to indicate an item's original title, e.g. a movie's foreign title. |
| `parent_hero` | *Optional[str]* | :heavy_minus_sign: | The `hero` of the parent |
| `parent_index` | *Optional[int]* | :heavy_minus_sign: | The `index` of the parent |
| `parent_key` | *Optional[str]* | :heavy_minus_sign: | The `key` of the parent |
| `parent_rating_key` | *Optional[str]* | :heavy_minus_sign: | The `ratingKey` of the parent |
| `parent_thumb` | *Optional[str]* | :heavy_minus_sign: | The `thumb` of the parent |
| `parent_title` | *Optional[str]* | :heavy_minus_sign: | The `title` of the parent |
| `primary_extra_key` | *Optional[Any]* | :heavy_minus_sign: | Indicates that the item has a primary extra; for a movie, this is a trailer, and for a music track it is a music video. The URL points to the metadata details endpoint for the item. |
| `prompt` | *Optional[str]* | :heavy_minus_sign: | Prompt to give the user for this directory (such as `Search Movies`) |
| `rating` | *Optional[float]* | :heavy_minus_sign: | When present, the rating for the item. The exact meaning and representation depends on where the rating was sourced from. |
| `rating_array` | List[[components.Tag](../../models/components/tag.md)] | :heavy_minus_sign: | N/A |
| `rating_count` | *Optional[int]* | :heavy_minus_sign: | Number of ratings under this metadata |
| `rating_image` | *Optional[Any]* | :heavy_minus_sign: | When present, indicates an image to be shown with the rating. This is passed back as a small set of defined URI values, e.g. rottentomatoes://image.rating.rotten. |
| `rating_key` | *Optional[Any]* | :heavy_minus_sign: | This is the opaque string to be passed into timeline, scrobble, and rating endpoints to identify them. While it often appears to be numeric, this is not guaranteed. |
| `role` | List[[components.Tag](../../models/components/tag.md)] | :heavy_minus_sign: | N/A |
| `search` | *Optional[bool]* | :heavy_minus_sign: | Indicates this is a search directory |
| `secondary` | *Optional[bool]* | :heavy_minus_sign: | Used by old clients to provide nested menus allowing for primative (but structured) navigation. |
| `skip_children` | *Optional[bool]* | :heavy_minus_sign: | When found on a show item, indicates that the children (seasons) should be skipped in favor of the grandchildren (episodes). Useful for mini-series, etc. |
| `skip_parent` | *Optional[bool]* | :heavy_minus_sign: | When present on an episode or track item, indicates parent should be skipped in favor of grandparent (show). |
| `sort` | List[[components.Sort](../../models/components/sort.md)] | :heavy_minus_sign: | Typically only seen in metadata at a library's top level |
| `studio` | *Optional[Any]* | :heavy_minus_sign: | When present, the studio or label which produced an item (e.g. movie studio for movies, record label for albums). |
| `subtype` | *Optional[Any]* | :heavy_minus_sign: | The subtype of the video item, such as `photo` when the video item is in a photo library |
| `summary` | *Optional[Any]* | :heavy_minus_sign: | When present, the extended textual information about the item (e.g. movie plot, artist biography, album review). |
| `tagline` | *Optional[Any]* | :heavy_minus_sign: | When present, a pithy one-liner about the item (usually only seen for movies). |
| `theme` | *Optional[Any]* | :heavy_minus_sign: | When present, the URL for theme music for the item (usually only for TV shows). |
| `thumb` | *Optional[Any]* | :heavy_minus_sign: | When present, the URL for the poster or thumbnail for the item. When available for types like movie, it will be the poster graphic, but fall-back to the extracted media thumbnail. |
| `title_sort` | *Optional[Any]* | :heavy_minus_sign: | Whene present, this is the string used for sorting the item. It's usually the title with any leading articles removed (e.g. “Simpsons”). |
| `updated_at` | *Optional[int]* | :heavy_minus_sign: | In units of seconds since the epoch, returns the time at which the item was last changed (e.g. had its metadata updated). |
| `user_rating` | *Optional[float]* | :heavy_minus_sign: | When the user has rated an item, this contains the user rating |
| `view_count` | *Optional[int]* | :heavy_minus_sign: | When a users has completed watched or listened to an item, this attribute contains the number of consumptions. |
| `viewed_leaf_count` | *Optional[int]* | :heavy_minus_sign: | For shows and seasons, contains the number of viewed episodes. |
| `view_offset` | *Optional[int]* | :heavy_minus_sign: | When a user is in the process of viewing or listening to this item, this attribute contains the current offset, in units of milliseconds. |
| `writer` | List[[components.Tag](../../models/components/tag.md)] | :heavy_minus_sign: | N/A |
| `year` | *Optional[int]* | :heavy_minus_sign: | When present, the year associated with the item's release (e.g. release year for a movie). |
| `__pydantic_extra__` | Dict[str, *Any*] | :heavy_minus_sign: | N/A |
| Field | Type | Required | Description | Example |
| ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `title` | *str* | :heavy_check_mark: | The title of the item (e.g. “300” or “The Simpsons”) | |
| `type` | *str* | :heavy_check_mark: | The type of the video item, such as `movie`, `episode`, or `clip`. | |
| `absolute_index` | *Optional[int]* | :heavy_minus_sign: | When present, contains the disc number for a track on multi-disc albums. | |
| `added_at` | *int* | :heavy_check_mark: | In units of seconds since the epoch, returns the time at which the item was added to the library. | |
| `art` | *Optional[str]* | :heavy_minus_sign: | When present, the URL for the background artwork for the item. | /library/metadata/58683/art/1703239236 |
| `audience_rating` | *Optional[float]* | :heavy_minus_sign: | Some rating systems separate reviewer ratings from audience ratings | |
| `audience_rating_image` | *Optional[str]* | :heavy_minus_sign: | A URI representing the image to be shown with the audience rating (e.g. rottentomatoes://image.rating.spilled). | |
| `autotag` | List[[components.Tag](../../models/components/tag.md)] | :heavy_minus_sign: | N/A | |
| `banner` | *Optional[str]* | :heavy_minus_sign: | When present, the URL for a banner graphic for the item. | |
| `chapter_source` | *Optional[str]* | :heavy_minus_sign: | When present, indicates the source for the chapters in the media file. Can be media (the chapters were embedded in the media itself), agent (a metadata agent computed them), or mixed (a combination of the two). | media |
| `child_count` | *Optional[int]* | :heavy_minus_sign: | The number of child items associated with this media item. | 1 |
| `composite` | *Optional[str]* | :heavy_minus_sign: | When present, the URL for a composite image for descendent items (e.g. photo albums or playlists). | |
| `content_rating` | *Optional[str]* | :heavy_minus_sign: | If known, the content rating (e.g. MPAA) for an item. | |
| `country` | List[[components.Tag](../../models/components/tag.md)] | :heavy_minus_sign: | N/A | |
| `director` | List[[components.Tag](../../models/components/tag.md)] | :heavy_minus_sign: | N/A | |
| `duration` | *Optional[int]* | :heavy_minus_sign: | When present, the duration for the item, in units of milliseconds. | |
| `filter_` | List[[components.Filter](../../models/components/filter_.md)] | :heavy_minus_sign: | Typically only seen in metadata at a library's top level | |
| `genre` | List[[components.Tag](../../models/components/tag.md)] | :heavy_minus_sign: | N/A | |
| `grandparent_art` | *Optional[str]* | :heavy_minus_sign: | The `art` of the grandparent | |
| `grandparent_guid` | *Optional[str]* | :heavy_minus_sign: | The GUID of the grandparent media item. | plex://show/5d9c081b170e24001f2a7be4 |
| `grandparent_hero` | *Optional[str]* | :heavy_minus_sign: | The `hero` of the grandparent | |
| `grandparent_key` | *Optional[str]* | :heavy_minus_sign: | The `key` of the grandparent | |
| `grandparent_rating_key` | *Optional[str]* | :heavy_minus_sign: | The `ratingKey` of the grandparent | |
| `grandparent_theme` | *Optional[str]* | :heavy_minus_sign: | The `theme` of the grandparent | |
| `grandparent_thumb` | *Optional[str]* | :heavy_minus_sign: | The `thumb` of the grandparent | |
| `grandparent_title` | *Optional[str]* | :heavy_minus_sign: | The `title` of the grandparent | |
| `guid` | *Optional[str]* | :heavy_minus_sign: | The globally unique identifier for the media item. | plex://movie/5d7768ba96b655001fdc0408 |
| `guids` | List[[components.MediaContainerWithDecisionGuids](../../models/components/mediacontainerwithdecisionguids.md)] | :heavy_minus_sign: | N/A | |
| `hero` | *Optional[str]* | :heavy_minus_sign: | When present, the URL for a hero image for the item. | |
| `image` | List[[components.Image](../../models/components/image.md)] | :heavy_minus_sign: | N/A | |
| `index` | *Optional[int]* | :heavy_minus_sign: | When present, this represents the episode number for episodes, season number for seasons, or track number for audio tracks. | |
| `key` | *str* | :heavy_check_mark: | The key at which the item's details can be fetched. In many cases a metadata item may be passed without all the details (such as in a hub) and this key corresponds to the endpoint to fetch additional details. | |
| `last_viewed_at` | *Optional[int]* | :heavy_minus_sign: | N/A | 1556281940 |
| `leaf_count` | *Optional[int]* | :heavy_minus_sign: | For shows and seasons, contains the number of total episodes. | |
| `media` | List[[components.MediaContainerWithDecisionMedia](../../models/components/mediacontainerwithdecisionmedia.md)] | :heavy_minus_sign: | N/A | |
| `originally_available_at` | [datetime](https://docs.python.org/3/library/datetime.html#datetime-objects) | :heavy_minus_sign: | When present, in the format YYYY-MM-DD [HH:MM:SS] (the hours/minutes/seconds part is not always present). The air date, or a higher resolution release date for an item, depending on type. For example, episodes usually have air date like 1979-08-10 (we don't use epoch seconds because media existed prior to 1970). In some cases, recorded over-the-air content has higher resolution air date which includes a time component. Albums and movies may have day-resolution release dates as well. | 2022-12-14 |
| `original_title` | *Optional[str]* | :heavy_minus_sign: | When present, used to indicate an item's original title, e.g. a movie's foreign title. | |
| `parent_guid` | *Optional[str]* | :heavy_minus_sign: | The GUID of the parent media item. | plex://show/5d9c081b170e24001f2a7be4 |
| `parent_hero` | *Optional[str]* | :heavy_minus_sign: | The `hero` of the parent | |
| `parent_index` | *Optional[int]* | :heavy_minus_sign: | The `index` of the parent | |
| `parent_key` | *Optional[str]* | :heavy_minus_sign: | The `key` of the parent | |
| `parent_rating_key` | *Optional[str]* | :heavy_minus_sign: | The `ratingKey` of the parent | |
| `parent_thumb` | *Optional[str]* | :heavy_minus_sign: | The `thumb` of the parent | |
| `parent_title` | *Optional[str]* | :heavy_minus_sign: | The `title` of the parent | |
| `primary_extra_key` | *Optional[str]* | :heavy_minus_sign: | Indicates that the item has a primary extra; for a movie, this is a trailer, and for a music track it is a music video. The URL points to the metadata details endpoint for the item. | |
| `prompt` | *Optional[str]* | :heavy_minus_sign: | Prompt to give the user for this directory (such as `Search Movies`) | |
| `rating` | *Optional[float]* | :heavy_minus_sign: | When present, the rating for the item. The exact meaning and representation depends on where the rating was sourced from. | |
| `rating_array` | List[[components.Tag](../../models/components/tag.md)] | :heavy_minus_sign: | N/A | |
| `rating_count` | *Optional[int]* | :heavy_minus_sign: | Number of ratings under this metadata | |
| `rating_image` | *Optional[str]* | :heavy_minus_sign: | When present, indicates an image to be shown with the rating. This is passed back as a small set of defined URI values, e.g. rottentomatoes://image.rating.rotten. | |
| `rating_key` | *Optional[str]* | :heavy_minus_sign: | This is the opaque string to be passed into timeline, scrobble, and rating endpoints to identify them. While it often appears to be numeric, this is not guaranteed. | |
| `role` | List[[components.Tag](../../models/components/tag.md)] | :heavy_minus_sign: | N/A | |
| `search` | *Optional[bool]* | :heavy_minus_sign: | Indicates this is a search directory | |
| `secondary` | *Optional[bool]* | :heavy_minus_sign: | Used by old clients to provide nested menus allowing for primative (but structured) navigation. | |
| `skip_children` | *Optional[bool]* | :heavy_minus_sign: | When found on a show item, indicates that the children (seasons) should be skipped in favor of the grandchildren (episodes). Useful for mini-series, etc. | |
| `skip_parent` | *Optional[bool]* | :heavy_minus_sign: | When present on an episode or track item, indicates parent should be skipped in favor of grandparent (show). | |
| `sort` | List[[components.Sort](../../models/components/sort.md)] | :heavy_minus_sign: | Typically only seen in metadata at a library's top level | |
| `studio` | *Optional[str]* | :heavy_minus_sign: | When present, the studio or label which produced an item (e.g. movie studio for movies, record label for albums). | |
| `subtype` | *Optional[str]* | :heavy_minus_sign: | The subtype of the video item, such as `photo` when the video item is in a photo library | |
| `summary` | *Optional[str]* | :heavy_minus_sign: | When present, the extended textual information about the item (e.g. movie plot, artist biography, album review). | |
| `tagline` | *Optional[str]* | :heavy_minus_sign: | When present, a pithy one-liner about the item (usually only seen for movies). | |
| `theme` | *Optional[str]* | :heavy_minus_sign: | When present, the URL for theme music for the item (usually only for TV shows). | /library/metadata/1/theme/1705636920 |
| `thumb` | *Optional[str]* | :heavy_minus_sign: | When present, the URL for the poster or thumbnail for the item. When available for types like movie, it will be the poster graphic, but fall-back to the extracted media thumbnail. | /library/metadata/58683/thumb/1703239236 |
| `title_sort` | *Optional[str]* | :heavy_minus_sign: | Whene present, this is the string used for sorting the item. It's usually the title with any leading articles removed (e.g. “Simpsons”). | |
| `updated_at` | *Optional[int]* | :heavy_minus_sign: | In units of seconds since the epoch, returns the time at which the item was last changed (e.g. had its metadata updated). | |
| `user_rating` | *Optional[float]* | :heavy_minus_sign: | When the user has rated an item, this contains the user rating | |
| `view_count` | *Optional[int]* | :heavy_minus_sign: | When a users has completed watched or listened to an item, this attribute contains the number of consumptions. | |
| `viewed_leaf_count` | *Optional[int]* | :heavy_minus_sign: | For shows and seasons, contains the number of viewed episodes. | |
| `view_offset` | *Optional[int]* | :heavy_minus_sign: | When a user is in the process of viewing or listening to this item, this attribute contains the current offset, in units of milliseconds. | |
| `writer` | List[[components.Tag](../../models/components/tag.md)] | :heavy_minus_sign: | N/A | |
| `year` | *Optional[int]* | :heavy_minus_sign: | When present, the year associated with the item's release (e.g. release year for a movie). | |
| `__pydantic_extra__` | Dict[str, *Any*] | :heavy_minus_sign: | N/A | |

View File

@@ -8,17 +8,20 @@
| Field | Type | Required | Description | Example |
| ---------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------- |
| `audio_profile` | *Optional[Any]* | :heavy_minus_sign: | N/A | lc |
| `container` | *Optional[Any]* | :heavy_minus_sign: | The container of the media file, such as `mp4` or `mkv` | mov |
| `accessible` | *Optional[bool]* | :heavy_minus_sign: | Indicates if the part is accessible. | true |
| `audio_profile` | *Optional[str]* | :heavy_minus_sign: | N/A | lc |
| `container` | *Optional[str]* | :heavy_minus_sign: | The container of the media file, such as `mp4` or `mkv` | mov |
| `duration` | *Optional[int]* | :heavy_minus_sign: | The duration of the media item, in milliseconds | 150192 |
| `file` | *Optional[Any]* | :heavy_minus_sign: | The local file path at which the part is stored on the server | /home/schuyler/Videos/Trailers/Cloud Atlas (2012).mov |
| `exists` | *Optional[bool]* | :heavy_minus_sign: | Indicates if the part exists. | true |
| `file` | *Optional[str]* | :heavy_minus_sign: | The local file path at which the part is stored on the server | /home/schuyler/Videos/Trailers/Cloud Atlas (2012).mov |
| `has64bit_offsets` | *Optional[bool]* | :heavy_minus_sign: | N/A | false |
| `id` | *Optional[int]* | :heavy_minus_sign: | N/A | 1 |
| `key` | *Optional[Any]* | :heavy_minus_sign: | The key from which the media can be streamed | /library/parts/1/1531779263/file.mov |
| `id` | *int* | :heavy_check_mark: | N/A | 1 |
| `indexes` | *Optional[str]* | :heavy_minus_sign: | N/A | sd |
| `key` | *str* | :heavy_check_mark: | The key from which the media can be streamed | /library/parts/1/1531779263/file.mov |
| `optimized_for_streaming` | *Optional[bool]* | :heavy_minus_sign: | N/A | false |
| `size` | *Optional[int]* | :heavy_minus_sign: | The size of the media, in bytes | 105355654 |
| `stream` | List[[components.MediaContainerWithDecisionStream](../../models/components/mediacontainerwithdecisionstream.md)] | :heavy_minus_sign: | N/A | |
| `video_profile` | *Optional[Any]* | :heavy_minus_sign: | N/A | main |
| `video_profile` | *Optional[str]* | :heavy_minus_sign: | N/A | main |
| `decision` | [Optional[components.Decision]](../../models/components/decision.md) | :heavy_minus_sign: | N/A | |
| `selected` | *Optional[bool]* | :heavy_minus_sign: | N/A | |
| `__pydantic_extra__` | Dict[str, *Any*] | :heavy_minus_sign: | N/A | |

View File

@@ -7,36 +7,59 @@
## Fields
| Field | Type | Required | Description | Example |
| ------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------ |
| `default` | *Optional[bool]* | :heavy_minus_sign: | N/A | true |
| `audio_channel_layout` | *Optional[Any]* | :heavy_minus_sign: | N/A | stereo |
| `bit_depth` | *Optional[int]* | :heavy_minus_sign: | N/A | 8 |
| `bitrate` | *Optional[int]* | :heavy_minus_sign: | N/A | 5466 |
| `can_auto_sync` | *Optional[bool]* | :heavy_minus_sign: | For subtitle streams only. If `true` then the server can attempt to automatically sync the subtitle timestamps with the video. | true |
| `chroma_location` | *Optional[Any]* | :heavy_minus_sign: | N/A | topleft |
| `chroma_subsampling` | *Optional[Any]* | :heavy_minus_sign: | N/A | 4:2:0 |
| `codec` | *Optional[Any]* | :heavy_minus_sign: | The codec of the stream, such as `h264` or `aac` | h264 |
| `color_primaries` | *Optional[Any]* | :heavy_minus_sign: | N/A | bt709 |
| `color_range` | *Optional[Any]* | :heavy_minus_sign: | N/A | tv |
| `color_space` | *Optional[Any]* | :heavy_minus_sign: | N/A | bt709 |
| `color_trc` | *Optional[Any]* | :heavy_minus_sign: | N/A | bt709 |
| `display_title` | *Optional[Any]* | :heavy_minus_sign: | A friendly name for the stream, often comprised of the language and codec information | English (H.264 Main) |
| `frame_rate` | *Optional[float]* | :heavy_minus_sign: | N/A | 23.976 |
| `has_scaling_matrix` | *Optional[Any]* | :heavy_minus_sign: | N/A | false |
| `height` | *Optional[int]* | :heavy_minus_sign: | N/A | 544 |
| `id` | *Optional[int]* | :heavy_minus_sign: | N/A | 1 |
| `index` | *Optional[int]* | :heavy_minus_sign: | If the stream is part of the `Part` and not an external resource, the index of the stream within that part | 0 |
| `key` | *Optional[Any]* | :heavy_minus_sign: | If the stream is independently streamable, the key from which it can be streamed | /library/streams/1 |
| `language` | *Optional[Any]* | :heavy_minus_sign: | N/A | English |
| `language_code` | *Optional[Any]* | :heavy_minus_sign: | The three character language code for the stream contents | eng |
| `level` | *Optional[int]* | :heavy_minus_sign: | N/A | 31 |
| `profile` | *Optional[Any]* | :heavy_minus_sign: | N/A | main |
| `ref_frames` | *Optional[int]* | :heavy_minus_sign: | N/A | 2 |
| `sampling_rate` | *Optional[int]* | :heavy_minus_sign: | N/A | 48000 |
| `selected` | *Optional[bool]* | :heavy_minus_sign: | N/A | |
| ------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------ |
| `default` | *Optional[bool]* | :heavy_minus_sign: | Indicates if this stream is default. | true |
| `audio_channel_layout` | *Optional[str]* | :heavy_minus_sign: | Audio channel layout. | 5.1(side) |
| `channels` | *Optional[int]* | :heavy_minus_sign: | Number of audio channels (for audio streams). | 6 |
| `bit_depth` | *Optional[int]* | :heavy_minus_sign: | Bit depth of the video stream. | 10 |
| `dovibl_compat_id` | *Optional[int]* | :heavy_minus_sign: | Dolby Vision BL compatibility ID. | 1 |
| `dovibl_present` | *Optional[bool]* | :heavy_minus_sign: | Indicates if Dolby Vision BL is present. | true |
| `doviel_present` | *Optional[bool]* | :heavy_minus_sign: | Indicates if Dolby Vision EL is present. | false |
| `dovi_level` | *Optional[int]* | :heavy_minus_sign: | Dolby Vision level. | 6 |
| `dovi_present` | *Optional[bool]* | :heavy_minus_sign: | Indicates if Dolby Vision is present. | true |
| `dovi_profile` | *Optional[int]* | :heavy_minus_sign: | Dolby Vision profile. | 8 |
| `dovirpu_present` | *Optional[bool]* | :heavy_minus_sign: | Indicates if Dolby Vision RPU is present. | true |
| `dovi_version` | *Optional[str]* | :heavy_minus_sign: | Dolby Vision version. | 1.0 |
| `bitrate` | *Optional[int]* | :heavy_minus_sign: | Bitrate of the stream. | 24743 |
| `can_auto_sync` | *Optional[bool]* | :heavy_minus_sign: | Indicates if the stream can auto-sync. | false |
| `chroma_location` | *Optional[str]* | :heavy_minus_sign: | Chroma sample location. | topleft |
| `chroma_subsampling` | *Optional[str]* | :heavy_minus_sign: | Chroma subsampling format. | 4:2:0 |
| `coded_height` | *Optional[int]* | :heavy_minus_sign: | Coded video height. | 1608 |
| `coded_width` | *Optional[int]* | :heavy_minus_sign: | Coded video width. | 3840 |
| `closed_captions` | *Optional[bool]* | :heavy_minus_sign: | N/A | true |
| `codec` | *str* | :heavy_check_mark: | Codec used by the stream. | hevc |
| `color_primaries` | *Optional[str]* | :heavy_minus_sign: | Color primaries used. | bt2020 |
| `color_range` | *Optional[str]* | :heavy_minus_sign: | Color range (e.g., tv). | tv |
| `color_space` | *Optional[str]* | :heavy_minus_sign: | Color space. | bt2020nc |
| `color_trc` | *Optional[str]* | :heavy_minus_sign: | Color transfer characteristics. | smpte2084 |
| `display_title` | *str* | :heavy_check_mark: | Display title for the stream. | 4K DoVi/HDR10 (HEVC Main 10) |
| `extended_display_title` | *Optional[str]* | :heavy_minus_sign: | Extended display title for the stream. | 4K DoVi/HDR10 (HEVC Main 10) |
| `frame_rate` | *Optional[float]* | :heavy_minus_sign: | Frame rate of the stream. | 23.976 |
| `has_scaling_matrix` | *Optional[bool]* | :heavy_minus_sign: | N/A | false |
| `height` | *Optional[int]* | :heavy_minus_sign: | Height of the video stream. | 1602 |
| `id` | *int* | :heavy_check_mark: | Unique stream identifier. | 1002625 |
| `index` | *Optional[int]* | :heavy_minus_sign: | Index of the stream. | 0 |
| `key` | *str* | :heavy_check_mark: | Key to access this stream part. | /library/streams/216389 |
| `language` | *Optional[str]* | :heavy_minus_sign: | Language of the stream. | English |
| `language_code` | *Optional[str]* | :heavy_minus_sign: | ISO language code. | eng |
| `language_tag` | *Optional[str]* | :heavy_minus_sign: | Language tag (e.g., en). | en |
| `format_` | *Optional[str]* | :heavy_minus_sign: | Format of the stream (e.g., srt). | srt |
| `header_compression` | *Optional[bool]* | :heavy_minus_sign: | Indicates whether header compression is enabled. | true |
| `level` | *Optional[int]* | :heavy_minus_sign: | Video level. | 150 |
| `original` | *Optional[bool]* | :heavy_minus_sign: | Indicates if this is the original stream. | true |
| `profile` | *Optional[str]* | :heavy_minus_sign: | Video profile. | main 10 |
| `ref_frames` | *Optional[int]* | :heavy_minus_sign: | Number of reference frames. | 1 |
| `sampling_rate` | *Optional[int]* | :heavy_minus_sign: | Sampling rate for the audio stream. | 48000 |
| `scan_type` | *Optional[str]* | :heavy_minus_sign: | N/A | progressive |
| `embedded_in_video` | *Optional[str]* | :heavy_minus_sign: | N/A | progressive |
| `selected` | *Optional[bool]* | :heavy_minus_sign: | Indicates if this stream is selected (applicable for audio streams). | true |
| `forced` | *Optional[bool]* | :heavy_minus_sign: | N/A | true |
| `hearing_impaired` | *Optional[bool]* | :heavy_minus_sign: | Indicates if the stream is for the hearing impaired. | true |
| `dub` | *Optional[bool]* | :heavy_minus_sign: | Indicates if the stream is a dub. | true |
| `title` | *Optional[str]* | :heavy_minus_sign: | Optional title for the stream (e.g., language variant). | SDH |
| `stream_identifier` | *Optional[int]* | :heavy_minus_sign: | N/A | 1 |
| `stream_type` | *Optional[int]* | :heavy_minus_sign: | A number indicating the type of the stream. `1` for video, `2` for audio, `3` for subtitles, `4` for lyrics | 1 |
| `width` | *Optional[int]* | :heavy_minus_sign: | N/A | 1280 |
| `stream_type` | *Literal[1]* | :heavy_check_mark: | Stream type:<br/> - VIDEO = 1<br/> - AUDIO = 2<br/> - SUBTITLE = 3<br/> | |
| `width` | *Optional[int]* | :heavy_minus_sign: | Width of the video stream. | 3840 |
| `decision` | [Optional[components.MediaContainerWithDecisionDecision]](../../models/components/mediacontainerwithdecisiondecision.md) | :heavy_minus_sign: | N/A | |
| `location` | [Optional[components.MediaContainerWithDecisionLocation]](../../models/components/mediacontainerwithdecisionlocation.md) | :heavy_minus_sign: | N/A | |
| `__pydantic_extra__` | Dict[str, *Any*] | :heavy_minus_sign: | N/A | |

View File

@@ -0,0 +1,8 @@
# MediaContainerWithNestedMetadataGuids
## Fields
| Field | Type | Required | Description | Example |
| -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `id` | *str* | :heavy_check_mark: | The unique identifier for the Guid. Can be prefixed with imdb://, tmdb://, tvdb://<br/> | {<br/>"imdbExample": {<br/>"summary": "IMDB example",<br/>"value": "imdb://tt13015952"<br/>},<br/>"tmdbExample": {<br/>"summary": "TMDB example",<br/>"value": "tmdb://2434012"<br/>},<br/>"tvdbExample": {<br/>"summary": "TVDB example",<br/>"value": "tvdb://7945991"<br/>}<br/>} |

View File

@@ -0,0 +1,8 @@
# MediaContainerWithPlaylistMetadataGuids
## Fields
| Field | Type | Required | Description | Example |
| -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `id` | *str* | :heavy_check_mark: | The unique identifier for the Guid. Can be prefixed with imdb://, tmdb://, tvdb://<br/> | {<br/>"imdbExample": {<br/>"summary": "IMDB example",<br/>"value": "imdb://tt13015952"<br/>},<br/>"tmdbExample": {<br/>"summary": "TMDB example",<br/>"value": "tmdb://2434012"<br/>},<br/>"tvdbExample": {<br/>"summary": "TVDB example",<br/>"value": "tvdb://7945991"<br/>}<br/>} |

View File

@@ -10,77 +10,81 @@ Metadata items can often live in a hierarchy with relationships between them. F
## Fields
| Field | Type | Required | Description |
| ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `read_only` | *Optional[bool]* | :heavy_minus_sign: | If we return this as true then this playlist cannot be altered or deleted directly by the client. |
| `composite` | *Optional[Any]* | :heavy_minus_sign: | When present, the URL for a composite image for descendent items (e.g. photo albums or playlists). |
| `duration` | *Optional[int]* | :heavy_minus_sign: | When present, the duration for the item, in units of milliseconds. |
| `key` | *Optional[Any]* | :heavy_minus_sign: | The key at which the item's details can be fetched. In many cases a metadata item may be passed without all the details (such as in a hub) and this key corresponds to the endpoint to fetch additional details. |
| `leaf_count` | *Optional[int]* | :heavy_minus_sign: | For shows and seasons, contains the number of total episodes. |
| `playlist_type` | [Optional[components.PlaylistType]](../../models/components/playlisttype.md) | :heavy_minus_sign: | The type of the playlist. |
| `smart` | *Optional[bool]* | :heavy_minus_sign: | Whether or not the playlist is smart. |
| `special_playlist_type` | *Optional[str]* | :heavy_minus_sign: | If this is a special playlist, this returns its type (e.g. favorites). |
| `title` | *Optional[Any]* | :heavy_minus_sign: | The title of the item (e.g. “300” or “The Simpsons”) |
| `type` | *Optional[Any]* | :heavy_minus_sign: | The type of the video item, such as `movie`, `episode`, or `clip`. |
| `absolute_index` | *Optional[int]* | :heavy_minus_sign: | When present, contains the disc number for a track on multi-disc albums. |
| `added_at` | *Optional[int]* | :heavy_minus_sign: | In units of seconds since the epoch, returns the time at which the item was added to the library. |
| `art` | *Optional[Any]* | :heavy_minus_sign: | When present, the URL for the background artwork for the item. |
| `audience_rating` | *Optional[float]* | :heavy_minus_sign: | Some rating systems separate reviewer ratings from audience ratings |
| `audience_rating_image` | *Optional[Any]* | :heavy_minus_sign: | A URI representing the image to be shown with the audience rating (e.g. rottentomatoes://image.rating.spilled). |
| `autotag` | List[[components.Tag](../../models/components/tag.md)] | :heavy_minus_sign: | N/A |
| `banner` | *Optional[Any]* | :heavy_minus_sign: | When present, the URL for a banner graphic for the item. |
| `chapter_source` | *Optional[Any]* | :heavy_minus_sign: | When present, indicates the source for the chapters in the media file. Can be media (the chapters were embedded in the media itself), agent (a metadata agent computed them), or mixed (a combination of the two). |
| `content_rating` | *Optional[Any]* | :heavy_minus_sign: | If known, the content rating (e.g. MPAA) for an item. |
| `country` | List[[components.Tag](../../models/components/tag.md)] | :heavy_minus_sign: | N/A |
| `director` | List[[components.Tag](../../models/components/tag.md)] | :heavy_minus_sign: | N/A |
| `filter_` | List[[components.Filter](../../models/components/filter_.md)] | :heavy_minus_sign: | Typically only seen in metadata at a library's top level |
| `genre` | List[[components.Tag](../../models/components/tag.md)] | :heavy_minus_sign: | N/A |
| `grandparent_art` | *Optional[str]* | :heavy_minus_sign: | The `art` of the grandparent |
| `grandparent_hero` | *Optional[str]* | :heavy_minus_sign: | The `hero` of the grandparent |
| `grandparent_key` | *Optional[str]* | :heavy_minus_sign: | The `key` of the grandparent |
| `grandparent_rating_key` | *Optional[str]* | :heavy_minus_sign: | The `ratingKey` of the grandparent |
| `grandparent_theme` | *Optional[str]* | :heavy_minus_sign: | The `theme` of the grandparent |
| `grandparent_thumb` | *Optional[str]* | :heavy_minus_sign: | The `thumb` of the grandparent |
| `grandparent_title` | *Optional[str]* | :heavy_minus_sign: | The `title` of the grandparent |
| `guid` | List[[components.Tag](../../models/components/tag.md)] | :heavy_minus_sign: | N/A |
| `hero` | *Optional[Any]* | :heavy_minus_sign: | When present, the URL for a hero image for the item. |
| `image` | List[[components.Image](../../models/components/image.md)] | :heavy_minus_sign: | N/A |
| `index` | *Optional[int]* | :heavy_minus_sign: | When present, this represents the episode number for episodes, season number for seasons, or track number for audio tracks. |
| `last_viewed_at` | *Optional[int]* | :heavy_minus_sign: | When a user has watched or listened to an item, this contains a timestamp (epoch seconds) for that last consumption time. |
| `media` | List[[components.Media](../../models/components/media.md)] | :heavy_minus_sign: | N/A |
| `originally_available_at` | *Optional[Any]* | :heavy_minus_sign: | When present, in the format YYYY-MM-DD [HH:MM:SS] (the hours/minutes/seconds part is not always present). The air date, or a higher resolution release date for an item, depending on type. For example, episodes usually have air date like 1979-08-10 (we don't use epoch seconds because media existed prior to 1970). In some cases, recorded over-the-air content has higher resolution air date which includes a time component. Albums and movies may have day-resolution release dates as well. |
| `original_title` | *Optional[Any]* | :heavy_minus_sign: | When present, used to indicate an item's original title, e.g. a movie's foreign title. |
| `parent_hero` | *Optional[str]* | :heavy_minus_sign: | The `hero` of the parent |
| `parent_index` | *Optional[int]* | :heavy_minus_sign: | The `index` of the parent |
| `parent_key` | *Optional[str]* | :heavy_minus_sign: | The `key` of the parent |
| `parent_rating_key` | *Optional[str]* | :heavy_minus_sign: | The `ratingKey` of the parent |
| `parent_thumb` | *Optional[str]* | :heavy_minus_sign: | The `thumb` of the parent |
| `parent_title` | *Optional[str]* | :heavy_minus_sign: | The `title` of the parent |
| `primary_extra_key` | *Optional[Any]* | :heavy_minus_sign: | Indicates that the item has a primary extra; for a movie, this is a trailer, and for a music track it is a music video. The URL points to the metadata details endpoint for the item. |
| `prompt` | *Optional[str]* | :heavy_minus_sign: | Prompt to give the user for this directory (such as `Search Movies`) |
| `rating` | *Optional[float]* | :heavy_minus_sign: | When present, the rating for the item. The exact meaning and representation depends on where the rating was sourced from. |
| `rating_array` | List[[components.Tag](../../models/components/tag.md)] | :heavy_minus_sign: | N/A |
| `rating_count` | *Optional[int]* | :heavy_minus_sign: | Number of ratings under this metadata |
| `rating_image` | *Optional[Any]* | :heavy_minus_sign: | When present, indicates an image to be shown with the rating. This is passed back as a small set of defined URI values, e.g. rottentomatoes://image.rating.rotten. |
| `rating_key` | *Optional[Any]* | :heavy_minus_sign: | This is the opaque string to be passed into timeline, scrobble, and rating endpoints to identify them. While it often appears to be numeric, this is not guaranteed. |
| `role` | List[[components.Tag](../../models/components/tag.md)] | :heavy_minus_sign: | N/A |
| `search` | *Optional[bool]* | :heavy_minus_sign: | Indicates this is a search directory |
| `secondary` | *Optional[bool]* | :heavy_minus_sign: | Used by old clients to provide nested menus allowing for primative (but structured) navigation. |
| `skip_children` | *Optional[bool]* | :heavy_minus_sign: | When found on a show item, indicates that the children (seasons) should be skipped in favor of the grandchildren (episodes). Useful for mini-series, etc. |
| `skip_parent` | *Optional[bool]* | :heavy_minus_sign: | When present on an episode or track item, indicates parent should be skipped in favor of grandparent (show). |
| `sort` | List[[components.Sort](../../models/components/sort.md)] | :heavy_minus_sign: | Typically only seen in metadata at a library's top level |
| `studio` | *Optional[Any]* | :heavy_minus_sign: | When present, the studio or label which produced an item (e.g. movie studio for movies, record label for albums). |
| `subtype` | *Optional[Any]* | :heavy_minus_sign: | The subtype of the video item, such as `photo` when the video item is in a photo library |
| `summary` | *Optional[Any]* | :heavy_minus_sign: | When present, the extended textual information about the item (e.g. movie plot, artist biography, album review). |
| `tagline` | *Optional[Any]* | :heavy_minus_sign: | When present, a pithy one-liner about the item (usually only seen for movies). |
| `theme` | *Optional[Any]* | :heavy_minus_sign: | When present, the URL for theme music for the item (usually only for TV shows). |
| `thumb` | *Optional[Any]* | :heavy_minus_sign: | When present, the URL for the poster or thumbnail for the item. When available for types like movie, it will be the poster graphic, but fall-back to the extracted media thumbnail. |
| `title_sort` | *Optional[Any]* | :heavy_minus_sign: | Whene present, this is the string used for sorting the item. It's usually the title with any leading articles removed (e.g. “Simpsons”). |
| `updated_at` | *Optional[int]* | :heavy_minus_sign: | In units of seconds since the epoch, returns the time at which the item was last changed (e.g. had its metadata updated). |
| `user_rating` | *Optional[float]* | :heavy_minus_sign: | When the user has rated an item, this contains the user rating |
| `view_count` | *Optional[int]* | :heavy_minus_sign: | When a users has completed watched or listened to an item, this attribute contains the number of consumptions. |
| `viewed_leaf_count` | *Optional[int]* | :heavy_minus_sign: | For shows and seasons, contains the number of viewed episodes. |
| `view_offset` | *Optional[int]* | :heavy_minus_sign: | When a user is in the process of viewing or listening to this item, this attribute contains the current offset, in units of milliseconds. |
| `writer` | List[[components.Tag](../../models/components/tag.md)] | :heavy_minus_sign: | N/A |
| `year` | *Optional[int]* | :heavy_minus_sign: | When present, the year associated with the item's release (e.g. release year for a movie). |
| `__pydantic_extra__` | Dict[str, *Any*] | :heavy_minus_sign: | N/A |
| Field | Type | Required | Description | Example |
| ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `read_only` | *Optional[bool]* | :heavy_minus_sign: | If we return this as true then this playlist cannot be altered or deleted directly by the client. | |
| `composite` | *Optional[str]* | :heavy_minus_sign: | When present, the URL for a composite image for descendent items (e.g. photo albums or playlists). | |
| `duration` | *Optional[int]* | :heavy_minus_sign: | When present, the duration for the item, in units of milliseconds. | |
| `key` | *str* | :heavy_check_mark: | The key at which the item's details can be fetched. In many cases a metadata item may be passed without all the details (such as in a hub) and this key corresponds to the endpoint to fetch additional details. | |
| `leaf_count` | *Optional[int]* | :heavy_minus_sign: | For shows and seasons, contains the number of total episodes. | |
| `playlist_type` | [Optional[components.PlaylistType]](../../models/components/playlisttype.md) | :heavy_minus_sign: | The type of the playlist. | |
| `smart` | *Optional[bool]* | :heavy_minus_sign: | Whether or not the playlist is smart. | |
| `special_playlist_type` | *Optional[str]* | :heavy_minus_sign: | If this is a special playlist, this returns its type (e.g. favorites). | |
| `title` | *str* | :heavy_check_mark: | The title of the item (e.g. “300” or “The Simpsons”) | |
| `type` | *str* | :heavy_check_mark: | The type of the video item, such as `movie`, `episode`, or `clip`. | |
| `absolute_index` | *Optional[int]* | :heavy_minus_sign: | When present, contains the disc number for a track on multi-disc albums. | |
| `added_at` | *int* | :heavy_check_mark: | In units of seconds since the epoch, returns the time at which the item was added to the library. | |
| `art` | *Optional[str]* | :heavy_minus_sign: | When present, the URL for the background artwork for the item. | /library/metadata/58683/art/1703239236 |
| `audience_rating` | *Optional[float]* | :heavy_minus_sign: | Some rating systems separate reviewer ratings from audience ratings | |
| `audience_rating_image` | *Optional[str]* | :heavy_minus_sign: | A URI representing the image to be shown with the audience rating (e.g. rottentomatoes://image.rating.spilled). | |
| `autotag` | List[[components.Tag](../../models/components/tag.md)] | :heavy_minus_sign: | N/A | |
| `banner` | *Optional[str]* | :heavy_minus_sign: | When present, the URL for a banner graphic for the item. | |
| `chapter_source` | *Optional[str]* | :heavy_minus_sign: | When present, indicates the source for the chapters in the media file. Can be media (the chapters were embedded in the media itself), agent (a metadata agent computed them), or mixed (a combination of the two). | media |
| `child_count` | *Optional[int]* | :heavy_minus_sign: | The number of child items associated with this media item. | 1 |
| `content_rating` | *Optional[str]* | :heavy_minus_sign: | If known, the content rating (e.g. MPAA) for an item. | |
| `country` | List[[components.Tag](../../models/components/tag.md)] | :heavy_minus_sign: | N/A | |
| `director` | List[[components.Tag](../../models/components/tag.md)] | :heavy_minus_sign: | N/A | |
| `filter_` | List[[components.Filter](../../models/components/filter_.md)] | :heavy_minus_sign: | Typically only seen in metadata at a library's top level | |
| `genre` | List[[components.Tag](../../models/components/tag.md)] | :heavy_minus_sign: | N/A | |
| `grandparent_art` | *Optional[str]* | :heavy_minus_sign: | The `art` of the grandparent | |
| `grandparent_guid` | *Optional[str]* | :heavy_minus_sign: | The GUID of the grandparent media item. | plex://show/5d9c081b170e24001f2a7be4 |
| `grandparent_hero` | *Optional[str]* | :heavy_minus_sign: | The `hero` of the grandparent | |
| `grandparent_key` | *Optional[str]* | :heavy_minus_sign: | The `key` of the grandparent | |
| `grandparent_rating_key` | *Optional[str]* | :heavy_minus_sign: | The `ratingKey` of the grandparent | |
| `grandparent_theme` | *Optional[str]* | :heavy_minus_sign: | The `theme` of the grandparent | |
| `grandparent_thumb` | *Optional[str]* | :heavy_minus_sign: | The `thumb` of the grandparent | |
| `grandparent_title` | *Optional[str]* | :heavy_minus_sign: | The `title` of the grandparent | |
| `guid` | *Optional[str]* | :heavy_minus_sign: | The globally unique identifier for the media item. | plex://movie/5d7768ba96b655001fdc0408 |
| `guids` | List[[components.MediaContainerWithPlaylistMetadataGuids](../../models/components/mediacontainerwithplaylistmetadataguids.md)] | :heavy_minus_sign: | N/A | |
| `hero` | *Optional[str]* | :heavy_minus_sign: | When present, the URL for a hero image for the item. | |
| `image` | List[[components.Image](../../models/components/image.md)] | :heavy_minus_sign: | N/A | |
| `index` | *Optional[int]* | :heavy_minus_sign: | When present, this represents the episode number for episodes, season number for seasons, or track number for audio tracks. | |
| `last_viewed_at` | *Optional[int]* | :heavy_minus_sign: | N/A | 1556281940 |
| `media` | List[[components.Media](../../models/components/media.md)] | :heavy_minus_sign: | N/A | |
| `originally_available_at` | [datetime](https://docs.python.org/3/library/datetime.html#datetime-objects) | :heavy_minus_sign: | When present, in the format YYYY-MM-DD [HH:MM:SS] (the hours/minutes/seconds part is not always present). The air date, or a higher resolution release date for an item, depending on type. For example, episodes usually have air date like 1979-08-10 (we don't use epoch seconds because media existed prior to 1970). In some cases, recorded over-the-air content has higher resolution air date which includes a time component. Albums and movies may have day-resolution release dates as well. | 2022-12-14 |
| `original_title` | *Optional[str]* | :heavy_minus_sign: | When present, used to indicate an item's original title, e.g. a movie's foreign title. | |
| `parent_guid` | *Optional[str]* | :heavy_minus_sign: | The GUID of the parent media item. | plex://show/5d9c081b170e24001f2a7be4 |
| `parent_hero` | *Optional[str]* | :heavy_minus_sign: | The `hero` of the parent | |
| `parent_index` | *Optional[int]* | :heavy_minus_sign: | The `index` of the parent | |
| `parent_key` | *Optional[str]* | :heavy_minus_sign: | The `key` of the parent | |
| `parent_rating_key` | *Optional[str]* | :heavy_minus_sign: | The `ratingKey` of the parent | |
| `parent_thumb` | *Optional[str]* | :heavy_minus_sign: | The `thumb` of the parent | |
| `parent_title` | *Optional[str]* | :heavy_minus_sign: | The `title` of the parent | |
| `primary_extra_key` | *Optional[str]* | :heavy_minus_sign: | Indicates that the item has a primary extra; for a movie, this is a trailer, and for a music track it is a music video. The URL points to the metadata details endpoint for the item. | |
| `prompt` | *Optional[str]* | :heavy_minus_sign: | Prompt to give the user for this directory (such as `Search Movies`) | |
| `rating` | *Optional[float]* | :heavy_minus_sign: | When present, the rating for the item. The exact meaning and representation depends on where the rating was sourced from. | |
| `rating_array` | List[[components.Tag](../../models/components/tag.md)] | :heavy_minus_sign: | N/A | |
| `rating_count` | *Optional[int]* | :heavy_minus_sign: | Number of ratings under this metadata | |
| `rating_image` | *Optional[str]* | :heavy_minus_sign: | When present, indicates an image to be shown with the rating. This is passed back as a small set of defined URI values, e.g. rottentomatoes://image.rating.rotten. | |
| `rating_key` | *Optional[str]* | :heavy_minus_sign: | This is the opaque string to be passed into timeline, scrobble, and rating endpoints to identify them. While it often appears to be numeric, this is not guaranteed. | |
| `role` | List[[components.Tag](../../models/components/tag.md)] | :heavy_minus_sign: | N/A | |
| `search` | *Optional[bool]* | :heavy_minus_sign: | Indicates this is a search directory | |
| `secondary` | *Optional[bool]* | :heavy_minus_sign: | Used by old clients to provide nested menus allowing for primative (but structured) navigation. | |
| `skip_children` | *Optional[bool]* | :heavy_minus_sign: | When found on a show item, indicates that the children (seasons) should be skipped in favor of the grandchildren (episodes). Useful for mini-series, etc. | |
| `skip_parent` | *Optional[bool]* | :heavy_minus_sign: | When present on an episode or track item, indicates parent should be skipped in favor of grandparent (show). | |
| `sort` | List[[components.Sort](../../models/components/sort.md)] | :heavy_minus_sign: | Typically only seen in metadata at a library's top level | |
| `studio` | *Optional[str]* | :heavy_minus_sign: | When present, the studio or label which produced an item (e.g. movie studio for movies, record label for albums). | |
| `subtype` | *Optional[str]* | :heavy_minus_sign: | The subtype of the video item, such as `photo` when the video item is in a photo library | |
| `summary` | *Optional[str]* | :heavy_minus_sign: | When present, the extended textual information about the item (e.g. movie plot, artist biography, album review). | |
| `tagline` | *Optional[str]* | :heavy_minus_sign: | When present, a pithy one-liner about the item (usually only seen for movies). | |
| `theme` | *Optional[str]* | :heavy_minus_sign: | When present, the URL for theme music for the item (usually only for TV shows). | /library/metadata/1/theme/1705636920 |
| `thumb` | *Optional[str]* | :heavy_minus_sign: | When present, the URL for the poster or thumbnail for the item. When available for types like movie, it will be the poster graphic, but fall-back to the extracted media thumbnail. | /library/metadata/58683/thumb/1703239236 |
| `title_sort` | *Optional[str]* | :heavy_minus_sign: | Whene present, this is the string used for sorting the item. It's usually the title with any leading articles removed (e.g. “Simpsons”). | |
| `updated_at` | *Optional[int]* | :heavy_minus_sign: | In units of seconds since the epoch, returns the time at which the item was last changed (e.g. had its metadata updated). | |
| `user_rating` | *Optional[float]* | :heavy_minus_sign: | When the user has rated an item, this contains the user rating | |
| `view_count` | *Optional[int]* | :heavy_minus_sign: | When a users has completed watched or listened to an item, this attribute contains the number of consumptions. | |
| `viewed_leaf_count` | *Optional[int]* | :heavy_minus_sign: | For shows and seasons, contains the number of viewed episodes. | |
| `view_offset` | *Optional[int]* | :heavy_minus_sign: | When a user is in the process of viewing or listening to this item, this attribute contains the current offset, in units of milliseconds. | |
| `writer` | List[[components.Tag](../../models/components/tag.md)] | :heavy_minus_sign: | N/A | |
| `year` | *Optional[int]* | :heavy_minus_sign: | When present, the year associated with the item's release (e.g. release year for a movie). | |
| `__pydantic_extra__` | Dict[str, *Any*] | :heavy_minus_sign: | N/A | |

View File

@@ -1,7 +1,17 @@
# MediaQuery
A querystring-based filtering language used to select subsets of media. When provided as an object, properties are serialized as a querystring using form style with explode.
Only the defined properties below are allowed. The object serializes to a querystring format like: `type=4&sourceType=2&sort=duration:desc,index`
## Fields
| Field | Type | Required | Description |
| ----------- | ----------- | ----------- | ----------- |
| Field | Type | Required | Description | Example |
| ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `type` | [Optional[components.MediaType]](../../models/components/mediatype.md) | :heavy_minus_sign: | The type of media to retrieve or filter by.<br/><br/>1 = movie<br/>2 = show<br/>3 = season<br/>4 = episode<br/>5 = artist<br/>6 = album<br/>7 = track<br/>8 = photo_album<br/>9 = photo<br/><br/>E.g. A movie library will not return anything with type 3 as there are no seasons for movie libraries<br/> | 2 |
| `source_type` | *Optional[int]* | :heavy_minus_sign: | Change the default level to which fields refer (used with type for hierarchical queries) | |
| `sort` | *Optional[str]* | :heavy_minus_sign: | Field(s) to sort by, with optional modifiers. Use comma to separate multiple fields, and :desc or :nullsLast for modifiers (e.g., "duration:desc,index") | |
| `group` | *Optional[str]* | :heavy_minus_sign: | Field to group results by (similar to SQL GROUP BY) | |
| `limit` | *Optional[int]* | :heavy_minus_sign: | Maximum number of results to return | |

View File

@@ -0,0 +1,13 @@
# MediaReviewsVisibility
Whether or not the account has media reviews visibility enabled
## Values
| Name | Value |
| ------------------------ | ------------------------ |
| `NO_ONE` | 0 |
| `CRITICS_ONLY` | 1 |
| `PLEX_USERS_ONLY` | 2 |
| `PLEX_USERS_AND_CRITICS` | 3 |

View File

@@ -0,0 +1,31 @@
# MediaType
The type of media to retrieve or filter by.
1 = movie
2 = show
3 = season
4 = episode
5 = artist
6 = album
7 = track
8 = photo_album
9 = photo
E.g. A movie library will not return anything with type 3 as there are no seasons for movie libraries
## Values
| Name | Value |
| ------------- | ------------- |
| `MOVIE` | 1 |
| `TV_SHOW` | 2 |
| `SEASON` | 3 |
| `EPISODE` | 4 |
| `ARTIST` | 5 |
| `ALBUM` | 6 |
| `TRACK` | 7 |
| `PHOTO_ALBUM` | 8 |
| `PHOTO` | 9 |

View File

@@ -0,0 +1,20 @@
# MediaTypeString
The type of media content in the Plex library. This can represent videos, music, or photos.
## Values
| Name | Value |
| ------------- | ------------- |
| `MOVIE` | movie |
| `TV_SHOW` | show |
| `SEASON` | season |
| `EPISODE` | episode |
| `ARTIST` | artist |
| `ALBUM` | album |
| `TRACK` | track |
| `PHOTO_ALBUM` | photoalbum |
| `PHOTO` | photo |
| `COLLECTION` | collection |

View File

@@ -10,73 +10,77 @@ Metadata items can often live in a hierarchy with relationships between them. F
## Fields
| Field | Type | Required | Description |
| ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `title` | *Optional[Any]* | :heavy_minus_sign: | The title of the item (e.g. “300” or “The Simpsons”) |
| `type` | *Optional[Any]* | :heavy_minus_sign: | The type of the video item, such as `movie`, `episode`, or `clip`. |
| `absolute_index` | *Optional[int]* | :heavy_minus_sign: | When present, contains the disc number for a track on multi-disc albums. |
| `added_at` | *Optional[int]* | :heavy_minus_sign: | In units of seconds since the epoch, returns the time at which the item was added to the library. |
| `art` | *Optional[Any]* | :heavy_minus_sign: | When present, the URL for the background artwork for the item. |
| `audience_rating` | *Optional[float]* | :heavy_minus_sign: | Some rating systems separate reviewer ratings from audience ratings |
| `audience_rating_image` | *Optional[Any]* | :heavy_minus_sign: | A URI representing the image to be shown with the audience rating (e.g. rottentomatoes://image.rating.spilled). |
| `autotag` | List[[components.Tag](../../models/components/tag.md)] | :heavy_minus_sign: | N/A |
| `banner` | *Optional[Any]* | :heavy_minus_sign: | When present, the URL for a banner graphic for the item. |
| `chapter_source` | *Optional[Any]* | :heavy_minus_sign: | When present, indicates the source for the chapters in the media file. Can be media (the chapters were embedded in the media itself), agent (a metadata agent computed them), or mixed (a combination of the two). |
| `composite` | *Optional[Any]* | :heavy_minus_sign: | When present, the URL for a composite image for descendent items (e.g. photo albums or playlists). |
| `content_rating` | *Optional[Any]* | :heavy_minus_sign: | If known, the content rating (e.g. MPAA) for an item. |
| `country` | List[[components.Tag](../../models/components/tag.md)] | :heavy_minus_sign: | N/A |
| `director` | List[[components.Tag](../../models/components/tag.md)] | :heavy_minus_sign: | N/A |
| `duration` | *Optional[int]* | :heavy_minus_sign: | When present, the duration for the item, in units of milliseconds. |
| `filter_` | List[[components.Filter](../../models/components/filter_.md)] | :heavy_minus_sign: | Typically only seen in metadata at a library's top level |
| `genre` | List[[components.Tag](../../models/components/tag.md)] | :heavy_minus_sign: | N/A |
| `grandparent_art` | *Optional[str]* | :heavy_minus_sign: | The `art` of the grandparent |
| `grandparent_hero` | *Optional[str]* | :heavy_minus_sign: | The `hero` of the grandparent |
| `grandparent_key` | *Optional[str]* | :heavy_minus_sign: | The `key` of the grandparent |
| `grandparent_rating_key` | *Optional[str]* | :heavy_minus_sign: | The `ratingKey` of the grandparent |
| `grandparent_theme` | *Optional[str]* | :heavy_minus_sign: | The `theme` of the grandparent |
| `grandparent_thumb` | *Optional[str]* | :heavy_minus_sign: | The `thumb` of the grandparent |
| `grandparent_title` | *Optional[str]* | :heavy_minus_sign: | The `title` of the grandparent |
| `guid` | List[[components.Tag](../../models/components/tag.md)] | :heavy_minus_sign: | N/A |
| `hero` | *Optional[Any]* | :heavy_minus_sign: | When present, the URL for a hero image for the item. |
| `image` | List[[components.Image](../../models/components/image.md)] | :heavy_minus_sign: | N/A |
| `index` | *Optional[int]* | :heavy_minus_sign: | When present, this represents the episode number for episodes, season number for seasons, or track number for audio tracks. |
| `key` | *Optional[Any]* | :heavy_minus_sign: | The key at which the item's details can be fetched. In many cases a metadata item may be passed without all the details (such as in a hub) and this key corresponds to the endpoint to fetch additional details. |
| `last_viewed_at` | *Optional[int]* | :heavy_minus_sign: | When a user has watched or listened to an item, this contains a timestamp (epoch seconds) for that last consumption time. |
| `leaf_count` | *Optional[int]* | :heavy_minus_sign: | For shows and seasons, contains the number of total episodes. |
| `media` | List[[components.Media](../../models/components/media.md)] | :heavy_minus_sign: | N/A |
| `originally_available_at` | *Optional[Any]* | :heavy_minus_sign: | When present, in the format YYYY-MM-DD [HH:MM:SS] (the hours/minutes/seconds part is not always present). The air date, or a higher resolution release date for an item, depending on type. For example, episodes usually have air date like 1979-08-10 (we don't use epoch seconds because media existed prior to 1970). In some cases, recorded over-the-air content has higher resolution air date which includes a time component. Albums and movies may have day-resolution release dates as well. |
| `original_title` | *Optional[Any]* | :heavy_minus_sign: | When present, used to indicate an item's original title, e.g. a movie's foreign title. |
| `parent_hero` | *Optional[str]* | :heavy_minus_sign: | The `hero` of the parent |
| `parent_index` | *Optional[int]* | :heavy_minus_sign: | The `index` of the parent |
| `parent_key` | *Optional[str]* | :heavy_minus_sign: | The `key` of the parent |
| `parent_rating_key` | *Optional[str]* | :heavy_minus_sign: | The `ratingKey` of the parent |
| `parent_thumb` | *Optional[str]* | :heavy_minus_sign: | The `thumb` of the parent |
| `parent_title` | *Optional[str]* | :heavy_minus_sign: | The `title` of the parent |
| `primary_extra_key` | *Optional[Any]* | :heavy_minus_sign: | Indicates that the item has a primary extra; for a movie, this is a trailer, and for a music track it is a music video. The URL points to the metadata details endpoint for the item. |
| `prompt` | *Optional[str]* | :heavy_minus_sign: | Prompt to give the user for this directory (such as `Search Movies`) |
| `rating` | *Optional[float]* | :heavy_minus_sign: | When present, the rating for the item. The exact meaning and representation depends on where the rating was sourced from. |
| `rating_array` | List[[components.Tag](../../models/components/tag.md)] | :heavy_minus_sign: | N/A |
| `rating_count` | *Optional[int]* | :heavy_minus_sign: | Number of ratings under this metadata |
| `rating_image` | *Optional[Any]* | :heavy_minus_sign: | When present, indicates an image to be shown with the rating. This is passed back as a small set of defined URI values, e.g. rottentomatoes://image.rating.rotten. |
| `rating_key` | *Optional[Any]* | :heavy_minus_sign: | This is the opaque string to be passed into timeline, scrobble, and rating endpoints to identify them. While it often appears to be numeric, this is not guaranteed. |
| `role` | List[[components.Tag](../../models/components/tag.md)] | :heavy_minus_sign: | N/A |
| `search` | *Optional[bool]* | :heavy_minus_sign: | Indicates this is a search directory |
| `secondary` | *Optional[bool]* | :heavy_minus_sign: | Used by old clients to provide nested menus allowing for primative (but structured) navigation. |
| `skip_children` | *Optional[bool]* | :heavy_minus_sign: | When found on a show item, indicates that the children (seasons) should be skipped in favor of the grandchildren (episodes). Useful for mini-series, etc. |
| `skip_parent` | *Optional[bool]* | :heavy_minus_sign: | When present on an episode or track item, indicates parent should be skipped in favor of grandparent (show). |
| `sort` | List[[components.Sort](../../models/components/sort.md)] | :heavy_minus_sign: | Typically only seen in metadata at a library's top level |
| `studio` | *Optional[Any]* | :heavy_minus_sign: | When present, the studio or label which produced an item (e.g. movie studio for movies, record label for albums). |
| `subtype` | *Optional[Any]* | :heavy_minus_sign: | The subtype of the video item, such as `photo` when the video item is in a photo library |
| `summary` | *Optional[Any]* | :heavy_minus_sign: | When present, the extended textual information about the item (e.g. movie plot, artist biography, album review). |
| `tagline` | *Optional[Any]* | :heavy_minus_sign: | When present, a pithy one-liner about the item (usually only seen for movies). |
| `theme` | *Optional[Any]* | :heavy_minus_sign: | When present, the URL for theme music for the item (usually only for TV shows). |
| `thumb` | *Optional[Any]* | :heavy_minus_sign: | When present, the URL for the poster or thumbnail for the item. When available for types like movie, it will be the poster graphic, but fall-back to the extracted media thumbnail. |
| `title_sort` | *Optional[Any]* | :heavy_minus_sign: | Whene present, this is the string used for sorting the item. It's usually the title with any leading articles removed (e.g. “Simpsons”). |
| `updated_at` | *Optional[int]* | :heavy_minus_sign: | In units of seconds since the epoch, returns the time at which the item was last changed (e.g. had its metadata updated). |
| `user_rating` | *Optional[float]* | :heavy_minus_sign: | When the user has rated an item, this contains the user rating |
| `view_count` | *Optional[int]* | :heavy_minus_sign: | When a users has completed watched or listened to an item, this attribute contains the number of consumptions. |
| `viewed_leaf_count` | *Optional[int]* | :heavy_minus_sign: | For shows and seasons, contains the number of viewed episodes. |
| `view_offset` | *Optional[int]* | :heavy_minus_sign: | When a user is in the process of viewing or listening to this item, this attribute contains the current offset, in units of milliseconds. |
| `writer` | List[[components.Tag](../../models/components/tag.md)] | :heavy_minus_sign: | N/A |
| `year` | *Optional[int]* | :heavy_minus_sign: | When present, the year associated with the item's release (e.g. release year for a movie). |
| `__pydantic_extra__` | Dict[str, *Any*] | :heavy_minus_sign: | N/A |
| Field | Type | Required | Description | Example |
| ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `title` | *str* | :heavy_check_mark: | The title of the item (e.g. “300” or “The Simpsons”) | |
| `type` | *str* | :heavy_check_mark: | The type of the video item, such as `movie`, `episode`, or `clip`. | |
| `absolute_index` | *Optional[int]* | :heavy_minus_sign: | When present, contains the disc number for a track on multi-disc albums. | |
| `added_at` | *int* | :heavy_check_mark: | In units of seconds since the epoch, returns the time at which the item was added to the library. | |
| `art` | *Optional[str]* | :heavy_minus_sign: | When present, the URL for the background artwork for the item. | /library/metadata/58683/art/1703239236 |
| `audience_rating` | *Optional[float]* | :heavy_minus_sign: | Some rating systems separate reviewer ratings from audience ratings | |
| `audience_rating_image` | *Optional[str]* | :heavy_minus_sign: | A URI representing the image to be shown with the audience rating (e.g. rottentomatoes://image.rating.spilled). | |
| `autotag` | List[[components.Tag](../../models/components/tag.md)] | :heavy_minus_sign: | N/A | |
| `banner` | *Optional[str]* | :heavy_minus_sign: | When present, the URL for a banner graphic for the item. | |
| `chapter_source` | *Optional[str]* | :heavy_minus_sign: | When present, indicates the source for the chapters in the media file. Can be media (the chapters were embedded in the media itself), agent (a metadata agent computed them), or mixed (a combination of the two). | media |
| `child_count` | *Optional[int]* | :heavy_minus_sign: | The number of child items associated with this media item. | 1 |
| `composite` | *Optional[str]* | :heavy_minus_sign: | When present, the URL for a composite image for descendent items (e.g. photo albums or playlists). | |
| `content_rating` | *Optional[str]* | :heavy_minus_sign: | If known, the content rating (e.g. MPAA) for an item. | |
| `country` | List[[components.Tag](../../models/components/tag.md)] | :heavy_minus_sign: | N/A | |
| `director` | List[[components.Tag](../../models/components/tag.md)] | :heavy_minus_sign: | N/A | |
| `duration` | *Optional[int]* | :heavy_minus_sign: | When present, the duration for the item, in units of milliseconds. | |
| `filter_` | List[[components.Filter](../../models/components/filter_.md)] | :heavy_minus_sign: | Typically only seen in metadata at a library's top level | |
| `genre` | List[[components.Tag](../../models/components/tag.md)] | :heavy_minus_sign: | N/A | |
| `grandparent_art` | *Optional[str]* | :heavy_minus_sign: | The `art` of the grandparent | |
| `grandparent_guid` | *Optional[str]* | :heavy_minus_sign: | The GUID of the grandparent media item. | plex://show/5d9c081b170e24001f2a7be4 |
| `grandparent_hero` | *Optional[str]* | :heavy_minus_sign: | The `hero` of the grandparent | |
| `grandparent_key` | *Optional[str]* | :heavy_minus_sign: | The `key` of the grandparent | |
| `grandparent_rating_key` | *Optional[str]* | :heavy_minus_sign: | The `ratingKey` of the grandparent | |
| `grandparent_theme` | *Optional[str]* | :heavy_minus_sign: | The `theme` of the grandparent | |
| `grandparent_thumb` | *Optional[str]* | :heavy_minus_sign: | The `thumb` of the grandparent | |
| `grandparent_title` | *Optional[str]* | :heavy_minus_sign: | The `title` of the grandparent | |
| `guid` | *Optional[str]* | :heavy_minus_sign: | The globally unique identifier for the media item. | plex://movie/5d7768ba96b655001fdc0408 |
| `guids` | List[[components.Guids](../../models/components/guids.md)] | :heavy_minus_sign: | N/A | |
| `hero` | *Optional[str]* | :heavy_minus_sign: | When present, the URL for a hero image for the item. | |
| `image` | List[[components.Image](../../models/components/image.md)] | :heavy_minus_sign: | N/A | |
| `index` | *Optional[int]* | :heavy_minus_sign: | When present, this represents the episode number for episodes, season number for seasons, or track number for audio tracks. | |
| `key` | *str* | :heavy_check_mark: | The key at which the item's details can be fetched. In many cases a metadata item may be passed without all the details (such as in a hub) and this key corresponds to the endpoint to fetch additional details. | |
| `last_viewed_at` | *Optional[int]* | :heavy_minus_sign: | N/A | 1556281940 |
| `leaf_count` | *Optional[int]* | :heavy_minus_sign: | For shows and seasons, contains the number of total episodes. | |
| `media` | List[[components.Media](../../models/components/media.md)] | :heavy_minus_sign: | N/A | |
| `originally_available_at` | [datetime](https://docs.python.org/3/library/datetime.html#datetime-objects) | :heavy_minus_sign: | When present, in the format YYYY-MM-DD [HH:MM:SS] (the hours/minutes/seconds part is not always present). The air date, or a higher resolution release date for an item, depending on type. For example, episodes usually have air date like 1979-08-10 (we don't use epoch seconds because media existed prior to 1970). In some cases, recorded over-the-air content has higher resolution air date which includes a time component. Albums and movies may have day-resolution release dates as well. | 2022-12-14 |
| `original_title` | *Optional[str]* | :heavy_minus_sign: | When present, used to indicate an item's original title, e.g. a movie's foreign title. | |
| `parent_guid` | *Optional[str]* | :heavy_minus_sign: | The GUID of the parent media item. | plex://show/5d9c081b170e24001f2a7be4 |
| `parent_hero` | *Optional[str]* | :heavy_minus_sign: | The `hero` of the parent | |
| `parent_index` | *Optional[int]* | :heavy_minus_sign: | The `index` of the parent | |
| `parent_key` | *Optional[str]* | :heavy_minus_sign: | The `key` of the parent | |
| `parent_rating_key` | *Optional[str]* | :heavy_minus_sign: | The `ratingKey` of the parent | |
| `parent_thumb` | *Optional[str]* | :heavy_minus_sign: | The `thumb` of the parent | |
| `parent_title` | *Optional[str]* | :heavy_minus_sign: | The `title` of the parent | |
| `primary_extra_key` | *Optional[str]* | :heavy_minus_sign: | Indicates that the item has a primary extra; for a movie, this is a trailer, and for a music track it is a music video. The URL points to the metadata details endpoint for the item. | |
| `prompt` | *Optional[str]* | :heavy_minus_sign: | Prompt to give the user for this directory (such as `Search Movies`) | |
| `rating` | *Optional[float]* | :heavy_minus_sign: | When present, the rating for the item. The exact meaning and representation depends on where the rating was sourced from. | |
| `rating_array` | List[[components.Tag](../../models/components/tag.md)] | :heavy_minus_sign: | N/A | |
| `rating_count` | *Optional[int]* | :heavy_minus_sign: | Number of ratings under this metadata | |
| `rating_image` | *Optional[str]* | :heavy_minus_sign: | When present, indicates an image to be shown with the rating. This is passed back as a small set of defined URI values, e.g. rottentomatoes://image.rating.rotten. | |
| `rating_key` | *Optional[str]* | :heavy_minus_sign: | This is the opaque string to be passed into timeline, scrobble, and rating endpoints to identify them. While it often appears to be numeric, this is not guaranteed. | |
| `role` | List[[components.Tag](../../models/components/tag.md)] | :heavy_minus_sign: | N/A | |
| `search` | *Optional[bool]* | :heavy_minus_sign: | Indicates this is a search directory | |
| `secondary` | *Optional[bool]* | :heavy_minus_sign: | Used by old clients to provide nested menus allowing for primative (but structured) navigation. | |
| `skip_children` | *Optional[bool]* | :heavy_minus_sign: | When found on a show item, indicates that the children (seasons) should be skipped in favor of the grandchildren (episodes). Useful for mini-series, etc. | |
| `skip_parent` | *Optional[bool]* | :heavy_minus_sign: | When present on an episode or track item, indicates parent should be skipped in favor of grandparent (show). | |
| `sort` | List[[components.Sort](../../models/components/sort.md)] | :heavy_minus_sign: | Typically only seen in metadata at a library's top level | |
| `studio` | *Optional[str]* | :heavy_minus_sign: | When present, the studio or label which produced an item (e.g. movie studio for movies, record label for albums). | |
| `subtype` | *Optional[str]* | :heavy_minus_sign: | The subtype of the video item, such as `photo` when the video item is in a photo library | |
| `summary` | *Optional[str]* | :heavy_minus_sign: | When present, the extended textual information about the item (e.g. movie plot, artist biography, album review). | |
| `tagline` | *Optional[str]* | :heavy_minus_sign: | When present, a pithy one-liner about the item (usually only seen for movies). | |
| `theme` | *Optional[str]* | :heavy_minus_sign: | When present, the URL for theme music for the item (usually only for TV shows). | /library/metadata/1/theme/1705636920 |
| `thumb` | *Optional[str]* | :heavy_minus_sign: | When present, the URL for the poster or thumbnail for the item. When available for types like movie, it will be the poster graphic, but fall-back to the extracted media thumbnail. | /library/metadata/58683/thumb/1703239236 |
| `title_sort` | *Optional[str]* | :heavy_minus_sign: | Whene present, this is the string used for sorting the item. It's usually the title with any leading articles removed (e.g. “Simpsons”). | |
| `updated_at` | *Optional[int]* | :heavy_minus_sign: | In units of seconds since the epoch, returns the time at which the item was last changed (e.g. had its metadata updated). | |
| `user_rating` | *Optional[float]* | :heavy_minus_sign: | When the user has rated an item, this contains the user rating | |
| `view_count` | *Optional[int]* | :heavy_minus_sign: | When a users has completed watched or listened to an item, this attribute contains the number of consumptions. | |
| `viewed_leaf_count` | *Optional[int]* | :heavy_minus_sign: | For shows and seasons, contains the number of viewed episodes. | |
| `view_offset` | *Optional[int]* | :heavy_minus_sign: | When a user is in the process of viewing or listening to this item, this attribute contains the current offset, in units of milliseconds. | |
| `writer` | List[[components.Tag](../../models/components/tag.md)] | :heavy_minus_sign: | N/A | |
| `year` | *Optional[int]* | :heavy_minus_sign: | When present, the year associated with the item's release (e.g. release year for a movie). | |
| `__pydantic_extra__` | Dict[str, *Any*] | :heavy_minus_sign: | N/A | |

View File

@@ -10,74 +10,78 @@ Metadata items can often live in a hierarchy with relationships between them. F
## Fields
| Field | Type | Required | Description |
| ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `title` | *Optional[Any]* | :heavy_minus_sign: | The title of the item (e.g. “300” or “The Simpsons”) |
| `type` | *Optional[Any]* | :heavy_minus_sign: | The type of the video item, such as `movie`, `episode`, or `clip`. |
| `absolute_index` | *Optional[int]* | :heavy_minus_sign: | When present, contains the disc number for a track on multi-disc albums. |
| `added_at` | *Optional[int]* | :heavy_minus_sign: | In units of seconds since the epoch, returns the time at which the item was added to the library. |
| `art` | *Optional[Any]* | :heavy_minus_sign: | When present, the URL for the background artwork for the item. |
| `audience_rating` | *Optional[float]* | :heavy_minus_sign: | Some rating systems separate reviewer ratings from audience ratings |
| `audience_rating_image` | *Optional[Any]* | :heavy_minus_sign: | A URI representing the image to be shown with the audience rating (e.g. rottentomatoes://image.rating.spilled). |
| `autotag` | List[[components.Tag](../../models/components/tag.md)] | :heavy_minus_sign: | N/A |
| `banner` | *Optional[Any]* | :heavy_minus_sign: | When present, the URL for a banner graphic for the item. |
| `chapter_source` | *Optional[Any]* | :heavy_minus_sign: | When present, indicates the source for the chapters in the media file. Can be media (the chapters were embedded in the media itself), agent (a metadata agent computed them), or mixed (a combination of the two). |
| `composite` | *Optional[Any]* | :heavy_minus_sign: | When present, the URL for a composite image for descendent items (e.g. photo albums or playlists). |
| `content_rating` | *Optional[Any]* | :heavy_minus_sign: | If known, the content rating (e.g. MPAA) for an item. |
| `country` | List[[components.Tag](../../models/components/tag.md)] | :heavy_minus_sign: | N/A |
| `director` | List[[components.Tag](../../models/components/tag.md)] | :heavy_minus_sign: | N/A |
| `duration` | *Optional[int]* | :heavy_minus_sign: | When present, the duration for the item, in units of milliseconds. |
| `filter_` | List[[components.Filter](../../models/components/filter_.md)] | :heavy_minus_sign: | Typically only seen in metadata at a library's top level |
| `genre` | List[[components.Tag](../../models/components/tag.md)] | :heavy_minus_sign: | N/A |
| `grandparent_art` | *Optional[str]* | :heavy_minus_sign: | The `art` of the grandparent |
| `grandparent_hero` | *Optional[str]* | :heavy_minus_sign: | The `hero` of the grandparent |
| `grandparent_key` | *Optional[str]* | :heavy_minus_sign: | The `key` of the grandparent |
| `grandparent_rating_key` | *Optional[str]* | :heavy_minus_sign: | The `ratingKey` of the grandparent |
| `grandparent_theme` | *Optional[str]* | :heavy_minus_sign: | The `theme` of the grandparent |
| `grandparent_thumb` | *Optional[str]* | :heavy_minus_sign: | The `thumb` of the grandparent |
| `grandparent_title` | *Optional[str]* | :heavy_minus_sign: | The `title` of the grandparent |
| `guid` | List[[components.Tag](../../models/components/tag.md)] | :heavy_minus_sign: | N/A |
| `hero` | *Optional[Any]* | :heavy_minus_sign: | When present, the URL for a hero image for the item. |
| `image` | List[[components.Image](../../models/components/image.md)] | :heavy_minus_sign: | N/A |
| `index` | *Optional[int]* | :heavy_minus_sign: | When present, this represents the episode number for episodes, season number for seasons, or track number for audio tracks. |
| `key` | *Optional[Any]* | :heavy_minus_sign: | The key at which the item's details can be fetched. In many cases a metadata item may be passed without all the details (such as in a hub) and this key corresponds to the endpoint to fetch additional details. |
| `last_viewed_at` | *Optional[int]* | :heavy_minus_sign: | When a user has watched or listened to an item, this contains a timestamp (epoch seconds) for that last consumption time. |
| `leaf_count` | *Optional[int]* | :heavy_minus_sign: | For shows and seasons, contains the number of total episodes. |
| `media` | List[[components.Media](../../models/components/media.md)] | :heavy_minus_sign: | N/A |
| `originally_available_at` | *Optional[Any]* | :heavy_minus_sign: | When present, in the format YYYY-MM-DD [HH:MM:SS] (the hours/minutes/seconds part is not always present). The air date, or a higher resolution release date for an item, depending on type. For example, episodes usually have air date like 1979-08-10 (we don't use epoch seconds because media existed prior to 1970). In some cases, recorded over-the-air content has higher resolution air date which includes a time component. Albums and movies may have day-resolution release dates as well. |
| `original_title` | *Optional[Any]* | :heavy_minus_sign: | When present, used to indicate an item's original title, e.g. a movie's foreign title. |
| `parent_hero` | *Optional[str]* | :heavy_minus_sign: | The `hero` of the parent |
| `parent_index` | *Optional[int]* | :heavy_minus_sign: | The `index` of the parent |
| `parent_key` | *Optional[str]* | :heavy_minus_sign: | The `key` of the parent |
| `parent_rating_key` | *Optional[str]* | :heavy_minus_sign: | The `ratingKey` of the parent |
| `parent_thumb` | *Optional[str]* | :heavy_minus_sign: | The `thumb` of the parent |
| `parent_title` | *Optional[str]* | :heavy_minus_sign: | The `title` of the parent |
| `primary_extra_key` | *Optional[Any]* | :heavy_minus_sign: | Indicates that the item has a primary extra; for a movie, this is a trailer, and for a music track it is a music video. The URL points to the metadata details endpoint for the item. |
| `prompt` | *Optional[str]* | :heavy_minus_sign: | Prompt to give the user for this directory (such as `Search Movies`) |
| `rating` | *Optional[float]* | :heavy_minus_sign: | When present, the rating for the item. The exact meaning and representation depends on where the rating was sourced from. |
| `rating_array` | List[[components.Tag](../../models/components/tag.md)] | :heavy_minus_sign: | N/A |
| `rating_count` | *Optional[int]* | :heavy_minus_sign: | Number of ratings under this metadata |
| `rating_image` | *Optional[Any]* | :heavy_minus_sign: | When present, indicates an image to be shown with the rating. This is passed back as a small set of defined URI values, e.g. rottentomatoes://image.rating.rotten. |
| `rating_key` | *Optional[Any]* | :heavy_minus_sign: | This is the opaque string to be passed into timeline, scrobble, and rating endpoints to identify them. While it often appears to be numeric, this is not guaranteed. |
| `role` | List[[components.Tag](../../models/components/tag.md)] | :heavy_minus_sign: | N/A |
| `search` | *Optional[bool]* | :heavy_minus_sign: | Indicates this is a search directory |
| `secondary` | *Optional[bool]* | :heavy_minus_sign: | Used by old clients to provide nested menus allowing for primative (but structured) navigation. |
| `skip_children` | *Optional[bool]* | :heavy_minus_sign: | When found on a show item, indicates that the children (seasons) should be skipped in favor of the grandchildren (episodes). Useful for mini-series, etc. |
| `skip_parent` | *Optional[bool]* | :heavy_minus_sign: | When present on an episode or track item, indicates parent should be skipped in favor of grandparent (show). |
| `sort` | List[[components.Sort](../../models/components/sort.md)] | :heavy_minus_sign: | Typically only seen in metadata at a library's top level |
| `studio` | *Optional[Any]* | :heavy_minus_sign: | When present, the studio or label which produced an item (e.g. movie studio for movies, record label for albums). |
| `subtype` | *Optional[Any]* | :heavy_minus_sign: | The subtype of the video item, such as `photo` when the video item is in a photo library |
| `summary` | *Optional[Any]* | :heavy_minus_sign: | When present, the extended textual information about the item (e.g. movie plot, artist biography, album review). |
| `tagline` | *Optional[Any]* | :heavy_minus_sign: | When present, a pithy one-liner about the item (usually only seen for movies). |
| `theme` | *Optional[Any]* | :heavy_minus_sign: | When present, the URL for theme music for the item (usually only for TV shows). |
| `thumb` | *Optional[Any]* | :heavy_minus_sign: | When present, the URL for the poster or thumbnail for the item. When available for types like movie, it will be the poster graphic, but fall-back to the extracted media thumbnail. |
| `title_sort` | *Optional[Any]* | :heavy_minus_sign: | Whene present, this is the string used for sorting the item. It's usually the title with any leading articles removed (e.g. “Simpsons”). |
| `updated_at` | *Optional[int]* | :heavy_minus_sign: | In units of seconds since the epoch, returns the time at which the item was last changed (e.g. had its metadata updated). |
| `user_rating` | *Optional[float]* | :heavy_minus_sign: | When the user has rated an item, this contains the user rating |
| `view_count` | *Optional[int]* | :heavy_minus_sign: | When a users has completed watched or listened to an item, this attribute contains the number of consumptions. |
| `viewed_leaf_count` | *Optional[int]* | :heavy_minus_sign: | For shows and seasons, contains the number of viewed episodes. |
| `view_offset` | *Optional[int]* | :heavy_minus_sign: | When a user is in the process of viewing or listening to this item, this attribute contains the current offset, in units of milliseconds. |
| `writer` | List[[components.Tag](../../models/components/tag.md)] | :heavy_minus_sign: | N/A |
| `year` | *Optional[int]* | :heavy_minus_sign: | When present, the year associated with the item's release (e.g. release year for a movie). |
| `metadata_item` | List[[components.Items](../../models/components/items.md)] | :heavy_minus_sign: | N/A |
| `__pydantic_extra__` | Dict[str, *Any*] | :heavy_minus_sign: | N/A |
| Field | Type | Required | Description | Example |
| ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `title` | *str* | :heavy_check_mark: | The title of the item (e.g. “300” or “The Simpsons”) | |
| `type` | *str* | :heavy_check_mark: | The type of the video item, such as `movie`, `episode`, or `clip`. | |
| `absolute_index` | *Optional[int]* | :heavy_minus_sign: | When present, contains the disc number for a track on multi-disc albums. | |
| `added_at` | *int* | :heavy_check_mark: | In units of seconds since the epoch, returns the time at which the item was added to the library. | |
| `art` | *Optional[str]* | :heavy_minus_sign: | When present, the URL for the background artwork for the item. | /library/metadata/58683/art/1703239236 |
| `audience_rating` | *Optional[float]* | :heavy_minus_sign: | Some rating systems separate reviewer ratings from audience ratings | |
| `audience_rating_image` | *Optional[str]* | :heavy_minus_sign: | A URI representing the image to be shown with the audience rating (e.g. rottentomatoes://image.rating.spilled). | |
| `autotag` | List[[components.Tag](../../models/components/tag.md)] | :heavy_minus_sign: | N/A | |
| `banner` | *Optional[str]* | :heavy_minus_sign: | When present, the URL for a banner graphic for the item. | |
| `chapter_source` | *Optional[str]* | :heavy_minus_sign: | When present, indicates the source for the chapters in the media file. Can be media (the chapters were embedded in the media itself), agent (a metadata agent computed them), or mixed (a combination of the two). | media |
| `child_count` | *Optional[int]* | :heavy_minus_sign: | The number of child items associated with this media item. | 1 |
| `composite` | *Optional[str]* | :heavy_minus_sign: | When present, the URL for a composite image for descendent items (e.g. photo albums or playlists). | |
| `content_rating` | *Optional[str]* | :heavy_minus_sign: | If known, the content rating (e.g. MPAA) for an item. | |
| `country` | List[[components.Tag](../../models/components/tag.md)] | :heavy_minus_sign: | N/A | |
| `director` | List[[components.Tag](../../models/components/tag.md)] | :heavy_minus_sign: | N/A | |
| `duration` | *Optional[int]* | :heavy_minus_sign: | When present, the duration for the item, in units of milliseconds. | |
| `filter_` | List[[components.Filter](../../models/components/filter_.md)] | :heavy_minus_sign: | Typically only seen in metadata at a library's top level | |
| `genre` | List[[components.Tag](../../models/components/tag.md)] | :heavy_minus_sign: | N/A | |
| `grandparent_art` | *Optional[str]* | :heavy_minus_sign: | The `art` of the grandparent | |
| `grandparent_guid` | *Optional[str]* | :heavy_minus_sign: | The GUID of the grandparent media item. | plex://show/5d9c081b170e24001f2a7be4 |
| `grandparent_hero` | *Optional[str]* | :heavy_minus_sign: | The `hero` of the grandparent | |
| `grandparent_key` | *Optional[str]* | :heavy_minus_sign: | The `key` of the grandparent | |
| `grandparent_rating_key` | *Optional[str]* | :heavy_minus_sign: | The `ratingKey` of the grandparent | |
| `grandparent_theme` | *Optional[str]* | :heavy_minus_sign: | The `theme` of the grandparent | |
| `grandparent_thumb` | *Optional[str]* | :heavy_minus_sign: | The `thumb` of the grandparent | |
| `grandparent_title` | *Optional[str]* | :heavy_minus_sign: | The `title` of the grandparent | |
| `guid` | *Optional[str]* | :heavy_minus_sign: | The globally unique identifier for the media item. | plex://movie/5d7768ba96b655001fdc0408 |
| `guids` | List[[components.MediaContainerWithNestedMetadataGuids](../../models/components/mediacontainerwithnestedmetadataguids.md)] | :heavy_minus_sign: | N/A | |
| `hero` | *Optional[str]* | :heavy_minus_sign: | When present, the URL for a hero image for the item. | |
| `image` | List[[components.Image](../../models/components/image.md)] | :heavy_minus_sign: | N/A | |
| `index` | *Optional[int]* | :heavy_minus_sign: | When present, this represents the episode number for episodes, season number for seasons, or track number for audio tracks. | |
| `key` | *str* | :heavy_check_mark: | The key at which the item's details can be fetched. In many cases a metadata item may be passed without all the details (such as in a hub) and this key corresponds to the endpoint to fetch additional details. | |
| `last_viewed_at` | *Optional[int]* | :heavy_minus_sign: | N/A | 1556281940 |
| `leaf_count` | *Optional[int]* | :heavy_minus_sign: | For shows and seasons, contains the number of total episodes. | |
| `media` | List[[components.Media](../../models/components/media.md)] | :heavy_minus_sign: | N/A | |
| `originally_available_at` | [datetime](https://docs.python.org/3/library/datetime.html#datetime-objects) | :heavy_minus_sign: | When present, in the format YYYY-MM-DD [HH:MM:SS] (the hours/minutes/seconds part is not always present). The air date, or a higher resolution release date for an item, depending on type. For example, episodes usually have air date like 1979-08-10 (we don't use epoch seconds because media existed prior to 1970). In some cases, recorded over-the-air content has higher resolution air date which includes a time component. Albums and movies may have day-resolution release dates as well. | 2022-12-14 |
| `original_title` | *Optional[str]* | :heavy_minus_sign: | When present, used to indicate an item's original title, e.g. a movie's foreign title. | |
| `parent_guid` | *Optional[str]* | :heavy_minus_sign: | The GUID of the parent media item. | plex://show/5d9c081b170e24001f2a7be4 |
| `parent_hero` | *Optional[str]* | :heavy_minus_sign: | The `hero` of the parent | |
| `parent_index` | *Optional[int]* | :heavy_minus_sign: | The `index` of the parent | |
| `parent_key` | *Optional[str]* | :heavy_minus_sign: | The `key` of the parent | |
| `parent_rating_key` | *Optional[str]* | :heavy_minus_sign: | The `ratingKey` of the parent | |
| `parent_thumb` | *Optional[str]* | :heavy_minus_sign: | The `thumb` of the parent | |
| `parent_title` | *Optional[str]* | :heavy_minus_sign: | The `title` of the parent | |
| `primary_extra_key` | *Optional[str]* | :heavy_minus_sign: | Indicates that the item has a primary extra; for a movie, this is a trailer, and for a music track it is a music video. The URL points to the metadata details endpoint for the item. | |
| `prompt` | *Optional[str]* | :heavy_minus_sign: | Prompt to give the user for this directory (such as `Search Movies`) | |
| `rating` | *Optional[float]* | :heavy_minus_sign: | When present, the rating for the item. The exact meaning and representation depends on where the rating was sourced from. | |
| `rating_array` | List[[components.Tag](../../models/components/tag.md)] | :heavy_minus_sign: | N/A | |
| `rating_count` | *Optional[int]* | :heavy_minus_sign: | Number of ratings under this metadata | |
| `rating_image` | *Optional[str]* | :heavy_minus_sign: | When present, indicates an image to be shown with the rating. This is passed back as a small set of defined URI values, e.g. rottentomatoes://image.rating.rotten. | |
| `rating_key` | *Optional[str]* | :heavy_minus_sign: | This is the opaque string to be passed into timeline, scrobble, and rating endpoints to identify them. While it often appears to be numeric, this is not guaranteed. | |
| `role` | List[[components.Tag](../../models/components/tag.md)] | :heavy_minus_sign: | N/A | |
| `search` | *Optional[bool]* | :heavy_minus_sign: | Indicates this is a search directory | |
| `secondary` | *Optional[bool]* | :heavy_minus_sign: | Used by old clients to provide nested menus allowing for primative (but structured) navigation. | |
| `skip_children` | *Optional[bool]* | :heavy_minus_sign: | When found on a show item, indicates that the children (seasons) should be skipped in favor of the grandchildren (episodes). Useful for mini-series, etc. | |
| `skip_parent` | *Optional[bool]* | :heavy_minus_sign: | When present on an episode or track item, indicates parent should be skipped in favor of grandparent (show). | |
| `sort` | List[[components.Sort](../../models/components/sort.md)] | :heavy_minus_sign: | Typically only seen in metadata at a library's top level | |
| `studio` | *Optional[str]* | :heavy_minus_sign: | When present, the studio or label which produced an item (e.g. movie studio for movies, record label for albums). | |
| `subtype` | *Optional[str]* | :heavy_minus_sign: | The subtype of the video item, such as `photo` when the video item is in a photo library | |
| `summary` | *Optional[str]* | :heavy_minus_sign: | When present, the extended textual information about the item (e.g. movie plot, artist biography, album review). | |
| `tagline` | *Optional[str]* | :heavy_minus_sign: | When present, a pithy one-liner about the item (usually only seen for movies). | |
| `theme` | *Optional[str]* | :heavy_minus_sign: | When present, the URL for theme music for the item (usually only for TV shows). | /library/metadata/1/theme/1705636920 |
| `thumb` | *Optional[str]* | :heavy_minus_sign: | When present, the URL for the poster or thumbnail for the item. When available for types like movie, it will be the poster graphic, but fall-back to the extracted media thumbnail. | /library/metadata/58683/thumb/1703239236 |
| `title_sort` | *Optional[str]* | :heavy_minus_sign: | Whene present, this is the string used for sorting the item. It's usually the title with any leading articles removed (e.g. “Simpsons”). | |
| `updated_at` | *Optional[int]* | :heavy_minus_sign: | In units of seconds since the epoch, returns the time at which the item was last changed (e.g. had its metadata updated). | |
| `user_rating` | *Optional[float]* | :heavy_minus_sign: | When the user has rated an item, this contains the user rating | |
| `view_count` | *Optional[int]* | :heavy_minus_sign: | When a users has completed watched or listened to an item, this attribute contains the number of consumptions. | |
| `viewed_leaf_count` | *Optional[int]* | :heavy_minus_sign: | For shows and seasons, contains the number of viewed episodes. | |
| `view_offset` | *Optional[int]* | :heavy_minus_sign: | When a user is in the process of viewing or listening to this item, this attribute contains the current offset, in units of milliseconds. | |
| `writer` | List[[components.Tag](../../models/components/tag.md)] | :heavy_minus_sign: | N/A | |
| `year` | *Optional[int]* | :heavy_minus_sign: | When present, the year associated with the item's release (e.g. release year for a movie). | |
| `metadata_item` | List[[components.Items](../../models/components/items.md)] | :heavy_minus_sign: | N/A | |
| `__pydantic_extra__` | Dict[str, *Any*] | :heavy_minus_sign: | N/A | |

View File

@@ -8,15 +8,18 @@
| Field | Type | Required | Description | Example |
| ------------------------------------------------------------- | ------------------------------------------------------------- | ------------------------------------------------------------- | ------------------------------------------------------------- | ------------------------------------------------------------- |
| `audio_profile` | *Optional[Any]* | :heavy_minus_sign: | N/A | lc |
| `container` | *Optional[Any]* | :heavy_minus_sign: | The container of the media file, such as `mp4` or `mkv` | mov |
| `accessible` | *Optional[bool]* | :heavy_minus_sign: | Indicates if the part is accessible. | true |
| `audio_profile` | *Optional[str]* | :heavy_minus_sign: | N/A | lc |
| `container` | *Optional[str]* | :heavy_minus_sign: | The container of the media file, such as `mp4` or `mkv` | mov |
| `duration` | *Optional[int]* | :heavy_minus_sign: | The duration of the media item, in milliseconds | 150192 |
| `file` | *Optional[Any]* | :heavy_minus_sign: | The local file path at which the part is stored on the server | /home/schuyler/Videos/Trailers/Cloud Atlas (2012).mov |
| `exists` | *Optional[bool]* | :heavy_minus_sign: | Indicates if the part exists. | true |
| `file` | *Optional[str]* | :heavy_minus_sign: | The local file path at which the part is stored on the server | /home/schuyler/Videos/Trailers/Cloud Atlas (2012).mov |
| `has64bit_offsets` | *Optional[bool]* | :heavy_minus_sign: | N/A | false |
| `id` | *Optional[int]* | :heavy_minus_sign: | N/A | 1 |
| `key` | *Optional[Any]* | :heavy_minus_sign: | The key from which the media can be streamed | /library/parts/1/1531779263/file.mov |
| `id` | *int* | :heavy_check_mark: | N/A | 1 |
| `indexes` | *Optional[str]* | :heavy_minus_sign: | N/A | sd |
| `key` | *str* | :heavy_check_mark: | The key from which the media can be streamed | /library/parts/1/1531779263/file.mov |
| `optimized_for_streaming` | *Optional[bool]* | :heavy_minus_sign: | N/A | false |
| `size` | *Optional[int]* | :heavy_minus_sign: | The size of the media, in bytes | 105355654 |
| `stream` | List[[components.Stream](../../models/components/stream.md)] | :heavy_minus_sign: | N/A | |
| `video_profile` | *Optional[Any]* | :heavy_minus_sign: | N/A | main |
| `video_profile` | *Optional[str]* | :heavy_minus_sign: | N/A | main |
| `__pydantic_extra__` | Dict[str, *Any*] | :heavy_minus_sign: | N/A | |

View File

@@ -0,0 +1,31 @@
# PlexDevice
## Fields
| Field | Type | Required | Description | Example |
| ------------------------------------------------------------------------------ | ------------------------------------------------------------------------------ | ------------------------------------------------------------------------------ | ------------------------------------------------------------------------------ | ------------------------------------------------------------------------------ |
| `name` | *str* | :heavy_check_mark: | N/A | |
| `product` | *str* | :heavy_check_mark: | N/A | |
| `product_version` | *str* | :heavy_check_mark: | N/A | |
| `platform` | *Nullable[str]* | :heavy_check_mark: | N/A | |
| `platform_version` | *Nullable[str]* | :heavy_check_mark: | N/A | |
| `device` | *Nullable[str]* | :heavy_check_mark: | N/A | |
| `client_identifier` | *str* | :heavy_check_mark: | N/A | |
| `created_at` | [date](https://docs.python.org/3/library/datetime.html#date-objects) | :heavy_check_mark: | N/A | 2019-06-24T11:38:02Z |
| `last_seen_at` | [date](https://docs.python.org/3/library/datetime.html#date-objects) | :heavy_check_mark: | N/A | 2019-06-24T11:38:02Z |
| `provides` | *str* | :heavy_check_mark: | N/A | |
| `owner_id` | *Nullable[int]* | :heavy_check_mark: | ownerId is null when the device is owned by the token used to send the request | |
| `source_title` | *Nullable[str]* | :heavy_check_mark: | N/A | |
| `public_address` | *str* | :heavy_check_mark: | N/A | |
| `access_token` | *str* | :heavy_check_mark: | N/A | |
| `owned` | *bool* | :heavy_check_mark: | N/A | |
| `home` | *bool* | :heavy_check_mark: | N/A | |
| `synced` | *bool* | :heavy_check_mark: | N/A | |
| `relay` | *bool* | :heavy_check_mark: | N/A | |
| `presence` | *bool* | :heavy_check_mark: | N/A | |
| `https_required` | *bool* | :heavy_check_mark: | N/A | |
| `public_address_matches` | *bool* | :heavy_check_mark: | N/A | |
| `dns_rebinding_protection` | *bool* | :heavy_check_mark: | N/A | |
| `nat_loopback_supported` | *bool* | :heavy_check_mark: | N/A | |
| `connections` | List[[components.Connections](../../models/components/connections.md)] | :heavy_check_mark: | N/A | |

View File

@@ -0,0 +1,11 @@
# PlexDeviceProtocol
The protocol used for the connection (http, https, etc)
## Values
| Name | Value |
| ------- | ------- |
| `HTTP` | http |
| `HTTPS` | https |

View File

@@ -0,0 +1,12 @@
# Services
## Fields
| Field | Type | Required | Description | Example |
| ------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------ |
| `identifier` | *str* | :heavy_check_mark: | N/A | metadata-dev |
| `endpoint` | *str* | :heavy_check_mark: | N/A | https://epg.provider.plex.tv |
| `token` | *Nullable[str]* | :heavy_check_mark: | N/A | DjoMtqFAGRL1uVtCyF1dKIorTbShJeqv |
| `secret` | *Nullable[str]* | :heavy_check_mark: | N/A | |
| `status` | [components.UserPlexAccountStatus](../../models/components/userplexaccountstatus.md) | :heavy_check_mark: | N/A | online |

View File

@@ -7,34 +7,57 @@
## Fields
| Field | Type | Required | Description | Example |
| ------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------ |
| `default` | *Optional[bool]* | :heavy_minus_sign: | N/A | true |
| `audio_channel_layout` | *Optional[Any]* | :heavy_minus_sign: | N/A | stereo |
| `bit_depth` | *Optional[int]* | :heavy_minus_sign: | N/A | 8 |
| `bitrate` | *Optional[int]* | :heavy_minus_sign: | N/A | 5466 |
| `can_auto_sync` | *Optional[bool]* | :heavy_minus_sign: | For subtitle streams only. If `true` then the server can attempt to automatically sync the subtitle timestamps with the video. | true |
| `chroma_location` | *Optional[Any]* | :heavy_minus_sign: | N/A | topleft |
| `chroma_subsampling` | *Optional[Any]* | :heavy_minus_sign: | N/A | 4:2:0 |
| `codec` | *Optional[Any]* | :heavy_minus_sign: | The codec of the stream, such as `h264` or `aac` | h264 |
| `color_primaries` | *Optional[Any]* | :heavy_minus_sign: | N/A | bt709 |
| `color_range` | *Optional[Any]* | :heavy_minus_sign: | N/A | tv |
| `color_space` | *Optional[Any]* | :heavy_minus_sign: | N/A | bt709 |
| `color_trc` | *Optional[Any]* | :heavy_minus_sign: | N/A | bt709 |
| `display_title` | *Optional[Any]* | :heavy_minus_sign: | A friendly name for the stream, often comprised of the language and codec information | English (H.264 Main) |
| `frame_rate` | *Optional[float]* | :heavy_minus_sign: | N/A | 23.976 |
| `has_scaling_matrix` | *Optional[Any]* | :heavy_minus_sign: | N/A | false |
| `height` | *Optional[int]* | :heavy_minus_sign: | N/A | 544 |
| `id` | *Optional[int]* | :heavy_minus_sign: | N/A | 1 |
| `index` | *Optional[int]* | :heavy_minus_sign: | If the stream is part of the `Part` and not an external resource, the index of the stream within that part | 0 |
| `key` | *Optional[Any]* | :heavy_minus_sign: | If the stream is independently streamable, the key from which it can be streamed | /library/streams/1 |
| `language` | *Optional[Any]* | :heavy_minus_sign: | N/A | English |
| `language_code` | *Optional[Any]* | :heavy_minus_sign: | The three character language code for the stream contents | eng |
| `level` | *Optional[int]* | :heavy_minus_sign: | N/A | 31 |
| `profile` | *Optional[Any]* | :heavy_minus_sign: | N/A | main |
| `ref_frames` | *Optional[int]* | :heavy_minus_sign: | N/A | 2 |
| `sampling_rate` | *Optional[int]* | :heavy_minus_sign: | N/A | 48000 |
| `selected` | *Optional[bool]* | :heavy_minus_sign: | N/A | |
| -------------------------------------------------------------------- | -------------------------------------------------------------------- | -------------------------------------------------------------------- | -------------------------------------------------------------------- | -------------------------------------------------------------------- |
| `default` | *Optional[bool]* | :heavy_minus_sign: | Indicates if this stream is default. | true |
| `audio_channel_layout` | *Optional[str]* | :heavy_minus_sign: | Audio channel layout. | 5.1(side) |
| `channels` | *Optional[int]* | :heavy_minus_sign: | Number of audio channels (for audio streams). | 6 |
| `bit_depth` | *Optional[int]* | :heavy_minus_sign: | Bit depth of the video stream. | 10 |
| `dovibl_compat_id` | *Optional[int]* | :heavy_minus_sign: | Dolby Vision BL compatibility ID. | 1 |
| `dovibl_present` | *Optional[bool]* | :heavy_minus_sign: | Indicates if Dolby Vision BL is present. | true |
| `doviel_present` | *Optional[bool]* | :heavy_minus_sign: | Indicates if Dolby Vision EL is present. | false |
| `dovi_level` | *Optional[int]* | :heavy_minus_sign: | Dolby Vision level. | 6 |
| `dovi_present` | *Optional[bool]* | :heavy_minus_sign: | Indicates if Dolby Vision is present. | true |
| `dovi_profile` | *Optional[int]* | :heavy_minus_sign: | Dolby Vision profile. | 8 |
| `dovirpu_present` | *Optional[bool]* | :heavy_minus_sign: | Indicates if Dolby Vision RPU is present. | true |
| `dovi_version` | *Optional[str]* | :heavy_minus_sign: | Dolby Vision version. | 1.0 |
| `bitrate` | *Optional[int]* | :heavy_minus_sign: | Bitrate of the stream. | 24743 |
| `can_auto_sync` | *Optional[bool]* | :heavy_minus_sign: | Indicates if the stream can auto-sync. | false |
| `chroma_location` | *Optional[str]* | :heavy_minus_sign: | Chroma sample location. | topleft |
| `chroma_subsampling` | *Optional[str]* | :heavy_minus_sign: | Chroma subsampling format. | 4:2:0 |
| `coded_height` | *Optional[int]* | :heavy_minus_sign: | Coded video height. | 1608 |
| `coded_width` | *Optional[int]* | :heavy_minus_sign: | Coded video width. | 3840 |
| `closed_captions` | *Optional[bool]* | :heavy_minus_sign: | N/A | true |
| `codec` | *str* | :heavy_check_mark: | Codec used by the stream. | hevc |
| `color_primaries` | *Optional[str]* | :heavy_minus_sign: | Color primaries used. | bt2020 |
| `color_range` | *Optional[str]* | :heavy_minus_sign: | Color range (e.g., tv). | tv |
| `color_space` | *Optional[str]* | :heavy_minus_sign: | Color space. | bt2020nc |
| `color_trc` | *Optional[str]* | :heavy_minus_sign: | Color transfer characteristics. | smpte2084 |
| `display_title` | *str* | :heavy_check_mark: | Display title for the stream. | 4K DoVi/HDR10 (HEVC Main 10) |
| `extended_display_title` | *Optional[str]* | :heavy_minus_sign: | Extended display title for the stream. | 4K DoVi/HDR10 (HEVC Main 10) |
| `frame_rate` | *Optional[float]* | :heavy_minus_sign: | Frame rate of the stream. | 23.976 |
| `has_scaling_matrix` | *Optional[bool]* | :heavy_minus_sign: | N/A | false |
| `height` | *Optional[int]* | :heavy_minus_sign: | Height of the video stream. | 1602 |
| `id` | *int* | :heavy_check_mark: | Unique stream identifier. | 1002625 |
| `index` | *Optional[int]* | :heavy_minus_sign: | Index of the stream. | 0 |
| `key` | *str* | :heavy_check_mark: | Key to access this stream part. | /library/streams/216389 |
| `language` | *Optional[str]* | :heavy_minus_sign: | Language of the stream. | English |
| `language_code` | *Optional[str]* | :heavy_minus_sign: | ISO language code. | eng |
| `language_tag` | *Optional[str]* | :heavy_minus_sign: | Language tag (e.g., en). | en |
| `format_` | *Optional[str]* | :heavy_minus_sign: | Format of the stream (e.g., srt). | srt |
| `header_compression` | *Optional[bool]* | :heavy_minus_sign: | Indicates whether header compression is enabled. | true |
| `level` | *Optional[int]* | :heavy_minus_sign: | Video level. | 150 |
| `original` | *Optional[bool]* | :heavy_minus_sign: | Indicates if this is the original stream. | true |
| `profile` | *Optional[str]* | :heavy_minus_sign: | Video profile. | main 10 |
| `ref_frames` | *Optional[int]* | :heavy_minus_sign: | Number of reference frames. | 1 |
| `sampling_rate` | *Optional[int]* | :heavy_minus_sign: | Sampling rate for the audio stream. | 48000 |
| `scan_type` | *Optional[str]* | :heavy_minus_sign: | N/A | progressive |
| `embedded_in_video` | *Optional[str]* | :heavy_minus_sign: | N/A | progressive |
| `selected` | *Optional[bool]* | :heavy_minus_sign: | Indicates if this stream is selected (applicable for audio streams). | true |
| `forced` | *Optional[bool]* | :heavy_minus_sign: | N/A | true |
| `hearing_impaired` | *Optional[bool]* | :heavy_minus_sign: | Indicates if the stream is for the hearing impaired. | true |
| `dub` | *Optional[bool]* | :heavy_minus_sign: | Indicates if the stream is a dub. | true |
| `title` | *Optional[str]* | :heavy_minus_sign: | Optional title for the stream (e.g., language variant). | SDH |
| `stream_identifier` | *Optional[int]* | :heavy_minus_sign: | N/A | 1 |
| `stream_type` | *Optional[int]* | :heavy_minus_sign: | A number indicating the type of the stream. `1` for video, `2` for audio, `3` for subtitles, `4` for lyrics | 1 |
| `width` | *Optional[int]* | :heavy_minus_sign: | N/A | 1280 |
| `stream_type` | *Literal[1]* | :heavy_check_mark: | Stream type:<br/> - VIDEO = 1<br/> - AUDIO = 2<br/> - SUBTITLE = 3<br/> | |
| `width` | *Optional[int]* | :heavy_minus_sign: | Width of the video stream. | 3840 |
| `__pydantic_extra__` | Dict[str, *Any*] | :heavy_minus_sign: | N/A | |

View File

@@ -0,0 +1,15 @@
# Subscription
If the account's Plex Pass subscription is active
## Fields
| Field | Type | Required | Description | Example |
| ---------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------- |
| `features` | List[*str*] | :heavy_minus_sign: | List of features allowed on your Plex Pass subscription | |
| `active` | *Optional[bool]* | :heavy_minus_sign: | If the account's Plex Pass subscription is active | true |
| `subscribed_at` | *OptionalNullable[str]* | :heavy_minus_sign: | Date the account subscribed to Plex Pass | 2021-04-12T18:21:12Z |
| `status` | [Optional[components.UserPlexAccountSubscriptionStatus]](../../models/components/userplexaccountsubscriptionstatus.md) | :heavy_minus_sign: | String representation of subscriptionActive | Inactive |
| `payment_service` | *OptionalNullable[str]* | :heavy_minus_sign: | Payment service used for your Plex Pass subscription | |
| `plan` | *OptionalNullable[str]* | :heavy_minus_sign: | Name of Plex Pass subscription plan | |

View File

@@ -7,14 +7,14 @@ A variety of extra information about a metadata item is included as tags. These
## Fields
| Field | Type | Required | Description | Example |
| ------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------- |
| --------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------- |
| `confidence` | *Optional[float]* | :heavy_minus_sign: | Measure of the confidence of an automatic tag | |
| `context` | *Optional[str]* | :heavy_minus_sign: | N/A | |
| `filter_` | *Optional[Any]* | :heavy_minus_sign: | A filter parameter that can be used to query for more content that matches this tag value. | actor=49 |
| `filter_` | *Optional[str]* | :heavy_minus_sign: | A filter parameter that can be used to query for more content that matches this tag value. | actor=49 |
| `id` | *Optional[int]* | :heavy_minus_sign: | N/A | |
| `rating_key` | *Optional[str]* | :heavy_minus_sign: | N/A | |
| `role` | *Optional[Any]* | :heavy_minus_sign: | The role this actor played | Secretary |
| `tag` | *Optional[Any]* | :heavy_minus_sign: | The value of the tag (the name) | Shaun Lawton |
| `tag_key` | *Optional[Any]* | :heavy_minus_sign: | Plex identifier for this tag which can be used to fetch additional information from plex.tv | 5d3ee12c4cde6a001c3e0b27 |
| `rating_key` | *Optional[str]* | :heavy_minus_sign: | The rating key (Media ID) of this media item. Note: Although this is always an integer, it is represented as a string in the API. | 58683 |
| `role` | *Optional[str]* | :heavy_minus_sign: | The role this actor played | Secretary |
| `tag` | *str* | :heavy_check_mark: | The value of the tag (the name) | Shaun Lawton |
| `tag_key` | *Optional[str]* | :heavy_minus_sign: | Plex identifier for this tag which can be used to fetch additional information from plex.tv | 5d3ee12c4cde6a001c3e0b27 |
| `tag_type` | *Optional[int]* | :heavy_minus_sign: | N/A | |
| `thumb` | *Optional[Any]* | :heavy_minus_sign: | N/A | http://image.tmdb.org/t/p/original/lcJ8qM51ClAR2UzXU1mkZGfnn3o.jpg |
| `thumb` | *Optional[str]* | :heavy_minus_sign: | N/A | http://image.tmdb.org/t/p/original/lcJ8qM51ClAR2UzXU1mkZGfnn3o.jpg |

View File

@@ -0,0 +1,48 @@
# UserPlexAccount
## Fields
| Field | Type | Required | Description | Example |
| --------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `ads_consent` | *OptionalNullable[bool]* | :heavy_minus_sign: | Unknown | |
| `ads_consent_reminder_at` | *OptionalNullable[int]* | :heavy_minus_sign: | N/A | 1556281940 |
| `ads_consent_set_at` | *OptionalNullable[int]* | :heavy_minus_sign: | N/A | 1556281940 |
| `anonymous` | *OptionalNullable[bool]* | :heavy_minus_sign: | Unknown | |
| `auth_token` | *str* | :heavy_check_mark: | The account token | CxoUzBTSV5hsxjTpFKaf |
| `backup_codes_created` | *Optional[bool]* | :heavy_minus_sign: | If the two-factor authentication backup codes have been created | |
| `confirmed` | *Optional[bool]* | :heavy_minus_sign: | If the account has been confirmed | |
| `country` | *Optional[str]* | :heavy_minus_sign: | The account country | US |
| `email` | *str* | :heavy_check_mark: | The account email address | username@email.com |
| `email_only_auth` | *Optional[bool]* | :heavy_minus_sign: | If login with email only is enabled | |
| `experimental_features` | *Optional[bool]* | :heavy_minus_sign: | If experimental features are enabled | |
| `friendly_name` | *str* | :heavy_check_mark: | Your account full name | friendlyUsername |
| `entitlements` | List[*str*] | :heavy_minus_sign: | List of devices your allowed to use with this account | [] |
| `guest` | *Optional[bool]* | :heavy_minus_sign: | If the account is a Plex Home guest user | |
| `has_password` | *Optional[bool]* | :heavy_minus_sign: | If the account has a password | |
| `home` | *Optional[bool]* | :heavy_minus_sign: | If the account is a Plex Home user | |
| `home_admin` | *Optional[bool]* | :heavy_minus_sign: | If the account is the Plex Home admin | |
| `home_size` | *Optional[int]* | :heavy_minus_sign: | The number of accounts in the Plex Home | 1 |
| `id` | *int* | :heavy_check_mark: | The Plex account ID | 13692262 |
| `joined_at` | *int* | :heavy_check_mark: | Unix epoch datetime in seconds | 1556281940 |
| `locale` | *OptionalNullable[str]* | :heavy_minus_sign: | The account locale | |
| `mailing_list_active` | *Optional[bool]* | :heavy_minus_sign: | If you are subscribed to the Plex newsletter | |
| `mailing_list_status` | [Optional[components.MailingListStatus]](../../models/components/mailingliststatus.md) | :heavy_minus_sign: | Your current mailing list status | active |
| `max_home_size` | *Optional[int]* | :heavy_minus_sign: | The maximum number of accounts allowed in the Plex Home | 15 |
| ~~`pin`~~ | *Optional[str]* | :heavy_minus_sign: | : warning: ** DEPRECATED **: This will be removed in a future release, please migrate away from it as soon as possible.<br/><br/>[Might be removed] The hashed Plex Home PIN | |
| `profile` | [Optional[components.UserProfile]](../../models/components/userprofile.md) | :heavy_minus_sign: | N/A | |
| `protected` | *Optional[bool]* | :heavy_minus_sign: | If the account has a Plex Home PIN enabled | |
| `remember_expires_at` | *Optional[int]* | :heavy_minus_sign: | Unix epoch datetime in seconds | 1556281940 |
| `restricted` | *Optional[bool]* | :heavy_minus_sign: | If the account is a Plex Home managed user | |
| `roles` | List[*str*] | :heavy_minus_sign: | [Might be removed] List of account roles. Plexpass membership listed here | |
| `scrobble_types` | *Optional[str]* | :heavy_minus_sign: | Unknown | |
| `services` | List[[components.Services](../../models/components/services.md)] | :heavy_minus_sign: | N/A | |
| `subscription` | [Optional[components.Subscription]](../../models/components/subscription.md) | :heavy_minus_sign: | If the account's Plex Pass subscription is active | |
| `subscription_description` | *OptionalNullable[str]* | :heavy_minus_sign: | Description of the Plex Pass subscription | |
| `subscriptions` | List[[components.UserPlexAccountSubscription](../../models/components/userplexaccountsubscription.md)] | :heavy_minus_sign: | N/A | |
| `thumb` | *Optional[str]* | :heavy_minus_sign: | URL of the account thumbnail | https://plex.tv/users/a4f43c1ebfde43a5/avatar?c=8372075101 |
| `title` | *str* | :heavy_check_mark: | The title of the account (username or friendly name) | UsernameTitle |
| `two_factor_enabled` | *Optional[bool]* | :heavy_minus_sign: | If two-factor authentication is enabled | |
| `username` | *str* | :heavy_check_mark: | The account username | Username |
| `uuid` | *str* | :heavy_check_mark: | The account UUID | dae343c1f45beb4f |
| `attribution_partner` | *OptionalNullable[str]* | :heavy_minus_sign: | N/A | <nil> |

View File

@@ -0,0 +1,9 @@
# UserPlexAccountStatus
## Values
| Name | Value |
| --------- | --------- |
| `ONLINE` | online |
| `OFFLINE` | offline |

View File

@@ -0,0 +1,13 @@
# UserPlexAccountSubscription
## Fields
| Field | Type | Required | Description | Example |
| ------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------ |
| `features` | List[*str*] | :heavy_minus_sign: | List of features allowed on your Plex Pass subscription | |
| `active` | *Optional[bool]* | :heavy_minus_sign: | If the account's Plex Pass subscription is active | true |
| `subscribed_at` | *OptionalNullable[str]* | :heavy_minus_sign: | Date the account subscribed to Plex Pass | 2021-04-12T18:21:12Z |
| `status` | [Optional[components.UserPlexAccountSubscriptionsStatus]](../../models/components/userplexaccountsubscriptionsstatus.md) | :heavy_minus_sign: | String representation of subscriptionActive | Inactive |
| `payment_service` | *OptionalNullable[str]* | :heavy_minus_sign: | Payment service used for your Plex Pass subscription | |
| `plan` | *OptionalNullable[str]* | :heavy_minus_sign: | Name of Plex Pass subscription plan | |

View File

@@ -0,0 +1,11 @@
# UserPlexAccountSubscriptionsStatus
String representation of subscriptionActive
## Values
| Name | Value |
| ---------- | ---------- |
| `INACTIVE` | Inactive |
| `ACTIVE` | Active |

View File

@@ -0,0 +1,11 @@
# UserPlexAccountSubscriptionStatus
String representation of subscriptionActive
## Values
| Name | Value |
| ---------- | ---------- |
| `INACTIVE` | Inactive |
| `ACTIVE` | Active |

View File

@@ -0,0 +1,19 @@
# UserProfile
## Fields
| Field | Type | Required | Description | Example |
| ------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------ |
| `auto_select_audio` | *Optional[bool]* | :heavy_minus_sign: | If the account has automatically select audio and subtitle tracks enabled | true |
| `default_audio_language` | *Nullable[str]* | :heavy_check_mark: | The preferred audio language for the account | ja |
| `default_audio_accessibility` | [Optional[components.DefaultAudioAccessibility]](../../models/components/defaultaudioaccessibility.md) | :heavy_minus_sign: | N/A | 0 |
| `default_audio_languages` | List[*str*] | :heavy_minus_sign: | The preferred audio languages for the account | <nil> |
| `default_subtitle_language` | *Nullable[str]* | :heavy_check_mark: | The preferred subtitle language for the account | en |
| `default_subtitle_languages` | List[*str*] | :heavy_minus_sign: | The preferred subtitle languages for the account | <nil> |
| `auto_select_subtitle` | [Optional[components.AutoSelectSubtitle]](../../models/components/autoselectsubtitle.md) | :heavy_minus_sign: | N/A | 1 |
| `default_subtitle_accessibility` | [Optional[components.DefaultSubtitleAccessibility]](../../models/components/defaultsubtitleaccessibility.md) | :heavy_minus_sign: | N/A | 1 |
| `default_subtitle_forced` | [Optional[components.DefaultSubtitleForced]](../../models/components/defaultsubtitleforced.md) | :heavy_minus_sign: | N/A | 1 |
| `watched_indicator` | [Optional[components.WatchedIndicator]](../../models/components/watchedindicator.md) | :heavy_minus_sign: | N/A | 1 |
| `media_reviews_visibility` | [Optional[components.MediaReviewsVisibility]](../../models/components/mediareviewsvisibility.md) | :heavy_minus_sign: | N/A | 1 |
| `media_reviews_languages` | List[*str*] | :heavy_minus_sign: | The languages for media reviews visibility | <nil> |

View File

@@ -0,0 +1,13 @@
# WatchedIndicator
Whether or not media watched indicators are enabled (little orange dot on media)
## Values
| Name | Value |
| --------------------- | --------------------- |
| `NONE` | 0 |
| `MOVIES_AND_TV_SHOWS` | 1 |
| `MOVIES` | 2 |
| `TV_SHOWS` | 3 |

View File

@@ -0,0 +1,10 @@
# Errors
## Fields
| Field | Type | Required | Description | Example |
| ----------------------------------- | ----------------------------------- | ----------------------------------- | ----------------------------------- | ----------------------------------- |
| `code` | *Optional[int]* | :heavy_minus_sign: | N/A | 1000 |
| `message` | *Optional[str]* | :heavy_minus_sign: | N/A | X-Plex-Client-Identifier is missing |
| `status` | *Optional[int]* | :heavy_minus_sign: | N/A | 400 |

View File

@@ -0,0 +1,10 @@
# GetServerResourcesErrors
## Fields
| Field | Type | Required | Description | Example |
| ------------------------------- | ------------------------------- | ------------------------------- | ------------------------------- | ------------------------------- |
| `code` | *Optional[int]* | :heavy_minus_sign: | N/A | 1001 |
| `message` | *Optional[str]* | :heavy_minus_sign: | N/A | User could not be authenticated |
| `status` | *Optional[int]* | :heavy_minus_sign: | N/A | 401 |

View File

@@ -0,0 +1,11 @@
# GetServerResourcesUnauthorized
Unauthorized - Returned if the X-Plex-Token is missing from the header or query.
## Fields
| Field | Type | Required | Description |
| ---------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------- |
| `errors` | List[[errors.GetServerResourcesErrors](../../models/errors/getserverresourceserrors.md)] | :heavy_minus_sign: | N/A |
| `raw_response` | [httpx.Response](https://www.python-httpx.org/api/#response) | :heavy_minus_sign: | Raw HTTP response; suitable for custom response parsing |

View File

@@ -0,0 +1,11 @@
# GetTokenDetailsBadRequest
Bad Request - A parameter was not specified, or was specified incorrectly.
## Fields
| Field | Type | Required | Description |
| ------------------------------------------------------------ | ------------------------------------------------------------ | ------------------------------------------------------------ | ------------------------------------------------------------ |
| `errors` | List[[errors.Errors](../../models/errors/errors.md)] | :heavy_minus_sign: | N/A |
| `raw_response` | [httpx.Response](https://www.python-httpx.org/api/#response) | :heavy_minus_sign: | Raw HTTP response; suitable for custom response parsing |

View File

@@ -0,0 +1,10 @@
# GetTokenDetailsErrors
## Fields
| Field | Type | Required | Description | Example |
| ------------------------------- | ------------------------------- | ------------------------------- | ------------------------------- | ------------------------------- |
| `code` | *Optional[int]* | :heavy_minus_sign: | N/A | 1001 |
| `message` | *Optional[str]* | :heavy_minus_sign: | N/A | User could not be authenticated |
| `status` | *Optional[int]* | :heavy_minus_sign: | N/A | 401 |

View File

@@ -0,0 +1,11 @@
# GetTokenDetailsUnauthorized
Unauthorized - Returned if the X-Plex-Token is missing from the header or query.
## Fields
| Field | Type | Required | Description |
| ---------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------- |
| `errors` | List[[errors.GetTokenDetailsErrors](../../models/errors/gettokendetailserrors.md)] | :heavy_minus_sign: | N/A |
| `raw_response` | [httpx.Response](https://www.python-httpx.org/api/#response) | :heavy_minus_sign: | Raw HTTP response; suitable for custom response parsing |

View File

@@ -0,0 +1,11 @@
# GetUsersBadRequest
Bad Request - A parameter was not specified, or was specified incorrectly.
## Fields
| Field | Type | Required | Description |
| -------------------------------------------------------------------- | -------------------------------------------------------------------- | -------------------------------------------------------------------- | -------------------------------------------------------------------- |
| `errors` | List[[errors.GetUsersErrors](../../models/errors/getuserserrors.md)] | :heavy_minus_sign: | N/A |
| `raw_response` | [httpx.Response](https://www.python-httpx.org/api/#response) | :heavy_minus_sign: | Raw HTTP response; suitable for custom response parsing |

View File

@@ -0,0 +1,10 @@
# GetUsersErrors
## Fields
| Field | Type | Required | Description | Example |
| ----------------------------------- | ----------------------------------- | ----------------------------------- | ----------------------------------- | ----------------------------------- |
| `code` | *Optional[int]* | :heavy_minus_sign: | N/A | 1000 |
| `message` | *Optional[str]* | :heavy_minus_sign: | N/A | X-Plex-Client-Identifier is missing |
| `status` | *Optional[int]* | :heavy_minus_sign: | N/A | 400 |

View File

@@ -0,0 +1,11 @@
# GetUsersUnauthorized
Unauthorized - Returned if the X-Plex-Token is missing from the header or query.
## Fields
| Field | Type | Required | Description |
| ------------------------------------------------------------------------------ | ------------------------------------------------------------------------------ | ------------------------------------------------------------------------------ | ------------------------------------------------------------------------------ |
| `errors` | List[[errors.GetUsersUsersErrors](../../models/errors/getusersuserserrors.md)] | :heavy_minus_sign: | N/A |
| `raw_response` | [httpx.Response](https://www.python-httpx.org/api/#response) | :heavy_minus_sign: | Raw HTTP response; suitable for custom response parsing |

View File

@@ -0,0 +1,10 @@
# GetUsersUsersErrors
## Fields
| Field | Type | Required | Description | Example |
| ------------------------------- | ------------------------------- | ------------------------------- | ------------------------------- | ------------------------------- |
| `code` | *Optional[int]* | :heavy_minus_sign: | N/A | 1001 |
| `message` | *Optional[str]* | :heavy_minus_sign: | N/A | User could not be authenticated |
| `status` | *Optional[int]* | :heavy_minus_sign: | N/A | 401 |

View File

@@ -0,0 +1,10 @@
# PostUsersSignInDataAuthenticationErrors
## Fields
| Field | Type | Required | Description | Example |
| ------------------------------- | ------------------------------- | ------------------------------- | ------------------------------- | ------------------------------- |
| `code` | *Optional[int]* | :heavy_minus_sign: | N/A | 1001 |
| `message` | *Optional[str]* | :heavy_minus_sign: | N/A | User could not be authenticated |
| `status` | *Optional[int]* | :heavy_minus_sign: | N/A | 401 |

View File

@@ -0,0 +1,11 @@
# PostUsersSignInDataBadRequest
Bad Request - A parameter was not specified, or was specified incorrectly.
## Fields
| Field | Type | Required | Description |
| ------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------ |
| `errors` | List[[errors.PostUsersSignInDataErrors](../../models/errors/postuserssignindataerrors.md)] | :heavy_minus_sign: | N/A |
| `raw_response` | [httpx.Response](https://www.python-httpx.org/api/#response) | :heavy_minus_sign: | Raw HTTP response; suitable for custom response parsing |

View File

@@ -0,0 +1,10 @@
# PostUsersSignInDataErrors
## Fields
| Field | Type | Required | Description | Example |
| ----------------------------------- | ----------------------------------- | ----------------------------------- | ----------------------------------- | ----------------------------------- |
| `code` | *Optional[int]* | :heavy_minus_sign: | N/A | 1000 |
| `message` | *Optional[str]* | :heavy_minus_sign: | N/A | X-Plex-Client-Identifier is missing |
| `status` | *Optional[int]* | :heavy_minus_sign: | N/A | 400 |

View File

@@ -0,0 +1,11 @@
# PostUsersSignInDataUnauthorized
Unauthorized - Returned if the X-Plex-Token is missing from the header or query.
## Fields
| Field | Type | Required | Description |
| ---------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------- |
| `errors` | List[[errors.PostUsersSignInDataAuthenticationErrors](../../models/errors/postuserssignindataauthenticationerrors.md)] | :heavy_minus_sign: | N/A |
| `raw_response` | [httpx.Response](https://www.python-httpx.org/api/#response) | :heavy_minus_sign: | Raw HTTP response; suitable for custom response parsing |

View File

@@ -0,0 +1,11 @@
# AllLibraries
Indicates if the user has access to all libraries.
## Values
| Name | Value |
| --------- | --------- |
| `DISABLE` | 0 |
| `ENABLE` | 1 |

View File

@@ -0,0 +1,11 @@
# AllowCameraUpload
Indicates if the user is allowed to upload from a camera.
## Values
| Name | Value |
| --------- | --------- |
| `DISABLE` | 0 |
| `ENABLE` | 1 |

View File

@@ -0,0 +1,11 @@
# AllowChannels
Indicates if the user has access to channels.
## Values
| Name | Value |
| --------- | --------- |
| `DISABLE` | 0 |
| `ENABLE` | 1 |

View File

@@ -0,0 +1,11 @@
# AllowSubtitleAdmin
Indicates if the user can manage subtitles.
## Values
| Name | Value |
| --------- | --------- |
| `DISABLE` | 0 |
| `ENABLE` | 1 |

View File

@@ -0,0 +1,11 @@
# AllowSync
Indicates if the user is allowed to sync media.
## Values
| Name | Value |
| --------- | --------- |
| `DISABLE` | 0 |
| `ENABLE` | 1 |

View File

@@ -0,0 +1,11 @@
# AllowTuners
Indicates if the user is allowed to use tuners.
## Values
| Name | Value |
| --------- | --------- |
| `DISABLE` | 0 |
| `ENABLE` | 1 |

View File

@@ -4,7 +4,7 @@
## Fields
| Field | Type | Required | Description | Example |
| ------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------- |
| ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `accepts` | [Optional[components.Accepts]](../../models/components/accepts.md) | :heavy_minus_sign: | Indicates the client accepts the indicated media types | |
| `client_identifier` | *Optional[str]* | :heavy_minus_sign: | An opaque identifier unique to the client | abc123 |
| `product` | *Optional[str]* | :heavy_minus_sign: | The name of the client product | Plex for Roku |
@@ -19,4 +19,4 @@
| `section_id` | *int* | :heavy_check_mark: | Section identifier | |
| `type` | *Optional[int]* | :heavy_minus_sign: | Item type | |
| `field_query` | *Optional[str]* | :heavy_minus_sign: | The "field" stands in for any field, the value is a partial string for matching | |
| `media_query` | [Optional[components.MediaQuery]](../../models/components/mediaquery.md) | :heavy_minus_sign: | This is a complex query built of several parameters. See [API Info section](#section/API-Info/Media-Queries) for information on building media queries | |
| `media_query` | [Optional[components.MediaQuery]](../../models/components/mediaquery.md) | :heavy_minus_sign: | A querystring-based filtering language used to select subsets of media. Can be provided as an object with typed properties for type safety, or as a string for complex queries with operators and boolean logic.<br/><br/>The query supports:<br/>- Fields: integer, boolean, tag, string, date, language<br/>- Operators: =, !=, ==, !==, <=, >=, >>=, <<= (varies by field type)<br/>- Boolean operators: & (AND), , (OR), push/pop (parentheses), or=1 (explicit OR)<br/>- Sorting: sort parameter with :desc, :nullsLast modifiers<br/>- Grouping: group parameter<br/>- Limits: limit parameter<br/><br/>Examples:<br/>- Object format: `{type: 4, sourceType: 2, title: "24"}``type=4&sourceType=2&title=24`<br/>- String format: `type=4&sourceType=2&title==24` - type = 4 AND sourceType = 2 AND title = "24"<br/>- Complex: `push=1&index=1&or=1&rating=2&pop=1&duration=10` - (index = 1 OR rating = 2) AND duration = 10<br/><br/>See [API Info section](#section/API-Info/Media-Queries) for detailed information on building media queries.<br/> | {<br/>"type": 4,<br/>"sourceType": 2,<br/>"sort": "duration:desc,index"<br/>} |

View File

@@ -0,0 +1,9 @@
# Billing
## Fields
| Field | Type | Required | Description |
| ------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------ |
| `internal_payment_method` | [operations.InternalPaymentMethod](../../models/operations/internalpaymentmethod.md) | :heavy_check_mark: | N/A |
| `payment_method_id` | *Nullable[int]* | :heavy_check_mark: | N/A |

View File

@@ -1,13 +1,31 @@
# ButlerTask
The task name
## Fields
| Field | Type | Required | Description |
| ------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------ |
| `description` | *Optional[str]* | :heavy_minus_sign: | A user-friendly description of the task |
| `enabled` | *Optional[bool]* | :heavy_minus_sign: | Whether this task is enabled or not |
| `interval` | *Optional[int]* | :heavy_minus_sign: | The interval (in days) of when this task is run. A value of 1 is run every day, 7 is every week, etc. |
| `name` | *Optional[str]* | :heavy_minus_sign: | The name of the task |
| `schedule_randomized` | *Optional[bool]* | :heavy_minus_sign: | Indicates whether the timing of the task is randomized within the butler interval |
| `title` | *Optional[str]* | :heavy_minus_sign: | A user-friendly title of the task |
## Values
| Name | Value |
| -------------------------------------- | -------------------------------------- |
| `AUTOMATIC_UPDATES` | AutomaticUpdates |
| `BACKUP_DATABASE` | BackupDatabase |
| `BUTLER_TASK_GENERATE_AD_MARKERS` | ButlerTaskGenerateAdMarkers |
| `BUTLER_TASK_GENERATE_CREDITS_MARKERS` | ButlerTaskGenerateCreditsMarkers |
| `BUTLER_TASK_GENERATE_INTRO_MARKERS` | ButlerTaskGenerateIntroMarkers |
| `BUTLER_TASK_GENERATE_VOICE_ACTIVITY` | ButlerTaskGenerateVoiceActivity |
| `CLEAN_OLD_BUNDLES` | CleanOldBundles |
| `CLEAN_OLD_CACHE_FILES` | CleanOldCacheFiles |
| `DEEP_MEDIA_ANALYSIS` | DeepMediaAnalysis |
| `GARBAGE_COLLECT_BLOBS` | GarbageCollectBlobs |
| `GARBAGE_COLLECT_LIBRARY_MEDIA` | GarbageCollectLibraryMedia |
| `GENERATE_BLUR_HASHES` | GenerateBlurHashes |
| `GENERATE_CHAPTER_THUMBS` | GenerateChapterThumbs |
| `GENERATE_MEDIA_INDEX_FILES` | GenerateMediaIndexFiles |
| `LOUDNESS_ANALYSIS` | LoudnessAnalysis |
| `MUSIC_ANALYSIS` | MusicAnalysis |
| `OPTIMIZE_DATABASE` | OptimizeDatabase |
| `REFRESH_EPG_GUIDES` | RefreshEpgGuides |
| `REFRESH_LIBRARIES` | RefreshLibraries |
| `REFRESH_LOCAL_MEDIA` | RefreshLocalMedia |
| `REFRESH_PERIODIC_METADATA` | RefreshPeriodicMetadata |
| `UPGRADE_MEDIA_ANALYSIS` | UpgradeMediaAnalysis |

View File

@@ -4,5 +4,5 @@
## Fields
| Field | Type | Required | Description |
| -------------------------------------------------------------------- | -------------------------------------------------------------------- | -------------------------------------------------------------------- | -------------------------------------------------------------------- |
| `butler_task` | List[[operations.ButlerTask](../../models/operations/butlertask.md)] | :heavy_minus_sign: | N/A |
| ------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------ |
| `butler_task` | List[[operations.GetTasksButlerTask](../../models/operations/gettasksbutlertask.md)] | :heavy_minus_sign: | N/A |

View File

@@ -4,7 +4,7 @@
## Fields
| Field | Type | Required | Description | Example |
| ----------------------------------------------------------------------------- | ----------------------------------------------------------------------------- | ----------------------------------------------------------------------------- | ----------------------------------------------------------------------------- | ----------------------------------------------------------------------------- |
| ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `accepts` | [Optional[components.Accepts]](../../models/components/accepts.md) | :heavy_minus_sign: | Indicates the client accepts the indicated media types | |
| `client_identifier` | *Optional[str]* | :heavy_minus_sign: | An opaque identifier unique to the client | abc123 |
| `product` | *Optional[str]* | :heavy_minus_sign: | The name of the client product | Plex for Roku |
@@ -20,4 +20,4 @@
| `title` | *Optional[str]* | :heavy_minus_sign: | The title to filter by or assign | |
| `smart` | *Optional[bool]* | :heavy_minus_sign: | Whether this is a smart collection/playlist | |
| `uri` | *Optional[str]* | :heavy_minus_sign: | The URI for processing the smart collection. Required for a smart collection | |
| `type` | *Optional[int]* | :heavy_minus_sign: | The metadata type to filter by | |
| `type` | [Optional[components.MediaType]](../../models/components/mediatype.md) | :heavy_minus_sign: | The type of media to retrieve or filter by.<br/><br/>1 = movie<br/>2 = show<br/>3 = season<br/>4 = episode<br/>5 = artist<br/>6 = album<br/>7 = track<br/>8 = photo_album<br/>9 = photo<br/><br/>E.g. A movie library will not return anything with type 3 as there are no seasons for movie libraries<br/> | 2 |

View File

@@ -0,0 +1,20 @@
# CreateDownloadQueueStatus
The state of this queue
- deciding: At least one item is still being decided
- waiting: At least one item is waiting for transcode and none are currently transcoding
- processing: At least one item is being transcoded
- done: All items are available (or potentially expired)
- error: At least one item has encountered an error
## Values
| Name | Value |
| ------------ | ------------ |
| `DECIDING` | deciding |
| `WAITING` | waiting |
| `PROCESSING` | processing |
| `DONE` | done |
| `ERROR` | error |

View File

@@ -7,4 +7,4 @@
| ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `id` | *Optional[int]* | :heavy_minus_sign: | N/A |
| `item_count` | *Optional[int]* | :heavy_minus_sign: | N/A |
| `status` | [Optional[operations.Status]](../../models/operations/status.md) | :heavy_minus_sign: | The state of this queue<br/> - deciding: At least one item is still being decided<br/> - waiting: At least one item is waiting for transcode and none are currently transcoding<br/> - processing: At least one item is being transcoded<br/> - done: All items are available (or potentially expired)<br/> - error: At least one item has encountered an error<br/> |
| `status` | [Optional[operations.CreateDownloadQueueStatus]](../../models/operations/createdownloadqueuestatus.md) | :heavy_minus_sign: | The state of this queue<br/> - deciding: At least one item is still being decided<br/> - waiting: At least one item is waiting for transcode and none are currently transcoding<br/> - processing: At least one item is being transcoded<br/> - done: All items are available (or potentially expired)<br/> - error: At least one item has encountered an error<br/> |

View File

@@ -4,7 +4,7 @@
## Fields
| Field | Type | Required | Description | Example |
| ------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------- |
| ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `accepts` | [Optional[components.Accepts]](../../models/components/accepts.md) | :heavy_minus_sign: | Indicates the client accepts the indicated media types | |
| `client_identifier` | *Optional[str]* | :heavy_minus_sign: | An opaque identifier unique to the client | abc123 |
| `product` | *Optional[str]* | :heavy_minus_sign: | The name of the client product | Plex for Roku |
@@ -17,4 +17,4 @@
| `device_name` | *Optional[str]* | :heavy_minus_sign: | A friendly name for the client | Living Room TV |
| `marketplace` | *Optional[str]* | :heavy_minus_sign: | The marketplace on which the client application is distributed | googlePlay |
| `section_id` | *int* | :heavy_check_mark: | Section identifier | |
| `media_query` | [Optional[components.MediaQuery]](../../models/components/mediaquery.md) | :heavy_minus_sign: | This is a complex query built of several parameters. See [API Info section](#section/API-Info/Media-Queries) for information on building media queries | |
| `media_query` | [Optional[components.MediaQuery]](../../models/components/mediaquery.md) | :heavy_minus_sign: | A querystring-based filtering language used to select subsets of media. Can be provided as an object with typed properties for type safety, or as a string for complex queries with operators and boolean logic.<br/><br/>The query supports:<br/>- Fields: integer, boolean, tag, string, date, language<br/>- Operators: =, !=, ==, !==, <=, >=, >>=, <<= (varies by field type)<br/>- Boolean operators: & (AND), , (OR), push/pop (parentheses), or=1 (explicit OR)<br/>- Sorting: sort parameter with :desc, :nullsLast modifiers<br/>- Grouping: group parameter<br/>- Limits: limit parameter<br/><br/>Examples:<br/>- Object format: `{type: 4, sourceType: 2, title: "24"}``type=4&sourceType=2&title=24`<br/>- String format: `type=4&sourceType=2&title==24` - type = 4 AND sourceType = 2 AND title = "24"<br/>- Complex: `push=1&index=1&or=1&rating=2&pop=1&duration=10` - (index = 1 OR rating = 2) AND duration = 10<br/><br/>See [API Info section](#section/API-Info/Media-Queries) for detailed information on building media queries.<br/> | {<br/>"type": 4,<br/>"sourceType": 2,<br/>"sort": "duration:desc,index"<br/>} |

View File

@@ -4,7 +4,7 @@
## Fields
| Field | Type | Required | Description | Example |
| ------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------- |
| ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `accepts` | [Optional[components.Accepts]](../../models/components/accepts.md) | :heavy_minus_sign: | Indicates the client accepts the indicated media types | |
| `client_identifier` | *Optional[str]* | :heavy_minus_sign: | An opaque identifier unique to the client | abc123 |
| `product` | *Optional[str]* | :heavy_minus_sign: | The name of the client product | Plex for Roku |
@@ -18,4 +18,4 @@
| `marketplace` | *Optional[str]* | :heavy_minus_sign: | The marketplace on which the client application is distributed | googlePlay |
| `section_id` | *int* | :heavy_check_mark: | Section identifier | |
| `type` | *Optional[int]* | :heavy_minus_sign: | Item type | |
| `media_query` | [Optional[components.MediaQuery]](../../models/components/mediaquery.md) | :heavy_minus_sign: | This is a complex query built of several parameters. See [API Info section](#section/API-Info/Media-Queries) for information on building media queries | |
| `media_query` | [Optional[components.MediaQuery]](../../models/components/mediaquery.md) | :heavy_minus_sign: | A querystring-based filtering language used to select subsets of media. Can be provided as an object with typed properties for type safety, or as a string for complex queries with operators and boolean logic.<br/><br/>The query supports:<br/>- Fields: integer, boolean, tag, string, date, language<br/>- Operators: =, !=, ==, !==, <=, >=, >>=, <<= (varies by field type)<br/>- Boolean operators: & (AND), , (OR), push/pop (parentheses), or=1 (explicit OR)<br/>- Sorting: sort parameter with :desc, :nullsLast modifiers<br/>- Grouping: group parameter<br/>- Limits: limit parameter<br/><br/>Examples:<br/>- Object format: `{type: 4, sourceType: 2, title: "24"}``type=4&sourceType=2&title=24`<br/>- String format: `type=4&sourceType=2&title==24` - type = 4 AND sourceType = 2 AND title = "24"<br/>- Complex: `push=1&index=1&or=1&rating=2&pop=1&duration=10` - (index = 1 OR rating = 2) AND duration = 10<br/><br/>See [API Info section](#section/API-Info/Media-Queries) for detailed information on building media queries.<br/> | {<br/>"type": 4,<br/>"sourceType": 2,<br/>"sort": "duration:desc,index"<br/>} |

View File

@@ -4,7 +4,7 @@
## Fields
| Field | Type | Required | Description | Example |
| ------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------- |
| ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `accepts` | [Optional[components.Accepts]](../../models/components/accepts.md) | :heavy_minus_sign: | Indicates the client accepts the indicated media types | |
| `client_identifier` | *Optional[str]* | :heavy_minus_sign: | An opaque identifier unique to the client | abc123 |
| `product` | *Optional[str]* | :heavy_minus_sign: | The name of the client product | Plex for Roku |
@@ -19,4 +19,4 @@
| `section_id` | *int* | :heavy_check_mark: | Section identifier | |
| `type` | *Optional[int]* | :heavy_minus_sign: | The metadata type to filter on | |
| `sort` | *Optional[int]* | :heavy_minus_sign: | The metadata type to filter on | |
| `media_query` | [Optional[components.MediaQuery]](../../models/components/mediaquery.md) | :heavy_minus_sign: | This is a complex query built of several parameters. See [API Info section](#section/API-Info/Media-Queries) for information on building media queries | |
| `media_query` | [Optional[components.MediaQuery]](../../models/components/mediaquery.md) | :heavy_minus_sign: | A querystring-based filtering language used to select subsets of media. Can be provided as an object with typed properties for type safety, or as a string for complex queries with operators and boolean logic.<br/><br/>The query supports:<br/>- Fields: integer, boolean, tag, string, date, language<br/>- Operators: =, !=, ==, !==, <=, >=, >>=, <<= (varies by field type)<br/>- Boolean operators: & (AND), , (OR), push/pop (parentheses), or=1 (explicit OR)<br/>- Sorting: sort parameter with :desc, :nullsLast modifiers<br/>- Grouping: group parameter<br/>- Limits: limit parameter<br/><br/>Examples:<br/>- Object format: `{type: 4, sourceType: 2, title: "24"}``type=4&sourceType=2&title=24`<br/>- String format: `type=4&sourceType=2&title==24` - type = 4 AND sourceType = 2 AND title = "24"<br/>- Complex: `push=1&index=1&or=1&rating=2&pop=1&duration=10` - (index = 1 OR rating = 2) AND duration = 10<br/><br/>See [API Info section](#section/API-Info/Media-Queries) for detailed information on building media queries.<br/> | {<br/>"type": 4,<br/>"sourceType": 2,<br/>"sort": "duration:desc,index"<br/>} |

View File

@@ -4,7 +4,7 @@
## Fields
| Field | Type | Required | Description | Example |
| ------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------- |
| ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `accepts` | [Optional[components.Accepts]](../../models/components/accepts.md) | :heavy_minus_sign: | Indicates the client accepts the indicated media types | |
| `client_identifier` | *Optional[str]* | :heavy_minus_sign: | An opaque identifier unique to the client | abc123 |
| `product` | *Optional[str]* | :heavy_minus_sign: | The name of the client product | Plex for Roku |
@@ -16,4 +16,4 @@
| `device_vendor` | *Optional[str]* | :heavy_minus_sign: | The device vendor | Roku |
| `device_name` | *Optional[str]* | :heavy_minus_sign: | A friendly name for the client | Living Room TV |
| `marketplace` | *Optional[str]* | :heavy_minus_sign: | The marketplace on which the client application is distributed | googlePlay |
| `media_query` | [Optional[components.MediaQuery]](../../models/components/mediaquery.md) | :heavy_minus_sign: | This is a complex query built of several parameters. See [API Info section](#section/API-Info/Media-Queries) for information on building media queries | |
| `media_query` | [Optional[components.MediaQuery]](../../models/components/mediaquery.md) | :heavy_minus_sign: | A querystring-based filtering language used to select subsets of media. Can be provided as an object with typed properties for type safety, or as a string for complex queries with operators and boolean logic.<br/><br/>The query supports:<br/>- Fields: integer, boolean, tag, string, date, language<br/>- Operators: =, !=, ==, !==, <=, >=, >>=, <<= (varies by field type)<br/>- Boolean operators: & (AND), , (OR), push/pop (parentheses), or=1 (explicit OR)<br/>- Sorting: sort parameter with :desc, :nullsLast modifiers<br/>- Grouping: group parameter<br/>- Limits: limit parameter<br/><br/>Examples:<br/>- Object format: `{type: 4, sourceType: 2, title: "24"}``type=4&sourceType=2&title=24`<br/>- String format: `type=4&sourceType=2&title==24` - type = 4 AND sourceType = 2 AND title = "24"<br/>- Complex: `push=1&index=1&or=1&rating=2&pop=1&duration=10` - (index = 1 OR rating = 2) AND duration = 10<br/><br/>See [API Info section](#section/API-Info/Media-Queries) for detailed information on building media queries.<br/> | {<br/>"type": 4,<br/>"sourceType": 2,<br/>"sort": "duration:desc,index"<br/>} |

View File

@@ -4,7 +4,7 @@
## Fields
| Field | Type | Required | Description | Example |
| ----------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------- |
| ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `accepts` | [Optional[components.Accepts]](../../models/components/accepts.md) | :heavy_minus_sign: | Indicates the client accepts the indicated media types | |
| `client_identifier` | *Optional[str]* | :heavy_minus_sign: | An opaque identifier unique to the client | abc123 |
| `product` | *Optional[str]* | :heavy_minus_sign: | The name of the client product | Plex for Roku |
@@ -16,7 +16,7 @@
| `device_vendor` | *Optional[str]* | :heavy_minus_sign: | The device vendor | Roku |
| `device_name` | *Optional[str]* | :heavy_minus_sign: | A friendly name for the client | Living Room TV |
| `marketplace` | *Optional[str]* | :heavy_minus_sign: | The marketplace on which the client application is distributed | googlePlay |
| `type` | *Optional[int]* | :heavy_minus_sign: | The metadata type to filter by | |
| `type` | [Optional[components.MediaType]](../../models/components/mediatype.md) | :heavy_minus_sign: | The type of media to retrieve or filter by.<br/><br/>1 = movie<br/>2 = show<br/>3 = season<br/>4 = episode<br/>5 = artist<br/>6 = album<br/>7 = track<br/>8 = photo_album<br/>9 = photo<br/><br/>E.g. A movie library will not return anything with type 3 as there are no seasons for movie libraries<br/> | 2 |
| `include_full_metadata` | [Optional[components.BoolInt]](../../models/components/boolint.md) | :heavy_minus_sign: | N/A | 1 |
| `include_ancestor_metadata` | [Optional[components.BoolInt]](../../models/components/boolint.md) | :heavy_minus_sign: | N/A | 1 |
| `include_alternate_metadata_sources` | [Optional[components.BoolInt]](../../models/components/boolint.md) | :heavy_minus_sign: | N/A | 1 |

View File

@@ -0,0 +1,8 @@
# GetPlaylistGeneratorItemsGuids
## Fields
| Field | Type | Required | Description | Example |
| -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `id` | *str* | :heavy_check_mark: | The unique identifier for the Guid. Can be prefixed with imdb://, tmdb://, tvdb://<br/> | {<br/>"imdbExample": {<br/>"summary": "IMDB example",<br/>"value": "imdb://tt13015952"<br/>},<br/>"tmdbExample": {<br/>"summary": "TMDB example",<br/>"value": "tmdb://2434012"<br/>},<br/>"tvdbExample": {<br/>"summary": "TVDB example",<br/>"value": "tvdb://7945991"<br/>}<br/>} |

View File

@@ -10,75 +10,79 @@ Metadata items can often live in a hierarchy with relationships between them. F
## Fields
| Field | Type | Required | Description |
| ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `title` | *Optional[Any]* | :heavy_minus_sign: | The title of the item (e.g. “300” or “The Simpsons”) |
| `type` | *Optional[Any]* | :heavy_minus_sign: | The type of the video item, such as `movie`, `episode`, or `clip`. |
| `absolute_index` | *Optional[int]* | :heavy_minus_sign: | When present, contains the disc number for a track on multi-disc albums. |
| `added_at` | *Optional[int]* | :heavy_minus_sign: | In units of seconds since the epoch, returns the time at which the item was added to the library. |
| `art` | *Optional[Any]* | :heavy_minus_sign: | When present, the URL for the background artwork for the item. |
| `audience_rating` | *Optional[float]* | :heavy_minus_sign: | Some rating systems separate reviewer ratings from audience ratings |
| `audience_rating_image` | *Optional[Any]* | :heavy_minus_sign: | A URI representing the image to be shown with the audience rating (e.g. rottentomatoes://image.rating.spilled). |
| `autotag` | List[[components.Tag](../../models/components/tag.md)] | :heavy_minus_sign: | N/A |
| `banner` | *Optional[Any]* | :heavy_minus_sign: | When present, the URL for a banner graphic for the item. |
| `chapter_source` | *Optional[Any]* | :heavy_minus_sign: | When present, indicates the source for the chapters in the media file. Can be media (the chapters were embedded in the media itself), agent (a metadata agent computed them), or mixed (a combination of the two). |
| `composite` | *Optional[Any]* | :heavy_minus_sign: | When present, the URL for a composite image for descendent items (e.g. photo albums or playlists). |
| `content_rating` | *Optional[Any]* | :heavy_minus_sign: | If known, the content rating (e.g. MPAA) for an item. |
| `country` | List[[components.Tag](../../models/components/tag.md)] | :heavy_minus_sign: | N/A |
| `director` | List[[components.Tag](../../models/components/tag.md)] | :heavy_minus_sign: | N/A |
| `duration` | *Optional[int]* | :heavy_minus_sign: | When present, the duration for the item, in units of milliseconds. |
| `filter_` | List[[components.Filter](../../models/components/filter_.md)] | :heavy_minus_sign: | Typically only seen in metadata at a library's top level |
| `genre` | List[[components.Tag](../../models/components/tag.md)] | :heavy_minus_sign: | N/A |
| `grandparent_art` | *Optional[str]* | :heavy_minus_sign: | The `art` of the grandparent |
| `grandparent_hero` | *Optional[str]* | :heavy_minus_sign: | The `hero` of the grandparent |
| `grandparent_key` | *Optional[str]* | :heavy_minus_sign: | The `key` of the grandparent |
| `grandparent_rating_key` | *Optional[str]* | :heavy_minus_sign: | The `ratingKey` of the grandparent |
| `grandparent_theme` | *Optional[str]* | :heavy_minus_sign: | The `theme` of the grandparent |
| `grandparent_thumb` | *Optional[str]* | :heavy_minus_sign: | The `thumb` of the grandparent |
| `grandparent_title` | *Optional[str]* | :heavy_minus_sign: | The `title` of the grandparent |
| `guid` | List[[components.Tag](../../models/components/tag.md)] | :heavy_minus_sign: | N/A |
| `hero` | *Optional[Any]* | :heavy_minus_sign: | When present, the URL for a hero image for the item. |
| `image` | List[[components.Image](../../models/components/image.md)] | :heavy_minus_sign: | N/A |
| `index` | *Optional[int]* | :heavy_minus_sign: | When present, this represents the episode number for episodes, season number for seasons, or track number for audio tracks. |
| `key` | *Optional[Any]* | :heavy_minus_sign: | The key at which the item's details can be fetched. In many cases a metadata item may be passed without all the details (such as in a hub) and this key corresponds to the endpoint to fetch additional details. |
| `last_viewed_at` | *Optional[int]* | :heavy_minus_sign: | When a user has watched or listened to an item, this contains a timestamp (epoch seconds) for that last consumption time. |
| `leaf_count` | *Optional[int]* | :heavy_minus_sign: | For shows and seasons, contains the number of total episodes. |
| `media` | List[[components.Media](../../models/components/media.md)] | :heavy_minus_sign: | N/A |
| `originally_available_at` | *Optional[Any]* | :heavy_minus_sign: | When present, in the format YYYY-MM-DD [HH:MM:SS] (the hours/minutes/seconds part is not always present). The air date, or a higher resolution release date for an item, depending on type. For example, episodes usually have air date like 1979-08-10 (we don't use epoch seconds because media existed prior to 1970). In some cases, recorded over-the-air content has higher resolution air date which includes a time component. Albums and movies may have day-resolution release dates as well. |
| `original_title` | *Optional[Any]* | :heavy_minus_sign: | When present, used to indicate an item's original title, e.g. a movie's foreign title. |
| `parent_hero` | *Optional[str]* | :heavy_minus_sign: | The `hero` of the parent |
| `parent_index` | *Optional[int]* | :heavy_minus_sign: | The `index` of the parent |
| `parent_key` | *Optional[str]* | :heavy_minus_sign: | The `key` of the parent |
| `parent_rating_key` | *Optional[str]* | :heavy_minus_sign: | The `ratingKey` of the parent |
| `parent_thumb` | *Optional[str]* | :heavy_minus_sign: | The `thumb` of the parent |
| `parent_title` | *Optional[str]* | :heavy_minus_sign: | The `title` of the parent |
| `primary_extra_key` | *Optional[Any]* | :heavy_minus_sign: | Indicates that the item has a primary extra; for a movie, this is a trailer, and for a music track it is a music video. The URL points to the metadata details endpoint for the item. |
| `prompt` | *Optional[str]* | :heavy_minus_sign: | Prompt to give the user for this directory (such as `Search Movies`) |
| `rating` | *Optional[float]* | :heavy_minus_sign: | When present, the rating for the item. The exact meaning and representation depends on where the rating was sourced from. |
| `rating_array` | List[[components.Tag](../../models/components/tag.md)] | :heavy_minus_sign: | N/A |
| `rating_count` | *Optional[int]* | :heavy_minus_sign: | Number of ratings under this metadata |
| `rating_image` | *Optional[Any]* | :heavy_minus_sign: | When present, indicates an image to be shown with the rating. This is passed back as a small set of defined URI values, e.g. rottentomatoes://image.rating.rotten. |
| `rating_key` | *Optional[Any]* | :heavy_minus_sign: | This is the opaque string to be passed into timeline, scrobble, and rating endpoints to identify them. While it often appears to be numeric, this is not guaranteed. |
| `role` | List[[components.Tag](../../models/components/tag.md)] | :heavy_minus_sign: | N/A |
| `search` | *Optional[bool]* | :heavy_minus_sign: | Indicates this is a search directory |
| `secondary` | *Optional[bool]* | :heavy_minus_sign: | Used by old clients to provide nested menus allowing for primative (but structured) navigation. |
| `skip_children` | *Optional[bool]* | :heavy_minus_sign: | When found on a show item, indicates that the children (seasons) should be skipped in favor of the grandchildren (episodes). Useful for mini-series, etc. |
| `skip_parent` | *Optional[bool]* | :heavy_minus_sign: | When present on an episode or track item, indicates parent should be skipped in favor of grandparent (show). |
| `sort` | List[[components.Sort](../../models/components/sort.md)] | :heavy_minus_sign: | Typically only seen in metadata at a library's top level |
| `studio` | *Optional[Any]* | :heavy_minus_sign: | When present, the studio or label which produced an item (e.g. movie studio for movies, record label for albums). |
| `subtype` | *Optional[Any]* | :heavy_minus_sign: | The subtype of the video item, such as `photo` when the video item is in a photo library |
| `summary` | *Optional[Any]* | :heavy_minus_sign: | When present, the extended textual information about the item (e.g. movie plot, artist biography, album review). |
| `tagline` | *Optional[Any]* | :heavy_minus_sign: | When present, a pithy one-liner about the item (usually only seen for movies). |
| `theme` | *Optional[Any]* | :heavy_minus_sign: | When present, the URL for theme music for the item (usually only for TV shows). |
| `thumb` | *Optional[Any]* | :heavy_minus_sign: | When present, the URL for the poster or thumbnail for the item. When available for types like movie, it will be the poster graphic, but fall-back to the extracted media thumbnail. |
| `title_sort` | *Optional[Any]* | :heavy_minus_sign: | Whene present, this is the string used for sorting the item. It's usually the title with any leading articles removed (e.g. “Simpsons”). |
| `updated_at` | *Optional[int]* | :heavy_minus_sign: | In units of seconds since the epoch, returns the time at which the item was last changed (e.g. had its metadata updated). |
| `user_rating` | *Optional[float]* | :heavy_minus_sign: | When the user has rated an item, this contains the user rating |
| `view_count` | *Optional[int]* | :heavy_minus_sign: | When a users has completed watched or listened to an item, this attribute contains the number of consumptions. |
| `viewed_leaf_count` | *Optional[int]* | :heavy_minus_sign: | For shows and seasons, contains the number of viewed episodes. |
| `view_offset` | *Optional[int]* | :heavy_minus_sign: | When a user is in the process of viewing or listening to this item, this attribute contains the current offset, in units of milliseconds. |
| `writer` | List[[components.Tag](../../models/components/tag.md)] | :heavy_minus_sign: | N/A |
| `year` | *Optional[int]* | :heavy_minus_sign: | When present, the year associated with the item's release (e.g. release year for a movie). |
| `processing_state` | [Optional[operations.ProcessingState]](../../models/operations/processingstate.md) | :heavy_minus_sign: | The state of processing if this generator is part of an optimizer playlist |
| `processing_state_context` | [Optional[operations.ProcessingStateContext]](../../models/operations/processingstatecontext.md) | :heavy_minus_sign: | The error which could have occurred (or `good`) |
| `__pydantic_extra__` | Dict[str, *Any*] | :heavy_minus_sign: | N/A |
| Field | Type | Required | Description | Example |
| ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `title` | *str* | :heavy_check_mark: | The title of the item (e.g. “300” or “The Simpsons”) | |
| `type` | *str* | :heavy_check_mark: | The type of the video item, such as `movie`, `episode`, or `clip`. | |
| `absolute_index` | *Optional[int]* | :heavy_minus_sign: | When present, contains the disc number for a track on multi-disc albums. | |
| `added_at` | *int* | :heavy_check_mark: | In units of seconds since the epoch, returns the time at which the item was added to the library. | |
| `art` | *Optional[str]* | :heavy_minus_sign: | When present, the URL for the background artwork for the item. | /library/metadata/58683/art/1703239236 |
| `audience_rating` | *Optional[float]* | :heavy_minus_sign: | Some rating systems separate reviewer ratings from audience ratings | |
| `audience_rating_image` | *Optional[str]* | :heavy_minus_sign: | A URI representing the image to be shown with the audience rating (e.g. rottentomatoes://image.rating.spilled). | |
| `autotag` | List[[components.Tag](../../models/components/tag.md)] | :heavy_minus_sign: | N/A | |
| `banner` | *Optional[str]* | :heavy_minus_sign: | When present, the URL for a banner graphic for the item. | |
| `chapter_source` | *Optional[str]* | :heavy_minus_sign: | When present, indicates the source for the chapters in the media file. Can be media (the chapters were embedded in the media itself), agent (a metadata agent computed them), or mixed (a combination of the two). | media |
| `child_count` | *Optional[int]* | :heavy_minus_sign: | The number of child items associated with this media item. | 1 |
| `composite` | *Optional[str]* | :heavy_minus_sign: | When present, the URL for a composite image for descendent items (e.g. photo albums or playlists). | |
| `content_rating` | *Optional[str]* | :heavy_minus_sign: | If known, the content rating (e.g. MPAA) for an item. | |
| `country` | List[[components.Tag](../../models/components/tag.md)] | :heavy_minus_sign: | N/A | |
| `director` | List[[components.Tag](../../models/components/tag.md)] | :heavy_minus_sign: | N/A | |
| `duration` | *Optional[int]* | :heavy_minus_sign: | When present, the duration for the item, in units of milliseconds. | |
| `filter_` | List[[components.Filter](../../models/components/filter_.md)] | :heavy_minus_sign: | Typically only seen in metadata at a library's top level | |
| `genre` | List[[components.Tag](../../models/components/tag.md)] | :heavy_minus_sign: | N/A | |
| `grandparent_art` | *Optional[str]* | :heavy_minus_sign: | The `art` of the grandparent | |
| `grandparent_guid` | *Optional[str]* | :heavy_minus_sign: | The GUID of the grandparent media item. | plex://show/5d9c081b170e24001f2a7be4 |
| `grandparent_hero` | *Optional[str]* | :heavy_minus_sign: | The `hero` of the grandparent | |
| `grandparent_key` | *Optional[str]* | :heavy_minus_sign: | The `key` of the grandparent | |
| `grandparent_rating_key` | *Optional[str]* | :heavy_minus_sign: | The `ratingKey` of the grandparent | |
| `grandparent_theme` | *Optional[str]* | :heavy_minus_sign: | The `theme` of the grandparent | |
| `grandparent_thumb` | *Optional[str]* | :heavy_minus_sign: | The `thumb` of the grandparent | |
| `grandparent_title` | *Optional[str]* | :heavy_minus_sign: | The `title` of the grandparent | |
| `guid` | *Optional[str]* | :heavy_minus_sign: | The globally unique identifier for the media item. | plex://movie/5d7768ba96b655001fdc0408 |
| `guids` | List[[operations.GetPlaylistGeneratorItemsGuids](../../models/operations/getplaylistgeneratoritemsguids.md)] | :heavy_minus_sign: | N/A | |
| `hero` | *Optional[str]* | :heavy_minus_sign: | When present, the URL for a hero image for the item. | |
| `image` | List[[components.Image](../../models/components/image.md)] | :heavy_minus_sign: | N/A | |
| `index` | *Optional[int]* | :heavy_minus_sign: | When present, this represents the episode number for episodes, season number for seasons, or track number for audio tracks. | |
| `key` | *str* | :heavy_check_mark: | The key at which the item's details can be fetched. In many cases a metadata item may be passed without all the details (such as in a hub) and this key corresponds to the endpoint to fetch additional details. | |
| `last_viewed_at` | *Optional[int]* | :heavy_minus_sign: | N/A | 1556281940 |
| `leaf_count` | *Optional[int]* | :heavy_minus_sign: | For shows and seasons, contains the number of total episodes. | |
| `media` | List[[components.Media](../../models/components/media.md)] | :heavy_minus_sign: | N/A | |
| `originally_available_at` | [datetime](https://docs.python.org/3/library/datetime.html#datetime-objects) | :heavy_minus_sign: | When present, in the format YYYY-MM-DD [HH:MM:SS] (the hours/minutes/seconds part is not always present). The air date, or a higher resolution release date for an item, depending on type. For example, episodes usually have air date like 1979-08-10 (we don't use epoch seconds because media existed prior to 1970). In some cases, recorded over-the-air content has higher resolution air date which includes a time component. Albums and movies may have day-resolution release dates as well. | 2022-12-14 |
| `original_title` | *Optional[str]* | :heavy_minus_sign: | When present, used to indicate an item's original title, e.g. a movie's foreign title. | |
| `parent_guid` | *Optional[str]* | :heavy_minus_sign: | The GUID of the parent media item. | plex://show/5d9c081b170e24001f2a7be4 |
| `parent_hero` | *Optional[str]* | :heavy_minus_sign: | The `hero` of the parent | |
| `parent_index` | *Optional[int]* | :heavy_minus_sign: | The `index` of the parent | |
| `parent_key` | *Optional[str]* | :heavy_minus_sign: | The `key` of the parent | |
| `parent_rating_key` | *Optional[str]* | :heavy_minus_sign: | The `ratingKey` of the parent | |
| `parent_thumb` | *Optional[str]* | :heavy_minus_sign: | The `thumb` of the parent | |
| `parent_title` | *Optional[str]* | :heavy_minus_sign: | The `title` of the parent | |
| `primary_extra_key` | *Optional[str]* | :heavy_minus_sign: | Indicates that the item has a primary extra; for a movie, this is a trailer, and for a music track it is a music video. The URL points to the metadata details endpoint for the item. | |
| `prompt` | *Optional[str]* | :heavy_minus_sign: | Prompt to give the user for this directory (such as `Search Movies`) | |
| `rating` | *Optional[float]* | :heavy_minus_sign: | When present, the rating for the item. The exact meaning and representation depends on where the rating was sourced from. | |
| `rating_array` | List[[components.Tag](../../models/components/tag.md)] | :heavy_minus_sign: | N/A | |
| `rating_count` | *Optional[int]* | :heavy_minus_sign: | Number of ratings under this metadata | |
| `rating_image` | *Optional[str]* | :heavy_minus_sign: | When present, indicates an image to be shown with the rating. This is passed back as a small set of defined URI values, e.g. rottentomatoes://image.rating.rotten. | |
| `rating_key` | *Optional[str]* | :heavy_minus_sign: | This is the opaque string to be passed into timeline, scrobble, and rating endpoints to identify them. While it often appears to be numeric, this is not guaranteed. | |
| `role` | List[[components.Tag](../../models/components/tag.md)] | :heavy_minus_sign: | N/A | |
| `search` | *Optional[bool]* | :heavy_minus_sign: | Indicates this is a search directory | |
| `secondary` | *Optional[bool]* | :heavy_minus_sign: | Used by old clients to provide nested menus allowing for primative (but structured) navigation. | |
| `skip_children` | *Optional[bool]* | :heavy_minus_sign: | When found on a show item, indicates that the children (seasons) should be skipped in favor of the grandchildren (episodes). Useful for mini-series, etc. | |
| `skip_parent` | *Optional[bool]* | :heavy_minus_sign: | When present on an episode or track item, indicates parent should be skipped in favor of grandparent (show). | |
| `sort` | List[[components.Sort](../../models/components/sort.md)] | :heavy_minus_sign: | Typically only seen in metadata at a library's top level | |
| `studio` | *Optional[str]* | :heavy_minus_sign: | When present, the studio or label which produced an item (e.g. movie studio for movies, record label for albums). | |
| `subtype` | *Optional[str]* | :heavy_minus_sign: | The subtype of the video item, such as `photo` when the video item is in a photo library | |
| `summary` | *Optional[str]* | :heavy_minus_sign: | When present, the extended textual information about the item (e.g. movie plot, artist biography, album review). | |
| `tagline` | *Optional[str]* | :heavy_minus_sign: | When present, a pithy one-liner about the item (usually only seen for movies). | |
| `theme` | *Optional[str]* | :heavy_minus_sign: | When present, the URL for theme music for the item (usually only for TV shows). | /library/metadata/1/theme/1705636920 |
| `thumb` | *Optional[str]* | :heavy_minus_sign: | When present, the URL for the poster or thumbnail for the item. When available for types like movie, it will be the poster graphic, but fall-back to the extracted media thumbnail. | /library/metadata/58683/thumb/1703239236 |
| `title_sort` | *Optional[str]* | :heavy_minus_sign: | Whene present, this is the string used for sorting the item. It's usually the title with any leading articles removed (e.g. “Simpsons”). | |
| `updated_at` | *Optional[int]* | :heavy_minus_sign: | In units of seconds since the epoch, returns the time at which the item was last changed (e.g. had its metadata updated). | |
| `user_rating` | *Optional[float]* | :heavy_minus_sign: | When the user has rated an item, this contains the user rating | |
| `view_count` | *Optional[int]* | :heavy_minus_sign: | When a users has completed watched or listened to an item, this attribute contains the number of consumptions. | |
| `viewed_leaf_count` | *Optional[int]* | :heavy_minus_sign: | For shows and seasons, contains the number of viewed episodes. | |
| `view_offset` | *Optional[int]* | :heavy_minus_sign: | When a user is in the process of viewing or listening to this item, this attribute contains the current offset, in units of milliseconds. | |
| `writer` | List[[components.Tag](../../models/components/tag.md)] | :heavy_minus_sign: | N/A | |
| `year` | *Optional[int]* | :heavy_minus_sign: | When present, the year associated with the item's release (e.g. release year for a movie). | |
| `processing_state` | [Optional[operations.ProcessingState]](../../models/operations/processingstate.md) | :heavy_minus_sign: | The state of processing if this generator is part of an optimizer playlist | |
| `processing_state_context` | [Optional[operations.ProcessingStateContext]](../../models/operations/processingstatecontext.md) | :heavy_minus_sign: | The error which could have occurred (or `good`) | |
| `__pydantic_extra__` | Dict[str, *Any*] | :heavy_minus_sign: | N/A | |

View File

@@ -4,7 +4,7 @@
## Fields
| Field | Type | Required | Description | Example |
| ------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------- |
| ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `accepts` | [Optional[components.Accepts]](../../models/components/accepts.md) | :heavy_minus_sign: | Indicates the client accepts the indicated media types | |
| `client_identifier` | *Optional[str]* | :heavy_minus_sign: | An opaque identifier unique to the client | abc123 |
| `product` | *Optional[str]* | :heavy_minus_sign: | The name of the client product | Plex for Roku |
@@ -18,5 +18,5 @@
| `marketplace` | *Optional[str]* | :heavy_minus_sign: | The marketplace on which the client application is distributed | googlePlay |
| `section_id` | *int* | :heavy_check_mark: | Section identifier | |
| `updated_at` | *int* | :heavy_check_mark: | The update time of the image. Used for busting cache. | |
| `media_query` | [Optional[components.MediaQuery]](../../models/components/mediaquery.md) | :heavy_minus_sign: | This is a complex query built of several parameters. See [API Info section](#section/API-Info/Media-Queries) for information on building media queries | |
| `media_query` | [Optional[components.MediaQuery]](../../models/components/mediaquery.md) | :heavy_minus_sign: | A querystring-based filtering language used to select subsets of media. Can be provided as an object with typed properties for type safety, or as a string for complex queries with operators and boolean logic.<br/><br/>The query supports:<br/>- Fields: integer, boolean, tag, string, date, language<br/>- Operators: =, !=, ==, !==, <=, >=, >>=, <<= (varies by field type)<br/>- Boolean operators: & (AND), , (OR), push/pop (parentheses), or=1 (explicit OR)<br/>- Sorting: sort parameter with :desc, :nullsLast modifiers<br/>- Grouping: group parameter<br/>- Limits: limit parameter<br/><br/>Examples:<br/>- Object format: `{type: 4, sourceType: 2, title: "24"}``type=4&sourceType=2&title=24`<br/>- String format: `type=4&sourceType=2&title==24` - type = 4 AND sourceType = 2 AND title = "24"<br/>- Complex: `push=1&index=1&or=1&rating=2&pop=1&duration=10` - (index = 1 OR rating = 2) AND duration = 10<br/><br/>See [API Info section](#section/API-Info/Media-Queries) for detailed information on building media queries.<br/> | {<br/>"type": 4,<br/>"sourceType": 2,<br/>"sort": "duration:desc,index"<br/>} |
| `composite` | [Optional[components.Composite]](../../models/components/composite.md) | :heavy_minus_sign: | N/A | |

View File

@@ -0,0 +1,9 @@
# GetServerResourcesGlobals
## Fields
| Field | Type | Required | Description | Example |
| ------------------------------------------------------------------ | ------------------------------------------------------------------ | ------------------------------------------------------------------ | ------------------------------------------------------------------ | ------------------------------------------------------------------ |
| `accepts` | [Optional[components.Accepts]](../../models/components/accepts.md) | :heavy_minus_sign: | Indicates the client accepts the indicated media types | |
| `client_identifier` | *Optional[str]* | :heavy_minus_sign: | An opaque identifier unique to the client | abc123 |

View File

@@ -0,0 +1,12 @@
# GetServerResourcesRequest
## Fields
| Field | Type | Required | Description | Example |
| ------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------ |
| `accepts` | [Optional[components.Accepts]](../../models/components/accepts.md) | :heavy_minus_sign: | Indicates the client accepts the indicated media types | |
| `client_identifier` | *Optional[str]* | :heavy_minus_sign: | An opaque identifier unique to the client | abc123 |
| `include_https` | [Optional[operations.IncludeHTTPS]](../../models/operations/includehttps.md) | :heavy_minus_sign: | Include Https entries in the results | 1 |
| `include_relay` | [Optional[operations.IncludeRelay]](../../models/operations/includerelay.md) | :heavy_minus_sign: | Include Relay addresses in the results <br/>E.g: https://10-0-0-25.bbf8e10c7fa20447cacee74cd9914cde.plex.direct:32400<br/> | 1 |
| `include_i_pv6` | [Optional[operations.IncludeIPv6]](../../models/operations/includeipv6.md) | :heavy_minus_sign: | Include IPv6 entries in the results | 1 |

View File

@@ -0,0 +1,11 @@
# GetServerResourcesResponse
## Fields
| Field | Type | Required | Description |
| -------------------------------------------------------------------- | -------------------------------------------------------------------- | -------------------------------------------------------------------- | -------------------------------------------------------------------- |
| `content_type` | *str* | :heavy_check_mark: | HTTP response content type for this operation |
| `status_code` | *int* | :heavy_check_mark: | HTTP response status code for this operation |
| `raw_response` | [httpx.Response](https://www.python-httpx.org/api/#response) | :heavy_check_mark: | Raw HTTP response; suitable for custom response parsing |
| `plex_devices` | List[[components.PlexDevice](../../models/components/plexdevice.md)] | :heavy_minus_sign: | List of Plex Devices. This includes Plex hosted servers and clients |

View File

@@ -4,7 +4,7 @@
## Fields
| Field | Type | Required | Description | Example |
| ------------------------------------------------------------------ | ------------------------------------------------------------------ | ------------------------------------------------------------------ | ------------------------------------------------------------------ | ------------------------------------------------------------------ |
| ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `accepts` | [Optional[components.Accepts]](../../models/components/accepts.md) | :heavy_minus_sign: | Indicates the client accepts the indicated media types | |
| `client_identifier` | *Optional[str]* | :heavy_minus_sign: | An opaque identifier unique to the client | abc123 |
| `product` | *Optional[str]* | :heavy_minus_sign: | The name of the client product | Plex for Roku |
@@ -16,4 +16,4 @@
| `device_vendor` | *Optional[str]* | :heavy_minus_sign: | The device vendor | Roku |
| `device_name` | *Optional[str]* | :heavy_minus_sign: | A friendly name for the client | Living Room TV |
| `marketplace` | *Optional[str]* | :heavy_minus_sign: | The marketplace on which the client application is distributed | googlePlay |
| `type` | *Optional[int]* | :heavy_minus_sign: | The metadata type to filter by | |
| `type` | [Optional[components.MediaType]](../../models/components/mediatype.md) | :heavy_minus_sign: | The type of media to retrieve or filter by.<br/><br/>1 = movie<br/>2 = show<br/>3 = season<br/>4 = episode<br/>5 = artist<br/>6 = album<br/>7 = track<br/>8 = photo_album<br/>9 = photo<br/><br/>E.g. A movie library will not return anything with type 3 as there are no seasons for movie libraries<br/> | 2 |

View File

@@ -0,0 +1,13 @@
# GetTasksButlerTask
## Fields
| Field | Type | Required | Description |
| ------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------ |
| `description` | *Optional[str]* | :heavy_minus_sign: | A user-friendly description of the task |
| `enabled` | *Optional[bool]* | :heavy_minus_sign: | Whether this task is enabled or not |
| `interval` | *Optional[int]* | :heavy_minus_sign: | The interval (in days) of when this task is run. A value of 1 is run every day, 7 is every week, etc. |
| `name` | *Optional[str]* | :heavy_minus_sign: | The name of the task |
| `schedule_randomized` | *Optional[bool]* | :heavy_minus_sign: | Indicates whether the timing of the task is randomized within the butler interval |
| `title` | *Optional[str]* | :heavy_minus_sign: | A user-friendly title of the task |

View File

@@ -0,0 +1,18 @@
# GetTokenDetailsGlobals
## Fields
| Field | Type | Required | Description | Example |
| ------------------------------------------------------------------ | ------------------------------------------------------------------ | ------------------------------------------------------------------ | ------------------------------------------------------------------ | ------------------------------------------------------------------ |
| `accepts` | [Optional[components.Accepts]](../../models/components/accepts.md) | :heavy_minus_sign: | Indicates the client accepts the indicated media types | |
| `client_identifier` | *Optional[str]* | :heavy_minus_sign: | An opaque identifier unique to the client | abc123 |
| `product` | *Optional[str]* | :heavy_minus_sign: | The name of the client product | Plex for Roku |
| `version` | *Optional[str]* | :heavy_minus_sign: | The version of the client application | 2.4.1 |
| `platform` | *Optional[str]* | :heavy_minus_sign: | The platform of the client | Roku |
| `platform_version` | *Optional[str]* | :heavy_minus_sign: | The version of the platform | 4.3 build 1057 |
| `device` | *Optional[str]* | :heavy_minus_sign: | A relatively friendly name for the client device | Roku 3 |
| `model` | *Optional[str]* | :heavy_minus_sign: | A potentially less friendly identifier for the device model | 4200X |
| `device_vendor` | *Optional[str]* | :heavy_minus_sign: | The device vendor | Roku |
| `device_name` | *Optional[str]* | :heavy_minus_sign: | A friendly name for the client | Living Room TV |
| `marketplace` | *Optional[str]* | :heavy_minus_sign: | The marketplace on which the client application is distributed | googlePlay |

View File

@@ -0,0 +1,18 @@
# GetTokenDetailsRequest
## Fields
| Field | Type | Required | Description | Example |
| ------------------------------------------------------------------ | ------------------------------------------------------------------ | ------------------------------------------------------------------ | ------------------------------------------------------------------ | ------------------------------------------------------------------ |
| `accepts` | [Optional[components.Accepts]](../../models/components/accepts.md) | :heavy_minus_sign: | Indicates the client accepts the indicated media types | |
| `client_identifier` | *Optional[str]* | :heavy_minus_sign: | An opaque identifier unique to the client | abc123 |
| `product` | *Optional[str]* | :heavy_minus_sign: | The name of the client product | Plex for Roku |
| `version` | *Optional[str]* | :heavy_minus_sign: | The version of the client application | 2.4.1 |
| `platform` | *Optional[str]* | :heavy_minus_sign: | The platform of the client | Roku |
| `platform_version` | *Optional[str]* | :heavy_minus_sign: | The version of the platform | 4.3 build 1057 |
| `device` | *Optional[str]* | :heavy_minus_sign: | A relatively friendly name for the client device | Roku 3 |
| `model` | *Optional[str]* | :heavy_minus_sign: | A potentially less friendly identifier for the device model | 4200X |
| `device_vendor` | *Optional[str]* | :heavy_minus_sign: | The device vendor | Roku |
| `device_name` | *Optional[str]* | :heavy_minus_sign: | A friendly name for the client | Living Room TV |
| `marketplace` | *Optional[str]* | :heavy_minus_sign: | The marketplace on which the client application is distributed | googlePlay |

View File

@@ -0,0 +1,11 @@
# GetTokenDetailsResponse
## Fields
| Field | Type | Required | Description |
| ---------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------- |
| `content_type` | *str* | :heavy_check_mark: | HTTP response content type for this operation |
| `status_code` | *int* | :heavy_check_mark: | HTTP response status code for this operation |
| `raw_response` | [httpx.Response](https://www.python-httpx.org/api/#response) | :heavy_check_mark: | Raw HTTP response; suitable for custom response parsing |
| `user_plex_account` | [Optional[components.UserPlexAccount]](../../models/components/userplexaccount.md) | :heavy_minus_sign: | Logged in user details |

View File

@@ -0,0 +1,18 @@
# GetUsersGlobals
## Fields
| Field | Type | Required | Description | Example |
| ------------------------------------------------------------------ | ------------------------------------------------------------------ | ------------------------------------------------------------------ | ------------------------------------------------------------------ | ------------------------------------------------------------------ |
| `accepts` | [Optional[components.Accepts]](../../models/components/accepts.md) | :heavy_minus_sign: | Indicates the client accepts the indicated media types | |
| `client_identifier` | *Optional[str]* | :heavy_minus_sign: | An opaque identifier unique to the client | abc123 |
| `product` | *Optional[str]* | :heavy_minus_sign: | The name of the client product | Plex for Roku |
| `version` | *Optional[str]* | :heavy_minus_sign: | The version of the client application | 2.4.1 |
| `platform` | *Optional[str]* | :heavy_minus_sign: | The platform of the client | Roku |
| `platform_version` | *Optional[str]* | :heavy_minus_sign: | The version of the platform | 4.3 build 1057 |
| `device` | *Optional[str]* | :heavy_minus_sign: | A relatively friendly name for the client device | Roku 3 |
| `model` | *Optional[str]* | :heavy_minus_sign: | A potentially less friendly identifier for the device model | 4200X |
| `device_vendor` | *Optional[str]* | :heavy_minus_sign: | The device vendor | Roku |
| `device_name` | *Optional[str]* | :heavy_minus_sign: | A friendly name for the client | Living Room TV |
| `marketplace` | *Optional[str]* | :heavy_minus_sign: | The marketplace on which the client application is distributed | googlePlay |

View File

@@ -0,0 +1,15 @@
# GetUsersMediaContainer
Container holding user and server details.
## Fields
| Field | Type | Required | Description | Example |
| -------------------------------------------------------- | -------------------------------------------------------- | -------------------------------------------------------- | -------------------------------------------------------- | -------------------------------------------------------- |
| `friendly_name` | *str* | :heavy_check_mark: | The friendly name of the Plex instance. | myPlex |
| `identifier` | *str* | :heavy_check_mark: | N/A | com.plexapp.plugins.myplex |
| `machine_identifier` | *str* | :heavy_check_mark: | Unique Machine identifier of the Plex server. | 3dff4c4da3b1229a649aa574a9e2b419a684a20e |
| `total_size` | *int* | :heavy_check_mark: | Total number of users. | 30 |
| `size` | *int* | :heavy_check_mark: | Number of users in the current response. | 30 |
| `user` | List[[operations.User](../../models/operations/user.md)] | :heavy_check_mark: | List of users with access to the Plex server. | |

View File

@@ -0,0 +1,18 @@
# GetUsersRequest
## Fields
| Field | Type | Required | Description | Example |
| ------------------------------------------------------------------ | ------------------------------------------------------------------ | ------------------------------------------------------------------ | ------------------------------------------------------------------ | ------------------------------------------------------------------ |
| `accepts` | [Optional[components.Accepts]](../../models/components/accepts.md) | :heavy_minus_sign: | Indicates the client accepts the indicated media types | |
| `client_identifier` | *Optional[str]* | :heavy_minus_sign: | An opaque identifier unique to the client | abc123 |
| `product` | *Optional[str]* | :heavy_minus_sign: | The name of the client product | Plex for Roku |
| `version` | *Optional[str]* | :heavy_minus_sign: | The version of the client application | 2.4.1 |
| `platform` | *Optional[str]* | :heavy_minus_sign: | The platform of the client | Roku |
| `platform_version` | *Optional[str]* | :heavy_minus_sign: | The version of the platform | 4.3 build 1057 |
| `device` | *Optional[str]* | :heavy_minus_sign: | A relatively friendly name for the client device | Roku 3 |
| `model` | *Optional[str]* | :heavy_minus_sign: | A potentially less friendly identifier for the device model | 4200X |
| `device_vendor` | *Optional[str]* | :heavy_minus_sign: | The device vendor | Roku |
| `device_name` | *Optional[str]* | :heavy_minus_sign: | A friendly name for the client | Living Room TV |
| `marketplace` | *Optional[str]* | :heavy_minus_sign: | The marketplace on which the client application is distributed | googlePlay |

View File

@@ -0,0 +1,11 @@
# GetUsersResponse
## Fields
| Field | Type | Required | Description |
| -------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------- |
| `content_type` | *str* | :heavy_check_mark: | HTTP response content type for this operation |
| `status_code` | *int* | :heavy_check_mark: | HTTP response status code for this operation |
| `raw_response` | [httpx.Response](https://www.python-httpx.org/api/#response) | :heavy_check_mark: | Raw HTTP response; suitable for custom response parsing |
| `object` | [Optional[operations.GetUsersResponseBody]](../../models/operations/getusersresponsebody.md) | :heavy_minus_sign: | Successful response with media container data in JSON |

View File

@@ -0,0 +1,10 @@
# GetUsersResponseBody
Successful response with media container data in JSON
## Fields
| Field | Type | Required | Description |
| ------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------ |
| `media_container` | [Optional[operations.GetUsersMediaContainer]](../../models/operations/getusersmediacontainer.md) | :heavy_minus_sign: | Container holding user and server details. |

View File

@@ -0,0 +1,8 @@
# Guids
## Fields
| Field | Type | Required | Description | Example |
| -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `id` | *str* | :heavy_check_mark: | The unique identifier for the Guid. Can be prefixed with imdb://, tmdb://, tvdb://<br/> | {<br/>"imdbExample": {<br/>"summary": "IMDB example",<br/>"value": "imdb://tt13015952"<br/>},<br/>"tmdbExample": {<br/>"summary": "TMDB example",<br/>"value": "tmdb://2434012"<br/>},<br/>"tvdbExample": {<br/>"summary": "TVDB example",<br/>"value": "tvdb://7945991"<br/>}<br/>} |

View File

@@ -0,0 +1,11 @@
# Home
Indicates if the user is part of a home group.
## Values
| Name | Value |
| --------- | --------- |
| `DISABLE` | 0 |
| `ENABLE` | 1 |

View File

@@ -0,0 +1,11 @@
# IncludeHTTPS
Include Https entries in the results
## Values
| Name | Value |
| ------- | ------- |
| `FALSE` | 0 |
| `TRUE` | 1 |

View File

@@ -0,0 +1,11 @@
# IncludeIPv6
Include IPv6 entries in the results
## Values
| Name | Value |
| ------- | ------- |
| `FALSE` | 0 |
| `TRUE` | 1 |

View File

@@ -0,0 +1,13 @@
# IncludeRelay
Include Relay addresses in the results
E.g: https://10-0-0-25.bbf8e10c7fa20447cacee74cd9914cde.plex.direct:32400
## Values
| Name | Value |
| ------- | ------- |
| `FALSE` | 0 |
| `TRUE` | 1 |

Some files were not shown because too many files have changed in this diff Show More