mirror of
https://github.com/LukeHagar/plexcsharp.git
synced 2025-12-06 04:20:46 +00:00
Updater
(Updater)
Overview
This describes the API for searching and applying updates to the Plex Media Server. Updates to the status can be observed via the Event API.
Available Operations
- GetUpdateStatus - Querying status of updates
- CheckForUpdates - Checking for updates
- ApplyUpdates - Apply Updates
GetUpdateStatus
Querying status of updates
Example Usage
using LukeHagar.PlexAPI.SDK;
using LukeHagar.PlexAPI.SDK.Models.Components;
var sdk = new PlexAPI(
accessToken: "<YOUR_API_KEY_HERE>",
clientID: "3381b62b-9ab7-4e37-827b-203e9809eb58",
clientName: "Plex for Roku",
clientVersion: "2.4.1",
platform: "Roku",
deviceNickname: "Roku 3"
);
var res = await sdk.Updater.GetUpdateStatusAsync();
// handle response
Response
Errors
| Error Type | Status Code | Content Type |
|---|---|---|
| LukeHagar.PlexAPI.SDK.Models.Errors.GetUpdateStatusBadRequest | 400 | application/json |
| LukeHagar.PlexAPI.SDK.Models.Errors.GetUpdateStatusUnauthorized | 401 | application/json |
| LukeHagar.PlexAPI.SDK.Models.Errors.SDKException | 4XX, 5XX | */* |
CheckForUpdates
Checking for updates
Example Usage
using LukeHagar.PlexAPI.SDK;
using LukeHagar.PlexAPI.SDK.Models.Requests;
using LukeHagar.PlexAPI.SDK.Models.Components;
var sdk = new PlexAPI(
accessToken: "<YOUR_API_KEY_HERE>",
clientID: "3381b62b-9ab7-4e37-827b-203e9809eb58",
clientName: "Plex for Roku",
clientVersion: "2.4.1",
platform: "Roku",
deviceNickname: "Roku 3"
);
var res = await sdk.Updater.CheckForUpdatesAsync(download: LukeHagar.PlexAPI.SDK.Models.Requests.Download.One);
// handle response
Parameters
| Parameter | Type | Required | Description | Example |
|---|---|---|---|---|
Download |
Download | ➖ | Indicate that you want to start download any updates found. | 1 |
Response
Errors
| Error Type | Status Code | Content Type |
|---|---|---|
| LukeHagar.PlexAPI.SDK.Models.Errors.CheckForUpdatesBadRequest | 400 | application/json |
| LukeHagar.PlexAPI.SDK.Models.Errors.CheckForUpdatesUnauthorized | 401 | application/json |
| LukeHagar.PlexAPI.SDK.Models.Errors.SDKException | 4XX, 5XX | */* |
ApplyUpdates
Note that these two parameters are effectively mutually exclusive. The tonight parameter takes precedence and skip will be ignored if tonight is also passed
Example Usage
using LukeHagar.PlexAPI.SDK;
using LukeHagar.PlexAPI.SDK.Models.Requests;
using LukeHagar.PlexAPI.SDK.Models.Components;
var sdk = new PlexAPI(
accessToken: "<YOUR_API_KEY_HERE>",
clientID: "3381b62b-9ab7-4e37-827b-203e9809eb58",
clientName: "Plex for Roku",
clientVersion: "2.4.1",
platform: "Roku",
deviceNickname: "Roku 3"
);
var res = await sdk.Updater.ApplyUpdatesAsync(
tonight: LukeHagar.PlexAPI.SDK.Models.Requests.Tonight.One,
skip: LukeHagar.PlexAPI.SDK.Models.Requests.Skip.One
);
// handle response
Parameters
| Parameter | Type | Required | Description | Example |
|---|---|---|---|---|
Tonight |
Tonight | ➖ | Indicate that you want the update to run during the next Butler execution. Omitting this or setting it to false indicates that the update should install | 1 |
Skip |
Skip | ➖ | Indicate that the latest version should be marked as skipped. The [Release] entry for this version will have the state set to skipped. |
1 |
Response
Errors
| Error Type | Status Code | Content Type |
|---|---|---|
| LukeHagar.PlexAPI.SDK.Models.Errors.ApplyUpdatesBadRequest | 400 | application/json |
| LukeHagar.PlexAPI.SDK.Models.Errors.ApplyUpdatesUnauthorized | 401 | application/json |
| LukeHagar.PlexAPI.SDK.Models.Errors.SDKException | 4XX, 5XX | */* |