mirror of
https://github.com/LukeHagar/plexcsharp.git
synced 2025-12-06 04:20:46 +00:00
1477 lines
47 KiB
YAML
1477 lines
47 KiB
YAML
overlay: 1.0.0
|
|
info:
|
|
title: CodeSamples overlay for csharp target
|
|
version: 0.0.0
|
|
actions:
|
|
- target: $["paths"]["/"]["get"]
|
|
update:
|
|
x-codeSamples:
|
|
- lang: csharp
|
|
label: PlexCSharp
|
|
source: |-
|
|
using LukeHagar.PlexAPI.SDK;
|
|
using LukeHagar.PlexAPI.SDK.Models.Components;
|
|
|
|
var sdk = new PlexAPI(accessToken: "<YOUR_API_KEY_HERE>");
|
|
|
|
var res = await sdk.Server.GetServerCapabilitiesAsync();
|
|
|
|
// handle response
|
|
- target: $["paths"]["/:/prefs"]["get"]
|
|
update:
|
|
x-codeSamples:
|
|
- lang: csharp
|
|
label: PlexCSharp
|
|
source: |-
|
|
using LukeHagar.PlexAPI.SDK;
|
|
using LukeHagar.PlexAPI.SDK.Models.Components;
|
|
|
|
var sdk = new PlexAPI(accessToken: "<YOUR_API_KEY_HERE>");
|
|
|
|
var res = await sdk.Server.GetServerPreferencesAsync();
|
|
|
|
// handle response
|
|
- target: $["paths"]["/:/progress"]["post"]
|
|
update:
|
|
x-codeSamples:
|
|
- lang: csharp
|
|
label: PlexCSharp
|
|
source: |-
|
|
using LukeHagar.PlexAPI.SDK;
|
|
using LukeHagar.PlexAPI.SDK.Models.Components;
|
|
|
|
var sdk = new PlexAPI(accessToken: "<YOUR_API_KEY_HERE>");
|
|
|
|
var res = await sdk.Media.UpdatePlayProgressAsync(
|
|
key: "<key>",
|
|
time: 90000D,
|
|
state: "played"
|
|
);
|
|
|
|
// handle response
|
|
- target: $["paths"]["/:/scrobble"]["get"]
|
|
update:
|
|
x-codeSamples:
|
|
- lang: csharp
|
|
label: PlexCSharp
|
|
source: |-
|
|
using LukeHagar.PlexAPI.SDK;
|
|
using LukeHagar.PlexAPI.SDK.Models.Components;
|
|
|
|
var sdk = new PlexAPI(accessToken: "<YOUR_API_KEY_HERE>");
|
|
|
|
var res = await sdk.Media.MarkPlayedAsync(key: 59398D);
|
|
|
|
// handle response
|
|
- target: $["paths"]["/:/timeline"]["get"]
|
|
update:
|
|
x-codeSamples:
|
|
- lang: csharp
|
|
label: PlexCSharp
|
|
source: |-
|
|
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>");
|
|
|
|
GetTimelineRequest req = new GetTimelineRequest() {
|
|
RatingKey = 23409D,
|
|
Key = "/library/metadata/23409",
|
|
State = State.Playing,
|
|
HasMDE = 1D,
|
|
Time = 2000D,
|
|
Duration = 10000D,
|
|
Context = "home:hub.continueWatching",
|
|
PlayQueueItemID = 1D,
|
|
PlayBackTime = 2000D,
|
|
Row = 1D,
|
|
};
|
|
|
|
var res = await sdk.Video.GetTimelineAsync(req);
|
|
|
|
// handle response
|
|
- target: $["paths"]["/:/unscrobble"]["get"]
|
|
update:
|
|
x-codeSamples:
|
|
- lang: csharp
|
|
label: PlexCSharp
|
|
source: |-
|
|
using LukeHagar.PlexAPI.SDK;
|
|
using LukeHagar.PlexAPI.SDK.Models.Components;
|
|
|
|
var sdk = new PlexAPI(accessToken: "<YOUR_API_KEY_HERE>");
|
|
|
|
var res = await sdk.Media.MarkUnplayedAsync(key: 59398D);
|
|
|
|
// handle response
|
|
- target: $["paths"]["/activities"]["get"]
|
|
update:
|
|
x-codeSamples:
|
|
- lang: csharp
|
|
label: PlexCSharp
|
|
source: |-
|
|
using LukeHagar.PlexAPI.SDK;
|
|
using LukeHagar.PlexAPI.SDK.Models.Components;
|
|
|
|
var sdk = new PlexAPI(accessToken: "<YOUR_API_KEY_HERE>");
|
|
|
|
var res = await sdk.Activities.GetServerActivitiesAsync();
|
|
|
|
// handle response
|
|
- target: $["paths"]["/activities/{activityUUID}"]["delete"]
|
|
update:
|
|
x-codeSamples:
|
|
- lang: csharp
|
|
label: PlexCSharp
|
|
source: |-
|
|
using LukeHagar.PlexAPI.SDK;
|
|
using LukeHagar.PlexAPI.SDK.Models.Components;
|
|
|
|
var sdk = new PlexAPI(accessToken: "<YOUR_API_KEY_HERE>");
|
|
|
|
var res = await sdk.Activities.CancelServerActivitiesAsync(activityUUID: "25b71ed5-0f9d-461c-baa7-d404e9e10d3e");
|
|
|
|
// handle response
|
|
- target: $["paths"]["/butler"]["delete"]
|
|
update:
|
|
x-codeSamples:
|
|
- lang: csharp
|
|
label: PlexCSharp
|
|
source: |-
|
|
using LukeHagar.PlexAPI.SDK;
|
|
using LukeHagar.PlexAPI.SDK.Models.Components;
|
|
|
|
var sdk = new PlexAPI(accessToken: "<YOUR_API_KEY_HERE>");
|
|
|
|
var res = await sdk.Butler.StopAllTasksAsync();
|
|
|
|
// handle response
|
|
- target: $["paths"]["/butler"]["get"]
|
|
update:
|
|
x-codeSamples:
|
|
- lang: csharp
|
|
label: PlexCSharp
|
|
source: |-
|
|
using LukeHagar.PlexAPI.SDK;
|
|
using LukeHagar.PlexAPI.SDK.Models.Components;
|
|
|
|
var sdk = new PlexAPI(accessToken: "<YOUR_API_KEY_HERE>");
|
|
|
|
var res = await sdk.Butler.GetButlerTasksAsync();
|
|
|
|
// handle response
|
|
- target: $["paths"]["/butler"]["post"]
|
|
update:
|
|
x-codeSamples:
|
|
- lang: csharp
|
|
label: PlexCSharp
|
|
source: |-
|
|
using LukeHagar.PlexAPI.SDK;
|
|
using LukeHagar.PlexAPI.SDK.Models.Components;
|
|
|
|
var sdk = new PlexAPI(accessToken: "<YOUR_API_KEY_HERE>");
|
|
|
|
var res = await sdk.Butler.StartAllTasksAsync();
|
|
|
|
// handle response
|
|
- target: $["paths"]["/butler/{taskName}"]["delete"]
|
|
update:
|
|
x-codeSamples:
|
|
- lang: csharp
|
|
label: PlexCSharp
|
|
source: |-
|
|
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.Butler.StopTaskAsync(taskName: PathParamTaskName.CleanOldCacheFiles);
|
|
|
|
// handle response
|
|
- target: $["paths"]["/butler/{taskName}"]["post"]
|
|
update:
|
|
x-codeSamples:
|
|
- lang: csharp
|
|
label: PlexCSharp
|
|
source: |-
|
|
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.Butler.StartTaskAsync(taskName: TaskName.RefreshPeriodicMetadata);
|
|
|
|
// handle response
|
|
- target: $["paths"]["/clients"]["get"]
|
|
update:
|
|
x-codeSamples:
|
|
- lang: csharp
|
|
label: PlexCSharp
|
|
source: |-
|
|
using LukeHagar.PlexAPI.SDK;
|
|
using LukeHagar.PlexAPI.SDK.Models.Components;
|
|
|
|
var sdk = new PlexAPI(accessToken: "<YOUR_API_KEY_HERE>");
|
|
|
|
var res = await sdk.Server.GetAvailableClientsAsync();
|
|
|
|
// handle response
|
|
- target: $["paths"]["/companions"]["get"]
|
|
update:
|
|
x-codeSamples:
|
|
- lang: csharp
|
|
label: PlexCSharp
|
|
source: |-
|
|
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
|
|
- target: $["paths"]["/devices"]["get"]
|
|
update:
|
|
x-codeSamples:
|
|
- lang: csharp
|
|
label: PlexCSharp
|
|
source: |-
|
|
using LukeHagar.PlexAPI.SDK;
|
|
using LukeHagar.PlexAPI.SDK.Models.Components;
|
|
|
|
var sdk = new PlexAPI(accessToken: "<YOUR_API_KEY_HERE>");
|
|
|
|
var res = await sdk.Server.GetDevicesAsync();
|
|
|
|
// handle response
|
|
- target: $["paths"]["/friends"]["get"]
|
|
update:
|
|
x-codeSamples:
|
|
- lang: csharp
|
|
label: PlexCSharp
|
|
source: |-
|
|
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
|
|
- target: $["paths"]["/geoip"]["get"]
|
|
update:
|
|
x-codeSamples:
|
|
- lang: csharp
|
|
label: PlexCSharp
|
|
source: |-
|
|
using LukeHagar.PlexAPI.SDK;
|
|
|
|
var sdk = new PlexAPI();
|
|
|
|
var res = await sdk.Plex.GetGeoDataAsync();
|
|
|
|
// handle response
|
|
- target: $["paths"]["/home"]["get"]
|
|
update:
|
|
x-codeSamples:
|
|
- lang: csharp
|
|
label: PlexCSharp
|
|
source: |-
|
|
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
|
|
- target: $["paths"]["/hubs"]["get"]
|
|
update:
|
|
x-codeSamples:
|
|
- lang: csharp
|
|
label: PlexCSharp
|
|
source: |-
|
|
using LukeHagar.PlexAPI.SDK;
|
|
using LukeHagar.PlexAPI.SDK.Models.Components;
|
|
|
|
var sdk = new PlexAPI(accessToken: "<YOUR_API_KEY_HERE>");
|
|
|
|
var res = await sdk.Hubs.GetGlobalHubsAsync();
|
|
|
|
// handle response
|
|
- target: $["paths"]["/hubs/home/recentlyAdded"]["get"]
|
|
update:
|
|
x-codeSamples:
|
|
- lang: csharp
|
|
label: PlexCSharp
|
|
source: |-
|
|
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>");
|
|
|
|
GetRecentlyAddedRequest req = new GetRecentlyAddedRequest() {
|
|
ContentDirectoryID = 39486,
|
|
SectionID = 2,
|
|
Type = LukeHagar.PlexAPI.SDK.Models.Requests.Type.TvShow,
|
|
IncludeMeta = IncludeMeta.Enable,
|
|
};
|
|
|
|
var res = await sdk.Hubs.GetRecentlyAddedAsync(req);
|
|
|
|
// handle response
|
|
- target: $["paths"]["/hubs/search"]["get"]
|
|
update:
|
|
x-codeSamples:
|
|
- lang: csharp
|
|
label: PlexCSharp
|
|
source: |-
|
|
using LukeHagar.PlexAPI.SDK;
|
|
using LukeHagar.PlexAPI.SDK.Models.Components;
|
|
|
|
var sdk = new PlexAPI(accessToken: "<YOUR_API_KEY_HERE>");
|
|
|
|
var res = await sdk.Search.PerformSearchAsync(
|
|
query: "arnold",
|
|
limit: 5D
|
|
);
|
|
|
|
// handle response
|
|
- target: $["paths"]["/hubs/search/voice"]["get"]
|
|
update:
|
|
x-codeSamples:
|
|
- lang: csharp
|
|
label: PlexCSharp
|
|
source: |-
|
|
using LukeHagar.PlexAPI.SDK;
|
|
using LukeHagar.PlexAPI.SDK.Models.Components;
|
|
|
|
var sdk = new PlexAPI(accessToken: "<YOUR_API_KEY_HERE>");
|
|
|
|
var res = await sdk.Search.PerformVoiceSearchAsync(
|
|
query: "dead+poop",
|
|
limit: 5D
|
|
);
|
|
|
|
// handle response
|
|
- target: $["paths"]["/hubs/sections/{sectionId}"]["get"]
|
|
update:
|
|
x-codeSamples:
|
|
- lang: csharp
|
|
label: PlexCSharp
|
|
source: |-
|
|
using LukeHagar.PlexAPI.SDK;
|
|
using LukeHagar.PlexAPI.SDK.Models.Components;
|
|
|
|
var sdk = new PlexAPI(accessToken: "<YOUR_API_KEY_HERE>");
|
|
|
|
var res = await sdk.Hubs.GetLibraryHubsAsync(sectionId: 492.74D);
|
|
|
|
// handle response
|
|
- target: $["paths"]["/identity"]["get"]
|
|
update:
|
|
x-codeSamples:
|
|
- lang: csharp
|
|
label: PlexCSharp
|
|
source: |-
|
|
using LukeHagar.PlexAPI.SDK;
|
|
|
|
var sdk = new PlexAPI();
|
|
|
|
var res = await sdk.Server.GetServerIdentityAsync();
|
|
|
|
// handle response
|
|
- target: $["paths"]["/library/all/top"]["get"]
|
|
update:
|
|
x-codeSamples:
|
|
- lang: csharp
|
|
label: PlexCSharp
|
|
source: |-
|
|
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.Library.GetTopWatchedContentAsync(
|
|
type: GetTopWatchedContentQueryParamType.TvShow,
|
|
includeGuids: GetTopWatchedContentQueryParamIncludeGuids.Enable
|
|
);
|
|
|
|
// handle response
|
|
- target: $["paths"]["/library/hashes"]["get"]
|
|
update:
|
|
x-codeSamples:
|
|
- lang: csharp
|
|
label: PlexCSharp
|
|
source: |-
|
|
using LukeHagar.PlexAPI.SDK;
|
|
using LukeHagar.PlexAPI.SDK.Models.Components;
|
|
|
|
var sdk = new PlexAPI(accessToken: "<YOUR_API_KEY_HERE>");
|
|
|
|
var res = await sdk.Library.GetFileHashAsync(url: "file://C:\Image.png&type=13");
|
|
|
|
// handle response
|
|
- target: $["paths"]["/library/metadata/{ratingKey}"]["get"]
|
|
update:
|
|
x-codeSamples:
|
|
- lang: csharp
|
|
label: PlexCSharp
|
|
source: |-
|
|
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>");
|
|
|
|
GetMediaMetaDataRequest req = new GetMediaMetaDataRequest() {
|
|
RatingKey = "21119,21617",
|
|
IncludeConcerts = true,
|
|
IncludeExtras = true,
|
|
IncludeOnDeck = true,
|
|
IncludePopularLeaves = true,
|
|
IncludePreferences = true,
|
|
IncludeReviews = true,
|
|
IncludeChapters = true,
|
|
IncludeStations = true,
|
|
IncludeExternalMedia = true,
|
|
AsyncAugmentMetadata = true,
|
|
AsyncCheckFiles = true,
|
|
AsyncRefreshAnalysis = true,
|
|
AsyncRefreshLocalMediaAgent = true,
|
|
};
|
|
|
|
var res = await sdk.Library.GetMediaMetaDataAsync(req);
|
|
|
|
// handle response
|
|
- target: $["paths"]["/library/metadata/{ratingKey}/arts"]["get"]
|
|
update:
|
|
x-codeSamples:
|
|
- lang: csharp
|
|
label: PlexCSharp
|
|
source: |-
|
|
using LukeHagar.PlexAPI.SDK;
|
|
using LukeHagar.PlexAPI.SDK.Models.Components;
|
|
|
|
var sdk = new PlexAPI(accessToken: "<YOUR_API_KEY_HERE>");
|
|
|
|
var res = await sdk.Library.GetMediaArtsAsync(ratingKey: 16099);
|
|
|
|
// handle response
|
|
- target: $["paths"]["/library/metadata/{ratingKey}/arts"]["post"]
|
|
update:
|
|
x-codeSamples:
|
|
- lang: csharp
|
|
label: PlexCSharp
|
|
source: |-
|
|
using LukeHagar.PlexAPI.SDK;
|
|
using LukeHagar.PlexAPI.SDK.Models.Components;
|
|
|
|
var sdk = new PlexAPI(accessToken: "<YOUR_API_KEY_HERE>");
|
|
|
|
var res = await sdk.Library.PostMediaArtsAsync(
|
|
ratingKey: 2268,
|
|
url: "https://api.mediux.pro/assets/fcfdc487-dd07-4993-a0c1-0a3015362e5b"
|
|
);
|
|
|
|
// handle response
|
|
- target: $["paths"]["/library/metadata/{ratingKey}/banner"]["get"]
|
|
update:
|
|
x-codeSamples:
|
|
- lang: csharp
|
|
label: PlexCSharp
|
|
source: |-
|
|
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>");
|
|
|
|
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
|
|
- target: $["paths"]["/library/metadata/{ratingKey}/children"]["get"]
|
|
update:
|
|
x-codeSamples:
|
|
- lang: csharp
|
|
label: PlexCSharp
|
|
source: |-
|
|
using LukeHagar.PlexAPI.SDK;
|
|
using LukeHagar.PlexAPI.SDK.Models.Components;
|
|
|
|
var sdk = new PlexAPI(accessToken: "<YOUR_API_KEY_HERE>");
|
|
|
|
var res = await sdk.Library.GetMetadataChildrenAsync(
|
|
ratingKey: 2403.67D,
|
|
includeElements: "Stream"
|
|
);
|
|
|
|
// handle response
|
|
- target: $["paths"]["/library/metadata/{ratingKey}/posters"]["get"]
|
|
update:
|
|
x-codeSamples:
|
|
- lang: csharp
|
|
label: PlexCSharp
|
|
source: |-
|
|
using LukeHagar.PlexAPI.SDK;
|
|
using LukeHagar.PlexAPI.SDK.Models.Components;
|
|
|
|
var sdk = new PlexAPI(accessToken: "<YOUR_API_KEY_HERE>");
|
|
|
|
var res = await sdk.Library.GetMediaPostersAsync(ratingKey: 16099);
|
|
|
|
// handle response
|
|
- target: $["paths"]["/library/metadata/{ratingKey}/posters"]["post"]
|
|
update:
|
|
x-codeSamples:
|
|
- lang: csharp
|
|
label: PlexCSharp
|
|
source: |-
|
|
using LukeHagar.PlexAPI.SDK;
|
|
using LukeHagar.PlexAPI.SDK.Models.Components;
|
|
|
|
var sdk = new PlexAPI(accessToken: "<YOUR_API_KEY_HERE>");
|
|
|
|
var res = await sdk.Library.PostMediaPosterAsync(
|
|
ratingKey: 2268,
|
|
url: "https://api.mediux.pro/assets/fcfdc487-dd07-4993-a0c1-0a3015362e5b"
|
|
);
|
|
|
|
// handle response
|
|
- target: $["paths"]["/library/metadata/{ratingKey}/thumb"]["get"]
|
|
update:
|
|
x-codeSamples:
|
|
- lang: csharp
|
|
label: PlexCSharp
|
|
source: |-
|
|
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>");
|
|
|
|
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
|
|
- target: $["paths"]["/library/recentlyAdded"]["get"]
|
|
update:
|
|
x-codeSamples:
|
|
- lang: csharp
|
|
label: PlexCSharp
|
|
source: |-
|
|
using LukeHagar.PlexAPI.SDK;
|
|
using LukeHagar.PlexAPI.SDK.Models.Components;
|
|
using LukeHagar.PlexAPI.SDK.Models.Requests;
|
|
using System.Collections.Generic;
|
|
|
|
var sdk = new PlexAPI(accessToken: "<YOUR_API_KEY_HERE>");
|
|
|
|
GetRecentlyAddedLibraryRequest req = new GetRecentlyAddedLibraryRequest() {
|
|
ContentDirectoryID = 2,
|
|
PinnedContentDirectoryID = new List<long>() {
|
|
3,
|
|
5,
|
|
7,
|
|
13,
|
|
12,
|
|
1,
|
|
6,
|
|
14,
|
|
2,
|
|
10,
|
|
16,
|
|
17,
|
|
},
|
|
SectionID = 2,
|
|
Type = QueryParamType.TvShow,
|
|
IncludeMeta = QueryParamIncludeMeta.Enable,
|
|
};
|
|
|
|
var res = await sdk.Library.GetRecentlyAddedLibraryAsync(req);
|
|
|
|
// handle response
|
|
- target: $["paths"]["/library/search"]["get"]
|
|
update:
|
|
x-codeSamples:
|
|
- lang: csharp
|
|
label: PlexCSharp
|
|
source: |-
|
|
using LukeHagar.PlexAPI.SDK;
|
|
using LukeHagar.PlexAPI.SDK.Models.Components;
|
|
using LukeHagar.PlexAPI.SDK.Models.Requests;
|
|
using System.Collections.Generic;
|
|
|
|
var sdk = new PlexAPI(accessToken: "<YOUR_API_KEY_HERE>");
|
|
|
|
GetSearchAllLibrariesRequest req = new GetSearchAllLibrariesRequest() {
|
|
Query = "<value>",
|
|
ClientID = "3381b62b-9ab7-4e37-827b-203e9809eb58",
|
|
SearchTypes = new List<SearchTypes>() {
|
|
SearchTypes.People,
|
|
},
|
|
IncludeCollections = GetSearchAllLibrariesQueryParamIncludeCollections.Enable,
|
|
IncludeExternalMedia = GetSearchAllLibrariesQueryParamIncludeExternalMedia.Enable,
|
|
};
|
|
|
|
var res = await sdk.Library.GetSearchAllLibrariesAsync(req);
|
|
|
|
// handle response
|
|
- target: $["paths"]["/library/sections"]["get"]
|
|
update:
|
|
x-codeSamples:
|
|
- lang: csharp
|
|
label: PlexCSharp
|
|
source: |-
|
|
using LukeHagar.PlexAPI.SDK;
|
|
using LukeHagar.PlexAPI.SDK.Models.Components;
|
|
|
|
var sdk = new PlexAPI(accessToken: "<YOUR_API_KEY_HERE>");
|
|
|
|
var res = await sdk.Library.GetAllLibrariesAsync();
|
|
|
|
// handle response
|
|
- target: $["paths"]["/library/sections/watchlist/{filter}"]["get"]
|
|
update:
|
|
x-codeSamples:
|
|
- lang: csharp
|
|
label: PlexCSharp
|
|
source: |-
|
|
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>");
|
|
|
|
GetWatchListRequest req = new GetWatchListRequest() {
|
|
Filter = Filter.Released,
|
|
XPlexToken = "CV5xoxjTpFKUzBTShsaf",
|
|
};
|
|
|
|
var res = await sdk.Watchlist.GetWatchListAsync(req);
|
|
|
|
// handle response
|
|
- target: $["paths"]["/library/sections/{sectionKey}"]["delete"]
|
|
update:
|
|
x-codeSamples:
|
|
- lang: csharp
|
|
label: PlexCSharp
|
|
source: |-
|
|
using LukeHagar.PlexAPI.SDK;
|
|
using LukeHagar.PlexAPI.SDK.Models.Components;
|
|
|
|
var sdk = new PlexAPI(accessToken: "<YOUR_API_KEY_HERE>");
|
|
|
|
var res = await sdk.Library.DeleteLibraryAsync(sectionKey: 9518);
|
|
|
|
// handle response
|
|
- target: $["paths"]["/library/sections/{sectionKey}"]["get"]
|
|
update:
|
|
x-codeSamples:
|
|
- lang: csharp
|
|
label: PlexCSharp
|
|
source: |-
|
|
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.Library.GetLibraryDetailsAsync(
|
|
sectionKey: 9518,
|
|
includeDetails: IncludeDetails.Zero
|
|
);
|
|
|
|
// handle response
|
|
- target: $["paths"]["/library/sections/{sectionKey}/actor"]["get"]
|
|
update:
|
|
x-codeSamples:
|
|
- lang: csharp
|
|
label: PlexCSharp
|
|
source: |-
|
|
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.Library.GetActorsLibraryAsync(
|
|
sectionKey: 9518,
|
|
type: GetActorsLibraryQueryParamType.TvShow
|
|
);
|
|
|
|
// handle response
|
|
- target: $["paths"]["/library/sections/{sectionKey}/all"]["get"]
|
|
update:
|
|
x-codeSamples:
|
|
- lang: csharp
|
|
label: PlexCSharp
|
|
source: |-
|
|
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>");
|
|
|
|
GetLibrarySectionsAllRequest req = new GetLibrarySectionsAllRequest() {
|
|
SectionKey = 9518,
|
|
Type = GetLibrarySectionsAllQueryParamType.TvShow,
|
|
IncludeMeta = GetLibrarySectionsAllQueryParamIncludeMeta.Enable,
|
|
IncludeGuids = QueryParamIncludeGuids.Enable,
|
|
IncludeAdvanced = IncludeAdvanced.Enable,
|
|
IncludeCollections = QueryParamIncludeCollections.Enable,
|
|
IncludeExternalMedia = QueryParamIncludeExternalMedia.Enable,
|
|
};
|
|
|
|
var res = await sdk.Library.GetLibrarySectionsAllAsync(req);
|
|
|
|
// handle response
|
|
- target: $["paths"]["/library/sections/{sectionKey}/country"]["get"]
|
|
update:
|
|
x-codeSamples:
|
|
- lang: csharp
|
|
label: PlexCSharp
|
|
source: |-
|
|
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.Library.GetCountriesLibraryAsync(
|
|
sectionKey: 9518,
|
|
type: GetCountriesLibraryQueryParamType.TvShow
|
|
);
|
|
|
|
// handle response
|
|
- target: $["paths"]["/library/sections/{sectionKey}/genre"]["get"]
|
|
update:
|
|
x-codeSamples:
|
|
- lang: csharp
|
|
label: PlexCSharp
|
|
source: |-
|
|
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.Library.GetGenresLibraryAsync(
|
|
sectionKey: 9518,
|
|
type: GetGenresLibraryQueryParamType.TvShow
|
|
);
|
|
|
|
// handle response
|
|
- target: $["paths"]["/library/sections/{sectionKey}/refresh"]["get"]
|
|
update:
|
|
x-codeSamples:
|
|
- lang: csharp
|
|
label: PlexCSharp
|
|
source: |-
|
|
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.Library.GetRefreshLibraryMetadataAsync(
|
|
sectionKey: 9518,
|
|
force: Force.Zero
|
|
);
|
|
|
|
// handle response
|
|
- target: $["paths"]["/library/sections/{sectionKey}/search"]["get"]
|
|
update:
|
|
x-codeSamples:
|
|
- lang: csharp
|
|
label: PlexCSharp
|
|
source: |-
|
|
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.Library.GetSearchLibraryAsync(
|
|
sectionKey: 9518,
|
|
type: GetSearchLibraryQueryParamType.TvShow
|
|
);
|
|
|
|
// handle response
|
|
- target: $["paths"]["/library/sections/{sectionKey}/{tag}"]["get"]
|
|
update:
|
|
x-codeSamples:
|
|
- lang: csharp
|
|
label: PlexCSharp
|
|
source: |-
|
|
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>");
|
|
|
|
GetLibraryItemsRequest req = new GetLibraryItemsRequest() {
|
|
Tag = Tag.Newest,
|
|
IncludeGuids = IncludeGuids.Enable,
|
|
Type = GetLibraryItemsQueryParamType.TvShow,
|
|
SectionKey = 9518,
|
|
IncludeMeta = GetLibraryItemsQueryParamIncludeMeta.Enable,
|
|
};
|
|
|
|
var res = await sdk.Library.GetLibraryItemsAsync(req);
|
|
|
|
// handle response
|
|
- target: $["paths"]["/log"]["get"]
|
|
update:
|
|
x-codeSamples:
|
|
- lang: csharp
|
|
label: PlexCSharp
|
|
source: |-
|
|
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.Log.LogLineAsync(
|
|
level: Level.Three,
|
|
message: "Test log message",
|
|
source: "Postman"
|
|
);
|
|
|
|
// handle response
|
|
- target: $["paths"]["/log"]["post"]
|
|
update:
|
|
x-codeSamples:
|
|
- lang: csharp
|
|
label: PlexCSharp
|
|
source: |-
|
|
using LukeHagar.PlexAPI.SDK;
|
|
using LukeHagar.PlexAPI.SDK.Models.Components;
|
|
|
|
var sdk = new PlexAPI(accessToken: "<YOUR_API_KEY_HERE>");
|
|
|
|
string req = @"level=4&message=Test%20message%201&source=postman
|
|
level=3&message=Test%20message%202&source=postman
|
|
level=1&message=Test%20message%203&source=postman";
|
|
|
|
var res = await sdk.Log.LogMultiLineAsync(req);
|
|
|
|
// handle response
|
|
- target: $["paths"]["/log/networked"]["get"]
|
|
update:
|
|
x-codeSamples:
|
|
- lang: csharp
|
|
label: PlexCSharp
|
|
source: |-
|
|
using LukeHagar.PlexAPI.SDK;
|
|
using LukeHagar.PlexAPI.SDK.Models.Components;
|
|
|
|
var sdk = new PlexAPI(accessToken: "<YOUR_API_KEY_HERE>");
|
|
|
|
var res = await sdk.Log.EnablePaperTrailAsync();
|
|
|
|
// handle response
|
|
- target: $["paths"]["/media/providers"]["get"]
|
|
update:
|
|
x-codeSamples:
|
|
- lang: csharp
|
|
label: PlexCSharp
|
|
source: |-
|
|
using LukeHagar.PlexAPI.SDK;
|
|
using LukeHagar.PlexAPI.SDK.Models.Components;
|
|
|
|
var sdk = new PlexAPI(accessToken: "<YOUR_API_KEY_HERE>");
|
|
|
|
var res = await sdk.Server.GetMediaProvidersAsync(xPlexToken: "CV5xoxjTpFKUzBTShsaf");
|
|
|
|
// handle response
|
|
- target: $["paths"]["/myplex/account"]["get"]
|
|
update:
|
|
x-codeSamples:
|
|
- lang: csharp
|
|
label: PlexCSharp
|
|
source: |-
|
|
using LukeHagar.PlexAPI.SDK;
|
|
using LukeHagar.PlexAPI.SDK.Models.Components;
|
|
|
|
var sdk = new PlexAPI(accessToken: "<YOUR_API_KEY_HERE>");
|
|
|
|
var res = await sdk.Server.GetMyPlexAccountAsync();
|
|
|
|
// handle response
|
|
- target: $["paths"]["/photo/:/transcode"]["get"]
|
|
update:
|
|
x-codeSamples:
|
|
- lang: csharp
|
|
label: PlexCSharp
|
|
source: |-
|
|
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>");
|
|
|
|
GetResizedPhotoRequest req = new GetResizedPhotoRequest() {
|
|
Width = 110D,
|
|
Height = 165D,
|
|
Blur = 0D,
|
|
MinSize = MinSize.Zero,
|
|
Upscale = Upscale.Zero,
|
|
Url = "/library/metadata/49564/thumb/1654258204",
|
|
};
|
|
|
|
var res = await sdk.Server.GetResizedPhotoAsync(req);
|
|
|
|
// handle response
|
|
- target: $["paths"]["/pins"]["post"]
|
|
update:
|
|
x-codeSamples:
|
|
- lang: csharp
|
|
label: PlexCSharp
|
|
source: |-
|
|
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
|
|
- target: $["paths"]["/pins/{pinID}"]["get"]
|
|
update:
|
|
x-codeSamples:
|
|
- lang: csharp
|
|
label: PlexCSharp
|
|
source: |-
|
|
using LukeHagar.PlexAPI.SDK;
|
|
using LukeHagar.PlexAPI.SDK.Models.Requests;
|
|
|
|
var sdk = new PlexAPI();
|
|
|
|
GetTokenByPinIdRequest req = new GetTokenByPinIdRequest() {
|
|
PinID = 232248,
|
|
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
|
|
- target: $["paths"]["/playlists"]["get"]
|
|
update:
|
|
x-codeSamples:
|
|
- lang: csharp
|
|
label: PlexCSharp
|
|
source: |-
|
|
using LukeHagar.PlexAPI.SDK;
|
|
using LukeHagar.PlexAPI.SDK.Models.Components;
|
|
|
|
var sdk = new PlexAPI(accessToken: "<YOUR_API_KEY_HERE>");
|
|
|
|
var res = await sdk.Playlists.GetPlaylistsAsync();
|
|
|
|
// handle response
|
|
- target: $["paths"]["/playlists"]["post"]
|
|
update:
|
|
x-codeSamples:
|
|
- lang: csharp
|
|
label: PlexCSharp
|
|
source: |-
|
|
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>");
|
|
|
|
CreatePlaylistRequest req = new CreatePlaylistRequest() {
|
|
Title = "<value>",
|
|
Type = CreatePlaylistQueryParamType.Audio,
|
|
Smart = Smart.One,
|
|
Uri = "https://short-term-disconnection.name/",
|
|
};
|
|
|
|
var res = await sdk.Playlists.CreatePlaylistAsync(req);
|
|
|
|
// handle response
|
|
- target: $["paths"]["/playlists/upload"]["post"]
|
|
update:
|
|
x-codeSamples:
|
|
- lang: csharp
|
|
label: PlexCSharp
|
|
source: |-
|
|
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.Playlists.UploadPlaylistAsync(
|
|
path: "/home/barkley/playlist.m3u",
|
|
force: QueryParamForce.One,
|
|
sectionID: 1
|
|
);
|
|
|
|
// handle response
|
|
- target: $["paths"]["/playlists/{playlistID}"]["delete"]
|
|
update:
|
|
x-codeSamples:
|
|
- lang: csharp
|
|
label: PlexCSharp
|
|
source: |-
|
|
using LukeHagar.PlexAPI.SDK;
|
|
using LukeHagar.PlexAPI.SDK.Models.Components;
|
|
|
|
var sdk = new PlexAPI(accessToken: "<YOUR_API_KEY_HERE>");
|
|
|
|
var res = await sdk.Playlists.DeletePlaylistAsync(playlistID: 3432.93D);
|
|
|
|
// handle response
|
|
- target: $["paths"]["/playlists/{playlistID}"]["get"]
|
|
update:
|
|
x-codeSamples:
|
|
- lang: csharp
|
|
label: PlexCSharp
|
|
source: |-
|
|
using LukeHagar.PlexAPI.SDK;
|
|
using LukeHagar.PlexAPI.SDK.Models.Components;
|
|
|
|
var sdk = new PlexAPI(accessToken: "<YOUR_API_KEY_HERE>");
|
|
|
|
var res = await sdk.Playlists.GetPlaylistAsync(playlistID: 8419.53D);
|
|
|
|
// handle response
|
|
- target: $["paths"]["/playlists/{playlistID}"]["put"]
|
|
update:
|
|
x-codeSamples:
|
|
- lang: csharp
|
|
label: PlexCSharp
|
|
source: |-
|
|
using LukeHagar.PlexAPI.SDK;
|
|
using LukeHagar.PlexAPI.SDK.Models.Components;
|
|
|
|
var sdk = new PlexAPI(accessToken: "<YOUR_API_KEY_HERE>");
|
|
|
|
var res = await sdk.Playlists.UpdatePlaylistAsync(playlistID: 1579.66D);
|
|
|
|
// handle response
|
|
- target: $["paths"]["/playlists/{playlistID}/items"]["delete"]
|
|
update:
|
|
x-codeSamples:
|
|
- lang: csharp
|
|
label: PlexCSharp
|
|
source: |-
|
|
using LukeHagar.PlexAPI.SDK;
|
|
using LukeHagar.PlexAPI.SDK.Models.Components;
|
|
|
|
var sdk = new PlexAPI(accessToken: "<YOUR_API_KEY_HERE>");
|
|
|
|
var res = await sdk.Playlists.ClearPlaylistContentsAsync(playlistID: 4137.37D);
|
|
|
|
// handle response
|
|
- target: $["paths"]["/playlists/{playlistID}/items"]["get"]
|
|
update:
|
|
x-codeSamples:
|
|
- lang: csharp
|
|
label: PlexCSharp
|
|
source: |-
|
|
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.Playlists.GetPlaylistContentsAsync(
|
|
playlistID: 5535.42D,
|
|
type: GetPlaylistContentsQueryParamType.TvShow
|
|
);
|
|
|
|
// handle response
|
|
- target: $["paths"]["/playlists/{playlistID}/items"]["put"]
|
|
update:
|
|
x-codeSamples:
|
|
- lang: csharp
|
|
label: PlexCSharp
|
|
source: |-
|
|
using LukeHagar.PlexAPI.SDK;
|
|
using LukeHagar.PlexAPI.SDK.Models.Components;
|
|
|
|
var sdk = new PlexAPI(accessToken: "<YOUR_API_KEY_HERE>");
|
|
|
|
var res = await sdk.Playlists.AddPlaylistContentsAsync(
|
|
playlistID: 7013.44D,
|
|
uri: "server://12345/com.plexapp.plugins.library/library/metadata/1",
|
|
playQueueID: 123D
|
|
);
|
|
|
|
// handle response
|
|
- target: $["paths"]["/resources"]["get"]
|
|
update:
|
|
x-codeSamples:
|
|
- lang: csharp
|
|
label: PlexCSharp
|
|
source: |-
|
|
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
|
|
- target: $["paths"]["/search"]["get"]
|
|
update:
|
|
x-codeSamples:
|
|
- lang: csharp
|
|
label: PlexCSharp
|
|
source: |-
|
|
using LukeHagar.PlexAPI.SDK;
|
|
using LukeHagar.PlexAPI.SDK.Models.Components;
|
|
|
|
var sdk = new PlexAPI(accessToken: "<YOUR_API_KEY_HERE>");
|
|
|
|
var res = await sdk.Search.GetSearchResultsAsync(query: "110");
|
|
|
|
// handle response
|
|
- target: $["paths"]["/security/resources"]["get"]
|
|
update:
|
|
x-codeSamples:
|
|
- lang: csharp
|
|
label: PlexCSharp
|
|
source: |-
|
|
using LukeHagar.PlexAPI.SDK;
|
|
using LukeHagar.PlexAPI.SDK.Models.Components;
|
|
|
|
var sdk = new PlexAPI(accessToken: "<YOUR_API_KEY_HERE>");
|
|
|
|
var res = await sdk.Authentication.GetSourceConnectionInformationAsync(source: "server://client-identifier");
|
|
|
|
// handle response
|
|
- target: $["paths"]["/security/token"]["get"]
|
|
update:
|
|
x-codeSamples:
|
|
- lang: csharp
|
|
label: PlexCSharp
|
|
source: |-
|
|
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.Authentication.GetTransientTokenAsync(
|
|
type: GetTransientTokenQueryParamType.Delegation,
|
|
scope: Scope.All
|
|
);
|
|
|
|
// handle response
|
|
- target: $["paths"]["/servers"]["get"]
|
|
update:
|
|
x-codeSamples:
|
|
- lang: csharp
|
|
label: PlexCSharp
|
|
source: |-
|
|
using LukeHagar.PlexAPI.SDK;
|
|
using LukeHagar.PlexAPI.SDK.Models.Components;
|
|
|
|
var sdk = new PlexAPI(accessToken: "<YOUR_API_KEY_HERE>");
|
|
|
|
var res = await sdk.Server.GetServerListAsync();
|
|
|
|
// handle response
|
|
- target: $["paths"]["/statistics/bandwidth"]["get"]
|
|
update:
|
|
x-codeSamples:
|
|
- lang: csharp
|
|
label: PlexCSharp
|
|
source: |-
|
|
using LukeHagar.PlexAPI.SDK;
|
|
using LukeHagar.PlexAPI.SDK.Models.Components;
|
|
|
|
var sdk = new PlexAPI(accessToken: "<YOUR_API_KEY_HERE>");
|
|
|
|
var res = await sdk.Statistics.GetBandwidthStatisticsAsync(timespan: 4);
|
|
|
|
// handle response
|
|
- target: $["paths"]["/statistics/media"]["get"]
|
|
update:
|
|
x-codeSamples:
|
|
- lang: csharp
|
|
label: PlexCSharp
|
|
source: |-
|
|
using LukeHagar.PlexAPI.SDK;
|
|
using LukeHagar.PlexAPI.SDK.Models.Components;
|
|
|
|
var sdk = new PlexAPI(accessToken: "<YOUR_API_KEY_HERE>");
|
|
|
|
var res = await sdk.Statistics.GetStatisticsAsync(timespan: 4);
|
|
|
|
// handle response
|
|
- target: $["paths"]["/statistics/resources"]["get"]
|
|
update:
|
|
x-codeSamples:
|
|
- lang: csharp
|
|
label: PlexCSharp
|
|
source: |-
|
|
using LukeHagar.PlexAPI.SDK;
|
|
using LukeHagar.PlexAPI.SDK.Models.Components;
|
|
|
|
var sdk = new PlexAPI(accessToken: "<YOUR_API_KEY_HERE>");
|
|
|
|
var res = await sdk.Statistics.GetResourcesStatisticsAsync(timespan: 4);
|
|
|
|
// handle response
|
|
- target: $["paths"]["/status/sessions"]["get"]
|
|
update:
|
|
x-codeSamples:
|
|
- lang: csharp
|
|
label: PlexCSharp
|
|
source: |-
|
|
using LukeHagar.PlexAPI.SDK;
|
|
using LukeHagar.PlexAPI.SDK.Models.Components;
|
|
|
|
var sdk = new PlexAPI(accessToken: "<YOUR_API_KEY_HERE>");
|
|
|
|
var res = await sdk.Sessions.GetSessionsAsync();
|
|
|
|
// handle response
|
|
- target: $["paths"]["/status/sessions/history/all"]["get"]
|
|
update:
|
|
x-codeSamples:
|
|
- lang: csharp
|
|
label: PlexCSharp
|
|
source: |-
|
|
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.Sessions.GetSessionHistoryAsync(
|
|
sort: "viewedAt:desc",
|
|
accountId: 1,
|
|
filter: new QueryParamFilter() {},
|
|
librarySectionID: 12
|
|
);
|
|
|
|
// handle response
|
|
- target: $["paths"]["/transcode/sessions"]["get"]
|
|
update:
|
|
x-codeSamples:
|
|
- lang: csharp
|
|
label: PlexCSharp
|
|
source: |-
|
|
using LukeHagar.PlexAPI.SDK;
|
|
using LukeHagar.PlexAPI.SDK.Models.Components;
|
|
|
|
var sdk = new PlexAPI(accessToken: "<YOUR_API_KEY_HERE>");
|
|
|
|
var res = await sdk.Sessions.GetTranscodeSessionsAsync();
|
|
|
|
// handle response
|
|
- target: $["paths"]["/transcode/sessions/{sessionKey}"]["delete"]
|
|
update:
|
|
x-codeSamples:
|
|
- lang: csharp
|
|
label: PlexCSharp
|
|
source: |-
|
|
using LukeHagar.PlexAPI.SDK;
|
|
using LukeHagar.PlexAPI.SDK.Models.Components;
|
|
|
|
var sdk = new PlexAPI(accessToken: "<YOUR_API_KEY_HERE>");
|
|
|
|
var res = await sdk.Sessions.StopTranscodeSessionAsync(sessionKey: "zz7llzqlx8w9vnrsbnwhbmep");
|
|
|
|
// handle response
|
|
- target: $["paths"]["/updater/apply"]["put"]
|
|
update:
|
|
x-codeSamples:
|
|
- lang: csharp
|
|
label: PlexCSharp
|
|
source: |-
|
|
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.Updater.ApplyUpdatesAsync(
|
|
tonight: Tonight.One,
|
|
skip: Skip.One
|
|
);
|
|
|
|
// handle response
|
|
- target: $["paths"]["/updater/check"]["put"]
|
|
update:
|
|
x-codeSamples:
|
|
- lang: csharp
|
|
label: PlexCSharp
|
|
source: |-
|
|
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.Updater.CheckForUpdatesAsync(download: Download.One);
|
|
|
|
// handle response
|
|
- target: $["paths"]["/updater/status"]["get"]
|
|
update:
|
|
x-codeSamples:
|
|
- lang: csharp
|
|
label: PlexCSharp
|
|
source: |-
|
|
using LukeHagar.PlexAPI.SDK;
|
|
using LukeHagar.PlexAPI.SDK.Models.Components;
|
|
|
|
var sdk = new PlexAPI(accessToken: "<YOUR_API_KEY_HERE>");
|
|
|
|
var res = await sdk.Updater.GetUpdateStatusAsync();
|
|
|
|
// handle response
|
|
- target: $["paths"]["/user"]["get"]
|
|
update:
|
|
x-codeSamples:
|
|
- lang: csharp
|
|
label: PlexCSharp
|
|
source: |-
|
|
using LukeHagar.PlexAPI.SDK;
|
|
using LukeHagar.PlexAPI.SDK.Models.Components;
|
|
|
|
var sdk = new PlexAPI(accessToken: "<YOUR_API_KEY_HERE>");
|
|
|
|
var res = await sdk.Authentication.GetTokenDetailsAsync();
|
|
|
|
// handle response
|
|
- target: $["paths"]["/users"]["get"]
|
|
update:
|
|
x-codeSamples:
|
|
- lang: csharp
|
|
label: PlexCSharp
|
|
source: |-
|
|
using LukeHagar.PlexAPI.SDK;
|
|
using LukeHagar.PlexAPI.SDK.Models.Requests;
|
|
|
|
var sdk = new PlexAPI();
|
|
|
|
GetUsersRequest req = new GetUsersRequest() {
|
|
ClientID = "3381b62b-9ab7-4e37-827b-203e9809eb58",
|
|
ClientName = "Plex for Roku",
|
|
DeviceNickname = "Roku 3",
|
|
DeviceName = "Chrome",
|
|
DeviceScreenResolution = "1487x1165,2560x1440",
|
|
ClientVersion = "2.4.1",
|
|
Platform = "Roku",
|
|
ClientFeatures = "external-media,indirect-media,hub-style-list",
|
|
Model = "4200X",
|
|
XPlexSessionId = "97e136ef-4ddd-4ff3-89a7-a5820c96c2ca",
|
|
XPlexLanguage = "en",
|
|
PlatformVersion = "4.3 build 1057",
|
|
XPlexToken = "CV5xoxjTpFKUzBTShsaf",
|
|
};
|
|
|
|
var res = await sdk.Users.GetUsersAsync(req);
|
|
|
|
// handle response
|
|
- target: $["paths"]["/users/signin"]["post"]
|
|
update:
|
|
x-codeSamples:
|
|
- lang: csharp
|
|
label: PlexCSharp
|
|
source: |-
|
|
using LukeHagar.PlexAPI.SDK;
|
|
using LukeHagar.PlexAPI.SDK.Models.Requests;
|
|
|
|
var sdk = new PlexAPI();
|
|
|
|
PostUsersSignInDataRequest req = new PostUsersSignInDataRequest() {
|
|
ClientID = "3381b62b-9ab7-4e37-827b-203e9809eb58",
|
|
ClientName = "Plex for Roku",
|
|
DeviceNickname = "Roku 3",
|
|
ClientVersion = "2.4.1",
|
|
Platform = "Roku",
|
|
RequestBody = new PostUsersSignInDataRequestBody() {
|
|
Login = "username@email.com",
|
|
Password = "password123",
|
|
VerificationCode = "123456",
|
|
},
|
|
};
|
|
|
|
var res = await sdk.Authentication.PostUsersSignInDataAsync(req);
|
|
|
|
// handle response
|
|
- target: $["paths"]["/video/:/transcode/universal/start.mpd"]["get"]
|
|
update:
|
|
x-codeSamples:
|
|
- lang: csharp
|
|
label: PlexCSharp
|
|
source: |-
|
|
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>");
|
|
|
|
StartUniversalTranscodeRequest req = new StartUniversalTranscodeRequest() {
|
|
HasMDE = 1D,
|
|
Path = "/library/metadata/23409",
|
|
MediaIndex = 0D,
|
|
PartIndex = 0D,
|
|
Protocol = "hls",
|
|
FastSeek = 0D,
|
|
DirectPlay = 0D,
|
|
DirectStream = 0D,
|
|
SubtitleSize = 100D,
|
|
Subtites = "burn",
|
|
AudioBoost = 100D,
|
|
Location = "lan",
|
|
MediaBufferSize = 102400D,
|
|
Session = "zvcage8b7rkioqcm8f4uns4c",
|
|
AddDebugOverlay = 0D,
|
|
AutoAdjustQuality = 0D,
|
|
};
|
|
|
|
var res = await sdk.Video.StartUniversalTranscodeAsync(req);
|
|
|
|
// handle response
|