mirror of
https://github.com/LukeHagar/plexpy.git
synced 2025-12-06 04:20:52 +00:00
* `plex_api.library_playlists.add_playlist_items()`: `response.media_container.metadata.[]` **Changed** **Breaking** ⚠️ * `plex_api.hubs.get_metadata_hubs()`: * `request.only_transient` **Changed** * `response.media_container.hub.[].metadata.[]` **Changed** **Breaking** ⚠️ * `plex_api.library_collections.move_collection_item()`: `response.media_container.metadata.[]` **Changed** **Breaking** ⚠️ * `plex_api.library_collections.delete_collection_item()`: `response.media_container.metadata.[]` **Changed** **Breaking** ⚠️ * `plex_api.library_collections.add_collection_items()`: `response.media_container.metadata.[]` **Changed** **Breaking** ⚠️ * `plex_api.content.get_sonically_similar()`: `response.media_container.metadata.[]` **Changed** **Breaking** ⚠️ * `plex_api.butler.stop_task()`: `request` **Changed** **Breaking** ⚠️ * `plex_api.butler.start_task()`: `request` **Changed** **Breaking** ⚠️ * `plex_api.content.get_sonic_path()`: `response.media_container.metadata.[]` **Changed** **Breaking** ⚠️ * `plex_api.download_queue.get_item_decision()`: `response.media_container.metadata.[]` **Changed** **Breaking** ⚠️ * `plex_api.hubs.get_all_hubs()`: * `request.only_transient` **Changed** * `response.media_container.hub.[].metadata.[]` **Changed** **Breaking** ⚠️ * `plex_api.hubs.get_continue_watching()`: `response.media_container.hub.[].metadata.[]` **Changed** **Breaking** ⚠️ * `plex_api.hubs.get_promoted_hubs()`: `response.media_container.hub.[].metadata.[]` **Changed** **Breaking** ⚠️ * `plex_api.content.get_all_leaves()`: `response.media_container.metadata.[]` **Changed** **Breaking** ⚠️ * `plex_api.hubs.get_postplay_hubs()`: * `request.only_transient` **Changed** * `response.media_container.hub.[].metadata.[]` **Changed** **Breaking** ⚠️ * `plex_api.hubs.get_related_hubs()`: * `request.only_transient` **Changed** * `response.media_container.hub.[].metadata.[]` **Changed** **Breaking** ⚠️ * `plex_api.hubs.get_section_hubs()`: * `request.only_transient` **Changed** * `response.media_container.hub.[].metadata.[]` **Changed** **Breaking** ⚠️ * `plex_api.content.list_content()`: * `request` **Changed** * `response.media_container.metadata.[]` **Changed** **Breaking** ⚠️ * `plex_api.content.get_albums()`: `response.media_container.metadata.[]` **Changed** **Breaking** ⚠️ * `plex_api.search.search_hubs()`: `response.media_container.hub.[].metadata.[]` **Changed** **Breaking** ⚠️ * `plex_api.search.voice_search_hubs()`: * `request.type` **Changed** **Breaking** ⚠️ * `response.media_container.hub.[].metadata.[]` **Changed** **Breaking** ⚠️ * `plex_api.library.get_library_items()`: * `request.media_query` **Changed** * `response.media_container.metadata.[]` **Changed** **Breaking** ⚠️ * `plex_api.library.ingest_transient_item()`: * `request` **Changed** * `response.media_container.metadata.[]` **Changed** **Breaking** ⚠️ * `plex_api.library.get_library_matches()`: * `request` **Changed** **Breaking** ⚠️ * `response.media_container.metadata.[]` **Changed** **Breaking** ⚠️ * `plex_api.content.get_metadata_item()`: * `request` **Changed** * `response.media_container.metadata.[]` **Changed** **Breaking** ⚠️ * `plex_api.library.get_sections()`: `response.media_container.directory.[]` **Changed** **Breaking** ⚠️ * `plex_api.library.add_section()`: * `request` **Changed** * `response.media_container.directory.[]` **Changed** **Breaking** ⚠️ * `plex_api.library.get_tags()`: * `request.type` **Changed** **Breaking** ⚠️ * `plex_api.content.get_collection_items()`: `response.media_container.metadata.[]` **Changed** **Breaking** ⚠️ * `plex_api.library.get_all_item_leaves()`: `response.media_container.metadata.[]` **Changed** **Breaking** ⚠️ * `plex_api.status.list_sessions()`: `response.media_container.metadata.[]` **Changed** **Breaking** ⚠️ * `plex_api.play_queue.move_play_queue_item()`: `response.media_container.metadata.[]` **Changed** **Breaking** ⚠️ * `plex_api.library.get_extras()`: `response.media_container.metadata.[]` **Changed** **Breaking** ⚠️ * `plex_api.play_queue.delete_play_queue_item()`: `response.media_container.metadata.[]` **Changed** **Breaking** ⚠️ * `plex_api.play_queue.unshuffle()`: `response.media_container.metadata.[]` **Changed** **Breaking** ⚠️ * `plex_api.library.list_matches()`: * `request.manual` **Changed** * `response.media_container.metadata.[]` **Changed** **Breaking** ⚠️ * `plex_api.library.list_sonically_similar()`: `response.media_container.metadata.[]` **Changed** **Breaking** ⚠️ * `plex_api.play_queue.reset_play_queue()`: `response.media_container.metadata.[]` **Changed** **Breaking** ⚠️ * `plex_api.library.get_related_items()`: `response.media_container.hub.[].metadata.[]` **Changed** **Breaking** ⚠️ * `plex_api.library.list_similar()`: `response.media_container.metadata.[]` **Changed** **Breaking** ⚠️ * `plex_api.play_queue.clear_play_queue()`: `response.media_container.metadata.[]` **Changed** **Breaking** ⚠️ * `plex_api.library.get_item_tree()`: `response.media_container.metadata_item.[]` **Changed** **Breaking** ⚠️ * `plex_api.play_queue.add_to_play_queue()`: * `request.next` **Changed** * `response.media_container.metadata.[]` **Changed** **Breaking** ⚠️ * `plex_api.play_queue.get_play_queue()`: * `request` **Changed** * `response.media_container.metadata.[]` **Changed** **Breaking** ⚠️ * `plex_api.library_playlists.move_playlist_item()`: `response.media_container.metadata.[]` **Changed** **Breaking** ⚠️ * `plex_api.library.get_person()`: `response.media_container.directory.[]` **Changed** **Breaking** ⚠️ * `plex_api.library.list_person_media()`: `response.media_container.metadata.[]` **Changed** **Breaking** ⚠️ * `plex_api.library_playlists.get_playlist_generator_items()`: `response.media_container.metadata` **Changed** **Breaking** ⚠️ * `plex_api.library.get_library_details()`: * `request.include_details` **Changed** * `response.media_container.directory.[]` **Changed** **Breaking** ⚠️ * `plex_api.library_playlists.modify_playlist_generator()`: * `request.item` **Changed** * `response.media_container.metadata.[]` **Changed** **Breaking** ⚠️ * `plex_api.library.autocomplete()`: * `request.media_query` **Changed** * `response.media_container.metadata.[]` **Changed** **Breaking** ⚠️ * `plex_api.library.get_collections()`: * `request.media_query` **Changed** * `response.media_container.metadata.[]` **Changed** **Breaking** ⚠️ * `plex_api.library.get_common()`: * `request.media_query` **Changed** * `response.media_container.metadata.[]` **Changed** **Breaking** ⚠️ * `plex_api.library_playlists.delete_playlist_item()`: `response.media_container.metadata.[]` **Changed** **Breaking** ⚠️ * `plex_api.library_playlists.clear_playlist_items()`: `response.media_container.metadata.[]` **Changed** **Breaking** ⚠️ * `plex_api.play_queue.shuffle()`: `response.media_container.metadata.[]` **Changed** **Breaking** ⚠️ * `plex_api.library_playlists.create_playlist()`: `response.media_container.metadata.[]` **Changed** **Breaking** ⚠️ * `plex_api.playlist.get_playlist_items()`: `response.media_container.metadata.[]` **Changed** **Breaking** ⚠️ * `plex_api.playlist.get_playlist()`: `response.media_container.metadata.[]` **Changed** **Breaking** ⚠️ * `plex_api.collections.create_collection()`: * `request.type` **Changed** **Breaking** ⚠️ * `response.media_container.metadata.[]` **Changed** **Breaking** ⚠️ * `plex_api.dv_rs.tune_channel()`: `response.media_container.metadata.[]` **Changed** **Breaking** ⚠️ * `plex_api.live_tv.get_sessions()`: `response.media_container.metadata.[]` **Changed** **Breaking** ⚠️ * `plex_api.live_tv.get_live_tv_session()`: `response.media_container.metadata.[]` **Changed** **Breaking** ⚠️ * `plex_api.playlist.list_playlists()`: `response.media_container.metadata.[]` **Changed** **Breaking** ⚠️ * `plex_api.subscriptions.get_all_subscriptions()`: * `request` **Changed** * `response.media_container.media_subscription.[].media_grab_operation.[].metadata` **Changed** **Breaking** ⚠️ * `plex_api.subscriptions.create_subscription()`: `response.media_container.media_subscription.[].media_grab_operation.[].metadata` **Changed** **Breaking** ⚠️ * `plex_api.subscriptions.get_scheduled_recordings()`: `response.media_container.media_grab_operation.[].metadata` **Changed** **Breaking** ⚠️ * `plex_api.subscriptions.get_template()`: `response.media_container.subscription_template.[].media_subscription.[].media_grab_operation.[].metadata` **Changed** **Breaking** ⚠️ * `plex_api.subscriptions.get_subscription()`: * `request` **Changed** * `response.media_container.media_subscription.[].media_grab_operation.[].metadata` **Changed** **Breaking** ⚠️ * `plex_api.subscriptions.edit_subscription_preferences()`: `response.media_container.media_subscription.[].media_grab_operation.[].metadata` **Changed** **Breaking** ⚠️ * `plex_api.subscriptions.reorder_subscription()`: `response.media_container.media_subscription.[].media_grab_operation.[].metadata` **Changed** **Breaking** ⚠️ * `plex_api.transcoder.make_decision()`: * `request` **Changed** * `response.media_container.metadata.[]` **Changed** **Breaking** ⚠️ * `plex_api.library.refresh_items_metadata()`: * `request.mark_updated` **Changed** * `plex_api.authentication.post-users-sign-in-data()`: **Added** * `plex_api.transcoder.start_transcode_session()`: `request` **Changed** * `plex_api.devices.modify_device()`: * `request.enabled` **Changed** * `plex_api.library.get_media_part()`: * `request.download` **Changed** * `plex_api.library.detect_intros()`: * `request.force` **Changed** * `plex_api.library.refresh_section()`: * `request.force` **Changed** * `plex_api.library_playlists.upload_playlist()`: * `request.force` **Changed** * `plex_api.library.delete_media_item()`: * `request.proxy` **Changed** * `plex_api.authentication.get_token_details()`: **Added** * `plex_api.library.get_first_characters()`: * `request.media_query` **Changed** * `plex_api.library.update_items()`: * `request.field.locked` **Changed** * `plex_api.library.delete_library_section()`: * `request.async` **Changed** * `plex_api.library.set_stream_selection()`: * `request.all_parts` **Changed** * `plex_api.play_queue.create_play_queue()`: `request` **Changed** * `plex_api.library.get_augmentation_status()`: * `request.wait` **Changed** * `plex_api.library.detect_voice_activity()`: `request` **Changed** * `plex_api.transcoder.transcode_image()`: `request` **Changed** * `plex_api.transcoder.transcode_subtitles()`: `request` **Changed** * `plex_api.library.add_subtitles()`: `request` **Changed** * `plex_api.library.get_stream()`: * `request.auto_adjust_subtitle` **Changed** * `plex_api.library.start_bif_generation()`: * `request.force` **Changed** * `plex_api.library.detect_credits()`: `request` **Changed** * `plex_api.ultra_blur.get_image()`: * `request.noise` **Changed** * `plex_api.library.generate_thumbs()`: * `request.force` **Changed** * `plex_api.updater.apply_updates()`: `request` **Changed** * `plex_api.updater.check_updates()`: * `request.download` **Changed** * `plex_api.library.delete_metadata_item()`: * `request.proxy` **Changed** * `plex_api.library.optimize_database()`: * `request.async` **Changed** * `plex_api.hubs.update_hub_visibility()`: `request` **Changed** * `plex_api.hubs.create_custom_hub()`: `request` **Changed** * `plex_api.library.get_section_image()`: * `request.media_query` **Changed** * `plex_api.download_queue.add_download_queue_items()`: `request` **Changed** * `plex_api.timeline.report()`: `request` **Changed** * `plex_api.general.get_source_connection_information()`: * `request.refresh` **Changed** * `plex_api.plex.get-server-resources()`: **Added** * `plex_api.users.get-users()`: **Added**
550 lines
26 KiB
Markdown
550 lines
26 KiB
Markdown
# Subscriptions
|
|
(*subscriptions*)
|
|
|
|
## Overview
|
|
|
|
Subscriptions determine which media will be recorded and the criteria for selecting an airing when multiple are available
|
|
|
|
|
|
### Available Operations
|
|
|
|
* [get_all_subscriptions](#get_all_subscriptions) - Get all subscriptions
|
|
* [create_subscription](#create_subscription) - Create a subscription
|
|
* [process_subscriptions](#process_subscriptions) - Process all subscriptions
|
|
* [get_scheduled_recordings](#get_scheduled_recordings) - Get all scheduled recordings
|
|
* [get_template](#get_template) - Get the subscription template
|
|
* [cancel_grab](#cancel_grab) - Cancel an existing grab
|
|
* [delete_subscription](#delete_subscription) - Delete a subscription
|
|
* [get_subscription](#get_subscription) - Get a single subscription
|
|
* [edit_subscription_preferences](#edit_subscription_preferences) - Edit a subscription
|
|
* [reorder_subscription](#reorder_subscription) - Re-order a subscription
|
|
|
|
## get_all_subscriptions
|
|
|
|
Get all subscriptions and potentially the grabs too
|
|
|
|
### Example Usage
|
|
|
|
<!-- UsageSnippet language="python" operationID="getAllSubscriptions" method="get" path="/media/subscriptions" -->
|
|
```python
|
|
from plex_api_client import PlexAPI
|
|
from plex_api_client.models import components, operations
|
|
|
|
|
|
with PlexAPI(
|
|
accepts=components.Accepts.APPLICATION_XML,
|
|
client_identifier="abc123",
|
|
product="Plex for Roku",
|
|
version="2.4.1",
|
|
platform="Roku",
|
|
platform_version="4.3 build 1057",
|
|
device="Roku 3",
|
|
model="4200X",
|
|
device_vendor="Roku",
|
|
device_name="Living Room TV",
|
|
marketplace="googlePlay",
|
|
token="<YOUR_API_KEY_HERE>",
|
|
) as plex_api:
|
|
|
|
res = plex_api.subscriptions.get_all_subscriptions(request=operations.GetAllSubscriptionsRequest(
|
|
include_grabs=components.BoolInt.TRUE,
|
|
include_storage=components.BoolInt.TRUE,
|
|
))
|
|
|
|
assert res.media_container_with_subscription is not None
|
|
|
|
# Handle response
|
|
print(res.media_container_with_subscription)
|
|
|
|
```
|
|
|
|
### Parameters
|
|
|
|
| Parameter | Type | Required | Description |
|
|
| ---------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------- |
|
|
| `request` | [operations.GetAllSubscriptionsRequest](../../models/operations/getallsubscriptionsrequest.md) | :heavy_check_mark: | The request object to use for the request. |
|
|
| `retries` | [Optional[utils.RetryConfig]](../../models/utils/retryconfig.md) | :heavy_minus_sign: | Configuration to override the default retry behavior of the client. |
|
|
|
|
### Response
|
|
|
|
**[operations.GetAllSubscriptionsResponse](../../models/operations/getallsubscriptionsresponse.md)**
|
|
|
|
### Errors
|
|
|
|
| Error Type | Status Code | Content Type |
|
|
| --------------- | --------------- | --------------- |
|
|
| errors.SDKError | 4XX, 5XX | \*/\* |
|
|
|
|
## create_subscription
|
|
|
|
Create a subscription. The query parameters should be mostly derived from the [template](#tag/Subscriptions/operation/mediaSubscriptionsGetTemplate)
|
|
|
|
### Example Usage
|
|
|
|
<!-- UsageSnippet language="python" operationID="createSubscription" method="post" path="/media/subscriptions" -->
|
|
```python
|
|
from plex_api_client import PlexAPI
|
|
from plex_api_client.models import components
|
|
|
|
|
|
with PlexAPI(
|
|
accepts=components.Accepts.APPLICATION_XML,
|
|
client_identifier="abc123",
|
|
product="Plex for Roku",
|
|
version="2.4.1",
|
|
platform="Roku",
|
|
platform_version="4.3 build 1057",
|
|
device="Roku 3",
|
|
model="4200X",
|
|
device_vendor="Roku",
|
|
device_name="Living Room TV",
|
|
marketplace="googlePlay",
|
|
token="<YOUR_API_KEY_HERE>",
|
|
) as plex_api:
|
|
|
|
res = plex_api.subscriptions.create_subscription(request={
|
|
"target_library_section_id": 1,
|
|
"target_section_location_id": 3,
|
|
"type": 2,
|
|
"hints": {},
|
|
"prefs": {},
|
|
"params": {},
|
|
})
|
|
|
|
assert res.object is not None
|
|
|
|
# Handle response
|
|
print(res.object)
|
|
|
|
```
|
|
|
|
### Parameters
|
|
|
|
| Parameter | Type | Required | Description |
|
|
| -------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------- |
|
|
| `request` | [operations.CreateSubscriptionRequest](../../models/operations/createsubscriptionrequest.md) | :heavy_check_mark: | The request object to use for the request. |
|
|
| `retries` | [Optional[utils.RetryConfig]](../../models/utils/retryconfig.md) | :heavy_minus_sign: | Configuration to override the default retry behavior of the client. |
|
|
|
|
### Response
|
|
|
|
**[operations.CreateSubscriptionResponse](../../models/operations/createsubscriptionresponse.md)**
|
|
|
|
### Errors
|
|
|
|
| Error Type | Status Code | Content Type |
|
|
| --------------- | --------------- | --------------- |
|
|
| errors.SDKError | 4XX, 5XX | \*/\* |
|
|
|
|
## process_subscriptions
|
|
|
|
Process all subscriptions asynchronously
|
|
|
|
### Example Usage
|
|
|
|
<!-- UsageSnippet language="python" operationID="processSubscriptions" method="post" path="/media/subscriptions/process" -->
|
|
```python
|
|
from plex_api_client import PlexAPI
|
|
|
|
|
|
with PlexAPI(
|
|
token="<YOUR_API_KEY_HERE>",
|
|
) as plex_api:
|
|
|
|
res = plex_api.subscriptions.process_subscriptions()
|
|
|
|
assert res is not None
|
|
|
|
# Handle response
|
|
print(res)
|
|
|
|
```
|
|
|
|
### Parameters
|
|
|
|
| Parameter | Type | Required | Description |
|
|
| ------------------------------------------------------------------- | ------------------------------------------------------------------- | ------------------------------------------------------------------- | ------------------------------------------------------------------- |
|
|
| `retries` | [Optional[utils.RetryConfig]](../../models/utils/retryconfig.md) | :heavy_minus_sign: | Configuration to override the default retry behavior of the client. |
|
|
|
|
### Response
|
|
|
|
**[operations.ProcessSubscriptionsResponse](../../models/operations/processsubscriptionsresponse.md)**
|
|
|
|
### Errors
|
|
|
|
| Error Type | Status Code | Content Type |
|
|
| --------------- | --------------- | --------------- |
|
|
| errors.SDKError | 4XX, 5XX | \*/\* |
|
|
|
|
## get_scheduled_recordings
|
|
|
|
Get all scheduled recordings across all subscriptions
|
|
|
|
### Example Usage
|
|
|
|
<!-- UsageSnippet language="python" operationID="getScheduledRecordings" method="get" path="/media/subscriptions/scheduled" -->
|
|
```python
|
|
from plex_api_client import PlexAPI
|
|
|
|
|
|
with PlexAPI(
|
|
token="<YOUR_API_KEY_HERE>",
|
|
) as plex_api:
|
|
|
|
res = plex_api.subscriptions.get_scheduled_recordings()
|
|
|
|
assert res.object is not None
|
|
|
|
# Handle response
|
|
print(res.object)
|
|
|
|
```
|
|
|
|
### Parameters
|
|
|
|
| Parameter | Type | Required | Description |
|
|
| ------------------------------------------------------------------- | ------------------------------------------------------------------- | ------------------------------------------------------------------- | ------------------------------------------------------------------- |
|
|
| `retries` | [Optional[utils.RetryConfig]](../../models/utils/retryconfig.md) | :heavy_minus_sign: | Configuration to override the default retry behavior of the client. |
|
|
|
|
### Response
|
|
|
|
**[operations.GetScheduledRecordingsResponse](../../models/operations/getscheduledrecordingsresponse.md)**
|
|
|
|
### Errors
|
|
|
|
| Error Type | Status Code | Content Type |
|
|
| --------------- | --------------- | --------------- |
|
|
| errors.SDKError | 4XX, 5XX | \*/\* |
|
|
|
|
## get_template
|
|
|
|
Get the templates for a piece of media which could include fetching one airing, season, the whole show, etc.
|
|
|
|
### Example Usage
|
|
|
|
<!-- UsageSnippet language="python" operationID="getTemplate" method="get" path="/media/subscriptions/template" -->
|
|
```python
|
|
from plex_api_client import PlexAPI
|
|
from plex_api_client.models import components
|
|
|
|
|
|
with PlexAPI(
|
|
accepts=components.Accepts.APPLICATION_XML,
|
|
client_identifier="abc123",
|
|
product="Plex for Roku",
|
|
version="2.4.1",
|
|
platform="Roku",
|
|
platform_version="4.3 build 1057",
|
|
device="Roku 3",
|
|
model="4200X",
|
|
device_vendor="Roku",
|
|
device_name="Living Room TV",
|
|
marketplace="googlePlay",
|
|
token="<YOUR_API_KEY_HERE>",
|
|
) as plex_api:
|
|
|
|
res = plex_api.subscriptions.get_template(request={
|
|
"guid": "plex://episode/5fc70265c40548002d539d23",
|
|
})
|
|
|
|
assert res.object is not None
|
|
|
|
# Handle response
|
|
print(res.object)
|
|
|
|
```
|
|
|
|
### Parameters
|
|
|
|
| Parameter | Type | Required | Description |
|
|
| ------------------------------------------------------------------------------ | ------------------------------------------------------------------------------ | ------------------------------------------------------------------------------ | ------------------------------------------------------------------------------ |
|
|
| `request` | [operations.GetTemplateRequest](../../models/operations/gettemplaterequest.md) | :heavy_check_mark: | The request object to use for the request. |
|
|
| `retries` | [Optional[utils.RetryConfig]](../../models/utils/retryconfig.md) | :heavy_minus_sign: | Configuration to override the default retry behavior of the client. |
|
|
|
|
### Response
|
|
|
|
**[operations.GetTemplateResponse](../../models/operations/gettemplateresponse.md)**
|
|
|
|
### Errors
|
|
|
|
| Error Type | Status Code | Content Type |
|
|
| --------------- | --------------- | --------------- |
|
|
| errors.SDKError | 4XX, 5XX | \*/\* |
|
|
|
|
## cancel_grab
|
|
|
|
Cancels an existing media grab (recording). It can be used to resolve a conflict which exists for a rolling subscription.
|
|
Note: This cancellation does not persist across a server restart, but neither does a rolling subscription itself.
|
|
|
|
### Example Usage
|
|
|
|
<!-- UsageSnippet language="python" operationID="cancelGrab" method="delete" path="/media/grabbers/operations/{operationId}" -->
|
|
```python
|
|
from plex_api_client import PlexAPI
|
|
from plex_api_client.models import components
|
|
|
|
|
|
with PlexAPI(
|
|
accepts=components.Accepts.APPLICATION_XML,
|
|
client_identifier="abc123",
|
|
product="Plex for Roku",
|
|
version="2.4.1",
|
|
platform="Roku",
|
|
platform_version="4.3 build 1057",
|
|
device="Roku 3",
|
|
model="4200X",
|
|
device_vendor="Roku",
|
|
device_name="Living Room TV",
|
|
marketplace="googlePlay",
|
|
token="<YOUR_API_KEY_HERE>",
|
|
) as plex_api:
|
|
|
|
res = plex_api.subscriptions.cancel_grab(request={
|
|
"operation_id": "<id>",
|
|
})
|
|
|
|
assert res is not None
|
|
|
|
# Handle response
|
|
print(res)
|
|
|
|
```
|
|
|
|
### Parameters
|
|
|
|
| Parameter | Type | Required | Description |
|
|
| ---------------------------------------------------------------------------- | ---------------------------------------------------------------------------- | ---------------------------------------------------------------------------- | ---------------------------------------------------------------------------- |
|
|
| `request` | [operations.CancelGrabRequest](../../models/operations/cancelgrabrequest.md) | :heavy_check_mark: | The request object to use for the request. |
|
|
| `retries` | [Optional[utils.RetryConfig]](../../models/utils/retryconfig.md) | :heavy_minus_sign: | Configuration to override the default retry behavior of the client. |
|
|
|
|
### Response
|
|
|
|
**[operations.CancelGrabResponse](../../models/operations/cancelgrabresponse.md)**
|
|
|
|
### Errors
|
|
|
|
| Error Type | Status Code | Content Type |
|
|
| --------------- | --------------- | --------------- |
|
|
| errors.SDKError | 4XX, 5XX | \*/\* |
|
|
|
|
## delete_subscription
|
|
|
|
Delete a subscription, cancelling all of its grabs as well
|
|
|
|
### Example Usage
|
|
|
|
<!-- UsageSnippet language="python" operationID="deleteSubscription" method="delete" path="/media/subscriptions/{subscriptionId}" -->
|
|
```python
|
|
from plex_api_client import PlexAPI
|
|
from plex_api_client.models import components
|
|
|
|
|
|
with PlexAPI(
|
|
accepts=components.Accepts.APPLICATION_XML,
|
|
client_identifier="abc123",
|
|
product="Plex for Roku",
|
|
version="2.4.1",
|
|
platform="Roku",
|
|
platform_version="4.3 build 1057",
|
|
device="Roku 3",
|
|
model="4200X",
|
|
device_vendor="Roku",
|
|
device_name="Living Room TV",
|
|
marketplace="googlePlay",
|
|
token="<YOUR_API_KEY_HERE>",
|
|
) as plex_api:
|
|
|
|
res = plex_api.subscriptions.delete_subscription(request={
|
|
"subscription_id": 974618,
|
|
})
|
|
|
|
assert res is not None
|
|
|
|
# Handle response
|
|
print(res)
|
|
|
|
```
|
|
|
|
### Parameters
|
|
|
|
| Parameter | Type | Required | Description |
|
|
| -------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------- |
|
|
| `request` | [operations.DeleteSubscriptionRequest](../../models/operations/deletesubscriptionrequest.md) | :heavy_check_mark: | The request object to use for the request. |
|
|
| `retries` | [Optional[utils.RetryConfig]](../../models/utils/retryconfig.md) | :heavy_minus_sign: | Configuration to override the default retry behavior of the client. |
|
|
|
|
### Response
|
|
|
|
**[operations.DeleteSubscriptionResponse](../../models/operations/deletesubscriptionresponse.md)**
|
|
|
|
### Errors
|
|
|
|
| Error Type | Status Code | Content Type |
|
|
| --------------- | --------------- | --------------- |
|
|
| errors.SDKError | 4XX, 5XX | \*/\* |
|
|
|
|
## get_subscription
|
|
|
|
Get a single subscription and potentially the grabs too
|
|
|
|
### Example Usage
|
|
|
|
<!-- UsageSnippet language="python" operationID="getSubscription" method="get" path="/media/subscriptions/{subscriptionId}" -->
|
|
```python
|
|
from plex_api_client import PlexAPI
|
|
from plex_api_client.models import components, operations
|
|
|
|
|
|
with PlexAPI(
|
|
accepts=components.Accepts.APPLICATION_XML,
|
|
client_identifier="abc123",
|
|
product="Plex for Roku",
|
|
version="2.4.1",
|
|
platform="Roku",
|
|
platform_version="4.3 build 1057",
|
|
device="Roku 3",
|
|
model="4200X",
|
|
device_vendor="Roku",
|
|
device_name="Living Room TV",
|
|
marketplace="googlePlay",
|
|
token="<YOUR_API_KEY_HERE>",
|
|
) as plex_api:
|
|
|
|
res = plex_api.subscriptions.get_subscription(request=operations.GetSubscriptionRequest(
|
|
subscription_id=186713,
|
|
include_grabs=components.BoolInt.TRUE,
|
|
include_storage=components.BoolInt.TRUE,
|
|
))
|
|
|
|
assert res.media_container_with_subscription is not None
|
|
|
|
# Handle response
|
|
print(res.media_container_with_subscription)
|
|
|
|
```
|
|
|
|
### Parameters
|
|
|
|
| Parameter | Type | Required | Description |
|
|
| -------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------- |
|
|
| `request` | [operations.GetSubscriptionRequest](../../models/operations/getsubscriptionrequest.md) | :heavy_check_mark: | The request object to use for the request. |
|
|
| `retries` | [Optional[utils.RetryConfig]](../../models/utils/retryconfig.md) | :heavy_minus_sign: | Configuration to override the default retry behavior of the client. |
|
|
|
|
### Response
|
|
|
|
**[operations.GetSubscriptionResponse](../../models/operations/getsubscriptionresponse.md)**
|
|
|
|
### Errors
|
|
|
|
| Error Type | Status Code | Content Type |
|
|
| --------------- | --------------- | --------------- |
|
|
| errors.SDKError | 4XX, 5XX | \*/\* |
|
|
|
|
## edit_subscription_preferences
|
|
|
|
Edit a subscription's preferences
|
|
|
|
### Example Usage
|
|
|
|
<!-- UsageSnippet language="python" operationID="editSubscriptionPreferences" method="put" path="/media/subscriptions/{subscriptionId}" -->
|
|
```python
|
|
from plex_api_client import PlexAPI
|
|
from plex_api_client.models import components
|
|
|
|
|
|
with PlexAPI(
|
|
accepts=components.Accepts.APPLICATION_XML,
|
|
client_identifier="abc123",
|
|
product="Plex for Roku",
|
|
version="2.4.1",
|
|
platform="Roku",
|
|
platform_version="4.3 build 1057",
|
|
device="Roku 3",
|
|
model="4200X",
|
|
device_vendor="Roku",
|
|
device_name="Living Room TV",
|
|
marketplace="googlePlay",
|
|
token="<YOUR_API_KEY_HERE>",
|
|
) as plex_api:
|
|
|
|
res = plex_api.subscriptions.edit_subscription_preferences(request={
|
|
"subscription_id": 673918,
|
|
"prefs": {},
|
|
})
|
|
|
|
assert res.media_container_with_subscription is not None
|
|
|
|
# Handle response
|
|
print(res.media_container_with_subscription)
|
|
|
|
```
|
|
|
|
### Parameters
|
|
|
|
| Parameter | Type | Required | Description |
|
|
| -------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------- |
|
|
| `request` | [operations.EditSubscriptionPreferencesRequest](../../models/operations/editsubscriptionpreferencesrequest.md) | :heavy_check_mark: | The request object to use for the request. |
|
|
| `retries` | [Optional[utils.RetryConfig]](../../models/utils/retryconfig.md) | :heavy_minus_sign: | Configuration to override the default retry behavior of the client. |
|
|
|
|
### Response
|
|
|
|
**[operations.EditSubscriptionPreferencesResponse](../../models/operations/editsubscriptionpreferencesresponse.md)**
|
|
|
|
### Errors
|
|
|
|
| Error Type | Status Code | Content Type |
|
|
| --------------- | --------------- | --------------- |
|
|
| errors.SDKError | 4XX, 5XX | \*/\* |
|
|
|
|
## reorder_subscription
|
|
|
|
Re-order a subscription to change its priority
|
|
|
|
### Example Usage
|
|
|
|
<!-- UsageSnippet language="python" operationID="reorderSubscription" method="put" path="/media/subscriptions/{subscriptionId}/move" -->
|
|
```python
|
|
from plex_api_client import PlexAPI
|
|
from plex_api_client.models import components
|
|
|
|
|
|
with PlexAPI(
|
|
accepts=components.Accepts.APPLICATION_XML,
|
|
client_identifier="abc123",
|
|
product="Plex for Roku",
|
|
version="2.4.1",
|
|
platform="Roku",
|
|
platform_version="4.3 build 1057",
|
|
device="Roku 3",
|
|
model="4200X",
|
|
device_vendor="Roku",
|
|
device_name="Living Room TV",
|
|
marketplace="googlePlay",
|
|
token="<YOUR_API_KEY_HERE>",
|
|
) as plex_api:
|
|
|
|
res = plex_api.subscriptions.reorder_subscription(request={
|
|
"subscription_id": 440634,
|
|
})
|
|
|
|
assert res.media_container_with_subscription is not None
|
|
|
|
# Handle response
|
|
print(res.media_container_with_subscription)
|
|
|
|
```
|
|
|
|
### Parameters
|
|
|
|
| Parameter | Type | Required | Description |
|
|
| ---------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------- |
|
|
| `request` | [operations.ReorderSubscriptionRequest](../../models/operations/reordersubscriptionrequest.md) | :heavy_check_mark: | The request object to use for the request. |
|
|
| `retries` | [Optional[utils.RetryConfig]](../../models/utils/retryconfig.md) | :heavy_minus_sign: | Configuration to override the default retry behavior of the client. |
|
|
|
|
### Response
|
|
|
|
**[operations.ReorderSubscriptionResponse](../../models/operations/reordersubscriptionresponse.md)**
|
|
|
|
### Errors
|
|
|
|
| Error Type | Status Code | Content Type |
|
|
| --------------- | --------------- | --------------- |
|
|
| errors.SDKError | 4XX, 5XX | \*/\* | |