Files
plexcsharp/docs/sdks/plex/README.md

18 KiB
Raw Blame History

Plex

(Plex)

Overview

API Calls that perform operations directly against https://Plex.tv

Available Operations

GetCompanionsData

Get Companions Data

Example Usage

using LukeHagar.PlexAPI.SDK;
using LukeHagar.PlexAPI.SDK.Models.Components;

var sdk = new PlexAPI(accessToken: "<YOUR_API_KEY_HERE>");

var res = await sdk.Plex.GetCompanionsDataAsync();

// handle response

Parameters

Parameter Type Required Description
serverURL string An optional server URL to use.

Response

GetCompanionsDataResponse

Errors

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

GetUserFriends

Get friends of provided auth token.

Example Usage

using LukeHagar.PlexAPI.SDK;
using LukeHagar.PlexAPI.SDK.Models.Components;

var sdk = new PlexAPI(accessToken: "<YOUR_API_KEY_HERE>");

var res = await sdk.Plex.GetUserFriendsAsync();

// handle response

Parameters

Parameter Type Required Description
serverURL string An optional server URL to use.

Response

GetUserFriendsResponse

Errors

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

GetGeoData

Returns the geolocation and locale data of the caller

Example Usage

using LukeHagar.PlexAPI.SDK;

var sdk = new PlexAPI();

var res = await sdk.Plex.GetGeoDataAsync();

// handle response

Parameters

Parameter Type Required Description
serverURL string An optional server URL to use.

Response

GetGeoDataResponse

Errors

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

GetHomeData

Retrieves the home data for the authenticated user, including details like home ID, name, guest access information, and subscription status.

Example Usage

using LukeHagar.PlexAPI.SDK;
using LukeHagar.PlexAPI.SDK.Models.Components;

var sdk = new PlexAPI(accessToken: "<YOUR_API_KEY_HERE>");

var res = await sdk.Plex.GetHomeDataAsync();

// handle response

Response

GetHomeDataResponse

Errors

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

GetServerResources

Get Plex server access tokens and server connections

Example Usage

using LukeHagar.PlexAPI.SDK;
using LukeHagar.PlexAPI.SDK.Models.Components;
using LukeHagar.PlexAPI.SDK.Models.Requests;

var sdk = new PlexAPI(accessToken: "<YOUR_API_KEY_HERE>");

var res = await sdk.Plex.GetServerResourcesAsync(
    clientID: "3381b62b-9ab7-4e37-827b-203e9809eb58",
    includeHttps: IncludeHttps.Enable,
    includeRelay: IncludeRelay.Enable,
    includeIPv6: IncludeIPv6.Enable
);

// handle response

Parameters

Parameter Type Required Description Example
ClientID string ✔️ An opaque identifier unique to the client (UUID, serial number, or other unique device ID) 3381b62b-9ab7-4e37-827b-203e9809eb58
IncludeHttps IncludeHttps Include Https entries in the results 1
IncludeRelay IncludeRelay Include Relay addresses in the results
E.g: https://10-0-0-25.bbf8e10c7fa20447cacee74cd9914cde.plex.direct:32400
1
IncludeIPv6 IncludeIPv6 Include IPv6 entries in the results 1
serverURL string An optional server URL to use. http://localhost:8080

Response

GetServerResourcesResponse

Errors

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

GetPin

Retrieve a Pin ID from Plex.tv to use for authentication flows

Example Usage

using LukeHagar.PlexAPI.SDK;
using LukeHagar.PlexAPI.SDK.Models.Requests;

var sdk = new PlexAPI();

GetPinRequest req = new GetPinRequest() {
    ClientID = "3381b62b-9ab7-4e37-827b-203e9809eb58",
    ClientName = "Plex for Roku",
    DeviceNickname = "Roku 3",
    ClientVersion = "2.4.1",
    Platform = "Roku",
};

var res = await sdk.Plex.GetPinAsync(req);

// handle response

Parameters

Parameter Type Required Description
request GetPinRequest ✔️ The request object to use for the request.
serverURL string An optional server URL to use.

Response

GetPinResponse

Errors

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

GetTokenByPinId

Retrieve an Access Token from Plex.tv after the Pin has been authenticated

Example Usage

using LukeHagar.PlexAPI.SDK;
using LukeHagar.PlexAPI.SDK.Models.Requests;

var sdk = new PlexAPI();

GetTokenByPinIdRequest req = new GetTokenByPinIdRequest() {
    PinID = 408895,
    ClientID = "3381b62b-9ab7-4e37-827b-203e9809eb58",
    ClientName = "Plex for Roku",
    DeviceNickname = "Roku 3",
    ClientVersion = "2.4.1",
    Platform = "Roku",
};

var res = await sdk.Plex.GetTokenByPinIdAsync(req);

// handle response

Parameters

Parameter Type Required Description
request GetTokenByPinIdRequest ✔️ The request object to use for the request.
serverURL string An optional server URL to use.

Response

GetTokenByPinIdResponse

Errors

Error Type Status Code Content Type
LukeHagar.PlexAPI.SDK.Models.Errors.GetTokenByPinIdBadRequest 400 application/json
LukeHagar.PlexAPI.SDK.Models.Errors.GetTokenByPinIdResponseBody 404 application/json
LukeHagar.PlexAPI.SDK.Models.Errors.SDKException 4XX, 5XX */*