ci: regenerated with OpenAPI Doc 0.0.3, Speakeasy CLI 1.166.1

This commit is contained in:
speakeasybot
2024-02-05 14:23:56 +00:00
parent 966fd34307
commit 209e35fcc3
85 changed files with 1798 additions and 358 deletions

View File

@@ -3,10 +3,10 @@
## Fields
| Field | Type | Required | Description |
| --------------------------------------- | --------------------------------------- | --------------------------------------- | --------------------------------------- |
| `Title` | *string* | :heavy_check_mark: | name of the playlist |
| `Type` | [Type](../../Models/Requests/Type.md) | :heavy_check_mark: | type of playlist to create |
| `Smart` | [Smart](../../Models/Requests/Smart.md) | :heavy_check_mark: | whether the playlist is smart or not |
| `Uri` | *string* | :heavy_check_mark: | the content URI for the playlist |
| `PlayQueueID` | *double* | :heavy_minus_sign: | the play queue to copy to a playlist |
| Field | Type | Required | Description |
| --------------------------------------------------------- | --------------------------------------------------------- | --------------------------------------------------------- | --------------------------------------------------------- |
| `Title` | *string* | :heavy_check_mark: | name of the playlist |
| `Type` | [QueryParamType](../../Models/Requests/QueryParamType.md) | :heavy_check_mark: | type of playlist to create |
| `Smart` | [Smart](../../Models/Requests/Smart.md) | :heavy_check_mark: | whether the playlist is smart or not |
| `Uri` | *string* | :heavy_check_mark: | the content URI for the playlist |
| `PlayQueueID` | *double* | :heavy_minus_sign: | the play queue to copy to a playlist |

View File

@@ -3,26 +3,26 @@
## Fields
| Field | Type | Required | Description | Example |
| --------------------------------------------------- | --------------------------------------------------- | --------------------------------------------------- | --------------------------------------------------- | --------------------------------------------------- |
| `AllowSync` | *bool* | :heavy_minus_sign: | N/A | true |
| `Art` | *string* | :heavy_minus_sign: | N/A | /:/resources/movie-fanart.jpg |
| `Composite` | *string* | :heavy_minus_sign: | N/A | /library/sections/1/composite/1705615584 |
| `Filters` | *bool* | :heavy_minus_sign: | N/A | true |
| `Refreshing` | *bool* | :heavy_minus_sign: | N/A | false |
| `Thumb` | *string* | :heavy_minus_sign: | N/A | /:/resources/movie.png |
| `Key` | *string* | :heavy_minus_sign: | N/A | 1 |
| `Type` | *string* | :heavy_minus_sign: | N/A | movie |
| `Title` | *string* | :heavy_minus_sign: | N/A | Movies |
| `Agent` | *string* | :heavy_minus_sign: | N/A | tv.plex.agents.movie |
| `Scanner` | *string* | :heavy_minus_sign: | N/A | Plex Movie |
| `Language` | *string* | :heavy_minus_sign: | N/A | en-US |
| `Uuid` | *string* | :heavy_minus_sign: | N/A | 322a231a-b7f7-49f5-920f-14c61199cd30 |
| `UpdatedAt` | *int* | :heavy_minus_sign: | N/A | 1705615634 |
| `CreatedAt` | *int* | :heavy_minus_sign: | N/A | 1654131312 |
| `ScannedAt` | *int* | :heavy_minus_sign: | N/A | 1705615584 |
| `Content` | *bool* | :heavy_minus_sign: | N/A | true |
| `Directory` | *bool* | :heavy_minus_sign: | N/A | true |
| `ContentChangedAt` | *int* | :heavy_minus_sign: | N/A | 3192854 |
| `Hidden` | *int* | :heavy_minus_sign: | N/A | 0 |
| `Location` | List<[Location](../../Models/Requests/Location.md)> | :heavy_minus_sign: | N/A | [{"id":1,"path":"/movies"}] |
| Field | Type | Required | Description | Example |
| --------------------------------------------------------------------------- | --------------------------------------------------------------------------- | --------------------------------------------------------------------------- | --------------------------------------------------------------------------- | --------------------------------------------------------------------------- |
| `AllowSync` | *bool* | :heavy_minus_sign: | N/A | true |
| `Art` | *string* | :heavy_minus_sign: | N/A | /:/resources/movie-fanart.jpg |
| `Composite` | *string* | :heavy_minus_sign: | N/A | /library/sections/1/composite/1705615584 |
| `Filters` | *bool* | :heavy_minus_sign: | N/A | true |
| `Refreshing` | *bool* | :heavy_minus_sign: | N/A | false |
| `Thumb` | *string* | :heavy_minus_sign: | N/A | /:/resources/movie.png |
| `Key` | *string* | :heavy_minus_sign: | N/A | 1 |
| `Type` | *string* | :heavy_minus_sign: | N/A | movie |
| `Title` | *string* | :heavy_minus_sign: | N/A | Movies |
| `Agent` | *string* | :heavy_minus_sign: | N/A | tv.plex.agents.movie |
| `Scanner` | *string* | :heavy_minus_sign: | N/A | Plex Movie |
| `Language` | *string* | :heavy_minus_sign: | N/A | en-US |
| `Uuid` | *string* | :heavy_minus_sign: | N/A | 322a231a-b7f7-49f5-920f-14c61199cd30 |
| `UpdatedAt` | *int* | :heavy_minus_sign: | N/A | 1705615634 |
| `CreatedAt` | *int* | :heavy_minus_sign: | N/A | 1654131312 |
| `ScannedAt` | *int* | :heavy_minus_sign: | N/A | 1705615584 |
| `Content` | *bool* | :heavy_minus_sign: | N/A | true |
| `Directory` | *bool* | :heavy_minus_sign: | N/A | true |
| `ContentChangedAt` | *int* | :heavy_minus_sign: | N/A | 3192854 |
| `Hidden` | *int* | :heavy_minus_sign: | N/A | 0 |
| `Location` | List<[GetLibrariesLocation](../../Models/Requests/GetLibrariesLocation.md)> | :heavy_minus_sign: | N/A | [{"id":1,"path":"/movies"}] |

View File

@@ -0,0 +1,9 @@
# GetLibrariesLocation
## Fields
| Field | Type | Required | Description | Example |
| ------------------ | ------------------ | ------------------ | ------------------ | ------------------ |
| `Id` | *int* | :heavy_minus_sign: | N/A | 1 |
| `Path` | *string* | :heavy_minus_sign: | N/A | /movies |

File diff suppressed because one or more lines are too long

View File

@@ -27,6 +27,13 @@
| `ChapterSource` | *string* | :heavy_minus_sign: | N/A | media |
| `PrimaryExtraKey` | *string* | :heavy_minus_sign: | N/A | /library/metadata/58684 |
| `RatingImage` | *string* | :heavy_minus_sign: | N/A | rottentomatoes://image.rating.ripe |
| `GrandparentRatingKey` | *string* | :heavy_minus_sign: | N/A | 66 |
| `GrandparentGuid` | *string* | :heavy_minus_sign: | N/A | plex://show/5d9c081b170e24001f2a7be4 |
| `GrandparentKey` | *string* | :heavy_minus_sign: | N/A | /library/metadata/66 |
| `GrandparentTitle` | *string* | :heavy_minus_sign: | N/A | Caprica |
| `GrandparentThumb` | *string* | :heavy_minus_sign: | N/A | /library/metadata/66/thumb/1705716261 |
| `GrandparentArt` | *string* | :heavy_minus_sign: | N/A | /library/metadata/66/art/1705716261 |
| `GrandparentTheme` | *string* | :heavy_minus_sign: | N/A | /library/metadata/66/theme/1705716261 |
| `Media` | List<[GetLibraryItemsMedia](../../Models/Requests/GetLibraryItemsMedia.md)> | :heavy_minus_sign: | N/A | [{"Part":[{"container":"mkv","duration":11558112,"file":"/movies/Avatar The Way of Water (2022)/Avatar.The.Way.of.Water.2022.2160p.WEB-DL.DDP5.1.Atmos.DV.HDR10.HEVC-CMRG.mkv","id":119542,"key":"/library/parts/119542/1680457526/file.mkv","size":36158371307,"videoProfile":"main 10"}],"aspectRatio":1.85,"audioChannels":6,"audioCodec":"eac3","bitrate":25025,"container":"mkv","duration":11558112,"height":2072,"id":119534,"videoCodec":"hevc","videoFrameRate":"24p","videoProfile":"main 10","videoResolution":"4k","width":3840}] |
| `Genre` | List<[GetLibraryItemsGenre](../../Models/Requests/GetLibraryItemsGenre.md)> | :heavy_minus_sign: | N/A | [{"tag":"Adventure"}] |
| `Country` | List<[GetLibraryItemsCountry](../../Models/Requests/GetLibraryItemsCountry.md)> | :heavy_minus_sign: | N/A | [{"tag":"United States of America"}] |
@@ -38,4 +45,20 @@
| `LastViewedAt` | *int* | :heavy_minus_sign: | N/A | 1682752242 |
| `OriginalTitle` | *string* | :heavy_minus_sign: | N/A | 映画 ブラッククローバー 魔法帝の剣 |
| `ViewOffset` | *int* | :heavy_minus_sign: | N/A | 5222500 |
| `SkipCount` | *int* | :heavy_minus_sign: | N/A | 1 |
| `SkipCount` | *int* | :heavy_minus_sign: | N/A | 1 |
| `Index` | *int* | :heavy_minus_sign: | N/A | 1 |
| `Theme` | *string* | :heavy_minus_sign: | N/A | /library/metadata/1/theme/1705636920 |
| `LeafCount` | *int* | :heavy_minus_sign: | N/A | 14 |
| `ViewedLeafCount` | *int* | :heavy_minus_sign: | N/A | 0 |
| `ChildCount` | *int* | :heavy_minus_sign: | N/A | 1 |
| `HasPremiumExtras` | *string* | :heavy_minus_sign: | N/A | 1 |
| `HasPremiumPrimaryExtra` | *string* | :heavy_minus_sign: | N/A | 1 |
| `ParentRatingKey` | *string* | :heavy_minus_sign: | N/A | 66 |
| `ParentGuid` | *string* | :heavy_minus_sign: | N/A | plex://show/5d9c081b170e24001f2a7be4 |
| `ParentStudio` | *string* | :heavy_minus_sign: | N/A | UCP |
| `ParentKey` | *string* | :heavy_minus_sign: | N/A | /library/metadata/66 |
| `ParentTitle` | *string* | :heavy_minus_sign: | N/A | Caprica |
| `ParentIndex` | *int* | :heavy_minus_sign: | N/A | 1 |
| `ParentYear` | *int* | :heavy_minus_sign: | N/A | 2010 |
| `ParentThumb` | *string* | :heavy_minus_sign: | N/A | /library/metadata/66/thumb/1705716261 |
| `ParentTheme` | *string* | :heavy_minus_sign: | N/A | /library/metadata/66/theme/1705716261 |

View File

@@ -0,0 +1,10 @@
# GetPinErrors
## Fields
| Field | Type | Required | Description | Example |
| ----------------------------------- | ----------------------------------- | ----------------------------------- | ----------------------------------- | ----------------------------------- |
| `Code` | *double* | :heavy_minus_sign: | N/A | 1000 |
| `Message` | *string* | :heavy_minus_sign: | N/A | X-Plex-Client-Identifier is missing |
| `Status` | *double* | :heavy_minus_sign: | N/A | 400 |

View File

@@ -0,0 +1,10 @@
# GetPinPlexResponseBody
X-Plex-Client-Identifier is missing
## Fields
| Field | Type | Required | Description |
| ----------------------------------------------------------- | ----------------------------------------------------------- | ----------------------------------------------------------- | ----------------------------------------------------------- |
| `Errors` | List<[GetPinErrors](../../Models/Requests/GetPinErrors.md)> | :heavy_minus_sign: | N/A |

View File

@@ -0,0 +1,9 @@
# GetPinRequest
## Fields
| Field | Type | Required | Description |
| --------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `XPlexClientIdentifier` | *string* | :heavy_check_mark: | The unique identifier for the client application<br/>This is used to track the client application and its usage<br/>(UUID, serial number, or other number unique per device)<br/> |
| `Strong` | *bool* | :heavy_minus_sign: | Determines the kind of code returned by the API call<br/>Strong codes are used for Pin authentication flows<br/>Non-Strong codes are used for `Plex.tv/link`<br/> |

View File

@@ -0,0 +1,12 @@
# GetPinResponse
## Fields
| Field | Type | Required | Description |
| -------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------- |
| `ContentType` | *string* | :heavy_check_mark: | HTTP response content type for this operation |
| `StatusCode` | *int* | :heavy_check_mark: | HTTP response status code for this operation |
| `RawResponse` | [HttpResponseMessage](https://learn.microsoft.com/en-us/dotnet/api/system.net.http.httpresponsemessage?view=net-5.0) | :heavy_check_mark: | Raw HTTP response; suitable for custom response parsing |
| `TwoHundredApplicationJsonObject` | [GetPinResponseBody](../../Models/Requests/GetPinResponseBody.md) | :heavy_minus_sign: | The Pin |
| `FourHundredApplicationJsonObject` | [GetPinPlexResponseBody](../../Models/Requests/GetPinPlexResponseBody.md) | :heavy_minus_sign: | X-Plex-Client-Identifier is missing |

View File

@@ -0,0 +1,21 @@
# GetPinResponseBody
The Pin
## Fields
| Field | Type | Required | Description | Example |
| --------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `Id` | *double* | :heavy_minus_sign: | PinID for use with authentication | 1272322473 |
| `Code` | *string* | :heavy_minus_sign: | N/A | 3patfx1a78ukcbr7x0n9bl26t |
| `Product` | *string* | :heavy_minus_sign: | N/A | Plex Web |
| `Trusted` | *bool* | :heavy_minus_sign: | N/A | |
| `Qr` | *string* | :heavy_minus_sign: | a link to a QR code hosted on plex.tv <br/>The QR code redirects to the relevant `plex.tv/link` authentication page<br/>Which then prompts the user for the 4 Digit Link Pin<br/> | https://plex.tv/api/v2/pins/qr/3patfx1a78ukcbr7x0n9bl26t |
| `ClientIdentifier` | *string* | :heavy_minus_sign: | N/A | Postman |
| `Location` | [Location](../../Models/Requests/Location.md) | :heavy_minus_sign: | N/A | |
| `ExpiresIn` | *double* | :heavy_minus_sign: | N/A | 1800 |
| `CreatedAt` | [DateTime](https://learn.microsoft.com/en-us/dotnet/api/system.datetime?view=net-5.0) | :heavy_minus_sign: | N/A | 2023-04-12 17:00:03 +0000 UTC |
| `ExpiresAt` | [DateTime](https://learn.microsoft.com/en-us/dotnet/api/system.datetime?view=net-5.0) | :heavy_minus_sign: | N/A | 2023-04-12 17:30:03 +0000 UTC |
| `AuthToken` | *string* | :heavy_minus_sign: | N/A | |
| `NewRegistration` | *string* | :heavy_minus_sign: | N/A | |

View File

@@ -0,0 +1,10 @@
# GetTokenErrors
## Fields
| Field | Type | Required | Description | Example |
| ----------------------------------- | ----------------------------------- | ----------------------------------- | ----------------------------------- | ----------------------------------- |
| `Code` | *double* | :heavy_minus_sign: | N/A | 1000 |
| `Message` | *string* | :heavy_minus_sign: | N/A | X-Plex-Client-Identifier is missing |
| `Status` | *double* | :heavy_minus_sign: | N/A | 400 |

View File

@@ -0,0 +1,9 @@
# GetTokenRequest
## Fields
| Field | Type | Required | Description |
| --------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `PinID` | *string* | :heavy_check_mark: | The PinID to retrieve an access token for |
| `XPlexClientIdentifier` | *string* | :heavy_check_mark: | The unique identifier for the client application<br/>This is used to track the client application and its usage<br/>(UUID, serial number, or other number unique per device)<br/> |

View File

@@ -0,0 +1,11 @@
# GetTokenResponse
## Fields
| Field | Type | Required | Description |
| -------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------- |
| `ContentType` | *string* | :heavy_check_mark: | HTTP response content type for this operation |
| `StatusCode` | *int* | :heavy_check_mark: | HTTP response status code for this operation |
| `RawResponse` | [HttpResponseMessage](https://learn.microsoft.com/en-us/dotnet/api/system.net.http.httpresponsemessage?view=net-5.0) | :heavy_check_mark: | Raw HTTP response; suitable for custom response parsing |
| `Object` | [GetTokenResponseBody](../../Models/Requests/GetTokenResponseBody.md) | :heavy_minus_sign: | X-Plex-Client-Identifier is missing |

View File

@@ -0,0 +1,10 @@
# GetTokenResponseBody
X-Plex-Client-Identifier is missing
## Fields
| Field | Type | Required | Description |
| --------------------------------------------------------------- | --------------------------------------------------------------- | --------------------------------------------------------------- | --------------------------------------------------------------- |
| `Errors` | List<[GetTokenErrors](../../Models/Requests/GetTokenErrors.md)> | :heavy_minus_sign: | N/A |

View File

@@ -0,0 +1,10 @@
# GetTransientTokenQueryParamType
`delegation` - This is the only supported `type` parameter.
## Values
| Name | Value |
| ------------ | ------------ |
| `Delegation` | delegation |

View File

@@ -3,7 +3,7 @@
## Fields
| Field | Type | Required | Description |
| ----------------------------------------------------------- | ----------------------------------------------------------- | ----------------------------------------------------------- | ----------------------------------------------------------- |
| `Type` | [QueryParamType](../../Models/Requests/QueryParamType.md) | :heavy_check_mark: | `delegation` - This is the only supported `type` parameter. |
| `Scope` | [Scope](../../Models/Requests/Scope.md) | :heavy_check_mark: | `all` - This is the only supported `scope` parameter. |
| Field | Type | Required | Description |
| ------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------- |
| `Type` | [GetTransientTokenQueryParamType](../../Models/Requests/GetTransientTokenQueryParamType.md) | :heavy_check_mark: | `delegation` - This is the only supported `type` parameter. |
| `Scope` | [Scope](../../Models/Requests/Scope.md) | :heavy_check_mark: | `all` - This is the only supported `scope` parameter. |

View File

@@ -3,7 +3,15 @@
## Fields
| Field | Type | Required | Description | Example |
| ------------------ | ------------------ | ------------------ | ------------------ | ------------------ |
| `Id` | *int* | :heavy_minus_sign: | N/A | 1 |
| `Path` | *string* | :heavy_minus_sign: | N/A | /movies |
| Field | Type | Required | Description | Example |
| ---------------------------- | ---------------------------- | ---------------------------- | ---------------------------- | ---------------------------- |
| `Code` | *string* | :heavy_minus_sign: | N/A | US |
| `EuropeanUnionMember` | *bool* | :heavy_minus_sign: | N/A | |
| `ContinentCode` | *string* | :heavy_minus_sign: | N/A | NA |
| `Country` | *string* | :heavy_minus_sign: | N/A | United States |
| `City` | *string* | :heavy_minus_sign: | N/A | Austin |
| `TimeZone` | *string* | :heavy_minus_sign: | N/A | America/Chicago |
| `PostalCode` | *double* | :heavy_minus_sign: | N/A | 78732 |
| `InPrivacyRestrictedCountry` | *bool* | :heavy_minus_sign: | N/A | |
| `Subdivisions` | *string* | :heavy_minus_sign: | N/A | Texas |
| `Coordinates` | *string* | :heavy_minus_sign: | N/A | 30.3768 -97.8935 |

View File

@@ -1,10 +1,12 @@
# QueryParamType
`delegation` - This is the only supported `type` parameter.
type of playlist to create
## Values
| Name | Value |
| ------------ | ------------ |
| `Delegation` | delegation |
| Name | Value |
| ------- | ------- |
| `Audio` | audio |
| `Video` | video |
| `Photo` | photo |

File diff suppressed because one or more lines are too long

View File

@@ -0,0 +1,27 @@
# SearchLibraryMetadata
## Fields
| Field | Type | Required | Description | Example |
| -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `RatingKey` | *string* | :heavy_minus_sign: | N/A | 2 |
| `Key` | *string* | :heavy_minus_sign: | N/A | /library/metadata/2/children |
| `ParentRatingKey` | *string* | :heavy_minus_sign: | N/A | 1 |
| `Guid` | *string* | :heavy_minus_sign: | N/A | plex://season/602e67e766dfdb002c0a1b5b |
| `ParentGuid` | *string* | :heavy_minus_sign: | N/A | plex://show/5d9c086c7d06d9001ffd27aa |
| `ParentStudio` | *string* | :heavy_minus_sign: | N/A | Mutant Enemy Productions |
| `Type` | *string* | :heavy_minus_sign: | N/A | season |
| `Title` | *string* | :heavy_minus_sign: | N/A | Season 1 |
| `ParentKey` | *string* | :heavy_minus_sign: | N/A | /library/metadata/1 |
| `ParentTitle` | *string* | :heavy_minus_sign: | N/A | Firefly |
| `Summary` | *string* | :heavy_minus_sign: | N/A | Captain Malcolm 'Mal' Reynolds is a former galactic war veteran who is the captain of the transport ship "Serenity". Mal and his crew, ensign Zoe Alleyne Washburne; Zoe's husband, pilot Hoban 'Wash' Washburne; muscular mercenary Jayne Cobb; young mechanic Kaylee Frye; former Alliance medical officer Simon Tam; his disturbed teenage sister River (both on the run from the interplanetary government "The Alliance"); the beautiful courtesan Inara Serra; and preacher Shepherd Book do any jobs, legal or illegal, they can find as the Serenity crew travels across the outskirts of outer space. |
| `Index` | *int* | :heavy_minus_sign: | N/A | 1 |
| `ParentIndex` | *int* | :heavy_minus_sign: | N/A | 1 |
| `ParentYear` | *int* | :heavy_minus_sign: | N/A | 2002 |
| `Thumb` | *string* | :heavy_minus_sign: | N/A | /library/metadata/2/thumb/1705636920 |
| `Art` | *string* | :heavy_minus_sign: | N/A | /library/metadata/1/art/1705636920 |
| `ParentThumb` | *string* | :heavy_minus_sign: | N/A | /library/metadata/1/thumb/1705636920 |
| `ParentTheme` | *string* | :heavy_minus_sign: | N/A | /library/metadata/1/theme/1705636920 |
| `AddedAt` | *int* | :heavy_minus_sign: | N/A | 1705636916 |
| `UpdatedAt` | *int* | :heavy_minus_sign: | N/A | 1705636920 |

View File

@@ -0,0 +1,9 @@
# SearchLibraryRequest
## Fields
| Field | Type | Required | Description |
| ------------------------------------- | ------------------------------------- | ------------------------------------- | ------------------------------------- |
| `SectionId` | *long* | :heavy_check_mark: | the Id of the library to query |
| `Type` | [Type](../../Models/Requests/Type.md) | :heavy_check_mark: | Plex content type to search for |

View File

@@ -0,0 +1,11 @@
# SearchLibraryResponse
## Fields
| Field | Type | Required | Description |
| -------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------- |
| `ContentType` | *string* | :heavy_check_mark: | HTTP response content type for this operation |
| `StatusCode` | *int* | :heavy_check_mark: | HTTP response status code for this operation |
| `RawResponse` | [HttpResponseMessage](https://learn.microsoft.com/en-us/dotnet/api/system.net.http.httpresponsemessage?view=net-5.0) | :heavy_check_mark: | Raw HTTP response; suitable for custom response parsing |
| `Object` | [SearchLibraryResponseBody](../../Models/Requests/SearchLibraryResponseBody.md) | :heavy_minus_sign: | The contents of the library by section and type |

View File

@@ -0,0 +1,10 @@
# SearchLibraryResponseBody
The contents of the library by section and type
## Fields
| Field | Type | Required | Description |
| ----------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------- |
| `MediaContainer` | [SearchLibraryMediaContainer](../../Models/Requests/SearchLibraryMediaContainer.md) | :heavy_minus_sign: | N/A |

View File

@@ -5,25 +5,24 @@ A key representing a specific tag within the section.
## Values
| Name | Value |
| ------------------ | ------------------ |
| `All` | all |
| `Unwatched` | unwatched |
| `Newest` | newest |
| `RecentlyAdded` | recentlyAdded |
| `RecentlyViewed` | recentlyViewed |
| `OnDeck` | onDeck |
| `Collection` | collection |
| `Edition` | edition |
| `Genre` | genre |
| `Year` | year |
| `Decade` | decade |
| `Director` | director |
| `Actor` | actor |
| `Country` | country |
| `ContentRating` | contentRating |
| `Rating` | rating |
| `Resolution` | resolution |
| `FirstCharacter` | firstCharacter |
| `Folder` | folder |
| `SearchTypeEqual1` | search?type=1 |
| Name | Value |
| ---------------- | ---------------- |
| `All` | all |
| `Unwatched` | unwatched |
| `Newest` | newest |
| `RecentlyAdded` | recentlyAdded |
| `RecentlyViewed` | recentlyViewed |
| `OnDeck` | onDeck |
| `Collection` | collection |
| `Edition` | edition |
| `Genre` | genre |
| `Year` | year |
| `Decade` | decade |
| `Director` | director |
| `Actor` | actor |
| `Country` | country |
| `ContentRating` | contentRating |
| `Rating` | rating |
| `Resolution` | resolution |
| `FirstCharacter` | firstCharacter |
| `Folder` | folder |

View File

@@ -1,12 +1,13 @@
# Type
type of playlist to create
Plex content type to search for
## Values
| Name | Value |
| ------- | ------- |
| `Audio` | audio |
| `Video` | video |
| `Photo` | photo |
| `One` | 1 |
| `Two` | 2 |
| `Three` | 3 |
| `Four` | 4 |

View File

@@ -27,8 +27,7 @@ Get Server Activities
using PlexAPI;
using PlexAPI.Models.Components;
var sdk = new PlexAPISDK(
security: new Models.Components.Security() {
var sdk = new PlexAPISDK(security: new Models.Components.Security() {
AccessToken = "<YOUR_API_KEY_HERE>",
});
@@ -54,12 +53,11 @@ using PlexAPI;
using PlexAPI.Models.Components;
using PlexAPI.Models.Requests;
var sdk = new PlexAPISDK(
security: new Models.Components.Security() {
var sdk = new PlexAPISDK(security: new Models.Components.Security() {
AccessToken = "<YOUR_API_KEY_HERE>",
});
var res = await sdk.Activities.CancelServerActivitiesAsync(ActivityUUID: "string");
var res = await sdk.Activities.CancelServerActivitiesAsync(activityUUID: "string");
// handle response
```

View File

@@ -24,8 +24,7 @@ Returns a list of butler tasks
using PlexAPI;
using PlexAPI.Models.Components;
var sdk = new PlexAPISDK(
security: new Models.Components.Security() {
var sdk = new PlexAPISDK(security: new Models.Components.Security() {
AccessToken = "<YOUR_API_KEY_HERE>",
});
@@ -55,8 +54,7 @@ This endpoint will attempt to start all Butler tasks that are enabled in the set
using PlexAPI;
using PlexAPI.Models.Components;
var sdk = new PlexAPISDK(
security: new Models.Components.Security() {
var sdk = new PlexAPISDK(security: new Models.Components.Security() {
AccessToken = "<YOUR_API_KEY_HERE>",
});
@@ -82,8 +80,7 @@ This endpoint will stop all currently running tasks and remove any scheduled tas
using PlexAPI;
using PlexAPI.Models.Components;
var sdk = new PlexAPISDK(
security: new Models.Components.Security() {
var sdk = new PlexAPISDK(security: new Models.Components.Security() {
AccessToken = "<YOUR_API_KEY_HERE>",
});
@@ -114,12 +111,11 @@ using PlexAPI;
using PlexAPI.Models.Components;
using PlexAPI.Models.Requests;
var sdk = new PlexAPISDK(
security: new Models.Components.Security() {
var sdk = new PlexAPISDK(security: new Models.Components.Security() {
AccessToken = "<YOUR_API_KEY_HERE>",
});
var res = await sdk.Butler.StartTaskAsync(TaskName: TaskName.CleanOldBundles);
var res = await sdk.Butler.StartTaskAsync(taskName: TaskName.CleanOldBundles);
// handle response
```
@@ -148,12 +144,11 @@ using PlexAPI;
using PlexAPI.Models.Components;
using PlexAPI.Models.Requests;
var sdk = new PlexAPISDK(
security: new Models.Components.Security() {
var sdk = new PlexAPISDK(security: new Models.Components.Security() {
AccessToken = "<YOUR_API_KEY_HERE>",
});
var res = await sdk.Butler.StopTaskAsync(TaskName: PathParamTaskName.BackupDatabase);
var res = await sdk.Butler.StopTaskAsync(taskName: PathParamTaskName.BackupDatabase);
// handle response
```

View File

@@ -22,12 +22,13 @@ using PlexAPI;
using PlexAPI.Models.Components;
using PlexAPI.Models.Requests;
var sdk = new PlexAPISDK(
security: new Models.Components.Security() {
var sdk = new PlexAPISDK(security: new Models.Components.Security() {
AccessToken = "<YOUR_API_KEY_HERE>",
});
var res = await sdk.Hubs.GetGlobalHubsAsync(Count: 1262.49D, OnlyTransient: OnlyTransient.One);
var res = await sdk.Hubs.GetGlobalHubsAsync(
count: 1262.49D,
onlyTransient: OnlyTransient.One);
// handle response
```
@@ -57,12 +58,14 @@ using PlexAPI;
using PlexAPI.Models.Components;
using PlexAPI.Models.Requests;
var sdk = new PlexAPISDK(
security: new Models.Components.Security() {
var sdk = new PlexAPISDK(security: new Models.Components.Security() {
AccessToken = "<YOUR_API_KEY_HERE>",
});
var res = await sdk.Hubs.GetLibraryHubsAsync(SectionId: 6728.76D, Count: 9010.22D, OnlyTransient: QueryParamOnlyTransient.Zero);
var res = await sdk.Hubs.GetLibraryHubsAsync(
sectionId: 6728.76D,
count: 9010.22D,
onlyTransient: QueryParamOnlyTransient.Zero);
// handle response
```

View File

@@ -15,6 +15,7 @@ API Calls interacting with Plex Media Server Libraries
* [DeleteLibrary](#deletelibrary) - Delete Library Section
* [GetLibraryItems](#getlibraryitems) - Get Library Items
* [RefreshLibrary](#refreshlibrary) - Refresh Library
* [SearchLibrary](#searchlibrary) - Search Library
* [GetMetadata](#getmetadata) - Get Items Metadata
* [GetMetadataChildren](#getmetadatachildren) - Get Items Children
* [GetOnDeck](#getondeck) - Get On Deck
@@ -30,12 +31,13 @@ using PlexAPI;
using PlexAPI.Models.Components;
using PlexAPI.Models.Requests;
var sdk = new PlexAPISDK(
security: new Models.Components.Security() {
var sdk = new PlexAPISDK(security: new Models.Components.Security() {
AccessToken = "<YOUR_API_KEY_HERE>",
});
var res = await sdk.Library.GetFileHashAsync(Url: "file://C:\Image.png&type=13", Type: 4462.17D);
var res = await sdk.Library.GetFileHashAsync(
url: "file://C:\Image.png&type=13",
type: 4462.17D);
// handle response
```
@@ -64,8 +66,7 @@ This endpoint will return the recently added content.
using PlexAPI;
using PlexAPI.Models.Components;
var sdk = new PlexAPISDK(
security: new Models.Components.Security() {
var sdk = new PlexAPISDK(security: new Models.Components.Security() {
AccessToken = "<YOUR_API_KEY_HERE>",
});
@@ -96,8 +97,7 @@ This allows a client to provide a rich interface around the media (e.g. allow so
using PlexAPI;
using PlexAPI.Models.Components;
var sdk = new PlexAPISDK(
security: new Models.Components.Security() {
var sdk = new PlexAPISDK(security: new Models.Components.Security() {
AccessToken = "<YOUR_API_KEY_HERE>",
});
@@ -162,12 +162,13 @@ using PlexAPI;
using PlexAPI.Models.Components;
using PlexAPI.Models.Requests;
var sdk = new PlexAPISDK(
security: new Models.Components.Security() {
var sdk = new PlexAPISDK(security: new Models.Components.Security() {
AccessToken = "<YOUR_API_KEY_HERE>",
});
var res = await sdk.Library.GetLibraryAsync(SectionId: 1000D, IncludeDetails: IncludeDetails.Zero);
var res = await sdk.Library.GetLibraryAsync(
sectionId: 1000D,
includeDetails: IncludeDetails.Zero);
// handle response
```
@@ -196,12 +197,11 @@ using PlexAPI;
using PlexAPI.Models.Components;
using PlexAPI.Models.Requests;
var sdk = new PlexAPISDK(
security: new Models.Components.Security() {
var sdk = new PlexAPISDK(security: new Models.Components.Security() {
AccessToken = "<YOUR_API_KEY_HERE>",
});
var res = await sdk.Library.DeleteLibraryAsync(SectionId: 1000D);
var res = await sdk.Library.DeleteLibraryAsync(sectionId: 1000D);
// handle response
```
@@ -240,7 +240,6 @@ Fetches details from a specific section of the library identified by a section k
- `resolution`: Items categorized by resolution.
- `firstCharacter`: Items categorized by the first letter.
- `folder`: Items categorized by folder.
- `search?type=1`: Search functionality within the section.
### Example Usage
@@ -250,12 +249,13 @@ using PlexAPI;
using PlexAPI.Models.Components;
using PlexAPI.Models.Requests;
var sdk = new PlexAPISDK(
security: new Models.Components.Security() {
var sdk = new PlexAPISDK(security: new Models.Components.Security() {
AccessToken = "<YOUR_API_KEY_HERE>",
});
var res = await sdk.Library.GetLibraryItemsAsync(SectionId: 451092, Tag: Tag.Unwatched);
var res = await sdk.Library.GetLibraryItemsAsync(
sectionId: 451092,
tag: Tag.Unwatched);
// handle response
```
@@ -285,12 +285,11 @@ using PlexAPI;
using PlexAPI.Models.Components;
using PlexAPI.Models.Requests;
var sdk = new PlexAPISDK(
security: new Models.Components.Security() {
var sdk = new PlexAPISDK(security: new Models.Components.Security() {
AccessToken = "<YOUR_API_KEY_HERE>",
});
var res = await sdk.Library.RefreshLibraryAsync(SectionId: 934.16D);
var res = await sdk.Library.RefreshLibraryAsync(sectionId: 934.16D);
// handle response
```
@@ -307,6 +306,59 @@ var res = await sdk.Library.RefreshLibraryAsync(SectionId: 934.16D);
**[RefreshLibraryResponse](../../Models/Requests/RefreshLibraryResponse.md)**
## SearchLibrary
Search for content within a specific section of the library.
### Types
Each type in the library comes with a set of filters and sorts, aiding in building dynamic media controls:
- **Type Object Attributes**:
- `type`: Metadata type (if standard Plex type).
- `title`: Title for this content type (e.g., "Movies").
- **Filter Objects**:
- Subset of the media query language.
- Attributes include `filter` (name), `filterType` (data type), `key` (endpoint for value range), and `title`.
- **Sort Objects**:
- Description of sort fields.
- Attributes include `defaultDirection` (asc/desc), `descKey` and `key` (sort parameters), and `title`.
> **Note**: Filters and sorts are optional; without them, no filtering controls are rendered.
### Example Usage
```csharp
using PlexAPI;
using PlexAPI.Models.Components;
using PlexAPI.Models.Requests;
var sdk = new PlexAPISDK(security: new Models.Components.Security() {
AccessToken = "<YOUR_API_KEY_HERE>",
});
var res = await sdk.Library.SearchLibraryAsync(
sectionId: 933505,
type: Type.Four);
// handle response
```
### Parameters
| Parameter | Type | Required | Description |
| ------------------------------------- | ------------------------------------- | ------------------------------------- | ------------------------------------- |
| `SectionId` | *long* | :heavy_check_mark: | the Id of the library to query |
| `Type` | [Type](../../Models/Requests/Type.md) | :heavy_check_mark: | Plex content type to search for |
### Response
**[SearchLibraryResponse](../../Models/Requests/SearchLibraryResponse.md)**
## GetMetadata
This endpoint will return the metadata of a library item specified with the ratingKey.
@@ -319,12 +371,11 @@ using PlexAPI;
using PlexAPI.Models.Components;
using PlexAPI.Models.Requests;
var sdk = new PlexAPISDK(
security: new Models.Components.Security() {
var sdk = new PlexAPISDK(security: new Models.Components.Security() {
AccessToken = "<YOUR_API_KEY_HERE>",
});
var res = await sdk.Library.GetMetadataAsync(RatingKey: 8382.31D);
var res = await sdk.Library.GetMetadataAsync(ratingKey: 8382.31D);
// handle response
```
@@ -353,12 +404,11 @@ using PlexAPI;
using PlexAPI.Models.Components;
using PlexAPI.Models.Requests;
var sdk = new PlexAPISDK(
security: new Models.Components.Security() {
var sdk = new PlexAPISDK(security: new Models.Components.Security() {
AccessToken = "<YOUR_API_KEY_HERE>",
});
var res = await sdk.Library.GetMetadataChildrenAsync(RatingKey: 1539.14D);
var res = await sdk.Library.GetMetadataChildrenAsync(ratingKey: 1539.14D);
// handle response
```
@@ -386,8 +436,7 @@ This endpoint will return the on deck content.
using PlexAPI;
using PlexAPI.Models.Components;
var sdk = new PlexAPISDK(
security: new Models.Components.Security() {
var sdk = new PlexAPISDK(security: new Models.Components.Security() {
AccessToken = "<YOUR_API_KEY_HERE>",
});

View File

@@ -24,12 +24,14 @@ using PlexAPI;
using PlexAPI.Models.Components;
using PlexAPI.Models.Requests;
var sdk = new PlexAPISDK(
security: new Models.Components.Security() {
var sdk = new PlexAPISDK(security: new Models.Components.Security() {
AccessToken = "<YOUR_API_KEY_HERE>",
});
var res = await sdk.Log.LogLineAsync(Level: Level.Three, Message: "Test log message", Source: "Postman");
var res = await sdk.Log.LogLineAsync(
level: Level.Three,
message: "Test log message",
source: "Postman");
// handle response
```
@@ -79,8 +81,7 @@ Ensure each parameter is properly URL-encoded to avoid interpretation issues.
using PlexAPI;
using PlexAPI.Models.Components;
var sdk = new PlexAPISDK(
security: new Models.Components.Security() {
var sdk = new PlexAPISDK(security: new Models.Components.Security() {
AccessToken = "<YOUR_API_KEY_HERE>",
});
@@ -116,8 +117,7 @@ This endpoint will enable all Plex Media Serverlogs to be sent to the Papertrail
using PlexAPI;
using PlexAPI.Models.Components;
var sdk = new PlexAPISDK(
security: new Models.Components.Security() {
var sdk = new PlexAPISDK(security: new Models.Components.Security() {
AccessToken = "<YOUR_API_KEY_HERE>",
});

View File

@@ -23,12 +23,11 @@ using PlexAPI;
using PlexAPI.Models.Components;
using PlexAPI.Models.Requests;
var sdk = new PlexAPISDK(
security: new Models.Components.Security() {
var sdk = new PlexAPISDK(security: new Models.Components.Security() {
AccessToken = "<YOUR_API_KEY_HERE>",
});
var res = await sdk.Media.MarkPlayedAsync(Key: 59398D);
var res = await sdk.Media.MarkPlayedAsync(key: 59398D);
// handle response
```
@@ -56,12 +55,11 @@ using PlexAPI;
using PlexAPI.Models.Components;
using PlexAPI.Models.Requests;
var sdk = new PlexAPISDK(
security: new Models.Components.Security() {
var sdk = new PlexAPISDK(security: new Models.Components.Security() {
AccessToken = "<YOUR_API_KEY_HERE>",
});
var res = await sdk.Media.MarkUnplayedAsync(Key: 59398D);
var res = await sdk.Media.MarkUnplayedAsync(key: 59398D);
// handle response
```
@@ -90,12 +88,14 @@ using PlexAPI;
using PlexAPI.Models.Components;
using PlexAPI.Models.Requests;
var sdk = new PlexAPISDK(
security: new Models.Components.Security() {
var sdk = new PlexAPISDK(security: new Models.Components.Security() {
AccessToken = "<YOUR_API_KEY_HERE>",
});
var res = await sdk.Media.UpdatePlayProgressAsync(Key: "string", Time: 6900.91D, State: "string");
var res = await sdk.Media.UpdatePlayProgressAsync(
key: "string",
time: 6900.91D,
state: "string");
// handle response
```

View File

@@ -35,14 +35,13 @@ using PlexAPI;
using PlexAPI.Models.Components;
using PlexAPI.Models.Requests;
var sdk = new PlexAPISDK(
security: new Models.Components.Security() {
var sdk = new PlexAPISDK(security: new Models.Components.Security() {
AccessToken = "<YOUR_API_KEY_HERE>",
});
CreatePlaylistRequest req = new CreatePlaylistRequest() {
Title = "string",
Type = Type.Photo,
Type = QueryParamType.Photo,
Smart = Smart.One,
Uri = "https://inborn-brochure.biz",
};
@@ -75,12 +74,13 @@ using PlexAPI;
using PlexAPI.Models.Components;
using PlexAPI.Models.Requests;
var sdk = new PlexAPISDK(
security: new Models.Components.Security() {
var sdk = new PlexAPISDK(security: new Models.Components.Security() {
AccessToken = "<YOUR_API_KEY_HERE>",
});
var res = await sdk.Playlists.GetPlaylistsAsync(PlaylistType: PlaylistType.Audio, Smart: QueryParamSmart.Zero);
var res = await sdk.Playlists.GetPlaylistsAsync(
playlistType: PlaylistType.Audio,
smart: QueryParamSmart.Zero);
// handle response
```
@@ -111,12 +111,11 @@ using PlexAPI;
using PlexAPI.Models.Components;
using PlexAPI.Models.Requests;
var sdk = new PlexAPISDK(
security: new Models.Components.Security() {
var sdk = new PlexAPISDK(security: new Models.Components.Security() {
AccessToken = "<YOUR_API_KEY_HERE>",
});
var res = await sdk.Playlists.GetPlaylistAsync(PlaylistID: 4109.48D);
var res = await sdk.Playlists.GetPlaylistAsync(playlistID: 4109.48D);
// handle response
```
@@ -145,12 +144,11 @@ using PlexAPI;
using PlexAPI.Models.Components;
using PlexAPI.Models.Requests;
var sdk = new PlexAPISDK(
security: new Models.Components.Security() {
var sdk = new PlexAPISDK(security: new Models.Components.Security() {
AccessToken = "<YOUR_API_KEY_HERE>",
});
var res = await sdk.Playlists.DeletePlaylistAsync(PlaylistID: 216.22D);
var res = await sdk.Playlists.DeletePlaylistAsync(playlistID: 216.22D);
// handle response
```
@@ -179,12 +177,14 @@ using PlexAPI;
using PlexAPI.Models.Components;
using PlexAPI.Models.Requests;
var sdk = new PlexAPISDK(
security: new Models.Components.Security() {
var sdk = new PlexAPISDK(security: new Models.Components.Security() {
AccessToken = "<YOUR_API_KEY_HERE>",
});
var res = await sdk.Playlists.UpdatePlaylistAsync(PlaylistID: 3915D, Title: "string", Summary: "string");
var res = await sdk.Playlists.UpdatePlaylistAsync(
playlistID: 3915D,
title: "string",
summary: "string");
// handle response
```
@@ -218,12 +218,13 @@ using PlexAPI;
using PlexAPI.Models.Components;
using PlexAPI.Models.Requests;
var sdk = new PlexAPISDK(
security: new Models.Components.Security() {
var sdk = new PlexAPISDK(security: new Models.Components.Security() {
AccessToken = "<YOUR_API_KEY_HERE>",
});
var res = await sdk.Playlists.GetPlaylistContentsAsync(PlaylistID: 5004.46D, Type: 9403.59D);
var res = await sdk.Playlists.GetPlaylistContentsAsync(
playlistID: 5004.46D,
type: 9403.59D);
// handle response
```
@@ -253,12 +254,11 @@ using PlexAPI;
using PlexAPI.Models.Components;
using PlexAPI.Models.Requests;
var sdk = new PlexAPISDK(
security: new Models.Components.Security() {
var sdk = new PlexAPISDK(security: new Models.Components.Security() {
AccessToken = "<YOUR_API_KEY_HERE>",
});
var res = await sdk.Playlists.ClearPlaylistContentsAsync(PlaylistID: 1893.18D);
var res = await sdk.Playlists.ClearPlaylistContentsAsync(playlistID: 1893.18D);
// handle response
```
@@ -288,12 +288,14 @@ using PlexAPI;
using PlexAPI.Models.Components;
using PlexAPI.Models.Requests;
var sdk = new PlexAPISDK(
security: new Models.Components.Security() {
var sdk = new PlexAPISDK(security: new Models.Components.Security() {
AccessToken = "<YOUR_API_KEY_HERE>",
});
var res = await sdk.Playlists.AddPlaylistContentsAsync(PlaylistID: 8502.01D, Uri: "server://12345/com.plexapp.plugins.library/library/metadata/1", PlayQueueID: 123D);
var res = await sdk.Playlists.AddPlaylistContentsAsync(
playlistID: 8502.01D,
uri: "server://12345/com.plexapp.plugins.library/library/metadata/1",
playQueueID: 123D);
// handle response
```
@@ -324,12 +326,13 @@ using PlexAPI;
using PlexAPI.Models.Components;
using PlexAPI.Models.Requests;
var sdk = new PlexAPISDK(
security: new Models.Components.Security() {
var sdk = new PlexAPISDK(security: new Models.Components.Security() {
AccessToken = "<YOUR_API_KEY_HERE>",
});
var res = await sdk.Playlists.UploadPlaylistAsync(Path: "/home/barkley/playlist.m3u", Force: Force.Zero);
var res = await sdk.Playlists.UploadPlaylistAsync(
path: "/home/barkley/playlist.m3u",
force: Force.Zero);
// handle response
```

84
docs/sdks/plex/README.md Normal file
View File

@@ -0,0 +1,84 @@
# Plex
(*Plex*)
## Overview
API Calls that perform operations directly against https://Plex.tv
### Available Operations
* [GetPin](#getpin) - Get a Pin
* [GetToken](#gettoken) - Get Access Token
## GetPin
Retrieve a Pin from Plex.tv for authentication flows
### Example Usage
```csharp
using PlexAPI;
using PlexAPI.Models.Components;
using PlexAPI.Models.Requests;
var sdk = new PlexAPISDK(security: new Models.Components.Security() {
AccessToken = "<YOUR_API_KEY_HERE>",
});
var res = await sdk.Plex.GetPinAsync(
xPlexClientIdentifier: "string",
strong: false);
// handle response
```
### Parameters
| Parameter | Type | Required | Description |
| --------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `XPlexClientIdentifier` | *string* | :heavy_check_mark: | The unique identifier for the client application<br/>This is used to track the client application and its usage<br/>(UUID, serial number, or other number unique per device)<br/> |
| `Strong` | *bool* | :heavy_minus_sign: | Determines the kind of code returned by the API call<br/>Strong codes are used for Pin authentication flows<br/>Non-Strong codes are used for `Plex.tv/link`<br/> |
| `serverURL` | *string* | :heavy_minus_sign: | An optional server URL to use. |
### Response
**[GetPinResponse](../../Models/Requests/GetPinResponse.md)**
## GetToken
Retrieve an Access Token from Plex.tv after the Pin has already been authenticated
### Example Usage
```csharp
using PlexAPI;
using PlexAPI.Models.Components;
using PlexAPI.Models.Requests;
var sdk = new PlexAPISDK(security: new Models.Components.Security() {
AccessToken = "<YOUR_API_KEY_HERE>",
});
var res = await sdk.Plex.GetTokenAsync(
pinID: "string",
xPlexClientIdentifier: "string");
// handle response
```
### Parameters
| Parameter | Type | Required | Description |
| --------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `PinID` | *string* | :heavy_check_mark: | The PinID to retrieve an access token for |
| `XPlexClientIdentifier` | *string* | :heavy_check_mark: | The unique identifier for the client application<br/>This is used to track the client application and its usage<br/>(UUID, serial number, or other number unique per device)<br/> |
| `serverURL` | *string* | :heavy_minus_sign: | An optional server URL to use. |
### Response
**[GetTokenResponse](../../Models/Requests/GetTokenResponse.md)**

View File

@@ -35,12 +35,14 @@ using PlexAPI;
using PlexAPI.Models.Components;
using PlexAPI.Models.Requests;
var sdk = new PlexAPISDK(
security: new Models.Components.Security() {
var sdk = new PlexAPISDK(security: new Models.Components.Security() {
AccessToken = "<YOUR_API_KEY_HERE>",
});
var res = await sdk.Search.PerformSearchAsync(Query: "dylan", SectionId: 1516.53D, Limit: 5D);
var res = await sdk.Search.PerformSearchAsync(
query: "dylan",
sectionId: 1516.53D,
limit: 5D);
// handle response
```
@@ -74,12 +76,14 @@ using PlexAPI;
using PlexAPI.Models.Components;
using PlexAPI.Models.Requests;
var sdk = new PlexAPISDK(
security: new Models.Components.Security() {
var sdk = new PlexAPISDK(security: new Models.Components.Security() {
AccessToken = "<YOUR_API_KEY_HERE>",
});
var res = await sdk.Search.PerformVoiceSearchAsync(Query: "dead+poop", SectionId: 4094.8D, Limit: 5D);
var res = await sdk.Search.PerformVoiceSearchAsync(
query: "dead+poop",
sectionId: 4094.8D,
limit: 5D);
// handle response
```
@@ -109,12 +113,11 @@ using PlexAPI;
using PlexAPI.Models.Components;
using PlexAPI.Models.Requests;
var sdk = new PlexAPISDK(
security: new Models.Components.Security() {
var sdk = new PlexAPISDK(security: new Models.Components.Security() {
AccessToken = "<YOUR_API_KEY_HERE>",
});
var res = await sdk.Search.GetSearchResultsAsync(Query: "110");
var res = await sdk.Search.GetSearchResultsAsync(query: "110");
// handle response
```

View File

@@ -23,22 +23,23 @@ using PlexAPI;
using PlexAPI.Models.Components;
using PlexAPI.Models.Requests;
var sdk = new PlexAPISDK(
security: new Models.Components.Security() {
var sdk = new PlexAPISDK(security: new Models.Components.Security() {
AccessToken = "<YOUR_API_KEY_HERE>",
});
var res = await sdk.Security.GetTransientTokenAsync(Type: QueryParamType.Delegation, Scope: Scope.All);
var res = await sdk.Security.GetTransientTokenAsync(
type: GetTransientTokenQueryParamType.Delegation,
scope: Scope.All);
// handle response
```
### Parameters
| Parameter | Type | Required | Description |
| ----------------------------------------------------------- | ----------------------------------------------------------- | ----------------------------------------------------------- | ----------------------------------------------------------- |
| `Type` | [QueryParamType](../../Models/Requests/QueryParamType.md) | :heavy_check_mark: | `delegation` - This is the only supported `type` parameter. |
| `Scope` | [Scope](../../Models/Requests/Scope.md) | :heavy_check_mark: | `all` - This is the only supported `scope` parameter. |
| Parameter | Type | Required | Description |
| ------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------- |
| `Type` | [GetTransientTokenQueryParamType](../../Models/Requests/GetTransientTokenQueryParamType.md) | :heavy_check_mark: | `delegation` - This is the only supported `type` parameter. |
| `Scope` | [Scope](../../Models/Requests/Scope.md) | :heavy_check_mark: | `all` - This is the only supported `scope` parameter. |
### Response
@@ -59,12 +60,11 @@ using PlexAPI;
using PlexAPI.Models.Components;
using PlexAPI.Models.Requests;
var sdk = new PlexAPISDK(
security: new Models.Components.Security() {
var sdk = new PlexAPISDK(security: new Models.Components.Security() {
AccessToken = "<YOUR_API_KEY_HERE>",
});
var res = await sdk.Security.GetSourceConnectionInformationAsync(Source: "server://client-identifier");
var res = await sdk.Security.GetSourceConnectionInformationAsync(source: "server://client-identifier");
// handle response
```

View File

@@ -27,8 +27,7 @@ Server Capabilities
using PlexAPI;
using PlexAPI.Models.Components;
var sdk = new PlexAPISDK(
security: new Models.Components.Security() {
var sdk = new PlexAPISDK(security: new Models.Components.Security() {
AccessToken = "<YOUR_API_KEY_HERE>",
});
@@ -53,8 +52,7 @@ Get Server Preferences
using PlexAPI;
using PlexAPI.Models.Components;
var sdk = new PlexAPISDK(
security: new Models.Components.Security() {
var sdk = new PlexAPISDK(security: new Models.Components.Security() {
AccessToken = "<YOUR_API_KEY_HERE>",
});
@@ -79,8 +77,7 @@ Get Available Clients
using PlexAPI;
using PlexAPI.Models.Components;
var sdk = new PlexAPISDK(
security: new Models.Components.Security() {
var sdk = new PlexAPISDK(security: new Models.Components.Security() {
AccessToken = "<YOUR_API_KEY_HERE>",
});
@@ -105,8 +102,7 @@ Get Devices
using PlexAPI;
using PlexAPI.Models.Components;
var sdk = new PlexAPISDK(
security: new Models.Components.Security() {
var sdk = new PlexAPISDK(security: new Models.Components.Security() {
AccessToken = "<YOUR_API_KEY_HERE>",
});
@@ -131,8 +127,7 @@ Get Server Identity
using PlexAPI;
using PlexAPI.Models.Components;
var sdk = new PlexAPISDK(
security: new Models.Components.Security() {
var sdk = new PlexAPISDK(security: new Models.Components.Security() {
AccessToken = "<YOUR_API_KEY_HERE>",
});
@@ -157,8 +152,7 @@ Returns MyPlex Account Information
using PlexAPI;
using PlexAPI.Models.Components;
var sdk = new PlexAPISDK(
security: new Models.Components.Security() {
var sdk = new PlexAPISDK(security: new Models.Components.Security() {
AccessToken = "<YOUR_API_KEY_HERE>",
});
@@ -185,8 +179,7 @@ using PlexAPI;
using PlexAPI.Models.Components;
using PlexAPI.Models.Requests;
var sdk = new PlexAPISDK(
security: new Models.Components.Security() {
var sdk = new PlexAPISDK(security: new Models.Components.Security() {
AccessToken = "<YOUR_API_KEY_HERE>",
});
@@ -227,8 +220,7 @@ Get Server List
using PlexAPI;
using PlexAPI.Models.Components;
var sdk = new PlexAPISDK(
security: new Models.Components.Security() {
var sdk = new PlexAPISDK(security: new Models.Components.Security() {
AccessToken = "<YOUR_API_KEY_HERE>",
});

View File

@@ -23,8 +23,7 @@ This will retrieve the "Now Playing" Information of the PMS.
using PlexAPI;
using PlexAPI.Models.Components;
var sdk = new PlexAPISDK(
security: new Models.Components.Security() {
var sdk = new PlexAPISDK(security: new Models.Components.Security() {
AccessToken = "<YOUR_API_KEY_HERE>",
});
@@ -49,8 +48,7 @@ This will Retrieve a listing of all history views.
using PlexAPI;
using PlexAPI.Models.Components;
var sdk = new PlexAPISDK(
security: new Models.Components.Security() {
var sdk = new PlexAPISDK(security: new Models.Components.Security() {
AccessToken = "<YOUR_API_KEY_HERE>",
});
@@ -75,8 +73,7 @@ Get Transcode Sessions
using PlexAPI;
using PlexAPI.Models.Components;
var sdk = new PlexAPISDK(
security: new Models.Components.Security() {
var sdk = new PlexAPISDK(security: new Models.Components.Security() {
AccessToken = "<YOUR_API_KEY_HERE>",
});
@@ -102,12 +99,11 @@ using PlexAPI;
using PlexAPI.Models.Components;
using PlexAPI.Models.Requests;
var sdk = new PlexAPISDK(
security: new Models.Components.Security() {
var sdk = new PlexAPISDK(security: new Models.Components.Security() {
AccessToken = "<YOUR_API_KEY_HERE>",
});
var res = await sdk.Sessions.StopTranscodeSessionAsync(SessionKey: "zz7llzqlx8w9vnrsbnwhbmep");
var res = await sdk.Sessions.StopTranscodeSessionAsync(sessionKey: "zz7llzqlx8w9vnrsbnwhbmep");
// handle response
```

View File

@@ -23,8 +23,7 @@ Querying status of updates
using PlexAPI;
using PlexAPI.Models.Components;
var sdk = new PlexAPISDK(
security: new Models.Components.Security() {
var sdk = new PlexAPISDK(security: new Models.Components.Security() {
AccessToken = "<YOUR_API_KEY_HERE>",
});
@@ -50,12 +49,11 @@ using PlexAPI;
using PlexAPI.Models.Components;
using PlexAPI.Models.Requests;
var sdk = new PlexAPISDK(
security: new Models.Components.Security() {
var sdk = new PlexAPISDK(security: new Models.Components.Security() {
AccessToken = "<YOUR_API_KEY_HERE>",
});
var res = await sdk.Updater.CheckForUpdatesAsync(Download: Download.One);
var res = await sdk.Updater.CheckForUpdatesAsync(download: Download.One);
// handle response
```
@@ -84,12 +82,13 @@ using PlexAPI;
using PlexAPI.Models.Components;
using PlexAPI.Models.Requests;
var sdk = new PlexAPISDK(
security: new Models.Components.Security() {
var sdk = new PlexAPISDK(security: new Models.Components.Security() {
AccessToken = "<YOUR_API_KEY_HERE>",
});
var res = await sdk.Updater.ApplyUpdatesAsync(Tonight: Tonight.One, Skip: Skip.Zero);
var res = await sdk.Updater.ApplyUpdatesAsync(
tonight: Tonight.One,
skip: Skip.Zero);
// handle response
```

View File

@@ -22,8 +22,7 @@ using PlexAPI;
using PlexAPI.Models.Components;
using PlexAPI.Models.Requests;
var sdk = new PlexAPISDK(
security: new Models.Components.Security() {
var sdk = new PlexAPISDK(security: new Models.Components.Security() {
AccessToken = "<YOUR_API_KEY_HERE>",
});
@@ -63,8 +62,7 @@ using PlexAPI;
using PlexAPI.Models.Components;
using PlexAPI.Models.Requests;
var sdk = new PlexAPISDK(
security: new Models.Components.Security() {
var sdk = new PlexAPISDK(security: new Models.Components.Security() {
AccessToken = "<YOUR_API_KEY_HERE>",
});