ci: regenerated with OpenAPI Doc , Speakeasy CLI 1.488.0

This commit is contained in:
speakeasybot
2025-02-11 00:02:44 +00:00
parent ee0e41ac6e
commit aeb8aa9fdb
94 changed files with 3324 additions and 297 deletions

File diff suppressed because one or more lines are too long

View File

@@ -13,7 +13,7 @@ generation:
oAuth2ClientCredentialsEnabled: true oAuth2ClientCredentialsEnabled: true
oAuth2PasswordEnabled: false oAuth2PasswordEnabled: false
python: python:
version: 0.22.1 version: 0.23.0
additionalDependencies: additionalDependencies:
dev: {} dev: {}
main: {} main: {}

View File

@@ -1,4 +1,4 @@
speakeasyVersion: 1.487.1 speakeasyVersion: 1.488.0
sources: sources:
my-source: my-source:
sourceNamespace: my-source sourceNamespace: my-source
@@ -8,19 +8,19 @@ sources:
- latest - latest
plexapi: plexapi:
sourceNamespace: plexapi sourceNamespace: plexapi
sourceRevisionDigest: sha256:49536684a97842ea7c069f909012b31a22a046d8277aee47b50a334494bf2c64 sourceRevisionDigest: sha256:0efb9039972533bf1190dfc1ffb377429a8e486b6299442e732f662c1ffbeca6
sourceBlobDigest: sha256:eac671ea32ce31e1e558839153f7effef39bb35b4e461c6e95661d0eaf4ce1c8 sourceBlobDigest: sha256:038d73166cc9db17f514d511cfe4365ea032f4ebcb247fa86b7aa1bba0e1ab46
tags: tags:
- latest - latest
- speakeasy-sdk-regen-1738972888 - speakeasy-sdk-regen-1739232088
targets: targets:
plexpy: plexpy:
source: plexapi source: plexapi
sourceNamespace: plexapi sourceNamespace: plexapi
sourceRevisionDigest: sha256:49536684a97842ea7c069f909012b31a22a046d8277aee47b50a334494bf2c64 sourceRevisionDigest: sha256:0efb9039972533bf1190dfc1ffb377429a8e486b6299442e732f662c1ffbeca6
sourceBlobDigest: sha256:eac671ea32ce31e1e558839153f7effef39bb35b4e461c6e95661d0eaf4ce1c8 sourceBlobDigest: sha256:038d73166cc9db17f514d511cfe4365ea032f4ebcb247fa86b7aa1bba0e1ab46
codeSamplesNamespace: code-samples-python-plexpy codeSamplesNamespace: code-samples-python-plexpy
codeSamplesRevisionDigest: sha256:ad966264da2ccb1f43501d2435d91d5bf795538ec83e99a3f4a2f97acee1293a codeSamplesRevisionDigest: sha256:ea7739f0814edaf28e2308c9478c39068ee69344b69a79449ce4540562cf9f37
workflow: workflow:
workflowVersion: 1.0.0 workflowVersion: 1.0.0
speakeasyVersion: latest speakeasyVersion: latest

View File

@@ -215,6 +215,7 @@ asyncio.run(main())
* [get_library_details](docs/sdks/library/README.md#get_library_details) - Get Library Details * [get_library_details](docs/sdks/library/README.md#get_library_details) - Get Library Details
* [delete_library](docs/sdks/library/README.md#delete_library) - Delete Library Section * [delete_library](docs/sdks/library/README.md#delete_library) - Delete Library Section
* [get_library_items](docs/sdks/library/README.md#get_library_items) - Get Library Items * [get_library_items](docs/sdks/library/README.md#get_library_items) - Get Library Items
* [get_all_media_library](docs/sdks/library/README.md#get_all_media_library) - Get all media of library
* [get_refresh_library_metadata](docs/sdks/library/README.md#get_refresh_library_metadata) - Refresh Metadata Of The Library * [get_refresh_library_metadata](docs/sdks/library/README.md#get_refresh_library_metadata) - Refresh Metadata Of The Library
* [get_search_library](docs/sdks/library/README.md#get_search_library) - Search Library * [get_search_library](docs/sdks/library/README.md#get_search_library) - Search Library
* [get_genres_library](docs/sdks/library/README.md#get_genres_library) - Get Genres of library media * [get_genres_library](docs/sdks/library/README.md#get_genres_library) - Get Genres of library media

View File

@@ -938,4 +938,14 @@ Based on:
### Generated ### Generated
- [python v0.22.1] . - [python v0.22.1] .
### Releases ### Releases
- [PyPI v0.22.1] https://pypi.org/project/plex-api-client/0.22.1 - . - [PyPI v0.22.1] https://pypi.org/project/plex-api-client/0.22.1 - .
## 2025-02-11 00:01:13
### Changes
Based on:
- OpenAPI Doc
- Speakeasy CLI 1.488.0 (2.506.0) https://github.com/speakeasy-api/speakeasy
### Generated
- [python v0.23.0] .
### Releases
- [PyPI v0.23.0] https://pypi.org/project/plex-api-client/0.23.0 - .

View File

@@ -779,6 +779,28 @@ actions:
assert res.object is not None assert res.object is not None
# Handle response
print(res.object)
- target: $["paths"]["/library/sections/{sectionKey}/all"]["get"]
update:
x-codeSamples:
- lang: python
label: library
source: |-
from plex_api_client import PlexAPI
from plex_api_client.models import operations
with PlexAPI(
access_token="<YOUR_API_KEY_HERE>",
) as plex_api:
res = plex_api.library.get_all_media_library(request={
"section_key": 9518,
"type": operations.GetAllMediaLibraryQueryParamType.TV_SHOW,
})
assert res.object is not None
# Handle response # Handle response
print(res.object) print(res.object)
- target: $["paths"]["/library/sections/{sectionKey}/country"]["get"] - target: $["paths"]["/library/sections/{sectionKey}/country"]["get"]

View File

@@ -0,0 +1,11 @@
# GetAllMediaLibraryBadRequest
Bad Request - A parameter was not specified, or was specified incorrectly.
## Fields
| Field | Type | Required | Description |
| ---------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------- |
| `errors` | List[[errors.GetAllMediaLibraryErrors](../../models/errors/getallmedialibraryerrors.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 @@
# GetAllMediaLibraryErrors
## 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 @@
# GetAllMediaLibraryLibraryErrors
## 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 @@
# GetAllMediaLibraryUnauthorized
Unauthorized - Returned if the X-Plex-Token is missing from the header or query.
## Fields
| Field | Type | Required | Description |
| ------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------ |
| `errors` | List[[errors.GetAllMediaLibraryLibraryErrors](../../models/errors/getallmedialibrarylibraryerrors.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

@@ -5,7 +5,7 @@
| Field | Type | Required | Description | Example | | Field | Type | Required | Description | Example |
| -------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------- | | -------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------- |
| `size` | *float* | :heavy_check_mark: | N/A | 50 | | `size` | *int* | :heavy_check_mark: | Number of media items returned in this response. | 50 |
| `allow_sync` | *bool* | :heavy_check_mark: | Indicates whether syncing is allowed. | false | | `allow_sync` | *bool* | :heavy_check_mark: | Indicates whether syncing is allowed. | false |
| `art` | *str* | :heavy_check_mark: | URL for the background artwork of the media container. | /:/resources/show-fanart.jpg | | `art` | *str* | :heavy_check_mark: | URL for the background artwork of the media container. | /:/resources/show-fanart.jpg |
| `identifier` | *str* | :heavy_check_mark: | An plugin identifier for the media container. | com.plexapp.plugins.library | | `identifier` | *str* | :heavy_check_mark: | An plugin identifier for the media container. | com.plexapp.plugins.library |

View File

@@ -0,0 +1,12 @@
# GetAllMediaLibraryActiveDirection
The direction of the sort. Can be either `asc` or `desc`.
## Values
| Name | Value |
| ------------ | ------------ |
| `ASCENDING` | asc |
| `DESCENDING` | desc |

View File

@@ -0,0 +1,8 @@
# GetAllMediaLibraryCollection
## Fields
| Field | Type | Required | Description | Example |
| --------------------------------------------------- | --------------------------------------------------- | --------------------------------------------------- | --------------------------------------------------- | --------------------------------------------------- |
| `tag` | *str* | :heavy_check_mark: | The user-made collection this media item belongs to | My Awesome Collection |

View File

@@ -0,0 +1,8 @@
# GetAllMediaLibraryCountry
## Fields
| Field | Type | Required | Description | Example |
| ---------------------------------------- | ---------------------------------------- | ---------------------------------------- | ---------------------------------------- | ---------------------------------------- |
| `tag` | *str* | :heavy_check_mark: | The country of origin of this media item | United States of America |

View File

@@ -0,0 +1,12 @@
# GetAllMediaLibraryDefaultDirection
The direction of the sort. Can be either `asc` or `desc`.
## Values
| Name | Value |
| ------------ | ------------ |
| `ASCENDING` | asc |
| `DESCENDING` | desc |

View File

@@ -0,0 +1,8 @@
# GetAllMediaLibraryDirector
## Fields
| Field | Type | Required | Description | Example |
| -------------------- | -------------------- | -------------------- | -------------------- | -------------------- |
| `tag` | *str* | :heavy_check_mark: | The role of Director | Danny Boyle |

View File

@@ -0,0 +1,11 @@
# GetAllMediaLibraryField
## Fields
| Field | Type | Required | Description | Example |
| ------------------ | ------------------ | ------------------ | ------------------ | ------------------ |
| `key` | *str* | :heavy_check_mark: | N/A | show.title |
| `title` | *str* | :heavy_check_mark: | N/A | Show Title |
| `type` | *str* | :heavy_check_mark: | N/A | string |
| `sub_type` | *Optional[str]* | :heavy_minus_sign: | N/A | rating |

View File

@@ -0,0 +1,9 @@
# GetAllMediaLibraryFieldType
## Fields
| Field | Type | Required | Description | Example |
| ---------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------- |
| `type` | *str* | :heavy_check_mark: | N/A | tag |
| `operator` | List[[operations.GetAllMediaLibraryOperator](../../models/operations/getallmedialibraryoperator.md)] | :heavy_check_mark: | N/A | |

View File

@@ -0,0 +1,13 @@
# GetAllMediaLibraryFilter
## Fields
| Field | Type | Required | Description | Example |
| -------------------------------- | -------------------------------- | -------------------------------- | -------------------------------- | -------------------------------- |
| `filter_` | *str* | :heavy_check_mark: | N/A | genre |
| `filter_type` | *str* | :heavy_check_mark: | N/A | string |
| `key` | *str* | :heavy_check_mark: | N/A | /library/sections/2/genre?type=2 |
| `title` | *str* | :heavy_check_mark: | N/A | Genre |
| `type` | *str* | :heavy_check_mark: | N/A | filter |
| `advanced` | *Optional[bool]* | :heavy_minus_sign: | N/A | true |

View File

@@ -0,0 +1,8 @@
# GetAllMediaLibraryGenre
## Fields
| Field | Type | Required | Description | Example |
| ---------------------------------------- | ---------------------------------------- | ---------------------------------------- | ---------------------------------------- | ---------------------------------------- |
| `tag` | *str* | :heavy_check_mark: | The country of origin of this media item | United States of America |

View File

@@ -0,0 +1,11 @@
# GetAllMediaLibraryHasThumbnail
Indicates if the part has a thumbnail.
## Values
| Name | Value |
| ------- | ------- |
| `FALSE` | 0 |
| `TRUE` | 1 |

View File

@@ -0,0 +1,10 @@
# GetAllMediaLibraryImage
## Fields
| Field | Type | Required | Description | Example |
| -------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------- |
| `alt` | *str* | :heavy_check_mark: | N/A | Episode 1 |
| `type` | [operations.GetAllMediaLibraryLibraryResponseType](../../models/operations/getallmedialibrarylibraryresponsetype.md) | :heavy_check_mark: | N/A | background |
| `url` | *str* | :heavy_check_mark: | N/A | /library/metadata/45521/thumb/1644710589 |

View File

@@ -0,0 +1,19 @@
# GetAllMediaLibraryLibraryOptimizedForStreaming
Has this media been optimized for streaming. NOTE: This can be 0, 1, false or true
## Supported Types
### `operations.GetAllMediaLibraryOptimizedForStreaming1`
```python
value: operations.GetAllMediaLibraryOptimizedForStreaming1 = /* values here */
```
### `bool`
```python
value: bool = /* values here */
```

View File

@@ -0,0 +1,11 @@
# GetAllMediaLibraryLibraryResponseType
## Values
| Name | Value |
| -------------- | -------------- |
| `COVER_POSTER` | coverPoster |
| `BACKGROUND` | background |
| `SNAPSHOT` | snapshot |
| `CLEAR_LOGO` | clearLogo |

View File

@@ -0,0 +1,16 @@
# GetAllMediaLibraryLibraryType
The type of media content
## Values
| Name | Value |
| --------- | --------- |
| `MOVIE` | movie |
| `TV_SHOW` | show |
| `SEASON` | season |
| `EPISODE` | episode |
| `ARTIST` | artist |
| `ALBUM` | album |

View File

@@ -0,0 +1,26 @@
# GetAllMediaLibraryMedia
## Fields
| Field | Type | Required | Description | Example |
| ---------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------- |
| `id` | *int* | :heavy_check_mark: | Unique media identifier. | 387322 |
| `has_voice_activity` | *bool* | :heavy_check_mark: | Indicates whether voice activity is detected. | false |
| `part` | List[[operations.GetAllMediaLibraryPart](../../models/operations/getallmedialibrarypart.md)] | :heavy_check_mark: | An array of parts for this media item. | |
| `duration` | *Optional[int]* | :heavy_minus_sign: | Duration of the media in milliseconds. | 9610350 |
| `bitrate` | *Optional[int]* | :heavy_minus_sign: | Bitrate in bits per second. | 25512 |
| `width` | *Optional[int]* | :heavy_minus_sign: | Video width in pixels. | 3840 |
| `height` | *Optional[int]* | :heavy_minus_sign: | Video height in pixels. | 1602 |
| `aspect_ratio` | *Optional[float]* | :heavy_minus_sign: | Aspect ratio of the video. | 2.35 |
| `audio_channels` | *Optional[int]* | :heavy_minus_sign: | Number of audio channels. | 6 |
| `display_offset` | *Optional[int]* | :heavy_minus_sign: | N/A | 50 |
| `audio_codec` | *Optional[str]* | :heavy_minus_sign: | Audio codec used. | eac3 |
| `video_codec` | *Optional[str]* | :heavy_minus_sign: | Video codec used. | hevc |
| `video_resolution` | *Optional[str]* | :heavy_minus_sign: | Video resolution (e.g., 4k). | 4k |
| `container` | *Optional[str]* | :heavy_minus_sign: | File container type. | mkv |
| `video_frame_rate` | *Optional[str]* | :heavy_minus_sign: | Frame rate of the video. Values found include NTSC, PAL, 24p<br/> | 24p |
| `video_profile` | *Optional[str]* | :heavy_minus_sign: | Video profile (e.g., main 10). | main 10 |
| `audio_profile` | *Optional[str]* | :heavy_minus_sign: | The audio profile used for the media (e.g., DTS, Dolby Digital, etc.). | dts |
| `optimized_for_streaming` | [Optional[operations.GetAllMediaLibraryOptimizedForStreaming]](../../models/operations/getallmedialibraryoptimizedforstreaming.md) | :heavy_minus_sign: | Has this media been optimized for streaming. NOTE: This can be 0, 1, false or true | |
| `has64bit_offsets` | *Optional[bool]* | :heavy_minus_sign: | N/A | false |

View File

@@ -0,0 +1,26 @@
# GetAllMediaLibraryMediaContainer
## Fields
| Field | Type | Required | Description | Example |
| ---------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------- |
| `size` | *int* | :heavy_check_mark: | Number of media items returned in this response. | 50 |
| `total_size` | *int* | :heavy_check_mark: | Total number of media items in the library. | 50 |
| `offset` | *int* | :heavy_check_mark: | Offset value for pagination. | 0 |
| `allow_sync` | *bool* | :heavy_check_mark: | Indicates whether syncing is allowed. | false |
| `art` | *str* | :heavy_check_mark: | URL for the background artwork of the media container. | /:/resources/show-fanart.jpg |
| `content` | *str* | :heavy_check_mark: | The content type or mode. | secondary |
| `identifier` | *str* | :heavy_check_mark: | An plugin identifier for the media container. | com.plexapp.plugins.library |
| `library_section_id` | *int* | :heavy_check_mark: | The unique identifier for the library section. | 2 |
| `library_section_title` | *str* | :heavy_check_mark: | The title of the library section. | TV Series |
| `media_tag_prefix` | *str* | :heavy_check_mark: | The prefix used for media tag resource paths. | /system/bundle/media/flags/ |
| `media_tag_version` | *int* | :heavy_check_mark: | The version number for media tags. | 1734362201 |
| `thumb` | *str* | :heavy_check_mark: | URL for the thumbnail image of the media container. | /:/resources/show.png |
| `nocache` | *bool* | :heavy_check_mark: | Specifies whether caching is disabled. | true |
| `title1` | *str* | :heavy_check_mark: | The primary title of the media container. | TV Series |
| `title2` | *str* | :heavy_check_mark: | The secondary title of the media container. | By Starring Actor |
| `view_group` | *str* | :heavy_check_mark: | Identifier for the view group layout. | secondary |
| `library_section_uuid` | *Optional[str]* | :heavy_minus_sign: | The universally unique identifier for the library section. | e69655a2-ef48-4aba-bb19-0cc34d1e7d36 |
| `meta` | [Optional[operations.GetAllMediaLibraryMeta]](../../models/operations/getallmedialibrarymeta.md) | :heavy_minus_sign: | The Meta object is only included in the response if the `includeMeta` parameter is set to `1`.<br/> | |
| `metadata` | List[[operations.GetAllMediaLibraryMetadata](../../models/operations/getallmedialibrarymetadata.md)] | :heavy_minus_sign: | An array of metadata items. | |

View File

@@ -0,0 +1,12 @@
# GetAllMediaLibraryMeta
The Meta object is only included in the response if the `includeMeta` parameter is set to `1`.
## Fields
| Field | Type | Required | Description |
| ------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------ |
| `type` | List[[operations.GetAllMediaLibraryType](../../models/operations/getallmedialibrarytype.md)] | :heavy_minus_sign: | N/A |
| `field_type` | List[[operations.GetAllMediaLibraryFieldType](../../models/operations/getallmedialibraryfieldtype.md)] | :heavy_minus_sign: | N/A |

View File

@@ -0,0 +1,74 @@
# GetAllMediaLibraryMetadata
Unknown
## Fields
| Field | Type | Required | Description | Example |
| ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `rating_key` | *str* | :heavy_check_mark: | 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 |
| `key` | *str* | :heavy_check_mark: | The unique key for the media item. | /library/metadata/58683 |
| `guid` | *str* | :heavy_check_mark: | The globally unique identifier for the media item. | plex://movie/5d7768ba96b655001fdc0408 |
| `slug` | *str* | :heavy_check_mark: | A URLfriendly version of the media title. | 4-for-texas |
| `type` | [operations.GetAllMediaLibraryLibraryType](../../models/operations/getallmedialibrarylibrarytype.md) | :heavy_check_mark: | N/A | movie |
| `title` | *str* | :heavy_check_mark: | The title of the media item. | Avatar: The Way of Water |
| `title_sort` | *str* | :heavy_check_mark: | The sort title used for ordering media items. | Whale |
| `summary` | *str* | :heavy_check_mark: | A synopsis of the media item. | Jake Sully lives with his newfound family formed on the extrasolar moon Pandora.<br/>Once a familiar threat returns to finish what was previously started, Jake must<br/>work with Neytiri and the army of the Na'vi race to protect their home.<br/> |
| `rating` | *float* | :heavy_check_mark: | The critic rating for the media item. | 7.6 |
| `audience_rating` | *float* | :heavy_check_mark: | The audience rating for the media item. | 9.2 |
| `year` | *int* | :heavy_check_mark: | The release year of the media item. | 2022 |
| `tagline` | *str* | :heavy_check_mark: | A brief tagline for the media item. | Return to Pandora. |
| `thumb` | *str* | :heavy_check_mark: | The thumbnail image URL for the media item. | /library/metadata/58683/thumb/1703239236 |
| `art` | *str* | :heavy_check_mark: | The art image URL for the media item. | /library/metadata/58683/art/1703239236 |
| `theme` | *str* | :heavy_check_mark: | The theme URL for the media item. | /library/metadata/1/theme/1705636920 |
| `index` | *int* | :heavy_check_mark: | The index position of the media item. | 1 |
| `child_count` | *int* | :heavy_check_mark: | The number of child items associated with this media item. | 1 |
| `season_count` | *int* | :heavy_check_mark: | The total number of seasons (for TV shows). | 2022 |
| `duration` | *int* | :heavy_check_mark: | The duration of the media item in milliseconds. | 11558112 |
| `originally_available_at` | [datetime](https://docs.python.org/3/library/datetime.html#datetime-objects) | :heavy_check_mark: | The original release date of the media item. | 2022-12-14 |
| `added_at` | *int* | :heavy_check_mark: | N/A | 1556281940 |
| `studio` | *Optional[str]* | :heavy_minus_sign: | The studio that produced the media item. | 20th Century Studios |
| `content_rating` | *Optional[str]* | :heavy_minus_sign: | The content rating for the media item. | PG-13 |
| `leaf_count` | *Optional[int]* | :heavy_minus_sign: | The number of leaf items (end nodes) under this media item. | 14 |
| `viewed_leaf_count` | *Optional[int]* | :heavy_minus_sign: | The number of leaf items that have been viewed. | 0 |
| `updated_at` | *Optional[int]* | :heavy_minus_sign: | Unix epoch datetime in seconds | 1556281940 |
| `audience_rating_image` | *Optional[str]* | :heavy_minus_sign: | The URL for the audience rating image. | rottentomatoes://image.rating.upright |
| `chapter_source` | *Optional[str]* | :heavy_minus_sign: | The source from which chapter data is derived. | media |
| `primary_extra_key` | *Optional[str]* | :heavy_minus_sign: | The primary extra key associated with this media item. | /library/metadata/58684 |
| `original_title` | *Optional[str]* | :heavy_minus_sign: | The original title of the media item (if different). | 映画 ブラッククローバー 魔法帝の剣 |
| `parent_rating_key` | *Optional[str]* | :heavy_minus_sign: | The rating key of the parent media item. | 66 |
| `grandparent_rating_key` | *Optional[str]* | :heavy_minus_sign: | The rating key of the grandparent media item. | 66 |
| `parent_guid` | *Optional[str]* | :heavy_minus_sign: | The GUID of the parent media item. | plex://show/5d9c081b170e24001f2a7be4 |
| `grandparent_guid` | *Optional[str]* | :heavy_minus_sign: | The GUID of the grandparent media item. | plex://show/5d9c081b170e24001f2a7be4 |
| `grandparent_slug` | *Optional[str]* | :heavy_minus_sign: | The slug for the grandparent media item. | alice-in-borderland-2020 |
| `grandparent_key` | *Optional[str]* | :heavy_minus_sign: | The key of the grandparent media item. | /library/metadata/66 |
| `parent_key` | *Optional[str]* | :heavy_minus_sign: | The key of the parent media item. | /library/metadata/66 |
| `grandparent_title` | *Optional[str]* | :heavy_minus_sign: | The title of the grandparent media item. | Caprica |
| `grandparent_thumb` | *Optional[str]* | :heavy_minus_sign: | The thumbnail URL for the grandparent media item. | /library/metadata/66/thumb/1705716261 |
| `grandparent_theme` | *Optional[str]* | :heavy_minus_sign: | The theme URL for the grandparent media item. | /library/metadata/66/theme/1705716261 |
| `grandparent_art` | *Optional[str]* | :heavy_minus_sign: | The art URL for the grandparent media item. | /library/metadata/66/art/1705716261 |
| `parent_title` | *Optional[str]* | :heavy_minus_sign: | The title of the parent media item. | Caprica |
| `parent_index` | *Optional[int]* | :heavy_minus_sign: | The index position of the parent media item. | 1 |
| `parent_thumb` | *Optional[str]* | :heavy_minus_sign: | The thumbnail URL for the parent media item. | /library/metadata/66/thumb/1705716261 |
| `rating_image` | *Optional[str]* | :heavy_minus_sign: | The URL for the rating image. | rottentomatoes://image.rating.ripe |
| `view_count` | *Optional[int]* | :heavy_minus_sign: | The number of times this media item has been viewed. | 1 |
| `view_offset` | *Optional[int]* | :heavy_minus_sign: | The current playback offset (in milliseconds). | 5222500 |
| `skip_count` | *Optional[int]* | :heavy_minus_sign: | The number of times this media item has been skipped. | 1 |
| `subtype` | *Optional[str]* | :heavy_minus_sign: | A classification that further describes the type of media item. For example, 'clip' indicates that the item is a short video clip. | clip |
| `last_rated_at` | *Optional[int]* | :heavy_minus_sign: | The Unix timestamp representing the last time the item was rated. | 1721813113 |
| `created_at_accuracy` | *Optional[str]* | :heavy_minus_sign: | The accuracy of the creation timestamp. This value indicates the format(s) provided (for example, 'epoch,local' means both epoch and local time formats are available). | epoch,local |
| `created_at_tz_offset` | *Optional[str]* | :heavy_minus_sign: | The time zone offset for the creation timestamp, represented as a string. This offset indicates the difference from UTC. | 0 |
| `last_viewed_at` | *Optional[int]* | :heavy_minus_sign: | Unix timestamp for when the media item was last viewed. | 1682752242 |
| `user_rating` | *Optional[float]* | :heavy_minus_sign: | The rating provided by a user for the item. This value is expressed as a decimal number. | 10 |
| `image` | List[[operations.GetAllMediaLibraryImage](../../models/operations/getallmedialibraryimage.md)] | :heavy_minus_sign: | N/A | |
| `ultra_blur_colors` | [Optional[operations.GetAllMediaLibraryUltraBlurColors]](../../models/operations/getallmedialibraryultrablurcolors.md) | :heavy_minus_sign: | N/A | |
| `media` | List[[operations.GetAllMediaLibraryMedia](../../models/operations/getallmedialibrarymedia.md)] | :heavy_minus_sign: | N/A | |
| `genre` | List[[operations.GetAllMediaLibraryGenre](../../models/operations/getallmedialibrarygenre.md)] | :heavy_minus_sign: | N/A | |
| `country` | List[[operations.GetAllMediaLibraryCountry](../../models/operations/getallmedialibrarycountry.md)] | :heavy_minus_sign: | N/A | |
| `director` | List[[operations.GetAllMediaLibraryDirector](../../models/operations/getallmedialibrarydirector.md)] | :heavy_minus_sign: | N/A | |
| `writer` | List[[operations.GetAllMediaLibraryWriter](../../models/operations/getallmedialibrarywriter.md)] | :heavy_minus_sign: | N/A | |
| `role` | List[[operations.GetAllMediaLibraryRole](../../models/operations/getallmedialibraryrole.md)] | :heavy_minus_sign: | N/A | |
| `guids` | List[[operations.Guids](../../models/operations/guids.md)] | :heavy_minus_sign: | N/A | |
| `collection` | List[[operations.GetAllMediaLibraryCollection](../../models/operations/getallmedialibrarycollection.md)] | :heavy_minus_sign: | N/A | |

View File

@@ -0,0 +1,9 @@
# GetAllMediaLibraryOperator
## Fields
| Field | Type | Required | Description | Example |
| ------------------ | ------------------ | ------------------ | ------------------ | ------------------ |
| `key` | *str* | :heavy_check_mark: | N/A | = |
| `title` | *str* | :heavy_check_mark: | N/A | is |

View File

@@ -0,0 +1,19 @@
# GetAllMediaLibraryOptimizedForStreaming
Has this media been optimized for streaming. NOTE: This can be 0, 1, false or true
## Supported Types
### `operations.One`
```python
value: operations.One = /* values here */
```
### `bool`
```python
value: bool = /* values here */
```

View File

@@ -0,0 +1,9 @@
# GetAllMediaLibraryOptimizedForStreaming1
## Values
| Name | Value |
| ------ | ------ |
| `ZERO` | 0 |
| `ONE` | 1 |

View File

@@ -0,0 +1,23 @@
# GetAllMediaLibraryPart
## Fields
| Field | Type | Required | Description | Example |
| ------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------ |
| `id` | *int* | :heavy_check_mark: | Unique part identifier. | 418385 |
| `key` | *str* | :heavy_check_mark: | Key to access this part. | /library/parts/418385/1735864239/file.mkv |
| `file` | *str* | :heavy_check_mark: | File path for the part. | /mnt/Movies_1/W/Wicked (2024).mkv |
| `size` | *int* | :heavy_check_mark: | File size in bytes. | 30649952104 |
| `accessible` | *Optional[bool]* | :heavy_minus_sign: | Indicates if the part is accessible. | true |
| `exists` | *Optional[bool]* | :heavy_minus_sign: | Indicates if the part exists. | true |
| `indexes` | *Optional[str]* | :heavy_minus_sign: | N/A | sd |
| `duration` | *Optional[int]* | :heavy_minus_sign: | Duration of the part in milliseconds. | 9610350 |
| `packet_length` | *Optional[int]* | :heavy_minus_sign: | N/A | 188 |
| `container` | *Optional[str]* | :heavy_minus_sign: | Container format of the part. | mkv |
| `video_profile` | *Optional[str]* | :heavy_minus_sign: | Video profile for the part. | main 10 |
| `audio_profile` | *Optional[str]* | :heavy_minus_sign: | The audio profile used for the media (e.g., DTS, Dolby Digital, etc.). | dts |
| `has64bit_offsets` | *Optional[bool]* | :heavy_minus_sign: | N/A | false |
| `optimized_for_streaming` | [Optional[operations.GetAllMediaLibraryLibraryOptimizedForStreaming]](../../models/operations/getallmedialibrarylibraryoptimizedforstreaming.md) | :heavy_minus_sign: | Has this media been optimized for streaming. NOTE: This can be 0, 1, false or true | |
| `has_thumbnail` | [Optional[operations.GetAllMediaLibraryHasThumbnail]](../../models/operations/getallmedialibraryhasthumbnail.md) | :heavy_minus_sign: | N/A | 1 |
| `stream` | List[[operations.GetAllMediaLibraryStream](../../models/operations/getallmedialibrarystream.md)] | :heavy_minus_sign: | An array of streams for this part. | |

View File

@@ -0,0 +1,12 @@
# GetAllMediaLibraryQueryParamIncludeMeta
Adds the Meta object to the response
## Values
| Name | Value |
| --------- | --------- |
| `DISABLE` | 0 |
| `ENABLE` | 1 |

View File

@@ -0,0 +1,22 @@
# GetAllMediaLibraryQueryParamType
The type of media to retrieve or filter by.
1 = movie
2 = show
3 = season
4 = episode
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 |
| `AUDIO` | 8 |
| `ALBUM` | 9 |
| `TRACK` | 10 |

View File

@@ -0,0 +1,16 @@
# GetAllMediaLibraryRequest
## Fields
| Field | Type | Required | Description | Example |
| -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `section_key` | *int* | :heavy_check_mark: | The unique key of the Plex library. <br/>Note: This is unique in the context of the Plex server.<br/> | 9518 |
| `type` | [operations.GetAllMediaLibraryQueryParamType](../../models/operations/getallmedialibraryqueryparamtype.md) | :heavy_check_mark: | The type of media to retrieve or filter by.<br/>1 = movie<br/>2 = show<br/>3 = season<br/>4 = episode<br/>E.g. A movie library will not return anything with type 3 as there are no seasons for movie libraries<br/> | 2 |
| `include_meta` | [Optional[operations.GetAllMediaLibraryQueryParamIncludeMeta]](../../models/operations/getallmedialibraryqueryparamincludemeta.md) | :heavy_minus_sign: | Adds the Meta object to the response<br/> | 1 |
| `include_guids` | [Optional[operations.QueryParamIncludeGuids]](../../models/operations/queryparamincludeguids.md) | :heavy_minus_sign: | Adds the Guid object to the response<br/> | 1 |
| `include_advanced` | [Optional[operations.IncludeAdvanced]](../../models/operations/includeadvanced.md) | :heavy_minus_sign: | N/A | 1 |
| `include_collections` | [Optional[operations.QueryParamIncludeCollections]](../../models/operations/queryparamincludecollections.md) | :heavy_minus_sign: | N/A | 1 |
| `include_external_media` | [Optional[operations.QueryParamIncludeExternalMedia]](../../models/operations/queryparamincludeexternalmedia.md) | :heavy_minus_sign: | N/A | 1 |
| `x_plex_container_start` | *Optional[int]* | :heavy_minus_sign: | The index of the first item to return. If not specified, the first item will be returned.<br/>If the number of items exceeds the limit, the response will be paginated.<br/>By default this is 0<br/> | 0 |
| `x_plex_container_size` | *Optional[int]* | :heavy_minus_sign: | The number of items to return. If not specified, all items will be returned.<br/>If the number of items exceeds the limit, the response will be paginated.<br/>By default this is 50<br/> | 50 |

View File

@@ -0,0 +1,11 @@
# GetAllMediaLibraryResponse
## 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.GetAllMediaLibraryResponseBody]](../../models/operations/getallmedialibraryresponsebody.md) | :heavy_minus_sign: | Successful response containing media container data. |

View File

@@ -0,0 +1,10 @@
# GetAllMediaLibraryResponseBody
Successful response containing media container data.
## Fields
| Field | Type | Required | Description |
| -------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------- |
| `media_container` | [Optional[operations.GetAllMediaLibraryMediaContainer]](../../models/operations/getallmedialibrarymediacontainer.md) | :heavy_minus_sign: | N/A |

View File

@@ -0,0 +1,8 @@
# GetAllMediaLibraryRole
## Fields
| Field | Type | Required | Description | Example |
| ----------------------------------- | ----------------------------------- | ----------------------------------- | ----------------------------------- | ----------------------------------- |
| `tag` | *str* | :heavy_check_mark: | The name of the actor for this role | Danny Boyle |

View File

@@ -0,0 +1,15 @@
# GetAllMediaLibrarySort
## Fields
| Field | Type | Required | Description | Example |
| ------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------ |
| `key` | *str* | :heavy_check_mark: | N/A | titleSort |
| `title` | *str* | :heavy_check_mark: | N/A | Title |
| `default` | *Optional[str]* | :heavy_minus_sign: | N/A | asc |
| `active` | *Optional[bool]* | :heavy_minus_sign: | N/A | false |
| `active_direction` | [Optional[operations.GetAllMediaLibraryActiveDirection]](../../models/operations/getallmedialibraryactivedirection.md) | :heavy_minus_sign: | The direction of the sort. Can be either `asc` or `desc`.<br/> | asc |
| `default_direction` | [Optional[operations.GetAllMediaLibraryDefaultDirection]](../../models/operations/getallmedialibrarydefaultdirection.md) | :heavy_minus_sign: | The direction of the sort. Can be either `asc` or `desc`.<br/> | asc |
| `desc_key` | *Optional[str]* | :heavy_minus_sign: | N/A | titleSort:desc |
| `first_character_key` | *Optional[str]* | :heavy_minus_sign: | N/A | /library/sections/2/firstCharacter |

View File

@@ -0,0 +1,54 @@
# GetAllMediaLibraryStream
## Fields
| Field | Type | Required | Description | Example |
| -------------------------------------------------------------------- | -------------------------------------------------------------------- | -------------------------------------------------------------------- | -------------------------------------------------------------------- | -------------------------------------------------------------------- |
| `id` | *int* | :heavy_check_mark: | Unique stream identifier. | 1002625 |
| `stream_type` | *int* | :heavy_check_mark: | Stream type (1=video, 2=audio, 3=subtitle). | 1 |
| `codec` | *str* | :heavy_check_mark: | Codec used by the stream. | hevc |
| `index` | *int* | :heavy_check_mark: | Index of the stream. | 0 |
| `language` | *str* | :heavy_check_mark: | Language of the stream. | English |
| `language_tag` | *str* | :heavy_check_mark: | Language tag (e.g., en). | en |
| `language_code` | *str* | :heavy_check_mark: | ISO language code. | eng |
| `display_title` | *str* | :heavy_check_mark: | Display title for the stream. | 4K DoVi/HDR10 (HEVC Main 10) |
| `extended_display_title` | *str* | :heavy_check_mark: | Extended display title for the stream. | 4K DoVi/HDR10 (HEVC Main 10) |
| `default` | *Optional[bool]* | :heavy_minus_sign: | Indicates if this stream is default. | true |
| `bitrate` | *Optional[int]* | :heavy_minus_sign: | Bitrate of the stream. | 24743 |
| `header_compression` | *Optional[bool]* | :heavy_minus_sign: | Indicates whether header compression is enabled. | true |
| `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 |
| `bit_depth` | *Optional[int]* | :heavy_minus_sign: | Bit depth of the video stream. | 10 |
| `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 |
| `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 |
| `frame_rate` | *Optional[float]* | :heavy_minus_sign: | Frame rate of the stream. | 23.976 |
| `height` | *Optional[int]* | :heavy_minus_sign: | Height of the video stream. | 1602 |
| `level` | *Optional[int]* | :heavy_minus_sign: | Video level. | 150 |
| `original` | *Optional[bool]* | :heavy_minus_sign: | Indicates if this is the original stream. | true |
| `has_scaling_matrix` | *Optional[bool]* | :heavy_minus_sign: | N/A | false |
| `profile` | *Optional[str]* | :heavy_minus_sign: | Video profile. | main 10 |
| `scan_type` | *Optional[str]* | :heavy_minus_sign: | N/A | progressive |
| `ref_frames` | *Optional[int]* | :heavy_minus_sign: | Number of reference frames. | 1 |
| `width` | *Optional[int]* | :heavy_minus_sign: | Width of the video stream. | 3840 |
| `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 |
| `channels` | *Optional[int]* | :heavy_minus_sign: | Number of audio channels (for audio streams). | 6 |
| `audio_channel_layout` | *Optional[str]* | :heavy_minus_sign: | Audio channel layout. | 5.1(side) |
| `sampling_rate` | *Optional[int]* | :heavy_minus_sign: | Sampling rate for the audio stream. | 48000 |
| `can_auto_sync` | *Optional[bool]* | :heavy_minus_sign: | Indicates if the stream can auto-sync. | false |
| `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 |

View File

@@ -0,0 +1,15 @@
# GetAllMediaLibraryType
## Fields
| Field | Type | Required | Description | Example |
| ------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------ |
| `key` | *str* | :heavy_check_mark: | N/A | /library/sections/2/all?type=2 |
| `type` | *str* | :heavy_check_mark: | N/A | filter |
| `title` | *str* | :heavy_check_mark: | N/A | TV Shows |
| `active` | *bool* | :heavy_check_mark: | N/A | false |
| `subtype` | *Optional[str]* | :heavy_minus_sign: | N/A | clip |
| `filter_` | List[[operations.GetAllMediaLibraryFilter](../../models/operations/getallmedialibraryfilter.md)] | :heavy_minus_sign: | N/A | |
| `sort` | List[[operations.GetAllMediaLibrarySort](../../models/operations/getallmedialibrarysort.md)] | :heavy_minus_sign: | N/A | |
| `field` | List[[operations.GetAllMediaLibraryField](../../models/operations/getallmedialibraryfield.md)] | :heavy_minus_sign: | N/A | |

View File

@@ -0,0 +1,11 @@
# GetAllMediaLibraryUltraBlurColors
## Fields
| Field | Type | Required | Description | Example |
| ------------------ | ------------------ | ------------------ | ------------------ | ------------------ |
| `top_left` | *str* | :heavy_check_mark: | N/A | 11333b |
| `top_right` | *str* | :heavy_check_mark: | N/A | 0a232d |
| `bottom_right` | *str* | :heavy_check_mark: | N/A | 73958 |
| `bottom_left` | *str* | :heavy_check_mark: | N/A | 1f5066 |

View File

@@ -0,0 +1,8 @@
# GetAllMediaLibraryWriter
## Fields
| Field | Type | Required | Description | Example |
| ------------------ | ------------------ | ------------------ | ------------------ | ------------------ |
| `tag` | *str* | :heavy_check_mark: | The role of Writer | Danny Boyle |

View File

@@ -5,18 +5,16 @@
| Field | Type | Required | Description | Example | | Field | Type | Required | Description | Example |
| -------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------- | | -------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------- |
| `size` | *float* | :heavy_check_mark: | N/A | 50 | | `size` | *int* | :heavy_check_mark: | Number of media items returned in this response. | 50 |
| `identifier` | *str* | :heavy_check_mark: | N/A | com.plexapp.plugins.library | | `allow_sync` | *bool* | :heavy_check_mark: | Indicates whether syncing is allowed. | false |
| `allow_sync` | *bool* | :heavy_check_mark: | N/A | false | | `art` | *str* | :heavy_check_mark: | URL for the background artwork of the media container. | /:/resources/show-fanart.jpg |
| `art` | *str* | :heavy_check_mark: | N/A | /:/resources/show-fanart.jpg | | `content` | *str* | :heavy_check_mark: | The content type or mode. | secondary |
| `content` | *str* | :heavy_check_mark: | N/A | secondary | | `identifier` | *str* | :heavy_check_mark: | An plugin identifier for the media container. | com.plexapp.plugins.library |
| `media_tag_prefix` | *str* | :heavy_check_mark: | N/A | /system/bundle/media/flags/ | | `media_tag_prefix` | *str* | :heavy_check_mark: | The prefix used for media tag resource paths. | /system/bundle/media/flags/ |
| `media_tag_version` | *int* | :heavy_check_mark: | N/A | 1734362201 | | `media_tag_version` | *int* | :heavy_check_mark: | The version number for media tags. | 1734362201 |
| `nocache` | *bool* | :heavy_check_mark: | N/A | true | | `nocache` | *bool* | :heavy_check_mark: | Specifies whether caching is disabled. | true |
| `thumb` | *str* | :heavy_check_mark: | N/A | /:/resources/show.png | | `thumb` | *str* | :heavy_check_mark: | URL for the thumbnail image of the media container. | /:/resources/show.png |
| `title1` | *str* | :heavy_check_mark: | N/A | TV Series | | `title1` | *str* | :heavy_check_mark: | The primary title of the media container. | TV Series |
| `title2` | *str* | :heavy_check_mark: | N/A | By Country | | `title2` | *str* | :heavy_check_mark: | The secondary title of the media container. | By Starring Actor |
| `view_group` | *str* | :heavy_check_mark: | N/A | secondary | | `view_group` | *str* | :heavy_check_mark: | Identifier for the view group layout. | secondary |
| `offset` | *Optional[int]* | :heavy_minus_sign: | N/A | |
| `total_size` | *Optional[int]* | :heavy_minus_sign: | N/A | |
| `directory` | List[[operations.GetCountriesLibraryDirectory](../../models/operations/getcountrieslibrarydirectory.md)] | :heavy_minus_sign: | N/A | | | `directory` | List[[operations.GetCountriesLibraryDirectory](../../models/operations/getcountrieslibrarydirectory.md)] | :heavy_minus_sign: | N/A | |

View File

@@ -5,18 +5,16 @@
| Field | Type | Required | Description | Example | | Field | Type | Required | Description | Example |
| -------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------- | | -------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------- |
| `size` | *float* | :heavy_check_mark: | N/A | 50 | | `size` | *int* | :heavy_check_mark: | Number of media items returned in this response. | 50 |
| `identifier` | *str* | :heavy_check_mark: | N/A | com.plexapp.plugins.library | | `allow_sync` | *bool* | :heavy_check_mark: | Indicates whether syncing is allowed. | false |
| `allow_sync` | *bool* | :heavy_check_mark: | N/A | false | | `art` | *str* | :heavy_check_mark: | URL for the background artwork of the media container. | /:/resources/show-fanart.jpg |
| `art` | *str* | :heavy_check_mark: | N/A | /:/resources/show-fanart.jpg | | `content` | *str* | :heavy_check_mark: | The content type or mode. | secondary |
| `content` | *str* | :heavy_check_mark: | N/A | secondary | | `identifier` | *str* | :heavy_check_mark: | An plugin identifier for the media container. | com.plexapp.plugins.library |
| `media_tag_prefix` | *str* | :heavy_check_mark: | N/A | /system/bundle/media/flags/ | | `media_tag_prefix` | *str* | :heavy_check_mark: | The prefix used for media tag resource paths. | /system/bundle/media/flags/ |
| `media_tag_version` | *int* | :heavy_check_mark: | N/A | 1734362201 | | `media_tag_version` | *int* | :heavy_check_mark: | The version number for media tags. | 1734362201 |
| `nocache` | *bool* | :heavy_check_mark: | N/A | true | | `nocache` | *bool* | :heavy_check_mark: | Specifies whether caching is disabled. | true |
| `thumb` | *str* | :heavy_check_mark: | N/A | /:/resources/show.png | | `thumb` | *str* | :heavy_check_mark: | URL for the thumbnail image of the media container. | /:/resources/show.png |
| `title1` | *str* | :heavy_check_mark: | N/A | TV Shows (Reality) | | `title1` | *str* | :heavy_check_mark: | The primary title of the media container. | TV Series |
| `title2` | *str* | :heavy_check_mark: | N/A | By Genre | | `title2` | *str* | :heavy_check_mark: | The secondary title of the media container. | By Starring Actor |
| `view_group` | *str* | :heavy_check_mark: | N/A | secondary | | `view_group` | *str* | :heavy_check_mark: | Identifier for the view group layout. | secondary |
| `offset` | *Optional[int]* | :heavy_minus_sign: | N/A | |
| `total_size` | *Optional[int]* | :heavy_minus_sign: | N/A | |
| `directory` | List[[operations.GetGenresLibraryDirectory](../../models/operations/getgenreslibrarydirectory.md)] | :heavy_minus_sign: | N/A | | | `directory` | List[[operations.GetGenresLibraryDirectory](../../models/operations/getgenreslibrarydirectory.md)] | :heavy_minus_sign: | N/A | |

View File

@@ -9,4 +9,5 @@
| `filter_type` | *str* | :heavy_check_mark: | N/A | string | | `filter_type` | *str* | :heavy_check_mark: | N/A | string |
| `key` | *str* | :heavy_check_mark: | N/A | /library/sections/2/genre?type=2 | | `key` | *str* | :heavy_check_mark: | N/A | /library/sections/2/genre?type=2 |
| `title` | *str* | :heavy_check_mark: | N/A | Genre | | `title` | *str* | :heavy_check_mark: | N/A | Genre |
| `type` | *str* | :heavy_check_mark: | N/A | filter | | `type` | *str* | :heavy_check_mark: | N/A | filter |
| `advanced` | *Optional[bool]* | :heavy_minus_sign: | N/A | true |

View File

@@ -11,4 +11,6 @@ The type of media content
| `MOVIE` | movie | | `MOVIE` | movie |
| `TV_SHOW` | show | | `TV_SHOW` | show |
| `SEASON` | season | | `SEASON` | season |
| `EPISODE` | episode | | `EPISODE` | episode |
| `ARTIST` | artist |
| `ALBUM` | album |

View File

@@ -6,9 +6,10 @@
| Field | Type | Required | Description | Example | | Field | Type | Required | Description | Example |
| ------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------ | | ------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------ |
| `key` | *str* | :heavy_check_mark: | N/A | /library/sections/2/all?type=2 | | `key` | *str* | :heavy_check_mark: | N/A | /library/sections/2/all?type=2 |
| `type` | *str* | :heavy_check_mark: | N/A | show | | `type` | *str* | :heavy_check_mark: | N/A | filter |
| `title` | *str* | :heavy_check_mark: | N/A | TV Shows | | `title` | *str* | :heavy_check_mark: | N/A | TV Shows |
| `active` | *bool* | :heavy_check_mark: | N/A | false | | `active` | *bool* | :heavy_check_mark: | N/A | false |
| `subtype` | *Optional[str]* | :heavy_minus_sign: | N/A | clip |
| `filter_` | List[[operations.GetLibraryItemsFilter](../../models/operations/getlibraryitemsfilter.md)] | :heavy_minus_sign: | N/A | | | `filter_` | List[[operations.GetLibraryItemsFilter](../../models/operations/getlibraryitemsfilter.md)] | :heavy_minus_sign: | N/A | |
| `sort` | List[[operations.GetLibraryItemsSort](../../models/operations/getlibraryitemssort.md)] | :heavy_minus_sign: | N/A | | | `sort` | List[[operations.GetLibraryItemsSort](../../models/operations/getlibraryitemssort.md)] | :heavy_minus_sign: | N/A | |
| `field` | List[[operations.GetLibraryItemsField](../../models/operations/getlibraryitemsfield.md)] | :heavy_minus_sign: | N/A | | | `field` | List[[operations.GetLibraryItemsField](../../models/operations/getlibraryitemsfield.md)] | :heavy_minus_sign: | N/A | |

View File

@@ -0,0 +1,8 @@
# GetMediaMetaDataGuids
## Fields
| Field | Type | Required | Description | Example |
| ------------------ | ------------------ | ------------------ | ------------------ | ------------------ |
| `id` | *str* | :heavy_check_mark: | The GUID value. | imdb://tt3032476 |

View File

@@ -0,0 +1,11 @@
# GetMediaMetaDataHasThumbnail
Indicates if the part has a thumbnail.
## Values
| Name | Value |
| ------- | ------- |
| `FALSE` | 0 |
| `TRUE` | 1 |

View File

@@ -0,0 +1,19 @@
# GetMediaMetaDataLibraryOptimizedForStreaming
Has this media been optimized for streaming. NOTE: This can be 0, 1, false or true
## Supported Types
### `operations.GetMediaMetaDataOptimizedForStreaming1`
```python
value: operations.GetMediaMetaDataOptimizedForStreaming1 = /* values here */
```
### `bool`
```python
value: bool = /* values here */
```

View File

@@ -3,20 +3,24 @@
## Fields ## Fields
| Field | Type | Required | Description | Example | | Field | Type | Required | Description | Example |
| ---------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------- | | ------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------ |
| `id` | *int* | :heavy_check_mark: | Unique media identifier. | 387322 | | `id` | *int* | :heavy_check_mark: | Unique media identifier. | 387322 |
| `duration` | *int* | :heavy_check_mark: | Duration of the media in milliseconds. | 9610350 | | `has_voice_activity` | *bool* | :heavy_check_mark: | Indicates whether voice activity is detected. | false |
| `bitrate` | *int* | :heavy_check_mark: | Bitrate in bits per second. | 25512 | | `part` | List[[operations.GetMediaMetaDataPart](../../models/operations/getmediametadatapart.md)] | :heavy_check_mark: | An array of parts for this media item. | |
| `width` | *int* | :heavy_check_mark: | Video width in pixels. | 3840 | | `duration` | *Optional[int]* | :heavy_minus_sign: | Duration of the media in milliseconds. | 9610350 |
| `height` | *int* | :heavy_check_mark: | Video height in pixels. | 1602 | | `bitrate` | *Optional[int]* | :heavy_minus_sign: | Bitrate in bits per second. | 25512 |
| `aspect_ratio` | *float* | :heavy_check_mark: | Aspect ratio of the video. | 2.35 | | `width` | *Optional[int]* | :heavy_minus_sign: | Video width in pixels. | 3840 |
| `audio_channels` | *int* | :heavy_check_mark: | Number of audio channels. | 6 | | `height` | *Optional[int]* | :heavy_minus_sign: | Video height in pixels. | 1602 |
| `audio_codec` | *str* | :heavy_check_mark: | Audio codec used. | eac3 | | `aspect_ratio` | *Optional[float]* | :heavy_minus_sign: | Aspect ratio of the video. | 2.35 |
| `video_codec` | *str* | :heavy_check_mark: | Video codec used. | hevc | | `audio_channels` | *Optional[int]* | :heavy_minus_sign: | Number of audio channels. | 6 |
| `video_resolution` | *str* | :heavy_check_mark: | Video resolution (e.g., 4k). | 4k | | `display_offset` | *Optional[int]* | :heavy_minus_sign: | N/A | 50 |
| `container` | *str* | :heavy_check_mark: | File container type. | mkv | | `audio_codec` | *Optional[str]* | :heavy_minus_sign: | Audio codec used. | eac3 |
| `video_frame_rate` | *str* | :heavy_check_mark: | Frame rate of the video (e.g., 24p). | 24p | | `video_codec` | *Optional[str]* | :heavy_minus_sign: | Video codec used. | hevc |
| `video_profile` | *str* | :heavy_check_mark: | Video profile (e.g., main 10). | main 10 | | `video_resolution` | *Optional[str]* | :heavy_minus_sign: | Video resolution (e.g., 4k). | 4k |
| `has_voice_activity` | *bool* | :heavy_check_mark: | Indicates whether voice activity is detected. | false | | `container` | *Optional[str]* | :heavy_minus_sign: | File container type. | mkv |
| `part` | List[[operations.GetMediaMetaDataPart](../../models/operations/getmediametadatapart.md)] | :heavy_check_mark: | An array of parts for this media item. | | | `video_frame_rate` | *Optional[str]* | :heavy_minus_sign: | Frame rate of the video. Values found include NTSC, PAL, 24p<br/> | 24p |
| `video_profile` | *Optional[str]* | :heavy_minus_sign: | Video profile (e.g., main 10). | main 10 |
| `audio_profile` | *Optional[str]* | :heavy_minus_sign: | The audio profile used for the media (e.g., DTS, Dolby Digital, etc.). | dts |
| `optimized_for_streaming` | [Optional[operations.GetMediaMetaDataOptimizedForStreaming]](../../models/operations/getmediametadataoptimizedforstreaming.md) | :heavy_minus_sign: | Has this media been optimized for streaming. NOTE: This can be 0, 1, false or true | |
| `has64bit_offsets` | *Optional[bool]* | :heavy_minus_sign: | N/A | false |

View File

@@ -5,7 +5,7 @@
| Field | Type | Required | Description | Example | | Field | Type | Required | Description | Example |
| ------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------ | | ------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------ |
| `size` | *float* | :heavy_check_mark: | N/A | 50 | | `size` | *int* | :heavy_check_mark: | Number of media items returned in this response. | 50 |
| `allow_sync` | *bool* | :heavy_check_mark: | Indicates whether syncing is allowed. | false | | `allow_sync` | *bool* | :heavy_check_mark: | Indicates whether syncing is allowed. | false |
| `identifier` | *str* | :heavy_check_mark: | An plugin identifier for the media container. | com.plexapp.plugins.library | | `identifier` | *str* | :heavy_check_mark: | An plugin identifier for the media container. | com.plexapp.plugins.library |
| `library_section_id` | *int* | :heavy_check_mark: | The unique identifier for the library section. | 2 | | `library_section_id` | *int* | :heavy_check_mark: | The unique identifier for the library section. | 2 |

View File

@@ -13,21 +13,15 @@
| `library_section_title` | *str* | :heavy_check_mark: | The title of the library section. | TV Series | | `library_section_title` | *str* | :heavy_check_mark: | The title of the library section. | TV Series |
| `library_section_id` | *int* | :heavy_check_mark: | The ID of the library section. | 2 | | `library_section_id` | *int* | :heavy_check_mark: | The ID of the library section. | 2 |
| `library_section_key` | *str* | :heavy_check_mark: | The key of the library section. | /library/sections/2 | | `library_section_key` | *str* | :heavy_check_mark: | The key of the library section. | /library/sections/2 |
| `content_rating` | *str* | :heavy_check_mark: | The content rating (e.g., TV-MA). | TV-MA |
| `summary` | *str* | :heavy_check_mark: | A summary of the content. | Before Saul Goodman, he was Jimmy McGill. And if you're calling Jimmy, you're in real trouble. The prequel to "Breaking Bad" follows small-time attorney, Jimmy McGill, as he transforms into Walter White's morally challenged lawyer, Saul Goodman. | | `summary` | *str* | :heavy_check_mark: | A summary of the content. | Before Saul Goodman, he was Jimmy McGill. And if you're calling Jimmy, you're in real trouble. The prequel to "Breaking Bad" follows small-time attorney, Jimmy McGill, as he transforms into Walter White's morally challenged lawyer, Saul Goodman. |
| `audience_rating` | *float* | :heavy_check_mark: | The audience rating for the content. | 8.7 |
| `year` | *int* | :heavy_check_mark: | The release year. | 2015 | | `year` | *int* | :heavy_check_mark: | The release year. | 2015 |
| `thumb` | *str* | :heavy_check_mark: | URL of the thumbnail image. | /library/metadata/44288/thumb/1736487993 | | `thumb` | *str* | :heavy_check_mark: | URL of the thumbnail image. | /library/metadata/44288/thumb/1736487993 |
| `art` | *str* | :heavy_check_mark: | URL of the art image. | /library/metadata/44288/art/1736487993 | | `art` | *str* | :heavy_check_mark: | URL of the art image. | /library/metadata/44288/art/1736487993 |
| `duration` | *int* | :heavy_check_mark: | Duration of the content in milliseconds. | 2700000 | | `duration` | *int* | :heavy_check_mark: | Duration of the content in milliseconds. | 2700000 |
| `originally_available_at` | [datetime](https://docs.python.org/3/library/datetime.html#datetime-objects) | :heavy_check_mark: | The original release date. | 2015-02-08 | | `added_at` | *int* | :heavy_check_mark: | N/A | 1556281940 |
| `added_at` | *int* | :heavy_check_mark: | Unix timestamp when the item was added. | 1625505101 | | `updated_at` | *int* | :heavy_check_mark: | N/A | 1556281940 |
| `updated_at` | *int* | :heavy_check_mark: | Unix timestamp when the item was last updated. | 1736487993 |
| `audience_rating_image` | *str* | :heavy_check_mark: | The URL for the audience rating image. | themoviedb://image.rating |
| `image` | List[[operations.GetMediaMetaDataImage](../../models/operations/getmediametadataimage.md)] | :heavy_check_mark: | An array of image objects. | | | `image` | List[[operations.GetMediaMetaDataImage](../../models/operations/getmediametadataimage.md)] | :heavy_check_mark: | An array of image objects. | |
| `ultra_blur_colors` | [operations.GetMediaMetaDataUltraBlurColors](../../models/operations/getmediametadataultrablurcolors.md) | :heavy_check_mark: | N/A | | | `ultra_blur_colors` | [operations.GetMediaMetaDataUltraBlurColors](../../models/operations/getmediametadataultrablurcolors.md) | :heavy_check_mark: | N/A | |
| `guids` | List[[operations.Guids](../../models/operations/guids.md)] | :heavy_check_mark: | An array of GUID objects. | |
| `rating` | List[[operations.Rating](../../models/operations/rating.md)] | :heavy_check_mark: | An array of rating objects. | |
| `parent_rating_key` | *Optional[str]* | :heavy_minus_sign: | The rating key of the parent of this metadata item. | 48047 | | `parent_rating_key` | *Optional[str]* | :heavy_minus_sign: | The rating key of the parent of this metadata item. | 48047 |
| `grandparent_rating_key` | *Optional[str]* | :heavy_minus_sign: | The rating key of the grandparent of this metadata item. | 45520 | | `grandparent_rating_key` | *Optional[str]* | :heavy_minus_sign: | The rating key of the grandparent of this metadata item. | 45520 |
| `parent_guid` | *Optional[str]* | :heavy_minus_sign: | A GUID identifying the parent entity (e.g., season) for the item. | plex://season/618b89208dde18df707ad15c | | `parent_guid` | *Optional[str]* | :heavy_minus_sign: | A GUID identifying the parent entity (e.g., season) for the item. | plex://season/618b89208dde18df707ad15c |
@@ -38,19 +32,25 @@
| `slug` | *Optional[str]* | :heavy_minus_sign: | A URL-friendly identifier for the item. | better-call-saul | | `slug` | *Optional[str]* | :heavy_minus_sign: | A URL-friendly identifier for the item. | better-call-saul |
| `studio` | *Optional[str]* | :heavy_minus_sign: | The studio that produced the content. | Sony Pictures Television | | `studio` | *Optional[str]* | :heavy_minus_sign: | The studio that produced the content. | Sony Pictures Television |
| `original_title` | *Optional[str]* | :heavy_minus_sign: | The original title of the content. | Wicked: Part I | | `original_title` | *Optional[str]* | :heavy_minus_sign: | The original title of the content. | Wicked: Part I |
| `content_rating` | *Optional[str]* | :heavy_minus_sign: | The content rating (e.g., TV-MA). | TV-MA |
| `index` | *Optional[int]* | :heavy_minus_sign: | The index or order of the item. | 1 | | `index` | *Optional[int]* | :heavy_minus_sign: | The index or order of the item. | 1 |
| `grandparent_title` | *Optional[str]* | :heavy_minus_sign: | The title of the grandparent entity (typically the show's title). | Alice in Borderland | | `grandparent_title` | *Optional[str]* | :heavy_minus_sign: | The title of the grandparent entity (typically the show's title). | Alice in Borderland |
| `parent_title` | *Optional[str]* | :heavy_minus_sign: | The title of the parent entity (typically the season's title). | Season 2 | | `parent_title` | *Optional[str]* | :heavy_minus_sign: | The title of the parent entity (typically the season's title). | Season 2 |
| `audience_rating` | *Optional[float]* | :heavy_minus_sign: | The audience rating for the content. | 8.7 |
| `view_count` | *Optional[int]* | :heavy_minus_sign: | The number of times the item has been viewed. | 4 | | `view_count` | *Optional[int]* | :heavy_minus_sign: | The number of times the item has been viewed. | 4 |
| `skip_count` | *Optional[int]* | :heavy_minus_sign: | The number of times the item has been skipped. | 1 | | `skip_count` | *Optional[int]* | :heavy_minus_sign: | The number of times the item has been skipped. | 1 |
| `last_viewed_at` | *Optional[int]* | :heavy_minus_sign: | Unix timestamp of when the item was last viewed. | 1625764795 | | `last_viewed_at` | *Optional[int]* | :heavy_minus_sign: | Unix timestamp of when the item was last viewed. | 1625764795 |
| `rating` | *Optional[float]* | :heavy_minus_sign: | The general rating | 6 |
| `rating_image` | *Optional[str]* | :heavy_minus_sign: | The URL or identifier for the rating image (e.g., Rotten Tomatoes rating image). | rottentomatoes://image.rating.ripe |
| `tagline` | *Optional[str]* | :heavy_minus_sign: | The tagline of the content. | Make the call | | `tagline` | *Optional[str]* | :heavy_minus_sign: | The tagline of the content. | Make the call |
| `chapter_source` | *Optional[str]* | :heavy_minus_sign: | N/A | media | | `chapter_source` | *Optional[str]* | :heavy_minus_sign: | N/A | media |
| `primary_extra_key` | *Optional[str]* | :heavy_minus_sign: | N/A | /library/metadata/134704 | | `primary_extra_key` | *Optional[str]* | :heavy_minus_sign: | N/A | /library/metadata/134704 |
| `theme` | *Optional[str]* | :heavy_minus_sign: | URL of the theme image. | /library/metadata/44288/theme/1736487993 | | `theme` | *Optional[str]* | :heavy_minus_sign: | URL of the theme image. | /library/metadata/44288/theme/1736487993 |
| `originally_available_at` | [datetime](https://docs.python.org/3/library/datetime.html#datetime-objects) | :heavy_minus_sign: | The original release date. | 2015-02-08 |
| `leaf_count` | *Optional[int]* | :heavy_minus_sign: | The total number of episodes (or leaves). | 63 | | `leaf_count` | *Optional[int]* | :heavy_minus_sign: | The total number of episodes (or leaves). | 63 |
| `viewed_leaf_count` | *Optional[int]* | :heavy_minus_sign: | The number of episodes that have been viewed. | 4 | | `viewed_leaf_count` | *Optional[int]* | :heavy_minus_sign: | The number of episodes that have been viewed. | 4 |
| `child_count` | *Optional[int]* | :heavy_minus_sign: | The number of child items. | 6 | | `child_count` | *Optional[int]* | :heavy_minus_sign: | The number of child items. | 6 |
| `audience_rating_image` | *Optional[str]* | :heavy_minus_sign: | The URL for the audience rating image. | themoviedb://image.rating |
| `parent_index` | *Optional[int]* | :heavy_minus_sign: | The index number of the parent entity, which could indicate its order or position. | 2 | | `parent_index` | *Optional[int]* | :heavy_minus_sign: | The index number of the parent entity, which could indicate its order or position. | 2 |
| `parent_thumb` | *Optional[str]* | :heavy_minus_sign: | The URL of the parent's thumbnail image. | /library/metadata/48047/thumb/1671800243 | | `parent_thumb` | *Optional[str]* | :heavy_minus_sign: | The URL of the parent's thumbnail image. | /library/metadata/48047/thumb/1671800243 |
| `grandparent_thumb` | *Optional[str]* | :heavy_minus_sign: | The URL of the grandparent's thumbnail image. | /library/metadata/45520/thumb/1736488003 | | `grandparent_thumb` | *Optional[str]* | :heavy_minus_sign: | The URL of the grandparent's thumbnail image. | /library/metadata/45520/thumb/1736488003 |
@@ -58,6 +58,8 @@
| `media` | List[[operations.GetMediaMetaDataMedia](../../models/operations/getmediametadatamedia.md)] | :heavy_minus_sign: | N/A | | | `media` | List[[operations.GetMediaMetaDataMedia](../../models/operations/getmediametadatamedia.md)] | :heavy_minus_sign: | N/A | |
| `genre` | List[[operations.GetMediaMetaDataGenre](../../models/operations/getmediametadatagenre.md)] | :heavy_minus_sign: | An array of genre tags. | | | `genre` | List[[operations.GetMediaMetaDataGenre](../../models/operations/getmediametadatagenre.md)] | :heavy_minus_sign: | An array of genre tags. | |
| `country` | List[[operations.GetMediaMetaDataCountry](../../models/operations/getmediametadatacountry.md)] | :heavy_minus_sign: | An array of country tags. | | | `country` | List[[operations.GetMediaMetaDataCountry](../../models/operations/getmediametadatacountry.md)] | :heavy_minus_sign: | An array of country tags. | |
| `guids` | List[[operations.GetMediaMetaDataGuids](../../models/operations/getmediametadataguids.md)] | :heavy_minus_sign: | An array of GUID objects. | |
| `ratings` | List[[operations.Ratings](../../models/operations/ratings.md)] | :heavy_minus_sign: | An array of rating objects. | |
| `role` | List[[operations.GetMediaMetaDataRole](../../models/operations/getmediametadatarole.md)] | :heavy_minus_sign: | An array of Actor roles. | | | `role` | List[[operations.GetMediaMetaDataRole](../../models/operations/getmediametadatarole.md)] | :heavy_minus_sign: | An array of Actor roles. | |
| `director` | List[[operations.GetMediaMetaDataDirector](../../models/operations/getmediametadatadirector.md)] | :heavy_minus_sign: | An array of Director roles. | | | `director` | List[[operations.GetMediaMetaDataDirector](../../models/operations/getmediametadatadirector.md)] | :heavy_minus_sign: | An array of Director roles. | |
| `writer` | List[[operations.GetMediaMetaDataWriter](../../models/operations/getmediametadatawriter.md)] | :heavy_minus_sign: | An array of Writer roles. | | | `writer` | List[[operations.GetMediaMetaDataWriter](../../models/operations/getmediametadatawriter.md)] | :heavy_minus_sign: | An array of Writer roles. | |

View File

@@ -0,0 +1,19 @@
# GetMediaMetaDataOptimizedForStreaming
Has this media been optimized for streaming. NOTE: This can be 0, 1, false or true
## Supported Types
### `operations.OptimizedForStreaming1`
```python
value: operations.OptimizedForStreaming1 = /* values here */
```
### `bool`
```python
value: bool = /* values here */
```

View File

@@ -0,0 +1,9 @@
# GetMediaMetaDataOptimizedForStreaming1
## Values
| Name | Value |
| ------ | ------ |
| `ZERO` | 0 |
| `ONE` | 1 |

View File

@@ -3,16 +3,21 @@
## Fields ## Fields
| Field | Type | Required | Description | Example | | Field | Type | Required | Description | Example |
| -------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------- | | -------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------- |
| `id` | *int* | :heavy_check_mark: | Unique part identifier. | 418385 | | `id` | *int* | :heavy_check_mark: | Unique part identifier. | 418385 |
| `key` | *str* | :heavy_check_mark: | Key to access this part. | /library/parts/418385/1735864239/file.mkv | | `key` | *str* | :heavy_check_mark: | Key to access this part. | /library/parts/418385/1735864239/file.mkv |
| `duration` | *int* | :heavy_check_mark: | Duration of the part in milliseconds. | 9610350 | | `file` | *str* | :heavy_check_mark: | File path for the part. | /mnt/Movies_1/W/Wicked (2024).mkv |
| `file` | *str* | :heavy_check_mark: | File path for the part. | /mnt/Movies_1/W/Wicked (2024).mkv | | `size` | *int* | :heavy_check_mark: | File size in bytes. | 30649952104 |
| `size` | *int* | :heavy_check_mark: | File size in bytes. | 30649952104 | | `accessible` | *Optional[bool]* | :heavy_minus_sign: | Indicates if the part is accessible. | true |
| `container` | *str* | :heavy_check_mark: | Container format of the part. | mkv | | `exists` | *Optional[bool]* | :heavy_minus_sign: | Indicates if the part exists. | true |
| `video_profile` | *str* | :heavy_check_mark: | Video profile for the part. | main 10 | | `indexes` | *Optional[str]* | :heavy_minus_sign: | N/A | sd |
| `stream` | List[[operations.GetMediaMetaDataStream](../../models/operations/getmediametadatastream.md)] | :heavy_check_mark: | An array of streams for this part. | | | `duration` | *Optional[int]* | :heavy_minus_sign: | Duration of the part in milliseconds. | 9610350 |
| `accessible` | *Optional[bool]* | :heavy_minus_sign: | Indicates if the part is accessible. | true | | `packet_length` | *Optional[int]* | :heavy_minus_sign: | N/A | 188 |
| `exists` | *Optional[bool]* | :heavy_minus_sign: | Indicates if the part exists. | true | | `container` | *Optional[str]* | :heavy_minus_sign: | Container format of the part. | mkv |
| `indexes` | *Optional[str]* | :heavy_minus_sign: | N/A | sd | | `video_profile` | *Optional[str]* | :heavy_minus_sign: | Video profile for the part. | main 10 |
| `audio_profile` | *Optional[str]* | :heavy_minus_sign: | The audio profile used for the media (e.g., DTS, Dolby Digital, etc.). | dts |
| `has64bit_offsets` | *Optional[bool]* | :heavy_minus_sign: | N/A | false |
| `optimized_for_streaming` | [Optional[operations.GetMediaMetaDataLibraryOptimizedForStreaming]](../../models/operations/getmediametadatalibraryoptimizedforstreaming.md) | :heavy_minus_sign: | Has this media been optimized for streaming. NOTE: This can be 0, 1, false or true | |
| `has_thumbnail` | [Optional[operations.GetMediaMetaDataHasThumbnail]](../../models/operations/getmediametadatahasthumbnail.md) | :heavy_minus_sign: | N/A | 1 |
| `stream` | List[[operations.GetMediaMetaDataStream](../../models/operations/getmediametadatastream.md)] | :heavy_minus_sign: | An array of streams for this part. | |

View File

@@ -9,13 +9,14 @@
| `stream_type` | *int* | :heavy_check_mark: | Stream type (1=video, 2=audio, 3=subtitle). | 1 | | `stream_type` | *int* | :heavy_check_mark: | Stream type (1=video, 2=audio, 3=subtitle). | 1 |
| `codec` | *str* | :heavy_check_mark: | Codec used by the stream. | hevc | | `codec` | *str* | :heavy_check_mark: | Codec used by the stream. | hevc |
| `index` | *int* | :heavy_check_mark: | Index of the stream. | 0 | | `index` | *int* | :heavy_check_mark: | Index of the stream. | 0 |
| `bitrate` | *int* | :heavy_check_mark: | Bitrate of the stream. | 24743 |
| `language` | *str* | :heavy_check_mark: | Language of the stream. | English | | `language` | *str* | :heavy_check_mark: | Language of the stream. | English |
| `language_tag` | *str* | :heavy_check_mark: | Language tag (e.g., en). | en | | `language_tag` | *str* | :heavy_check_mark: | Language tag (e.g., en). | en |
| `language_code` | *str* | :heavy_check_mark: | ISO language code. | eng | | `language_code` | *str* | :heavy_check_mark: | ISO language code. | eng |
| `display_title` | *str* | :heavy_check_mark: | Display title for the stream. | 4K DoVi/HDR10 (HEVC Main 10) | | `display_title` | *str* | :heavy_check_mark: | Display title for the stream. | 4K DoVi/HDR10 (HEVC Main 10) |
| `extended_display_title` | *str* | :heavy_check_mark: | Extended display title for the stream. | 4K DoVi/HDR10 (HEVC Main 10) | | `extended_display_title` | *str* | :heavy_check_mark: | Extended display title for the stream. | 4K DoVi/HDR10 (HEVC Main 10) |
| `default` | *Optional[bool]* | :heavy_minus_sign: | Indicates if this stream is default. | true | | `default` | *Optional[bool]* | :heavy_minus_sign: | Indicates if this stream is default. | true |
| `bitrate` | *Optional[int]* | :heavy_minus_sign: | Bitrate of the stream. | 24743 |
| `header_compression` | *Optional[bool]* | :heavy_minus_sign: | Indicates whether header compression is enabled. | true |
| `dovibl_compat_id` | *Optional[int]* | :heavy_minus_sign: | Dolby Vision BL compatibility ID. | 1 | | `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 | | `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 | | `doviel_present` | *Optional[bool]* | :heavy_minus_sign: | Indicates if Dolby Vision EL is present. | false |

View File

@@ -9,4 +9,5 @@
| `filter_type` | *str* | :heavy_check_mark: | N/A | string | | `filter_type` | *str* | :heavy_check_mark: | N/A | string |
| `key` | *str* | :heavy_check_mark: | N/A | /library/sections/2/genre?type=2 | | `key` | *str* | :heavy_check_mark: | N/A | /library/sections/2/genre?type=2 |
| `title` | *str* | :heavy_check_mark: | N/A | Genre | | `title` | *str* | :heavy_check_mark: | N/A | Genre |
| `type` | *str* | :heavy_check_mark: | N/A | filter | | `type` | *str* | :heavy_check_mark: | N/A | filter |
| `advanced` | *Optional[bool]* | :heavy_minus_sign: | N/A | true |

View File

@@ -11,4 +11,6 @@ The type of media content
| `MOVIE` | movie | | `MOVIE` | movie |
| `TV_SHOW` | show | | `TV_SHOW` | show |
| `SEASON` | season | | `SEASON` | season |
| `EPISODE` | episode | | `EPISODE` | episode |
| `ARTIST` | artist |
| `ALBUM` | album |

View File

@@ -9,4 +9,5 @@
| `filter_type` | *str* | :heavy_check_mark: | N/A | string | | `filter_type` | *str* | :heavy_check_mark: | N/A | string |
| `key` | *str* | :heavy_check_mark: | N/A | /library/sections/2/genre?type=2 | | `key` | *str* | :heavy_check_mark: | N/A | /library/sections/2/genre?type=2 |
| `title` | *str* | :heavy_check_mark: | N/A | Genre | | `title` | *str* | :heavy_check_mark: | N/A | Genre |
| `type` | *str* | :heavy_check_mark: | N/A | filter | | `type` | *str* | :heavy_check_mark: | N/A | filter |
| `advanced` | *Optional[bool]* | :heavy_minus_sign: | N/A | true |

View File

@@ -6,9 +6,10 @@
| Field | Type | Required | Description | Example | | Field | Type | Required | Description | Example |
| ---------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------- | | ---------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------- |
| `key` | *str* | :heavy_check_mark: | N/A | /library/sections/2/all?type=2 | | `key` | *str* | :heavy_check_mark: | N/A | /library/sections/2/all?type=2 |
| `type` | *str* | :heavy_check_mark: | N/A | show | | `type` | *str* | :heavy_check_mark: | N/A | filter |
| `title` | *str* | :heavy_check_mark: | N/A | TV Shows | | `title` | *str* | :heavy_check_mark: | N/A | TV Shows |
| `active` | *bool* | :heavy_check_mark: | N/A | false | | `active` | *bool* | :heavy_check_mark: | N/A | false |
| `subtype` | *Optional[str]* | :heavy_minus_sign: | N/A | clip |
| `filter_` | List[[operations.GetRecentlyAddedLibraryFilter](../../models/operations/getrecentlyaddedlibraryfilter.md)] | :heavy_minus_sign: | N/A | | | `filter_` | List[[operations.GetRecentlyAddedLibraryFilter](../../models/operations/getrecentlyaddedlibraryfilter.md)] | :heavy_minus_sign: | N/A | |
| `sort` | List[[operations.Sort](../../models/operations/sort.md)] | :heavy_minus_sign: | N/A | | | `sort` | List[[operations.Sort](../../models/operations/sort.md)] | :heavy_minus_sign: | N/A | |
| `field` | List[[operations.FieldT](../../models/operations/fieldt.md)] | :heavy_minus_sign: | N/A | | | `field` | List[[operations.FieldT](../../models/operations/fieldt.md)] | :heavy_minus_sign: | N/A | |

View File

@@ -5,7 +5,7 @@
| Field | Type | Required | Description | Example | | Field | Type | Required | Description | Example |
| ------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------ | | ------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------ |
| `size` | *float* | :heavy_check_mark: | N/A | 50 | | `size` | *int* | :heavy_check_mark: | N/A | 50 |
| `offset` | *Optional[int]* | :heavy_minus_sign: | N/A | | | `offset` | *Optional[int]* | :heavy_minus_sign: | N/A | |
| `total_size` | *Optional[int]* | :heavy_minus_sign: | N/A | | | `total_size` | *Optional[int]* | :heavy_minus_sign: | N/A | |
| `identifier` | *Optional[str]* | :heavy_minus_sign: | N/A | com.plexapp.plugins.library | | `identifier` | *Optional[str]* | :heavy_minus_sign: | N/A | com.plexapp.plugins.library |

View File

@@ -6,9 +6,10 @@
| Field | Type | Required | Description | Example | | Field | Type | Required | Description | Example |
| -------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------- | | -------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------- |
| `key` | *str* | :heavy_check_mark: | N/A | /library/sections/2/all?type=2 | | `key` | *str* | :heavy_check_mark: | N/A | /library/sections/2/all?type=2 |
| `type` | *str* | :heavy_check_mark: | N/A | show | | `type` | *str* | :heavy_check_mark: | N/A | filter |
| `title` | *str* | :heavy_check_mark: | N/A | TV Shows | | `title` | *str* | :heavy_check_mark: | N/A | TV Shows |
| `active` | *bool* | :heavy_check_mark: | N/A | false | | `active` | *bool* | :heavy_check_mark: | N/A | false |
| `subtype` | *Optional[str]* | :heavy_minus_sign: | N/A | clip |
| `filter_` | List[[operations.GetRecentlyAddedFilter](../../models/operations/getrecentlyaddedfilter.md)] | :heavy_minus_sign: | N/A | | | `filter_` | List[[operations.GetRecentlyAddedFilter](../../models/operations/getrecentlyaddedfilter.md)] | :heavy_minus_sign: | N/A | |
| `sort` | List[[operations.GetRecentlyAddedSort](../../models/operations/getrecentlyaddedsort.md)] | :heavy_minus_sign: | N/A | | | `sort` | List[[operations.GetRecentlyAddedSort](../../models/operations/getrecentlyaddedsort.md)] | :heavy_minus_sign: | N/A | |
| `field` | List[[operations.GetRecentlyAddedField](../../models/operations/getrecentlyaddedfield.md)] | :heavy_minus_sign: | N/A | | | `field` | List[[operations.GetRecentlyAddedField](../../models/operations/getrecentlyaddedfield.md)] | :heavy_minus_sign: | N/A | |

View File

@@ -0,0 +1,11 @@
# GetSearchAllLibrariesQueryParamIncludeCollections
Whether to include collections in the search results.
## Values
| Name | Value |
| --------- | --------- |
| `DISABLE` | 0 |
| `ENABLE` | 1 |

View File

@@ -0,0 +1,11 @@
# GetSearchAllLibrariesQueryParamIncludeExternalMedia
Whether to include external media in the search results.
## Values
| Name | Value |
| --------- | --------- |
| `DISABLE` | 0 |
| `ENABLE` | 1 |

View File

@@ -3,11 +3,11 @@
## Fields ## Fields
| Field | Type | Required | Description | Example | | Field | Type | Required | Description | Example |
| ---------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------- | | ---------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `query` | *str* | :heavy_check_mark: | The search query term. | | | `query` | *str* | :heavy_check_mark: | The search query term. | |
| `client_id` | *str* | :heavy_check_mark: | An opaque identifier unique to the client (UUID, serial number, or other unique device ID) | 3381b62b-9ab7-4e37-827b-203e9809eb58 | | `client_id` | *str* | :heavy_check_mark: | An opaque identifier unique to the client (UUID, serial number, or other unique device ID) | 3381b62b-9ab7-4e37-827b-203e9809eb58 |
| `limit` | *Optional[int]* | :heavy_minus_sign: | Limit the number of results returned. | | | `limit` | *Optional[int]* | :heavy_minus_sign: | Limit the number of results returned. | |
| `search_types` | List[[operations.SearchTypes](../../models/operations/searchtypes.md)] | :heavy_minus_sign: | A comma-separated list of search types to include. Valid values are: movies, music, otherVideos, people, tv.<br/> | movies,music,otherVideos,people,tv | | `search_types` | List[[operations.SearchTypes](../../models/operations/searchtypes.md)] | :heavy_minus_sign: | A comma-separated list of search types to include. Valid values are: movies, music, otherVideos, people, tv.<br/> | movies,music,otherVideos,people,tv |
| `include_collections` | [Optional[operations.QueryParamIncludeCollections]](../../models/operations/queryparamincludecollections.md) | :heavy_minus_sign: | Whether to include collections in the search results. | 1 | | `include_collections` | [Optional[operations.GetSearchAllLibrariesQueryParamIncludeCollections]](../../models/operations/getsearchalllibrariesqueryparamincludecollections.md) | :heavy_minus_sign: | Whether to include collections in the search results. | 1 |
| `include_external_media` | [Optional[operations.QueryParamIncludeExternalMedia]](../../models/operations/queryparamincludeexternalmedia.md) | :heavy_minus_sign: | Whether to include external media in the search results. | 1 | | `include_external_media` | [Optional[operations.GetSearchAllLibrariesQueryParamIncludeExternalMedia]](../../models/operations/getsearchalllibrariesqueryparamincludeexternalmedia.md) | :heavy_minus_sign: | Whether to include external media in the search results. | 1 |

View File

@@ -11,4 +11,6 @@ The type of media content
| `MOVIE` | movie | | `MOVIE` | movie |
| `TV_SHOW` | show | | `TV_SHOW` | show |
| `SEASON` | season | | `SEASON` | season |
| `EPISODE` | episode | | `EPISODE` | episode |
| `ARTIST` | artist |
| `ALBUM` | album |

View File

@@ -3,6 +3,6 @@
## Fields ## Fields
| Field | Type | Required | Description | Example | | Field | Type | Required | Description | Example |
| ------------------ | ------------------ | ------------------ | ------------------ | ------------------ | | -------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------- |
| `id` | *str* | :heavy_check_mark: | The GUID value. | imdb://tt3032476 | | `id` | *Optional[str]* | :heavy_minus_sign: | The unique identifier for the Guid. Can be imdb://tt0286347, tmdb://1763, tvdb://2337<br/> | tvdb://2337 |

View File

@@ -0,0 +1,9 @@
# IncludeAdvanced
## Values
| Name | Value |
| --------- | --------- |
| `DISABLE` | 0 |
| `ENABLE` | 1 |

View File

@@ -0,0 +1,9 @@
# One
## Values
| Name | Value |
| ------ | ------ |
| `ZERO` | 0 |
| `ONE` | 1 |

View File

@@ -0,0 +1,9 @@
# OptimizedForStreaming1
## Values
| Name | Value |
| ------ | ------ |
| `ZERO` | 0 |
| `ONE` | 1 |

View File

@@ -1,7 +1,5 @@
# QueryParamIncludeCollections # QueryParamIncludeCollections
Whether to include collections in the search results.
## Values ## Values

View File

@@ -1,7 +1,5 @@
# QueryParamIncludeExternalMedia # QueryParamIncludeExternalMedia
Whether to include external media in the search results.
## Values ## Values

View File

@@ -0,0 +1,12 @@
# QueryParamIncludeGuids
Adds the Guid object to the response
## Values
| Name | Value |
| --------- | --------- |
| `DISABLE` | 0 |
| `ENABLE` | 1 |

View File

@@ -1,4 +1,4 @@
# Rating # Ratings
## Fields ## Fields

View File

@@ -7,7 +7,6 @@ A key representing a specific tag within the section.
| Name | Value | | Name | Value |
| ----------------- | ----------------- | | ----------------- | ----------------- |
| `ALL` | all |
| `UNWATCHED` | unwatched | | `UNWATCHED` | unwatched |
| `NEWEST` | newest | | `NEWEST` | newest |
| `RECENTLY_ADDED` | recentlyAdded | | `RECENTLY_ADDED` | recentlyAdded |
@@ -15,12 +14,9 @@ A key representing a specific tag within the section.
| `ON_DECK` | onDeck | | `ON_DECK` | onDeck |
| `COLLECTION` | collection | | `COLLECTION` | collection |
| `EDITION` | edition | | `EDITION` | edition |
| `GENRE` | genre |
| `YEAR` | year | | `YEAR` | year |
| `DECADE` | decade | | `DECADE` | decade |
| `DIRECTOR` | director | | `DIRECTOR` | director |
| `ACTOR` | actor |
| `COUNTRY` | country |
| `CONTENT_RATING` | contentRating | | `CONTENT_RATING` | contentRating |
| `RATING` | rating | | `RATING` | rating |
| `RESOLUTION` | resolution | | `RESOLUTION` | resolution |

View File

@@ -14,6 +14,7 @@ API Calls interacting with Plex Media Server Libraries
* [get_library_details](#get_library_details) - Get Library Details * [get_library_details](#get_library_details) - Get Library Details
* [delete_library](#delete_library) - Delete Library Section * [delete_library](#delete_library) - Delete Library Section
* [get_library_items](#get_library_items) - Get Library Items * [get_library_items](#get_library_items) - Get Library Items
* [get_all_media_library](#get_all_media_library) - Get all media of library
* [get_refresh_library_metadata](#get_refresh_library_metadata) - Refresh Metadata Of The Library * [get_refresh_library_metadata](#get_refresh_library_metadata) - Refresh Metadata Of The Library
* [get_search_library](#get_search_library) - Search Library * [get_search_library](#get_search_library) - Search Library
* [get_genres_library](#get_genres_library) - Get Genres of library media * [get_genres_library](#get_genres_library) - Get Genres of library media
@@ -363,6 +364,52 @@ with PlexAPI(
| errors.GetLibraryItemsUnauthorized | 401 | application/json | | errors.GetLibraryItemsUnauthorized | 401 | application/json |
| errors.SDKError | 4XX, 5XX | \*/\* | | errors.SDKError | 4XX, 5XX | \*/\* |
## get_all_media_library
Retrieves a list of all general media data for this library.
### Example Usage
```python
from plex_api_client import PlexAPI
from plex_api_client.models import operations
with PlexAPI(
access_token="<YOUR_API_KEY_HERE>",
) as plex_api:
res = plex_api.library.get_all_media_library(request={
"section_key": 9518,
"type": operations.GetAllMediaLibraryQueryParamType.TV_SHOW,
})
assert res.object is not None
# Handle response
print(res.object)
```
### Parameters
| Parameter | Type | Required | Description |
| -------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------- |
| `request` | [operations.GetAllMediaLibraryRequest](../../models/operations/getallmedialibraryrequest.md) | :heavy_check_mark: | The request object to use for the request. |
| `retries` | [Optional[utils.RetryConfig]](../../models/utils/retryconfig.md) | :heavy_minus_sign: | Configuration to override the default retry behavior of the client. |
### Response
**[operations.GetAllMediaLibraryResponse](../../models/operations/getallmedialibraryresponse.md)**
### Errors
| Error Type | Status Code | Content Type |
| ------------------------------------- | ------------------------------------- | ------------------------------------- |
| errors.GetAllMediaLibraryBadRequest | 400 | application/json |
| errors.GetAllMediaLibraryUnauthorized | 401 | application/json |
| errors.SDKError | 4XX, 5XX | \*/\* |
## get_refresh_library_metadata ## get_refresh_library_metadata
This endpoint Refreshes all the Metadata of the library. This endpoint Refreshes all the Metadata of the library.

View File

@@ -1,6 +1,6 @@
[project] [project]
name = "plex-api-client" name = "plex-api-client"
version = "0.22.1" version = "0.23.0"
description = "Python Client SDK Generated by Speakeasy" description = "Python Client SDK Generated by Speakeasy"
authors = [{ name = "Speakeasy" },] authors = [{ name = "Speakeasy" },]
readme = "README-PYPI.md" readme = "README-PYPI.md"

View File

@@ -3,10 +3,10 @@
import importlib.metadata import importlib.metadata
__title__: str = "plex-api-client" __title__: str = "plex-api-client"
__version__: str = "0.22.1" __version__: str = "0.23.0"
__openapi_doc_version__: str = "0.0.3" __openapi_doc_version__: str = "0.0.3"
__gen_version__: str = "2.506.0" __gen_version__: str = "2.506.0"
__user_agent__: str = "speakeasy-sdk/python 0.22.1 2.506.0 0.0.3 plex-api-client" __user_agent__: str = "speakeasy-sdk/python 0.23.0 2.506.0 0.0.3 plex-api-client"
try: try:
if __package__ is not None: if __package__ is not None:

View File

@@ -1449,6 +1449,230 @@ class Library(BaseSDK):
http_res, http_res,
) )
def get_all_media_library(
self,
*,
request: Union[
operations.GetAllMediaLibraryRequest,
operations.GetAllMediaLibraryRequestTypedDict,
],
retries: OptionalNullable[utils.RetryConfig] = UNSET,
server_url: Optional[str] = None,
timeout_ms: Optional[int] = None,
http_headers: Optional[Mapping[str, str]] = None,
) -> operations.GetAllMediaLibraryResponse:
r"""Get all media of library
Retrieves a list of all general media data for this library.
:param request: The request object to send.
:param retries: Override the default retry configuration for this method
:param server_url: Override the default server URL for this method
:param timeout_ms: Override the default request timeout configuration for this method in milliseconds
:param http_headers: Additional headers to set or replace on requests.
"""
base_url = None
url_variables = None
if timeout_ms is None:
timeout_ms = self.sdk_configuration.timeout_ms
if server_url is not None:
base_url = server_url
if not isinstance(request, BaseModel):
request = utils.unmarshal(request, operations.GetAllMediaLibraryRequest)
request = cast(operations.GetAllMediaLibraryRequest, request)
req = self._build_request(
method="GET",
path="/library/sections/{sectionKey}/all",
base_url=base_url,
url_variables=url_variables,
request=request,
request_body_required=False,
request_has_path_params=True,
request_has_query_params=True,
user_agent_header="user-agent",
accept_header_value="application/json",
http_headers=http_headers,
security=self.sdk_configuration.security,
timeout_ms=timeout_ms,
)
if retries == UNSET:
if self.sdk_configuration.retry_config is not UNSET:
retries = self.sdk_configuration.retry_config
retry_config = None
if isinstance(retries, utils.RetryConfig):
retry_config = (retries, ["429", "500", "502", "503", "504"])
http_res = self.do_request(
hook_ctx=HookContext(
operation_id="get-all-media-library",
oauth2_scopes=[],
security_source=self.sdk_configuration.security,
),
request=req,
error_status_codes=["400", "401", "404", "4XX", "5XX"],
retry_config=retry_config,
)
response_data: Any = None
if utils.match_response(http_res, "200", "application/json"):
return operations.GetAllMediaLibraryResponse(
object=utils.unmarshal_json(
http_res.text, Optional[operations.GetAllMediaLibraryResponseBody]
),
status_code=http_res.status_code,
content_type=http_res.headers.get("Content-Type") or "",
raw_response=http_res,
)
if utils.match_response(http_res, "400", "application/json"):
response_data = utils.unmarshal_json(
http_res.text, errors.GetAllMediaLibraryBadRequestData
)
response_data.raw_response = http_res
raise errors.GetAllMediaLibraryBadRequest(data=response_data)
if utils.match_response(http_res, "401", "application/json"):
response_data = utils.unmarshal_json(
http_res.text, errors.GetAllMediaLibraryUnauthorizedData
)
response_data.raw_response = http_res
raise errors.GetAllMediaLibraryUnauthorized(data=response_data)
if utils.match_response(http_res, ["404", "4XX"], "*"):
http_res_text = utils.stream_to_text(http_res)
raise errors.SDKError(
"API error occurred", http_res.status_code, http_res_text, http_res
)
if utils.match_response(http_res, "5XX", "*"):
http_res_text = utils.stream_to_text(http_res)
raise errors.SDKError(
"API error occurred", http_res.status_code, http_res_text, http_res
)
content_type = http_res.headers.get("Content-Type")
http_res_text = utils.stream_to_text(http_res)
raise errors.SDKError(
f"Unexpected response received (code: {http_res.status_code}, type: {content_type})",
http_res.status_code,
http_res_text,
http_res,
)
async def get_all_media_library_async(
self,
*,
request: Union[
operations.GetAllMediaLibraryRequest,
operations.GetAllMediaLibraryRequestTypedDict,
],
retries: OptionalNullable[utils.RetryConfig] = UNSET,
server_url: Optional[str] = None,
timeout_ms: Optional[int] = None,
http_headers: Optional[Mapping[str, str]] = None,
) -> operations.GetAllMediaLibraryResponse:
r"""Get all media of library
Retrieves a list of all general media data for this library.
:param request: The request object to send.
:param retries: Override the default retry configuration for this method
:param server_url: Override the default server URL for this method
:param timeout_ms: Override the default request timeout configuration for this method in milliseconds
:param http_headers: Additional headers to set or replace on requests.
"""
base_url = None
url_variables = None
if timeout_ms is None:
timeout_ms = self.sdk_configuration.timeout_ms
if server_url is not None:
base_url = server_url
if not isinstance(request, BaseModel):
request = utils.unmarshal(request, operations.GetAllMediaLibraryRequest)
request = cast(operations.GetAllMediaLibraryRequest, request)
req = self._build_request_async(
method="GET",
path="/library/sections/{sectionKey}/all",
base_url=base_url,
url_variables=url_variables,
request=request,
request_body_required=False,
request_has_path_params=True,
request_has_query_params=True,
user_agent_header="user-agent",
accept_header_value="application/json",
http_headers=http_headers,
security=self.sdk_configuration.security,
timeout_ms=timeout_ms,
)
if retries == UNSET:
if self.sdk_configuration.retry_config is not UNSET:
retries = self.sdk_configuration.retry_config
retry_config = None
if isinstance(retries, utils.RetryConfig):
retry_config = (retries, ["429", "500", "502", "503", "504"])
http_res = await self.do_request_async(
hook_ctx=HookContext(
operation_id="get-all-media-library",
oauth2_scopes=[],
security_source=self.sdk_configuration.security,
),
request=req,
error_status_codes=["400", "401", "404", "4XX", "5XX"],
retry_config=retry_config,
)
response_data: Any = None
if utils.match_response(http_res, "200", "application/json"):
return operations.GetAllMediaLibraryResponse(
object=utils.unmarshal_json(
http_res.text, Optional[operations.GetAllMediaLibraryResponseBody]
),
status_code=http_res.status_code,
content_type=http_res.headers.get("Content-Type") or "",
raw_response=http_res,
)
if utils.match_response(http_res, "400", "application/json"):
response_data = utils.unmarshal_json(
http_res.text, errors.GetAllMediaLibraryBadRequestData
)
response_data.raw_response = http_res
raise errors.GetAllMediaLibraryBadRequest(data=response_data)
if utils.match_response(http_res, "401", "application/json"):
response_data = utils.unmarshal_json(
http_res.text, errors.GetAllMediaLibraryUnauthorizedData
)
response_data.raw_response = http_res
raise errors.GetAllMediaLibraryUnauthorized(data=response_data)
if utils.match_response(http_res, ["404", "4XX"], "*"):
http_res_text = await utils.stream_to_text_async(http_res)
raise errors.SDKError(
"API error occurred", http_res.status_code, http_res_text, http_res
)
if utils.match_response(http_res, "5XX", "*"):
http_res_text = await utils.stream_to_text_async(http_res)
raise errors.SDKError(
"API error occurred", http_res.status_code, http_res_text, http_res
)
content_type = http_res.headers.get("Content-Type")
http_res_text = await utils.stream_to_text_async(http_res)
raise errors.SDKError(
f"Unexpected response received (code: {http_res.status_code}, type: {content_type})",
http_res.status_code,
http_res_text,
http_res,
)
def get_refresh_library_metadata( def get_refresh_library_metadata(
self, self,
*, *,

View File

@@ -110,6 +110,16 @@ from .get_all_libraries import (
GetAllLibrariesUnauthorized, GetAllLibrariesUnauthorized,
GetAllLibrariesUnauthorizedData, GetAllLibrariesUnauthorizedData,
) )
from .get_all_media_library import (
GetAllMediaLibraryBadRequest,
GetAllMediaLibraryBadRequestData,
GetAllMediaLibraryErrors,
GetAllMediaLibraryErrorsTypedDict,
GetAllMediaLibraryLibraryErrors,
GetAllMediaLibraryLibraryErrorsTypedDict,
GetAllMediaLibraryUnauthorized,
GetAllMediaLibraryUnauthorizedData,
)
from .get_banner_image import ( from .get_banner_image import (
GetBannerImageBadRequest, GetBannerImageBadRequest,
GetBannerImageBadRequestData, GetBannerImageBadRequestData,
@@ -874,6 +884,14 @@ __all__ = [
"GetAllLibrariesLibraryErrorsTypedDict", "GetAllLibrariesLibraryErrorsTypedDict",
"GetAllLibrariesUnauthorized", "GetAllLibrariesUnauthorized",
"GetAllLibrariesUnauthorizedData", "GetAllLibrariesUnauthorizedData",
"GetAllMediaLibraryBadRequest",
"GetAllMediaLibraryBadRequestData",
"GetAllMediaLibraryErrors",
"GetAllMediaLibraryErrorsTypedDict",
"GetAllMediaLibraryLibraryErrors",
"GetAllMediaLibraryLibraryErrorsTypedDict",
"GetAllMediaLibraryUnauthorized",
"GetAllMediaLibraryUnauthorizedData",
"GetAvailableClientsBadRequest", "GetAvailableClientsBadRequest",
"GetAvailableClientsBadRequestData", "GetAvailableClientsBadRequestData",
"GetAvailableClientsErrors", "GetAvailableClientsErrors",

View File

@@ -0,0 +1,79 @@
"""Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT."""
from __future__ import annotations
import httpx
from plex_api_client import utils
from plex_api_client.types import BaseModel
import pydantic
from typing import List, Optional
from typing_extensions import Annotated, NotRequired, TypedDict
class GetAllMediaLibraryLibraryErrorsTypedDict(TypedDict):
code: NotRequired[int]
message: NotRequired[str]
status: NotRequired[int]
class GetAllMediaLibraryLibraryErrors(BaseModel):
code: Optional[int] = None
message: Optional[str] = None
status: Optional[int] = None
class GetAllMediaLibraryUnauthorizedData(BaseModel):
errors: Optional[List[GetAllMediaLibraryLibraryErrors]] = None
raw_response: Annotated[Optional[httpx.Response], pydantic.Field(exclude=True)] = (
None
)
r"""Raw HTTP response; suitable for custom response parsing"""
class GetAllMediaLibraryUnauthorized(Exception):
r"""Unauthorized - Returned if the X-Plex-Token is missing from the header or query."""
data: GetAllMediaLibraryUnauthorizedData
def __init__(self, data: GetAllMediaLibraryUnauthorizedData):
self.data = data
def __str__(self) -> str:
return utils.marshal_json(self.data, GetAllMediaLibraryUnauthorizedData)
class GetAllMediaLibraryErrorsTypedDict(TypedDict):
code: NotRequired[int]
message: NotRequired[str]
status: NotRequired[int]
class GetAllMediaLibraryErrors(BaseModel):
code: Optional[int] = None
message: Optional[str] = None
status: Optional[int] = None
class GetAllMediaLibraryBadRequestData(BaseModel):
errors: Optional[List[GetAllMediaLibraryErrors]] = None
raw_response: Annotated[Optional[httpx.Response], pydantic.Field(exclude=True)] = (
None
)
r"""Raw HTTP response; suitable for custom response parsing"""
class GetAllMediaLibraryBadRequest(Exception):
r"""Bad Request - A parameter was not specified, or was specified incorrectly."""
data: GetAllMediaLibraryBadRequestData
def __init__(self, data: GetAllMediaLibraryBadRequestData):
self.data = data
def __str__(self) -> str:
return utils.marshal_json(self.data, GetAllMediaLibraryBadRequestData)

View File

@@ -94,6 +94,73 @@ from .get_all_libraries import (
GetAllLibrariesResponseBodyTypedDict, GetAllLibrariesResponseBodyTypedDict,
GetAllLibrariesResponseTypedDict, GetAllLibrariesResponseTypedDict,
) )
from .get_all_media_library import (
GetAllMediaLibraryActiveDirection,
GetAllMediaLibraryCollection,
GetAllMediaLibraryCollectionTypedDict,
GetAllMediaLibraryCountry,
GetAllMediaLibraryCountryTypedDict,
GetAllMediaLibraryDefaultDirection,
GetAllMediaLibraryDirector,
GetAllMediaLibraryDirectorTypedDict,
GetAllMediaLibraryField,
GetAllMediaLibraryFieldType,
GetAllMediaLibraryFieldTypeTypedDict,
GetAllMediaLibraryFieldTypedDict,
GetAllMediaLibraryFilter,
GetAllMediaLibraryFilterTypedDict,
GetAllMediaLibraryGenre,
GetAllMediaLibraryGenreTypedDict,
GetAllMediaLibraryHasThumbnail,
GetAllMediaLibraryImage,
GetAllMediaLibraryImageTypedDict,
GetAllMediaLibraryLibraryOptimizedForStreaming,
GetAllMediaLibraryLibraryOptimizedForStreamingTypedDict,
GetAllMediaLibraryLibraryResponseType,
GetAllMediaLibraryLibraryType,
GetAllMediaLibraryMedia,
GetAllMediaLibraryMediaContainer,
GetAllMediaLibraryMediaContainerTypedDict,
GetAllMediaLibraryMediaTypedDict,
GetAllMediaLibraryMeta,
GetAllMediaLibraryMetaTypedDict,
GetAllMediaLibraryMetadata,
GetAllMediaLibraryMetadataTypedDict,
GetAllMediaLibraryOperator,
GetAllMediaLibraryOperatorTypedDict,
GetAllMediaLibraryOptimizedForStreaming,
GetAllMediaLibraryOptimizedForStreaming1,
GetAllMediaLibraryOptimizedForStreamingTypedDict,
GetAllMediaLibraryPart,
GetAllMediaLibraryPartTypedDict,
GetAllMediaLibraryQueryParamIncludeMeta,
GetAllMediaLibraryQueryParamType,
GetAllMediaLibraryRequest,
GetAllMediaLibraryRequestTypedDict,
GetAllMediaLibraryResponse,
GetAllMediaLibraryResponseBody,
GetAllMediaLibraryResponseBodyTypedDict,
GetAllMediaLibraryResponseTypedDict,
GetAllMediaLibraryRole,
GetAllMediaLibraryRoleTypedDict,
GetAllMediaLibrarySort,
GetAllMediaLibrarySortTypedDict,
GetAllMediaLibraryStream,
GetAllMediaLibraryStreamTypedDict,
GetAllMediaLibraryType,
GetAllMediaLibraryTypeTypedDict,
GetAllMediaLibraryUltraBlurColors,
GetAllMediaLibraryUltraBlurColorsTypedDict,
GetAllMediaLibraryWriter,
GetAllMediaLibraryWriterTypedDict,
Guids,
GuidsTypedDict,
IncludeAdvanced,
One,
QueryParamIncludeCollections,
QueryParamIncludeExternalMedia,
QueryParamIncludeGuids,
)
from .get_banner_image import ( from .get_banner_image import (
GetBannerImageRequest, GetBannerImageRequest,
GetBannerImageRequestTypedDict, GetBannerImageRequestTypedDict,
@@ -240,8 +307,13 @@ from .get_media_meta_data import (
GetMediaMetaDataDirectorTypedDict, GetMediaMetaDataDirectorTypedDict,
GetMediaMetaDataGenre, GetMediaMetaDataGenre,
GetMediaMetaDataGenreTypedDict, GetMediaMetaDataGenreTypedDict,
GetMediaMetaDataGuids,
GetMediaMetaDataGuidsTypedDict,
GetMediaMetaDataHasThumbnail,
GetMediaMetaDataImage, GetMediaMetaDataImage,
GetMediaMetaDataImageTypedDict, GetMediaMetaDataImageTypedDict,
GetMediaMetaDataLibraryOptimizedForStreaming,
GetMediaMetaDataLibraryOptimizedForStreamingTypedDict,
GetMediaMetaDataLocation, GetMediaMetaDataLocation,
GetMediaMetaDataLocationTypedDict, GetMediaMetaDataLocationTypedDict,
GetMediaMetaDataMedia, GetMediaMetaDataMedia,
@@ -250,6 +322,9 @@ from .get_media_meta_data import (
GetMediaMetaDataMediaTypedDict, GetMediaMetaDataMediaTypedDict,
GetMediaMetaDataMetadata, GetMediaMetaDataMetadata,
GetMediaMetaDataMetadataTypedDict, GetMediaMetaDataMetadataTypedDict,
GetMediaMetaDataOptimizedForStreaming,
GetMediaMetaDataOptimizedForStreaming1,
GetMediaMetaDataOptimizedForStreamingTypedDict,
GetMediaMetaDataPart, GetMediaMetaDataPart,
GetMediaMetaDataPartTypedDict, GetMediaMetaDataPartTypedDict,
GetMediaMetaDataRequest, GetMediaMetaDataRequest,
@@ -266,12 +341,11 @@ from .get_media_meta_data import (
GetMediaMetaDataUltraBlurColorsTypedDict, GetMediaMetaDataUltraBlurColorsTypedDict,
GetMediaMetaDataWriter, GetMediaMetaDataWriter,
GetMediaMetaDataWriterTypedDict, GetMediaMetaDataWriterTypedDict,
Guids, OptimizedForStreaming1,
GuidsTypedDict,
Producer, Producer,
ProducerTypedDict, ProducerTypedDict,
Rating, Ratings,
RatingTypedDict, RatingsTypedDict,
Similar, Similar,
SimilarTypedDict, SimilarTypedDict,
) )
@@ -441,6 +515,8 @@ from .get_search_all_libraries import (
GetSearchAllLibrariesOptimizedForStreaming, GetSearchAllLibrariesOptimizedForStreaming,
GetSearchAllLibrariesPart, GetSearchAllLibrariesPart,
GetSearchAllLibrariesPartTypedDict, GetSearchAllLibrariesPartTypedDict,
GetSearchAllLibrariesQueryParamIncludeCollections,
GetSearchAllLibrariesQueryParamIncludeExternalMedia,
GetSearchAllLibrariesRequest, GetSearchAllLibrariesRequest,
GetSearchAllLibrariesRequestTypedDict, GetSearchAllLibrariesRequestTypedDict,
GetSearchAllLibrariesResponse, GetSearchAllLibrariesResponse,
@@ -457,8 +533,6 @@ from .get_search_all_libraries import (
GetSearchAllLibrariesUltraBlurColorsTypedDict, GetSearchAllLibrariesUltraBlurColorsTypedDict,
GetSearchAllLibrariesWriter, GetSearchAllLibrariesWriter,
GetSearchAllLibrariesWriterTypedDict, GetSearchAllLibrariesWriterTypedDict,
QueryParamIncludeCollections,
QueryParamIncludeExternalMedia,
SearchResult, SearchResult,
SearchResultTypedDict, SearchResultTypedDict,
SearchTypes, SearchTypes,
@@ -1272,6 +1346,64 @@ __all__ = [
"GetAllLibrariesResponseBody", "GetAllLibrariesResponseBody",
"GetAllLibrariesResponseBodyTypedDict", "GetAllLibrariesResponseBodyTypedDict",
"GetAllLibrariesResponseTypedDict", "GetAllLibrariesResponseTypedDict",
"GetAllMediaLibraryActiveDirection",
"GetAllMediaLibraryCollection",
"GetAllMediaLibraryCollectionTypedDict",
"GetAllMediaLibraryCountry",
"GetAllMediaLibraryCountryTypedDict",
"GetAllMediaLibraryDefaultDirection",
"GetAllMediaLibraryDirector",
"GetAllMediaLibraryDirectorTypedDict",
"GetAllMediaLibraryField",
"GetAllMediaLibraryFieldType",
"GetAllMediaLibraryFieldTypeTypedDict",
"GetAllMediaLibraryFieldTypedDict",
"GetAllMediaLibraryFilter",
"GetAllMediaLibraryFilterTypedDict",
"GetAllMediaLibraryGenre",
"GetAllMediaLibraryGenreTypedDict",
"GetAllMediaLibraryHasThumbnail",
"GetAllMediaLibraryImage",
"GetAllMediaLibraryImageTypedDict",
"GetAllMediaLibraryLibraryOptimizedForStreaming",
"GetAllMediaLibraryLibraryOptimizedForStreamingTypedDict",
"GetAllMediaLibraryLibraryResponseType",
"GetAllMediaLibraryLibraryType",
"GetAllMediaLibraryMedia",
"GetAllMediaLibraryMediaContainer",
"GetAllMediaLibraryMediaContainerTypedDict",
"GetAllMediaLibraryMediaTypedDict",
"GetAllMediaLibraryMeta",
"GetAllMediaLibraryMetaTypedDict",
"GetAllMediaLibraryMetadata",
"GetAllMediaLibraryMetadataTypedDict",
"GetAllMediaLibraryOperator",
"GetAllMediaLibraryOperatorTypedDict",
"GetAllMediaLibraryOptimizedForStreaming",
"GetAllMediaLibraryOptimizedForStreaming1",
"GetAllMediaLibraryOptimizedForStreamingTypedDict",
"GetAllMediaLibraryPart",
"GetAllMediaLibraryPartTypedDict",
"GetAllMediaLibraryQueryParamIncludeMeta",
"GetAllMediaLibraryQueryParamType",
"GetAllMediaLibraryRequest",
"GetAllMediaLibraryRequestTypedDict",
"GetAllMediaLibraryResponse",
"GetAllMediaLibraryResponseBody",
"GetAllMediaLibraryResponseBodyTypedDict",
"GetAllMediaLibraryResponseTypedDict",
"GetAllMediaLibraryRole",
"GetAllMediaLibraryRoleTypedDict",
"GetAllMediaLibrarySort",
"GetAllMediaLibrarySortTypedDict",
"GetAllMediaLibraryStream",
"GetAllMediaLibraryStreamTypedDict",
"GetAllMediaLibraryType",
"GetAllMediaLibraryTypeTypedDict",
"GetAllMediaLibraryUltraBlurColors",
"GetAllMediaLibraryUltraBlurColorsTypedDict",
"GetAllMediaLibraryWriter",
"GetAllMediaLibraryWriterTypedDict",
"GetAvailableClientsMediaContainer", "GetAvailableClientsMediaContainer",
"GetAvailableClientsMediaContainerTypedDict", "GetAvailableClientsMediaContainerTypedDict",
"GetAvailableClientsResponse", "GetAvailableClientsResponse",
@@ -1482,8 +1614,13 @@ __all__ = [
"GetMediaMetaDataDirectorTypedDict", "GetMediaMetaDataDirectorTypedDict",
"GetMediaMetaDataGenre", "GetMediaMetaDataGenre",
"GetMediaMetaDataGenreTypedDict", "GetMediaMetaDataGenreTypedDict",
"GetMediaMetaDataGuids",
"GetMediaMetaDataGuidsTypedDict",
"GetMediaMetaDataHasThumbnail",
"GetMediaMetaDataImage", "GetMediaMetaDataImage",
"GetMediaMetaDataImageTypedDict", "GetMediaMetaDataImageTypedDict",
"GetMediaMetaDataLibraryOptimizedForStreaming",
"GetMediaMetaDataLibraryOptimizedForStreamingTypedDict",
"GetMediaMetaDataLocation", "GetMediaMetaDataLocation",
"GetMediaMetaDataLocationTypedDict", "GetMediaMetaDataLocationTypedDict",
"GetMediaMetaDataMedia", "GetMediaMetaDataMedia",
@@ -1492,6 +1629,9 @@ __all__ = [
"GetMediaMetaDataMediaTypedDict", "GetMediaMetaDataMediaTypedDict",
"GetMediaMetaDataMetadata", "GetMediaMetaDataMetadata",
"GetMediaMetaDataMetadataTypedDict", "GetMediaMetaDataMetadataTypedDict",
"GetMediaMetaDataOptimizedForStreaming",
"GetMediaMetaDataOptimizedForStreaming1",
"GetMediaMetaDataOptimizedForStreamingTypedDict",
"GetMediaMetaDataPart", "GetMediaMetaDataPart",
"GetMediaMetaDataPartTypedDict", "GetMediaMetaDataPartTypedDict",
"GetMediaMetaDataRequest", "GetMediaMetaDataRequest",
@@ -1703,6 +1843,8 @@ __all__ = [
"GetSearchAllLibrariesOptimizedForStreaming", "GetSearchAllLibrariesOptimizedForStreaming",
"GetSearchAllLibrariesPart", "GetSearchAllLibrariesPart",
"GetSearchAllLibrariesPartTypedDict", "GetSearchAllLibrariesPartTypedDict",
"GetSearchAllLibrariesQueryParamIncludeCollections",
"GetSearchAllLibrariesQueryParamIncludeExternalMedia",
"GetSearchAllLibrariesRequest", "GetSearchAllLibrariesRequest",
"GetSearchAllLibrariesRequestTypedDict", "GetSearchAllLibrariesRequestTypedDict",
"GetSearchAllLibrariesResponse", "GetSearchAllLibrariesResponse",
@@ -1917,6 +2059,7 @@ __all__ = [
"HubTypedDict", "HubTypedDict",
"Image", "Image",
"ImageTypedDict", "ImageTypedDict",
"IncludeAdvanced",
"IncludeCollections", "IncludeCollections",
"IncludeDetails", "IncludeDetails",
"IncludeExternalMedia", "IncludeExternalMedia",
@@ -1964,10 +2107,12 @@ __all__ = [
"MinSize", "MinSize",
"MyPlex", "MyPlex",
"MyPlexTypedDict", "MyPlexTypedDict",
"One",
"OnlyTransient", "OnlyTransient",
"Operator", "Operator",
"OperatorTypedDict", "OperatorTypedDict",
"OptimizedForStreaming", "OptimizedForStreaming",
"OptimizedForStreaming1",
"Owned", "Owned",
"POST_USERS_SIGN_IN_DATA_SERVERS", "POST_USERS_SIGN_IN_DATA_SERVERS",
"Part", "Part",
@@ -2028,12 +2173,13 @@ __all__ = [
"QueryParamForce", "QueryParamForce",
"QueryParamIncludeCollections", "QueryParamIncludeCollections",
"QueryParamIncludeExternalMedia", "QueryParamIncludeExternalMedia",
"QueryParamIncludeGuids",
"QueryParamIncludeMeta", "QueryParamIncludeMeta",
"QueryParamOnlyTransient", "QueryParamOnlyTransient",
"QueryParamSmart", "QueryParamSmart",
"QueryParamType", "QueryParamType",
"Rating", "Ratings",
"RatingTypedDict", "RatingsTypedDict",
"Release", "Release",
"ReleaseTypedDict", "ReleaseTypedDict",
"ResponseBody", "ResponseBody",

View File

@@ -97,7 +97,8 @@ class GetActorsLibraryDirectory(BaseModel):
class GetActorsLibraryMediaContainerTypedDict(TypedDict): class GetActorsLibraryMediaContainerTypedDict(TypedDict):
size: float size: int
r"""Number of media items returned in this response."""
allow_sync: bool allow_sync: bool
r"""Indicates whether syncing is allowed.""" r"""Indicates whether syncing is allowed."""
art: str art: str
@@ -125,7 +126,8 @@ class GetActorsLibraryMediaContainerTypedDict(TypedDict):
class GetActorsLibraryMediaContainer(BaseModel): class GetActorsLibraryMediaContainer(BaseModel):
size: float size: int
r"""Number of media items returned in this response."""
allow_sync: Annotated[bool, pydantic.Field(alias="allowSync")] allow_sync: Annotated[bool, pydantic.Field(alias="allowSync")]
r"""Indicates whether syncing is allowed.""" r"""Indicates whether syncing is allowed."""

File diff suppressed because it is too large Load Diff

View File

@@ -86,51 +86,69 @@ class GetCountriesLibraryDirectory(BaseModel):
class GetCountriesLibraryMediaContainerTypedDict(TypedDict): class GetCountriesLibraryMediaContainerTypedDict(TypedDict):
size: float size: int
identifier: str r"""Number of media items returned in this response."""
allow_sync: bool allow_sync: bool
r"""Indicates whether syncing is allowed."""
art: str art: str
r"""URL for the background artwork of the media container."""
content: str content: str
r"""The content type or mode."""
identifier: str
r"""An plugin identifier for the media container."""
media_tag_prefix: str media_tag_prefix: str
r"""The prefix used for media tag resource paths."""
media_tag_version: int media_tag_version: int
r"""The version number for media tags."""
nocache: bool nocache: bool
r"""Specifies whether caching is disabled."""
thumb: str thumb: str
r"""URL for the thumbnail image of the media container."""
title1: str title1: str
r"""The primary title of the media container."""
title2: str title2: str
r"""The secondary title of the media container."""
view_group: str view_group: str
offset: NotRequired[int] r"""Identifier for the view group layout."""
total_size: NotRequired[int]
directory: NotRequired[List[GetCountriesLibraryDirectoryTypedDict]] directory: NotRequired[List[GetCountriesLibraryDirectoryTypedDict]]
class GetCountriesLibraryMediaContainer(BaseModel): class GetCountriesLibraryMediaContainer(BaseModel):
size: float size: int
r"""Number of media items returned in this response."""
identifier: str
allow_sync: Annotated[bool, pydantic.Field(alias="allowSync")] allow_sync: Annotated[bool, pydantic.Field(alias="allowSync")]
r"""Indicates whether syncing is allowed."""
art: str art: str
r"""URL for the background artwork of the media container."""
content: str content: str
r"""The content type or mode."""
identifier: str
r"""An plugin identifier for the media container."""
media_tag_prefix: Annotated[str, pydantic.Field(alias="mediaTagPrefix")] media_tag_prefix: Annotated[str, pydantic.Field(alias="mediaTagPrefix")]
r"""The prefix used for media tag resource paths."""
media_tag_version: Annotated[int, pydantic.Field(alias="mediaTagVersion")] media_tag_version: Annotated[int, pydantic.Field(alias="mediaTagVersion")]
r"""The version number for media tags."""
nocache: bool nocache: bool
r"""Specifies whether caching is disabled."""
thumb: str thumb: str
r"""URL for the thumbnail image of the media container."""
title1: str title1: str
r"""The primary title of the media container."""
title2: str title2: str
r"""The secondary title of the media container."""
view_group: Annotated[str, pydantic.Field(alias="viewGroup")] view_group: Annotated[str, pydantic.Field(alias="viewGroup")]
r"""Identifier for the view group layout."""
offset: Optional[int] = None
total_size: Annotated[Optional[int], pydantic.Field(alias="totalSize")] = None
directory: Annotated[ directory: Annotated[
Optional[List[GetCountriesLibraryDirectory]], pydantic.Field(alias="Directory") Optional[List[GetCountriesLibraryDirectory]], pydantic.Field(alias="Directory")

View File

@@ -89,51 +89,69 @@ class GetGenresLibraryDirectory(BaseModel):
class GetGenresLibraryMediaContainerTypedDict(TypedDict): class GetGenresLibraryMediaContainerTypedDict(TypedDict):
size: float size: int
identifier: str r"""Number of media items returned in this response."""
allow_sync: bool allow_sync: bool
r"""Indicates whether syncing is allowed."""
art: str art: str
r"""URL for the background artwork of the media container."""
content: str content: str
r"""The content type or mode."""
identifier: str
r"""An plugin identifier for the media container."""
media_tag_prefix: str media_tag_prefix: str
r"""The prefix used for media tag resource paths."""
media_tag_version: int media_tag_version: int
r"""The version number for media tags."""
nocache: bool nocache: bool
r"""Specifies whether caching is disabled."""
thumb: str thumb: str
r"""URL for the thumbnail image of the media container."""
title1: str title1: str
r"""The primary title of the media container."""
title2: str title2: str
r"""The secondary title of the media container."""
view_group: str view_group: str
offset: NotRequired[int] r"""Identifier for the view group layout."""
total_size: NotRequired[int]
directory: NotRequired[List[GetGenresLibraryDirectoryTypedDict]] directory: NotRequired[List[GetGenresLibraryDirectoryTypedDict]]
class GetGenresLibraryMediaContainer(BaseModel): class GetGenresLibraryMediaContainer(BaseModel):
size: float size: int
r"""Number of media items returned in this response."""
identifier: str
allow_sync: Annotated[bool, pydantic.Field(alias="allowSync")] allow_sync: Annotated[bool, pydantic.Field(alias="allowSync")]
r"""Indicates whether syncing is allowed."""
art: str art: str
r"""URL for the background artwork of the media container."""
content: str content: str
r"""The content type or mode."""
identifier: str
r"""An plugin identifier for the media container."""
media_tag_prefix: Annotated[str, pydantic.Field(alias="mediaTagPrefix")] media_tag_prefix: Annotated[str, pydantic.Field(alias="mediaTagPrefix")]
r"""The prefix used for media tag resource paths."""
media_tag_version: Annotated[int, pydantic.Field(alias="mediaTagVersion")] media_tag_version: Annotated[int, pydantic.Field(alias="mediaTagVersion")]
r"""The version number for media tags."""
nocache: bool nocache: bool
r"""Specifies whether caching is disabled."""
thumb: str thumb: str
r"""URL for the thumbnail image of the media container."""
title1: str title1: str
r"""The primary title of the media container."""
title2: str title2: str
r"""The secondary title of the media container."""
view_group: Annotated[str, pydantic.Field(alias="viewGroup")] view_group: Annotated[str, pydantic.Field(alias="viewGroup")]
r"""Identifier for the view group layout."""
offset: Optional[int] = None
total_size: Annotated[Optional[int], pydantic.Field(alias="totalSize")] = None
directory: Annotated[ directory: Annotated[
Optional[List[GetGenresLibraryDirectory]], pydantic.Field(alias="Directory") Optional[List[GetGenresLibraryDirectory]], pydantic.Field(alias="Directory")

View File

@@ -14,7 +14,6 @@ from typing_extensions import Annotated, NotRequired, TypedDict
class Tag(str, Enum): class Tag(str, Enum):
r"""A key representing a specific tag within the section.""" r"""A key representing a specific tag within the section."""
ALL = "all"
UNWATCHED = "unwatched" UNWATCHED = "unwatched"
NEWEST = "newest" NEWEST = "newest"
RECENTLY_ADDED = "recentlyAdded" RECENTLY_ADDED = "recentlyAdded"
@@ -22,12 +21,9 @@ class Tag(str, Enum):
ON_DECK = "onDeck" ON_DECK = "onDeck"
COLLECTION = "collection" COLLECTION = "collection"
EDITION = "edition" EDITION = "edition"
GENRE = "genre"
YEAR = "year" YEAR = "year"
DECADE = "decade" DECADE = "decade"
DIRECTOR = "director" DIRECTOR = "director"
ACTOR = "actor"
COUNTRY = "country"
CONTENT_RATING = "contentRating" CONTENT_RATING = "contentRating"
RATING = "rating" RATING = "rating"
RESOLUTION = "resolution" RESOLUTION = "resolution"
@@ -184,6 +180,7 @@ class GetLibraryItemsFilterTypedDict(TypedDict):
key: str key: str
title: str title: str
type: str type: str
advanced: NotRequired[bool]
class GetLibraryItemsFilter(BaseModel): class GetLibraryItemsFilter(BaseModel):
@@ -197,6 +194,8 @@ class GetLibraryItemsFilter(BaseModel):
type: str type: str
advanced: Optional[bool] = None
class GetLibraryItemsActiveDirection(str, Enum): class GetLibraryItemsActiveDirection(str, Enum):
r"""The direction of the sort. Can be either `asc` or `desc`.""" r"""The direction of the sort. Can be either `asc` or `desc`."""
@@ -283,6 +282,7 @@ class GetLibraryItemsTypeTypedDict(TypedDict):
type: str type: str
title: str title: str
active: bool active: bool
subtype: NotRequired[str]
filter_: NotRequired[List[GetLibraryItemsFilterTypedDict]] filter_: NotRequired[List[GetLibraryItemsFilterTypedDict]]
sort: NotRequired[List[GetLibraryItemsSortTypedDict]] sort: NotRequired[List[GetLibraryItemsSortTypedDict]]
field: NotRequired[List[GetLibraryItemsFieldTypedDict]] field: NotRequired[List[GetLibraryItemsFieldTypedDict]]
@@ -297,6 +297,8 @@ class GetLibraryItemsType(BaseModel):
active: bool active: bool
subtype: Optional[str] = None
filter_: Annotated[ filter_: Annotated[
Optional[List[GetLibraryItemsFilter]], pydantic.Field(alias="Filter") Optional[List[GetLibraryItemsFilter]], pydantic.Field(alias="Filter")
] = None ] = None
@@ -339,6 +341,8 @@ class GetLibraryItemsLibraryType(str, Enum):
TV_SHOW = "show" TV_SHOW = "show"
SEASON = "season" SEASON = "season"
EPISODE = "episode" EPISODE = "episode"
ARTIST = "artist"
ALBUM = "album"
class GetLibraryItemsFlattenSeasons(str, Enum): class GetLibraryItemsFlattenSeasons(str, Enum):

View File

@@ -2,12 +2,13 @@
from __future__ import annotations from __future__ import annotations
from datetime import date from datetime import date
from enum import Enum
import httpx import httpx
from plex_api_client.types import BaseModel from plex_api_client.types import BaseModel
from plex_api_client.utils import FieldMetadata, PathParamMetadata, QueryParamMetadata from plex_api_client.utils import FieldMetadata, PathParamMetadata, QueryParamMetadata
import pydantic import pydantic
from typing import List, Optional from typing import List, Optional, Union
from typing_extensions import Annotated, NotRequired, TypedDict from typing_extensions import Annotated, NotRequired, TypeAliasType, TypedDict
class GetMediaMetaDataRequestTypedDict(TypedDict): class GetMediaMetaDataRequestTypedDict(TypedDict):
@@ -141,6 +142,50 @@ class GetMediaMetaDataRequest(BaseModel):
r"""Trigger asynchronous refresh of the local media agent.""" r"""Trigger asynchronous refresh of the local media agent."""
class OptimizedForStreaming1(int, Enum):
ZERO = 0
ONE = 1
GetMediaMetaDataOptimizedForStreamingTypedDict = TypeAliasType(
"GetMediaMetaDataOptimizedForStreamingTypedDict",
Union[OptimizedForStreaming1, bool],
)
r"""Has this media been optimized for streaming. NOTE: This can be 0, 1, false or true"""
GetMediaMetaDataOptimizedForStreaming = TypeAliasType(
"GetMediaMetaDataOptimizedForStreaming", Union[OptimizedForStreaming1, bool]
)
r"""Has this media been optimized for streaming. NOTE: This can be 0, 1, false or true"""
class GetMediaMetaDataOptimizedForStreaming1(int, Enum):
ZERO = 0
ONE = 1
GetMediaMetaDataLibraryOptimizedForStreamingTypedDict = TypeAliasType(
"GetMediaMetaDataLibraryOptimizedForStreamingTypedDict",
Union[GetMediaMetaDataOptimizedForStreaming1, bool],
)
r"""Has this media been optimized for streaming. NOTE: This can be 0, 1, false or true"""
GetMediaMetaDataLibraryOptimizedForStreaming = TypeAliasType(
"GetMediaMetaDataLibraryOptimizedForStreaming",
Union[GetMediaMetaDataOptimizedForStreaming1, bool],
)
r"""Has this media been optimized for streaming. NOTE: This can be 0, 1, false or true"""
class GetMediaMetaDataHasThumbnail(str, Enum):
r"""Indicates if the part has a thumbnail."""
FALSE = "0"
TRUE = "1"
class GetMediaMetaDataStreamTypedDict(TypedDict): class GetMediaMetaDataStreamTypedDict(TypedDict):
id: int id: int
r"""Unique stream identifier.""" r"""Unique stream identifier."""
@@ -150,8 +195,6 @@ class GetMediaMetaDataStreamTypedDict(TypedDict):
r"""Codec used by the stream.""" r"""Codec used by the stream."""
index: int index: int
r"""Index of the stream.""" r"""Index of the stream."""
bitrate: int
r"""Bitrate of the stream."""
language: str language: str
r"""Language of the stream.""" r"""Language of the stream."""
language_tag: str language_tag: str
@@ -164,6 +207,10 @@ class GetMediaMetaDataStreamTypedDict(TypedDict):
r"""Extended display title for the stream.""" r"""Extended display title for the stream."""
default: NotRequired[bool] default: NotRequired[bool]
r"""Indicates if this stream is default.""" r"""Indicates if this stream is default."""
bitrate: NotRequired[int]
r"""Bitrate of the stream."""
header_compression: NotRequired[bool]
r"""Indicates whether header compression is enabled."""
dovibl_compat_id: NotRequired[int] dovibl_compat_id: NotRequired[int]
r"""Dolby Vision BL compatibility ID.""" r"""Dolby Vision BL compatibility ID."""
dovibl_present: NotRequired[bool] dovibl_present: NotRequired[bool]
@@ -246,9 +293,6 @@ class GetMediaMetaDataStream(BaseModel):
index: int index: int
r"""Index of the stream.""" r"""Index of the stream."""
bitrate: int
r"""Bitrate of the stream."""
language: str language: str
r"""Language of the stream.""" r"""Language of the stream."""
@@ -267,6 +311,14 @@ class GetMediaMetaDataStream(BaseModel):
default: Optional[bool] = None default: Optional[bool] = None
r"""Indicates if this stream is default.""" r"""Indicates if this stream is default."""
bitrate: Optional[int] = None
r"""Bitrate of the stream."""
header_compression: Annotated[
Optional[bool], pydantic.Field(alias="headerCompression")
] = None
r"""Indicates whether header compression is enabled."""
dovibl_compat_id: Annotated[ dovibl_compat_id: Annotated[
Optional[int], pydantic.Field(alias="DOVIBLCompatID") Optional[int], pydantic.Field(alias="DOVIBLCompatID")
] = None ] = None
@@ -395,23 +447,32 @@ class GetMediaMetaDataPartTypedDict(TypedDict):
r"""Unique part identifier.""" r"""Unique part identifier."""
key: str key: str
r"""Key to access this part.""" r"""Key to access this part."""
duration: int
r"""Duration of the part in milliseconds."""
file: str file: str
r"""File path for the part.""" r"""File path for the part."""
size: int size: int
r"""File size in bytes.""" r"""File size in bytes."""
container: str
r"""Container format of the part."""
video_profile: str
r"""Video profile for the part."""
stream: List[GetMediaMetaDataStreamTypedDict]
r"""An array of streams for this part."""
accessible: NotRequired[bool] accessible: NotRequired[bool]
r"""Indicates if the part is accessible.""" r"""Indicates if the part is accessible."""
exists: NotRequired[bool] exists: NotRequired[bool]
r"""Indicates if the part exists.""" r"""Indicates if the part exists."""
indexes: NotRequired[str] indexes: NotRequired[str]
duration: NotRequired[int]
r"""Duration of the part in milliseconds."""
packet_length: NotRequired[int]
container: NotRequired[str]
r"""Container format of the part."""
video_profile: NotRequired[str]
r"""Video profile for the part."""
audio_profile: NotRequired[str]
r"""The audio profile used for the media (e.g., DTS, Dolby Digital, etc.)."""
has64bit_offsets: NotRequired[bool]
optimized_for_streaming: NotRequired[
GetMediaMetaDataLibraryOptimizedForStreamingTypedDict
]
r"""Has this media been optimized for streaming. NOTE: This can be 0, 1, false or true"""
has_thumbnail: NotRequired[GetMediaMetaDataHasThumbnail]
stream: NotRequired[List[GetMediaMetaDataStreamTypedDict]]
r"""An array of streams for this part."""
class GetMediaMetaDataPart(BaseModel): class GetMediaMetaDataPart(BaseModel):
@@ -421,24 +482,12 @@ class GetMediaMetaDataPart(BaseModel):
key: str key: str
r"""Key to access this part.""" r"""Key to access this part."""
duration: int
r"""Duration of the part in milliseconds."""
file: str file: str
r"""File path for the part.""" r"""File path for the part."""
size: int size: int
r"""File size in bytes.""" r"""File size in bytes."""
container: str
r"""Container format of the part."""
video_profile: Annotated[str, pydantic.Field(alias="videoProfile")]
r"""Video profile for the part."""
stream: Annotated[List[GetMediaMetaDataStream], pydantic.Field(alias="Stream")]
r"""An array of streams for this part."""
accessible: Optional[bool] = None accessible: Optional[bool] = None
r"""Indicates if the part is accessible.""" r"""Indicates if the part is accessible."""
@@ -447,86 +496,152 @@ class GetMediaMetaDataPart(BaseModel):
indexes: Optional[str] = None indexes: Optional[str] = None
duration: Optional[int] = None
r"""Duration of the part in milliseconds."""
packet_length: Annotated[Optional[int], pydantic.Field(alias="packetLength")] = None
container: Optional[str] = None
r"""Container format of the part."""
video_profile: Annotated[Optional[str], pydantic.Field(alias="videoProfile")] = None
r"""Video profile for the part."""
audio_profile: Annotated[Optional[str], pydantic.Field(alias="audioProfile")] = None
r"""The audio profile used for the media (e.g., DTS, Dolby Digital, etc.)."""
has64bit_offsets: Annotated[
Optional[bool], pydantic.Field(alias="has64bitOffsets")
] = None
optimized_for_streaming: Annotated[
Optional[GetMediaMetaDataLibraryOptimizedForStreaming],
pydantic.Field(alias="optimizedForStreaming"),
] = None
r"""Has this media been optimized for streaming. NOTE: This can be 0, 1, false or true"""
has_thumbnail: Annotated[
Optional[GetMediaMetaDataHasThumbnail], pydantic.Field(alias="hasThumbnail")
] = GetMediaMetaDataHasThumbnail.FALSE
stream: Annotated[
Optional[List[GetMediaMetaDataStream]], pydantic.Field(alias="Stream")
] = None
r"""An array of streams for this part."""
class GetMediaMetaDataMediaTypedDict(TypedDict): class GetMediaMetaDataMediaTypedDict(TypedDict):
id: int id: int
r"""Unique media identifier.""" r"""Unique media identifier."""
duration: int
r"""Duration of the media in milliseconds."""
bitrate: int
r"""Bitrate in bits per second."""
width: int
r"""Video width in pixels."""
height: int
r"""Video height in pixels."""
aspect_ratio: float
r"""Aspect ratio of the video."""
audio_channels: int
r"""Number of audio channels."""
audio_codec: str
r"""Audio codec used."""
video_codec: str
r"""Video codec used."""
video_resolution: str
r"""Video resolution (e.g., 4k)."""
container: str
r"""File container type."""
video_frame_rate: str
r"""Frame rate of the video (e.g., 24p)."""
video_profile: str
r"""Video profile (e.g., main 10)."""
has_voice_activity: bool has_voice_activity: bool
r"""Indicates whether voice activity is detected.""" r"""Indicates whether voice activity is detected."""
part: List[GetMediaMetaDataPartTypedDict] part: List[GetMediaMetaDataPartTypedDict]
r"""An array of parts for this media item.""" r"""An array of parts for this media item."""
duration: NotRequired[int]
r"""Duration of the media in milliseconds."""
bitrate: NotRequired[int]
r"""Bitrate in bits per second."""
width: NotRequired[int]
r"""Video width in pixels."""
height: NotRequired[int]
r"""Video height in pixels."""
aspect_ratio: NotRequired[float]
r"""Aspect ratio of the video."""
audio_channels: NotRequired[int]
r"""Number of audio channels."""
display_offset: NotRequired[int]
audio_codec: NotRequired[str]
r"""Audio codec used."""
video_codec: NotRequired[str]
r"""Video codec used."""
video_resolution: NotRequired[str]
r"""Video resolution (e.g., 4k)."""
container: NotRequired[str]
r"""File container type."""
video_frame_rate: NotRequired[str]
r"""Frame rate of the video. Values found include NTSC, PAL, 24p
"""
video_profile: NotRequired[str]
r"""Video profile (e.g., main 10)."""
audio_profile: NotRequired[str]
r"""The audio profile used for the media (e.g., DTS, Dolby Digital, etc.)."""
optimized_for_streaming: NotRequired[GetMediaMetaDataOptimizedForStreamingTypedDict]
r"""Has this media been optimized for streaming. NOTE: This can be 0, 1, false or true"""
has64bit_offsets: NotRequired[bool]
class GetMediaMetaDataMedia(BaseModel): class GetMediaMetaDataMedia(BaseModel):
id: int id: int
r"""Unique media identifier.""" r"""Unique media identifier."""
duration: int
r"""Duration of the media in milliseconds."""
bitrate: int
r"""Bitrate in bits per second."""
width: int
r"""Video width in pixels."""
height: int
r"""Video height in pixels."""
aspect_ratio: Annotated[float, pydantic.Field(alias="aspectRatio")]
r"""Aspect ratio of the video."""
audio_channels: Annotated[int, pydantic.Field(alias="audioChannels")]
r"""Number of audio channels."""
audio_codec: Annotated[str, pydantic.Field(alias="audioCodec")]
r"""Audio codec used."""
video_codec: Annotated[str, pydantic.Field(alias="videoCodec")]
r"""Video codec used."""
video_resolution: Annotated[str, pydantic.Field(alias="videoResolution")]
r"""Video resolution (e.g., 4k)."""
container: str
r"""File container type."""
video_frame_rate: Annotated[str, pydantic.Field(alias="videoFrameRate")]
r"""Frame rate of the video (e.g., 24p)."""
video_profile: Annotated[str, pydantic.Field(alias="videoProfile")]
r"""Video profile (e.g., main 10)."""
has_voice_activity: Annotated[bool, pydantic.Field(alias="hasVoiceActivity")] has_voice_activity: Annotated[bool, pydantic.Field(alias="hasVoiceActivity")]
r"""Indicates whether voice activity is detected.""" r"""Indicates whether voice activity is detected."""
part: Annotated[List[GetMediaMetaDataPart], pydantic.Field(alias="Part")] part: Annotated[List[GetMediaMetaDataPart], pydantic.Field(alias="Part")]
r"""An array of parts for this media item.""" r"""An array of parts for this media item."""
duration: Optional[int] = None
r"""Duration of the media in milliseconds."""
bitrate: Optional[int] = None
r"""Bitrate in bits per second."""
width: Optional[int] = None
r"""Video width in pixels."""
height: Optional[int] = None
r"""Video height in pixels."""
aspect_ratio: Annotated[Optional[float], pydantic.Field(alias="aspectRatio")] = None
r"""Aspect ratio of the video."""
audio_channels: Annotated[Optional[int], pydantic.Field(alias="audioChannels")] = (
None
)
r"""Number of audio channels."""
display_offset: Annotated[Optional[int], pydantic.Field(alias="displayOffset")] = (
None
)
audio_codec: Annotated[Optional[str], pydantic.Field(alias="audioCodec")] = None
r"""Audio codec used."""
video_codec: Annotated[Optional[str], pydantic.Field(alias="videoCodec")] = None
r"""Video codec used."""
video_resolution: Annotated[
Optional[str], pydantic.Field(alias="videoResolution")
] = None
r"""Video resolution (e.g., 4k)."""
container: Optional[str] = None
r"""File container type."""
video_frame_rate: Annotated[
Optional[str], pydantic.Field(alias="videoFrameRate")
] = None
r"""Frame rate of the video. Values found include NTSC, PAL, 24p
"""
video_profile: Annotated[Optional[str], pydantic.Field(alias="videoProfile")] = None
r"""Video profile (e.g., main 10)."""
audio_profile: Annotated[Optional[str], pydantic.Field(alias="audioProfile")] = None
r"""The audio profile used for the media (e.g., DTS, Dolby Digital, etc.)."""
optimized_for_streaming: Annotated[
Optional[GetMediaMetaDataOptimizedForStreaming],
pydantic.Field(alias="optimizedForStreaming"),
] = None
r"""Has this media been optimized for streaming. NOTE: This can be 0, 1, false or true"""
has64bit_offsets: Annotated[
Optional[bool], pydantic.Field(alias="has64bitOffsets")
] = None
class GetMediaMetaDataImageTypedDict(TypedDict): class GetMediaMetaDataImageTypedDict(TypedDict):
alt: str alt: str
@@ -613,17 +728,17 @@ class GetMediaMetaDataCountry(BaseModel):
r"""The country name.""" r"""The country name."""
class GuidsTypedDict(TypedDict): class GetMediaMetaDataGuidsTypedDict(TypedDict):
id: str id: str
r"""The GUID value.""" r"""The GUID value."""
class Guids(BaseModel): class GetMediaMetaDataGuids(BaseModel):
id: str id: str
r"""The GUID value.""" r"""The GUID value."""
class RatingTypedDict(TypedDict): class RatingsTypedDict(TypedDict):
image: str image: str
r"""The image or reference for the rating.""" r"""The image or reference for the rating."""
value: float value: float
@@ -632,7 +747,7 @@ class RatingTypedDict(TypedDict):
r"""The type of rating (e.g., audience, critic).""" r"""The type of rating (e.g., audience, critic)."""
class Rating(BaseModel): class Ratings(BaseModel):
image: str image: str
r"""The image or reference for the rating.""" r"""The image or reference for the rating."""
@@ -830,12 +945,8 @@ class GetMediaMetaDataMetadataTypedDict(TypedDict):
r"""The ID of the library section.""" r"""The ID of the library section."""
library_section_key: str library_section_key: str
r"""The key of the library section.""" r"""The key of the library section."""
content_rating: str
r"""The content rating (e.g., TV-MA)."""
summary: str summary: str
r"""A summary of the content.""" r"""A summary of the content."""
audience_rating: float
r"""The audience rating for the content."""
year: int year: int
r"""The release year.""" r"""The release year."""
thumb: str thumb: str
@@ -844,21 +955,11 @@ class GetMediaMetaDataMetadataTypedDict(TypedDict):
r"""URL of the art image.""" r"""URL of the art image."""
duration: int duration: int
r"""Duration of the content in milliseconds.""" r"""Duration of the content in milliseconds."""
originally_available_at: date
r"""The original release date."""
added_at: int added_at: int
r"""Unix timestamp when the item was added."""
updated_at: int updated_at: int
r"""Unix timestamp when the item was last updated."""
audience_rating_image: str
r"""The URL for the audience rating image."""
image: List[GetMediaMetaDataImageTypedDict] image: List[GetMediaMetaDataImageTypedDict]
r"""An array of image objects.""" r"""An array of image objects."""
ultra_blur_colors: GetMediaMetaDataUltraBlurColorsTypedDict ultra_blur_colors: GetMediaMetaDataUltraBlurColorsTypedDict
guids: List[GuidsTypedDict]
r"""An array of GUID objects."""
rating: List[RatingTypedDict]
r"""An array of rating objects."""
parent_rating_key: NotRequired[str] parent_rating_key: NotRequired[str]
r"""The rating key of the parent of this metadata item.""" r"""The rating key of the parent of this metadata item."""
grandparent_rating_key: NotRequired[str] grandparent_rating_key: NotRequired[str]
@@ -879,30 +980,42 @@ class GetMediaMetaDataMetadataTypedDict(TypedDict):
r"""The studio that produced the content.""" r"""The studio that produced the content."""
original_title: NotRequired[str] original_title: NotRequired[str]
r"""The original title of the content.""" r"""The original title of the content."""
content_rating: NotRequired[str]
r"""The content rating (e.g., TV-MA)."""
index: NotRequired[int] index: NotRequired[int]
r"""The index or order of the item.""" r"""The index or order of the item."""
grandparent_title: NotRequired[str] grandparent_title: NotRequired[str]
r"""The title of the grandparent entity (typically the show's title).""" r"""The title of the grandparent entity (typically the show's title)."""
parent_title: NotRequired[str] parent_title: NotRequired[str]
r"""The title of the parent entity (typically the season's title).""" r"""The title of the parent entity (typically the season's title)."""
audience_rating: NotRequired[float]
r"""The audience rating for the content."""
view_count: NotRequired[int] view_count: NotRequired[int]
r"""The number of times the item has been viewed.""" r"""The number of times the item has been viewed."""
skip_count: NotRequired[int] skip_count: NotRequired[int]
r"""The number of times the item has been skipped.""" r"""The number of times the item has been skipped."""
last_viewed_at: NotRequired[int] last_viewed_at: NotRequired[int]
r"""Unix timestamp of when the item was last viewed.""" r"""Unix timestamp of when the item was last viewed."""
rating: NotRequired[float]
r"""The general rating"""
rating_image: NotRequired[str]
r"""The URL or identifier for the rating image (e.g., Rotten Tomatoes rating image)."""
tagline: NotRequired[str] tagline: NotRequired[str]
r"""The tagline of the content.""" r"""The tagline of the content."""
chapter_source: NotRequired[str] chapter_source: NotRequired[str]
primary_extra_key: NotRequired[str] primary_extra_key: NotRequired[str]
theme: NotRequired[str] theme: NotRequired[str]
r"""URL of the theme image.""" r"""URL of the theme image."""
originally_available_at: NotRequired[date]
r"""The original release date."""
leaf_count: NotRequired[int] leaf_count: NotRequired[int]
r"""The total number of episodes (or leaves).""" r"""The total number of episodes (or leaves)."""
viewed_leaf_count: NotRequired[int] viewed_leaf_count: NotRequired[int]
r"""The number of episodes that have been viewed.""" r"""The number of episodes that have been viewed."""
child_count: NotRequired[int] child_count: NotRequired[int]
r"""The number of child items.""" r"""The number of child items."""
audience_rating_image: NotRequired[str]
r"""The URL for the audience rating image."""
parent_index: NotRequired[int] parent_index: NotRequired[int]
r"""The index number of the parent entity, which could indicate its order or position.""" r"""The index number of the parent entity, which could indicate its order or position."""
parent_thumb: NotRequired[str] parent_thumb: NotRequired[str]
@@ -916,6 +1029,10 @@ class GetMediaMetaDataMetadataTypedDict(TypedDict):
r"""An array of genre tags.""" r"""An array of genre tags."""
country: NotRequired[List[GetMediaMetaDataCountryTypedDict]] country: NotRequired[List[GetMediaMetaDataCountryTypedDict]]
r"""An array of country tags.""" r"""An array of country tags."""
guids: NotRequired[List[GetMediaMetaDataGuidsTypedDict]]
r"""An array of GUID objects."""
ratings: NotRequired[List[RatingsTypedDict]]
r"""An array of rating objects."""
role: NotRequired[List[GetMediaMetaDataRoleTypedDict]] role: NotRequired[List[GetMediaMetaDataRoleTypedDict]]
r"""An array of Actor roles.""" r"""An array of Actor roles."""
director: NotRequired[List[GetMediaMetaDataDirectorTypedDict]] director: NotRequired[List[GetMediaMetaDataDirectorTypedDict]]
@@ -955,15 +1072,9 @@ class GetMediaMetaDataMetadata(BaseModel):
library_section_key: Annotated[str, pydantic.Field(alias="librarySectionKey")] library_section_key: Annotated[str, pydantic.Field(alias="librarySectionKey")]
r"""The key of the library section.""" r"""The key of the library section."""
content_rating: Annotated[str, pydantic.Field(alias="contentRating")]
r"""The content rating (e.g., TV-MA)."""
summary: str summary: str
r"""A summary of the content.""" r"""A summary of the content."""
audience_rating: Annotated[float, pydantic.Field(alias="audienceRating")]
r"""The audience rating for the content."""
year: int year: int
r"""The release year.""" r"""The release year."""
@@ -976,19 +1087,9 @@ class GetMediaMetaDataMetadata(BaseModel):
duration: int duration: int
r"""Duration of the content in milliseconds.""" r"""Duration of the content in milliseconds."""
originally_available_at: Annotated[
date, pydantic.Field(alias="originallyAvailableAt")
]
r"""The original release date."""
added_at: Annotated[int, pydantic.Field(alias="addedAt")] added_at: Annotated[int, pydantic.Field(alias="addedAt")]
r"""Unix timestamp when the item was added."""
updated_at: Annotated[int, pydantic.Field(alias="updatedAt")] updated_at: Annotated[int, pydantic.Field(alias="updatedAt")]
r"""Unix timestamp when the item was last updated."""
audience_rating_image: Annotated[str, pydantic.Field(alias="audienceRatingImage")]
r"""The URL for the audience rating image."""
image: Annotated[List[GetMediaMetaDataImage], pydantic.Field(alias="Image")] image: Annotated[List[GetMediaMetaDataImage], pydantic.Field(alias="Image")]
r"""An array of image objects.""" r"""An array of image objects."""
@@ -997,12 +1098,6 @@ class GetMediaMetaDataMetadata(BaseModel):
GetMediaMetaDataUltraBlurColors, pydantic.Field(alias="UltraBlurColors") GetMediaMetaDataUltraBlurColors, pydantic.Field(alias="UltraBlurColors")
] ]
guids: Annotated[List[Guids], pydantic.Field(alias="Guid")]
r"""An array of GUID objects."""
rating: Annotated[List[Rating], pydantic.Field(alias="Rating")]
r"""An array of rating objects."""
parent_rating_key: Annotated[ parent_rating_key: Annotated[
Optional[str], pydantic.Field(alias="parentRatingKey") Optional[str], pydantic.Field(alias="parentRatingKey")
] = None ] = None
@@ -1045,6 +1140,11 @@ class GetMediaMetaDataMetadata(BaseModel):
) )
r"""The original title of the content.""" r"""The original title of the content."""
content_rating: Annotated[Optional[str], pydantic.Field(alias="contentRating")] = (
None
)
r"""The content rating (e.g., TV-MA)."""
index: Optional[int] = None index: Optional[int] = None
r"""The index or order of the item.""" r"""The index or order of the item."""
@@ -1056,6 +1156,11 @@ class GetMediaMetaDataMetadata(BaseModel):
parent_title: Annotated[Optional[str], pydantic.Field(alias="parentTitle")] = None parent_title: Annotated[Optional[str], pydantic.Field(alias="parentTitle")] = None
r"""The title of the parent entity (typically the season's title).""" r"""The title of the parent entity (typically the season's title)."""
audience_rating: Annotated[
Optional[float], pydantic.Field(alias="audienceRating")
] = None
r"""The audience rating for the content."""
view_count: Annotated[Optional[int], pydantic.Field(alias="viewCount")] = None view_count: Annotated[Optional[int], pydantic.Field(alias="viewCount")] = None
r"""The number of times the item has been viewed.""" r"""The number of times the item has been viewed."""
@@ -1067,6 +1172,12 @@ class GetMediaMetaDataMetadata(BaseModel):
) )
r"""Unix timestamp of when the item was last viewed.""" r"""Unix timestamp of when the item was last viewed."""
rating: Optional[float] = None
r"""The general rating"""
rating_image: Annotated[Optional[str], pydantic.Field(alias="ratingImage")] = None
r"""The URL or identifier for the rating image (e.g., Rotten Tomatoes rating image)."""
tagline: Optional[str] = None tagline: Optional[str] = None
r"""The tagline of the content.""" r"""The tagline of the content."""
@@ -1081,6 +1192,11 @@ class GetMediaMetaDataMetadata(BaseModel):
theme: Optional[str] = None theme: Optional[str] = None
r"""URL of the theme image.""" r"""URL of the theme image."""
originally_available_at: Annotated[
Optional[date], pydantic.Field(alias="originallyAvailableAt")
] = None
r"""The original release date."""
leaf_count: Annotated[Optional[int], pydantic.Field(alias="leafCount")] = None leaf_count: Annotated[Optional[int], pydantic.Field(alias="leafCount")] = None
r"""The total number of episodes (or leaves).""" r"""The total number of episodes (or leaves)."""
@@ -1092,6 +1208,11 @@ class GetMediaMetaDataMetadata(BaseModel):
child_count: Annotated[Optional[int], pydantic.Field(alias="childCount")] = None child_count: Annotated[Optional[int], pydantic.Field(alias="childCount")] = None
r"""The number of child items.""" r"""The number of child items."""
audience_rating_image: Annotated[
Optional[str], pydantic.Field(alias="audienceRatingImage")
] = None
r"""The URL for the audience rating image."""
parent_index: Annotated[Optional[int], pydantic.Field(alias="parentIndex")] = None parent_index: Annotated[Optional[int], pydantic.Field(alias="parentIndex")] = None
r"""The index number of the parent entity, which could indicate its order or position.""" r"""The index number of the parent entity, which could indicate its order or position."""
@@ -1122,6 +1243,14 @@ class GetMediaMetaDataMetadata(BaseModel):
] = None ] = None
r"""An array of country tags.""" r"""An array of country tags."""
guids: Annotated[
Optional[List[GetMediaMetaDataGuids]], pydantic.Field(alias="Guid")
] = None
r"""An array of GUID objects."""
ratings: Annotated[Optional[List[Ratings]], pydantic.Field(alias="Rating")] = None
r"""An array of rating objects."""
role: Annotated[ role: Annotated[
Optional[List[GetMediaMetaDataRole]], pydantic.Field(alias="Role") Optional[List[GetMediaMetaDataRole]], pydantic.Field(alias="Role")
] = None ] = None
@@ -1152,7 +1281,8 @@ class GetMediaMetaDataMetadata(BaseModel):
class GetMediaMetaDataMediaContainerTypedDict(TypedDict): class GetMediaMetaDataMediaContainerTypedDict(TypedDict):
size: float size: int
r"""Number of media items returned in this response."""
allow_sync: bool allow_sync: bool
r"""Indicates whether syncing is allowed.""" r"""Indicates whether syncing is allowed."""
identifier: str identifier: str
@@ -1172,7 +1302,8 @@ class GetMediaMetaDataMediaContainerTypedDict(TypedDict):
class GetMediaMetaDataMediaContainer(BaseModel): class GetMediaMetaDataMediaContainer(BaseModel):
size: float size: int
r"""Number of media items returned in this response."""
allow_sync: Annotated[bool, pydantic.Field(alias="allowSync")] allow_sync: Annotated[bool, pydantic.Field(alias="allowSync")]
r"""Indicates whether syncing is allowed.""" r"""Indicates whether syncing is allowed."""

View File

@@ -143,6 +143,7 @@ class GetRecentlyAddedFilterTypedDict(TypedDict):
key: str key: str
title: str title: str
type: str type: str
advanced: NotRequired[bool]
class GetRecentlyAddedFilter(BaseModel): class GetRecentlyAddedFilter(BaseModel):
@@ -156,6 +157,8 @@ class GetRecentlyAddedFilter(BaseModel):
type: str type: str
advanced: Optional[bool] = None
class GetRecentlyAddedActiveDirection(str, Enum): class GetRecentlyAddedActiveDirection(str, Enum):
r"""The direction of the sort. Can be either `asc` or `desc`.""" r"""The direction of the sort. Can be either `asc` or `desc`."""
@@ -242,6 +245,7 @@ class GetRecentlyAddedTypeTypedDict(TypedDict):
type: str type: str
title: str title: str
active: bool active: bool
subtype: NotRequired[str]
filter_: NotRequired[List[GetRecentlyAddedFilterTypedDict]] filter_: NotRequired[List[GetRecentlyAddedFilterTypedDict]]
sort: NotRequired[List[GetRecentlyAddedSortTypedDict]] sort: NotRequired[List[GetRecentlyAddedSortTypedDict]]
field: NotRequired[List[GetRecentlyAddedFieldTypedDict]] field: NotRequired[List[GetRecentlyAddedFieldTypedDict]]
@@ -256,6 +260,8 @@ class GetRecentlyAddedType(BaseModel):
active: bool active: bool
subtype: Optional[str] = None
filter_: Annotated[ filter_: Annotated[
Optional[List[GetRecentlyAddedFilter]], pydantic.Field(alias="Filter") Optional[List[GetRecentlyAddedFilter]], pydantic.Field(alias="Filter")
] = None ] = None
@@ -319,6 +325,8 @@ class GetRecentlyAddedHubsType(str, Enum):
TV_SHOW = "show" TV_SHOW = "show"
SEASON = "season" SEASON = "season"
EPISODE = "episode" EPISODE = "episode"
ARTIST = "artist"
ALBUM = "album"
class FlattenSeasons(str, Enum): class FlattenSeasons(str, Enum):
@@ -1225,7 +1233,7 @@ class GetRecentlyAddedMetadata(BaseModel):
class GetRecentlyAddedMediaContainerTypedDict(TypedDict): class GetRecentlyAddedMediaContainerTypedDict(TypedDict):
size: float size: int
offset: NotRequired[int] offset: NotRequired[int]
total_size: NotRequired[int] total_size: NotRequired[int]
identifier: NotRequired[str] identifier: NotRequired[str]
@@ -1238,7 +1246,7 @@ class GetRecentlyAddedMediaContainerTypedDict(TypedDict):
class GetRecentlyAddedMediaContainer(BaseModel): class GetRecentlyAddedMediaContainer(BaseModel):
size: float size: int
offset: Optional[int] = None offset: Optional[int] = None

View File

@@ -140,6 +140,7 @@ class GetRecentlyAddedLibraryFilterTypedDict(TypedDict):
key: str key: str
title: str title: str
type: str type: str
advanced: NotRequired[bool]
class GetRecentlyAddedLibraryFilter(BaseModel): class GetRecentlyAddedLibraryFilter(BaseModel):
@@ -153,6 +154,8 @@ class GetRecentlyAddedLibraryFilter(BaseModel):
type: str type: str
advanced: Optional[bool] = None
class ActiveDirection(str, Enum): class ActiveDirection(str, Enum):
r"""The direction of the sort. Can be either `asc` or `desc`.""" r"""The direction of the sort. Can be either `asc` or `desc`."""
@@ -237,6 +240,7 @@ class GetRecentlyAddedLibraryTypeTypedDict(TypedDict):
type: str type: str
title: str title: str
active: bool active: bool
subtype: NotRequired[str]
filter_: NotRequired[List[GetRecentlyAddedLibraryFilterTypedDict]] filter_: NotRequired[List[GetRecentlyAddedLibraryFilterTypedDict]]
sort: NotRequired[List[SortTypedDict]] sort: NotRequired[List[SortTypedDict]]
field: NotRequired[List[FieldTTypedDict]] field: NotRequired[List[FieldTTypedDict]]
@@ -251,6 +255,8 @@ class GetRecentlyAddedLibraryType(BaseModel):
active: bool active: bool
subtype: Optional[str] = None
filter_: Annotated[ filter_: Annotated[
Optional[List[GetRecentlyAddedLibraryFilter]], pydantic.Field(alias="Filter") Optional[List[GetRecentlyAddedLibraryFilter]], pydantic.Field(alias="Filter")
] = None ] = None

View File

@@ -19,14 +19,14 @@ class SearchTypes(str, Enum):
TV = "tv" TV = "tv"
class QueryParamIncludeCollections(int, Enum): class GetSearchAllLibrariesQueryParamIncludeCollections(int, Enum):
r"""Whether to include collections in the search results.""" r"""Whether to include collections in the search results."""
DISABLE = 0 DISABLE = 0
ENABLE = 1 ENABLE = 1
class QueryParamIncludeExternalMedia(int, Enum): class GetSearchAllLibrariesQueryParamIncludeExternalMedia(int, Enum):
r"""Whether to include external media in the search results.""" r"""Whether to include external media in the search results."""
DISABLE = 0 DISABLE = 0
@@ -44,9 +44,11 @@ class GetSearchAllLibrariesRequestTypedDict(TypedDict):
r"""A comma-separated list of search types to include. Valid values are: movies, music, otherVideos, people, tv. r"""A comma-separated list of search types to include. Valid values are: movies, music, otherVideos, people, tv.
""" """
include_collections: NotRequired[QueryParamIncludeCollections] include_collections: NotRequired[GetSearchAllLibrariesQueryParamIncludeCollections]
r"""Whether to include collections in the search results.""" r"""Whether to include collections in the search results."""
include_external_media: NotRequired[QueryParamIncludeExternalMedia] include_external_media: NotRequired[
GetSearchAllLibrariesQueryParamIncludeExternalMedia
]
r"""Whether to include external media in the search results.""" r"""Whether to include external media in the search results."""
@@ -79,17 +81,17 @@ class GetSearchAllLibrariesRequest(BaseModel):
""" """
include_collections: Annotated[ include_collections: Annotated[
Optional[QueryParamIncludeCollections], Optional[GetSearchAllLibrariesQueryParamIncludeCollections],
pydantic.Field(alias="includeCollections"), pydantic.Field(alias="includeCollections"),
FieldMetadata(query=QueryParamMetadata(style="form", explode=True)), FieldMetadata(query=QueryParamMetadata(style="form", explode=True)),
] = QueryParamIncludeCollections.DISABLE ] = GetSearchAllLibrariesQueryParamIncludeCollections.DISABLE
r"""Whether to include collections in the search results.""" r"""Whether to include collections in the search results."""
include_external_media: Annotated[ include_external_media: Annotated[
Optional[QueryParamIncludeExternalMedia], Optional[GetSearchAllLibrariesQueryParamIncludeExternalMedia],
pydantic.Field(alias="includeExternalMedia"), pydantic.Field(alias="includeExternalMedia"),
FieldMetadata(query=QueryParamMetadata(style="form", explode=True)), FieldMetadata(query=QueryParamMetadata(style="form", explode=True)),
] = QueryParamIncludeExternalMedia.DISABLE ] = GetSearchAllLibrariesQueryParamIncludeExternalMedia.DISABLE
r"""Whether to include external media in the search results.""" r"""Whether to include external media in the search results."""
@@ -100,6 +102,8 @@ class GetSearchAllLibrariesType(str, Enum):
TV_SHOW = "show" TV_SHOW = "show"
SEASON = "season" SEASON = "season"
EPISODE = "episode" EPISODE = "episode"
ARTIST = "artist"
ALBUM = "album"
class GetSearchAllLibrariesFlattenSeasons(str, Enum): class GetSearchAllLibrariesFlattenSeasons(str, Enum):