Skip to content

Latest commit

 

History

History
255 lines (182 loc) · 13.3 KB

README.md

File metadata and controls

255 lines (182 loc) · 13.3 KB

Media

(Media)

Overview

API Calls interacting with Plex Media Server Media

Available Operations

MarkPlayed

This will mark the provided media key as Played.

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.Media.MarkPlayedAsync(key: 59398D);

// handle response

Parameters

Parameter Type Required Description Example
Key double ✔️ The media key to mark as played 59398

Response

MarkPlayedResponse

Errors

Error Type Status Code Content Type
LukeHagar.PlexAPI.SDK.Models.Errors.MarkPlayedBadRequest 400 application/json
LukeHagar.PlexAPI.SDK.Models.Errors.MarkPlayedUnauthorized 401 application/json
LukeHagar.PlexAPI.SDK.Models.Errors.SDKException 4XX, 5XX */*

MarkUnplayed

This will mark the provided media key as Unplayed.

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.Media.MarkUnplayedAsync(key: 59398D);

// handle response

Parameters

Parameter Type Required Description Example
Key double ✔️ The media key to mark as Unplayed 59398

Response

MarkUnplayedResponse

Errors

Error Type Status Code Content Type
LukeHagar.PlexAPI.SDK.Models.Errors.MarkUnplayedBadRequest 400 application/json
LukeHagar.PlexAPI.SDK.Models.Errors.MarkUnplayedUnauthorized 401 application/json
LukeHagar.PlexAPI.SDK.Models.Errors.SDKException 4XX, 5XX */*

UpdatePlayProgress

This API command can be used to update the play progress of a media item.

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.Media.UpdatePlayProgressAsync(
    key: "<key>",
    time: 90000D,
    state: "played"
);

// handle response

Parameters

Parameter Type Required Description Example
Key string ✔️ the media key
Time double ✔️ The time, in milliseconds, used to set the media playback progress. 90000
State string ✔️ The playback state of the media item. played

Response

UpdatePlayProgressResponse

Errors

Error Type Status Code Content Type
LukeHagar.PlexAPI.SDK.Models.Errors.UpdatePlayProgressBadRequest 400 application/json
LukeHagar.PlexAPI.SDK.Models.Errors.UpdatePlayProgressUnauthorized 401 application/json
LukeHagar.PlexAPI.SDK.Models.Errors.SDKException 4XX, 5XX */*

GetBannerImage

Gets the banner image of the media item

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"
);

GetBannerImageRequest req = new GetBannerImageRequest() {
    RatingKey = 9518,
    Width = 396,
    Height = 396,
    MinSize = 1,
    Upscale = 1,
    XPlexToken = "CV5xoxjTpFKUzBTShsaf",
};

var res = await sdk.Media.GetBannerImageAsync(req);

// handle response

Parameters

Parameter Type Required Description
request GetBannerImageRequest ✔️ The request object to use for the request.

Response

GetBannerImageResponse

Errors

Error Type Status Code Content Type
LukeHagar.PlexAPI.SDK.Models.Errors.GetBannerImageBadRequest 400 application/json
LukeHagar.PlexAPI.SDK.Models.Errors.GetBannerImageUnauthorized 401 application/json
LukeHagar.PlexAPI.SDK.Models.Errors.SDKException 4XX, 5XX */*

GetThumbImage

Gets the thumbnail image of the media item

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"
);

GetThumbImageRequest req = new GetThumbImageRequest() {
    RatingKey = 9518,
    Width = 396,
    Height = 396,
    MinSize = 1,
    Upscale = 1,
    XPlexToken = "CV5xoxjTpFKUzBTShsaf",
};

var res = await sdk.Media.GetThumbImageAsync(req);

// handle response

Parameters

Parameter Type Required Description
request GetThumbImageRequest ✔️ The request object to use for the request.

Response

GetThumbImageResponse

Errors

Error Type Status Code Content Type
LukeHagar.PlexAPI.SDK.Models.Errors.GetThumbImageBadRequest 400 application/json
LukeHagar.PlexAPI.SDK.Models.Errors.GetThumbImageUnauthorized 401 application/json
LukeHagar.PlexAPI.SDK.Models.Errors.SDKException 4XX, 5XX */*