mirror of
https://github.com/LukeHagar/plexpy.git
synced 2025-12-06 04:20:52 +00:00
## Python SDK Changes Detected:
* `plex_api.butler.start_task()`: * `request` **Changed** **Breaking** ⚠️ * `error` **Changed** **Breaking** ⚠️ * `plex_api.butler.stop_task()`: * `request` **Changed** **Breaking** ⚠️ * `error` **Changed** **Breaking** ⚠️ * `plex_api.updater.apply_updates()`: * `request` **Changed** **Breaking** ⚠️ * `error` **Changed** **Breaking** ⚠️ * `plex_api.general.get_server_info()`: **Added** * `plex_api.general.get_identity()`: **Added** * `plex_api.general.get_source_connection_information()`: **Added** * `plex_api.general.get_transient_token()`: **Added** * `plex_api.events.get_notifications()`: **Added** * `plex_api.events.connect_web_socket()`: **Added** * `plex_api.preferences.get_all_preferences()`: **Added** * `plex_api.preferences.set_preferences()`: **Added** * `plex_api.preferences.get_preference()`: **Added** * `plex_api.rate.set_rating()`: **Added** * `plex_api.timeline.mark_played()`: **Added** * `plex_api.timeline.report()`: **Added** * `plex_api.timeline.unscrobble()`: **Added** * `plex_api.activities.list_activities()`: **Added** * `plex_api.activities.cancel_activity()`: **Added** * `plex_api.butler.stop_tasks()`: **Added** * `plex_api.butler.get_tasks()`: **Added** * `plex_api.butler.start_tasks()`: **Added** * `plex_api.download_queue.create_download_queue()`: **Added** * `plex_api.download_queue.get_download_queue()`: **Added** * `plex_api.download_queue.add_download_queue_items()`: **Added** * `plex_api.download_queue.list_download_queue_items()`: **Added** * `plex_api.download_queue.get_item_decision()`: **Added** * `plex_api.download_queue.get_download_queue_media()`: **Added** * `plex_api.download_queue.remove_download_queue_items()`: **Added** * `plex_api.download_queue.get_download_queue_items()`: **Added** * `plex_api.download_queue.restart_processing_download_queue_items()`: **Added** * `plex_api.hubs.get_all_hubs()`: **Added** * `plex_api.hubs.get_continue_watching()`: **Added** * `plex_api.hubs.get_hub_items()`: **Added** * `plex_api.hubs.get_promoted_hubs()`: **Added** * `plex_api.hubs.get_metadata_hubs()`: **Added** * `plex_api.hubs.get_postplay_hubs()`: **Added** * `plex_api.hubs.get_related_hubs()`: **Added** * `plex_api.hubs.get_section_hubs()`: **Added** * `plex_api.hubs.reset_section_defaults()`: **Added** * `plex_api.hubs.list_hubs()`: **Added** * `plex_api.hubs.create_custom_hub()`: **Added** * `plex_api.hubs.move_hub()`: **Added** * `plex_api.hubs.delete_custom_hub()`: **Added** * `plex_api.hubs.update_hub_visibility()`: **Added** * `plex_api.search.search_hubs()`: **Added** * `plex_api.search.voice_search_hubs()`: **Added** * `plex_api.library.get_library_items()`: **Added** * `plex_api.library.delete_caches()`: **Added** * `plex_api.library.clean_bundles()`: **Added** * `plex_api.library.ingest_transient_item()`: **Added** * `plex_api.library.get_library_matches()`: **Added** * `plex_api.library.optimize_database()`: **Added** * `plex_api.library.get_random_artwork()`: **Added** * `plex_api.library.get_sections()`: **Added** * `plex_api.library.add_section()`: **Added** * `plex_api.library.stop_all_refreshes()`: **Added** * `plex_api.library.get_sections_prefs()`: **Added** * `plex_api.library.refresh_sections_metadata()`: **Added** * `plex_api.library.get_tags()`: **Added** * `plex_api.library.delete_metadata_item()`: **Added** * `plex_api.library.edit_metadata_item()`: **Added** * `plex_api.library.detect_ads()`: **Added** * `plex_api.library.get_all_item_leaves()`: **Added** * `plex_api.library.analyze_metadata()`: **Added** * `plex_api.library.generate_thumbs()`: **Added** * `plex_api.library.detect_credits()`: **Added** * `plex_api.library.get_extras()`: **Added** * `plex_api.library.add_extras()`: **Added** * `plex_api.library.get_file()`: **Added** * `plex_api.library.start_bif_generation()`: **Added** * `plex_api.library.detect_intros()`: **Added** * `plex_api.library.create_marker()`: **Added** * `plex_api.library.match_item()`: **Added** * `plex_api.library.list_matches()`: **Added** * `plex_api.library.merge_items()`: **Added** * `plex_api.library.list_sonically_similar()`: **Added** * `plex_api.library.set_item_preferences()`: **Added** * `plex_api.library.refresh_items_metadata()`: **Added** * `plex_api.library.get_related_items()`: **Added** * `plex_api.library.list_similar()`: **Added** * `plex_api.library.split_item()`: **Added** * `plex_api.library.add_subtitles()`: **Added** * `plex_api.library.get_item_tree()`: **Added** * `plex_api.library.unmatch()`: **Added** * `plex_api.library.list_top_users()`: **Added** * `plex_api.library.detect_voice_activity()`: **Added** * `plex_api.library.get_augmentation_status()`: **Added** * `plex_api.library.set_stream_selection()`: **Added** * `plex_api.library.get_person()`: **Added** * `plex_api.library.list_person_media()`: **Added** * `plex_api.library.delete_library_section()`: **Added** * `plex_api.library.get_library_details()`: **Added** * `plex_api.library.edit_section()`: **Added** * `plex_api.library.update_items()`: **Added** * `plex_api.library.start_analysis()`: **Added** * `plex_api.library.autocomplete()`: **Added** * `plex_api.library.get_collections()`: **Added** * `plex_api.library.get_common()`: **Added** * `plex_api.library.empty_trash()`: **Added** * `plex_api.library.get_section_filters()`: **Added** * `plex_api.library.get_first_characters()`: **Added** * `plex_api.library.delete_indexes()`: **Added** * `plex_api.library.delete_intros()`: **Added** * `plex_api.library.get_section_preferences()`: **Added** * `plex_api.library.set_section_preferences()`: **Added** * `plex_api.library.cancel_refresh()`: **Added** * `plex_api.library.refresh_section()`: **Added** * `plex_api.library.get_available_sorts()`: **Added** * `plex_api.library.get_stream_levels()`: **Added** * `plex_api.library.get_stream_loudness()`: **Added** * `plex_api.library.get_chapter_image()`: **Added** * `plex_api.library.set_item_artwork()`: **Added** * `plex_api.library.update_item_artwork()`: **Added** * `plex_api.library.delete_marker()`: **Added** * `plex_api.library.edit_marker()`: **Added** * `plex_api.library.delete_media_item()`: **Added** * `plex_api.library.get_part_index()`: **Added** * `plex_api.library.delete_collection()`: **Added** * `plex_api.library.get_section_image()`: **Added** * `plex_api.library.delete_stream()`: **Added** * `plex_api.library.get_stream()`: **Added** * `plex_api.library.set_stream_offset()`: **Added** * `plex_api.library.get_item_artwork()`: **Added** * `plex_api.library.get_media_part()`: **Added** * `plex_api.library.get_image_from_bif()`: **Added** * `plex_api.collections.create_collection()`: **Added** * `plex_api.dv_rs.list_dv_rs()`: **Added** * `plex_api.dv_rs.create_dvr()`: **Added** * `plex_api.dv_rs.delete_dvr()`: **Added** * `plex_api.dv_rs.get_dvr()`: **Added** * `plex_api.dv_rs.delete_lineup()`: **Added** * `plex_api.dv_rs.add_lineup()`: **Added** * `plex_api.dv_rs.set_dvr_preferences()`: **Added** * `plex_api.dv_rs.stop_dvr_reload()`: **Added** * `plex_api.dv_rs.reload_guide()`: **Added** * `plex_api.dv_rs.tune_channel()`: **Added** * `plex_api.dv_rs.remove_device_from_dvr()`: **Added** * `plex_api.dv_rs.add_device_to_dvr()`: **Added** * `plex_api.epg.compute_channel_map()`: **Added** * `plex_api.epg.get_channels()`: **Added** * `plex_api.epg.get_countries()`: **Added** * `plex_api.epg.get_all_languages()`: **Added** * `plex_api.epg.get_lineup()`: **Added** * `plex_api.epg.get_lineup_channels()`: **Added** * `plex_api.epg.get_countries_lineups()`: **Added** * `plex_api.epg.get_country_regions()`: **Added** * `plex_api.epg.list_lineups()`: **Added** * `plex_api.live_tv.get_sessions()`: **Added** * `plex_api.live_tv.get_live_tv_session()`: **Added** * `plex_api.live_tv.get_session_playlist_index()`: **Added** * `plex_api.live_tv.get_session_segment()`: **Added** * `plex_api.log.write_log()`: **Added** * `plex_api.log.write_message()`: **Added** * `plex_api.log.enable_papertrail()`: **Added** * `plex_api.devices.get_available_grabbers()`: **Added** * `plex_api.devices.list_devices()`: **Added** * `plex_api.devices.add_device()`: **Added** * `plex_api.devices.discover_devices()`: **Added** * `plex_api.devices.remove_device()`: **Added** * `plex_api.devices.get_device_details()`: **Added** * `plex_api.devices.modify_device()`: **Added** * `plex_api.devices.set_channelmap()`: **Added** * `plex_api.devices.get_devices_channels()`: **Added** * `plex_api.devices.set_device_preferences()`: **Added** * `plex_api.devices.stop_scan()`: **Added** * `plex_api.devices.scan()`: **Added** * `plex_api.devices.get_thumb()`: **Added** * `plex_api.provider.list_providers()`: **Added** * `plex_api.provider.add_provider()`: **Added** * `plex_api.provider.refresh_providers()`: **Added** * `plex_api.provider.delete_media_provider()`: **Added** * `plex_api.subscriptions.get_all_subscriptions()`: **Added** * `plex_api.subscriptions.create_subscription()`: **Added** * `plex_api.subscriptions.process_subscriptions()`: **Added** * `plex_api.subscriptions.get_scheduled_recordings()`: **Added** * `plex_api.subscriptions.get_template()`: **Added** * `plex_api.subscriptions.cancel_grab()`: **Added** * `plex_api.subscriptions.delete_subscription()`: **Added** * `plex_api.subscriptions.get_subscription()`: **Added** * `plex_api.subscriptions.edit_subscription_preferences()`: **Added** * `plex_api.subscriptions.reorder_subscription()`: **Added** * `plex_api.transcoder.transcode_image()`: **Added** * `plex_api.transcoder.make_decision()`: **Added** * `plex_api.transcoder.trigger_fallback()`: **Added** * `plex_api.transcoder.transcode_subtitles()`: **Added** * `plex_api.transcoder.start_transcode_session()`: **Added** * `plex_api.playlist.list_playlists()`: **Added** * `plex_api.playlist.get_playlist()`: **Added** * `plex_api.playlist.get_playlist_items()`: **Added** * `plex_api.library_playlists.create_playlist()`: **Added** * `plex_api.library_playlists.upload_playlist()`: **Added** * `plex_api.library_playlists.delete_playlist()`: **Added** * `plex_api.library_playlists.update_playlist()`: **Added** * `plex_api.library_playlists.get_playlist_generators()`: **Added** * `plex_api.library_playlists.clear_playlist_items()`: **Added** * `plex_api.library_playlists.add_playlist_items()`: **Added** * `plex_api.library_playlists.delete_playlist_item()`: **Added** * `plex_api.library_playlists.get_playlist_generator()`: **Added** * `plex_api.library_playlists.modify_playlist_generator()`: **Added** * `plex_api.library_playlists.get_playlist_generator_items()`: **Added** * `plex_api.library_playlists.move_playlist_item()`: **Added** * `plex_api.library_playlists.refresh_playlist()`: **Added** * `plex_api.play_queue.create_play_queue()`: **Added** * `plex_api.play_queue.get_play_queue()`: **Added** * `plex_api.play_queue.add_to_play_queue()`: **Added** * `plex_api.play_queue.clear_play_queue()`: **Added** * `plex_api.play_queue.reset_play_queue()`: **Added** * `plex_api.play_queue.shuffle()`: **Added** * `plex_api.play_queue.unshuffle()`: **Added** * `plex_api.play_queue.delete_play_queue_item()`: **Added** * `plex_api.play_queue.move_play_queue_item()`: **Added** * `plex_api.ultra_blur.get_colors()`: **Added** * `plex_api.ultra_blur.get_image()`: **Added** * `plex_api.status.list_sessions()`: **Added** * `plex_api.status.get_background_tasks()`: **Added** * `plex_api.status.list_playback_history()`: **Added** * `plex_api.status.terminate_session()`: **Added** * `plex_api.status.delete_history()`: **Added** * `plex_api.status.get_history_item()`: **Added** * `plex_api.updater.check_updates()`: **Added** * `plex_api.updater.get_updates_status()`: **Added** * `plex_api.content.get_collection_items()`: **Added** * `plex_api.content.get_metadata_item()`: **Added** * `plex_api.content.get_albums()`: **Added** * `plex_api.content.list_content()`: **Added** * `plex_api.content.get_all_leaves()`: **Added** * `plex_api.content.get_arts()`: **Added** * `plex_api.content.get_categories()`: **Added** * `plex_api.content.get_cluster()`: **Added** * `plex_api.content.get_sonic_path()`: **Added** * `plex_api.content.get_folders()`: **Added** * `plex_api.content.list_moments()`: **Added** * `plex_api.content.get_sonically_similar()`: **Added** * `plex_api.content.get_collection_image()`: **Added** * `plex_api.library_collections.add_collection_items()`: **Added** * `plex_api.library_collections.delete_collection_item()`: **Added** * `plex_api.library_collections.move_collection_item()`: **Added** * `plex_api.server.get_server_capabilities()`: **Deleted** **Breaking** ⚠️ * `plex_api.server.get_server_preferences()`: **Deleted** **Breaking** ⚠️ * `plex_api.server.get_available_clients()`: **Deleted** **Breaking** ⚠️ * `plex_api.server.get_devices()`: **Deleted** **Breaking** ⚠️ * `plex_api.server.get-server-identity()`: **Deleted** **Breaking** ⚠️ * `plex_api.server.get_my_plex_account()`: **Deleted** **Breaking** ⚠️ * `plex_api.server.get_resized_photo()`: **Deleted** **Breaking** ⚠️ * `plex_api.server.get-media-providers()`: **Deleted** **Breaking** ⚠️ * `plex_api.server.get_server_list()`: **Deleted** **Breaking** ⚠️ * `plex_api.media.mark_played()`: **Deleted** **Breaking** ⚠️ * `plex_api.media.mark_unplayed()`: **Deleted** **Breaking** ⚠️ * `plex_api.media.update_play_progress()`: **Deleted** **Breaking** ⚠️ * `plex_api.media.get-banner-image()`: **Deleted** **Breaking** ⚠️ * `plex_api.media.get-thumb-image()`: **Deleted** **Breaking** ⚠️ * `plex_api.video.get_timeline()`: **Deleted** **Breaking** ⚠️ * `plex_api.video.start_universal_transcode()`: **Deleted** **Breaking** ⚠️ * `plex_api.activities.get_server_activities()`: **Deleted** **Breaking** ⚠️ * `plex_api.activities.cancel_server_activities()`: **Deleted** **Breaking** ⚠️ * `plex_api.butler.get_butler_tasks()`: **Deleted** **Breaking** ⚠️ * `plex_api.butler.start_all_tasks()`: **Deleted** **Breaking** ⚠️ * `plex_api.butler.stop_all_tasks()`: **Deleted** **Breaking** ⚠️ * `plex_api.plex.get_companions_data()`: **Deleted** **Breaking** ⚠️ * `plex_api.plex.get_user_friends()`: **Deleted** **Breaking** ⚠️ * `plex_api.plex.get_geo_data()`: **Deleted** **Breaking** ⚠️ * `plex_api.plex.get_home_data()`: **Deleted** **Breaking** ⚠️ * `plex_api.plex.get-server-resources()`: **Deleted** **Breaking** ⚠️ * `plex_api.plex.get_pin()`: **Deleted** **Breaking** ⚠️ * `plex_api.plex.get_token_by_pin_id()`: **Deleted** **Breaking** ⚠️ * `plex_api.hubs.get_global_hubs()`: **Deleted** **Breaking** ⚠️ * `plex_api.hubs.get-recently-added()`: **Deleted** **Breaking** ⚠️ * `plex_api.hubs.get_library_hubs()`: **Deleted** **Breaking** ⚠️ * `plex_api.search.perform_search()`: **Deleted** **Breaking** ⚠️ * `plex_api.search.perform_voice_search()`: **Deleted** **Breaking** ⚠️ * `plex_api.search.get_search_results()`: **Deleted** **Breaking** ⚠️ * `plex_api.library.get_file_hash()`: **Deleted** **Breaking** ⚠️ * `plex_api.library.get-recently-added-library()`: **Deleted** **Breaking** ⚠️ * `plex_api.library.get-all-libraries()`: **Deleted** **Breaking** ⚠️ * `plex_api.library.get-library-details()`: **Deleted** **Breaking** ⚠️ * `plex_api.library.delete_library()`: **Deleted** **Breaking** ⚠️ * `plex_api.library.get-library-items()`: **Deleted** **Breaking** ⚠️ * `plex_api.library.get-library-sections-all()`: **Deleted** **Breaking** ⚠️ * `plex_api.library.get-refresh-library-metadata()`: **Deleted** **Breaking** ⚠️ * `plex_api.library.get-search-library()`: **Deleted** **Breaking** ⚠️ * `plex_api.library.get-genres-library()`: **Deleted** **Breaking** ⚠️ * `plex_api.library.get-countries-library()`: **Deleted** **Breaking** ⚠️ * `plex_api.library.get-actors-library()`: **Deleted** **Breaking** ⚠️ * `plex_api.library.get-search-all-libraries()`: **Deleted** **Breaking** ⚠️ * `plex_api.library.get-media-meta-data()`: **Deleted** **Breaking** ⚠️ * `plex_api.library.get-media-arts()`: **Deleted** **Breaking** ⚠️ * `plex_api.library.post-media-arts()`: **Deleted** **Breaking** ⚠️ * `plex_api.library.get-media-posters()`: **Deleted** **Breaking** ⚠️ * `plex_api.library.post-media-poster()`: **Deleted** **Breaking** ⚠️ * `plex_api.library.get_metadata_children()`: **Deleted** **Breaking** ⚠️ * `plex_api.library.get_top_watched_content()`: **Deleted** **Breaking** ⚠️ * `plex_api.watchlist.get-watch-list()`: **Deleted** **Breaking** ⚠️ * `plex_api.log.log_line()`: **Deleted** **Breaking** ⚠️ * `plex_api.log.log_multi_line()`: **Deleted** **Breaking** ⚠️ * `plex_api.log.enable_paper_trail()`: **Deleted** **Breaking** ⚠️ * `plex_api.playlists.create_playlist()`: **Deleted** **Breaking** ⚠️ * `plex_api.playlists.get_playlists()`: **Deleted** **Breaking** ⚠️ * `plex_api.playlists.get_playlist()`: **Deleted** **Breaking** ⚠️ * `plex_api.playlists.delete_playlist()`: **Deleted** **Breaking** ⚠️ * `plex_api.playlists.update_playlist()`: **Deleted** **Breaking** ⚠️ * `plex_api.playlists.get_playlist_contents()`: **Deleted** **Breaking** ⚠️ * `plex_api.playlists.clear_playlist_contents()`: **Deleted** **Breaking** ⚠️ * `plex_api.playlists.add_playlist_contents()`: **Deleted** **Breaking** ⚠️ * `plex_api.playlists.upload_playlist()`: **Deleted** **Breaking** ⚠️ * `plex_api.authentication.get_transient_token()`: **Deleted** **Breaking** ⚠️ * `plex_api.authentication.get_source_connection_information()`: **Deleted** **Breaking** ⚠️ * `plex_api.authentication.get_token_details()`: **Deleted** **Breaking** ⚠️ * `plex_api.authentication.post-users-sign-in-data()`: **Deleted** **Breaking** ⚠️ * `plex_api.statistics.get_statistics()`: **Deleted** **Breaking** ⚠️ * `plex_api.statistics.get_resources_statistics()`: **Deleted** **Breaking** ⚠️ * `plex_api.statistics.get_bandwidth_statistics()`: **Deleted** **Breaking** ⚠️ * `plex_api.sessions.get_sessions()`: **Deleted** **Breaking** ⚠️ * `plex_api.sessions.get_session_history()`: **Deleted** **Breaking** ⚠️ * `plex_api.sessions.get_transcode_sessions()`: **Deleted** **Breaking** ⚠️ * `plex_api.sessions.stop_transcode_session()`: **Deleted** **Breaking** ⚠️ * `plex_api.updater.get_update_status()`: **Deleted** **Breaking** ⚠️ * `plex_api.updater.check_for_updates()`: **Deleted** **Breaking** ⚠️ * `plex_api.users.get-users()`: **Deleted** **Breaking** ⚠️
This commit is contained in:
6695
.speakeasy/gen.lock
6695
.speakeasy/gen.lock
File diff suppressed because one or more lines are too long
@@ -22,13 +22,14 @@ generation:
|
||||
generateNewTests: false
|
||||
skipResponseBodyAssertions: false
|
||||
python:
|
||||
version: 0.30.0
|
||||
version: 0.31.0
|
||||
additionalDependencies:
|
||||
dev: {}
|
||||
main: {}
|
||||
allowedRedefinedBuiltins:
|
||||
- id
|
||||
- object
|
||||
asyncMode: both
|
||||
author: LukeHagar
|
||||
authors:
|
||||
- Speakeasy
|
||||
@@ -52,6 +53,7 @@ python:
|
||||
shared: models/components
|
||||
webhooks: models/webhooks
|
||||
inputModelSuffix: input
|
||||
legacyPyright: true
|
||||
maxMethodParams: 4
|
||||
methodArguments: require-security-and-request
|
||||
moduleName: ""
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
speakeasyVersion: 1.615.2
|
||||
speakeasyVersion: 1.636.3
|
||||
sources:
|
||||
my-source:
|
||||
sourceNamespace: my-source
|
||||
@@ -8,26 +8,29 @@ sources:
|
||||
- latest
|
||||
plexapi:
|
||||
sourceNamespace: plexapi
|
||||
sourceRevisionDigest: sha256:5125adfea1b0daea399c6ecf755e32795de6b4131465ae6a1f32ad73b3bc7787
|
||||
sourceBlobDigest: sha256:95cea18b6e5f7d76d35db0aba5bcb59e72cf204451a2b09a99be0e3e9ec1f4c0
|
||||
sourceRevisionDigest: sha256:bc60551015634fd59475cf17983ca3aedcab591426d526ab1e3634b1feedaec1
|
||||
sourceBlobDigest: sha256:fc8cd5343a94564b646830738f38e065d61e2ea63e4a1383ce07533586889950
|
||||
tags:
|
||||
- latest
|
||||
- speakeasy-sdk-regen-1757980982
|
||||
- speakeasy-sdk-regen-1760251608
|
||||
- 1.1.1
|
||||
targets:
|
||||
plexpy:
|
||||
source: plexapi
|
||||
sourceNamespace: plexapi
|
||||
sourceRevisionDigest: sha256:5125adfea1b0daea399c6ecf755e32795de6b4131465ae6a1f32ad73b3bc7787
|
||||
sourceBlobDigest: sha256:95cea18b6e5f7d76d35db0aba5bcb59e72cf204451a2b09a99be0e3e9ec1f4c0
|
||||
sourceRevisionDigest: sha256:bc60551015634fd59475cf17983ca3aedcab591426d526ab1e3634b1feedaec1
|
||||
sourceBlobDigest: sha256:fc8cd5343a94564b646830738f38e065d61e2ea63e4a1383ce07533586889950
|
||||
codeSamplesNamespace: code-samples-python-plexpy
|
||||
codeSamplesRevisionDigest: sha256:92cac100d2c46ee4ed5af2d9b877b2a5c3bcf8b6ad04a475b908adbaa6baab35
|
||||
codeSamplesRevisionDigest: sha256:ca94b40bc7e8f4d1efaf6c859f08d6ea17a0d50907c4d0adc7a2e6609f28d0dc
|
||||
workflow:
|
||||
workflowVersion: 1.0.0
|
||||
speakeasyVersion: latest
|
||||
sources:
|
||||
plexapi:
|
||||
inputs:
|
||||
- location: registry.speakeasyapi.dev/plexapi/plexapi/plexapi:main
|
||||
- location: https://raw.githubusercontent.com/LukeHagar/plex-api-spec/refs/heads/main/plex-api-spec.yaml
|
||||
registry:
|
||||
location: registry.speakeasyapi.dev/plexapi/plexapi/plexapi
|
||||
targets:
|
||||
plexpy:
|
||||
target: python
|
||||
|
||||
12
RELEASES.md
12
RELEASES.md
@@ -1098,4 +1098,14 @@ Based on:
|
||||
### Generated
|
||||
- [python v0.30.0] .
|
||||
### Releases
|
||||
- [PyPI v0.30.0] https://pypi.org/project/plex-api-client/0.30.0 - .
|
||||
- [PyPI v0.30.0] https://pypi.org/project/plex-api-client/0.30.0 - .
|
||||
|
||||
## 2025-10-12 06:46:30
|
||||
### Changes
|
||||
Based on:
|
||||
- OpenAPI Doc
|
||||
- Speakeasy CLI 1.636.3 (2.723.11) https://github.com/speakeasy-api/speakeasy
|
||||
### Generated
|
||||
- [python v0.31.0] .
|
||||
### Releases
|
||||
- [PyPI v0.31.0] https://pypi.org/project/plex-api-client/0.31.0 - .
|
||||
101
USAGE.md
101
USAGE.md
@@ -2,40 +2,125 @@
|
||||
```python
|
||||
# Synchronous Example
|
||||
from plex_api_client import PlexAPI
|
||||
from plex_api_client.models import components, operations
|
||||
|
||||
|
||||
with PlexAPI(
|
||||
access_token="<YOUR_API_KEY_HERE>",
|
||||
accepts=components.Accepts.APPLICATION_XML,
|
||||
client_identifier="abc123",
|
||||
product="Plex for Roku",
|
||||
version="2.4.1",
|
||||
platform="Roku",
|
||||
platform_version="4.3 build 1057",
|
||||
device="Roku 3",
|
||||
model="4200X",
|
||||
device_vendor="Roku",
|
||||
device_name="Living Room TV",
|
||||
marketplace="googlePlay",
|
||||
token="<YOUR_API_KEY_HERE>",
|
||||
) as plex_api:
|
||||
|
||||
res = plex_api.server.get_server_capabilities()
|
||||
res = plex_api.transcoder.start_transcode_session(request=operations.StartTranscodeSessionRequest(
|
||||
transcode_type=components.TranscodeType.MUSIC,
|
||||
extension=operations.Extension.MPD,
|
||||
advanced_subtitles=components.AdvancedSubtitles.BURN,
|
||||
audio_boost=50,
|
||||
audio_channel_count=5,
|
||||
auto_adjust_quality=components.BoolInt.ONE,
|
||||
auto_adjust_subtitle=components.BoolInt.ONE,
|
||||
direct_play=components.BoolInt.ONE,
|
||||
direct_stream=components.BoolInt.ONE,
|
||||
direct_stream_audio=components.BoolInt.ONE,
|
||||
disable_resolution_rotation=components.BoolInt.ONE,
|
||||
has_mde=components.BoolInt.ONE,
|
||||
location=operations.StartTranscodeSessionQueryParamLocation.WAN,
|
||||
media_buffer_size=102400,
|
||||
media_index=0,
|
||||
music_bitrate=5000,
|
||||
offset=90.5,
|
||||
part_index=0,
|
||||
path="/library/metadata/151671",
|
||||
peak_bitrate=12000,
|
||||
photo_resolution="1080x1080",
|
||||
protocol=operations.StartTranscodeSessionQueryParamProtocol.DASH,
|
||||
seconds_per_segment=5,
|
||||
subtitle_size=50,
|
||||
video_bitrate=12000,
|
||||
video_quality=50,
|
||||
video_resolution="1080x1080",
|
||||
x_plex_client_profile_extra="add-limitation(scope=videoCodec&scopeName=*&type=upperBound&name=video.frameRate&value=60&replace=true)+append-transcode-target-codec(type=videoProfile&context=streaming&videoCodec=h264%2Chevc&audioCodec=aac&protocol=dash)",
|
||||
x_plex_client_profile_name="generic",
|
||||
))
|
||||
|
||||
assert res.object is not None
|
||||
assert res.response_stream is not None
|
||||
|
||||
# Handle response
|
||||
print(res.object)
|
||||
print(res.response_stream)
|
||||
```
|
||||
|
||||
</br>
|
||||
|
||||
The same SDK client can also be used to make asynchronous requests by importing asyncio.
|
||||
|
||||
```python
|
||||
# Asynchronous Example
|
||||
import asyncio
|
||||
from plex_api_client import PlexAPI
|
||||
from plex_api_client.models import components, operations
|
||||
|
||||
async def main():
|
||||
|
||||
async with PlexAPI(
|
||||
access_token="<YOUR_API_KEY_HERE>",
|
||||
accepts=components.Accepts.APPLICATION_XML,
|
||||
client_identifier="abc123",
|
||||
product="Plex for Roku",
|
||||
version="2.4.1",
|
||||
platform="Roku",
|
||||
platform_version="4.3 build 1057",
|
||||
device="Roku 3",
|
||||
model="4200X",
|
||||
device_vendor="Roku",
|
||||
device_name="Living Room TV",
|
||||
marketplace="googlePlay",
|
||||
token="<YOUR_API_KEY_HERE>",
|
||||
) as plex_api:
|
||||
|
||||
res = await plex_api.server.get_server_capabilities_async()
|
||||
res = await plex_api.transcoder.start_transcode_session_async(request=operations.StartTranscodeSessionRequest(
|
||||
transcode_type=components.TranscodeType.MUSIC,
|
||||
extension=operations.Extension.MPD,
|
||||
advanced_subtitles=components.AdvancedSubtitles.BURN,
|
||||
audio_boost=50,
|
||||
audio_channel_count=5,
|
||||
auto_adjust_quality=components.BoolInt.ONE,
|
||||
auto_adjust_subtitle=components.BoolInt.ONE,
|
||||
direct_play=components.BoolInt.ONE,
|
||||
direct_stream=components.BoolInt.ONE,
|
||||
direct_stream_audio=components.BoolInt.ONE,
|
||||
disable_resolution_rotation=components.BoolInt.ONE,
|
||||
has_mde=components.BoolInt.ONE,
|
||||
location=operations.StartTranscodeSessionQueryParamLocation.WAN,
|
||||
media_buffer_size=102400,
|
||||
media_index=0,
|
||||
music_bitrate=5000,
|
||||
offset=90.5,
|
||||
part_index=0,
|
||||
path="/library/metadata/151671",
|
||||
peak_bitrate=12000,
|
||||
photo_resolution="1080x1080",
|
||||
protocol=operations.StartTranscodeSessionQueryParamProtocol.DASH,
|
||||
seconds_per_segment=5,
|
||||
subtitle_size=50,
|
||||
video_bitrate=12000,
|
||||
video_quality=50,
|
||||
video_resolution="1080x1080",
|
||||
x_plex_client_profile_extra="add-limitation(scope=videoCodec&scopeName=*&type=upperBound&name=video.frameRate&value=60&replace=true)+append-transcode-target-codec(type=videoProfile&context=streaming&videoCodec=h264%2Chevc&audioCodec=aac&protocol=dash)",
|
||||
x_plex_client_profile_name="generic",
|
||||
))
|
||||
|
||||
assert res.object is not None
|
||||
assert res.response_stream is not None
|
||||
|
||||
# Handle response
|
||||
print(res.object)
|
||||
print(res.response_stream)
|
||||
|
||||
asyncio.run(main())
|
||||
```
|
||||
|
||||
7673
codeSamples.yaml
7673
codeSamples.yaml
File diff suppressed because it is too large
Load Diff
9
docs/models/components/accepts.md
Normal file
9
docs/models/components/accepts.md
Normal file
@@ -0,0 +1,9 @@
|
||||
# Accepts
|
||||
|
||||
|
||||
## Values
|
||||
|
||||
| Name | Value |
|
||||
| ------------------ | ------------------ |
|
||||
| `APPLICATION_JSON` | application/json |
|
||||
| `APPLICATION_XML` | application/xml |
|
||||
10
docs/models/components/advancedsubtitles.md
Normal file
10
docs/models/components/advancedsubtitles.md
Normal file
@@ -0,0 +1,10 @@
|
||||
# AdvancedSubtitles
|
||||
|
||||
|
||||
## Values
|
||||
|
||||
| Name | Value |
|
||||
| --------- | --------- |
|
||||
| `BURN` | burn |
|
||||
| `TEXT` | text |
|
||||
| `UNKNOWN` | unknown |
|
||||
9
docs/models/components/airingstype.md
Normal file
9
docs/models/components/airingstype.md
Normal file
@@ -0,0 +1,9 @@
|
||||
# AiringsType
|
||||
|
||||
|
||||
## Values
|
||||
|
||||
| Name | Value |
|
||||
| ------------------------ | ------------------------ |
|
||||
| `NEW_AIRINGS_ONLY` | New Airings Only |
|
||||
| `NEW_AND_REPEAT_AIRINGS` | New and Repeat Airings |
|
||||
9
docs/models/components/boolint.md
Normal file
9
docs/models/components/boolint.md
Normal file
@@ -0,0 +1,9 @@
|
||||
# BoolInt
|
||||
|
||||
|
||||
## Values
|
||||
|
||||
| Name | Value |
|
||||
| ------ | ------ |
|
||||
| `ZERO` | 0 |
|
||||
| `ONE` | 1 |
|
||||
15
docs/models/components/channel.md
Normal file
15
docs/models/components/channel.md
Normal file
@@ -0,0 +1,15 @@
|
||||
# Channel
|
||||
|
||||
|
||||
## Fields
|
||||
|
||||
| Field | Type | Required | Description |
|
||||
| ------------------ | ------------------ | ------------------ | ------------------ |
|
||||
| `title` | *Optional[str]* | :heavy_minus_sign: | N/A |
|
||||
| `call_sign` | *Optional[str]* | :heavy_minus_sign: | N/A |
|
||||
| `channel_vcn` | *Optional[str]* | :heavy_minus_sign: | N/A |
|
||||
| `hd` | *Optional[bool]* | :heavy_minus_sign: | N/A |
|
||||
| `identifier` | *Optional[str]* | :heavy_minus_sign: | N/A |
|
||||
| `key` | *Optional[str]* | :heavy_minus_sign: | N/A |
|
||||
| `language` | *Optional[str]* | :heavy_minus_sign: | N/A |
|
||||
| `thumb` | *Optional[str]* | :heavy_minus_sign: | N/A |
|
||||
11
docs/models/components/channelmapping.md
Normal file
11
docs/models/components/channelmapping.md
Normal file
@@ -0,0 +1,11 @@
|
||||
# ChannelMapping
|
||||
|
||||
|
||||
## Fields
|
||||
|
||||
| Field | Type | Required | Description |
|
||||
| ------------------- | ------------------- | ------------------- | ------------------- |
|
||||
| `channel_key` | *Optional[str]* | :heavy_minus_sign: | N/A |
|
||||
| `device_identifier` | *Optional[str]* | :heavy_minus_sign: | N/A |
|
||||
| `enabled` | *Optional[str]* | :heavy_minus_sign: | N/A |
|
||||
| `lineup_identifier` | *Optional[str]* | :heavy_minus_sign: | N/A |
|
||||
18
docs/models/components/composite.md
Normal file
18
docs/models/components/composite.md
Normal file
@@ -0,0 +1,18 @@
|
||||
# Composite
|
||||
|
||||
|
||||
## Fields
|
||||
|
||||
| Field | Type | Required | Description |
|
||||
| -------------------------------------------------------------------------------- | -------------------------------------------------------------------------------- | -------------------------------------------------------------------------------- | -------------------------------------------------------------------------------- |
|
||||
| `type` | *Optional[int]* | :heavy_minus_sign: | Limit composite to specified metadata types |
|
||||
| `format_` | [Optional[components.Format]](../../models/components/format_.md) | :heavy_minus_sign: | The image type |
|
||||
| `background_color` | *Optional[str]* | :heavy_minus_sign: | 6 character hex RGB value for background color for image |
|
||||
| `border` | *Optional[int]* | :heavy_minus_sign: | The width of the intra-image border |
|
||||
| `cols` | *Optional[int]* | :heavy_minus_sign: | Number of columns to construct in the composite image |
|
||||
| `crop` | [Optional[components.Crop]](../../models/components/crop.md) | :heavy_minus_sign: | Where to crop source images to fit into composite image proportions |
|
||||
| `height` | *Optional[int]* | :heavy_minus_sign: | The height of the image |
|
||||
| `media` | [Optional[components.CompositeMedia]](../../models/components/compositemedia.md) | :heavy_minus_sign: | The default image type to use as the sources |
|
||||
| `repeat` | *Optional[bool]* | :heavy_minus_sign: | Allow repetion of images if there are not enough source images to fill grid |
|
||||
| `rows` | *Optional[int]* | :heavy_minus_sign: | Number of rows to construct in the composite image |
|
||||
| `width` | *Optional[int]* | :heavy_minus_sign: | The width of the image |
|
||||
12
docs/models/components/compositemedia.md
Normal file
12
docs/models/components/compositemedia.md
Normal file
@@ -0,0 +1,12 @@
|
||||
# CompositeMedia
|
||||
|
||||
The default image type to use as the sources
|
||||
|
||||
|
||||
## Values
|
||||
|
||||
| Name | Value |
|
||||
| -------- | -------- |
|
||||
| `THUMB` | thumb |
|
||||
| `ART` | art |
|
||||
| `BANNER` | banner |
|
||||
11
docs/models/components/crop.md
Normal file
11
docs/models/components/crop.md
Normal file
@@ -0,0 +1,11 @@
|
||||
# Crop
|
||||
|
||||
Where to crop source images to fit into composite image proportions
|
||||
|
||||
|
||||
## Values
|
||||
|
||||
| Name | Value |
|
||||
| -------- | -------- |
|
||||
| `CENTER` | center |
|
||||
| `TOP` | top |
|
||||
10
docs/models/components/decision.md
Normal file
10
docs/models/components/decision.md
Normal file
@@ -0,0 +1,10 @@
|
||||
# Decision
|
||||
|
||||
|
||||
## Values
|
||||
|
||||
| Name | Value |
|
||||
| ------------ | ------------ |
|
||||
| `DIRECTPLAY` | directplay |
|
||||
| `TRANSCODE` | transcode |
|
||||
| `NONE` | none |
|
||||
25
docs/models/components/default.md
Normal file
25
docs/models/components/default.md
Normal file
@@ -0,0 +1,25 @@
|
||||
# Default
|
||||
|
||||
The default value of this setting
|
||||
|
||||
|
||||
## Supported Types
|
||||
|
||||
### `str`
|
||||
|
||||
```python
|
||||
value: str = /* values here */
|
||||
```
|
||||
|
||||
### `float`
|
||||
|
||||
```python
|
||||
value: float = /* values here */
|
||||
```
|
||||
|
||||
### `bool`
|
||||
|
||||
```python
|
||||
value: bool = /* values here */
|
||||
```
|
||||
|
||||
11
docs/models/components/defaultdirection.md
Normal file
11
docs/models/components/defaultdirection.md
Normal file
@@ -0,0 +1,11 @@
|
||||
# DefaultDirection
|
||||
|
||||
This default diction of this sort
|
||||
|
||||
|
||||
## Values
|
||||
|
||||
| Name | Value |
|
||||
| ------ | ------ |
|
||||
| `ASC` | asc |
|
||||
| `DESC` | desc |
|
||||
20
docs/models/components/device.md
Normal file
20
docs/models/components/device.md
Normal file
@@ -0,0 +1,20 @@
|
||||
# Device
|
||||
|
||||
|
||||
## Fields
|
||||
|
||||
| Field | Type | Required | Description |
|
||||
| ---------------------------------------------------------------------------- | ---------------------------------------------------------------------------- | ---------------------------------------------------------------------------- | ---------------------------------------------------------------------------- |
|
||||
| `channel_mapping` | List[[components.ChannelMapping](../../models/components/channelmapping.md)] | :heavy_minus_sign: | N/A |
|
||||
| `key` | *Optional[str]* | :heavy_minus_sign: | N/A |
|
||||
| `last_seen_at` | *Optional[int]* | :heavy_minus_sign: | N/A |
|
||||
| `make` | *Optional[str]* | :heavy_minus_sign: | N/A |
|
||||
| `model` | *Optional[str]* | :heavy_minus_sign: | N/A |
|
||||
| `model_number` | *Optional[str]* | :heavy_minus_sign: | N/A |
|
||||
| `protocol` | *Optional[str]* | :heavy_minus_sign: | N/A |
|
||||
| `sources` | *Optional[str]* | :heavy_minus_sign: | N/A |
|
||||
| `state` | *Optional[str]* | :heavy_minus_sign: | N/A |
|
||||
| `status` | *Optional[str]* | :heavy_minus_sign: | N/A |
|
||||
| `tuners` | *Optional[str]* | :heavy_minus_sign: | N/A |
|
||||
| `uri` | *Optional[str]* | :heavy_minus_sign: | N/A |
|
||||
| `uuid` | *Optional[str]* | :heavy_minus_sign: | N/A |
|
||||
23
docs/models/components/directory.md
Normal file
23
docs/models/components/directory.md
Normal file
@@ -0,0 +1,23 @@
|
||||
# Directory
|
||||
|
||||
|
||||
## Fields
|
||||
|
||||
| Field | Type | Required | Description |
|
||||
| ---------------------------------------------------------- | ---------------------------------------------------------- | ---------------------------------------------------------- | ---------------------------------------------------------- |
|
||||
| `title` | *Optional[str]* | :heavy_minus_sign: | N/A |
|
||||
| `type` | *Optional[str]* | :heavy_minus_sign: | N/A |
|
||||
| `art` | *Optional[str]* | :heavy_minus_sign: | N/A |
|
||||
| `content` | *Optional[bool]* | :heavy_minus_sign: | N/A |
|
||||
| `filter_` | *Optional[str]* | :heavy_minus_sign: | N/A |
|
||||
| `has_prefs` | *Optional[bool]* | :heavy_minus_sign: | N/A |
|
||||
| `has_store_services` | *Optional[bool]* | :heavy_minus_sign: | N/A |
|
||||
| `hub_key` | *Optional[str]* | :heavy_minus_sign: | N/A |
|
||||
| `identifier` | *Optional[str]* | :heavy_minus_sign: | N/A |
|
||||
| `key` | *Optional[str]* | :heavy_minus_sign: | N/A |
|
||||
| `last_accessed_at` | *Optional[int]* | :heavy_minus_sign: | N/A |
|
||||
| `pivot` | List[[components.Pivot](../../models/components/pivot.md)] | :heavy_minus_sign: | N/A |
|
||||
| `share` | *Optional[int]* | :heavy_minus_sign: | N/A |
|
||||
| `thumb` | *Optional[str]* | :heavy_minus_sign: | N/A |
|
||||
| `title_bar` | *Optional[str]* | :heavy_minus_sign: | N/A |
|
||||
| `__pydantic_extra__` | Dict[str, *Any*] | :heavy_minus_sign: | N/A |
|
||||
12
docs/models/components/dvr.md
Normal file
12
docs/models/components/dvr.md
Normal file
@@ -0,0 +1,12 @@
|
||||
# Dvr
|
||||
|
||||
|
||||
## Fields
|
||||
|
||||
| Field | Type | Required | Description |
|
||||
| ------------------------------------------------------------ | ------------------------------------------------------------ | ------------------------------------------------------------ | ------------------------------------------------------------ |
|
||||
| `device` | List[[components.Device](../../models/components/device.md)] | :heavy_minus_sign: | N/A |
|
||||
| `key` | *Optional[str]* | :heavy_minus_sign: | N/A |
|
||||
| `language` | *Optional[str]* | :heavy_minus_sign: | N/A |
|
||||
| `lineup` | *Optional[str]* | :heavy_minus_sign: | N/A |
|
||||
| `uuid` | *Optional[str]* | :heavy_minus_sign: | N/A |
|
||||
@@ -0,0 +1,10 @@
|
||||
# DvrRequestHandlerSlashGetResponses200
|
||||
|
||||
OK
|
||||
|
||||
|
||||
## Fields
|
||||
|
||||
| Field | Type | Required | Description |
|
||||
| ---------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------- |
|
||||
| `media_container` | [Optional[components.DvrRequestHandlerSlashGetResponses200MediaContainer]](../../models/components/dvrrequesthandlerslashgetresponses200mediacontainer.md) | :heavy_minus_sign: | N/A |
|
||||
@@ -0,0 +1,9 @@
|
||||
# DvrRequestHandlerSlashGetResponses200MediaContainer
|
||||
|
||||
|
||||
## Fields
|
||||
|
||||
| Field | Type | Required | Description |
|
||||
| -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
|
||||
| `media_container` | [Optional[components.DvrRequestHandlerSlashGetResponses200MediaContainerMediaContainer]](../../models/components/dvrrequesthandlerslashgetresponses200mediacontainermediacontainer.md) | :heavy_minus_sign: | N/A |
|
||||
| `dvr` | List[[components.Dvr](../../models/components/dvr.md)] | :heavy_minus_sign: | N/A |
|
||||
@@ -0,0 +1,17 @@
|
||||
# DvrRequestHandlerSlashGetResponses200MediaContainerMediaContainer
|
||||
|
||||
`MediaContainer` is the root element of most Plex API responses. It serves as a generic container for various types of content (Metadata, Hubs, Directories, etc.) and includes pagination information (offset, size, totalSize) when applicable.
|
||||
Common attributes: - identifier: Unique identifier for this container - size: Number of items in this response page - totalSize: Total number of items available (for pagination) - offset: Starting index of this page (for pagination)
|
||||
The container often "hoists" common attributes from its children. For example, if all tracks in a container share the same album title, the `parentTitle` attribute may appear on the MediaContainer rather than being repeated on each track.
|
||||
|
||||
|
||||
|
||||
## Fields
|
||||
|
||||
| Field | Type | Required | Description |
|
||||
| ---------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------- |
|
||||
| `identifier` | *Optional[str]* | :heavy_minus_sign: | N/A |
|
||||
| `offset` | *Optional[int]* | :heavy_minus_sign: | The offset of where this container page starts among the total objects available. Also provided in the `X-Plex-Container-Start` header.<br/> |
|
||||
| `size` | *Optional[int]* | :heavy_minus_sign: | N/A |
|
||||
| `total_size` | *Optional[int]* | :heavy_minus_sign: | The total size of objects available. Also provided in the `X-Plex-Container-Total-Size` header.<br/> |
|
||||
| `status` | *Optional[int]* | :heavy_minus_sign: | A status indicator. If present and non-zero, indicates an error |
|
||||
27
docs/models/components/filter_.md
Normal file
27
docs/models/components/filter_.md
Normal file
@@ -0,0 +1,27 @@
|
||||
# Filter
|
||||
|
||||
Each `Filter` object contains a description of the filter. Note that it is not an exhaustive list of the full media query language, but an important subset useful for top-level API.
|
||||
|
||||
|
||||
|
||||
## Fields
|
||||
|
||||
| Field | Type | Required | Description |
|
||||
| ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
|
||||
| `title` | *Optional[str]* | :heavy_minus_sign: | The title for the filter. |
|
||||
| `type` | *Optional[str]* | :heavy_minus_sign: | N/A |
|
||||
| `art` | *Optional[str]* | :heavy_minus_sign: | N/A |
|
||||
| `content` | *Optional[bool]* | :heavy_minus_sign: | N/A |
|
||||
| `filter_` | *Optional[str]* | :heavy_minus_sign: | This represents the filter name used for the filter, which can be used to construct complex media queries with. |
|
||||
| `has_prefs` | *Optional[bool]* | :heavy_minus_sign: | N/A |
|
||||
| `has_store_services` | *Optional[bool]* | :heavy_minus_sign: | N/A |
|
||||
| `hub_key` | *Optional[str]* | :heavy_minus_sign: | N/A |
|
||||
| `identifier` | *Optional[str]* | :heavy_minus_sign: | N/A |
|
||||
| `key` | *Optional[str]* | :heavy_minus_sign: | This provides the endpoint where the possible range of values for the filter can be retrieved (e.g. for a "Genre" filter, it returns a list of all the genres in the library). This will include a `type` argument that matches the metadata type of the Type element. |
|
||||
| `last_accessed_at` | *Optional[int]* | :heavy_minus_sign: | N/A |
|
||||
| `pivot` | List[[components.FilterPivot](../../models/components/filterpivot.md)] | :heavy_minus_sign: | N/A |
|
||||
| `share` | *Optional[int]* | :heavy_minus_sign: | N/A |
|
||||
| `thumb` | *Optional[str]* | :heavy_minus_sign: | N/A |
|
||||
| `title_bar` | *Optional[str]* | :heavy_minus_sign: | N/A |
|
||||
| `filter_type` | *Optional[str]* | :heavy_minus_sign: | This is either `string`, `integer`, or `boolean`, and describes the type of values used for the filter. |
|
||||
| `__pydantic_extra__` | Dict[str, *Any*] | :heavy_minus_sign: | N/A |
|
||||
13
docs/models/components/filterpivot.md
Normal file
13
docs/models/components/filterpivot.md
Normal file
@@ -0,0 +1,13 @@
|
||||
# FilterPivot
|
||||
|
||||
|
||||
## Fields
|
||||
|
||||
| Field | Type | Required | Description |
|
||||
| ------------------ | ------------------ | ------------------ | ------------------ |
|
||||
| `title` | *Optional[str]* | :heavy_minus_sign: | N/A |
|
||||
| `type` | *Optional[str]* | :heavy_minus_sign: | N/A |
|
||||
| `context` | *Optional[str]* | :heavy_minus_sign: | N/A |
|
||||
| `id` | *Optional[str]* | :heavy_minus_sign: | N/A |
|
||||
| `key` | *Optional[str]* | :heavy_minus_sign: | N/A |
|
||||
| `symbol` | *Optional[str]* | :heavy_minus_sign: | N/A |
|
||||
11
docs/models/components/format_.md
Normal file
11
docs/models/components/format_.md
Normal file
@@ -0,0 +1,11 @@
|
||||
# Format
|
||||
|
||||
The image type
|
||||
|
||||
|
||||
## Values
|
||||
|
||||
| Name | Value |
|
||||
| ----- | ----- |
|
||||
| `JPG` | jpg |
|
||||
| `PNG` | png |
|
||||
10
docs/models/components/getresponses200.md
Normal file
10
docs/models/components/getresponses200.md
Normal file
@@ -0,0 +1,10 @@
|
||||
# GetResponses200
|
||||
|
||||
OK
|
||||
|
||||
|
||||
## Fields
|
||||
|
||||
| Field | Type | Required | Description |
|
||||
| -------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------- |
|
||||
| `media_container` | [Optional[components.GetResponses200MediaContainer]](../../models/components/getresponses200mediacontainer.md) | :heavy_minus_sign: | N/A |
|
||||
14
docs/models/components/getresponses200hub.md
Normal file
14
docs/models/components/getresponses200hub.md
Normal file
@@ -0,0 +1,14 @@
|
||||
# GetResponses200Hub
|
||||
|
||||
|
||||
## Fields
|
||||
|
||||
| Field | Type | Required | Description |
|
||||
| -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
|
||||
| `home_visibility` | [Optional[components.HomeVisibility]](../../models/components/homevisibility.md) | :heavy_minus_sign: | Whether this hub is visible on the home screen<br/> - all: Visible to all users<br/> - none: Visible to no users<br/> - admin: Visible to only admin users<br/> - shared: Visible to shared users<br/> |
|
||||
| `identifier` | *Optional[str]* | :heavy_minus_sign: | The identifier for this hub |
|
||||
| `promoted_to_own_home` | *Optional[bool]* | :heavy_minus_sign: | Whether this hub is visible to admin user home |
|
||||
| `promoted_to_recommended` | *Optional[bool]* | :heavy_minus_sign: | Whether this hub is promoted to all for recommendations |
|
||||
| `promoted_to_shared_home` | *Optional[bool]* | :heavy_minus_sign: | Whether this hub is visible to shared user's home |
|
||||
| `recommendations_visibility` | [Optional[components.RecommendationsVisibility]](../../models/components/recommendationsvisibility.md) | :heavy_minus_sign: | The visibility of this hub in recommendations:<br/> - all: Visible to all users<br/> - none: Visible to no users<br/> - admin: Visible to only admin users<br/> - shared: Visible to shared users<br/> |
|
||||
| `title` | *Optional[str]* | :heavy_minus_sign: | The title of this hub |
|
||||
17
docs/models/components/getresponses200mediacontainer.md
Normal file
17
docs/models/components/getresponses200mediacontainer.md
Normal file
@@ -0,0 +1,17 @@
|
||||
# GetResponses200MediaContainer
|
||||
|
||||
`MediaContainer` is the root element of most Plex API responses. It serves as a generic container for various types of content (Metadata, Hubs, Directories, etc.) and includes pagination information (offset, size, totalSize) when applicable.
|
||||
Common attributes: - identifier: Unique identifier for this container - size: Number of items in this response page - totalSize: Total number of items available (for pagination) - offset: Starting index of this page (for pagination)
|
||||
The container often "hoists" common attributes from its children. For example, if all tracks in a container share the same album title, the `parentTitle` attribute may appear on the MediaContainer rather than being repeated on each track.
|
||||
|
||||
|
||||
|
||||
## Fields
|
||||
|
||||
| Field | Type | Required | Description |
|
||||
| ---------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------- |
|
||||
| `identifier` | *Optional[str]* | :heavy_minus_sign: | N/A |
|
||||
| `offset` | *Optional[int]* | :heavy_minus_sign: | The offset of where this container page starts among the total objects available. Also provided in the `X-Plex-Container-Start` header.<br/> |
|
||||
| `size` | *Optional[int]* | :heavy_minus_sign: | N/A |
|
||||
| `total_size` | *Optional[int]* | :heavy_minus_sign: | The total size of objects available. Also provided in the `X-Plex-Container-Total-Size` header.<br/> |
|
||||
| `hub` | List[[components.GetResponses200Hub](../../models/components/getresponses200hub.md)] | :heavy_minus_sign: | N/A |
|
||||
10
docs/models/components/historyallgetresponses200.md
Normal file
10
docs/models/components/historyallgetresponses200.md
Normal file
@@ -0,0 +1,10 @@
|
||||
# HistoryAllGetResponses200
|
||||
|
||||
OK
|
||||
|
||||
|
||||
## Fields
|
||||
|
||||
| Field | Type | Required | Description |
|
||||
| ---------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------- |
|
||||
| `media_container` | [Optional[components.HistoryAllGetResponses200MediaContainer]](../../models/components/historyallgetresponses200mediacontainer.md) | :heavy_minus_sign: | N/A |
|
||||
@@ -0,0 +1,17 @@
|
||||
# HistoryAllGetResponses200MediaContainer
|
||||
|
||||
`MediaContainer` is the root element of most Plex API responses. It serves as a generic container for various types of content (Metadata, Hubs, Directories, etc.) and includes pagination information (offset, size, totalSize) when applicable.
|
||||
Common attributes: - identifier: Unique identifier for this container - size: Number of items in this response page - totalSize: Total number of items available (for pagination) - offset: Starting index of this page (for pagination)
|
||||
The container often "hoists" common attributes from its children. For example, if all tracks in a container share the same album title, the `parentTitle` attribute may appear on the MediaContainer rather than being repeated on each track.
|
||||
|
||||
|
||||
|
||||
## Fields
|
||||
|
||||
| Field | Type | Required | Description |
|
||||
| ---------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------- |
|
||||
| `identifier` | *Optional[str]* | :heavy_minus_sign: | N/A |
|
||||
| `offset` | *Optional[int]* | :heavy_minus_sign: | The offset of where this container page starts among the total objects available. Also provided in the `X-Plex-Container-Start` header.<br/> |
|
||||
| `size` | *Optional[int]* | :heavy_minus_sign: | N/A |
|
||||
| `total_size` | *Optional[int]* | :heavy_minus_sign: | The total size of objects available. Also provided in the `X-Plex-Container-Total-Size` header.<br/> |
|
||||
| `metadata` | List[[components.HistoryAllGetResponses200Metadata](../../models/components/historyallgetresponses200metadata.md)] | :heavy_minus_sign: | N/A |
|
||||
18
docs/models/components/historyallgetresponses200metadata.md
Normal file
18
docs/models/components/historyallgetresponses200metadata.md
Normal file
@@ -0,0 +1,18 @@
|
||||
# HistoryAllGetResponses200Metadata
|
||||
|
||||
|
||||
## Fields
|
||||
|
||||
| Field | Type | Required | Description |
|
||||
| ------------------------------------------------- | ------------------------------------------------- | ------------------------------------------------- | ------------------------------------------------- |
|
||||
| `account_id` | *Optional[int]* | :heavy_minus_sign: | The account id of this playback |
|
||||
| `device_id` | *Optional[int]* | :heavy_minus_sign: | The device id which played the item |
|
||||
| `history_key` | *Optional[str]* | :heavy_minus_sign: | The key for this individual history item |
|
||||
| `key` | *Optional[str]* | :heavy_minus_sign: | The metadata key for the item played |
|
||||
| `library_section_id` | *Optional[str]* | :heavy_minus_sign: | The library section id containing the item played |
|
||||
| `originally_available_at` | *Optional[str]* | :heavy_minus_sign: | The originally available at of the item played |
|
||||
| `rating_key` | *Optional[str]* | :heavy_minus_sign: | The rating key for the item played |
|
||||
| `thumb` | *Optional[str]* | :heavy_minus_sign: | The thumb of the item played |
|
||||
| `title` | *Optional[str]* | :heavy_minus_sign: | The title of the item played |
|
||||
| `type` | *Optional[str]* | :heavy_minus_sign: | The metadata type of the item played |
|
||||
| `viewed_at` | *Optional[int]* | :heavy_minus_sign: | The time when the item was played |
|
||||
18
docs/models/components/homevisibility.md
Normal file
18
docs/models/components/homevisibility.md
Normal file
@@ -0,0 +1,18 @@
|
||||
# HomeVisibility
|
||||
|
||||
Whether this hub is visible on the home screen
|
||||
- all: Visible to all users
|
||||
- none: Visible to no users
|
||||
- admin: Visible to only admin users
|
||||
- shared: Visible to shared users
|
||||
|
||||
|
||||
|
||||
## Values
|
||||
|
||||
| Name | Value |
|
||||
| -------- | -------- |
|
||||
| `ALL` | all |
|
||||
| `NONE` | none |
|
||||
| `ADMIN` | admin |
|
||||
| `SHARED` | shared |
|
||||
22
docs/models/components/hub.md
Normal file
22
docs/models/components/hub.md
Normal file
@@ -0,0 +1,22 @@
|
||||
# Hub
|
||||
|
||||
|
||||
## Fields
|
||||
|
||||
| Field | Type | Required | Description | Example |
|
||||
| ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
|
||||
| `title` | *Optional[str]* | :heavy_minus_sign: | A title for this grouping of content | |
|
||||
| `type` | *Optional[str]* | :heavy_minus_sign: | The type of the items contained in this hub, or possibly `mixed` if there are multiple types | track |
|
||||
| `context` | *Optional[str]* | :heavy_minus_sign: | N/A | hub.home.onDeck |
|
||||
| `hub_identifier` | *Optional[str]* | :heavy_minus_sign: | A unique identifier for the hub | home.onDeck |
|
||||
| `hub_key` | *Optional[str]* | :heavy_minus_sign: | A key at which the exact content currently displayed can be fetched again. This is particularly important when a hub is marked as random and requesting the `key` may get different results. It's otherwise optional.<br/> | |
|
||||
| `key` | *Optional[str]* | :heavy_minus_sign: | The key at which all of the content for this hub can be retrieved | /hubs/sections/home/onDeck |
|
||||
| `metadata` | List[[components.Metadata](../../models/components/metadata.md)] | :heavy_minus_sign: | N/A | |
|
||||
| `more` | *Optional[bool]* | :heavy_minus_sign: | "A boolean indicating that the hub contains more than what's included in the current response."<br/> | |
|
||||
| `promoted` | *Optional[bool]* | :heavy_minus_sign: | Indicating if the hub should be promoted to the user's homescreen | |
|
||||
| `random` | *Optional[bool]* | :heavy_minus_sign: | Indicating that the contents of the hub may change on each request | |
|
||||
| `size` | *Optional[int]* | :heavy_minus_sign: | N/A | 1 |
|
||||
| `style` | *Optional[str]* | :heavy_minus_sign: | A suggestion on how this hub's contents might be displayed by a client. Some examples include `hero`, `list`, `spotlight`, and `upsell` | |
|
||||
| `subtype` | *Optional[str]* | :heavy_minus_sign: | The subtype of the items contained in this hub, or possibly `mixed` if there are multiple types | podcast |
|
||||
| `total_size` | *Optional[int]* | :heavy_minus_sign: | N/A | 8 |
|
||||
| `__pydantic_extra__` | Dict[str, *Any*] | :heavy_minus_sign: | N/A | |
|
||||
13
docs/models/components/image.md
Normal file
13
docs/models/components/image.md
Normal file
@@ -0,0 +1,13 @@
|
||||
# Image
|
||||
|
||||
Images such as movie posters and background artwork are represented by Image elements.
|
||||
|
||||
|
||||
|
||||
## Fields
|
||||
|
||||
| Field | Type | Required | Description |
|
||||
| ---------------------------------------------------------------------- | ---------------------------------------------------------------------- | ---------------------------------------------------------------------- | ---------------------------------------------------------------------- |
|
||||
| `type` | [Optional[components.ImageType]](../../models/components/imagetype.md) | :heavy_minus_sign: | Describes both the purpose and intended presentation of the image. |
|
||||
| `alt` | *Optional[str]* | :heavy_minus_sign: | Title to use for accessibility. |
|
||||
| `url` | *Optional[str]* | :heavy_minus_sign: | The relative path or absolute url for the image. |
|
||||
14
docs/models/components/imagetype.md
Normal file
14
docs/models/components/imagetype.md
Normal file
@@ -0,0 +1,14 @@
|
||||
# ImageType
|
||||
|
||||
Describes both the purpose and intended presentation of the image.
|
||||
|
||||
|
||||
## Values
|
||||
|
||||
| Name | Value |
|
||||
| -------------- | -------------- |
|
||||
| `BACKGROUND` | background |
|
||||
| `BANNER` | banner |
|
||||
| `CLEAR_LOGO` | clearLogo |
|
||||
| `COVER_POSTER` | coverPoster |
|
||||
| `SNAPSHOT` | snapshot |
|
||||
83
docs/models/components/items.md
Normal file
83
docs/models/components/items.md
Normal file
@@ -0,0 +1,83 @@
|
||||
# Items
|
||||
|
||||
Items in a library are referred to as "metadata items." These metadata items are distinct from "media items" which represent actual instances of media that can be consumed. Consider a TV library that has a single video file in it for a particular episode of a show. The library has a single media item, but it has three metadata items: one for the show, one for the season, and one for the episode. Consider a movie library that has two video files in it: the same movie, but two different resolutions. The library has a single metadata item for the movie, but that metadata item has two media items, one for each resolution. Additionally a "media item" will have one or more "media parts" where the the parts are intended to be watched together, such as a CD1 and CD2 parts of the same movie.
|
||||
|
||||
Note that when a metadata item has multiple media items, those media items should be isomorphic. That is, a 4K version and 1080p version of a movie are different versions of the same movie. They have the same duration, same summary, same rating, etc. and they can generally be considered interchangeable. A theatrical release vs. director's cut vs. unrated version on the other hand would be separate metadata items.
|
||||
|
||||
Metadata items can often live in a hierarchy with relationships between them. For example, the metadata item for an episodes is associated with a season metadata item which is associated with a show metadata item. A similar hierarchy exists with track, album, and artist and photos and photo album. The relationships may be expressed via relative terms and absolute terms. For example, "leaves" refer to metadata items which has associated media (there is no media for a season nor show). A show will have "children" in the form of seasons and a season will have "children" in the form of episodes and episodes have "parent" in the form of a season which has a "parent" in the form of a show. Similarly, a show has "grandchildren" in the form of episodse and an episode has a "grandparent" in the form of a show.
|
||||
|
||||
|
||||
|
||||
## Fields
|
||||
|
||||
| Field | Type | Required | Description |
|
||||
| ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
|
||||
| `title` | *Optional[Any]* | :heavy_minus_sign: | The title of the item (e.g. “300” or “The Simpsons”) |
|
||||
| `type` | *Optional[Any]* | :heavy_minus_sign: | The type of the video item, such as `movie`, `episode`, or `clip`. |
|
||||
| `absolute_index` | *Optional[int]* | :heavy_minus_sign: | When present, contains the disc number for a track on multi-disc albums. |
|
||||
| `added_at` | *Optional[int]* | :heavy_minus_sign: | In units of seconds since the epoch, returns the time at which the item was added to the library. |
|
||||
| `art` | *Optional[Any]* | :heavy_minus_sign: | When present, the URL for the background artwork for the item. |
|
||||
| `audience_rating` | *Optional[float]* | :heavy_minus_sign: | Some rating systems separate reviewer ratings from audience ratings |
|
||||
| `audience_rating_image` | *Optional[Any]* | :heavy_minus_sign: | A URI representing the image to be shown with the audience rating (e.g. rottentomatoes://image.rating.spilled). |
|
||||
| `autotag` | List[[components.Tag](../../models/components/tag.md)] | :heavy_minus_sign: | N/A |
|
||||
| `banner` | *Optional[Any]* | :heavy_minus_sign: | When present, the URL for a banner graphic for the item. |
|
||||
| `chapter_source` | *Optional[Any]* | :heavy_minus_sign: | When present, indicates the source for the chapters in the media file. Can be media (the chapters were embedded in the media itself), agent (a metadata agent computed them), or mixed (a combination of the two). |
|
||||
| `composite` | *Optional[Any]* | :heavy_minus_sign: | When present, the URL for a composite image for descendent items (e.g. photo albums or playlists). |
|
||||
| `content_rating` | *Optional[Any]* | :heavy_minus_sign: | If known, the content rating (e.g. MPAA) for an item. |
|
||||
| `country` | List[[components.Tag](../../models/components/tag.md)] | :heavy_minus_sign: | N/A |
|
||||
| `director` | List[[components.Tag](../../models/components/tag.md)] | :heavy_minus_sign: | N/A |
|
||||
| `duration` | *Optional[int]* | :heavy_minus_sign: | When present, the duration for the item, in units of milliseconds. |
|
||||
| `filter_` | List[[components.Filter](../../models/components/filter_.md)] | :heavy_minus_sign: | Typically only seen in metadata at a library's top level |
|
||||
| `genre` | List[[components.Tag](../../models/components/tag.md)] | :heavy_minus_sign: | N/A |
|
||||
| `grandparent_art` | *Optional[str]* | :heavy_minus_sign: | The `art` of the grandparent |
|
||||
| `grandparent_hero` | *Optional[str]* | :heavy_minus_sign: | The `hero` of the grandparent |
|
||||
| `grandparent_key` | *Optional[str]* | :heavy_minus_sign: | The `key` of the grandparent |
|
||||
| `grandparent_rating_key` | *Optional[str]* | :heavy_minus_sign: | The `ratingKey` of the grandparent |
|
||||
| `grandparent_theme` | *Optional[str]* | :heavy_minus_sign: | The `theme` of the grandparent |
|
||||
| `grandparent_thumb` | *Optional[str]* | :heavy_minus_sign: | The `thumb` of the grandparent |
|
||||
| `grandparent_title` | *Optional[str]* | :heavy_minus_sign: | The `title` of the grandparent |
|
||||
| `guid` | List[[components.Tag](../../models/components/tag.md)] | :heavy_minus_sign: | N/A |
|
||||
| `hero` | *Optional[Any]* | :heavy_minus_sign: | When present, the URL for a hero image for the item. |
|
||||
| `image` | List[[components.Image](../../models/components/image.md)] | :heavy_minus_sign: | N/A |
|
||||
| `index` | *Optional[int]* | :heavy_minus_sign: | When present, this represents the episode number for episodes, season number for seasons, or track number for audio tracks. |
|
||||
| `key` | *Optional[Any]* | :heavy_minus_sign: | The key at which the item's details can be fetched. In many cases a metadata item may be passed without all the details (such as in a hub) and this key corresponds to the endpoint to fetch additional details. |
|
||||
| `last_viewed_at` | *Optional[int]* | :heavy_minus_sign: | When a user has watched or listened to an item, this contains a timestamp (epoch seconds) for that last consumption time. |
|
||||
| `leaf_count` | *Optional[int]* | :heavy_minus_sign: | For shows and seasons, contains the number of total episodes. |
|
||||
| `media` | List[[components.Media](../../models/components/media.md)] | :heavy_minus_sign: | N/A |
|
||||
| `originally_available_at` | *Optional[Any]* | :heavy_minus_sign: | When present, in the format YYYY-MM-DD [HH:MM:SS] (the hours/minutes/seconds part is not always present). The air date, or a higher resolution release date for an item, depending on type. For example, episodes usually have air date like 1979-08-10 (we don't use epoch seconds because media existed prior to 1970). In some cases, recorded over-the-air content has higher resolution air date which includes a time component. Albums and movies may have day-resolution release dates as well. |
|
||||
| `original_title` | *Optional[Any]* | :heavy_minus_sign: | When present, used to indicate an item's original title, e.g. a movie's foreign title. |
|
||||
| `parent_hero` | *Optional[str]* | :heavy_minus_sign: | The `hero` of the parent |
|
||||
| `parent_index` | *Optional[int]* | :heavy_minus_sign: | The `index` of the parent |
|
||||
| `parent_key` | *Optional[str]* | :heavy_minus_sign: | The `key` of the parent |
|
||||
| `parent_rating_key` | *Optional[str]* | :heavy_minus_sign: | The `ratingKey` of the parent |
|
||||
| `parent_thumb` | *Optional[str]* | :heavy_minus_sign: | The `thumb` of the parent |
|
||||
| `parent_title` | *Optional[str]* | :heavy_minus_sign: | The `title` of the parent |
|
||||
| `primary_extra_key` | *Optional[Any]* | :heavy_minus_sign: | Indicates that the item has a primary extra; for a movie, this is a trailer, and for a music track it is a music video. The URL points to the metadata details endpoint for the item. |
|
||||
| `prompt` | *Optional[str]* | :heavy_minus_sign: | Prompt to give the user for this directory (such as `Search Movies`) |
|
||||
| `rating` | *Optional[float]* | :heavy_minus_sign: | When present, the rating for the item. The exact meaning and representation depends on where the rating was sourced from. |
|
||||
| `rating_array` | List[[components.Tag](../../models/components/tag.md)] | :heavy_minus_sign: | N/A |
|
||||
| `rating_count` | *Optional[int]* | :heavy_minus_sign: | Number of ratings under this metadata |
|
||||
| `rating_image` | *Optional[Any]* | :heavy_minus_sign: | When present, indicates an image to be shown with the rating. This is passed back as a small set of defined URI values, e.g. rottentomatoes://image.rating.rotten. |
|
||||
| `rating_key` | *Optional[Any]* | :heavy_minus_sign: | This is the opaque string to be passed into timeline, scrobble, and rating endpoints to identify them. While it often appears to be numeric, this is not guaranteed. |
|
||||
| `role` | List[[components.Tag](../../models/components/tag.md)] | :heavy_minus_sign: | N/A |
|
||||
| `search` | *Optional[bool]* | :heavy_minus_sign: | Indicates this is a search directory |
|
||||
| `secondary` | *Optional[bool]* | :heavy_minus_sign: | Used by old clients to provide nested menus allowing for primative (but structured) navigation. |
|
||||
| `skip_children` | *Optional[bool]* | :heavy_minus_sign: | When found on a show item, indicates that the children (seasons) should be skipped in favor of the grandchildren (episodes). Useful for mini-series, etc. |
|
||||
| `skip_parent` | *Optional[bool]* | :heavy_minus_sign: | When present on an episode or track item, indicates parent should be skipped in favor of grandparent (show). |
|
||||
| `sort` | List[[components.Sort](../../models/components/sort.md)] | :heavy_minus_sign: | Typically only seen in metadata at a library's top level |
|
||||
| `studio` | *Optional[Any]* | :heavy_minus_sign: | When present, the studio or label which produced an item (e.g. movie studio for movies, record label for albums). |
|
||||
| `subtype` | *Optional[Any]* | :heavy_minus_sign: | The subtype of the video item, such as `photo` when the video item is in a photo library |
|
||||
| `summary` | *Optional[Any]* | :heavy_minus_sign: | When present, the extended textual information about the item (e.g. movie plot, artist biography, album review). |
|
||||
| `tagline` | *Optional[Any]* | :heavy_minus_sign: | When present, a pithy one-liner about the item (usually only seen for movies). |
|
||||
| `theme` | *Optional[Any]* | :heavy_minus_sign: | When present, the URL for theme music for the item (usually only for TV shows). |
|
||||
| `thumb` | *Optional[Any]* | :heavy_minus_sign: | When present, the URL for the poster or thumbnail for the item. When available for types like movie, it will be the poster graphic, but fall-back to the extracted media thumbnail. |
|
||||
| `title_sort` | *Optional[Any]* | :heavy_minus_sign: | Whene present, this is the string used for sorting the item. It's usually the title with any leading articles removed (e.g. “Simpsons”). |
|
||||
| `updated_at` | *Optional[int]* | :heavy_minus_sign: | In units of seconds since the epoch, returns the time at which the item was last changed (e.g. had its metadata updated). |
|
||||
| `user_rating` | *Optional[float]* | :heavy_minus_sign: | When the user has rated an item, this contains the user rating |
|
||||
| `view_count` | *Optional[int]* | :heavy_minus_sign: | When a users has completed watched or listened to an item, this attribute contains the number of consumptions. |
|
||||
| `viewed_leaf_count` | *Optional[int]* | :heavy_minus_sign: | For shows and seasons, contains the number of viewed episodes. |
|
||||
| `view_offset` | *Optional[int]* | :heavy_minus_sign: | When a user is in the process of viewing or listening to this item, this attribute contains the current offset, in units of milliseconds. |
|
||||
| `writer` | List[[components.Tag](../../models/components/tag.md)] | :heavy_minus_sign: | N/A |
|
||||
| `year` | *Optional[int]* | :heavy_minus_sign: | When present, the year associated with the item's release (e.g. release year for a movie). |
|
||||
| `metadata_item` | List[[components.Items](../../models/components/items.md)] | :heavy_minus_sign: | N/A |
|
||||
| `__pydantic_extra__` | Dict[str, *Any*] | :heavy_minus_sign: | N/A |
|
||||
27
docs/models/components/librarysection.md
Normal file
27
docs/models/components/librarysection.md
Normal file
@@ -0,0 +1,27 @@
|
||||
# LibrarySection
|
||||
|
||||
|
||||
## Fields
|
||||
|
||||
| Field | Type | Required | Description |
|
||||
| -------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------- |
|
||||
| `title` | *Optional[str]* | :heavy_minus_sign: | N/A |
|
||||
| `type` | *Optional[str]* | :heavy_minus_sign: | N/A |
|
||||
| `agent` | *Optional[str]* | :heavy_minus_sign: | N/A |
|
||||
| `allow_sync` | *Optional[bool]* | :heavy_minus_sign: | N/A |
|
||||
| `art` | *Optional[str]* | :heavy_minus_sign: | N/A |
|
||||
| `composite` | *Optional[str]* | :heavy_minus_sign: | N/A |
|
||||
| `content` | *Optional[bool]* | :heavy_minus_sign: | N/A |
|
||||
| `content_changed_at` | *Optional[int]* | :heavy_minus_sign: | N/A |
|
||||
| `created_at` | *Optional[int]* | :heavy_minus_sign: | N/A |
|
||||
| `directory` | *Optional[bool]* | :heavy_minus_sign: | N/A |
|
||||
| `filters` | *Optional[bool]* | :heavy_minus_sign: | Indicates whether this section has filtering capabilities |
|
||||
| `hidden` | *Optional[bool]* | :heavy_minus_sign: | N/A |
|
||||
| `key` | *Optional[str]* | :heavy_minus_sign: | N/A |
|
||||
| `language` | *Optional[str]* | :heavy_minus_sign: | N/A |
|
||||
| `location` | List[[components.LibrarySectionLocation](../../models/components/librarysectionlocation.md)] | :heavy_minus_sign: | N/A |
|
||||
| `refreshing` | *Optional[bool]* | :heavy_minus_sign: | Indicates whether this library section is currently scanning |
|
||||
| `scanned_at` | *Optional[int]* | :heavy_minus_sign: | N/A |
|
||||
| `scanner` | *Optional[str]* | :heavy_minus_sign: | N/A |
|
||||
| `thumb` | *Optional[str]* | :heavy_minus_sign: | N/A |
|
||||
| `updated_at` | *Optional[int]* | :heavy_minus_sign: | N/A |
|
||||
11
docs/models/components/librarysectionlocation.md
Normal file
11
docs/models/components/librarysectionlocation.md
Normal file
@@ -0,0 +1,11 @@
|
||||
# LibrarySectionLocation
|
||||
|
||||
Represents a top-level location on disk where media in this library section is stored
|
||||
|
||||
|
||||
## Fields
|
||||
|
||||
| Field | Type | Required | Description |
|
||||
| ----------------------------------------------- | ----------------------------------------------- | ----------------------------------------------- | ----------------------------------------------- |
|
||||
| `id` | *Optional[int]* | :heavy_minus_sign: | N/A |
|
||||
| `path` | *Optional[Any]* | :heavy_minus_sign: | The path of where this directory exists on disk |
|
||||
12
docs/models/components/lineup.md
Normal file
12
docs/models/components/lineup.md
Normal file
@@ -0,0 +1,12 @@
|
||||
# Lineup
|
||||
|
||||
|
||||
## Fields
|
||||
|
||||
| Field | Type | Required | Description |
|
||||
| ----------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------- |
|
||||
| `title` | *Optional[str]* | :heavy_minus_sign: | N/A |
|
||||
| `type` | *Optional[str]* | :heavy_minus_sign: | The type of this object (`lineup` in this case) |
|
||||
| `lineup_type` | [Optional[components.LineupType]](../../models/components/lineuptype.md) | :heavy_minus_sign: | - `-1`: N/A<br/>- `0`: Over the air<br/>- `1`: Cable<br/>- `2`: Satellite<br/>- `3`: IPTV<br/>- `4`: Virtual<br/> |
|
||||
| `location` | *Optional[str]* | :heavy_minus_sign: | N/A |
|
||||
| `uuid` | *Optional[str]* | :heavy_minus_sign: | The uuid of this lineup |
|
||||
21
docs/models/components/lineuptype.md
Normal file
21
docs/models/components/lineuptype.md
Normal file
@@ -0,0 +1,21 @@
|
||||
# LineupType
|
||||
|
||||
- `-1`: N/A
|
||||
- `0`: Over the air
|
||||
- `1`: Cable
|
||||
- `2`: Satellite
|
||||
- `3`: IPTV
|
||||
- `4`: Virtual
|
||||
|
||||
|
||||
|
||||
## Values
|
||||
|
||||
| Name | Value |
|
||||
| --------- | --------- |
|
||||
| `MINUS_1` | -1 |
|
||||
| `ZERO` | 0 |
|
||||
| `ONE` | 1 |
|
||||
| `TWO` | 2 |
|
||||
| `THREE` | 3 |
|
||||
| `FOUR` | 4 |
|
||||
10
docs/models/components/location.md
Normal file
10
docs/models/components/location.md
Normal file
@@ -0,0 +1,10 @@
|
||||
# Location
|
||||
|
||||
|
||||
## Values
|
||||
|
||||
| Name | Value |
|
||||
| ---------- | ---------- |
|
||||
| `LAN` | lan |
|
||||
| `WAN` | wan |
|
||||
| `CELLULAR` | cellular |
|
||||
29
docs/models/components/media.md
Normal file
29
docs/models/components/media.md
Normal file
@@ -0,0 +1,29 @@
|
||||
# Media
|
||||
|
||||
`Media` represents an one or more media files (parts) and is a child of a metadata item. There aren't necessarily any guaranteed attributes on media elements since the attributes will vary based on the type. The possible attributes are not documented here, but they typically have self-evident names. High-level media information that can be used for badging and flagging, such as `videoResolution` and codecs, is included on the media element.
|
||||
|
||||
|
||||
|
||||
## Fields
|
||||
|
||||
| Field | Type | Required | Description | Example |
|
||||
| -------------------------------------------------------- | -------------------------------------------------------- | -------------------------------------------------------- | -------------------------------------------------------- | -------------------------------------------------------- |
|
||||
| `aspect_ratio` | *Optional[float]* | :heavy_minus_sign: | N/A | 2.35 |
|
||||
| `audio_channels` | *Optional[int]* | :heavy_minus_sign: | N/A | 2 |
|
||||
| `audio_codec` | *Optional[Any]* | :heavy_minus_sign: | N/A | aac |
|
||||
| `audio_profile` | *Optional[Any]* | :heavy_minus_sign: | N/A | lc |
|
||||
| `bitrate` | *Optional[int]* | :heavy_minus_sign: | N/A | 5612 |
|
||||
| `container` | *Optional[Any]* | :heavy_minus_sign: | N/A | mov |
|
||||
| `duration` | *Optional[int]* | :heavy_minus_sign: | N/A | 150192 |
|
||||
| `has64bit_offsets` | *Optional[bool]* | :heavy_minus_sign: | N/A | false |
|
||||
| `has_voice_activity` | *Optional[bool]* | :heavy_minus_sign: | N/A | true |
|
||||
| `height` | *Optional[int]* | :heavy_minus_sign: | N/A | 544 |
|
||||
| `id` | *Optional[int]* | :heavy_minus_sign: | N/A | 1 |
|
||||
| `optimized_for_streaming` | *Optional[bool]* | :heavy_minus_sign: | N/A | false |
|
||||
| `part` | List[[components.Part](../../models/components/part.md)] | :heavy_minus_sign: | N/A | |
|
||||
| `video_codec` | *Optional[Any]* | :heavy_minus_sign: | N/A | h264 |
|
||||
| `video_frame_rate` | *Optional[Any]* | :heavy_minus_sign: | N/A | 24p |
|
||||
| `video_profile` | *Optional[Any]* | :heavy_minus_sign: | N/A | main |
|
||||
| `video_resolution` | *Optional[Any]* | :heavy_minus_sign: | N/A | 720 |
|
||||
| `width` | *Optional[int]* | :heavy_minus_sign: | N/A | 1280 |
|
||||
| `__pydantic_extra__` | Dict[str, *Any*] | :heavy_minus_sign: | N/A | |
|
||||
16
docs/models/components/mediacontainer.md
Normal file
16
docs/models/components/mediacontainer.md
Normal file
@@ -0,0 +1,16 @@
|
||||
# MediaContainer
|
||||
|
||||
`MediaContainer` is the root element of most Plex API responses. It serves as a generic container for various types of content (Metadata, Hubs, Directories, etc.) and includes pagination information (offset, size, totalSize) when applicable.
|
||||
Common attributes: - identifier: Unique identifier for this container - size: Number of items in this response page - totalSize: Total number of items available (for pagination) - offset: Starting index of this page (for pagination)
|
||||
The container often "hoists" common attributes from its children. For example, if all tracks in a container share the same album title, the `parentTitle` attribute may appear on the MediaContainer rather than being repeated on each track.
|
||||
|
||||
|
||||
|
||||
## Fields
|
||||
|
||||
| Field | Type | Required | Description |
|
||||
| ---------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------- |
|
||||
| `identifier` | *Optional[str]* | :heavy_minus_sign: | N/A |
|
||||
| `offset` | *Optional[int]* | :heavy_minus_sign: | The offset of where this container page starts among the total objects available. Also provided in the `X-Plex-Container-Start` header.<br/> |
|
||||
| `size` | *Optional[int]* | :heavy_minus_sign: | N/A |
|
||||
| `total_size` | *Optional[int]* | :heavy_minus_sign: | The total size of objects available. Also provided in the `X-Plex-Container-Total-Size` header.<br/> |
|
||||
8
docs/models/components/mediacontainerwithartwork.md
Normal file
8
docs/models/components/mediacontainerwithartwork.md
Normal file
@@ -0,0 +1,8 @@
|
||||
# MediaContainerWithArtwork
|
||||
|
||||
|
||||
## Fields
|
||||
|
||||
| Field | Type | Required | Description |
|
||||
| ---------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------- |
|
||||
| `media_container` | [Optional[components.MediaContainerWithArtworkMediaContainer]](../../models/components/mediacontainerwithartworkmediacontainer.md) | :heavy_minus_sign: | N/A |
|
||||
@@ -0,0 +1,17 @@
|
||||
# MediaContainerWithArtworkMediaContainer
|
||||
|
||||
`MediaContainer` is the root element of most Plex API responses. It serves as a generic container for various types of content (Metadata, Hubs, Directories, etc.) and includes pagination information (offset, size, totalSize) when applicable.
|
||||
Common attributes: - identifier: Unique identifier for this container - size: Number of items in this response page - totalSize: Total number of items available (for pagination) - offset: Starting index of this page (for pagination)
|
||||
The container often "hoists" common attributes from its children. For example, if all tracks in a container share the same album title, the `parentTitle` attribute may appear on the MediaContainer rather than being repeated on each track.
|
||||
|
||||
|
||||
|
||||
## Fields
|
||||
|
||||
| Field | Type | Required | Description |
|
||||
| ---------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------- |
|
||||
| `identifier` | *Optional[str]* | :heavy_minus_sign: | N/A |
|
||||
| `offset` | *Optional[int]* | :heavy_minus_sign: | The offset of where this container page starts among the total objects available. Also provided in the `X-Plex-Container-Start` header.<br/> |
|
||||
| `size` | *Optional[int]* | :heavy_minus_sign: | N/A |
|
||||
| `total_size` | *Optional[int]* | :heavy_minus_sign: | The total size of objects available. Also provided in the `X-Plex-Container-Total-Size` header.<br/> |
|
||||
| `metadata` | List[[components.MediaContainerWithArtworkMetadata](../../models/components/mediacontainerwithartworkmetadata.md)] | :heavy_minus_sign: | N/A |
|
||||
11
docs/models/components/mediacontainerwithartworkmetadata.md
Normal file
11
docs/models/components/mediacontainerwithartworkmetadata.md
Normal file
@@ -0,0 +1,11 @@
|
||||
# MediaContainerWithArtworkMetadata
|
||||
|
||||
|
||||
## Fields
|
||||
|
||||
| Field | Type | Required | Description |
|
||||
| -------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------- |
|
||||
| `title` | *Optional[str]* | :heavy_minus_sign: | The title of the item |
|
||||
| `type` | [Optional[components.MediaContainerWithArtworkType]](../../models/components/mediacontainerwithartworktype.md) | :heavy_minus_sign: | N/A |
|
||||
| `key` | *Optional[str]* | :heavy_minus_sign: | The path to the artwork |
|
||||
| `__pydantic_extra__` | Dict[str, *Any*] | :heavy_minus_sign: | N/A |
|
||||
8
docs/models/components/mediacontainerwithartworktype.md
Normal file
8
docs/models/components/mediacontainerwithartworktype.md
Normal file
@@ -0,0 +1,8 @@
|
||||
# MediaContainerWithArtworkType
|
||||
|
||||
|
||||
## Values
|
||||
|
||||
| Name | Value |
|
||||
| ------- | ------- |
|
||||
| `IMAGE` | image |
|
||||
13
docs/models/components/mediacontainerwithdecision.md
Normal file
13
docs/models/components/mediacontainerwithdecision.md
Normal file
@@ -0,0 +1,13 @@
|
||||
# MediaContainerWithDecision
|
||||
|
||||
`MediaContainer` is commonly found as the root of a response and is a pretty generic container. Common attributes include `identifier` and things related to paging (`offset`, `size`, `totalSize`).
|
||||
|
||||
It is also common for a `MediaContainer` to contain attributes "hoisted" from its children. If every element in the container would have had the same attribute, then that attribute can be present on the container instead of being repeated on every element. For example, an album's list of tracks might include `parentTitle` on the container since all of the tracks have the same album title. A container may have a `source` attribute when all of the items came from the same source. Generally speaking, when looking for an attribute on an item, if the attribute wasn't found then the container should be checked for that attribute as well.
|
||||
|
||||
|
||||
|
||||
## Fields
|
||||
|
||||
| Field | Type | Required | Description |
|
||||
| ------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------ |
|
||||
| `media_container` | [Optional[components.MediaContainerWithDecisionMediaContainer]](../../models/components/mediacontainerwithdecisionmediacontainer.md) | :heavy_minus_sign: | N/A |
|
||||
13
docs/models/components/mediacontainerwithdecisiondecision.md
Normal file
13
docs/models/components/mediacontainerwithdecisiondecision.md
Normal file
@@ -0,0 +1,13 @@
|
||||
# MediaContainerWithDecisionDecision
|
||||
|
||||
|
||||
## Values
|
||||
|
||||
| Name | Value |
|
||||
| ------------- | ------------- |
|
||||
| `COPY` | copy |
|
||||
| `TRANSCODE` | transcode |
|
||||
| `BURN` | burn |
|
||||
| `UNAVAILABLE` | unavailable |
|
||||
| `IGNORE` | ignore |
|
||||
| `NONE` | none |
|
||||
15
docs/models/components/mediacontainerwithdecisionlocation.md
Normal file
15
docs/models/components/mediacontainerwithdecisionlocation.md
Normal file
@@ -0,0 +1,15 @@
|
||||
# MediaContainerWithDecisionLocation
|
||||
|
||||
|
||||
## Values
|
||||
|
||||
| Name | Value |
|
||||
| ---------------- | ---------------- |
|
||||
| `DIRECT` | direct |
|
||||
| `SIDECAR_SUBS` | sidecar-subs |
|
||||
| `SEGMENTS_VIDEO` | segments-video |
|
||||
| `SEGMENTS_AUDIO` | segments-audio |
|
||||
| `SEGMENTS_AV` | segments-av |
|
||||
| `SEGMENTS_SUBS` | segments-subs |
|
||||
| `EMBEDDED` | embedded |
|
||||
| `SIDECAR` | sidecar |
|
||||
32
docs/models/components/mediacontainerwithdecisionmedia.md
Normal file
32
docs/models/components/mediacontainerwithdecisionmedia.md
Normal file
@@ -0,0 +1,32 @@
|
||||
# MediaContainerWithDecisionMedia
|
||||
|
||||
`Media` represents an one or more media files (parts) and is a child of a metadata item. There aren't necessarily any guaranteed attributes on media elements since the attributes will vary based on the type. The possible attributes are not documented here, but they typically have self-evident names. High-level media information that can be used for badging and flagging, such as `videoResolution` and codecs, is included on the media element.
|
||||
|
||||
|
||||
|
||||
## Fields
|
||||
|
||||
| Field | Type | Required | Description | Example |
|
||||
| ------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------ |
|
||||
| `aspect_ratio` | *Optional[float]* | :heavy_minus_sign: | N/A | 2.35 |
|
||||
| `audio_channels` | *Optional[int]* | :heavy_minus_sign: | N/A | 2 |
|
||||
| `audio_codec` | *Optional[Any]* | :heavy_minus_sign: | N/A | aac |
|
||||
| `audio_profile` | *Optional[Any]* | :heavy_minus_sign: | N/A | lc |
|
||||
| `bitrate` | *Optional[int]* | :heavy_minus_sign: | N/A | 5612 |
|
||||
| `container` | *Optional[Any]* | :heavy_minus_sign: | N/A | mov |
|
||||
| `duration` | *Optional[int]* | :heavy_minus_sign: | N/A | 150192 |
|
||||
| `has64bit_offsets` | *Optional[bool]* | :heavy_minus_sign: | N/A | false |
|
||||
| `has_voice_activity` | *Optional[bool]* | :heavy_minus_sign: | N/A | true |
|
||||
| `height` | *Optional[int]* | :heavy_minus_sign: | N/A | 544 |
|
||||
| `id` | *Optional[int]* | :heavy_minus_sign: | N/A | 1 |
|
||||
| `optimized_for_streaming` | *Optional[bool]* | :heavy_minus_sign: | N/A | false |
|
||||
| `part` | List[[components.MediaContainerWithDecisionPart](../../models/components/mediacontainerwithdecisionpart.md)] | :heavy_minus_sign: | N/A | |
|
||||
| `video_codec` | *Optional[Any]* | :heavy_minus_sign: | N/A | h264 |
|
||||
| `video_frame_rate` | *Optional[Any]* | :heavy_minus_sign: | N/A | 24p |
|
||||
| `video_profile` | *Optional[Any]* | :heavy_minus_sign: | N/A | main |
|
||||
| `video_resolution` | *Optional[Any]* | :heavy_minus_sign: | N/A | 720 |
|
||||
| `width` | *Optional[int]* | :heavy_minus_sign: | N/A | 1280 |
|
||||
| `abr` | *Optional[bool]* | :heavy_minus_sign: | N/A | |
|
||||
| `resource_session` | *Optional[str]* | :heavy_minus_sign: | N/A | |
|
||||
| `selected` | *Optional[bool]* | :heavy_minus_sign: | N/A | |
|
||||
| `__pydantic_extra__` | Dict[str, *Any*] | :heavy_minus_sign: | N/A | |
|
||||
@@ -0,0 +1,26 @@
|
||||
# MediaContainerWithDecisionMediaContainer
|
||||
|
||||
`MediaContainer` is the root element of most Plex API responses. It serves as a generic container for various types of content (Metadata, Hubs, Directories, etc.) and includes pagination information (offset, size, totalSize) when applicable.
|
||||
Common attributes: - identifier: Unique identifier for this container - size: Number of items in this response page - totalSize: Total number of items available (for pagination) - offset: Starting index of this page (for pagination)
|
||||
The container often "hoists" common attributes from its children. For example, if all tracks in a container share the same album title, the `parentTitle` attribute may appear on the MediaContainer rather than being repeated on each track.
|
||||
|
||||
|
||||
|
||||
## Fields
|
||||
|
||||
| Field | Type | Required | Description |
|
||||
| -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
|
||||
| `identifier` | *Optional[str]* | :heavy_minus_sign: | N/A |
|
||||
| `offset` | *Optional[int]* | :heavy_minus_sign: | The offset of where this container page starts among the total objects available. Also provided in the `X-Plex-Container-Start` header.<br/> |
|
||||
| `size` | *Optional[int]* | :heavy_minus_sign: | N/A |
|
||||
| `total_size` | *Optional[int]* | :heavy_minus_sign: | The total size of objects available. Also provided in the `X-Plex-Container-Total-Size` header.<br/> |
|
||||
| `available_bandwidth` | *Optional[int]* | :heavy_minus_sign: | The maximum available bitrate when the decision was rendered. |
|
||||
| `direct_play_decision_code` | *Optional[int]* | :heavy_minus_sign: | N/A |
|
||||
| `direct_play_decision_text` | *Optional[str]* | :heavy_minus_sign: | N/A |
|
||||
| `general_decision_code` | *Optional[int]* | :heavy_minus_sign: | The overall decision. 1xxx are playback can succeed, 2xxx are a general error (such as insufficient bandwidth), 3xxx are errors in direct play, and 4xxx are errors in transcodes. Same codes are used in all. |
|
||||
| `general_decision_text` | *Optional[str]* | :heavy_minus_sign: | N/A |
|
||||
| `mde_decision_code` | *Optional[int]* | :heavy_minus_sign: | The code indicating the status of evaluation of playback when client indicates `hasMDE=1` |
|
||||
| `mde_decision_text` | *Optional[str]* | :heavy_minus_sign: | Descriptive text for the above code |
|
||||
| `metadata` | List[[components.MediaContainerWithDecisionMetadata](../../models/components/mediacontainerwithdecisionmetadata.md)] | :heavy_minus_sign: | N/A |
|
||||
| `transcode_decision_code` | *Optional[int]* | :heavy_minus_sign: | N/A |
|
||||
| `transcode_decision_text` | *Optional[str]* | :heavy_minus_sign: | N/A |
|
||||
82
docs/models/components/mediacontainerwithdecisionmetadata.md
Normal file
82
docs/models/components/mediacontainerwithdecisionmetadata.md
Normal file
@@ -0,0 +1,82 @@
|
||||
# MediaContainerWithDecisionMetadata
|
||||
|
||||
Items in a library are referred to as "metadata items." These metadata items are distinct from "media items" which represent actual instances of media that can be consumed. Consider a TV library that has a single video file in it for a particular episode of a show. The library has a single media item, but it has three metadata items: one for the show, one for the season, and one for the episode. Consider a movie library that has two video files in it: the same movie, but two different resolutions. The library has a single metadata item for the movie, but that metadata item has two media items, one for each resolution. Additionally a "media item" will have one or more "media parts" where the the parts are intended to be watched together, such as a CD1 and CD2 parts of the same movie.
|
||||
|
||||
Note that when a metadata item has multiple media items, those media items should be isomorphic. That is, a 4K version and 1080p version of a movie are different versions of the same movie. They have the same duration, same summary, same rating, etc. and they can generally be considered interchangeable. A theatrical release vs. director's cut vs. unrated version on the other hand would be separate metadata items.
|
||||
|
||||
Metadata items can often live in a hierarchy with relationships between them. For example, the metadata item for an episodes is associated with a season metadata item which is associated with a show metadata item. A similar hierarchy exists with track, album, and artist and photos and photo album. The relationships may be expressed via relative terms and absolute terms. For example, "leaves" refer to metadata items which has associated media (there is no media for a season nor show). A show will have "children" in the form of seasons and a season will have "children" in the form of episodes and episodes have "parent" in the form of a season which has a "parent" in the form of a show. Similarly, a show has "grandchildren" in the form of episodse and an episode has a "grandparent" in the form of a show.
|
||||
|
||||
|
||||
|
||||
## Fields
|
||||
|
||||
| Field | Type | Required | Description |
|
||||
| ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
|
||||
| `title` | *Optional[Any]* | :heavy_minus_sign: | The title of the item (e.g. “300” or “The Simpsons”) |
|
||||
| `type` | *Optional[Any]* | :heavy_minus_sign: | The type of the video item, such as `movie`, `episode`, or `clip`. |
|
||||
| `absolute_index` | *Optional[int]* | :heavy_minus_sign: | When present, contains the disc number for a track on multi-disc albums. |
|
||||
| `added_at` | *Optional[int]* | :heavy_minus_sign: | In units of seconds since the epoch, returns the time at which the item was added to the library. |
|
||||
| `art` | *Optional[Any]* | :heavy_minus_sign: | When present, the URL for the background artwork for the item. |
|
||||
| `audience_rating` | *Optional[float]* | :heavy_minus_sign: | Some rating systems separate reviewer ratings from audience ratings |
|
||||
| `audience_rating_image` | *Optional[Any]* | :heavy_minus_sign: | A URI representing the image to be shown with the audience rating (e.g. rottentomatoes://image.rating.spilled). |
|
||||
| `autotag` | List[[components.Tag](../../models/components/tag.md)] | :heavy_minus_sign: | N/A |
|
||||
| `banner` | *Optional[Any]* | :heavy_minus_sign: | When present, the URL for a banner graphic for the item. |
|
||||
| `chapter_source` | *Optional[Any]* | :heavy_minus_sign: | When present, indicates the source for the chapters in the media file. Can be media (the chapters were embedded in the media itself), agent (a metadata agent computed them), or mixed (a combination of the two). |
|
||||
| `composite` | *Optional[Any]* | :heavy_minus_sign: | When present, the URL for a composite image for descendent items (e.g. photo albums or playlists). |
|
||||
| `content_rating` | *Optional[Any]* | :heavy_minus_sign: | If known, the content rating (e.g. MPAA) for an item. |
|
||||
| `country` | List[[components.Tag](../../models/components/tag.md)] | :heavy_minus_sign: | N/A |
|
||||
| `director` | List[[components.Tag](../../models/components/tag.md)] | :heavy_minus_sign: | N/A |
|
||||
| `duration` | *Optional[int]* | :heavy_minus_sign: | When present, the duration for the item, in units of milliseconds. |
|
||||
| `filter_` | List[[components.Filter](../../models/components/filter_.md)] | :heavy_minus_sign: | Typically only seen in metadata at a library's top level |
|
||||
| `genre` | List[[components.Tag](../../models/components/tag.md)] | :heavy_minus_sign: | N/A |
|
||||
| `grandparent_art` | *Optional[str]* | :heavy_minus_sign: | The `art` of the grandparent |
|
||||
| `grandparent_hero` | *Optional[str]* | :heavy_minus_sign: | The `hero` of the grandparent |
|
||||
| `grandparent_key` | *Optional[str]* | :heavy_minus_sign: | The `key` of the grandparent |
|
||||
| `grandparent_rating_key` | *Optional[str]* | :heavy_minus_sign: | The `ratingKey` of the grandparent |
|
||||
| `grandparent_theme` | *Optional[str]* | :heavy_minus_sign: | The `theme` of the grandparent |
|
||||
| `grandparent_thumb` | *Optional[str]* | :heavy_minus_sign: | The `thumb` of the grandparent |
|
||||
| `grandparent_title` | *Optional[str]* | :heavy_minus_sign: | The `title` of the grandparent |
|
||||
| `guid` | List[[components.Tag](../../models/components/tag.md)] | :heavy_minus_sign: | N/A |
|
||||
| `hero` | *Optional[Any]* | :heavy_minus_sign: | When present, the URL for a hero image for the item. |
|
||||
| `image` | List[[components.Image](../../models/components/image.md)] | :heavy_minus_sign: | N/A |
|
||||
| `index` | *Optional[int]* | :heavy_minus_sign: | When present, this represents the episode number for episodes, season number for seasons, or track number for audio tracks. |
|
||||
| `key` | *Optional[Any]* | :heavy_minus_sign: | The key at which the item's details can be fetched. In many cases a metadata item may be passed without all the details (such as in a hub) and this key corresponds to the endpoint to fetch additional details. |
|
||||
| `last_viewed_at` | *Optional[int]* | :heavy_minus_sign: | When a user has watched or listened to an item, this contains a timestamp (epoch seconds) for that last consumption time. |
|
||||
| `leaf_count` | *Optional[int]* | :heavy_minus_sign: | For shows and seasons, contains the number of total episodes. |
|
||||
| `media` | List[[components.MediaContainerWithDecisionMedia](../../models/components/mediacontainerwithdecisionmedia.md)] | :heavy_minus_sign: | N/A |
|
||||
| `originally_available_at` | *Optional[Any]* | :heavy_minus_sign: | When present, in the format YYYY-MM-DD [HH:MM:SS] (the hours/minutes/seconds part is not always present). The air date, or a higher resolution release date for an item, depending on type. For example, episodes usually have air date like 1979-08-10 (we don't use epoch seconds because media existed prior to 1970). In some cases, recorded over-the-air content has higher resolution air date which includes a time component. Albums and movies may have day-resolution release dates as well. |
|
||||
| `original_title` | *Optional[Any]* | :heavy_minus_sign: | When present, used to indicate an item's original title, e.g. a movie's foreign title. |
|
||||
| `parent_hero` | *Optional[str]* | :heavy_minus_sign: | The `hero` of the parent |
|
||||
| `parent_index` | *Optional[int]* | :heavy_minus_sign: | The `index` of the parent |
|
||||
| `parent_key` | *Optional[str]* | :heavy_minus_sign: | The `key` of the parent |
|
||||
| `parent_rating_key` | *Optional[str]* | :heavy_minus_sign: | The `ratingKey` of the parent |
|
||||
| `parent_thumb` | *Optional[str]* | :heavy_minus_sign: | The `thumb` of the parent |
|
||||
| `parent_title` | *Optional[str]* | :heavy_minus_sign: | The `title` of the parent |
|
||||
| `primary_extra_key` | *Optional[Any]* | :heavy_minus_sign: | Indicates that the item has a primary extra; for a movie, this is a trailer, and for a music track it is a music video. The URL points to the metadata details endpoint for the item. |
|
||||
| `prompt` | *Optional[str]* | :heavy_minus_sign: | Prompt to give the user for this directory (such as `Search Movies`) |
|
||||
| `rating` | *Optional[float]* | :heavy_minus_sign: | When present, the rating for the item. The exact meaning and representation depends on where the rating was sourced from. |
|
||||
| `rating_array` | List[[components.Tag](../../models/components/tag.md)] | :heavy_minus_sign: | N/A |
|
||||
| `rating_count` | *Optional[int]* | :heavy_minus_sign: | Number of ratings under this metadata |
|
||||
| `rating_image` | *Optional[Any]* | :heavy_minus_sign: | When present, indicates an image to be shown with the rating. This is passed back as a small set of defined URI values, e.g. rottentomatoes://image.rating.rotten. |
|
||||
| `rating_key` | *Optional[Any]* | :heavy_minus_sign: | This is the opaque string to be passed into timeline, scrobble, and rating endpoints to identify them. While it often appears to be numeric, this is not guaranteed. |
|
||||
| `role` | List[[components.Tag](../../models/components/tag.md)] | :heavy_minus_sign: | N/A |
|
||||
| `search` | *Optional[bool]* | :heavy_minus_sign: | Indicates this is a search directory |
|
||||
| `secondary` | *Optional[bool]* | :heavy_minus_sign: | Used by old clients to provide nested menus allowing for primative (but structured) navigation. |
|
||||
| `skip_children` | *Optional[bool]* | :heavy_minus_sign: | When found on a show item, indicates that the children (seasons) should be skipped in favor of the grandchildren (episodes). Useful for mini-series, etc. |
|
||||
| `skip_parent` | *Optional[bool]* | :heavy_minus_sign: | When present on an episode or track item, indicates parent should be skipped in favor of grandparent (show). |
|
||||
| `sort` | List[[components.Sort](../../models/components/sort.md)] | :heavy_minus_sign: | Typically only seen in metadata at a library's top level |
|
||||
| `studio` | *Optional[Any]* | :heavy_minus_sign: | When present, the studio or label which produced an item (e.g. movie studio for movies, record label for albums). |
|
||||
| `subtype` | *Optional[Any]* | :heavy_minus_sign: | The subtype of the video item, such as `photo` when the video item is in a photo library |
|
||||
| `summary` | *Optional[Any]* | :heavy_minus_sign: | When present, the extended textual information about the item (e.g. movie plot, artist biography, album review). |
|
||||
| `tagline` | *Optional[Any]* | :heavy_minus_sign: | When present, a pithy one-liner about the item (usually only seen for movies). |
|
||||
| `theme` | *Optional[Any]* | :heavy_minus_sign: | When present, the URL for theme music for the item (usually only for TV shows). |
|
||||
| `thumb` | *Optional[Any]* | :heavy_minus_sign: | When present, the URL for the poster or thumbnail for the item. When available for types like movie, it will be the poster graphic, but fall-back to the extracted media thumbnail. |
|
||||
| `title_sort` | *Optional[Any]* | :heavy_minus_sign: | Whene present, this is the string used for sorting the item. It's usually the title with any leading articles removed (e.g. “Simpsons”). |
|
||||
| `updated_at` | *Optional[int]* | :heavy_minus_sign: | In units of seconds since the epoch, returns the time at which the item was last changed (e.g. had its metadata updated). |
|
||||
| `user_rating` | *Optional[float]* | :heavy_minus_sign: | When the user has rated an item, this contains the user rating |
|
||||
| `view_count` | *Optional[int]* | :heavy_minus_sign: | When a users has completed watched or listened to an item, this attribute contains the number of consumptions. |
|
||||
| `viewed_leaf_count` | *Optional[int]* | :heavy_minus_sign: | For shows and seasons, contains the number of viewed episodes. |
|
||||
| `view_offset` | *Optional[int]* | :heavy_minus_sign: | When a user is in the process of viewing or listening to this item, this attribute contains the current offset, in units of milliseconds. |
|
||||
| `writer` | List[[components.Tag](../../models/components/tag.md)] | :heavy_minus_sign: | N/A |
|
||||
| `year` | *Optional[int]* | :heavy_minus_sign: | When present, the year associated with the item's release (e.g. release year for a movie). |
|
||||
| `__pydantic_extra__` | Dict[str, *Any*] | :heavy_minus_sign: | N/A |
|
||||
24
docs/models/components/mediacontainerwithdecisionpart.md
Normal file
24
docs/models/components/mediacontainerwithdecisionpart.md
Normal file
@@ -0,0 +1,24 @@
|
||||
# MediaContainerWithDecisionPart
|
||||
|
||||
`Part` represents a particular file or "part" of a media item. The part is the playable unit of the media hierarchy. Suppose that a movie library contains a movie that is broken up into files, reminiscent of a movie split across two BDs. The metadata item represents information about the movie, the media item represents this instance of the movie at this resolution and quality, and the part items represent the two playable files. If another media were added which contained the joining of these two parts transcoded down to a lower resolution, then this metadata would contain 2 medias, one with 2 parts and one with 1 part.
|
||||
|
||||
|
||||
|
||||
## Fields
|
||||
|
||||
| Field | Type | Required | Description | Example |
|
||||
| ---------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------- |
|
||||
| `audio_profile` | *Optional[Any]* | :heavy_minus_sign: | N/A | lc |
|
||||
| `container` | *Optional[Any]* | :heavy_minus_sign: | The container of the media file, such as `mp4` or `mkv` | mov |
|
||||
| `duration` | *Optional[int]* | :heavy_minus_sign: | The duration of the media item, in milliseconds | 150192 |
|
||||
| `file` | *Optional[Any]* | :heavy_minus_sign: | The local file path at which the part is stored on the server | /home/schuyler/Videos/Trailers/Cloud Atlas (2012).mov |
|
||||
| `has64bit_offsets` | *Optional[bool]* | :heavy_minus_sign: | N/A | false |
|
||||
| `id` | *Optional[int]* | :heavy_minus_sign: | N/A | 1 |
|
||||
| `key` | *Optional[Any]* | :heavy_minus_sign: | The key from which the media can be streamed | /library/parts/1/1531779263/file.mov |
|
||||
| `optimized_for_streaming` | *Optional[bool]* | :heavy_minus_sign: | N/A | false |
|
||||
| `size` | *Optional[int]* | :heavy_minus_sign: | The size of the media, in bytes | 105355654 |
|
||||
| `stream` | List[[components.MediaContainerWithDecisionStream](../../models/components/mediacontainerwithdecisionstream.md)] | :heavy_minus_sign: | N/A | |
|
||||
| `video_profile` | *Optional[Any]* | :heavy_minus_sign: | N/A | main |
|
||||
| `decision` | [Optional[components.Decision]](../../models/components/decision.md) | :heavy_minus_sign: | N/A | |
|
||||
| `selected` | *Optional[bool]* | :heavy_minus_sign: | N/A | |
|
||||
| `__pydantic_extra__` | Dict[str, *Any*] | :heavy_minus_sign: | N/A | |
|
||||
42
docs/models/components/mediacontainerwithdecisionstream.md
Normal file
42
docs/models/components/mediacontainerwithdecisionstream.md
Normal file
@@ -0,0 +1,42 @@
|
||||
# MediaContainerWithDecisionStream
|
||||
|
||||
`Stream` represents a particular stream from a media item, such as the video stream, audio stream, or subtitle stream. The stream may either be part of the file represented by the parent `Part` or, especially for subtitles, an external file. The stream contains more detailed information about the specific stream. For example, a video may include the `aspectRatio` at the `Media` level, but detailed information about the video stream like the color space will be included on the `Stream` for the video stream. Note that photos do not have streams (mostly as an optimization).
|
||||
|
||||
|
||||
|
||||
## Fields
|
||||
|
||||
| Field | Type | Required | Description | Example |
|
||||
| ------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------ |
|
||||
| `default` | *Optional[bool]* | :heavy_minus_sign: | N/A | true |
|
||||
| `audio_channel_layout` | *Optional[Any]* | :heavy_minus_sign: | N/A | stereo |
|
||||
| `bit_depth` | *Optional[int]* | :heavy_minus_sign: | N/A | 8 |
|
||||
| `bitrate` | *Optional[int]* | :heavy_minus_sign: | N/A | 5466 |
|
||||
| `can_auto_sync` | *Optional[bool]* | :heavy_minus_sign: | For subtitle streams only. If `true` then the server can attempt to automatically sync the subtitle timestamps with the video. | true |
|
||||
| `chroma_location` | *Optional[Any]* | :heavy_minus_sign: | N/A | topleft |
|
||||
| `chroma_subsampling` | *Optional[Any]* | :heavy_minus_sign: | N/A | 4:2:0 |
|
||||
| `codec` | *Optional[Any]* | :heavy_minus_sign: | The codec of the stream, such as `h264` or `aac` | h264 |
|
||||
| `color_primaries` | *Optional[Any]* | :heavy_minus_sign: | N/A | bt709 |
|
||||
| `color_range` | *Optional[Any]* | :heavy_minus_sign: | N/A | tv |
|
||||
| `color_space` | *Optional[Any]* | :heavy_minus_sign: | N/A | bt709 |
|
||||
| `color_trc` | *Optional[Any]* | :heavy_minus_sign: | N/A | bt709 |
|
||||
| `display_title` | *Optional[Any]* | :heavy_minus_sign: | A friendly name for the stream, often comprised of the language and codec information | English (H.264 Main) |
|
||||
| `frame_rate` | *Optional[float]* | :heavy_minus_sign: | N/A | 23.976 |
|
||||
| `has_scaling_matrix` | *Optional[Any]* | :heavy_minus_sign: | N/A | false |
|
||||
| `height` | *Optional[int]* | :heavy_minus_sign: | N/A | 544 |
|
||||
| `id` | *Optional[int]* | :heavy_minus_sign: | N/A | 1 |
|
||||
| `index` | *Optional[int]* | :heavy_minus_sign: | If the stream is part of the `Part` and not an external resource, the index of the stream within that part | 0 |
|
||||
| `key` | *Optional[Any]* | :heavy_minus_sign: | If the stream is independently streamable, the key from which it can be streamed | /library/streams/1 |
|
||||
| `language` | *Optional[Any]* | :heavy_minus_sign: | N/A | English |
|
||||
| `language_code` | *Optional[Any]* | :heavy_minus_sign: | The three character language code for the stream contents | eng |
|
||||
| `level` | *Optional[int]* | :heavy_minus_sign: | N/A | 31 |
|
||||
| `profile` | *Optional[Any]* | :heavy_minus_sign: | N/A | main |
|
||||
| `ref_frames` | *Optional[int]* | :heavy_minus_sign: | N/A | 2 |
|
||||
| `sampling_rate` | *Optional[int]* | :heavy_minus_sign: | N/A | 48000 |
|
||||
| `selected` | *Optional[bool]* | :heavy_minus_sign: | N/A | |
|
||||
| `stream_identifier` | *Optional[int]* | :heavy_minus_sign: | N/A | 1 |
|
||||
| `stream_type` | *Optional[int]* | :heavy_minus_sign: | A number indicating the type of the stream. `1` for video, `2` for audio, `3` for subtitles, `4` for lyrics | 1 |
|
||||
| `width` | *Optional[int]* | :heavy_minus_sign: | N/A | 1280 |
|
||||
| `decision` | [Optional[components.MediaContainerWithDecisionDecision]](../../models/components/mediacontainerwithdecisiondecision.md) | :heavy_minus_sign: | N/A | |
|
||||
| `location` | [Optional[components.MediaContainerWithDecisionLocation]](../../models/components/mediacontainerwithdecisionlocation.md) | :heavy_minus_sign: | N/A | |
|
||||
| `__pydantic_extra__` | Dict[str, *Any*] | :heavy_minus_sign: | N/A | |
|
||||
8
docs/models/components/mediacontainerwithdevice.md
Normal file
8
docs/models/components/mediacontainerwithdevice.md
Normal file
@@ -0,0 +1,8 @@
|
||||
# MediaContainerWithDevice
|
||||
|
||||
|
||||
## Fields
|
||||
|
||||
| Field | Type | Required | Description |
|
||||
| -------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------- |
|
||||
| `media_container` | [Optional[components.MediaContainerWithDeviceMediaContainer]](../../models/components/mediacontainerwithdevicemediacontainer.md) | :heavy_minus_sign: | N/A |
|
||||
20
docs/models/components/mediacontainerwithdevicedevice.md
Normal file
20
docs/models/components/mediacontainerwithdevicedevice.md
Normal file
@@ -0,0 +1,20 @@
|
||||
# MediaContainerWithDeviceDevice
|
||||
|
||||
|
||||
## Fields
|
||||
|
||||
| Field | Type | Required | Description |
|
||||
| ---------------------------------------------------------------------------- | ---------------------------------------------------------------------------- | ---------------------------------------------------------------------------- | ---------------------------------------------------------------------------- |
|
||||
| `channel_mapping` | List[[components.ChannelMapping](../../models/components/channelmapping.md)] | :heavy_minus_sign: | N/A |
|
||||
| `key` | *Optional[str]* | :heavy_minus_sign: | N/A |
|
||||
| `last_seen_at` | *Optional[int]* | :heavy_minus_sign: | N/A |
|
||||
| `make` | *Optional[str]* | :heavy_minus_sign: | N/A |
|
||||
| `model` | *Optional[str]* | :heavy_minus_sign: | N/A |
|
||||
| `model_number` | *Optional[str]* | :heavy_minus_sign: | N/A |
|
||||
| `protocol` | *Optional[str]* | :heavy_minus_sign: | N/A |
|
||||
| `sources` | *Optional[str]* | :heavy_minus_sign: | N/A |
|
||||
| `state` | *Optional[str]* | :heavy_minus_sign: | N/A |
|
||||
| `status` | *Optional[str]* | :heavy_minus_sign: | N/A |
|
||||
| `tuners` | *Optional[str]* | :heavy_minus_sign: | N/A |
|
||||
| `uri` | *Optional[str]* | :heavy_minus_sign: | N/A |
|
||||
| `uuid` | *Optional[str]* | :heavy_minus_sign: | N/A |
|
||||
@@ -0,0 +1,17 @@
|
||||
# MediaContainerWithDeviceMediaContainer
|
||||
|
||||
`MediaContainer` is the root element of most Plex API responses. It serves as a generic container for various types of content (Metadata, Hubs, Directories, etc.) and includes pagination information (offset, size, totalSize) when applicable.
|
||||
Common attributes: - identifier: Unique identifier for this container - size: Number of items in this response page - totalSize: Total number of items available (for pagination) - offset: Starting index of this page (for pagination)
|
||||
The container often "hoists" common attributes from its children. For example, if all tracks in a container share the same album title, the `parentTitle` attribute may appear on the MediaContainer rather than being repeated on each track.
|
||||
|
||||
|
||||
|
||||
## Fields
|
||||
|
||||
| Field | Type | Required | Description |
|
||||
| ---------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------- |
|
||||
| `identifier` | *Optional[str]* | :heavy_minus_sign: | N/A |
|
||||
| `offset` | *Optional[int]* | :heavy_minus_sign: | The offset of where this container page starts among the total objects available. Also provided in the `X-Plex-Container-Start` header.<br/> |
|
||||
| `size` | *Optional[int]* | :heavy_minus_sign: | N/A |
|
||||
| `total_size` | *Optional[int]* | :heavy_minus_sign: | The total size of objects available. Also provided in the `X-Plex-Container-Total-Size` header.<br/> |
|
||||
| `device` | List[[components.MediaContainerWithDeviceDevice](../../models/components/mediacontainerwithdevicedevice.md)] | :heavy_minus_sign: | N/A |
|
||||
8
docs/models/components/mediacontainerwithdirectory.md
Normal file
8
docs/models/components/mediacontainerwithdirectory.md
Normal file
@@ -0,0 +1,8 @@
|
||||
# MediaContainerWithDirectory
|
||||
|
||||
|
||||
## Fields
|
||||
|
||||
| Field | Type | Required | Description |
|
||||
| -------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------- |
|
||||
| `media_container` | [Optional[components.MediaContainerWithDirectoryMediaContainer]](../../models/components/mediacontainerwithdirectorymediacontainer.md) | :heavy_minus_sign: | N/A |
|
||||
@@ -0,0 +1,17 @@
|
||||
# MediaContainerWithDirectoryMediaContainer
|
||||
|
||||
`MediaContainer` is the root element of most Plex API responses. It serves as a generic container for various types of content (Metadata, Hubs, Directories, etc.) and includes pagination information (offset, size, totalSize) when applicable.
|
||||
Common attributes: - identifier: Unique identifier for this container - size: Number of items in this response page - totalSize: Total number of items available (for pagination) - offset: Starting index of this page (for pagination)
|
||||
The container often "hoists" common attributes from its children. For example, if all tracks in a container share the same album title, the `parentTitle` attribute may appear on the MediaContainer rather than being repeated on each track.
|
||||
|
||||
|
||||
|
||||
## Fields
|
||||
|
||||
| Field | Type | Required | Description |
|
||||
| ---------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------- |
|
||||
| `identifier` | *Optional[str]* | :heavy_minus_sign: | N/A |
|
||||
| `offset` | *Optional[int]* | :heavy_minus_sign: | The offset of where this container page starts among the total objects available. Also provided in the `X-Plex-Container-Start` header.<br/> |
|
||||
| `size` | *Optional[int]* | :heavy_minus_sign: | N/A |
|
||||
| `total_size` | *Optional[int]* | :heavy_minus_sign: | The total size of objects available. Also provided in the `X-Plex-Container-Total-Size` header.<br/> |
|
||||
| `directory` | List[[components.Directory](../../models/components/directory.md)] | :heavy_minus_sign: | N/A |
|
||||
10
docs/models/components/mediacontainerwithhubs.md
Normal file
10
docs/models/components/mediacontainerwithhubs.md
Normal file
@@ -0,0 +1,10 @@
|
||||
# MediaContainerWithHubs
|
||||
|
||||
OK
|
||||
|
||||
|
||||
## Fields
|
||||
|
||||
| Field | Type | Required | Description |
|
||||
| ---------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------- |
|
||||
| `media_container` | [Optional[components.MediaContainerWithHubsMediaContainer]](../../models/components/mediacontainerwithhubsmediacontainer.md) | :heavy_minus_sign: | N/A |
|
||||
@@ -0,0 +1,17 @@
|
||||
# MediaContainerWithHubsMediaContainer
|
||||
|
||||
`MediaContainer` is the root element of most Plex API responses. It serves as a generic container for various types of content (Metadata, Hubs, Directories, etc.) and includes pagination information (offset, size, totalSize) when applicable.
|
||||
Common attributes: - identifier: Unique identifier for this container - size: Number of items in this response page - totalSize: Total number of items available (for pagination) - offset: Starting index of this page (for pagination)
|
||||
The container often "hoists" common attributes from its children. For example, if all tracks in a container share the same album title, the `parentTitle` attribute may appear on the MediaContainer rather than being repeated on each track.
|
||||
|
||||
|
||||
|
||||
## Fields
|
||||
|
||||
| Field | Type | Required | Description |
|
||||
| ---------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------- |
|
||||
| `identifier` | *Optional[str]* | :heavy_minus_sign: | N/A |
|
||||
| `offset` | *Optional[int]* | :heavy_minus_sign: | The offset of where this container page starts among the total objects available. Also provided in the `X-Plex-Container-Start` header.<br/> |
|
||||
| `size` | *Optional[int]* | :heavy_minus_sign: | N/A |
|
||||
| `total_size` | *Optional[int]* | :heavy_minus_sign: | The total size of objects available. Also provided in the `X-Plex-Container-Total-Size` header.<br/> |
|
||||
| `hub` | List[[components.Hub](../../models/components/hub.md)] | :heavy_minus_sign: | N/A |
|
||||
8
docs/models/components/mediacontainerwithlineup.md
Normal file
8
docs/models/components/mediacontainerwithlineup.md
Normal file
@@ -0,0 +1,8 @@
|
||||
# MediaContainerWithLineup
|
||||
|
||||
|
||||
## Fields
|
||||
|
||||
| Field | Type | Required | Description |
|
||||
| -------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------- |
|
||||
| `media_container` | [Optional[components.MediaContainerWithLineupMediaContainer]](../../models/components/mediacontainerwithlineupmediacontainer.md) | :heavy_minus_sign: | N/A |
|
||||
@@ -0,0 +1,18 @@
|
||||
# MediaContainerWithLineupMediaContainer
|
||||
|
||||
`MediaContainer` is the root element of most Plex API responses. It serves as a generic container for various types of content (Metadata, Hubs, Directories, etc.) and includes pagination information (offset, size, totalSize) when applicable.
|
||||
Common attributes: - identifier: Unique identifier for this container - size: Number of items in this response page - totalSize: Total number of items available (for pagination) - offset: Starting index of this page (for pagination)
|
||||
The container often "hoists" common attributes from its children. For example, if all tracks in a container share the same album title, the `parentTitle` attribute may appear on the MediaContainer rather than being repeated on each track.
|
||||
|
||||
|
||||
|
||||
## Fields
|
||||
|
||||
| Field | Type | Required | Description |
|
||||
| ---------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------- |
|
||||
| `identifier` | *Optional[str]* | :heavy_minus_sign: | N/A |
|
||||
| `offset` | *Optional[int]* | :heavy_minus_sign: | The offset of where this container page starts among the total objects available. Also provided in the `X-Plex-Container-Start` header.<br/> |
|
||||
| `size` | *Optional[int]* | :heavy_minus_sign: | N/A |
|
||||
| `total_size` | *Optional[int]* | :heavy_minus_sign: | The total size of objects available. Also provided in the `X-Plex-Container-Total-Size` header.<br/> |
|
||||
| `lineup` | List[[components.Lineup](../../models/components/lineup.md)] | :heavy_minus_sign: | N/A |
|
||||
| `uuid` | *Optional[str]* | :heavy_minus_sign: | The UUID of this set lineups |
|
||||
8
docs/models/components/mediacontainerwithmetadata.md
Normal file
8
docs/models/components/mediacontainerwithmetadata.md
Normal file
@@ -0,0 +1,8 @@
|
||||
# MediaContainerWithMetadata
|
||||
|
||||
|
||||
## Fields
|
||||
|
||||
| Field | Type | Required | Description |
|
||||
| ------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------ |
|
||||
| `media_container` | [Optional[components.MediaContainerWithMetadataMediaContainer]](../../models/components/mediacontainerwithmetadatamediacontainer.md) | :heavy_minus_sign: | N/A |
|
||||
@@ -0,0 +1,17 @@
|
||||
# MediaContainerWithMetadataMediaContainer
|
||||
|
||||
`MediaContainer` is the root element of most Plex API responses. It serves as a generic container for various types of content (Metadata, Hubs, Directories, etc.) and includes pagination information (offset, size, totalSize) when applicable.
|
||||
Common attributes: - identifier: Unique identifier for this container - size: Number of items in this response page - totalSize: Total number of items available (for pagination) - offset: Starting index of this page (for pagination)
|
||||
The container often "hoists" common attributes from its children. For example, if all tracks in a container share the same album title, the `parentTitle` attribute may appear on the MediaContainer rather than being repeated on each track.
|
||||
|
||||
|
||||
|
||||
## Fields
|
||||
|
||||
| Field | Type | Required | Description |
|
||||
| ---------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------- |
|
||||
| `identifier` | *Optional[str]* | :heavy_minus_sign: | N/A |
|
||||
| `offset` | *Optional[int]* | :heavy_minus_sign: | The offset of where this container page starts among the total objects available. Also provided in the `X-Plex-Container-Start` header.<br/> |
|
||||
| `size` | *Optional[int]* | :heavy_minus_sign: | N/A |
|
||||
| `total_size` | *Optional[int]* | :heavy_minus_sign: | The total size of objects available. Also provided in the `X-Plex-Container-Total-Size` header.<br/> |
|
||||
| `metadata` | List[[components.Metadata](../../models/components/metadata.md)] | :heavy_minus_sign: | N/A |
|
||||
@@ -0,0 +1,8 @@
|
||||
# MediaContainerWithNestedMetadata
|
||||
|
||||
|
||||
## Fields
|
||||
|
||||
| Field | Type | Required | Description |
|
||||
| ------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------ |
|
||||
| `media_container` | [Optional[components.MediaContainerWithNestedMetadataMediaContainer]](../../models/components/mediacontainerwithnestedmetadatamediacontainer.md) | :heavy_minus_sign: | N/A |
|
||||
@@ -0,0 +1,17 @@
|
||||
# MediaContainerWithNestedMetadataMediaContainer
|
||||
|
||||
`MediaContainer` is the root element of most Plex API responses. It serves as a generic container for various types of content (Metadata, Hubs, Directories, etc.) and includes pagination information (offset, size, totalSize) when applicable.
|
||||
Common attributes: - identifier: Unique identifier for this container - size: Number of items in this response page - totalSize: Total number of items available (for pagination) - offset: Starting index of this page (for pagination)
|
||||
The container often "hoists" common attributes from its children. For example, if all tracks in a container share the same album title, the `parentTitle` attribute may appear on the MediaContainer rather than being repeated on each track.
|
||||
|
||||
|
||||
|
||||
## Fields
|
||||
|
||||
| Field | Type | Required | Description |
|
||||
| ---------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------- |
|
||||
| `identifier` | *Optional[str]* | :heavy_minus_sign: | N/A |
|
||||
| `offset` | *Optional[int]* | :heavy_minus_sign: | The offset of where this container page starts among the total objects available. Also provided in the `X-Plex-Container-Start` header.<br/> |
|
||||
| `size` | *Optional[int]* | :heavy_minus_sign: | N/A |
|
||||
| `total_size` | *Optional[int]* | :heavy_minus_sign: | The total size of objects available. Also provided in the `X-Plex-Container-Total-Size` header.<br/> |
|
||||
| `metadata_item` | List[[components.MetadataItem](../../models/components/metadataitem.md)] | :heavy_minus_sign: | N/A |
|
||||
@@ -0,0 +1,8 @@
|
||||
# MediaContainerWithPlaylistMetadata
|
||||
|
||||
|
||||
## Fields
|
||||
|
||||
| Field | Type | Required | Description |
|
||||
| ---------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------- |
|
||||
| `media_container` | [Optional[components.MediaContainerWithPlaylistMetadataMediaContainer]](../../models/components/mediacontainerwithplaylistmetadatamediacontainer.md) | :heavy_minus_sign: | N/A |
|
||||
@@ -0,0 +1,17 @@
|
||||
# MediaContainerWithPlaylistMetadataMediaContainer
|
||||
|
||||
`MediaContainer` is the root element of most Plex API responses. It serves as a generic container for various types of content (Metadata, Hubs, Directories, etc.) and includes pagination information (offset, size, totalSize) when applicable.
|
||||
Common attributes: - identifier: Unique identifier for this container - size: Number of items in this response page - totalSize: Total number of items available (for pagination) - offset: Starting index of this page (for pagination)
|
||||
The container often "hoists" common attributes from its children. For example, if all tracks in a container share the same album title, the `parentTitle` attribute may appear on the MediaContainer rather than being repeated on each track.
|
||||
|
||||
|
||||
|
||||
## Fields
|
||||
|
||||
| Field | Type | Required | Description |
|
||||
| ---------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------- |
|
||||
| `identifier` | *Optional[str]* | :heavy_minus_sign: | N/A |
|
||||
| `offset` | *Optional[int]* | :heavy_minus_sign: | The offset of where this container page starts among the total objects available. Also provided in the `X-Plex-Container-Start` header.<br/> |
|
||||
| `size` | *Optional[int]* | :heavy_minus_sign: | N/A |
|
||||
| `total_size` | *Optional[int]* | :heavy_minus_sign: | The total size of objects available. Also provided in the `X-Plex-Container-Total-Size` header.<br/> |
|
||||
| `metadata` | List[[components.MediaContainerWithPlaylistMetadataMetadata](../../models/components/mediacontainerwithplaylistmetadatametadata.md)] | :heavy_minus_sign: | N/A |
|
||||
@@ -0,0 +1,86 @@
|
||||
# MediaContainerWithPlaylistMetadataMetadata
|
||||
|
||||
Items in a library are referred to as "metadata items." These metadata items are distinct from "media items" which represent actual instances of media that can be consumed. Consider a TV library that has a single video file in it for a particular episode of a show. The library has a single media item, but it has three metadata items: one for the show, one for the season, and one for the episode. Consider a movie library that has two video files in it: the same movie, but two different resolutions. The library has a single metadata item for the movie, but that metadata item has two media items, one for each resolution. Additionally a "media item" will have one or more "media parts" where the the parts are intended to be watched together, such as a CD1 and CD2 parts of the same movie.
|
||||
|
||||
Note that when a metadata item has multiple media items, those media items should be isomorphic. That is, a 4K version and 1080p version of a movie are different versions of the same movie. They have the same duration, same summary, same rating, etc. and they can generally be considered interchangeable. A theatrical release vs. director's cut vs. unrated version on the other hand would be separate metadata items.
|
||||
|
||||
Metadata items can often live in a hierarchy with relationships between them. For example, the metadata item for an episodes is associated with a season metadata item which is associated with a show metadata item. A similar hierarchy exists with track, album, and artist and photos and photo album. The relationships may be expressed via relative terms and absolute terms. For example, "leaves" refer to metadata items which has associated media (there is no media for a season nor show). A show will have "children" in the form of seasons and a season will have "children" in the form of episodes and episodes have "parent" in the form of a season which has a "parent" in the form of a show. Similarly, a show has "grandchildren" in the form of episodse and an episode has a "grandparent" in the form of a show.
|
||||
|
||||
|
||||
|
||||
## Fields
|
||||
|
||||
| Field | Type | Required | Description |
|
||||
| ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
|
||||
| `read_only` | *Optional[bool]* | :heavy_minus_sign: | If we return this as true then this playlist cannot be altered or deleted directly by the client. |
|
||||
| `composite` | *Optional[Any]* | :heavy_minus_sign: | When present, the URL for a composite image for descendent items (e.g. photo albums or playlists). |
|
||||
| `duration` | *Optional[int]* | :heavy_minus_sign: | When present, the duration for the item, in units of milliseconds. |
|
||||
| `key` | *Optional[Any]* | :heavy_minus_sign: | The key at which the item's details can be fetched. In many cases a metadata item may be passed without all the details (such as in a hub) and this key corresponds to the endpoint to fetch additional details. |
|
||||
| `leaf_count` | *Optional[int]* | :heavy_minus_sign: | For shows and seasons, contains the number of total episodes. |
|
||||
| `playlist_type` | [Optional[components.PlaylistType]](../../models/components/playlisttype.md) | :heavy_minus_sign: | The type of the playlist. |
|
||||
| `smart` | *Optional[bool]* | :heavy_minus_sign: | Whether or not the playlist is smart. |
|
||||
| `special_playlist_type` | *Optional[str]* | :heavy_minus_sign: | If this is a special playlist, this returns its type (e.g. favorites). |
|
||||
| `title` | *Optional[Any]* | :heavy_minus_sign: | The title of the item (e.g. “300” or “The Simpsons”) |
|
||||
| `type` | *Optional[Any]* | :heavy_minus_sign: | The type of the video item, such as `movie`, `episode`, or `clip`. |
|
||||
| `absolute_index` | *Optional[int]* | :heavy_minus_sign: | When present, contains the disc number for a track on multi-disc albums. |
|
||||
| `added_at` | *Optional[int]* | :heavy_minus_sign: | In units of seconds since the epoch, returns the time at which the item was added to the library. |
|
||||
| `art` | *Optional[Any]* | :heavy_minus_sign: | When present, the URL for the background artwork for the item. |
|
||||
| `audience_rating` | *Optional[float]* | :heavy_minus_sign: | Some rating systems separate reviewer ratings from audience ratings |
|
||||
| `audience_rating_image` | *Optional[Any]* | :heavy_minus_sign: | A URI representing the image to be shown with the audience rating (e.g. rottentomatoes://image.rating.spilled). |
|
||||
| `autotag` | List[[components.Tag](../../models/components/tag.md)] | :heavy_minus_sign: | N/A |
|
||||
| `banner` | *Optional[Any]* | :heavy_minus_sign: | When present, the URL for a banner graphic for the item. |
|
||||
| `chapter_source` | *Optional[Any]* | :heavy_minus_sign: | When present, indicates the source for the chapters in the media file. Can be media (the chapters were embedded in the media itself), agent (a metadata agent computed them), or mixed (a combination of the two). |
|
||||
| `content_rating` | *Optional[Any]* | :heavy_minus_sign: | If known, the content rating (e.g. MPAA) for an item. |
|
||||
| `country` | List[[components.Tag](../../models/components/tag.md)] | :heavy_minus_sign: | N/A |
|
||||
| `director` | List[[components.Tag](../../models/components/tag.md)] | :heavy_minus_sign: | N/A |
|
||||
| `filter_` | List[[components.Filter](../../models/components/filter_.md)] | :heavy_minus_sign: | Typically only seen in metadata at a library's top level |
|
||||
| `genre` | List[[components.Tag](../../models/components/tag.md)] | :heavy_minus_sign: | N/A |
|
||||
| `grandparent_art` | *Optional[str]* | :heavy_minus_sign: | The `art` of the grandparent |
|
||||
| `grandparent_hero` | *Optional[str]* | :heavy_minus_sign: | The `hero` of the grandparent |
|
||||
| `grandparent_key` | *Optional[str]* | :heavy_minus_sign: | The `key` of the grandparent |
|
||||
| `grandparent_rating_key` | *Optional[str]* | :heavy_minus_sign: | The `ratingKey` of the grandparent |
|
||||
| `grandparent_theme` | *Optional[str]* | :heavy_minus_sign: | The `theme` of the grandparent |
|
||||
| `grandparent_thumb` | *Optional[str]* | :heavy_minus_sign: | The `thumb` of the grandparent |
|
||||
| `grandparent_title` | *Optional[str]* | :heavy_minus_sign: | The `title` of the grandparent |
|
||||
| `guid` | List[[components.Tag](../../models/components/tag.md)] | :heavy_minus_sign: | N/A |
|
||||
| `hero` | *Optional[Any]* | :heavy_minus_sign: | When present, the URL for a hero image for the item. |
|
||||
| `image` | List[[components.Image](../../models/components/image.md)] | :heavy_minus_sign: | N/A |
|
||||
| `index` | *Optional[int]* | :heavy_minus_sign: | When present, this represents the episode number for episodes, season number for seasons, or track number for audio tracks. |
|
||||
| `last_viewed_at` | *Optional[int]* | :heavy_minus_sign: | When a user has watched or listened to an item, this contains a timestamp (epoch seconds) for that last consumption time. |
|
||||
| `media` | List[[components.Media](../../models/components/media.md)] | :heavy_minus_sign: | N/A |
|
||||
| `originally_available_at` | *Optional[Any]* | :heavy_minus_sign: | When present, in the format YYYY-MM-DD [HH:MM:SS] (the hours/minutes/seconds part is not always present). The air date, or a higher resolution release date for an item, depending on type. For example, episodes usually have air date like 1979-08-10 (we don't use epoch seconds because media existed prior to 1970). In some cases, recorded over-the-air content has higher resolution air date which includes a time component. Albums and movies may have day-resolution release dates as well. |
|
||||
| `original_title` | *Optional[Any]* | :heavy_minus_sign: | When present, used to indicate an item's original title, e.g. a movie's foreign title. |
|
||||
| `parent_hero` | *Optional[str]* | :heavy_minus_sign: | The `hero` of the parent |
|
||||
| `parent_index` | *Optional[int]* | :heavy_minus_sign: | The `index` of the parent |
|
||||
| `parent_key` | *Optional[str]* | :heavy_minus_sign: | The `key` of the parent |
|
||||
| `parent_rating_key` | *Optional[str]* | :heavy_minus_sign: | The `ratingKey` of the parent |
|
||||
| `parent_thumb` | *Optional[str]* | :heavy_minus_sign: | The `thumb` of the parent |
|
||||
| `parent_title` | *Optional[str]* | :heavy_minus_sign: | The `title` of the parent |
|
||||
| `primary_extra_key` | *Optional[Any]* | :heavy_minus_sign: | Indicates that the item has a primary extra; for a movie, this is a trailer, and for a music track it is a music video. The URL points to the metadata details endpoint for the item. |
|
||||
| `prompt` | *Optional[str]* | :heavy_minus_sign: | Prompt to give the user for this directory (such as `Search Movies`) |
|
||||
| `rating` | *Optional[float]* | :heavy_minus_sign: | When present, the rating for the item. The exact meaning and representation depends on where the rating was sourced from. |
|
||||
| `rating_array` | List[[components.Tag](../../models/components/tag.md)] | :heavy_minus_sign: | N/A |
|
||||
| `rating_count` | *Optional[int]* | :heavy_minus_sign: | Number of ratings under this metadata |
|
||||
| `rating_image` | *Optional[Any]* | :heavy_minus_sign: | When present, indicates an image to be shown with the rating. This is passed back as a small set of defined URI values, e.g. rottentomatoes://image.rating.rotten. |
|
||||
| `rating_key` | *Optional[Any]* | :heavy_minus_sign: | This is the opaque string to be passed into timeline, scrobble, and rating endpoints to identify them. While it often appears to be numeric, this is not guaranteed. |
|
||||
| `role` | List[[components.Tag](../../models/components/tag.md)] | :heavy_minus_sign: | N/A |
|
||||
| `search` | *Optional[bool]* | :heavy_minus_sign: | Indicates this is a search directory |
|
||||
| `secondary` | *Optional[bool]* | :heavy_minus_sign: | Used by old clients to provide nested menus allowing for primative (but structured) navigation. |
|
||||
| `skip_children` | *Optional[bool]* | :heavy_minus_sign: | When found on a show item, indicates that the children (seasons) should be skipped in favor of the grandchildren (episodes). Useful for mini-series, etc. |
|
||||
| `skip_parent` | *Optional[bool]* | :heavy_minus_sign: | When present on an episode or track item, indicates parent should be skipped in favor of grandparent (show). |
|
||||
| `sort` | List[[components.Sort](../../models/components/sort.md)] | :heavy_minus_sign: | Typically only seen in metadata at a library's top level |
|
||||
| `studio` | *Optional[Any]* | :heavy_minus_sign: | When present, the studio or label which produced an item (e.g. movie studio for movies, record label for albums). |
|
||||
| `subtype` | *Optional[Any]* | :heavy_minus_sign: | The subtype of the video item, such as `photo` when the video item is in a photo library |
|
||||
| `summary` | *Optional[Any]* | :heavy_minus_sign: | When present, the extended textual information about the item (e.g. movie plot, artist biography, album review). |
|
||||
| `tagline` | *Optional[Any]* | :heavy_minus_sign: | When present, a pithy one-liner about the item (usually only seen for movies). |
|
||||
| `theme` | *Optional[Any]* | :heavy_minus_sign: | When present, the URL for theme music for the item (usually only for TV shows). |
|
||||
| `thumb` | *Optional[Any]* | :heavy_minus_sign: | When present, the URL for the poster or thumbnail for the item. When available for types like movie, it will be the poster graphic, but fall-back to the extracted media thumbnail. |
|
||||
| `title_sort` | *Optional[Any]* | :heavy_minus_sign: | Whene present, this is the string used for sorting the item. It's usually the title with any leading articles removed (e.g. “Simpsons”). |
|
||||
| `updated_at` | *Optional[int]* | :heavy_minus_sign: | In units of seconds since the epoch, returns the time at which the item was last changed (e.g. had its metadata updated). |
|
||||
| `user_rating` | *Optional[float]* | :heavy_minus_sign: | When the user has rated an item, this contains the user rating |
|
||||
| `view_count` | *Optional[int]* | :heavy_minus_sign: | When a users has completed watched or listened to an item, this attribute contains the number of consumptions. |
|
||||
| `viewed_leaf_count` | *Optional[int]* | :heavy_minus_sign: | For shows and seasons, contains the number of viewed episodes. |
|
||||
| `view_offset` | *Optional[int]* | :heavy_minus_sign: | When a user is in the process of viewing or listening to this item, this attribute contains the current offset, in units of milliseconds. |
|
||||
| `writer` | List[[components.Tag](../../models/components/tag.md)] | :heavy_minus_sign: | N/A |
|
||||
| `year` | *Optional[int]* | :heavy_minus_sign: | When present, the year associated with the item's release (e.g. release year for a movie). |
|
||||
| `__pydantic_extra__` | Dict[str, *Any*] | :heavy_minus_sign: | N/A |
|
||||
8
docs/models/components/mediacontainerwithsettings.md
Normal file
8
docs/models/components/mediacontainerwithsettings.md
Normal file
@@ -0,0 +1,8 @@
|
||||
# MediaContainerWithSettings
|
||||
|
||||
|
||||
## Fields
|
||||
|
||||
| Field | Type | Required | Description |
|
||||
| ------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------ |
|
||||
| `media_container` | [Optional[components.MediaContainerWithSettingsMediaContainer]](../../models/components/mediacontainerwithsettingsmediacontainer.md) | :heavy_minus_sign: | N/A |
|
||||
@@ -0,0 +1,17 @@
|
||||
# MediaContainerWithSettingsMediaContainer
|
||||
|
||||
`MediaContainer` is the root element of most Plex API responses. It serves as a generic container for various types of content (Metadata, Hubs, Directories, etc.) and includes pagination information (offset, size, totalSize) when applicable.
|
||||
Common attributes: - identifier: Unique identifier for this container - size: Number of items in this response page - totalSize: Total number of items available (for pagination) - offset: Starting index of this page (for pagination)
|
||||
The container often "hoists" common attributes from its children. For example, if all tracks in a container share the same album title, the `parentTitle` attribute may appear on the MediaContainer rather than being repeated on each track.
|
||||
|
||||
|
||||
|
||||
## Fields
|
||||
|
||||
| Field | Type | Required | Description |
|
||||
| ---------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------- |
|
||||
| `identifier` | *Optional[str]* | :heavy_minus_sign: | N/A |
|
||||
| `offset` | *Optional[int]* | :heavy_minus_sign: | The offset of where this container page starts among the total objects available. Also provided in the `X-Plex-Container-Start` header.<br/> |
|
||||
| `size` | *Optional[int]* | :heavy_minus_sign: | N/A |
|
||||
| `total_size` | *Optional[int]* | :heavy_minus_sign: | The total size of objects available. Also provided in the `X-Plex-Container-Total-Size` header.<br/> |
|
||||
| `setting` | List[[components.Setting](../../models/components/setting.md)] | :heavy_minus_sign: | N/A |
|
||||
8
docs/models/components/mediacontainerwithsubscription.md
Normal file
8
docs/models/components/mediacontainerwithsubscription.md
Normal file
@@ -0,0 +1,8 @@
|
||||
# MediaContainerWithSubscription
|
||||
|
||||
|
||||
## Fields
|
||||
|
||||
| Field | Type | Required | Description |
|
||||
| -------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------- |
|
||||
| `media_container` | [Optional[components.MediaContainerWithSubscriptionMediaContainer]](../../models/components/mediacontainerwithsubscriptionmediacontainer.md) | :heavy_minus_sign: | N/A |
|
||||
@@ -0,0 +1,17 @@
|
||||
# MediaContainerWithSubscriptionMediaContainer
|
||||
|
||||
`MediaContainer` is the root element of most Plex API responses. It serves as a generic container for various types of content (Metadata, Hubs, Directories, etc.) and includes pagination information (offset, size, totalSize) when applicable.
|
||||
Common attributes: - identifier: Unique identifier for this container - size: Number of items in this response page - totalSize: Total number of items available (for pagination) - offset: Starting index of this page (for pagination)
|
||||
The container often "hoists" common attributes from its children. For example, if all tracks in a container share the same album title, the `parentTitle` attribute may appear on the MediaContainer rather than being repeated on each track.
|
||||
|
||||
|
||||
|
||||
## Fields
|
||||
|
||||
| Field | Type | Required | Description |
|
||||
| ---------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------- |
|
||||
| `identifier` | *Optional[str]* | :heavy_minus_sign: | N/A |
|
||||
| `offset` | *Optional[int]* | :heavy_minus_sign: | The offset of where this container page starts among the total objects available. Also provided in the `X-Plex-Container-Start` header.<br/> |
|
||||
| `size` | *Optional[int]* | :heavy_minus_sign: | N/A |
|
||||
| `total_size` | *Optional[int]* | :heavy_minus_sign: | The total size of objects available. Also provided in the `X-Plex-Container-Total-Size` header.<br/> |
|
||||
| `media_subscription` | List[[components.MediaSubscription](../../models/components/mediasubscription.md)] | :heavy_minus_sign: | N/A |
|
||||
21
docs/models/components/mediagraboperation.md
Normal file
21
docs/models/components/mediagraboperation.md
Normal file
File diff suppressed because one or more lines are too long
7
docs/models/components/mediaquery.md
Normal file
7
docs/models/components/mediaquery.md
Normal file
@@ -0,0 +1,7 @@
|
||||
# MediaQuery
|
||||
|
||||
|
||||
## Fields
|
||||
|
||||
| Field | Type | Required | Description |
|
||||
| ----------- | ----------- | ----------- | ----------- |
|
||||
26
docs/models/components/mediasubscription.md
Normal file
26
docs/models/components/mediasubscription.md
Normal file
@@ -0,0 +1,26 @@
|
||||
# MediaSubscription
|
||||
|
||||
A media subscription contains a representation of metadata desired to be recorded
|
||||
|
||||
|
||||
|
||||
## Fields
|
||||
|
||||
| Field | Type | Required | Description |
|
||||
| ------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------ |
|
||||
| `title` | *Optional[str]* | :heavy_minus_sign: | N/A |
|
||||
| `type` | *Optional[int]* | :heavy_minus_sign: | The metadata type of the root item of the subscription |
|
||||
| `airings_type` | [Optional[components.AiringsType]](../../models/components/airingstype.md) | :heavy_minus_sign: | N/A |
|
||||
| `created_at` | *Optional[int]* | :heavy_minus_sign: | N/A |
|
||||
| `directory` | Dict[str, *Any*] | :heavy_minus_sign: | Media Matching Hints |
|
||||
| `duration_total` | *Optional[int]* | :heavy_minus_sign: | Only included if `includeStorage` is specified |
|
||||
| `key` | *Optional[str]* | :heavy_minus_sign: | N/A |
|
||||
| `library_section_title` | *Optional[str]* | :heavy_minus_sign: | N/A |
|
||||
| `location_path` | *Optional[str]* | :heavy_minus_sign: | N/A |
|
||||
| `media_grab_operation` | List[[components.MediaGrabOperation](../../models/components/mediagraboperation.md)] | :heavy_minus_sign: | N/A |
|
||||
| `playlist` | Dict[str, *Any*] | :heavy_minus_sign: | Media Matching Hints |
|
||||
| `setting` | List[[components.Setting](../../models/components/setting.md)] | :heavy_minus_sign: | N/A |
|
||||
| `storage_total` | *Optional[int]* | :heavy_minus_sign: | Only included if `includeStorage` is specified |
|
||||
| `target_library_section_id` | *Optional[int]* | :heavy_minus_sign: | The library section id for where the item is to be recorded |
|
||||
| `target_section_location_id` | *Optional[int]* | :heavy_minus_sign: | The library section location id for where the item is to be recorded |
|
||||
| `video` | Dict[str, *Any*] | :heavy_minus_sign: | Media Matching Hints |
|
||||
82
docs/models/components/metadata.md
Normal file
82
docs/models/components/metadata.md
Normal file
@@ -0,0 +1,82 @@
|
||||
# Metadata
|
||||
|
||||
Items in a library are referred to as "metadata items." These metadata items are distinct from "media items" which represent actual instances of media that can be consumed. Consider a TV library that has a single video file in it for a particular episode of a show. The library has a single media item, but it has three metadata items: one for the show, one for the season, and one for the episode. Consider a movie library that has two video files in it: the same movie, but two different resolutions. The library has a single metadata item for the movie, but that metadata item has two media items, one for each resolution. Additionally a "media item" will have one or more "media parts" where the the parts are intended to be watched together, such as a CD1 and CD2 parts of the same movie.
|
||||
|
||||
Note that when a metadata item has multiple media items, those media items should be isomorphic. That is, a 4K version and 1080p version of a movie are different versions of the same movie. They have the same duration, same summary, same rating, etc. and they can generally be considered interchangeable. A theatrical release vs. director's cut vs. unrated version on the other hand would be separate metadata items.
|
||||
|
||||
Metadata items can often live in a hierarchy with relationships between them. For example, the metadata item for an episodes is associated with a season metadata item which is associated with a show metadata item. A similar hierarchy exists with track, album, and artist and photos and photo album. The relationships may be expressed via relative terms and absolute terms. For example, "leaves" refer to metadata items which has associated media (there is no media for a season nor show). A show will have "children" in the form of seasons and a season will have "children" in the form of episodes and episodes have "parent" in the form of a season which has a "parent" in the form of a show. Similarly, a show has "grandchildren" in the form of episodse and an episode has a "grandparent" in the form of a show.
|
||||
|
||||
|
||||
|
||||
## Fields
|
||||
|
||||
| Field | Type | Required | Description |
|
||||
| ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
|
||||
| `title` | *Optional[Any]* | :heavy_minus_sign: | The title of the item (e.g. “300” or “The Simpsons”) |
|
||||
| `type` | *Optional[Any]* | :heavy_minus_sign: | The type of the video item, such as `movie`, `episode`, or `clip`. |
|
||||
| `absolute_index` | *Optional[int]* | :heavy_minus_sign: | When present, contains the disc number for a track on multi-disc albums. |
|
||||
| `added_at` | *Optional[int]* | :heavy_minus_sign: | In units of seconds since the epoch, returns the time at which the item was added to the library. |
|
||||
| `art` | *Optional[Any]* | :heavy_minus_sign: | When present, the URL for the background artwork for the item. |
|
||||
| `audience_rating` | *Optional[float]* | :heavy_minus_sign: | Some rating systems separate reviewer ratings from audience ratings |
|
||||
| `audience_rating_image` | *Optional[Any]* | :heavy_minus_sign: | A URI representing the image to be shown with the audience rating (e.g. rottentomatoes://image.rating.spilled). |
|
||||
| `autotag` | List[[components.Tag](../../models/components/tag.md)] | :heavy_minus_sign: | N/A |
|
||||
| `banner` | *Optional[Any]* | :heavy_minus_sign: | When present, the URL for a banner graphic for the item. |
|
||||
| `chapter_source` | *Optional[Any]* | :heavy_minus_sign: | When present, indicates the source for the chapters in the media file. Can be media (the chapters were embedded in the media itself), agent (a metadata agent computed them), or mixed (a combination of the two). |
|
||||
| `composite` | *Optional[Any]* | :heavy_minus_sign: | When present, the URL for a composite image for descendent items (e.g. photo albums or playlists). |
|
||||
| `content_rating` | *Optional[Any]* | :heavy_minus_sign: | If known, the content rating (e.g. MPAA) for an item. |
|
||||
| `country` | List[[components.Tag](../../models/components/tag.md)] | :heavy_minus_sign: | N/A |
|
||||
| `director` | List[[components.Tag](../../models/components/tag.md)] | :heavy_minus_sign: | N/A |
|
||||
| `duration` | *Optional[int]* | :heavy_minus_sign: | When present, the duration for the item, in units of milliseconds. |
|
||||
| `filter_` | List[[components.Filter](../../models/components/filter_.md)] | :heavy_minus_sign: | Typically only seen in metadata at a library's top level |
|
||||
| `genre` | List[[components.Tag](../../models/components/tag.md)] | :heavy_minus_sign: | N/A |
|
||||
| `grandparent_art` | *Optional[str]* | :heavy_minus_sign: | The `art` of the grandparent |
|
||||
| `grandparent_hero` | *Optional[str]* | :heavy_minus_sign: | The `hero` of the grandparent |
|
||||
| `grandparent_key` | *Optional[str]* | :heavy_minus_sign: | The `key` of the grandparent |
|
||||
| `grandparent_rating_key` | *Optional[str]* | :heavy_minus_sign: | The `ratingKey` of the grandparent |
|
||||
| `grandparent_theme` | *Optional[str]* | :heavy_minus_sign: | The `theme` of the grandparent |
|
||||
| `grandparent_thumb` | *Optional[str]* | :heavy_minus_sign: | The `thumb` of the grandparent |
|
||||
| `grandparent_title` | *Optional[str]* | :heavy_minus_sign: | The `title` of the grandparent |
|
||||
| `guid` | List[[components.Tag](../../models/components/tag.md)] | :heavy_minus_sign: | N/A |
|
||||
| `hero` | *Optional[Any]* | :heavy_minus_sign: | When present, the URL for a hero image for the item. |
|
||||
| `image` | List[[components.Image](../../models/components/image.md)] | :heavy_minus_sign: | N/A |
|
||||
| `index` | *Optional[int]* | :heavy_minus_sign: | When present, this represents the episode number for episodes, season number for seasons, or track number for audio tracks. |
|
||||
| `key` | *Optional[Any]* | :heavy_minus_sign: | The key at which the item's details can be fetched. In many cases a metadata item may be passed without all the details (such as in a hub) and this key corresponds to the endpoint to fetch additional details. |
|
||||
| `last_viewed_at` | *Optional[int]* | :heavy_minus_sign: | When a user has watched or listened to an item, this contains a timestamp (epoch seconds) for that last consumption time. |
|
||||
| `leaf_count` | *Optional[int]* | :heavy_minus_sign: | For shows and seasons, contains the number of total episodes. |
|
||||
| `media` | List[[components.Media](../../models/components/media.md)] | :heavy_minus_sign: | N/A |
|
||||
| `originally_available_at` | *Optional[Any]* | :heavy_minus_sign: | When present, in the format YYYY-MM-DD [HH:MM:SS] (the hours/minutes/seconds part is not always present). The air date, or a higher resolution release date for an item, depending on type. For example, episodes usually have air date like 1979-08-10 (we don't use epoch seconds because media existed prior to 1970). In some cases, recorded over-the-air content has higher resolution air date which includes a time component. Albums and movies may have day-resolution release dates as well. |
|
||||
| `original_title` | *Optional[Any]* | :heavy_minus_sign: | When present, used to indicate an item's original title, e.g. a movie's foreign title. |
|
||||
| `parent_hero` | *Optional[str]* | :heavy_minus_sign: | The `hero` of the parent |
|
||||
| `parent_index` | *Optional[int]* | :heavy_minus_sign: | The `index` of the parent |
|
||||
| `parent_key` | *Optional[str]* | :heavy_minus_sign: | The `key` of the parent |
|
||||
| `parent_rating_key` | *Optional[str]* | :heavy_minus_sign: | The `ratingKey` of the parent |
|
||||
| `parent_thumb` | *Optional[str]* | :heavy_minus_sign: | The `thumb` of the parent |
|
||||
| `parent_title` | *Optional[str]* | :heavy_minus_sign: | The `title` of the parent |
|
||||
| `primary_extra_key` | *Optional[Any]* | :heavy_minus_sign: | Indicates that the item has a primary extra; for a movie, this is a trailer, and for a music track it is a music video. The URL points to the metadata details endpoint for the item. |
|
||||
| `prompt` | *Optional[str]* | :heavy_minus_sign: | Prompt to give the user for this directory (such as `Search Movies`) |
|
||||
| `rating` | *Optional[float]* | :heavy_minus_sign: | When present, the rating for the item. The exact meaning and representation depends on where the rating was sourced from. |
|
||||
| `rating_array` | List[[components.Tag](../../models/components/tag.md)] | :heavy_minus_sign: | N/A |
|
||||
| `rating_count` | *Optional[int]* | :heavy_minus_sign: | Number of ratings under this metadata |
|
||||
| `rating_image` | *Optional[Any]* | :heavy_minus_sign: | When present, indicates an image to be shown with the rating. This is passed back as a small set of defined URI values, e.g. rottentomatoes://image.rating.rotten. |
|
||||
| `rating_key` | *Optional[Any]* | :heavy_minus_sign: | This is the opaque string to be passed into timeline, scrobble, and rating endpoints to identify them. While it often appears to be numeric, this is not guaranteed. |
|
||||
| `role` | List[[components.Tag](../../models/components/tag.md)] | :heavy_minus_sign: | N/A |
|
||||
| `search` | *Optional[bool]* | :heavy_minus_sign: | Indicates this is a search directory |
|
||||
| `secondary` | *Optional[bool]* | :heavy_minus_sign: | Used by old clients to provide nested menus allowing for primative (but structured) navigation. |
|
||||
| `skip_children` | *Optional[bool]* | :heavy_minus_sign: | When found on a show item, indicates that the children (seasons) should be skipped in favor of the grandchildren (episodes). Useful for mini-series, etc. |
|
||||
| `skip_parent` | *Optional[bool]* | :heavy_minus_sign: | When present on an episode or track item, indicates parent should be skipped in favor of grandparent (show). |
|
||||
| `sort` | List[[components.Sort](../../models/components/sort.md)] | :heavy_minus_sign: | Typically only seen in metadata at a library's top level |
|
||||
| `studio` | *Optional[Any]* | :heavy_minus_sign: | When present, the studio or label which produced an item (e.g. movie studio for movies, record label for albums). |
|
||||
| `subtype` | *Optional[Any]* | :heavy_minus_sign: | The subtype of the video item, such as `photo` when the video item is in a photo library |
|
||||
| `summary` | *Optional[Any]* | :heavy_minus_sign: | When present, the extended textual information about the item (e.g. movie plot, artist biography, album review). |
|
||||
| `tagline` | *Optional[Any]* | :heavy_minus_sign: | When present, a pithy one-liner about the item (usually only seen for movies). |
|
||||
| `theme` | *Optional[Any]* | :heavy_minus_sign: | When present, the URL for theme music for the item (usually only for TV shows). |
|
||||
| `thumb` | *Optional[Any]* | :heavy_minus_sign: | When present, the URL for the poster or thumbnail for the item. When available for types like movie, it will be the poster graphic, but fall-back to the extracted media thumbnail. |
|
||||
| `title_sort` | *Optional[Any]* | :heavy_minus_sign: | Whene present, this is the string used for sorting the item. It's usually the title with any leading articles removed (e.g. “Simpsons”). |
|
||||
| `updated_at` | *Optional[int]* | :heavy_minus_sign: | In units of seconds since the epoch, returns the time at which the item was last changed (e.g. had its metadata updated). |
|
||||
| `user_rating` | *Optional[float]* | :heavy_minus_sign: | When the user has rated an item, this contains the user rating |
|
||||
| `view_count` | *Optional[int]* | :heavy_minus_sign: | When a users has completed watched or listened to an item, this attribute contains the number of consumptions. |
|
||||
| `viewed_leaf_count` | *Optional[int]* | :heavy_minus_sign: | For shows and seasons, contains the number of viewed episodes. |
|
||||
| `view_offset` | *Optional[int]* | :heavy_minus_sign: | When a user is in the process of viewing or listening to this item, this attribute contains the current offset, in units of milliseconds. |
|
||||
| `writer` | List[[components.Tag](../../models/components/tag.md)] | :heavy_minus_sign: | N/A |
|
||||
| `year` | *Optional[int]* | :heavy_minus_sign: | When present, the year associated with the item's release (e.g. release year for a movie). |
|
||||
| `__pydantic_extra__` | Dict[str, *Any*] | :heavy_minus_sign: | N/A |
|
||||
83
docs/models/components/metadataitem.md
Normal file
83
docs/models/components/metadataitem.md
Normal file
@@ -0,0 +1,83 @@
|
||||
# MetadataItem
|
||||
|
||||
Items in a library are referred to as "metadata items." These metadata items are distinct from "media items" which represent actual instances of media that can be consumed. Consider a TV library that has a single video file in it for a particular episode of a show. The library has a single media item, but it has three metadata items: one for the show, one for the season, and one for the episode. Consider a movie library that has two video files in it: the same movie, but two different resolutions. The library has a single metadata item for the movie, but that metadata item has two media items, one for each resolution. Additionally a "media item" will have one or more "media parts" where the the parts are intended to be watched together, such as a CD1 and CD2 parts of the same movie.
|
||||
|
||||
Note that when a metadata item has multiple media items, those media items should be isomorphic. That is, a 4K version and 1080p version of a movie are different versions of the same movie. They have the same duration, same summary, same rating, etc. and they can generally be considered interchangeable. A theatrical release vs. director's cut vs. unrated version on the other hand would be separate metadata items.
|
||||
|
||||
Metadata items can often live in a hierarchy with relationships between them. For example, the metadata item for an episodes is associated with a season metadata item which is associated with a show metadata item. A similar hierarchy exists with track, album, and artist and photos and photo album. The relationships may be expressed via relative terms and absolute terms. For example, "leaves" refer to metadata items which has associated media (there is no media for a season nor show). A show will have "children" in the form of seasons and a season will have "children" in the form of episodes and episodes have "parent" in the form of a season which has a "parent" in the form of a show. Similarly, a show has "grandchildren" in the form of episodse and an episode has a "grandparent" in the form of a show.
|
||||
|
||||
|
||||
|
||||
## Fields
|
||||
|
||||
| Field | Type | Required | Description |
|
||||
| ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
|
||||
| `title` | *Optional[Any]* | :heavy_minus_sign: | The title of the item (e.g. “300” or “The Simpsons”) |
|
||||
| `type` | *Optional[Any]* | :heavy_minus_sign: | The type of the video item, such as `movie`, `episode`, or `clip`. |
|
||||
| `absolute_index` | *Optional[int]* | :heavy_minus_sign: | When present, contains the disc number for a track on multi-disc albums. |
|
||||
| `added_at` | *Optional[int]* | :heavy_minus_sign: | In units of seconds since the epoch, returns the time at which the item was added to the library. |
|
||||
| `art` | *Optional[Any]* | :heavy_minus_sign: | When present, the URL for the background artwork for the item. |
|
||||
| `audience_rating` | *Optional[float]* | :heavy_minus_sign: | Some rating systems separate reviewer ratings from audience ratings |
|
||||
| `audience_rating_image` | *Optional[Any]* | :heavy_minus_sign: | A URI representing the image to be shown with the audience rating (e.g. rottentomatoes://image.rating.spilled). |
|
||||
| `autotag` | List[[components.Tag](../../models/components/tag.md)] | :heavy_minus_sign: | N/A |
|
||||
| `banner` | *Optional[Any]* | :heavy_minus_sign: | When present, the URL for a banner graphic for the item. |
|
||||
| `chapter_source` | *Optional[Any]* | :heavy_minus_sign: | When present, indicates the source for the chapters in the media file. Can be media (the chapters were embedded in the media itself), agent (a metadata agent computed them), or mixed (a combination of the two). |
|
||||
| `composite` | *Optional[Any]* | :heavy_minus_sign: | When present, the URL for a composite image for descendent items (e.g. photo albums or playlists). |
|
||||
| `content_rating` | *Optional[Any]* | :heavy_minus_sign: | If known, the content rating (e.g. MPAA) for an item. |
|
||||
| `country` | List[[components.Tag](../../models/components/tag.md)] | :heavy_minus_sign: | N/A |
|
||||
| `director` | List[[components.Tag](../../models/components/tag.md)] | :heavy_minus_sign: | N/A |
|
||||
| `duration` | *Optional[int]* | :heavy_minus_sign: | When present, the duration for the item, in units of milliseconds. |
|
||||
| `filter_` | List[[components.Filter](../../models/components/filter_.md)] | :heavy_minus_sign: | Typically only seen in metadata at a library's top level |
|
||||
| `genre` | List[[components.Tag](../../models/components/tag.md)] | :heavy_minus_sign: | N/A |
|
||||
| `grandparent_art` | *Optional[str]* | :heavy_minus_sign: | The `art` of the grandparent |
|
||||
| `grandparent_hero` | *Optional[str]* | :heavy_minus_sign: | The `hero` of the grandparent |
|
||||
| `grandparent_key` | *Optional[str]* | :heavy_minus_sign: | The `key` of the grandparent |
|
||||
| `grandparent_rating_key` | *Optional[str]* | :heavy_minus_sign: | The `ratingKey` of the grandparent |
|
||||
| `grandparent_theme` | *Optional[str]* | :heavy_minus_sign: | The `theme` of the grandparent |
|
||||
| `grandparent_thumb` | *Optional[str]* | :heavy_minus_sign: | The `thumb` of the grandparent |
|
||||
| `grandparent_title` | *Optional[str]* | :heavy_minus_sign: | The `title` of the grandparent |
|
||||
| `guid` | List[[components.Tag](../../models/components/tag.md)] | :heavy_minus_sign: | N/A |
|
||||
| `hero` | *Optional[Any]* | :heavy_minus_sign: | When present, the URL for a hero image for the item. |
|
||||
| `image` | List[[components.Image](../../models/components/image.md)] | :heavy_minus_sign: | N/A |
|
||||
| `index` | *Optional[int]* | :heavy_minus_sign: | When present, this represents the episode number for episodes, season number for seasons, or track number for audio tracks. |
|
||||
| `key` | *Optional[Any]* | :heavy_minus_sign: | The key at which the item's details can be fetched. In many cases a metadata item may be passed without all the details (such as in a hub) and this key corresponds to the endpoint to fetch additional details. |
|
||||
| `last_viewed_at` | *Optional[int]* | :heavy_minus_sign: | When a user has watched or listened to an item, this contains a timestamp (epoch seconds) for that last consumption time. |
|
||||
| `leaf_count` | *Optional[int]* | :heavy_minus_sign: | For shows and seasons, contains the number of total episodes. |
|
||||
| `media` | List[[components.Media](../../models/components/media.md)] | :heavy_minus_sign: | N/A |
|
||||
| `originally_available_at` | *Optional[Any]* | :heavy_minus_sign: | When present, in the format YYYY-MM-DD [HH:MM:SS] (the hours/minutes/seconds part is not always present). The air date, or a higher resolution release date for an item, depending on type. For example, episodes usually have air date like 1979-08-10 (we don't use epoch seconds because media existed prior to 1970). In some cases, recorded over-the-air content has higher resolution air date which includes a time component. Albums and movies may have day-resolution release dates as well. |
|
||||
| `original_title` | *Optional[Any]* | :heavy_minus_sign: | When present, used to indicate an item's original title, e.g. a movie's foreign title. |
|
||||
| `parent_hero` | *Optional[str]* | :heavy_minus_sign: | The `hero` of the parent |
|
||||
| `parent_index` | *Optional[int]* | :heavy_minus_sign: | The `index` of the parent |
|
||||
| `parent_key` | *Optional[str]* | :heavy_minus_sign: | The `key` of the parent |
|
||||
| `parent_rating_key` | *Optional[str]* | :heavy_minus_sign: | The `ratingKey` of the parent |
|
||||
| `parent_thumb` | *Optional[str]* | :heavy_minus_sign: | The `thumb` of the parent |
|
||||
| `parent_title` | *Optional[str]* | :heavy_minus_sign: | The `title` of the parent |
|
||||
| `primary_extra_key` | *Optional[Any]* | :heavy_minus_sign: | Indicates that the item has a primary extra; for a movie, this is a trailer, and for a music track it is a music video. The URL points to the metadata details endpoint for the item. |
|
||||
| `prompt` | *Optional[str]* | :heavy_minus_sign: | Prompt to give the user for this directory (such as `Search Movies`) |
|
||||
| `rating` | *Optional[float]* | :heavy_minus_sign: | When present, the rating for the item. The exact meaning and representation depends on where the rating was sourced from. |
|
||||
| `rating_array` | List[[components.Tag](../../models/components/tag.md)] | :heavy_minus_sign: | N/A |
|
||||
| `rating_count` | *Optional[int]* | :heavy_minus_sign: | Number of ratings under this metadata |
|
||||
| `rating_image` | *Optional[Any]* | :heavy_minus_sign: | When present, indicates an image to be shown with the rating. This is passed back as a small set of defined URI values, e.g. rottentomatoes://image.rating.rotten. |
|
||||
| `rating_key` | *Optional[Any]* | :heavy_minus_sign: | This is the opaque string to be passed into timeline, scrobble, and rating endpoints to identify them. While it often appears to be numeric, this is not guaranteed. |
|
||||
| `role` | List[[components.Tag](../../models/components/tag.md)] | :heavy_minus_sign: | N/A |
|
||||
| `search` | *Optional[bool]* | :heavy_minus_sign: | Indicates this is a search directory |
|
||||
| `secondary` | *Optional[bool]* | :heavy_minus_sign: | Used by old clients to provide nested menus allowing for primative (but structured) navigation. |
|
||||
| `skip_children` | *Optional[bool]* | :heavy_minus_sign: | When found on a show item, indicates that the children (seasons) should be skipped in favor of the grandchildren (episodes). Useful for mini-series, etc. |
|
||||
| `skip_parent` | *Optional[bool]* | :heavy_minus_sign: | When present on an episode or track item, indicates parent should be skipped in favor of grandparent (show). |
|
||||
| `sort` | List[[components.Sort](../../models/components/sort.md)] | :heavy_minus_sign: | Typically only seen in metadata at a library's top level |
|
||||
| `studio` | *Optional[Any]* | :heavy_minus_sign: | When present, the studio or label which produced an item (e.g. movie studio for movies, record label for albums). |
|
||||
| `subtype` | *Optional[Any]* | :heavy_minus_sign: | The subtype of the video item, such as `photo` when the video item is in a photo library |
|
||||
| `summary` | *Optional[Any]* | :heavy_minus_sign: | When present, the extended textual information about the item (e.g. movie plot, artist biography, album review). |
|
||||
| `tagline` | *Optional[Any]* | :heavy_minus_sign: | When present, a pithy one-liner about the item (usually only seen for movies). |
|
||||
| `theme` | *Optional[Any]* | :heavy_minus_sign: | When present, the URL for theme music for the item (usually only for TV shows). |
|
||||
| `thumb` | *Optional[Any]* | :heavy_minus_sign: | When present, the URL for the poster or thumbnail for the item. When available for types like movie, it will be the poster graphic, but fall-back to the extracted media thumbnail. |
|
||||
| `title_sort` | *Optional[Any]* | :heavy_minus_sign: | Whene present, this is the string used for sorting the item. It's usually the title with any leading articles removed (e.g. “Simpsons”). |
|
||||
| `updated_at` | *Optional[int]* | :heavy_minus_sign: | In units of seconds since the epoch, returns the time at which the item was last changed (e.g. had its metadata updated). |
|
||||
| `user_rating` | *Optional[float]* | :heavy_minus_sign: | When the user has rated an item, this contains the user rating |
|
||||
| `view_count` | *Optional[int]* | :heavy_minus_sign: | When a users has completed watched or listened to an item, this attribute contains the number of consumptions. |
|
||||
| `viewed_leaf_count` | *Optional[int]* | :heavy_minus_sign: | For shows and seasons, contains the number of viewed episodes. |
|
||||
| `view_offset` | *Optional[int]* | :heavy_minus_sign: | When a user is in the process of viewing or listening to this item, this attribute contains the current offset, in units of milliseconds. |
|
||||
| `writer` | List[[components.Tag](../../models/components/tag.md)] | :heavy_minus_sign: | N/A |
|
||||
| `year` | *Optional[int]* | :heavy_minus_sign: | When present, the year associated with the item's release (e.g. release year for a movie). |
|
||||
| `metadata_item` | List[[components.Items](../../models/components/items.md)] | :heavy_minus_sign: | N/A |
|
||||
| `__pydantic_extra__` | Dict[str, *Any*] | :heavy_minus_sign: | N/A |
|
||||
22
docs/models/components/part.md
Normal file
22
docs/models/components/part.md
Normal file
@@ -0,0 +1,22 @@
|
||||
# Part
|
||||
|
||||
`Part` represents a particular file or "part" of a media item. The part is the playable unit of the media hierarchy. Suppose that a movie library contains a movie that is broken up into files, reminiscent of a movie split across two BDs. The metadata item represents information about the movie, the media item represents this instance of the movie at this resolution and quality, and the part items represent the two playable files. If another media were added which contained the joining of these two parts transcoded down to a lower resolution, then this metadata would contain 2 medias, one with 2 parts and one with 1 part.
|
||||
|
||||
|
||||
|
||||
## Fields
|
||||
|
||||
| Field | Type | Required | Description | Example |
|
||||
| ------------------------------------------------------------- | ------------------------------------------------------------- | ------------------------------------------------------------- | ------------------------------------------------------------- | ------------------------------------------------------------- |
|
||||
| `audio_profile` | *Optional[Any]* | :heavy_minus_sign: | N/A | lc |
|
||||
| `container` | *Optional[Any]* | :heavy_minus_sign: | The container of the media file, such as `mp4` or `mkv` | mov |
|
||||
| `duration` | *Optional[int]* | :heavy_minus_sign: | The duration of the media item, in milliseconds | 150192 |
|
||||
| `file` | *Optional[Any]* | :heavy_minus_sign: | The local file path at which the part is stored on the server | /home/schuyler/Videos/Trailers/Cloud Atlas (2012).mov |
|
||||
| `has64bit_offsets` | *Optional[bool]* | :heavy_minus_sign: | N/A | false |
|
||||
| `id` | *Optional[int]* | :heavy_minus_sign: | N/A | 1 |
|
||||
| `key` | *Optional[Any]* | :heavy_minus_sign: | The key from which the media can be streamed | /library/parts/1/1531779263/file.mov |
|
||||
| `optimized_for_streaming` | *Optional[bool]* | :heavy_minus_sign: | N/A | false |
|
||||
| `size` | *Optional[int]* | :heavy_minus_sign: | The size of the media, in bytes | 105355654 |
|
||||
| `stream` | List[[components.Stream](../../models/components/stream.md)] | :heavy_minus_sign: | N/A | |
|
||||
| `video_profile` | *Optional[Any]* | :heavy_minus_sign: | N/A | main |
|
||||
| `__pydantic_extra__` | Dict[str, *Any*] | :heavy_minus_sign: | N/A | |
|
||||
@@ -5,9 +5,9 @@
|
||||
|
||||
| Field | Type | Required | Description |
|
||||
| ------------------ | ------------------ | ------------------ | ------------------ |
|
||||
| `title` | *Optional[str]* | :heavy_minus_sign: | N/A |
|
||||
| `type` | *Optional[str]* | :heavy_minus_sign: | N/A |
|
||||
| `context` | *Optional[str]* | :heavy_minus_sign: | N/A |
|
||||
| `id` | *Optional[str]* | :heavy_minus_sign: | N/A |
|
||||
| `key` | *Optional[str]* | :heavy_minus_sign: | N/A |
|
||||
| `type` | *Optional[str]* | :heavy_minus_sign: | N/A |
|
||||
| `title` | *Optional[str]* | :heavy_minus_sign: | N/A |
|
||||
| `context` | *Optional[str]* | :heavy_minus_sign: | N/A |
|
||||
| `symbol` | *Optional[str]* | :heavy_minus_sign: | N/A |
|
||||
24
docs/models/components/player.md
Normal file
24
docs/models/components/player.md
Normal file
@@ -0,0 +1,24 @@
|
||||
# Player
|
||||
|
||||
Information about the player being used for playback
|
||||
|
||||
|
||||
## Fields
|
||||
|
||||
| Field | Type | Required | Description |
|
||||
| ----------------------------------------------------------- | ----------------------------------------------------------- | ----------------------------------------------------------- | ----------------------------------------------------------- |
|
||||
| `title` | *Optional[str]* | :heavy_minus_sign: | The title of the client |
|
||||
| `address` | *Optional[str]* | :heavy_minus_sign: | The remote address |
|
||||
| `local` | *Optional[bool]* | :heavy_minus_sign: | Indicating if the client is playing from the local LAN |
|
||||
| `machine_identifier` | *Optional[str]* | :heavy_minus_sign: | The identifier of the client |
|
||||
| `model` | *Optional[str]* | :heavy_minus_sign: | The model of the client |
|
||||
| `platform` | *Optional[str]* | :heavy_minus_sign: | The platform of the client |
|
||||
| `platform_version` | *Optional[str]* | :heavy_minus_sign: | The platformVersion of the client |
|
||||
| `product` | *Optional[str]* | :heavy_minus_sign: | The product name of the client |
|
||||
| `relayed` | *Optional[bool]* | :heavy_minus_sign: | Indicating if the client is playing over a relay connection |
|
||||
| `remote_public_address` | *Optional[str]* | :heavy_minus_sign: | The client's public address |
|
||||
| `secure` | *Optional[bool]* | :heavy_minus_sign: | Indicating if the client is playing over HTTPS |
|
||||
| `state` | *Optional[str]* | :heavy_minus_sign: | The client's last reported state |
|
||||
| `user_id` | *Optional[int]* | :heavy_minus_sign: | The id of the user |
|
||||
| `vendor` | *Optional[str]* | :heavy_minus_sign: | The vendor of the client |
|
||||
| `version` | *Optional[str]* | :heavy_minus_sign: | The version of the client |
|
||||
12
docs/models/components/playlisttype.md
Normal file
12
docs/models/components/playlisttype.md
Normal file
@@ -0,0 +1,12 @@
|
||||
# PlaylistType
|
||||
|
||||
The type of the playlist.
|
||||
|
||||
|
||||
## Values
|
||||
|
||||
| Name | Value |
|
||||
| ------- | ------- |
|
||||
| `AUDIO` | audio |
|
||||
| `VIDEO` | video |
|
||||
| `PHOTO` | photo |
|
||||
10
docs/models/components/postresponses200.md
Normal file
10
docs/models/components/postresponses200.md
Normal file
@@ -0,0 +1,10 @@
|
||||
# PostResponses200
|
||||
|
||||
OK
|
||||
|
||||
|
||||
## Fields
|
||||
|
||||
| Field | Type | Required | Description |
|
||||
| ---------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------- |
|
||||
| `media_container` | [Optional[components.PostResponses200MediaContainer]](../../models/components/postresponses200mediacontainer.md) | :heavy_minus_sign: | N/A |
|
||||
23
docs/models/components/postresponses200mediacontainer.md
Normal file
23
docs/models/components/postresponses200mediacontainer.md
Normal file
@@ -0,0 +1,23 @@
|
||||
# PostResponses200MediaContainer
|
||||
|
||||
`MediaContainer` is the root element of most Plex API responses. It serves as a generic container for various types of content (Metadata, Hubs, Directories, etc.) and includes pagination information (offset, size, totalSize) when applicable.
|
||||
Common attributes: - identifier: Unique identifier for this container - size: Number of items in this response page - totalSize: Total number of items available (for pagination) - offset: Starting index of this page (for pagination)
|
||||
The container often "hoists" common attributes from its children. For example, if all tracks in a container share the same album title, the `parentTitle` attribute may appear on the MediaContainer rather than being repeated on each track.
|
||||
|
||||
|
||||
|
||||
## Fields
|
||||
|
||||
| Field | Type | Required | Description |
|
||||
| ---------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------- |
|
||||
| `identifier` | *Optional[str]* | :heavy_minus_sign: | N/A |
|
||||
| `offset` | *Optional[int]* | :heavy_minus_sign: | The offset of where this container page starts among the total objects available. Also provided in the `X-Plex-Container-Start` header.<br/> |
|
||||
| `size` | *Optional[int]* | :heavy_minus_sign: | N/A |
|
||||
| `total_size` | *Optional[int]* | :heavy_minus_sign: | The total size of objects available. Also provided in the `X-Plex-Container-Total-Size` header.<br/> |
|
||||
| `color` | *Optional[str]* | :heavy_minus_sign: | N/A |
|
||||
| `end_time_offset` | *Optional[int]* | :heavy_minus_sign: | N/A |
|
||||
| `id` | *Optional[int]* | :heavy_minus_sign: | N/A |
|
||||
| `start_time_offset` | *Optional[int]* | :heavy_minus_sign: | N/A |
|
||||
| `title` | *Optional[str]* | :heavy_minus_sign: | N/A |
|
||||
| `type` | [Optional[components.PostResponses200Type]](../../models/components/postresponses200type.md) | :heavy_minus_sign: | N/A |
|
||||
| `__pydantic_extra__` | Dict[str, *Any*] | :heavy_minus_sign: | N/A |
|
||||
12
docs/models/components/postresponses200type.md
Normal file
12
docs/models/components/postresponses200type.md
Normal file
@@ -0,0 +1,12 @@
|
||||
# PostResponses200Type
|
||||
|
||||
|
||||
## Values
|
||||
|
||||
| Name | Value |
|
||||
| ------------ | ------------ |
|
||||
| `INTRO` | intro |
|
||||
| `COMMERCIAL` | commercial |
|
||||
| `BOOKMARK` | bookmark |
|
||||
| `RESUME` | resume |
|
||||
| `CREDIT` | credit |
|
||||
10
docs/models/components/protocol.md
Normal file
10
docs/models/components/protocol.md
Normal file
@@ -0,0 +1,10 @@
|
||||
# Protocol
|
||||
|
||||
|
||||
## Values
|
||||
|
||||
| Name | Value |
|
||||
| ------ | ------ |
|
||||
| `HTTP` | http |
|
||||
| `HLS` | hls |
|
||||
| `DASH` | dash |
|
||||
18
docs/models/components/recommendationsvisibility.md
Normal file
18
docs/models/components/recommendationsvisibility.md
Normal file
@@ -0,0 +1,18 @@
|
||||
# RecommendationsVisibility
|
||||
|
||||
The visibility of this hub in recommendations:
|
||||
- all: Visible to all users
|
||||
- none: Visible to no users
|
||||
- admin: Visible to only admin users
|
||||
- shared: Visible to shared users
|
||||
|
||||
|
||||
|
||||
## Values
|
||||
|
||||
| Name | Value |
|
||||
| -------- | -------- |
|
||||
| `ALL` | all |
|
||||
| `NONE` | none |
|
||||
| `ADMIN` | admin |
|
||||
| `SHARED` | shared |
|
||||
10
docs/models/components/requesthandlerslashgetresponses200.md
Normal file
10
docs/models/components/requesthandlerslashgetresponses200.md
Normal file
@@ -0,0 +1,10 @@
|
||||
# RequestHandlerSlashGetResponses200
|
||||
|
||||
OK
|
||||
|
||||
|
||||
## Fields
|
||||
|
||||
| Field | Type | Required | Description |
|
||||
| ---------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------- |
|
||||
| `media_container` | [Optional[components.RequestHandlerSlashGetResponses200MediaContainer]](../../models/components/requesthandlerslashgetresponses200mediacontainer.md) | :heavy_minus_sign: | N/A |
|
||||
@@ -0,0 +1,10 @@
|
||||
# RequestHandlerSlashGetResponses200Directory
|
||||
|
||||
|
||||
## Fields
|
||||
|
||||
| Field | Type | Required | Description |
|
||||
| ------------------------------------- | ------------------------------------- | ------------------------------------- | ------------------------------------- |
|
||||
| `count` | *Optional[int]* | :heavy_minus_sign: | N/A |
|
||||
| `key` | *Optional[str]* | :heavy_minus_sign: | The key where this directory is found |
|
||||
| `title` | *Optional[str]* | :heavy_minus_sign: | N/A |
|
||||
@@ -0,0 +1,65 @@
|
||||
# RequestHandlerSlashGetResponses200MediaContainer
|
||||
|
||||
`MediaContainer` is the root element of most Plex API responses. It serves as a generic container for various types of content (Metadata, Hubs, Directories, etc.) and includes pagination information (offset, size, totalSize) when applicable.
|
||||
Common attributes: - identifier: Unique identifier for this container - size: Number of items in this response page - totalSize: Total number of items available (for pagination) - offset: Starting index of this page (for pagination)
|
||||
The container often "hoists" common attributes from its children. For example, if all tracks in a container share the same album title, the `parentTitle` attribute may appear on the MediaContainer rather than being repeated on each track.
|
||||
|
||||
|
||||
|
||||
## Fields
|
||||
|
||||
| Field | Type | Required | Description | Example |
|
||||
| ---------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------- |
|
||||
| `identifier` | *Optional[str]* | :heavy_minus_sign: | N/A | |
|
||||
| `offset` | *Optional[int]* | :heavy_minus_sign: | The offset of where this container page starts among the total objects available. Also provided in the `X-Plex-Container-Start` header.<br/> | |
|
||||
| `size` | *Optional[int]* | :heavy_minus_sign: | N/A | |
|
||||
| `total_size` | *Optional[int]* | :heavy_minus_sign: | The total size of objects available. Also provided in the `X-Plex-Container-Total-Size` header.<br/> | |
|
||||
| `allow_camera_upload` | *Optional[bool]* | :heavy_minus_sign: | N/A | |
|
||||
| `allow_channel_access` | *Optional[bool]* | :heavy_minus_sign: | N/A | |
|
||||
| `allow_media_deletion` | *Optional[bool]* | :heavy_minus_sign: | N/A | |
|
||||
| `allow_sharing` | *Optional[bool]* | :heavy_minus_sign: | N/A | |
|
||||
| `allow_sync` | *Optional[bool]* | :heavy_minus_sign: | N/A | |
|
||||
| `allow_tuners` | *Optional[bool]* | :heavy_minus_sign: | N/A | |
|
||||
| `background_processing` | *Optional[bool]* | :heavy_minus_sign: | N/A | |
|
||||
| `certificate` | *Optional[bool]* | :heavy_minus_sign: | N/A | |
|
||||
| `companion_proxy` | *Optional[bool]* | :heavy_minus_sign: | N/A | |
|
||||
| `country_code` | *Optional[str]* | :heavy_minus_sign: | N/A | |
|
||||
| `diagnostics` | *Optional[str]* | :heavy_minus_sign: | N/A | |
|
||||
| `event_stream` | *Optional[bool]* | :heavy_minus_sign: | N/A | |
|
||||
| `friendly_name` | *Optional[str]* | :heavy_minus_sign: | N/A | |
|
||||
| `hub_search` | *Optional[bool]* | :heavy_minus_sign: | N/A | |
|
||||
| `item_clusters` | *Optional[bool]* | :heavy_minus_sign: | N/A | |
|
||||
| `livetv` | *Optional[int]* | :heavy_minus_sign: | N/A | 7 |
|
||||
| `machine_identifier` | *Optional[Any]* | :heavy_minus_sign: | N/A | 0123456789abcdef0123456789abcdef012345678 |
|
||||
| `media_providers` | *Optional[bool]* | :heavy_minus_sign: | N/A | |
|
||||
| `multiuser` | *Optional[bool]* | :heavy_minus_sign: | N/A | |
|
||||
| `music_analysis` | *Optional[int]* | :heavy_minus_sign: | N/A | 2 |
|
||||
| `my_plex` | *Optional[bool]* | :heavy_minus_sign: | N/A | |
|
||||
| `my_plex_mapping_state` | *Optional[Any]* | :heavy_minus_sign: | N/A | mapped |
|
||||
| `my_plex_signin_state` | *Optional[Any]* | :heavy_minus_sign: | N/A | ok |
|
||||
| `my_plex_subscription` | *Optional[bool]* | :heavy_minus_sign: | N/A | |
|
||||
| `my_plex_username` | *Optional[str]* | :heavy_minus_sign: | N/A | |
|
||||
| `offline_transcode` | *Optional[Any]* | :heavy_minus_sign: | N/A | 1 |
|
||||
| `owner_features` | *Optional[str]* | :heavy_minus_sign: | A comma-separated list of features which are enabled for the server owner | |
|
||||
| `platform` | *Optional[str]* | :heavy_minus_sign: | N/A | |
|
||||
| `platform_version` | *Optional[str]* | :heavy_minus_sign: | N/A | |
|
||||
| `plugin_host` | *Optional[bool]* | :heavy_minus_sign: | N/A | |
|
||||
| `push_notifications` | *Optional[bool]* | :heavy_minus_sign: | N/A | |
|
||||
| `read_only_libraries` | *Optional[bool]* | :heavy_minus_sign: | N/A | |
|
||||
| `streaming_brain_abr_version` | *Optional[int]* | :heavy_minus_sign: | N/A | |
|
||||
| `streaming_brain_version` | *Optional[int]* | :heavy_minus_sign: | N/A | |
|
||||
| `sync` | *Optional[bool]* | :heavy_minus_sign: | N/A | |
|
||||
| `transcoder_active_video_sessions` | *Optional[int]* | :heavy_minus_sign: | N/A | |
|
||||
| `transcoder_audio` | *Optional[bool]* | :heavy_minus_sign: | N/A | |
|
||||
| `transcoder_lyrics` | *Optional[bool]* | :heavy_minus_sign: | N/A | |
|
||||
| `transcoder_photo` | *Optional[bool]* | :heavy_minus_sign: | N/A | |
|
||||
| `transcoder_subtitles` | *Optional[bool]* | :heavy_minus_sign: | N/A | |
|
||||
| `transcoder_video` | *Optional[bool]* | :heavy_minus_sign: | N/A | |
|
||||
| `transcoder_video_bitrates` | *Optional[Any]* | :heavy_minus_sign: | The suggested video quality bitrates to present to the user | |
|
||||
| `transcoder_video_qualities` | *Optional[str]* | :heavy_minus_sign: | N/A | |
|
||||
| `transcoder_video_resolutions` | *Optional[Any]* | :heavy_minus_sign: | The suggested video resolutions to the above quality bitrates | |
|
||||
| `updated_at` | *Optional[int]* | :heavy_minus_sign: | N/A | |
|
||||
| `updater` | *Optional[bool]* | :heavy_minus_sign: | N/A | |
|
||||
| `version` | *Optional[str]* | :heavy_minus_sign: | N/A | |
|
||||
| `voice_search` | *Optional[bool]* | :heavy_minus_sign: | N/A | |
|
||||
| `directory` | List[[components.RequestHandlerSlashGetResponses200Directory](../../models/components/requesthandlerslashgetresponses200directory.md)] | :heavy_minus_sign: | N/A | |
|
||||
@@ -5,4 +5,4 @@
|
||||
|
||||
| Field | Type | Required | Description |
|
||||
| ------------------ | ------------------ | ------------------ | ------------------ |
|
||||
| `access_token` | *Optional[str]* | :heavy_minus_sign: | N/A |
|
||||
| `token` | *Optional[str]* | :heavy_minus_sign: | N/A |
|
||||
12
docs/models/components/session.md
Normal file
12
docs/models/components/session.md
Normal file
@@ -0,0 +1,12 @@
|
||||
# Session
|
||||
|
||||
Information about the playback session
|
||||
|
||||
|
||||
## Fields
|
||||
|
||||
| Field | Type | Required | Description |
|
||||
| ---------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------- |
|
||||
| `bandwidth` | *Optional[int]* | :heavy_minus_sign: | The bandwidth used by this client's playback in kbps |
|
||||
| `id` | *Optional[str]* | :heavy_minus_sign: | The id of the playback session |
|
||||
| `location` | [Optional[components.SessionLocation]](../../models/components/sessionlocation.md) | :heavy_minus_sign: | The location of the client |
|
||||
11
docs/models/components/sessionlocation.md
Normal file
11
docs/models/components/sessionlocation.md
Normal file
@@ -0,0 +1,11 @@
|
||||
# SessionLocation
|
||||
|
||||
The location of the client
|
||||
|
||||
|
||||
## Values
|
||||
|
||||
| Name | Value |
|
||||
| ----- | ----- |
|
||||
| `LAN` | lan |
|
||||
| `WAN` | wan |
|
||||
19
docs/models/components/setting.md
Normal file
19
docs/models/components/setting.md
Normal file
@@ -0,0 +1,19 @@
|
||||
# Setting
|
||||
|
||||
A configuration setting or preference
|
||||
|
||||
|
||||
## Fields
|
||||
|
||||
| Field | Type | Required | Description |
|
||||
| -------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------- |
|
||||
| `type` | [Optional[components.Type]](../../models/components/type.md) | :heavy_minus_sign: | The type of the value of this setting |
|
||||
| `default` | [Optional[components.Default]](../../models/components/default.md) | :heavy_minus_sign: | The default value of this setting |
|
||||
| `advanced` | *Optional[bool]* | :heavy_minus_sign: | Whether the setting is considered advanced and normally hidden from the user |
|
||||
| `enum_values` | *Optional[str]* | :heavy_minus_sign: | The possible values for this setting if restricted. The list is `\|` separated with `value:name` entries. |
|
||||
| `group` | *Optional[str]* | :heavy_minus_sign: | The group name of this setting to aid in display of a hierarchy |
|
||||
| `hidden` | *Optional[bool]* | :heavy_minus_sign: | Whether the setting is hidden or not |
|
||||
| `id` | *Optional[str]* | :heavy_minus_sign: | The query parameter name for this setting |
|
||||
| `label` | *Optional[str]* | :heavy_minus_sign: | A user-friendly name for the setting |
|
||||
| `summary` | *Optional[str]* | :heavy_minus_sign: | A description of the setting |
|
||||
| `value` | [Optional[components.Value]](../../models/components/value.md) | :heavy_minus_sign: | The current value of this setting |
|
||||
10
docs/models/components/slashgetresponses200.md
Normal file
10
docs/models/components/slashgetresponses200.md
Normal file
@@ -0,0 +1,10 @@
|
||||
# SlashGetResponses200
|
||||
|
||||
OK
|
||||
|
||||
|
||||
## Fields
|
||||
|
||||
| Field | Type | Required | Description |
|
||||
| ------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------ |
|
||||
| `media_container` | [Optional[components.SlashGetResponses200MediaContainer]](../../models/components/slashgetresponses200mediacontainer.md) | :heavy_minus_sign: | N/A |
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user