diff --git a/docs/plex-media-server/activities.tag.mdx b/docs/plex-media-server/activities.tag.mdx new file mode 100644 index 0000000..0937b9b --- /dev/null +++ b/docs/plex-media-server/activities.tag.mdx @@ -0,0 +1,27 @@ +--- +id: activities +title: "Activities" +description: "Activities" +custom_edit_url: null +--- + + + +Activities are awesome. They provide a way to monitor and control asynchronous operations on the server. In order to receive real-time updates for activities, a client would normally subscribe via either EventSource or Websocket endpoints. +Activities are associated with HTTP replies via a special `X-Plex-Activity` header which contains the UUID of the activity. +Activities are optional cancellable. If cancellable, they may be cancelled via the `DELETE` endpoint. Other details: +- They can contain a `progress` (from 0 to 100) marking the percent completion of the activity. +- They must contain an `type` which is used by clients to distinguish the specific activity. +- They may contain a `Context` object with attributes which associate the activity with various specific entities (items, libraries, etc.) +- The may contain a `Response` object which attributes which represent the result of the asynchronous operation. + + + + +```mdx-code-block +import DocCardList from '@theme/DocCardList'; +import {useCurrentSidebarCategory} from '@docusaurus/theme-common'; + + +``` + \ No newline at end of file diff --git a/docs/plex-media-server/add-playlist-contents.api.mdx b/docs/plex-media-server/add-playlist-contents.api.mdx new file mode 100644 index 0000000..ebb13d9 --- /dev/null +++ b/docs/plex-media-server/add-playlist-contents.api.mdx @@ -0,0 +1,39 @@ +--- +id: add-playlist-contents +sidebar_label: Adding to a Playlist +hide_title: true +hide_table_of_contents: true +api: {"tags":["Playlists"],"description":"Adds a generator to a playlist, same parameters as the POST above. With a dumb playlist, this adds the specified items to the playlist. \nWith a smart playlist, passing a new `uri` parameter replaces the rules for the playlist. Returns the playlist.\n","operationId":"addPlaylistContents","parameters":[{"name":"playlistID","description":"the ID of the playlist","in":"path","schema":{"type":"number"},"required":true},{"name":"uri","description":"the content URI for the playlist","in":"query","schema":{"type":"string","example":"library://.."},"required":true},{"name":"playQueueID","description":"the play queue to add to a playlist","in":"query","schema":{"type":"number","example":123},"required":true}],"responses":{"200":{"description":"Playlist Updated"},"401":{"description":"Unauthorized - Returned if the X-Plex-Token is missing from the header or query.","content":{"application/json":{"schema":{"type":"object","properties":{"errors":{"type":"array","items":{"type":"object","properties":{"code":{"type":"number","example":1001},"message":{"type":"string","example":"User could not be authenticated"},"status":{"type":"number","example":401}}}}}}}}}},"method":"put","path":"/playlists/{playlistID}/items","servers":[{"url":"http://{Local IP}:{Port}","variables":{"Local IP":{"default":"10.10.10.47","description":"The Local IP Address of your plex server"},"Port":{"default":"32400","description":"The port to access your plex server"}}},{"url":"https://{Local IP}:{Port}","variables":{"Local IP":{"default":"10.10.10.47","description":"The Local IP Address of your plex server"},"Port":{"default":"32400","description":"The port to access your plex server"}}}],"security":[{"Token":[],"ClientIdentifier":[],"Device":[],"DeviceName":[],"Platform":[],"PlatformVersion":[],"Product":[],"Version":[]}],"securitySchemes":{"Token":{"description":"Plex Authentication Token","type":"apiKey","in":"header","name":"X-Plex-Token"},"ClientIdentifier":{"description":"Plex Authentication Token","type":"apiKey","in":"header","name":"X-Plex-Client-Identifier"},"DeviceName":{"description":"Primary name for the device eg. `Plex Web (Chrome)`","type":"apiKey","in":"header","name":"X-Plex-Device-Name"},"Device":{"description":"The type of device your application is running on\nDevice name and or model number, eg `iPhone3,2`, `Motorola XOOM™`, `LG5200TV`\n","type":"apiKey","in":"header","name":"X-Plex-Device"},"PlatformVersion":{"description":"Operating system version\neg `4.3.1`, `10.6.7`, `3.2`\n","type":"apiKey","in":"header","name":"X-Plex-Platform-Version"},"Platform":{"description":"Platform name \neg: `Web`, `iOS`, `MacOSX`, `Android`, `LG`\n","type":"apiKey","in":"header","name":"X-Plex-Platform"},"Product":{"description":"Plex application name \neg: `Laika`, `Plex Media Server`, `Media Link`\n","type":"apiKey","in":"header","name":"X-Plex-Product"},"Version":{"description":"Plex application version number","type":"apiKey","in":"header","name":"X-Plex-Version"}},"info":{"title":"Plex-API","summary":"A Plex Media Server API Map","description":"An Open API Spec for interacting with Plex.tv and Plex Servers","version":"0.0.3","contact":{"name":"Luke Hagar","url":"https://www.LukeHagar.com","email":"Lukeslakemail@gmail.com"},"license":{"name":"MIT","identifier":"MIT","url":"https://opensource.org/licenses/MIT"}},"postman":{"name":"Adding to a Playlist","description":{"content":"Adds a generator to a playlist, same parameters as the POST above. With a dumb playlist, this adds the specified items to the playlist. \nWith a smart playlist, passing a new `uri` parameter replaces the rules for the playlist. Returns the playlist.\n","type":"text/plain"},"url":{"path":["playlists",":playlistID","items"],"host":["{{baseUrl}}"],"query":[{"disabled":false,"description":{"content":"(Required) the content URI for the playlist","type":"text/plain"},"key":"uri","value":""},{"disabled":false,"description":{"content":"(Required) the play queue to add to a playlist","type":"text/plain"},"key":"playQueueID","value":""}],"variable":[{"disabled":false,"description":{"content":"(Required) the ID of the playlist","type":"text/plain"},"type":"any","value":"","key":"playlistID"}]},"header":[{"key":"Accept","value":"application/json"}],"method":"PUT"}} +sidebar_class_name: "put api-method" +info_path: docs/plex-media-server/plex-api +--- + +import ApiTabs from "@theme/ApiTabs"; +import DiscriminatorTabs from "@theme/DiscriminatorTabs"; +import MethodEndpoint from "@theme/ApiDemoPanel/MethodEndpoint"; +import MimeTabs from "@theme/MimeTabs"; +import ParamsItem from "@theme/ParamsItem"; +import ResponseSamples from "@theme/ResponseSamples"; +import SchemaItem from "@theme/SchemaItem"; +import SchemaTabs from "@theme/SchemaTabs"; +import TabItem from "@theme/TabItem"; + +

Adding to a Playlist

+ + + + + +Adds a generator to a playlist, same parameters as the POST above. With a dumb playlist, this adds the specified items to the playlist. +With a smart playlist, passing a new `uri` parameter replaces the rules for the playlist. Returns the playlist. + + +
Path Parameters
Query Parameters
+ +Playlist Updated + +
+ +Unauthorized - Returned if the X-Plex-Token is missing from the header or query. + +
Schema
    errors object[]
  • Array [
  • ]
\ No newline at end of file diff --git a/docs/plex-media-server/apply-updates.api.mdx b/docs/plex-media-server/apply-updates.api.mdx new file mode 100644 index 0000000..6b23137 --- /dev/null +++ b/docs/plex-media-server/apply-updates.api.mdx @@ -0,0 +1,42 @@ +--- +id: apply-updates +sidebar_label: Apply Updates +hide_title: true +hide_table_of_contents: true +api: {"tags":["Updater"],"description":"Note that these two parameters are effectively mutually exclusive. The `tonight` parameter takes precedence and `skip` will be ignored if `tonight` is also passed\n","operationId":"applyUpdates","parameters":[{"name":"tonight","description":"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","required":false,"in":"query","schema":{"enum":[0,1]},"example":1},{"name":"skip","description":"Indicate that the latest version should be marked as skipped. The entry for this version will have the `state` set to `skipped`.","required":false,"in":"query","schema":{"enum":[0,1]},"example":1}],"responses":{"200":{"description":"If the update process started correctly"},"401":{"description":"Unauthorized - Returned if the X-Plex-Token is missing from the header or query.","content":{"application/json":{"schema":{"type":"object","properties":{"errors":{"type":"array","items":{"type":"object","properties":{"code":{"type":"number","example":1001},"message":{"type":"string","example":"User could not be authenticated"},"status":{"type":"number","example":401}}}}}}}}},"500":{"description":"If the update process failed to start"}},"method":"put","path":"/updater/apply","servers":[{"url":"http://{Local IP}:{Port}","variables":{"Local IP":{"default":"10.10.10.47","description":"The Local IP Address of your plex server"},"Port":{"default":"32400","description":"The port to access your plex server"}}},{"url":"https://{Local IP}:{Port}","variables":{"Local IP":{"default":"10.10.10.47","description":"The Local IP Address of your plex server"},"Port":{"default":"32400","description":"The port to access your plex server"}}}],"security":[{"Token":[],"ClientIdentifier":[],"Device":[],"DeviceName":[],"Platform":[],"PlatformVersion":[],"Product":[],"Version":[]}],"securitySchemes":{"Token":{"description":"Plex Authentication Token","type":"apiKey","in":"header","name":"X-Plex-Token"},"ClientIdentifier":{"description":"Plex Authentication Token","type":"apiKey","in":"header","name":"X-Plex-Client-Identifier"},"DeviceName":{"description":"Primary name for the device eg. `Plex Web (Chrome)`","type":"apiKey","in":"header","name":"X-Plex-Device-Name"},"Device":{"description":"The type of device your application is running on\nDevice name and or model number, eg `iPhone3,2`, `Motorola XOOM™`, `LG5200TV`\n","type":"apiKey","in":"header","name":"X-Plex-Device"},"PlatformVersion":{"description":"Operating system version\neg `4.3.1`, `10.6.7`, `3.2`\n","type":"apiKey","in":"header","name":"X-Plex-Platform-Version"},"Platform":{"description":"Platform name \neg: `Web`, `iOS`, `MacOSX`, `Android`, `LG`\n","type":"apiKey","in":"header","name":"X-Plex-Platform"},"Product":{"description":"Plex application name \neg: `Laika`, `Plex Media Server`, `Media Link`\n","type":"apiKey","in":"header","name":"X-Plex-Product"},"Version":{"description":"Plex application version number","type":"apiKey","in":"header","name":"X-Plex-Version"}},"info":{"title":"Plex-API","summary":"A Plex Media Server API Map","description":"An Open API Spec for interacting with Plex.tv and Plex Servers","version":"0.0.3","contact":{"name":"Luke Hagar","url":"https://www.LukeHagar.com","email":"Lukeslakemail@gmail.com"},"license":{"name":"MIT","identifier":"MIT","url":"https://opensource.org/licenses/MIT"}},"postman":{"name":"Apply Updates","description":{"content":"Note that these two parameters are effectively mutually exclusive. The `tonight` parameter takes precedence and `skip` will be ignored if `tonight` is also passed\n","type":"text/plain"},"url":{"path":["updater","apply"],"host":["{{baseUrl}}"],"query":[{"disabled":false,"description":{"content":"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","type":"text/plain"},"key":"tonight","value":""},{"disabled":false,"description":{"content":"Indicate that the latest version should be marked as skipped. The entry for this version will have the `state` set to `skipped`.","type":"text/plain"},"key":"skip","value":""}],"variable":[]},"header":[{"key":"Accept","value":"application/json"}],"method":"PUT"}} +sidebar_class_name: "put api-method" +info_path: docs/plex-media-server/plex-api +--- + +import ApiTabs from "@theme/ApiTabs"; +import DiscriminatorTabs from "@theme/DiscriminatorTabs"; +import MethodEndpoint from "@theme/ApiDemoPanel/MethodEndpoint"; +import MimeTabs from "@theme/MimeTabs"; +import ParamsItem from "@theme/ParamsItem"; +import ResponseSamples from "@theme/ResponseSamples"; +import SchemaItem from "@theme/SchemaItem"; +import SchemaTabs from "@theme/SchemaTabs"; +import TabItem from "@theme/TabItem"; + +

Apply Updates

+ + + + + +Note that these two parameters are effectively mutually exclusive. The `tonight` parameter takes precedence and `skip` will be ignored if `tonight` is also passed + + +
Query Parameters
    entry for this version will have the `state` set to `skipped`.","required":false,"in":"query","schema":{"enum":[0,1]},"example":1}}>
+ +If the update process started correctly + +
+ +Unauthorized - Returned if the X-Plex-Token is missing from the header or query. + +
Schema
    errors object[]
  • Array [
  • ]
+ +If the update process failed to start + +
\ No newline at end of file diff --git a/docs/plex-media-server/butler.tag.mdx b/docs/plex-media-server/butler.tag.mdx new file mode 100644 index 0000000..c87263d --- /dev/null +++ b/docs/plex-media-server/butler.tag.mdx @@ -0,0 +1,21 @@ +--- +id: butler +title: "Butler" +description: "Butler" +custom_edit_url: null +--- + + + +Butler is the task manager of the Plex Media Server Ecosystem. + + + + +```mdx-code-block +import DocCardList from '@theme/DocCardList'; +import {useCurrentSidebarCategory} from '@docusaurus/theme-common'; + + +``` + \ No newline at end of file diff --git a/docs/plex-media-server/cancel-server-activities.api.mdx b/docs/plex-media-server/cancel-server-activities.api.mdx new file mode 100644 index 0000000..0bf34ca --- /dev/null +++ b/docs/plex-media-server/cancel-server-activities.api.mdx @@ -0,0 +1,37 @@ +--- +id: cancel-server-activities +sidebar_label: Cancel Server Activities +hide_title: true +hide_table_of_contents: true +api: {"tags":["Activities"],"description":"Cancel Server Activities","operationId":"cancelServerActivities","parameters":[{"name":"activityUUID","description":"The UUID of the activity to cancel.","in":"path","schema":{"type":"string"},"example":"25b71ed5-0f9d-461c-baa7-d404e9e10d3e","required":true}],"responses":{"200":{"description":"The Server Activity was canceled"},"401":{"description":"Unauthorized - Returned if the X-Plex-Token is missing from the header or query.","content":{"application/json":{"schema":{"type":"object","properties":{"errors":{"type":"array","items":{"type":"object","properties":{"code":{"type":"number","example":1001},"message":{"type":"string","example":"User could not be authenticated"},"status":{"type":"number","example":401}}}}}}}}}},"method":"delete","path":"/activities/{activityUUID}","servers":[{"url":"http://{Local IP}:{Port}","variables":{"Local IP":{"default":"10.10.10.47","description":"The Local IP Address of your plex server"},"Port":{"default":"32400","description":"The port to access your plex server"}}},{"url":"https://{Local IP}:{Port}","variables":{"Local IP":{"default":"10.10.10.47","description":"The Local IP Address of your plex server"},"Port":{"default":"32400","description":"The port to access your plex server"}}}],"security":[{"Token":[],"ClientIdentifier":[],"Device":[],"DeviceName":[],"Platform":[],"PlatformVersion":[],"Product":[],"Version":[]}],"securitySchemes":{"Token":{"description":"Plex Authentication Token","type":"apiKey","in":"header","name":"X-Plex-Token"},"ClientIdentifier":{"description":"Plex Authentication Token","type":"apiKey","in":"header","name":"X-Plex-Client-Identifier"},"DeviceName":{"description":"Primary name for the device eg. `Plex Web (Chrome)`","type":"apiKey","in":"header","name":"X-Plex-Device-Name"},"Device":{"description":"The type of device your application is running on\nDevice name and or model number, eg `iPhone3,2`, `Motorola XOOM™`, `LG5200TV`\n","type":"apiKey","in":"header","name":"X-Plex-Device"},"PlatformVersion":{"description":"Operating system version\neg `4.3.1`, `10.6.7`, `3.2`\n","type":"apiKey","in":"header","name":"X-Plex-Platform-Version"},"Platform":{"description":"Platform name \neg: `Web`, `iOS`, `MacOSX`, `Android`, `LG`\n","type":"apiKey","in":"header","name":"X-Plex-Platform"},"Product":{"description":"Plex application name \neg: `Laika`, `Plex Media Server`, `Media Link`\n","type":"apiKey","in":"header","name":"X-Plex-Product"},"Version":{"description":"Plex application version number","type":"apiKey","in":"header","name":"X-Plex-Version"}},"info":{"title":"Plex-API","summary":"A Plex Media Server API Map","description":"An Open API Spec for interacting with Plex.tv and Plex Servers","version":"0.0.3","contact":{"name":"Luke Hagar","url":"https://www.LukeHagar.com","email":"Lukeslakemail@gmail.com"},"license":{"name":"MIT","identifier":"MIT","url":"https://opensource.org/licenses/MIT"}},"postman":{"name":"Cancel Server Activities","description":{"content":"Cancel Server Activities","type":"text/plain"},"url":{"path":["activities",":activityUUID"],"host":["{{baseUrl}}"],"query":[],"variable":[{"disabled":false,"description":{"content":"(Required) The UUID of the activity to cancel.","type":"text/plain"},"type":"any","value":"","key":"activityUUID"}]},"header":[{"key":"Accept","value":"application/json"}],"method":"DELETE"}} +sidebar_class_name: "delete api-method" +info_path: docs/plex-media-server/plex-api +--- + +import ApiTabs from "@theme/ApiTabs"; +import DiscriminatorTabs from "@theme/DiscriminatorTabs"; +import MethodEndpoint from "@theme/ApiDemoPanel/MethodEndpoint"; +import MimeTabs from "@theme/MimeTabs"; +import ParamsItem from "@theme/ParamsItem"; +import ResponseSamples from "@theme/ResponseSamples"; +import SchemaItem from "@theme/SchemaItem"; +import SchemaTabs from "@theme/SchemaTabs"; +import TabItem from "@theme/TabItem"; + +

Cancel Server Activities

+ + + + + +Cancel Server Activities + +
Path Parameters
+ +The Server Activity was canceled + +
+ +Unauthorized - Returned if the X-Plex-Token is missing from the header or query. + +
Schema
    errors object[]
  • Array [
  • ]
\ No newline at end of file diff --git a/docs/plex-media-server/check-for-updates.api.mdx b/docs/plex-media-server/check-for-updates.api.mdx new file mode 100644 index 0000000..bb2a868 --- /dev/null +++ b/docs/plex-media-server/check-for-updates.api.mdx @@ -0,0 +1,33 @@ +--- +id: check-for-updates +sidebar_label: Checking for updates +hide_title: true +hide_table_of_contents: true +api: {"tags":["Updater"],"description":"Checking for updates","operationId":"checkForUpdates","parameters":[{"name":"download","description":"Indicate that you want to start download any updates found.","required":false,"in":"query","schema":{"enum":[0,1]},"example":1}],"responses":{"200":{"description":""},"401":{"description":"Unauthorized - Returned if the X-Plex-Token is missing from the header or query.","content":{"application/json":{"schema":{"type":"object","properties":{"errors":{"type":"array","items":{"type":"object","properties":{"code":{"type":"number","example":1001},"message":{"type":"string","example":"User could not be authenticated"},"status":{"type":"number","example":401}}}}}}}}}},"method":"put","path":"/updater/check","servers":[{"url":"http://{Local IP}:{Port}","variables":{"Local IP":{"default":"10.10.10.47","description":"The Local IP Address of your plex server"},"Port":{"default":"32400","description":"The port to access your plex server"}}},{"url":"https://{Local IP}:{Port}","variables":{"Local IP":{"default":"10.10.10.47","description":"The Local IP Address of your plex server"},"Port":{"default":"32400","description":"The port to access your plex server"}}}],"security":[{"Token":[],"ClientIdentifier":[],"Device":[],"DeviceName":[],"Platform":[],"PlatformVersion":[],"Product":[],"Version":[]}],"securitySchemes":{"Token":{"description":"Plex Authentication Token","type":"apiKey","in":"header","name":"X-Plex-Token"},"ClientIdentifier":{"description":"Plex Authentication Token","type":"apiKey","in":"header","name":"X-Plex-Client-Identifier"},"DeviceName":{"description":"Primary name for the device eg. `Plex Web (Chrome)`","type":"apiKey","in":"header","name":"X-Plex-Device-Name"},"Device":{"description":"The type of device your application is running on\nDevice name and or model number, eg `iPhone3,2`, `Motorola XOOM™`, `LG5200TV`\n","type":"apiKey","in":"header","name":"X-Plex-Device"},"PlatformVersion":{"description":"Operating system version\neg `4.3.1`, `10.6.7`, `3.2`\n","type":"apiKey","in":"header","name":"X-Plex-Platform-Version"},"Platform":{"description":"Platform name \neg: `Web`, `iOS`, `MacOSX`, `Android`, `LG`\n","type":"apiKey","in":"header","name":"X-Plex-Platform"},"Product":{"description":"Plex application name \neg: `Laika`, `Plex Media Server`, `Media Link`\n","type":"apiKey","in":"header","name":"X-Plex-Product"},"Version":{"description":"Plex application version number","type":"apiKey","in":"header","name":"X-Plex-Version"}},"info":{"title":"Plex-API","summary":"A Plex Media Server API Map","description":"An Open API Spec for interacting with Plex.tv and Plex Servers","version":"0.0.3","contact":{"name":"Luke Hagar","url":"https://www.LukeHagar.com","email":"Lukeslakemail@gmail.com"},"license":{"name":"MIT","identifier":"MIT","url":"https://opensource.org/licenses/MIT"}},"postman":{"name":"Checking for updates","description":{"content":"Checking for updates","type":"text/plain"},"url":{"path":["updater","check"],"host":["{{baseUrl}}"],"query":[{"disabled":false,"description":{"content":"Indicate that you want to start download any updates found.","type":"text/plain"},"key":"download","value":""}],"variable":[]},"header":[{"key":"Accept","value":"application/json"}],"method":"PUT"}} +sidebar_class_name: "put api-method" +info_path: docs/plex-media-server/plex-api +--- + +import ApiTabs from "@theme/ApiTabs"; +import DiscriminatorTabs from "@theme/DiscriminatorTabs"; +import MethodEndpoint from "@theme/ApiDemoPanel/MethodEndpoint"; +import MimeTabs from "@theme/MimeTabs"; +import ParamsItem from "@theme/ParamsItem"; +import ResponseSamples from "@theme/ResponseSamples"; +import SchemaItem from "@theme/SchemaItem"; +import SchemaTabs from "@theme/SchemaTabs"; +import TabItem from "@theme/TabItem"; + +

Checking for updates

+ + + + + +Checking for updates + +
Query Parameters
+ +Unauthorized - Returned if the X-Plex-Token is missing from the header or query. + +
Schema
    errors object[]
  • Array [
  • ]
\ No newline at end of file diff --git a/docs/plex-media-server/clear-playlist-contents.api.mdx b/docs/plex-media-server/clear-playlist-contents.api.mdx new file mode 100644 index 0000000..24751db --- /dev/null +++ b/docs/plex-media-server/clear-playlist-contents.api.mdx @@ -0,0 +1,38 @@ +--- +id: clear-playlist-contents +sidebar_label: Delete Playlist Contents +hide_title: true +hide_table_of_contents: true +api: {"tags":["Playlists"],"description":"Clears a playlist, only works with dumb playlists. Returns the playlist.\n","operationId":"clearPlaylistContents","parameters":[{"name":"playlistID","description":"the ID of the playlist","in":"path","schema":{"type":"number"},"required":true}],"responses":{"200":{"description":"The playlist contents are cleared"},"401":{"description":"Unauthorized - Returned if the X-Plex-Token is missing from the header or query.","content":{"application/json":{"schema":{"type":"object","properties":{"errors":{"type":"array","items":{"type":"object","properties":{"code":{"type":"number","example":1001},"message":{"type":"string","example":"User could not be authenticated"},"status":{"type":"number","example":401}}}}}}}}}},"method":"delete","path":"/playlists/{playlistID}/items","servers":[{"url":"http://{Local IP}:{Port}","variables":{"Local IP":{"default":"10.10.10.47","description":"The Local IP Address of your plex server"},"Port":{"default":"32400","description":"The port to access your plex server"}}},{"url":"https://{Local IP}:{Port}","variables":{"Local IP":{"default":"10.10.10.47","description":"The Local IP Address of your plex server"},"Port":{"default":"32400","description":"The port to access your plex server"}}}],"security":[{"Token":[],"ClientIdentifier":[],"Device":[],"DeviceName":[],"Platform":[],"PlatformVersion":[],"Product":[],"Version":[]}],"securitySchemes":{"Token":{"description":"Plex Authentication Token","type":"apiKey","in":"header","name":"X-Plex-Token"},"ClientIdentifier":{"description":"Plex Authentication Token","type":"apiKey","in":"header","name":"X-Plex-Client-Identifier"},"DeviceName":{"description":"Primary name for the device eg. `Plex Web (Chrome)`","type":"apiKey","in":"header","name":"X-Plex-Device-Name"},"Device":{"description":"The type of device your application is running on\nDevice name and or model number, eg `iPhone3,2`, `Motorola XOOM™`, `LG5200TV`\n","type":"apiKey","in":"header","name":"X-Plex-Device"},"PlatformVersion":{"description":"Operating system version\neg `4.3.1`, `10.6.7`, `3.2`\n","type":"apiKey","in":"header","name":"X-Plex-Platform-Version"},"Platform":{"description":"Platform name \neg: `Web`, `iOS`, `MacOSX`, `Android`, `LG`\n","type":"apiKey","in":"header","name":"X-Plex-Platform"},"Product":{"description":"Plex application name \neg: `Laika`, `Plex Media Server`, `Media Link`\n","type":"apiKey","in":"header","name":"X-Plex-Product"},"Version":{"description":"Plex application version number","type":"apiKey","in":"header","name":"X-Plex-Version"}},"info":{"title":"Plex-API","summary":"A Plex Media Server API Map","description":"An Open API Spec for interacting with Plex.tv and Plex Servers","version":"0.0.3","contact":{"name":"Luke Hagar","url":"https://www.LukeHagar.com","email":"Lukeslakemail@gmail.com"},"license":{"name":"MIT","identifier":"MIT","url":"https://opensource.org/licenses/MIT"}},"postman":{"name":"Delete Playlist Contents","description":{"content":"Clears a playlist, only works with dumb playlists. Returns the playlist.\n","type":"text/plain"},"url":{"path":["playlists",":playlistID","items"],"host":["{{baseUrl}}"],"query":[],"variable":[{"disabled":false,"description":{"content":"(Required) the ID of the playlist","type":"text/plain"},"type":"any","value":"","key":"playlistID"}]},"header":[{"key":"Accept","value":"application/json"}],"method":"DELETE"}} +sidebar_class_name: "delete api-method" +info_path: docs/plex-media-server/plex-api +--- + +import ApiTabs from "@theme/ApiTabs"; +import DiscriminatorTabs from "@theme/DiscriminatorTabs"; +import MethodEndpoint from "@theme/ApiDemoPanel/MethodEndpoint"; +import MimeTabs from "@theme/MimeTabs"; +import ParamsItem from "@theme/ParamsItem"; +import ResponseSamples from "@theme/ResponseSamples"; +import SchemaItem from "@theme/SchemaItem"; +import SchemaTabs from "@theme/SchemaTabs"; +import TabItem from "@theme/TabItem"; + +

Delete Playlist Contents

+ + + + + +Clears a playlist, only works with dumb playlists. Returns the playlist. + + +
Path Parameters
+ +The playlist contents are cleared + +
+ +Unauthorized - Returned if the X-Plex-Token is missing from the header or query. + +
Schema
    errors object[]
  • Array [
  • ]
\ No newline at end of file diff --git a/docs/plex-media-server/create-playlist.api.mdx b/docs/plex-media-server/create-playlist.api.mdx new file mode 100644 index 0000000..62ed905 --- /dev/null +++ b/docs/plex-media-server/create-playlist.api.mdx @@ -0,0 +1,40 @@ +--- +id: create-playlist +sidebar_label: Create a Playlist +hide_title: true +hide_table_of_contents: true +api: {"tags":["Playlists"],"description":"Create a new playlist. By default the playlist is blank. To create a playlist along with a first item, pass:\n- `uri` - The content URI for what we're playing (e.g. `library://...`).\n- `playQueueID` - To create a playlist from an existing play queue.\n","operationId":"createPlaylist","parameters":[{"name":"title","description":"name of the playlist","in":"query","schema":{"type":"string"},"required":true},{"name":"type","description":"type of playlist to create","in":"query","schema":{"type":"string","enum":["audio","video","photo"]},"required":true},{"name":"smart","description":"whether the playlist is smart or not","in":"query","schema":{"type":"number","enum":[0,1]},"required":true},{"name":"uri","description":"the content URI for the playlist","in":"query","schema":{"type":"string"},"required":false},{"name":"playQueueID","description":"the play queue to copy to a playlist","in":"query","schema":{"type":"number"},"required":false}],"responses":{"200":{"description":"returns all playlists"},"401":{"description":"Unauthorized - Returned if the X-Plex-Token is missing from the header or query.","content":{"application/json":{"schema":{"type":"object","properties":{"errors":{"type":"array","items":{"type":"object","properties":{"code":{"type":"number","example":1001},"message":{"type":"string","example":"User could not be authenticated"},"status":{"type":"number","example":401}}}}}}}}}},"method":"post","path":"/playlists","servers":[{"url":"http://{Local IP}:{Port}","variables":{"Local IP":{"default":"10.10.10.47","description":"The Local IP Address of your plex server"},"Port":{"default":"32400","description":"The port to access your plex server"}}},{"url":"https://{Local IP}:{Port}","variables":{"Local IP":{"default":"10.10.10.47","description":"The Local IP Address of your plex server"},"Port":{"default":"32400","description":"The port to access your plex server"}}}],"security":[{"Token":[],"ClientIdentifier":[],"Device":[],"DeviceName":[],"Platform":[],"PlatformVersion":[],"Product":[],"Version":[]}],"securitySchemes":{"Token":{"description":"Plex Authentication Token","type":"apiKey","in":"header","name":"X-Plex-Token"},"ClientIdentifier":{"description":"Plex Authentication Token","type":"apiKey","in":"header","name":"X-Plex-Client-Identifier"},"DeviceName":{"description":"Primary name for the device eg. `Plex Web (Chrome)`","type":"apiKey","in":"header","name":"X-Plex-Device-Name"},"Device":{"description":"The type of device your application is running on\nDevice name and or model number, eg `iPhone3,2`, `Motorola XOOM™`, `LG5200TV`\n","type":"apiKey","in":"header","name":"X-Plex-Device"},"PlatformVersion":{"description":"Operating system version\neg `4.3.1`, `10.6.7`, `3.2`\n","type":"apiKey","in":"header","name":"X-Plex-Platform-Version"},"Platform":{"description":"Platform name \neg: `Web`, `iOS`, `MacOSX`, `Android`, `LG`\n","type":"apiKey","in":"header","name":"X-Plex-Platform"},"Product":{"description":"Plex application name \neg: `Laika`, `Plex Media Server`, `Media Link`\n","type":"apiKey","in":"header","name":"X-Plex-Product"},"Version":{"description":"Plex application version number","type":"apiKey","in":"header","name":"X-Plex-Version"}},"info":{"title":"Plex-API","summary":"A Plex Media Server API Map","description":"An Open API Spec for interacting with Plex.tv and Plex Servers","version":"0.0.3","contact":{"name":"Luke Hagar","url":"https://www.LukeHagar.com","email":"Lukeslakemail@gmail.com"},"license":{"name":"MIT","identifier":"MIT","url":"https://opensource.org/licenses/MIT"}},"postman":{"name":"Create a Playlist","description":{"content":"Create a new playlist. By default the playlist is blank. To create a playlist along with a first item, pass:\n- `uri` - The content URI for what we're playing (e.g. `library://...`).\n- `playQueueID` - To create a playlist from an existing play queue.\n","type":"text/plain"},"url":{"path":["playlists"],"host":["{{baseUrl}}"],"query":[{"disabled":false,"description":{"content":"(Required) name of the playlist","type":"text/plain"},"key":"title","value":""},{"disabled":false,"description":{"content":"(Required) type of playlist to create","type":"text/plain"},"key":"type","value":""},{"disabled":false,"description":{"content":"(Required) whether the playlist is smart or not","type":"text/plain"},"key":"smart","value":""},{"disabled":false,"description":{"content":"the content URI for the playlist","type":"text/plain"},"key":"uri","value":""},{"disabled":false,"description":{"content":"the play queue to copy to a playlist","type":"text/plain"},"key":"playQueueID","value":""}],"variable":[]},"header":[{"key":"Accept","value":"application/json"}],"method":"POST"}} +sidebar_class_name: "post api-method" +info_path: docs/plex-media-server/plex-api +--- + +import ApiTabs from "@theme/ApiTabs"; +import DiscriminatorTabs from "@theme/DiscriminatorTabs"; +import MethodEndpoint from "@theme/ApiDemoPanel/MethodEndpoint"; +import MimeTabs from "@theme/MimeTabs"; +import ParamsItem from "@theme/ParamsItem"; +import ResponseSamples from "@theme/ResponseSamples"; +import SchemaItem from "@theme/SchemaItem"; +import SchemaTabs from "@theme/SchemaTabs"; +import TabItem from "@theme/TabItem"; + +

Create a Playlist

+ + + + + +Create a new playlist. By default the playlist is blank. To create a playlist along with a first item, pass: +- `uri` - The content URI for what we're playing (e.g. `library://...`). +- `playQueueID` - To create a playlist from an existing play queue. + + +
Query Parameters
+ +returns all playlists + +
+ +Unauthorized - Returned if the X-Plex-Token is missing from the header or query. + +
Schema
    errors object[]
  • Array [
  • ]
\ No newline at end of file diff --git a/docs/plex-media-server/delete-playlist.api.mdx b/docs/plex-media-server/delete-playlist.api.mdx new file mode 100644 index 0000000..d4569c8 --- /dev/null +++ b/docs/plex-media-server/delete-playlist.api.mdx @@ -0,0 +1,38 @@ +--- +id: delete-playlist +sidebar_label: Deletes a Playlist +hide_title: true +hide_table_of_contents: true +api: {"tags":["Playlists"],"description":"This endpoint will delete a playlist\n","operationId":"deletePlaylist","parameters":[{"name":"playlistID","description":"the ID of the playlist","in":"path","schema":{"type":"number"},"required":true}],"responses":{"200":{"description":"The playlist is deleted"},"401":{"description":"Unauthorized - Returned if the X-Plex-Token is missing from the header or query.","content":{"application/json":{"schema":{"type":"object","properties":{"errors":{"type":"array","items":{"type":"object","properties":{"code":{"type":"number","example":1001},"message":{"type":"string","example":"User could not be authenticated"},"status":{"type":"number","example":401}}}}}}}}}},"method":"delete","path":"/playlists/{playlistID}","servers":[{"url":"http://{Local IP}:{Port}","variables":{"Local IP":{"default":"10.10.10.47","description":"The Local IP Address of your plex server"},"Port":{"default":"32400","description":"The port to access your plex server"}}},{"url":"https://{Local IP}:{Port}","variables":{"Local IP":{"default":"10.10.10.47","description":"The Local IP Address of your plex server"},"Port":{"default":"32400","description":"The port to access your plex server"}}}],"security":[{"Token":[],"ClientIdentifier":[],"Device":[],"DeviceName":[],"Platform":[],"PlatformVersion":[],"Product":[],"Version":[]}],"securitySchemes":{"Token":{"description":"Plex Authentication Token","type":"apiKey","in":"header","name":"X-Plex-Token"},"ClientIdentifier":{"description":"Plex Authentication Token","type":"apiKey","in":"header","name":"X-Plex-Client-Identifier"},"DeviceName":{"description":"Primary name for the device eg. `Plex Web (Chrome)`","type":"apiKey","in":"header","name":"X-Plex-Device-Name"},"Device":{"description":"The type of device your application is running on\nDevice name and or model number, eg `iPhone3,2`, `Motorola XOOM™`, `LG5200TV`\n","type":"apiKey","in":"header","name":"X-Plex-Device"},"PlatformVersion":{"description":"Operating system version\neg `4.3.1`, `10.6.7`, `3.2`\n","type":"apiKey","in":"header","name":"X-Plex-Platform-Version"},"Platform":{"description":"Platform name \neg: `Web`, `iOS`, `MacOSX`, `Android`, `LG`\n","type":"apiKey","in":"header","name":"X-Plex-Platform"},"Product":{"description":"Plex application name \neg: `Laika`, `Plex Media Server`, `Media Link`\n","type":"apiKey","in":"header","name":"X-Plex-Product"},"Version":{"description":"Plex application version number","type":"apiKey","in":"header","name":"X-Plex-Version"}},"info":{"title":"Plex-API","summary":"A Plex Media Server API Map","description":"An Open API Spec for interacting with Plex.tv and Plex Servers","version":"0.0.3","contact":{"name":"Luke Hagar","url":"https://www.LukeHagar.com","email":"Lukeslakemail@gmail.com"},"license":{"name":"MIT","identifier":"MIT","url":"https://opensource.org/licenses/MIT"}},"postman":{"name":"Deletes a Playlist","description":{"content":"This endpoint will delete a playlist\n","type":"text/plain"},"url":{"path":["playlists",":playlistID"],"host":["{{baseUrl}}"],"query":[],"variable":[{"disabled":false,"description":{"content":"(Required) the ID of the playlist","type":"text/plain"},"type":"any","value":"","key":"playlistID"}]},"header":[{"key":"Accept","value":"application/json"}],"method":"DELETE"}} +sidebar_class_name: "delete api-method" +info_path: docs/plex-media-server/plex-api +--- + +import ApiTabs from "@theme/ApiTabs"; +import DiscriminatorTabs from "@theme/DiscriminatorTabs"; +import MethodEndpoint from "@theme/ApiDemoPanel/MethodEndpoint"; +import MimeTabs from "@theme/MimeTabs"; +import ParamsItem from "@theme/ParamsItem"; +import ResponseSamples from "@theme/ResponseSamples"; +import SchemaItem from "@theme/SchemaItem"; +import SchemaTabs from "@theme/SchemaTabs"; +import TabItem from "@theme/TabItem"; + +

Deletes a Playlist

+ + + + + +This endpoint will delete a playlist + + +
Path Parameters
+ +The playlist is deleted + +
+ +Unauthorized - Returned if the X-Plex-Token is missing from the header or query. + +
Schema
    errors object[]
  • Array [
  • ]
\ No newline at end of file diff --git a/docs/plex-media-server/enable-paper-trail.api.mdx b/docs/plex-media-server/enable-paper-trail.api.mdx new file mode 100644 index 0000000..c23580b --- /dev/null +++ b/docs/plex-media-server/enable-paper-trail.api.mdx @@ -0,0 +1,42 @@ +--- +id: enable-paper-trail +sidebar_label: Enabling Papertrail +hide_title: true +hide_table_of_contents: true +api: {"tags":["Log"],"description":"This endpoint will enable all Plex Media Serverlogs to be sent to the Papertrail networked logging site for a period of time.\n","operationId":"enablePaperTrail","responses":{"200":{"description":"Papertrail enabled successfully"},"401":{"description":"Unauthorized - Returned if the X-Plex-Token is missing from the header or query.","content":{"application/json":{"schema":{"type":"object","properties":{"errors":{"type":"array","items":{"type":"object","properties":{"code":{"type":"number","example":1001},"message":{"type":"string","example":"User could not be authenticated"},"status":{"type":"number","example":401}}}}}}}}},"403":{"description":"the user was not signed in"}},"method":"get","path":"/log/networked","servers":[{"url":"http://{Local IP}:{Port}","variables":{"Local IP":{"default":"10.10.10.47","description":"The Local IP Address of your plex server"},"Port":{"default":"32400","description":"The port to access your plex server"}}},{"url":"https://{Local IP}:{Port}","variables":{"Local IP":{"default":"10.10.10.47","description":"The Local IP Address of your plex server"},"Port":{"default":"32400","description":"The port to access your plex server"}}}],"security":[{"Token":[],"ClientIdentifier":[],"Device":[],"DeviceName":[],"Platform":[],"PlatformVersion":[],"Product":[],"Version":[]}],"securitySchemes":{"Token":{"description":"Plex Authentication Token","type":"apiKey","in":"header","name":"X-Plex-Token"},"ClientIdentifier":{"description":"Plex Authentication Token","type":"apiKey","in":"header","name":"X-Plex-Client-Identifier"},"DeviceName":{"description":"Primary name for the device eg. `Plex Web (Chrome)`","type":"apiKey","in":"header","name":"X-Plex-Device-Name"},"Device":{"description":"The type of device your application is running on\nDevice name and or model number, eg `iPhone3,2`, `Motorola XOOM™`, `LG5200TV`\n","type":"apiKey","in":"header","name":"X-Plex-Device"},"PlatformVersion":{"description":"Operating system version\neg `4.3.1`, `10.6.7`, `3.2`\n","type":"apiKey","in":"header","name":"X-Plex-Platform-Version"},"Platform":{"description":"Platform name \neg: `Web`, `iOS`, `MacOSX`, `Android`, `LG`\n","type":"apiKey","in":"header","name":"X-Plex-Platform"},"Product":{"description":"Plex application name \neg: `Laika`, `Plex Media Server`, `Media Link`\n","type":"apiKey","in":"header","name":"X-Plex-Product"},"Version":{"description":"Plex application version number","type":"apiKey","in":"header","name":"X-Plex-Version"}},"info":{"title":"Plex-API","summary":"A Plex Media Server API Map","description":"An Open API Spec for interacting with Plex.tv and Plex Servers","version":"0.0.3","contact":{"name":"Luke Hagar","url":"https://www.LukeHagar.com","email":"Lukeslakemail@gmail.com"},"license":{"name":"MIT","identifier":"MIT","url":"https://opensource.org/licenses/MIT"}},"postman":{"name":"Enabling Papertrail","description":{"content":"This endpoint will enable all Plex Media Serverlogs to be sent to the Papertrail networked logging site for a period of time.\n","type":"text/plain"},"url":{"path":["log","networked"],"host":["{{baseUrl}}"],"query":[],"variable":[]},"header":[{"key":"Accept","value":"application/json"}],"method":"GET"}} +sidebar_class_name: "get api-method" +info_path: docs/plex-media-server/plex-api +--- + +import ApiTabs from "@theme/ApiTabs"; +import DiscriminatorTabs from "@theme/DiscriminatorTabs"; +import MethodEndpoint from "@theme/ApiDemoPanel/MethodEndpoint"; +import MimeTabs from "@theme/MimeTabs"; +import ParamsItem from "@theme/ParamsItem"; +import ResponseSamples from "@theme/ResponseSamples"; +import SchemaItem from "@theme/SchemaItem"; +import SchemaTabs from "@theme/SchemaTabs"; +import TabItem from "@theme/TabItem"; + +

Enabling Papertrail

+ + + + + +This endpoint will enable all Plex Media Serverlogs to be sent to the Papertrail networked logging site for a period of time. + + +
+ +Papertrail enabled successfully + +
+ +Unauthorized - Returned if the X-Plex-Token is missing from the header or query. + +
Schema
    errors object[]
  • Array [
  • ]
+ +the user was not signed in + +
\ No newline at end of file diff --git a/docs/plex-media-server/get-available-clients.api.mdx b/docs/plex-media-server/get-available-clients.api.mdx new file mode 100644 index 0000000..dc8900b --- /dev/null +++ b/docs/plex-media-server/get-available-clients.api.mdx @@ -0,0 +1,37 @@ +--- +id: get-available-clients +sidebar_label: Get Available Clients +hide_title: true +hide_table_of_contents: true +api: {"tags":["Devices"],"description":"Get Available Clients","operationId":"getAvailableClients","responses":{"200":{"description":"Available Clients","content":{"application/json":{"schema":{"type":"array","items":{"type":"object","properties":{"MediaContainer":{"type":"object","properties":{"size":{"type":"number","example":1},"Server":{"type":"array","items":{"type":"object","properties":{"name":{"type":"string","example":"iPad"},"host":{"type":"string","example":"10.10.10.102"},"address":{"type":"string","example":"10.10.10.102"},"port":{"type":"number","example":32500},"machineIdentifier":{"type":"string","example":"A2E901F8-E016-43A7-ADFB-EF8CA8A4AC05"},"version":{"type":"string","example":8.17},"protocol":{"type":"string","example":"plex"},"product":{"type":"string","example":"Plex for iOS"},"deviceClass":{"type":"string","example":"tablet"},"protocolVersion":{"type":"string","example":2},"protocolCapabilities":{"type":"string","example":"playback,playqueues,timeline,provider-playback"}}}}}}}}}}}},"401":{"description":"Unauthorized - Returned if the X-Plex-Token is missing from the header or query.","content":{"application/json":{"schema":{"type":"object","properties":{"errors":{"type":"array","items":{"type":"object","properties":{"code":{"type":"number","example":1001},"message":{"type":"string","example":"User could not be authenticated"},"status":{"type":"number","example":401}}}}}}}}}},"method":"get","path":"/clients","servers":[{"url":"http://{Local IP}:{Port}","variables":{"Local IP":{"default":"10.10.10.47","description":"The Local IP Address of your plex server"},"Port":{"default":"32400","description":"The port to access your plex server"}}},{"url":"https://{Local IP}:{Port}","variables":{"Local IP":{"default":"10.10.10.47","description":"The Local IP Address of your plex server"},"Port":{"default":"32400","description":"The port to access your plex server"}}}],"security":[{"Token":[],"ClientIdentifier":[],"Device":[],"DeviceName":[],"Platform":[],"PlatformVersion":[],"Product":[],"Version":[]}],"securitySchemes":{"Token":{"description":"Plex Authentication Token","type":"apiKey","in":"header","name":"X-Plex-Token"},"ClientIdentifier":{"description":"Plex Authentication Token","type":"apiKey","in":"header","name":"X-Plex-Client-Identifier"},"DeviceName":{"description":"Primary name for the device eg. `Plex Web (Chrome)`","type":"apiKey","in":"header","name":"X-Plex-Device-Name"},"Device":{"description":"The type of device your application is running on\nDevice name and or model number, eg `iPhone3,2`, `Motorola XOOM™`, `LG5200TV`\n","type":"apiKey","in":"header","name":"X-Plex-Device"},"PlatformVersion":{"description":"Operating system version\neg `4.3.1`, `10.6.7`, `3.2`\n","type":"apiKey","in":"header","name":"X-Plex-Platform-Version"},"Platform":{"description":"Platform name \neg: `Web`, `iOS`, `MacOSX`, `Android`, `LG`\n","type":"apiKey","in":"header","name":"X-Plex-Platform"},"Product":{"description":"Plex application name \neg: `Laika`, `Plex Media Server`, `Media Link`\n","type":"apiKey","in":"header","name":"X-Plex-Product"},"Version":{"description":"Plex application version number","type":"apiKey","in":"header","name":"X-Plex-Version"}},"info":{"title":"Plex-API","summary":"A Plex Media Server API Map","description":"An Open API Spec for interacting with Plex.tv and Plex Servers","version":"0.0.3","contact":{"name":"Luke Hagar","url":"https://www.LukeHagar.com","email":"Lukeslakemail@gmail.com"},"license":{"name":"MIT","identifier":"MIT","url":"https://opensource.org/licenses/MIT"}},"postman":{"name":"Get Available Clients","description":{"content":"Get Available Clients","type":"text/plain"},"url":{"path":["clients"],"host":["{{baseUrl}}"],"query":[],"variable":[]},"header":[{"key":"Accept","value":"application/json"}],"method":"GET"}} +sidebar_class_name: "get api-method" +info_path: docs/plex-media-server/plex-api +--- + +import ApiTabs from "@theme/ApiTabs"; +import DiscriminatorTabs from "@theme/DiscriminatorTabs"; +import MethodEndpoint from "@theme/ApiDemoPanel/MethodEndpoint"; +import MimeTabs from "@theme/MimeTabs"; +import ParamsItem from "@theme/ParamsItem"; +import ResponseSamples from "@theme/ResponseSamples"; +import SchemaItem from "@theme/SchemaItem"; +import SchemaTabs from "@theme/SchemaTabs"; +import TabItem from "@theme/TabItem"; + +

Get Available Clients

+ + + + + +Get Available Clients + +
+ +Available Clients + +
Schema
  • Array [
  • MediaContainer object
    Server object[]
  • Array [
  • ]
  • ]
+ +Unauthorized - Returned if the X-Plex-Token is missing from the header or query. + +
Schema
    errors object[]
  • Array [
  • ]
\ No newline at end of file diff --git a/docs/plex-media-server/get-butler-tasks.api.mdx b/docs/plex-media-server/get-butler-tasks.api.mdx new file mode 100644 index 0000000..49ec162 --- /dev/null +++ b/docs/plex-media-server/get-butler-tasks.api.mdx @@ -0,0 +1,37 @@ +--- +id: get-butler-tasks +sidebar_label: Get Butler tasks +hide_title: true +hide_table_of_contents: true +api: {"tags":["Butler"],"description":"Returns a list of butler tasks","operationId":"getButlerTasks","responses":{"200":{"description":"All butler tasks","content":{"application/json":{"schema":{"type":"object","properties":{"ButlerTasks":{"type":"object","properties":{"ButlerTask":{"type":"array","items":{"type":"object","properties":{"name":{"type":"string","example":"BackupDatabase"},"interval":{"type":"number","example":3},"scheduleRandomized":{"type":"boolean"},"enabled":{"type":"boolean"},"title":{"type":"string","example":"Backup Database"},"description":{"type":"string","example":"Create a backup copy of the server's database in the configured backup directory"}}}}}}}}}}},"401":{"description":"Unauthorized - Returned if the X-Plex-Token is missing from the header or query.","content":{"application/json":{"schema":{"type":"object","properties":{"errors":{"type":"array","items":{"type":"object","properties":{"code":{"type":"number","example":1001},"message":{"type":"string","example":"User could not be authenticated"},"status":{"type":"number","example":401}}}}}}}}}},"method":"get","path":"/butler","servers":[{"url":"http://{Local IP}:{Port}","variables":{"Local IP":{"default":"10.10.10.47","description":"The Local IP Address of your plex server"},"Port":{"default":"32400","description":"The port to access your plex server"}}},{"url":"https://{Local IP}:{Port}","variables":{"Local IP":{"default":"10.10.10.47","description":"The Local IP Address of your plex server"},"Port":{"default":"32400","description":"The port to access your plex server"}}}],"security":[{"Token":[],"ClientIdentifier":[],"Device":[],"DeviceName":[],"Platform":[],"PlatformVersion":[],"Product":[],"Version":[]}],"securitySchemes":{"Token":{"description":"Plex Authentication Token","type":"apiKey","in":"header","name":"X-Plex-Token"},"ClientIdentifier":{"description":"Plex Authentication Token","type":"apiKey","in":"header","name":"X-Plex-Client-Identifier"},"DeviceName":{"description":"Primary name for the device eg. `Plex Web (Chrome)`","type":"apiKey","in":"header","name":"X-Plex-Device-Name"},"Device":{"description":"The type of device your application is running on\nDevice name and or model number, eg `iPhone3,2`, `Motorola XOOM™`, `LG5200TV`\n","type":"apiKey","in":"header","name":"X-Plex-Device"},"PlatformVersion":{"description":"Operating system version\neg `4.3.1`, `10.6.7`, `3.2`\n","type":"apiKey","in":"header","name":"X-Plex-Platform-Version"},"Platform":{"description":"Platform name \neg: `Web`, `iOS`, `MacOSX`, `Android`, `LG`\n","type":"apiKey","in":"header","name":"X-Plex-Platform"},"Product":{"description":"Plex application name \neg: `Laika`, `Plex Media Server`, `Media Link`\n","type":"apiKey","in":"header","name":"X-Plex-Product"},"Version":{"description":"Plex application version number","type":"apiKey","in":"header","name":"X-Plex-Version"}},"info":{"title":"Plex-API","summary":"A Plex Media Server API Map","description":"An Open API Spec for interacting with Plex.tv and Plex Servers","version":"0.0.3","contact":{"name":"Luke Hagar","url":"https://www.LukeHagar.com","email":"Lukeslakemail@gmail.com"},"license":{"name":"MIT","identifier":"MIT","url":"https://opensource.org/licenses/MIT"}},"postman":{"name":"Get Butler tasks","description":{"content":"Returns a list of butler tasks","type":"text/plain"},"url":{"path":["butler"],"host":["{{baseUrl}}"],"query":[],"variable":[]},"header":[{"key":"Accept","value":"application/json"}],"method":"GET"}} +sidebar_class_name: "get api-method" +info_path: docs/plex-media-server/plex-api +--- + +import ApiTabs from "@theme/ApiTabs"; +import DiscriminatorTabs from "@theme/DiscriminatorTabs"; +import MethodEndpoint from "@theme/ApiDemoPanel/MethodEndpoint"; +import MimeTabs from "@theme/MimeTabs"; +import ParamsItem from "@theme/ParamsItem"; +import ResponseSamples from "@theme/ResponseSamples"; +import SchemaItem from "@theme/SchemaItem"; +import SchemaTabs from "@theme/SchemaTabs"; +import TabItem from "@theme/TabItem"; + +

Get Butler tasks

+ + + + + +Returns a list of butler tasks + +
+ +All butler tasks + +
Schema
    ButlerTasks object
    ButlerTask object[]
  • Array [
  • ]
+ +Unauthorized - Returned if the X-Plex-Token is missing from the header or query. + +
Schema
    errors object[]
  • Array [
  • ]
\ No newline at end of file diff --git a/docs/plex-media-server/get-common-library-items.api.mdx b/docs/plex-media-server/get-common-library-items.api.mdx new file mode 100644 index 0000000..da8de6c --- /dev/null +++ b/docs/plex-media-server/get-common-library-items.api.mdx @@ -0,0 +1,46 @@ +--- +id: get-common-library-items +sidebar_label: Get Common Library Items +hide_title: true +hide_table_of_contents: true +api: {"tags":["Library"],"description":"Represents a \"Common\" item. It contains only the common attributes of the items selected by the provided filter\n","operationId":"getCommonLibraryItems","parameters":[{"name":"sectionId","description":"the Id of the library to query","in":"path","schema":{"type":"number"},"required":true},{"name":"type","description":"item type","in":"query","schema":{"type":"number"},"required":true},{"name":"filter","description":"the filter parameter","in":"query","schema":{"type":"string"},"required":false}],"responses":{"200":{"description":"The details of the library"},"400":{"description":"In response to missing the type parameter."},"401":{"description":"Unauthorized - Returned if the X-Plex-Token is missing from the header or query.","content":{"application/json":{"schema":{"type":"object","properties":{"errors":{"type":"array","items":{"type":"object","properties":{"code":{"type":"number","example":1001},"message":{"type":"string","example":"User could not be authenticated"},"status":{"type":"number","example":401}}}}}}}}},"404":{"description":"In response to a non-existant sectionId."}},"method":"get","path":"/library/sections/{sectionId}/common","servers":[{"url":"http://{Local IP}:{Port}","variables":{"Local IP":{"default":"10.10.10.47","description":"The Local IP Address of your plex server"},"Port":{"default":"32400","description":"The port to access your plex server"}}},{"url":"https://{Local IP}:{Port}","variables":{"Local IP":{"default":"10.10.10.47","description":"The Local IP Address of your plex server"},"Port":{"default":"32400","description":"The port to access your plex server"}}}],"security":[{"Token":[],"ClientIdentifier":[],"Device":[],"DeviceName":[],"Platform":[],"PlatformVersion":[],"Product":[],"Version":[]}],"securitySchemes":{"Token":{"description":"Plex Authentication Token","type":"apiKey","in":"header","name":"X-Plex-Token"},"ClientIdentifier":{"description":"Plex Authentication Token","type":"apiKey","in":"header","name":"X-Plex-Client-Identifier"},"DeviceName":{"description":"Primary name for the device eg. `Plex Web (Chrome)`","type":"apiKey","in":"header","name":"X-Plex-Device-Name"},"Device":{"description":"The type of device your application is running on\nDevice name and or model number, eg `iPhone3,2`, `Motorola XOOM™`, `LG5200TV`\n","type":"apiKey","in":"header","name":"X-Plex-Device"},"PlatformVersion":{"description":"Operating system version\neg `4.3.1`, `10.6.7`, `3.2`\n","type":"apiKey","in":"header","name":"X-Plex-Platform-Version"},"Platform":{"description":"Platform name \neg: `Web`, `iOS`, `MacOSX`, `Android`, `LG`\n","type":"apiKey","in":"header","name":"X-Plex-Platform"},"Product":{"description":"Plex application name \neg: `Laika`, `Plex Media Server`, `Media Link`\n","type":"apiKey","in":"header","name":"X-Plex-Product"},"Version":{"description":"Plex application version number","type":"apiKey","in":"header","name":"X-Plex-Version"}},"info":{"title":"Plex-API","summary":"A Plex Media Server API Map","description":"An Open API Spec for interacting with Plex.tv and Plex Servers","version":"0.0.3","contact":{"name":"Luke Hagar","url":"https://www.LukeHagar.com","email":"Lukeslakemail@gmail.com"},"license":{"name":"MIT","identifier":"MIT","url":"https://opensource.org/licenses/MIT"}},"postman":{"name":"Get Common Library Items","description":{"content":"Represents a \"Common\" item. It contains only the common attributes of the items selected by the provided filter\n","type":"text/plain"},"url":{"path":["library","sections",":sectionId","common"],"host":["{{baseUrl}}"],"query":[{"disabled":false,"description":{"content":"(Required) item type","type":"text/plain"},"key":"type","value":""},{"disabled":false,"description":{"content":"the filter parameter","type":"text/plain"},"key":"filter","value":""}],"variable":[{"disabled":false,"description":{"content":"(Required) the Id of the library to query","type":"text/plain"},"type":"any","value":"","key":"sectionId"}]},"header":[{"key":"Accept","value":"application/json"}],"method":"GET"}} +sidebar_class_name: "get api-method" +info_path: docs/plex-media-server/plex-api +--- + +import ApiTabs from "@theme/ApiTabs"; +import DiscriminatorTabs from "@theme/DiscriminatorTabs"; +import MethodEndpoint from "@theme/ApiDemoPanel/MethodEndpoint"; +import MimeTabs from "@theme/MimeTabs"; +import ParamsItem from "@theme/ParamsItem"; +import ResponseSamples from "@theme/ResponseSamples"; +import SchemaItem from "@theme/SchemaItem"; +import SchemaTabs from "@theme/SchemaTabs"; +import TabItem from "@theme/TabItem"; + +

Get Common Library Items

+ + + + + +Represents a "Common" item. It contains only the common attributes of the items selected by the provided filter + + +
Path Parameters
Query Parameters
+ +The details of the library + +
+ +In response to missing the type parameter. + +
+ +Unauthorized - Returned if the X-Plex-Token is missing from the header or query. + +
Schema
    errors object[]
  • Array [
  • ]
+ +In response to a non-existant sectionId. + +
\ No newline at end of file diff --git a/docs/plex-media-server/get-file-hash.api.mdx b/docs/plex-media-server/get-file-hash.api.mdx new file mode 100644 index 0000000..19af2d5 --- /dev/null +++ b/docs/plex-media-server/get-file-hash.api.mdx @@ -0,0 +1,37 @@ +--- +id: get-file-hash +sidebar_label: Get Hash Value +hide_title: true +hide_table_of_contents: true +api: {"tags":["Hashes"],"description":"This resource returns hash values for local files","operationId":"getFileHash","parameters":[{"name":"url","description":"This is the path to the local file, must be prefixed by `file://`","in":"query","schema":{"type":"string","example":"file://C:\\Image.png&type=13"},"required":true},{"name":"type","description":"Item type","in":"query","schema":{"type":"number"},"required":false}],"responses":{"200":{"description":"The hash of the file"},"401":{"description":"Unauthorized - Returned if the X-Plex-Token is missing from the header or query.","content":{"application/json":{"schema":{"type":"object","properties":{"errors":{"type":"array","items":{"type":"object","properties":{"code":{"type":"number","example":1001},"message":{"type":"string","example":"User could not be authenticated"},"status":{"type":"number","example":401}}}}}}}}}},"method":"get","path":"/library/hashes","servers":[{"url":"http://{Local IP}:{Port}","variables":{"Local IP":{"default":"10.10.10.47","description":"The Local IP Address of your plex server"},"Port":{"default":"32400","description":"The port to access your plex server"}}},{"url":"https://{Local IP}:{Port}","variables":{"Local IP":{"default":"10.10.10.47","description":"The Local IP Address of your plex server"},"Port":{"default":"32400","description":"The port to access your plex server"}}}],"security":[{"Token":[],"ClientIdentifier":[],"Device":[],"DeviceName":[],"Platform":[],"PlatformVersion":[],"Product":[],"Version":[]}],"securitySchemes":{"Token":{"description":"Plex Authentication Token","type":"apiKey","in":"header","name":"X-Plex-Token"},"ClientIdentifier":{"description":"Plex Authentication Token","type":"apiKey","in":"header","name":"X-Plex-Client-Identifier"},"DeviceName":{"description":"Primary name for the device eg. `Plex Web (Chrome)`","type":"apiKey","in":"header","name":"X-Plex-Device-Name"},"Device":{"description":"The type of device your application is running on\nDevice name and or model number, eg `iPhone3,2`, `Motorola XOOM™`, `LG5200TV`\n","type":"apiKey","in":"header","name":"X-Plex-Device"},"PlatformVersion":{"description":"Operating system version\neg `4.3.1`, `10.6.7`, `3.2`\n","type":"apiKey","in":"header","name":"X-Plex-Platform-Version"},"Platform":{"description":"Platform name \neg: `Web`, `iOS`, `MacOSX`, `Android`, `LG`\n","type":"apiKey","in":"header","name":"X-Plex-Platform"},"Product":{"description":"Plex application name \neg: `Laika`, `Plex Media Server`, `Media Link`\n","type":"apiKey","in":"header","name":"X-Plex-Product"},"Version":{"description":"Plex application version number","type":"apiKey","in":"header","name":"X-Plex-Version"}},"info":{"title":"Plex-API","summary":"A Plex Media Server API Map","description":"An Open API Spec for interacting with Plex.tv and Plex Servers","version":"0.0.3","contact":{"name":"Luke Hagar","url":"https://www.LukeHagar.com","email":"Lukeslakemail@gmail.com"},"license":{"name":"MIT","identifier":"MIT","url":"https://opensource.org/licenses/MIT"}},"postman":{"name":"Get Hash Value","description":{"content":"This resource returns hash values for local files","type":"text/plain"},"url":{"path":["library","hashes"],"host":["{{baseUrl}}"],"query":[{"disabled":false,"description":{"content":"(Required) This is the path to the local file, must be prefixed by `file://`","type":"text/plain"},"key":"url","value":""},{"disabled":false,"description":{"content":"Item type","type":"text/plain"},"key":"type","value":""}],"variable":[]},"header":[{"key":"Accept","value":"application/json"}],"method":"GET"}} +sidebar_class_name: "get api-method" +info_path: docs/plex-media-server/plex-api +--- + +import ApiTabs from "@theme/ApiTabs"; +import DiscriminatorTabs from "@theme/DiscriminatorTabs"; +import MethodEndpoint from "@theme/ApiDemoPanel/MethodEndpoint"; +import MimeTabs from "@theme/MimeTabs"; +import ParamsItem from "@theme/ParamsItem"; +import ResponseSamples from "@theme/ResponseSamples"; +import SchemaItem from "@theme/SchemaItem"; +import SchemaTabs from "@theme/SchemaTabs"; +import TabItem from "@theme/TabItem"; + +

Get Hash Value

+ + + + + +This resource returns hash values for local files + +
Query Parameters
+ +The hash of the file + +
+ +Unauthorized - Returned if the X-Plex-Token is missing from the header or query. + +
Schema
    errors object[]
  • Array [
  • ]
\ No newline at end of file diff --git a/docs/plex-media-server/get-global-hubs.api.mdx b/docs/plex-media-server/get-global-hubs.api.mdx new file mode 100644 index 0000000..9e35516 --- /dev/null +++ b/docs/plex-media-server/get-global-hubs.api.mdx @@ -0,0 +1,33 @@ +--- +id: get-global-hubs +sidebar_label: Get Global Hubs +hide_title: true +hide_table_of_contents: true +api: {"tags":["Hubs"],"description":"","operationId":"getGlobalHubs","parameters":[{"name":"count","description":"The number of items to return with each hub.","in":"query","schema":{"type":"number"},"required":false},{"name":"onlyTransient","description":"Only return hubs which are \"transient\", meaning those which are prone to changing after media playback or addition (e.g. On Deck, or Recently Added).","in":"query","schema":{"type":"number","enum":[0,1]},"required":false}],"responses":{"200":{"description":"returns global hubs"},"401":{"description":"Unauthorized - Returned if the X-Plex-Token is missing from the header or query.","content":{"application/json":{"schema":{"type":"object","properties":{"errors":{"type":"array","items":{"type":"object","properties":{"code":{"type":"number","example":1001},"message":{"type":"string","example":"User could not be authenticated"},"status":{"type":"number","example":401}}}}}}}}}},"method":"get","path":"/hubs","servers":[{"url":"http://{Local IP}:{Port}","variables":{"Local IP":{"default":"10.10.10.47","description":"The Local IP Address of your plex server"},"Port":{"default":"32400","description":"The port to access your plex server"}}},{"url":"https://{Local IP}:{Port}","variables":{"Local IP":{"default":"10.10.10.47","description":"The Local IP Address of your plex server"},"Port":{"default":"32400","description":"The port to access your plex server"}}}],"security":[{"Token":[],"ClientIdentifier":[],"Device":[],"DeviceName":[],"Platform":[],"PlatformVersion":[],"Product":[],"Version":[]}],"securitySchemes":{"Token":{"description":"Plex Authentication Token","type":"apiKey","in":"header","name":"X-Plex-Token"},"ClientIdentifier":{"description":"Plex Authentication Token","type":"apiKey","in":"header","name":"X-Plex-Client-Identifier"},"DeviceName":{"description":"Primary name for the device eg. `Plex Web (Chrome)`","type":"apiKey","in":"header","name":"X-Plex-Device-Name"},"Device":{"description":"The type of device your application is running on\nDevice name and or model number, eg `iPhone3,2`, `Motorola XOOM™`, `LG5200TV`\n","type":"apiKey","in":"header","name":"X-Plex-Device"},"PlatformVersion":{"description":"Operating system version\neg `4.3.1`, `10.6.7`, `3.2`\n","type":"apiKey","in":"header","name":"X-Plex-Platform-Version"},"Platform":{"description":"Platform name \neg: `Web`, `iOS`, `MacOSX`, `Android`, `LG`\n","type":"apiKey","in":"header","name":"X-Plex-Platform"},"Product":{"description":"Plex application name \neg: `Laika`, `Plex Media Server`, `Media Link`\n","type":"apiKey","in":"header","name":"X-Plex-Product"},"Version":{"description":"Plex application version number","type":"apiKey","in":"header","name":"X-Plex-Version"}},"info":{"title":"Plex-API","summary":"A Plex Media Server API Map","description":"An Open API Spec for interacting with Plex.tv and Plex Servers","version":"0.0.3","contact":{"name":"Luke Hagar","url":"https://www.LukeHagar.com","email":"Lukeslakemail@gmail.com"},"license":{"name":"MIT","identifier":"MIT","url":"https://opensource.org/licenses/MIT"}},"postman":{"name":"Get Global Hubs","description":{"content":"","type":"text/plain"},"url":{"path":["hubs"],"host":["{{baseUrl}}"],"query":[{"disabled":false,"description":{"content":"The number of items to return with each hub.","type":"text/plain"},"key":"count","value":""},{"disabled":false,"description":{"content":"Only return hubs which are \"transient\", meaning those which are prone to changing after media playback or addition (e.g. On Deck, or Recently Added).","type":"text/plain"},"key":"onlyTransient","value":""}],"variable":[]},"header":[{"key":"Accept","value":"application/json"}],"method":"GET"}} +sidebar_class_name: "get api-method" +info_path: docs/plex-media-server/plex-api +--- + +import ApiTabs from "@theme/ApiTabs"; +import DiscriminatorTabs from "@theme/DiscriminatorTabs"; +import MethodEndpoint from "@theme/ApiDemoPanel/MethodEndpoint"; +import MimeTabs from "@theme/MimeTabs"; +import ParamsItem from "@theme/ParamsItem"; +import ResponseSamples from "@theme/ResponseSamples"; +import SchemaItem from "@theme/SchemaItem"; +import SchemaTabs from "@theme/SchemaTabs"; +import TabItem from "@theme/TabItem"; + +

Get Global Hubs

+ + + +
Query Parameters
+ +returns global hubs + +
+ +Unauthorized - Returned if the X-Plex-Token is missing from the header or query. + +
Schema
    errors object[]
  • Array [
  • ]
\ No newline at end of file diff --git a/docs/plex-media-server/get-latest-library-items.api.mdx b/docs/plex-media-server/get-latest-library-items.api.mdx new file mode 100644 index 0000000..cdb1b96 --- /dev/null +++ b/docs/plex-media-server/get-latest-library-items.api.mdx @@ -0,0 +1,38 @@ +--- +id: get-latest-library-items +sidebar_label: Get Latest Library Items +hide_title: true +hide_table_of_contents: true +api: {"tags":["Library"],"description":"This endpoint will return a list of the latest library items filtered by the filter and type provided\n","operationId":"getLatestLibraryItems","parameters":[{"name":"sectionId","description":"the Id of the library to query","in":"path","schema":{"type":"number"},"required":true},{"name":"type","description":"item type","in":"query","schema":{"type":"number"},"required":true},{"name":"filter","description":"the filter parameter","in":"query","schema":{"type":"string"},"required":false}],"responses":{"200":{"description":"The details of the library"},"401":{"description":"Unauthorized - Returned if the X-Plex-Token is missing from the header or query.","content":{"application/json":{"schema":{"type":"object","properties":{"errors":{"type":"array","items":{"type":"object","properties":{"code":{"type":"number","example":1001},"message":{"type":"string","example":"User could not be authenticated"},"status":{"type":"number","example":401}}}}}}}}}},"method":"get","path":"/library/sections/{sectionId}/latest","servers":[{"url":"http://{Local IP}:{Port}","variables":{"Local IP":{"default":"10.10.10.47","description":"The Local IP Address of your plex server"},"Port":{"default":"32400","description":"The port to access your plex server"}}},{"url":"https://{Local IP}:{Port}","variables":{"Local IP":{"default":"10.10.10.47","description":"The Local IP Address of your plex server"},"Port":{"default":"32400","description":"The port to access your plex server"}}}],"security":[{"Token":[],"ClientIdentifier":[],"Device":[],"DeviceName":[],"Platform":[],"PlatformVersion":[],"Product":[],"Version":[]}],"securitySchemes":{"Token":{"description":"Plex Authentication Token","type":"apiKey","in":"header","name":"X-Plex-Token"},"ClientIdentifier":{"description":"Plex Authentication Token","type":"apiKey","in":"header","name":"X-Plex-Client-Identifier"},"DeviceName":{"description":"Primary name for the device eg. `Plex Web (Chrome)`","type":"apiKey","in":"header","name":"X-Plex-Device-Name"},"Device":{"description":"The type of device your application is running on\nDevice name and or model number, eg `iPhone3,2`, `Motorola XOOM™`, `LG5200TV`\n","type":"apiKey","in":"header","name":"X-Plex-Device"},"PlatformVersion":{"description":"Operating system version\neg `4.3.1`, `10.6.7`, `3.2`\n","type":"apiKey","in":"header","name":"X-Plex-Platform-Version"},"Platform":{"description":"Platform name \neg: `Web`, `iOS`, `MacOSX`, `Android`, `LG`\n","type":"apiKey","in":"header","name":"X-Plex-Platform"},"Product":{"description":"Plex application name \neg: `Laika`, `Plex Media Server`, `Media Link`\n","type":"apiKey","in":"header","name":"X-Plex-Product"},"Version":{"description":"Plex application version number","type":"apiKey","in":"header","name":"X-Plex-Version"}},"info":{"title":"Plex-API","summary":"A Plex Media Server API Map","description":"An Open API Spec for interacting with Plex.tv and Plex Servers","version":"0.0.3","contact":{"name":"Luke Hagar","url":"https://www.LukeHagar.com","email":"Lukeslakemail@gmail.com"},"license":{"name":"MIT","identifier":"MIT","url":"https://opensource.org/licenses/MIT"}},"postman":{"name":"Get Latest Library Items","description":{"content":"This endpoint will return a list of the latest library items filtered by the filter and type provided\n","type":"text/plain"},"url":{"path":["library","sections",":sectionId","latest"],"host":["{{baseUrl}}"],"query":[{"disabled":false,"description":{"content":"(Required) item type","type":"text/plain"},"key":"type","value":""},{"disabled":false,"description":{"content":"the filter parameter","type":"text/plain"},"key":"filter","value":""}],"variable":[{"disabled":false,"description":{"content":"(Required) the Id of the library to query","type":"text/plain"},"type":"any","value":"","key":"sectionId"}]},"header":[{"key":"Accept","value":"application/json"}],"method":"GET"}} +sidebar_class_name: "get api-method" +info_path: docs/plex-media-server/plex-api +--- + +import ApiTabs from "@theme/ApiTabs"; +import DiscriminatorTabs from "@theme/DiscriminatorTabs"; +import MethodEndpoint from "@theme/ApiDemoPanel/MethodEndpoint"; +import MimeTabs from "@theme/MimeTabs"; +import ParamsItem from "@theme/ParamsItem"; +import ResponseSamples from "@theme/ResponseSamples"; +import SchemaItem from "@theme/SchemaItem"; +import SchemaTabs from "@theme/SchemaTabs"; +import TabItem from "@theme/TabItem"; + +

Get Latest Library Items

+ + + + + +This endpoint will return a list of the latest library items filtered by the filter and type provided + + +
Path Parameters
Query Parameters
+ +The details of the library + +
+ +Unauthorized - Returned if the X-Plex-Token is missing from the header or query. + +
Schema
    errors object[]
  • Array [
  • ]
\ No newline at end of file diff --git a/docs/plex-media-server/get-libraries.api.mdx b/docs/plex-media-server/get-libraries.api.mdx new file mode 100644 index 0000000..a59a195 --- /dev/null +++ b/docs/plex-media-server/get-libraries.api.mdx @@ -0,0 +1,43 @@ +--- +id: get-libraries +sidebar_label: Get All Libraries +hide_title: true +hide_table_of_contents: true +api: {"tags":["Library"],"operationId":"getLibraries","description":"A library section (commonly referred to as just a library) is a collection of media. \nLibraries are typed, and depending on their type provide either a flat or a hierarchical view of the media. \nFor example, a music library has an artist > albums > tracks structure, whereas a movie library is flat.\n\nLibraries have features beyond just being a collection of media; for starters, they include information about supported types, filters and sorts. \nThis allows a client to provide a rich interface around the media (e.g. allow sorting movies by release year).\n","responses":{"200":{"description":"The libraries available on the Server"},"401":{"description":"Unauthorized - Returned if the X-Plex-Token is missing from the header or query.","content":{"application/json":{"schema":{"type":"object","properties":{"errors":{"type":"array","items":{"type":"object","properties":{"code":{"type":"number","example":1001},"message":{"type":"string","example":"User could not be authenticated"},"status":{"type":"number","example":401}}}}}}}}}},"method":"get","path":"/library/sections","servers":[{"url":"http://{Local IP}:{Port}","variables":{"Local IP":{"default":"10.10.10.47","description":"The Local IP Address of your plex server"},"Port":{"default":"32400","description":"The port to access your plex server"}}},{"url":"https://{Local IP}:{Port}","variables":{"Local IP":{"default":"10.10.10.47","description":"The Local IP Address of your plex server"},"Port":{"default":"32400","description":"The port to access your plex server"}}}],"security":[{"Token":[],"ClientIdentifier":[],"Device":[],"DeviceName":[],"Platform":[],"PlatformVersion":[],"Product":[],"Version":[]}],"securitySchemes":{"Token":{"description":"Plex Authentication Token","type":"apiKey","in":"header","name":"X-Plex-Token"},"ClientIdentifier":{"description":"Plex Authentication Token","type":"apiKey","in":"header","name":"X-Plex-Client-Identifier"},"DeviceName":{"description":"Primary name for the device eg. `Plex Web (Chrome)`","type":"apiKey","in":"header","name":"X-Plex-Device-Name"},"Device":{"description":"The type of device your application is running on\nDevice name and or model number, eg `iPhone3,2`, `Motorola XOOM™`, `LG5200TV`\n","type":"apiKey","in":"header","name":"X-Plex-Device"},"PlatformVersion":{"description":"Operating system version\neg `4.3.1`, `10.6.7`, `3.2`\n","type":"apiKey","in":"header","name":"X-Plex-Platform-Version"},"Platform":{"description":"Platform name \neg: `Web`, `iOS`, `MacOSX`, `Android`, `LG`\n","type":"apiKey","in":"header","name":"X-Plex-Platform"},"Product":{"description":"Plex application name \neg: `Laika`, `Plex Media Server`, `Media Link`\n","type":"apiKey","in":"header","name":"X-Plex-Product"},"Version":{"description":"Plex application version number","type":"apiKey","in":"header","name":"X-Plex-Version"}},"info":{"title":"Plex-API","summary":"A Plex Media Server API Map","description":"An Open API Spec for interacting with Plex.tv and Plex Servers","version":"0.0.3","contact":{"name":"Luke Hagar","url":"https://www.LukeHagar.com","email":"Lukeslakemail@gmail.com"},"license":{"name":"MIT","identifier":"MIT","url":"https://opensource.org/licenses/MIT"}},"postman":{"name":"Get All Libraries","description":{"content":"A library section (commonly referred to as just a library) is a collection of media. \nLibraries are typed, and depending on their type provide either a flat or a hierarchical view of the media. \nFor example, a music library has an artist > albums > tracks structure, whereas a movie library is flat.\n\nLibraries have features beyond just being a collection of media; for starters, they include information about supported types, filters and sorts. \nThis allows a client to provide a rich interface around the media (e.g. allow sorting movies by release year).\n","type":"text/plain"},"url":{"path":["library","sections"],"host":["{{baseUrl}}"],"query":[],"variable":[]},"header":[{"key":"Accept","value":"application/json"}],"method":"GET"}} +sidebar_class_name: "get api-method" +info_path: docs/plex-media-server/plex-api +--- + +import ApiTabs from "@theme/ApiTabs"; +import DiscriminatorTabs from "@theme/DiscriminatorTabs"; +import MethodEndpoint from "@theme/ApiDemoPanel/MethodEndpoint"; +import MimeTabs from "@theme/MimeTabs"; +import ParamsItem from "@theme/ParamsItem"; +import ResponseSamples from "@theme/ResponseSamples"; +import SchemaItem from "@theme/SchemaItem"; +import SchemaTabs from "@theme/SchemaTabs"; +import TabItem from "@theme/TabItem"; + +

Get All Libraries

+ + + + + +A library section (commonly referred to as just a library) is a collection of media. +Libraries are typed, and depending on their type provide either a flat or a hierarchical view of the media. +For example, a music library has an artist > albums > tracks structure, whereas a movie library is flat. + +Libraries have features beyond just being a collection of media; for starters, they include information about supported types, filters and sorts. +This allows a client to provide a rich interface around the media (e.g. allow sorting movies by release year). + + +
+ +The libraries available on the Server + +
+ +Unauthorized - Returned if the X-Plex-Token is missing from the header or query. + +
Schema
    errors object[]
  • Array [
  • ]
\ No newline at end of file diff --git a/docs/plex-media-server/get-library-details.api.mdx b/docs/plex-media-server/get-library-details.api.mdx new file mode 100644 index 0000000..18aee4e --- /dev/null +++ b/docs/plex-media-server/get-library-details.api.mdx @@ -0,0 +1,56 @@ +--- +id: get-library-details +sidebar_label: Get Library Details +hide_title: true +hide_table_of_contents: true +api: {"tags":["Library"],"description":"Returns details for the library. This can be thought of as an interstitial endpoint because it contains information about the library, rather than content itself. These details are:\n\n- A list of `Directory` objects: These used to be used by clients to build a menuing system. There are four flavors of directory found here:\n - Primary: (e.g. all, On Deck) These are still used in some clients to provide \"shortcuts\" to subsets of media. However, with the exception of On Deck, all of them can be created by media queries, and the desire is to allow these to be customized by users.\n - Secondary: These are marked with `secondary=\"1\"` and were used by old clients to provide nested menus allowing for primative (but structured) navigation.\n - Special: There is a By Folder entry which allows browsing the media by the underlying filesystem structure, and there's a completely obsolete entry marked `search=\"1\"` which used to be used to allow clients to build search dialogs on the fly.\n- A list of `Type` objects: These represent the types of things found in this library, and for each one, a list of `Filter` and `Sort` objects. These can be used to build rich controls around a grid of media to allow filtering and organizing. Note that these filters and sorts are optional, and without them, the client won't render any filtering controls. The `Type` object contains:\n - `key`: This provides the root endpoint returning the actual media list for the type.\n - `type`: This is the metadata type for the type (if a standard Plex type).\n - `title`: The title for for the content of this type (e.g. \"Movies\").\n- Each `Filter` object contains a description of the filter. Note that it is not an exhaustive list of the full media query language, but an inportant subset useful for top-level API.\n - `filter`: This represents the filter name used for the filter, which can be used to construct complex media queries with.\n - `filterType`: This is either `string`, `integer`, or `boolean`, and describes the type of values used for the filter.\n - `key`: This provides the endpoint where the possible range of values for the filter can be retrieved (e.g. for a \"Genre\" filter, it returns a list of all the genres in the library). This will include a `type` argument that matches the metadata type of the Type element.\n - `title`: The title for the filter.\n- Each `Sort` object contains a description of the sort field.\n - `defaultDirection`: Can be either `asc` or `desc`, and specifies the default direction for the sort field (e.g. titles default to alphabetically ascending).\n - `descKey` and `key`: Contains the parameters passed to the `sort=...` media query for each direction of the sort.\n - `title`: The title of the field.\n","operationId":"getLibraryDetails","parameters":[{"name":"sectionId","description":"the Id of the library to query","in":"path","schema":{"type":"string","example":1000},"required":true},{"name":"includeDetails","description":"Whether or not to include details for a section (types, filters, and sorts). \nOnly exists for backwards compatibility, media providers other than the server libraries have it on always.\n","in":"query","schema":{"type":"number","enum":[0,1],"default":0},"required":false}],"responses":{"200":{"description":"The details of the library"},"401":{"description":"Unauthorized - Returned if the X-Plex-Token is missing from the header or query.","content":{"application/json":{"schema":{"type":"object","properties":{"errors":{"type":"array","items":{"type":"object","properties":{"code":{"type":"number","example":1001},"message":{"type":"string","example":"User could not be authenticated"},"status":{"type":"number","example":401}}}}}}}}}},"method":"get","path":"/library/sections/{sectionId}","servers":[{"url":"http://{Local IP}:{Port}","variables":{"Local IP":{"default":"10.10.10.47","description":"The Local IP Address of your plex server"},"Port":{"default":"32400","description":"The port to access your plex server"}}},{"url":"https://{Local IP}:{Port}","variables":{"Local IP":{"default":"10.10.10.47","description":"The Local IP Address of your plex server"},"Port":{"default":"32400","description":"The port to access your plex server"}}}],"security":[{"Token":[],"ClientIdentifier":[],"Device":[],"DeviceName":[],"Platform":[],"PlatformVersion":[],"Product":[],"Version":[]}],"securitySchemes":{"Token":{"description":"Plex Authentication Token","type":"apiKey","in":"header","name":"X-Plex-Token"},"ClientIdentifier":{"description":"Plex Authentication Token","type":"apiKey","in":"header","name":"X-Plex-Client-Identifier"},"DeviceName":{"description":"Primary name for the device eg. `Plex Web (Chrome)`","type":"apiKey","in":"header","name":"X-Plex-Device-Name"},"Device":{"description":"The type of device your application is running on\nDevice name and or model number, eg `iPhone3,2`, `Motorola XOOM™`, `LG5200TV`\n","type":"apiKey","in":"header","name":"X-Plex-Device"},"PlatformVersion":{"description":"Operating system version\neg `4.3.1`, `10.6.7`, `3.2`\n","type":"apiKey","in":"header","name":"X-Plex-Platform-Version"},"Platform":{"description":"Platform name \neg: `Web`, `iOS`, `MacOSX`, `Android`, `LG`\n","type":"apiKey","in":"header","name":"X-Plex-Platform"},"Product":{"description":"Plex application name \neg: `Laika`, `Plex Media Server`, `Media Link`\n","type":"apiKey","in":"header","name":"X-Plex-Product"},"Version":{"description":"Plex application version number","type":"apiKey","in":"header","name":"X-Plex-Version"}},"info":{"title":"Plex-API","summary":"A Plex Media Server API Map","description":"An Open API Spec for interacting with Plex.tv and Plex Servers","version":"0.0.3","contact":{"name":"Luke Hagar","url":"https://www.LukeHagar.com","email":"Lukeslakemail@gmail.com"},"license":{"name":"MIT","identifier":"MIT","url":"https://opensource.org/licenses/MIT"}},"postman":{"name":"Get Library Details","description":{"content":"Returns details for the library. This can be thought of as an interstitial endpoint because it contains information about the library, rather than content itself. These details are:\n\n- A list of `Directory` objects: These used to be used by clients to build a menuing system. There are four flavors of directory found here:\n - Primary: (e.g. all, On Deck) These are still used in some clients to provide \"shortcuts\" to subsets of media. However, with the exception of On Deck, all of them can be created by media queries, and the desire is to allow these to be customized by users.\n - Secondary: These are marked with `secondary=\"1\"` and were used by old clients to provide nested menus allowing for primative (but structured) navigation.\n - Special: There is a By Folder entry which allows browsing the media by the underlying filesystem structure, and there's a completely obsolete entry marked `search=\"1\"` which used to be used to allow clients to build search dialogs on the fly.\n- A list of `Type` objects: These represent the types of things found in this library, and for each one, a list of `Filter` and `Sort` objects. These can be used to build rich controls around a grid of media to allow filtering and organizing. Note that these filters and sorts are optional, and without them, the client won't render any filtering controls. The `Type` object contains:\n - `key`: This provides the root endpoint returning the actual media list for the type.\n - `type`: This is the metadata type for the type (if a standard Plex type).\n - `title`: The title for for the content of this type (e.g. \"Movies\").\n- Each `Filter` object contains a description of the filter. Note that it is not an exhaustive list of the full media query language, but an inportant subset useful for top-level API.\n - `filter`: This represents the filter name used for the filter, which can be used to construct complex media queries with.\n - `filterType`: This is either `string`, `integer`, or `boolean`, and describes the type of values used for the filter.\n - `key`: This provides the endpoint where the possible range of values for the filter can be retrieved (e.g. for a \"Genre\" filter, it returns a list of all the genres in the library). This will include a `type` argument that matches the metadata type of the Type element.\n - `title`: The title for the filter.\n- Each `Sort` object contains a description of the sort field.\n - `defaultDirection`: Can be either `asc` or `desc`, and specifies the default direction for the sort field (e.g. titles default to alphabetically ascending).\n - `descKey` and `key`: Contains the parameters passed to the `sort=...` media query for each direction of the sort.\n - `title`: The title of the field.\n","type":"text/plain"},"url":{"path":["library","sections",":sectionId"],"host":["{{baseUrl}}"],"query":[{"disabled":false,"description":{"content":"Whether or not to include details for a section (types, filters, and sorts). \nOnly exists for backwards compatibility, media providers other than the server libraries have it on always.\n","type":"text/plain"},"key":"includeDetails","value":""}],"variable":[{"disabled":false,"description":{"content":"(Required) the Id of the library to query","type":"text/plain"},"type":"any","value":"","key":"sectionId"}]},"header":[{"key":"Accept","value":"application/json"}],"method":"GET"}} +sidebar_class_name: "get api-method" +info_path: docs/plex-media-server/plex-api +--- + +import ApiTabs from "@theme/ApiTabs"; +import DiscriminatorTabs from "@theme/DiscriminatorTabs"; +import MethodEndpoint from "@theme/ApiDemoPanel/MethodEndpoint"; +import MimeTabs from "@theme/MimeTabs"; +import ParamsItem from "@theme/ParamsItem"; +import ResponseSamples from "@theme/ResponseSamples"; +import SchemaItem from "@theme/SchemaItem"; +import SchemaTabs from "@theme/SchemaTabs"; +import TabItem from "@theme/TabItem"; + +

Get Library Details

+ + + + + +Returns details for the library. This can be thought of as an interstitial endpoint because it contains information about the library, rather than content itself. These details are: + +- A list of `Directory` objects: These used to be used by clients to build a menuing system. There are four flavors of directory found here: + - Primary: (e.g. all, On Deck) These are still used in some clients to provide "shortcuts" to subsets of media. However, with the exception of On Deck, all of them can be created by media queries, and the desire is to allow these to be customized by users. + - Secondary: These are marked with `secondary="1"` and were used by old clients to provide nested menus allowing for primative (but structured) navigation. + - Special: There is a By Folder entry which allows browsing the media by the underlying filesystem structure, and there's a completely obsolete entry marked `search="1"` which used to be used to allow clients to build search dialogs on the fly. +- A list of `Type` objects: These represent the types of things found in this library, and for each one, a list of `Filter` and `Sort` objects. These can be used to build rich controls around a grid of media to allow filtering and organizing. Note that these filters and sorts are optional, and without them, the client won't render any filtering controls. The `Type` object contains: + - `key`: This provides the root endpoint returning the actual media list for the type. + - `type`: This is the metadata type for the type (if a standard Plex type). + - `title`: The title for for the content of this type (e.g. "Movies"). +- Each `Filter` object contains a description of the filter. Note that it is not an exhaustive list of the full media query language, but an inportant subset useful for top-level API. + - `filter`: This represents the filter name used for the filter, which can be used to construct complex media queries with. + - `filterType`: This is either `string`, `integer`, or `boolean`, and describes the type of values used for the filter. + - `key`: This provides the endpoint where the possible range of values for the filter can be retrieved (e.g. for a "Genre" filter, it returns a list of all the genres in the library). This will include a `type` argument that matches the metadata type of the Type element. + - `title`: The title for the filter. +- Each `Sort` object contains a description of the sort field. + - `defaultDirection`: Can be either `asc` or `desc`, and specifies the default direction for the sort field (e.g. titles default to alphabetically ascending). + - `descKey` and `key`: Contains the parameters passed to the `sort=...` media query for each direction of the sort. + - `title`: The title of the field. + + +
Path Parameters
Query Parameters
+ +The details of the library + +
+ +Unauthorized - Returned if the X-Plex-Token is missing from the header or query. + +
Schema
    errors object[]
  • Array [
  • ]
\ No newline at end of file diff --git a/docs/plex-media-server/get-library-hubs.api.mdx b/docs/plex-media-server/get-library-hubs.api.mdx new file mode 100644 index 0000000..96dc771 --- /dev/null +++ b/docs/plex-media-server/get-library-hubs.api.mdx @@ -0,0 +1,38 @@ +--- +id: get-library-hubs +sidebar_label: Get library specific hubs +hide_title: true +hide_table_of_contents: true +api: {"tags":["Hubs"],"description":"This endpoint will return a list of library specific hubs\n","operationId":"getLibraryHubs","parameters":[{"name":"sectionId","description":"the Id of the library to query","in":"path","schema":{"type":"number"},"required":true},{"name":"count","description":"The number of items to return with each hub.","in":"query","schema":{"type":"number"},"required":false},{"name":"onlyTransient","description":"Only return hubs which are \"transient\", meaning those which are prone to changing after media playback or addition (e.g. On Deck, or Recently Added).","in":"query","schema":{"type":"number","enum":[0,1]},"required":false}],"responses":{"200":{"description":"The hubs specific to the library"},"401":{"description":"Unauthorized - Returned if the X-Plex-Token is missing from the header or query.","content":{"application/json":{"schema":{"type":"object","properties":{"errors":{"type":"array","items":{"type":"object","properties":{"code":{"type":"number","example":1001},"message":{"type":"string","example":"User could not be authenticated"},"status":{"type":"number","example":401}}}}}}}}}},"method":"get","path":"/hubs/sections/{sectionId}","servers":[{"url":"http://{Local IP}:{Port}","variables":{"Local IP":{"default":"10.10.10.47","description":"The Local IP Address of your plex server"},"Port":{"default":"32400","description":"The port to access your plex server"}}},{"url":"https://{Local IP}:{Port}","variables":{"Local IP":{"default":"10.10.10.47","description":"The Local IP Address of your plex server"},"Port":{"default":"32400","description":"The port to access your plex server"}}}],"security":[{"Token":[],"ClientIdentifier":[],"Device":[],"DeviceName":[],"Platform":[],"PlatformVersion":[],"Product":[],"Version":[]}],"securitySchemes":{"Token":{"description":"Plex Authentication Token","type":"apiKey","in":"header","name":"X-Plex-Token"},"ClientIdentifier":{"description":"Plex Authentication Token","type":"apiKey","in":"header","name":"X-Plex-Client-Identifier"},"DeviceName":{"description":"Primary name for the device eg. `Plex Web (Chrome)`","type":"apiKey","in":"header","name":"X-Plex-Device-Name"},"Device":{"description":"The type of device your application is running on\nDevice name and or model number, eg `iPhone3,2`, `Motorola XOOM™`, `LG5200TV`\n","type":"apiKey","in":"header","name":"X-Plex-Device"},"PlatformVersion":{"description":"Operating system version\neg `4.3.1`, `10.6.7`, `3.2`\n","type":"apiKey","in":"header","name":"X-Plex-Platform-Version"},"Platform":{"description":"Platform name \neg: `Web`, `iOS`, `MacOSX`, `Android`, `LG`\n","type":"apiKey","in":"header","name":"X-Plex-Platform"},"Product":{"description":"Plex application name \neg: `Laika`, `Plex Media Server`, `Media Link`\n","type":"apiKey","in":"header","name":"X-Plex-Product"},"Version":{"description":"Plex application version number","type":"apiKey","in":"header","name":"X-Plex-Version"}},"info":{"title":"Plex-API","summary":"A Plex Media Server API Map","description":"An Open API Spec for interacting with Plex.tv and Plex Servers","version":"0.0.3","contact":{"name":"Luke Hagar","url":"https://www.LukeHagar.com","email":"Lukeslakemail@gmail.com"},"license":{"name":"MIT","identifier":"MIT","url":"https://opensource.org/licenses/MIT"}},"postman":{"name":"Get library specific hubs","description":{"content":"This endpoint will return a list of library specific hubs\n","type":"text/plain"},"url":{"path":["hubs","sections",":sectionId"],"host":["{{baseUrl}}"],"query":[{"disabled":false,"description":{"content":"The number of items to return with each hub.","type":"text/plain"},"key":"count","value":""},{"disabled":false,"description":{"content":"Only return hubs which are \"transient\", meaning those which are prone to changing after media playback or addition (e.g. On Deck, or Recently Added).","type":"text/plain"},"key":"onlyTransient","value":""}],"variable":[{"disabled":false,"description":{"content":"(Required) the Id of the library to query","type":"text/plain"},"type":"any","value":"","key":"sectionId"}]},"header":[{"key":"Accept","value":"application/json"}],"method":"GET"}} +sidebar_class_name: "get api-method" +info_path: docs/plex-media-server/plex-api +--- + +import ApiTabs from "@theme/ApiTabs"; +import DiscriminatorTabs from "@theme/DiscriminatorTabs"; +import MethodEndpoint from "@theme/ApiDemoPanel/MethodEndpoint"; +import MimeTabs from "@theme/MimeTabs"; +import ParamsItem from "@theme/ParamsItem"; +import ResponseSamples from "@theme/ResponseSamples"; +import SchemaItem from "@theme/SchemaItem"; +import SchemaTabs from "@theme/SchemaTabs"; +import TabItem from "@theme/TabItem"; + +

Get library specific hubs

+ + + + + +This endpoint will return a list of library specific hubs + + +
Path Parameters
Query Parameters
+ +The hubs specific to the library + +
+ +Unauthorized - Returned if the X-Plex-Token is missing from the header or query. + +
Schema
    errors object[]
  • Array [
  • ]
\ No newline at end of file diff --git a/docs/plex-media-server/get-library-items.api.mdx b/docs/plex-media-server/get-library-items.api.mdx new file mode 100644 index 0000000..6cf2e06 --- /dev/null +++ b/docs/plex-media-server/get-library-items.api.mdx @@ -0,0 +1,38 @@ +--- +id: get-library-items +sidebar_label: Get Library Items +hide_title: true +hide_table_of_contents: true +api: {"tags":["Library"],"description":"This endpoint will return a list of library items filtered by the filter and type provided\n","operationId":"getLibraryItems","parameters":[{"name":"sectionId","description":"the Id of the library to query","in":"path","schema":{"type":"number"},"required":true},{"name":"type","description":"item type","in":"query","schema":{"type":"number"},"required":false},{"name":"filter","description":"the filter parameter","in":"query","schema":{"type":"string"},"required":false}],"responses":{"200":{"description":"The details of the library"},"401":{"description":"Unauthorized - Returned if the X-Plex-Token is missing from the header or query.","content":{"application/json":{"schema":{"type":"object","properties":{"errors":{"type":"array","items":{"type":"object","properties":{"code":{"type":"number","example":1001},"message":{"type":"string","example":"User could not be authenticated"},"status":{"type":"number","example":401}}}}}}}}}},"method":"get","path":"/library/sections/{sectionId}/all","servers":[{"url":"http://{Local IP}:{Port}","variables":{"Local IP":{"default":"10.10.10.47","description":"The Local IP Address of your plex server"},"Port":{"default":"32400","description":"The port to access your plex server"}}},{"url":"https://{Local IP}:{Port}","variables":{"Local IP":{"default":"10.10.10.47","description":"The Local IP Address of your plex server"},"Port":{"default":"32400","description":"The port to access your plex server"}}}],"security":[{"Token":[],"ClientIdentifier":[],"Device":[],"DeviceName":[],"Platform":[],"PlatformVersion":[],"Product":[],"Version":[]}],"securitySchemes":{"Token":{"description":"Plex Authentication Token","type":"apiKey","in":"header","name":"X-Plex-Token"},"ClientIdentifier":{"description":"Plex Authentication Token","type":"apiKey","in":"header","name":"X-Plex-Client-Identifier"},"DeviceName":{"description":"Primary name for the device eg. `Plex Web (Chrome)`","type":"apiKey","in":"header","name":"X-Plex-Device-Name"},"Device":{"description":"The type of device your application is running on\nDevice name and or model number, eg `iPhone3,2`, `Motorola XOOM™`, `LG5200TV`\n","type":"apiKey","in":"header","name":"X-Plex-Device"},"PlatformVersion":{"description":"Operating system version\neg `4.3.1`, `10.6.7`, `3.2`\n","type":"apiKey","in":"header","name":"X-Plex-Platform-Version"},"Platform":{"description":"Platform name \neg: `Web`, `iOS`, `MacOSX`, `Android`, `LG`\n","type":"apiKey","in":"header","name":"X-Plex-Platform"},"Product":{"description":"Plex application name \neg: `Laika`, `Plex Media Server`, `Media Link`\n","type":"apiKey","in":"header","name":"X-Plex-Product"},"Version":{"description":"Plex application version number","type":"apiKey","in":"header","name":"X-Plex-Version"}},"info":{"title":"Plex-API","summary":"A Plex Media Server API Map","description":"An Open API Spec for interacting with Plex.tv and Plex Servers","version":"0.0.3","contact":{"name":"Luke Hagar","url":"https://www.LukeHagar.com","email":"Lukeslakemail@gmail.com"},"license":{"name":"MIT","identifier":"MIT","url":"https://opensource.org/licenses/MIT"}},"postman":{"name":"Get Library Items","description":{"content":"This endpoint will return a list of library items filtered by the filter and type provided\n","type":"text/plain"},"url":{"path":["library","sections",":sectionId","all"],"host":["{{baseUrl}}"],"query":[{"disabled":false,"description":{"content":"item type","type":"text/plain"},"key":"type","value":""},{"disabled":false,"description":{"content":"the filter parameter","type":"text/plain"},"key":"filter","value":""}],"variable":[{"disabled":false,"description":{"content":"(Required) the Id of the library to query","type":"text/plain"},"type":"any","value":"","key":"sectionId"}]},"header":[{"key":"Accept","value":"application/json"}],"method":"GET"}} +sidebar_class_name: "get api-method" +info_path: docs/plex-media-server/plex-api +--- + +import ApiTabs from "@theme/ApiTabs"; +import DiscriminatorTabs from "@theme/DiscriminatorTabs"; +import MethodEndpoint from "@theme/ApiDemoPanel/MethodEndpoint"; +import MimeTabs from "@theme/MimeTabs"; +import ParamsItem from "@theme/ParamsItem"; +import ResponseSamples from "@theme/ResponseSamples"; +import SchemaItem from "@theme/SchemaItem"; +import SchemaTabs from "@theme/SchemaTabs"; +import TabItem from "@theme/TabItem"; + +

Get Library Items

+ + + + + +This endpoint will return a list of library items filtered by the filter and type provided + + +
Path Parameters
Query Parameters
+ +The details of the library + +
+ +Unauthorized - Returned if the X-Plex-Token is missing from the header or query. + +
Schema
    errors object[]
  • Array [
  • ]
\ No newline at end of file diff --git a/docs/plex-media-server/get-my-plex-account.api.mdx b/docs/plex-media-server/get-my-plex-account.api.mdx new file mode 100644 index 0000000..725ac62 --- /dev/null +++ b/docs/plex-media-server/get-my-plex-account.api.mdx @@ -0,0 +1,37 @@ +--- +id: get-my-plex-account +sidebar_label: Get MyPlex Account +hide_title: true +hide_table_of_contents: true +api: {"tags":["MyPlex"],"description":"Returns MyPlex Account Information","operationId":"getMyPlexAccount","responses":{"200":{"description":"MyPlex Account","content":{"application/json":{"schema":{"type":"object","properties":{"MyPlex":{"type":"object","properties":{"authToken":{"type":"string","example":"Z5v-PrNASDFpsaCi3CPK7"},"username":{"type":"string","example":"example.email@mail.com"},"mappingState":{"type":"string","example":"mapped"},"mappingError":{"type":"string","example":null},"signInState":{"type":"string","example":"ok"},"publicAddress":{"type":"string","example":"140.20.68.140"},"publicPort":{"type":"number","example":32400},"privateAddress":{"type":"string","example":"10.10.10.47"},"privatePort":{"type":"number","example":32400},"subscriptionFeatures":{"type":"string","example":"federated-auth,hardware_transcoding,home,hwtranscode,item_clusters,kevin-bacon,livetv,loudness,lyrics,music-analysis,music_videos,pass,photo_autotags,photos-v5,photosV6-edit,photosV6-tv-albums,premium_music_metadata,radio,server-manager,session_bandwidth_restrictions,session_kick,shared-radio,sync,trailers,tuner-sharing,type-first,unsupportedtuners,webhooks"},"subscriptionActive":{"type":"boolean"},"subscriptionState":{"type":"string","example":"Active"}}}}}}}},"401":{"description":"Unauthorized - Returned if the X-Plex-Token is missing from the header or query.","content":{"application/json":{"schema":{"type":"object","properties":{"errors":{"type":"array","items":{"type":"object","properties":{"code":{"type":"number","example":1001},"message":{"type":"string","example":"User could not be authenticated"},"status":{"type":"number","example":401}}}}}}}}}},"method":"get","path":"/myplex/account","servers":[{"url":"http://{Local IP}:{Port}","variables":{"Local IP":{"default":"10.10.10.47","description":"The Local IP Address of your plex server"},"Port":{"default":"32400","description":"The port to access your plex server"}}},{"url":"https://{Local IP}:{Port}","variables":{"Local IP":{"default":"10.10.10.47","description":"The Local IP Address of your plex server"},"Port":{"default":"32400","description":"The port to access your plex server"}}}],"security":[{"Token":[],"ClientIdentifier":[],"Device":[],"DeviceName":[],"Platform":[],"PlatformVersion":[],"Product":[],"Version":[]}],"securitySchemes":{"Token":{"description":"Plex Authentication Token","type":"apiKey","in":"header","name":"X-Plex-Token"},"ClientIdentifier":{"description":"Plex Authentication Token","type":"apiKey","in":"header","name":"X-Plex-Client-Identifier"},"DeviceName":{"description":"Primary name for the device eg. `Plex Web (Chrome)`","type":"apiKey","in":"header","name":"X-Plex-Device-Name"},"Device":{"description":"The type of device your application is running on\nDevice name and or model number, eg `iPhone3,2`, `Motorola XOOM™`, `LG5200TV`\n","type":"apiKey","in":"header","name":"X-Plex-Device"},"PlatformVersion":{"description":"Operating system version\neg `4.3.1`, `10.6.7`, `3.2`\n","type":"apiKey","in":"header","name":"X-Plex-Platform-Version"},"Platform":{"description":"Platform name \neg: `Web`, `iOS`, `MacOSX`, `Android`, `LG`\n","type":"apiKey","in":"header","name":"X-Plex-Platform"},"Product":{"description":"Plex application name \neg: `Laika`, `Plex Media Server`, `Media Link`\n","type":"apiKey","in":"header","name":"X-Plex-Product"},"Version":{"description":"Plex application version number","type":"apiKey","in":"header","name":"X-Plex-Version"}},"info":{"title":"Plex-API","summary":"A Plex Media Server API Map","description":"An Open API Spec for interacting with Plex.tv and Plex Servers","version":"0.0.3","contact":{"name":"Luke Hagar","url":"https://www.LukeHagar.com","email":"Lukeslakemail@gmail.com"},"license":{"name":"MIT","identifier":"MIT","url":"https://opensource.org/licenses/MIT"}},"postman":{"name":"Get MyPlex Account","description":{"content":"Returns MyPlex Account Information","type":"text/plain"},"url":{"path":["myplex","account"],"host":["{{baseUrl}}"],"query":[],"variable":[]},"header":[{"key":"Accept","value":"application/json"}],"method":"GET"}} +sidebar_class_name: "get api-method" +info_path: docs/plex-media-server/plex-api +--- + +import ApiTabs from "@theme/ApiTabs"; +import DiscriminatorTabs from "@theme/DiscriminatorTabs"; +import MethodEndpoint from "@theme/ApiDemoPanel/MethodEndpoint"; +import MimeTabs from "@theme/MimeTabs"; +import ParamsItem from "@theme/ParamsItem"; +import ResponseSamples from "@theme/ResponseSamples"; +import SchemaItem from "@theme/SchemaItem"; +import SchemaTabs from "@theme/SchemaTabs"; +import TabItem from "@theme/TabItem"; + +

Get MyPlex Account

+ + + + + +Returns MyPlex Account Information + +
+ +MyPlex Account + +
Schema
    MyPlex object
+ +Unauthorized - Returned if the X-Plex-Token is missing from the header or query. + +
Schema
    errors object[]
  • Array [
  • ]
\ No newline at end of file diff --git a/docs/plex-media-server/get-on-deck.api.mdx b/docs/plex-media-server/get-on-deck.api.mdx new file mode 100644 index 0000000..db5b633 --- /dev/null +++ b/docs/plex-media-server/get-on-deck.api.mdx @@ -0,0 +1,38 @@ +--- +id: get-on-deck +sidebar_label: Get On Deck +hide_title: true +hide_table_of_contents: true +api: {"tags":["Library"],"description":"This endpoint will return the on deck content.\n","operationId":"getOnDeck","responses":{"200":{"description":"The on Deck content","content":{"application/json":{"schema":{"type":"object","properties":{"MediaContainer":{"type":"object","properties":{"size":{"type":"number","example":16},"allowSync":{"type":"boolean"},"identifier":{"type":"string","example":"com.plexapp.plugins.library"},"mediaTagPrefix":{"type":"string","example":"/system/bundle/media/flags/"},"mediaTagVersion":{"type":"number","example":1680021154},"mixedParents":{"type":"boolean"},"Metadata":{"type":"array","items":{"type":"object","properties":{"allowSync":{"type":"boolean"},"librarySectionID":{"type":"number","example":2},"librarySectionTitle":{"type":"string","example":"TV Shows"},"librarySectionUUID":{"type":"string","example":"4bb2521c-8ba9-459b-aaee-8ab8bc35eabd"},"ratingKey":{"type":"string","example":49564},"key":{"type":"string","example":"/library/metadata/49564"},"parentRatingKey":{"type":"string","example":49557},"grandparentRatingKey":{"type":"string","example":49556},"guid":{"type":"string","example":"plex://episode/5ea7d7402e7ab10042e74d4f"},"parentGuid":{"type":"string","example":"plex://season/602e754d67f4c8002ce54b3d"},"grandparentGuid":{"type":"string","example":"plex://show/5d9c090e705e7a001e6e94d8"},"type":{"type":"string","example":"episode"},"title":{"type":"string","example":"Circus"},"grandparentKey":{"type":"string","example":"/library/metadata/49556"},"parentKey":{"type":"string","example":"/library/metadata/49557"},"librarySectionKey":{"type":"string","example":"/library/sections/2"},"grandparentTitle":{"type":"string","example":"Bluey (2018)"},"parentTitle":{"type":"string","example":"Season 2"},"contentRating":{"type":"string","example":"TV-Y"},"summary":{"type":"string","example":"Bluey is the ringmaster in a game of circus with her friends but Hercules wants to play his motorcycle game instead. Luckily Bluey has a solution to keep everyone happy."},"index":{"type":"number","example":33},"parentIndex":{"type":"number","example":2},"lastViewedAt":{"type":"number","example":1681908352},"year":{"type":"number","example":2018},"thumb":{"type":"string","example":"/library/metadata/49564/thumb/1654258204"},"art":{"type":"string","example":"/library/metadata/49556/art/1680939546"},"parentThumb":{"type":"string","example":"/library/metadata/49557/thumb/1654258204"},"grandparentThumb":{"type":"string","example":"/library/metadata/49556/thumb/1680939546"},"grandparentArt":{"type":"string","example":"/library/metadata/49556/art/1680939546"},"grandparentTheme":{"type":"string","example":"/library/metadata/49556/theme/1680939546"},"duration":{"type":"number","example":420080},"originallyAvailableAt":{"type":"string","format":"date","example":"2020-10-31T00:00:00.000Z"},"addedAt":{"type":"number","example":1654258196},"updatedAt":{"type":"number","example":1654258204},"Media":{"type":"array","items":{"type":"object","properties":{"id":{"type":"number","example":80994},"duration":{"type":"number","example":420080},"bitrate":{"type":"number","example":1046},"width":{"type":"number","example":1920},"height":{"type":"number","example":1080},"aspectRatio":{"type":"number","example":1.78},"audioChannels":{"type":"number","example":2},"audioCodec":{"type":"string","example":"aac"},"videoCodec":{"type":"string","example":"hevc"},"videoResolution":{"type":"string","example":1080},"container":{"type":"string","example":"mkv"},"videoFrameRate":{"type":"string","example":"PAL"},"audioProfile":{"type":"string","example":"lc"},"videoProfile":{"type":"string","example":"main"},"Part":{"type":"array","items":{"type":"object","properties":{"id":{"type":"number","example":80994},"key":{"type":"string","example":"/library/parts/80994/1655007810/file.mkv"},"duration":{"type":"number","example":420080},"file":{"type":"string","example":"/tvshows/Bluey (2018)/Bluey (2018) - S02E33 - Circus.mkv"},"size":{"type":"number","example":55148931},"audioProfile":{"type":"string","example":"lc"},"container":{"type":"string","example":"mkv"},"videoProfile":{"type":"string","example":"main"},"Stream":{"type":"array","items":{"type":"object","properties":{"id":{"type":"number","example":211234},"streamType":{"type":"number","example":1},"default":{"type":"boolean"},"codec":{"type":"string","example":"hevc"},"index":{"type":"number","example":0},"bitrate":{"type":"number","example":918},"language":{"type":"string","example":"English"},"languageTag":{"type":"string","example":"en"},"languageCode":{"type":"string","example":"eng"},"bitDepth":{"type":"number","example":8},"chromaLocation":{"type":"string","example":"left"},"chromaSubsampling":{"type":"string","example":14520},"codedHeight":{"type":"number","example":1080},"codedWidth":{"type":"number","example":1920},"colorRange":{"type":"string","example":"tv"},"frameRate":{"type":"number","example":25},"height":{"type":"number","example":1080},"level":{"type":"number","example":120},"profile":{"type":"string","example":"main"},"refFrames":{"type":"number","example":1},"width":{"type":"number","example":1920},"displayTitle":{"type":"string","example":"1080p (HEVC Main)"},"extendedDisplayTitle":{"type":"string","example":"1080p (HEVC Main)"}}}}}}}}}},"Guid":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","example":"imdb://tt13303712"}}}}}}}}}}}}}},"401":{"description":"Unauthorized - Returned if the X-Plex-Token is missing from the header or query.","content":{"application/json":{"schema":{"type":"object","properties":{"errors":{"type":"array","items":{"type":"object","properties":{"code":{"type":"number","example":1001},"message":{"type":"string","example":"User could not be authenticated"},"status":{"type":"number","example":401}}}}}}}}}},"method":"get","path":"/library/onDeck","servers":[{"url":"http://{Local IP}:{Port}","variables":{"Local IP":{"default":"10.10.10.47","description":"The Local IP Address of your plex server"},"Port":{"default":"32400","description":"The port to access your plex server"}}},{"url":"https://{Local IP}:{Port}","variables":{"Local IP":{"default":"10.10.10.47","description":"The Local IP Address of your plex server"},"Port":{"default":"32400","description":"The port to access your plex server"}}}],"security":[{"Token":[],"ClientIdentifier":[],"Device":[],"DeviceName":[],"Platform":[],"PlatformVersion":[],"Product":[],"Version":[]}],"securitySchemes":{"Token":{"description":"Plex Authentication Token","type":"apiKey","in":"header","name":"X-Plex-Token"},"ClientIdentifier":{"description":"Plex Authentication Token","type":"apiKey","in":"header","name":"X-Plex-Client-Identifier"},"DeviceName":{"description":"Primary name for the device eg. `Plex Web (Chrome)`","type":"apiKey","in":"header","name":"X-Plex-Device-Name"},"Device":{"description":"The type of device your application is running on\nDevice name and or model number, eg `iPhone3,2`, `Motorola XOOM™`, `LG5200TV`\n","type":"apiKey","in":"header","name":"X-Plex-Device"},"PlatformVersion":{"description":"Operating system version\neg `4.3.1`, `10.6.7`, `3.2`\n","type":"apiKey","in":"header","name":"X-Plex-Platform-Version"},"Platform":{"description":"Platform name \neg: `Web`, `iOS`, `MacOSX`, `Android`, `LG`\n","type":"apiKey","in":"header","name":"X-Plex-Platform"},"Product":{"description":"Plex application name \neg: `Laika`, `Plex Media Server`, `Media Link`\n","type":"apiKey","in":"header","name":"X-Plex-Product"},"Version":{"description":"Plex application version number","type":"apiKey","in":"header","name":"X-Plex-Version"}},"info":{"title":"Plex-API","summary":"A Plex Media Server API Map","description":"An Open API Spec for interacting with Plex.tv and Plex Servers","version":"0.0.3","contact":{"name":"Luke Hagar","url":"https://www.LukeHagar.com","email":"Lukeslakemail@gmail.com"},"license":{"name":"MIT","identifier":"MIT","url":"https://opensource.org/licenses/MIT"}},"postman":{"name":"Get On Deck","description":{"content":"This endpoint will return the on deck content.\n","type":"text/plain"},"url":{"path":["library","onDeck"],"host":["{{baseUrl}}"],"query":[],"variable":[]},"header":[{"key":"Accept","value":"application/json"}],"method":"GET"}} +sidebar_class_name: "get api-method" +info_path: docs/plex-media-server/plex-api +--- + +import ApiTabs from "@theme/ApiTabs"; +import DiscriminatorTabs from "@theme/DiscriminatorTabs"; +import MethodEndpoint from "@theme/ApiDemoPanel/MethodEndpoint"; +import MimeTabs from "@theme/MimeTabs"; +import ParamsItem from "@theme/ParamsItem"; +import ResponseSamples from "@theme/ResponseSamples"; +import SchemaItem from "@theme/SchemaItem"; +import SchemaTabs from "@theme/SchemaTabs"; +import TabItem from "@theme/TabItem"; + +

Get On Deck

+ + + + + +This endpoint will return the on deck content. + + +
+ +The on Deck content + +
Schema
    MediaContainer object
    Metadata object[]
  • Array [
  • Media object[]
  • Array [
  • Part object[]
  • Array [
  • Stream object[]
  • Array [
  • ]
  • ]
  • ]
  • Guid object[]
  • Array [
  • ]
  • ]
+ +Unauthorized - Returned if the X-Plex-Token is missing from the header or query. + +
Schema
    errors object[]
  • Array [
  • ]
\ No newline at end of file diff --git a/docs/plex-media-server/get-playlist-contents.api.mdx b/docs/plex-media-server/get-playlist-contents.api.mdx new file mode 100644 index 0000000..27424f4 --- /dev/null +++ b/docs/plex-media-server/get-playlist-contents.api.mdx @@ -0,0 +1,41 @@ +--- +id: get-playlist-contents +sidebar_label: Retrieve Playlist Contents +hide_title: true +hide_table_of_contents: true +api: {"tags":["Playlists"],"description":"Gets the contents of a playlist. Should be paged by clients via standard mechanisms. \nBy default leaves are returned (e.g. episodes, movies). In order to return other types you can use the `type` parameter. \nFor example, you could use this to display a list of recently added albums vis a smart playlist. \nNote that for dumb playlists, items have a `playlistItemID` attribute which is used for deleting or moving items.\n","operationId":"getPlaylistContents","parameters":[{"name":"playlistID","description":"the ID of the playlist","in":"path","schema":{"type":"number"},"required":true},{"name":"type","description":"the metadata type of the item to return","in":"query","schema":{"type":"number"},"required":true}],"responses":{"200":{"description":"The playlist contents"},"401":{"description":"Unauthorized - Returned if the X-Plex-Token is missing from the header or query.","content":{"application/json":{"schema":{"type":"object","properties":{"errors":{"type":"array","items":{"type":"object","properties":{"code":{"type":"number","example":1001},"message":{"type":"string","example":"User could not be authenticated"},"status":{"type":"number","example":401}}}}}}}}}},"method":"get","path":"/playlists/{playlistID}/items","servers":[{"url":"http://{Local IP}:{Port}","variables":{"Local IP":{"default":"10.10.10.47","description":"The Local IP Address of your plex server"},"Port":{"default":"32400","description":"The port to access your plex server"}}},{"url":"https://{Local IP}:{Port}","variables":{"Local IP":{"default":"10.10.10.47","description":"The Local IP Address of your plex server"},"Port":{"default":"32400","description":"The port to access your plex server"}}}],"security":[{"Token":[],"ClientIdentifier":[],"Device":[],"DeviceName":[],"Platform":[],"PlatformVersion":[],"Product":[],"Version":[]}],"securitySchemes":{"Token":{"description":"Plex Authentication Token","type":"apiKey","in":"header","name":"X-Plex-Token"},"ClientIdentifier":{"description":"Plex Authentication Token","type":"apiKey","in":"header","name":"X-Plex-Client-Identifier"},"DeviceName":{"description":"Primary name for the device eg. `Plex Web (Chrome)`","type":"apiKey","in":"header","name":"X-Plex-Device-Name"},"Device":{"description":"The type of device your application is running on\nDevice name and or model number, eg `iPhone3,2`, `Motorola XOOM™`, `LG5200TV`\n","type":"apiKey","in":"header","name":"X-Plex-Device"},"PlatformVersion":{"description":"Operating system version\neg `4.3.1`, `10.6.7`, `3.2`\n","type":"apiKey","in":"header","name":"X-Plex-Platform-Version"},"Platform":{"description":"Platform name \neg: `Web`, `iOS`, `MacOSX`, `Android`, `LG`\n","type":"apiKey","in":"header","name":"X-Plex-Platform"},"Product":{"description":"Plex application name \neg: `Laika`, `Plex Media Server`, `Media Link`\n","type":"apiKey","in":"header","name":"X-Plex-Product"},"Version":{"description":"Plex application version number","type":"apiKey","in":"header","name":"X-Plex-Version"}},"info":{"title":"Plex-API","summary":"A Plex Media Server API Map","description":"An Open API Spec for interacting with Plex.tv and Plex Servers","version":"0.0.3","contact":{"name":"Luke Hagar","url":"https://www.LukeHagar.com","email":"Lukeslakemail@gmail.com"},"license":{"name":"MIT","identifier":"MIT","url":"https://opensource.org/licenses/MIT"}},"postman":{"name":"Retrieve Playlist Contents","description":{"content":"Gets the contents of a playlist. Should be paged by clients via standard mechanisms. \nBy default leaves are returned (e.g. episodes, movies). In order to return other types you can use the `type` parameter. \nFor example, you could use this to display a list of recently added albums vis a smart playlist. \nNote that for dumb playlists, items have a `playlistItemID` attribute which is used for deleting or moving items.\n","type":"text/plain"},"url":{"path":["playlists",":playlistID","items"],"host":["{{baseUrl}}"],"query":[{"disabled":false,"description":{"content":"(Required) the metadata type of the item to return","type":"text/plain"},"key":"type","value":""}],"variable":[{"disabled":false,"description":{"content":"(Required) the ID of the playlist","type":"text/plain"},"type":"any","value":"","key":"playlistID"}]},"header":[{"key":"Accept","value":"application/json"}],"method":"GET"}} +sidebar_class_name: "get api-method" +info_path: docs/plex-media-server/plex-api +--- + +import ApiTabs from "@theme/ApiTabs"; +import DiscriminatorTabs from "@theme/DiscriminatorTabs"; +import MethodEndpoint from "@theme/ApiDemoPanel/MethodEndpoint"; +import MimeTabs from "@theme/MimeTabs"; +import ParamsItem from "@theme/ParamsItem"; +import ResponseSamples from "@theme/ResponseSamples"; +import SchemaItem from "@theme/SchemaItem"; +import SchemaTabs from "@theme/SchemaTabs"; +import TabItem from "@theme/TabItem"; + +

Retrieve Playlist Contents

+ + + + + +Gets the contents of a playlist. Should be paged by clients via standard mechanisms. +By default leaves are returned (e.g. episodes, movies). In order to return other types you can use the `type` parameter. +For example, you could use this to display a list of recently added albums vis a smart playlist. +Note that for dumb playlists, items have a `playlistItemID` attribute which is used for deleting or moving items. + + +
Path Parameters
Query Parameters
+ +The playlist contents + +
+ +Unauthorized - Returned if the X-Plex-Token is missing from the header or query. + +
Schema
    errors object[]
  • Array [
  • ]
\ No newline at end of file diff --git a/docs/plex-media-server/get-playlist.api.mdx b/docs/plex-media-server/get-playlist.api.mdx new file mode 100644 index 0000000..c5430ba --- /dev/null +++ b/docs/plex-media-server/get-playlist.api.mdx @@ -0,0 +1,39 @@ +--- +id: get-playlist +sidebar_label: Retrieve Playlist +hide_title: true +hide_table_of_contents: true +api: {"tags":["Playlists"],"description":"Gets detailed metadata for a playlist. A playlist for many purposes (rating, editing metadata, tagging), can be treated like a regular metadata item:\nSmart playlist details contain the `content` attribute. This is the content URI for the generator. This can then be parsed by a client to provide smart playlist editing.\n","operationId":"getPlaylist","parameters":[{"name":"playlistID","description":"the ID of the playlist","in":"path","schema":{"type":"number"},"required":true}],"responses":{"200":{"description":"The playlist"},"401":{"description":"Unauthorized - Returned if the X-Plex-Token is missing from the header or query.","content":{"application/json":{"schema":{"type":"object","properties":{"errors":{"type":"array","items":{"type":"object","properties":{"code":{"type":"number","example":1001},"message":{"type":"string","example":"User could not be authenticated"},"status":{"type":"number","example":401}}}}}}}}}},"method":"get","path":"/playlists/{playlistID}","servers":[{"url":"http://{Local IP}:{Port}","variables":{"Local IP":{"default":"10.10.10.47","description":"The Local IP Address of your plex server"},"Port":{"default":"32400","description":"The port to access your plex server"}}},{"url":"https://{Local IP}:{Port}","variables":{"Local IP":{"default":"10.10.10.47","description":"The Local IP Address of your plex server"},"Port":{"default":"32400","description":"The port to access your plex server"}}}],"security":[{"Token":[],"ClientIdentifier":[],"Device":[],"DeviceName":[],"Platform":[],"PlatformVersion":[],"Product":[],"Version":[]}],"securitySchemes":{"Token":{"description":"Plex Authentication Token","type":"apiKey","in":"header","name":"X-Plex-Token"},"ClientIdentifier":{"description":"Plex Authentication Token","type":"apiKey","in":"header","name":"X-Plex-Client-Identifier"},"DeviceName":{"description":"Primary name for the device eg. `Plex Web (Chrome)`","type":"apiKey","in":"header","name":"X-Plex-Device-Name"},"Device":{"description":"The type of device your application is running on\nDevice name and or model number, eg `iPhone3,2`, `Motorola XOOM™`, `LG5200TV`\n","type":"apiKey","in":"header","name":"X-Plex-Device"},"PlatformVersion":{"description":"Operating system version\neg `4.3.1`, `10.6.7`, `3.2`\n","type":"apiKey","in":"header","name":"X-Plex-Platform-Version"},"Platform":{"description":"Platform name \neg: `Web`, `iOS`, `MacOSX`, `Android`, `LG`\n","type":"apiKey","in":"header","name":"X-Plex-Platform"},"Product":{"description":"Plex application name \neg: `Laika`, `Plex Media Server`, `Media Link`\n","type":"apiKey","in":"header","name":"X-Plex-Product"},"Version":{"description":"Plex application version number","type":"apiKey","in":"header","name":"X-Plex-Version"}},"info":{"title":"Plex-API","summary":"A Plex Media Server API Map","description":"An Open API Spec for interacting with Plex.tv and Plex Servers","version":"0.0.3","contact":{"name":"Luke Hagar","url":"https://www.LukeHagar.com","email":"Lukeslakemail@gmail.com"},"license":{"name":"MIT","identifier":"MIT","url":"https://opensource.org/licenses/MIT"}},"postman":{"name":"Retrieve Playlist","description":{"content":"Gets detailed metadata for a playlist. A playlist for many purposes (rating, editing metadata, tagging), can be treated like a regular metadata item:\nSmart playlist details contain the `content` attribute. This is the content URI for the generator. This can then be parsed by a client to provide smart playlist editing.\n","type":"text/plain"},"url":{"path":["playlists",":playlistID"],"host":["{{baseUrl}}"],"query":[],"variable":[{"disabled":false,"description":{"content":"(Required) the ID of the playlist","type":"text/plain"},"type":"any","value":"","key":"playlistID"}]},"header":[{"key":"Accept","value":"application/json"}],"method":"GET"}} +sidebar_class_name: "get api-method" +info_path: docs/plex-media-server/plex-api +--- + +import ApiTabs from "@theme/ApiTabs"; +import DiscriminatorTabs from "@theme/DiscriminatorTabs"; +import MethodEndpoint from "@theme/ApiDemoPanel/MethodEndpoint"; +import MimeTabs from "@theme/MimeTabs"; +import ParamsItem from "@theme/ParamsItem"; +import ResponseSamples from "@theme/ResponseSamples"; +import SchemaItem from "@theme/SchemaItem"; +import SchemaTabs from "@theme/SchemaTabs"; +import TabItem from "@theme/TabItem"; + +

Retrieve Playlist

+ + + + + +Gets detailed metadata for a playlist. A playlist for many purposes (rating, editing metadata, tagging), can be treated like a regular metadata item: +Smart playlist details contain the `content` attribute. This is the content URI for the generator. This can then be parsed by a client to provide smart playlist editing. + + +
Path Parameters
+ +The playlist + +
+ +Unauthorized - Returned if the X-Plex-Token is missing from the header or query. + +
Schema
    errors object[]
  • Array [
  • ]
\ No newline at end of file diff --git a/docs/plex-media-server/get-playlists.api.mdx b/docs/plex-media-server/get-playlists.api.mdx new file mode 100644 index 0000000..6c19d40 --- /dev/null +++ b/docs/plex-media-server/get-playlists.api.mdx @@ -0,0 +1,33 @@ +--- +id: get-playlists +sidebar_label: Get All Playlists +hide_title: true +hide_table_of_contents: true +api: {"tags":["Playlists"],"description":"","operationId":"getPlaylists","parameters":[{"name":"playlistType","description":"limit to a type of playlist.","in":"query","schema":{"type":"string","enum":["audio","video","photo"]},"required":false},{"name":"smart","description":"type of playlists to return (default is all).","in":"query","schema":{"type":"number","enum":[0,1]},"required":false}],"responses":{"200":{"description":"returns all playlists"},"401":{"description":"Unauthorized - Returned if the X-Plex-Token is missing from the header or query.","content":{"application/json":{"schema":{"type":"object","properties":{"errors":{"type":"array","items":{"type":"object","properties":{"code":{"type":"number","example":1001},"message":{"type":"string","example":"User could not be authenticated"},"status":{"type":"number","example":401}}}}}}}}}},"method":"get","path":"/playlists/all","servers":[{"url":"http://{Local IP}:{Port}","variables":{"Local IP":{"default":"10.10.10.47","description":"The Local IP Address of your plex server"},"Port":{"default":"32400","description":"The port to access your plex server"}}},{"url":"https://{Local IP}:{Port}","variables":{"Local IP":{"default":"10.10.10.47","description":"The Local IP Address of your plex server"},"Port":{"default":"32400","description":"The port to access your plex server"}}}],"security":[{"Token":[],"ClientIdentifier":[],"Device":[],"DeviceName":[],"Platform":[],"PlatformVersion":[],"Product":[],"Version":[]}],"securitySchemes":{"Token":{"description":"Plex Authentication Token","type":"apiKey","in":"header","name":"X-Plex-Token"},"ClientIdentifier":{"description":"Plex Authentication Token","type":"apiKey","in":"header","name":"X-Plex-Client-Identifier"},"DeviceName":{"description":"Primary name for the device eg. `Plex Web (Chrome)`","type":"apiKey","in":"header","name":"X-Plex-Device-Name"},"Device":{"description":"The type of device your application is running on\nDevice name and or model number, eg `iPhone3,2`, `Motorola XOOM™`, `LG5200TV`\n","type":"apiKey","in":"header","name":"X-Plex-Device"},"PlatformVersion":{"description":"Operating system version\neg `4.3.1`, `10.6.7`, `3.2`\n","type":"apiKey","in":"header","name":"X-Plex-Platform-Version"},"Platform":{"description":"Platform name \neg: `Web`, `iOS`, `MacOSX`, `Android`, `LG`\n","type":"apiKey","in":"header","name":"X-Plex-Platform"},"Product":{"description":"Plex application name \neg: `Laika`, `Plex Media Server`, `Media Link`\n","type":"apiKey","in":"header","name":"X-Plex-Product"},"Version":{"description":"Plex application version number","type":"apiKey","in":"header","name":"X-Plex-Version"}},"info":{"title":"Plex-API","summary":"A Plex Media Server API Map","description":"An Open API Spec for interacting with Plex.tv and Plex Servers","version":"0.0.3","contact":{"name":"Luke Hagar","url":"https://www.LukeHagar.com","email":"Lukeslakemail@gmail.com"},"license":{"name":"MIT","identifier":"MIT","url":"https://opensource.org/licenses/MIT"}},"postman":{"name":"Get All Playlists","description":{"content":"","type":"text/plain"},"url":{"path":["playlists","all"],"host":["{{baseUrl}}"],"query":[{"disabled":false,"description":{"content":"limit to a type of playlist.","type":"text/plain"},"key":"playlistType","value":""},{"disabled":false,"description":{"content":"type of playlists to return (default is all).","type":"text/plain"},"key":"smart","value":""}],"variable":[]},"header":[{"key":"Accept","value":"application/json"}],"method":"GET"}} +sidebar_class_name: "get api-method" +info_path: docs/plex-media-server/plex-api +--- + +import ApiTabs from "@theme/ApiTabs"; +import DiscriminatorTabs from "@theme/DiscriminatorTabs"; +import MethodEndpoint from "@theme/ApiDemoPanel/MethodEndpoint"; +import MimeTabs from "@theme/MimeTabs"; +import ParamsItem from "@theme/ParamsItem"; +import ResponseSamples from "@theme/ResponseSamples"; +import SchemaItem from "@theme/SchemaItem"; +import SchemaTabs from "@theme/SchemaTabs"; +import TabItem from "@theme/TabItem"; + +

Get All Playlists

+ + + +
Query Parameters
+ +returns all playlists + +
+ +Unauthorized - Returned if the X-Plex-Token is missing from the header or query. + +
Schema
    errors object[]
  • Array [
  • ]
\ No newline at end of file diff --git a/docs/plex-media-server/get-recently-added.api.mdx b/docs/plex-media-server/get-recently-added.api.mdx new file mode 100644 index 0000000..def73fd --- /dev/null +++ b/docs/plex-media-server/get-recently-added.api.mdx @@ -0,0 +1,38 @@ +--- +id: get-recently-added +sidebar_label: Get Recently Added +hide_title: true +hide_table_of_contents: true +api: {"tags":["Library"],"description":"This endpoint will return the recently added content.\n","operationId":"getRecentlyAdded","responses":{"200":{"description":"The recently added content","content":{"application/json":{"schema":{"type":"object","properties":{"MediaContainer":{"type":"object","properties":{"size":{"type":"number","example":50},"allowSync":{"type":"boolean"},"identifier":{"type":"string","example":"com.plexapp.plugins.library"},"mediaTagPrefix":{"type":"string","example":"/system/bundle/media/flags/"},"mediaTagVersion":{"type":"number","example":1680021154},"mixedParents":{"type":"boolean"},"Metadata":{"type":"array","items":{"type":"object","properties":{"allowSync":{"type":"boolean"},"librarySectionID":{"type":"number","example":1},"librarySectionTitle":{"type":"string","example":"Movies"},"librarySectionUUID":{"type":"string","example":"322a231a-b7f7-49f5-920f-14c61199cd30"},"ratingKey":{"type":"string","example":59398},"key":{"type":"string","example":"/library/metadata/59398"},"guid":{"type":"string","example":"plex://movie/5e161a83bea6ac004126e148"},"studio":{"type":"string","example":"Marvel Studios"},"type":{"type":"string","example":"movie"},"title":{"type":"string","example":"Ant-Man and the Wasp: Quantumania"},"contentRating":{"type":"string","example":"PG-13"},"summary":{"type":"string","example":"Scott Lang and Hope Van Dyne along with Hank Pym and Janet Van Dyne explore the Quantum Realm where they interact with strange creatures and embark on an adventure that goes beyond the limits of what they thought was possible."},"rating":{"type":"number","example":4.7},"audienceRating":{"type":"number","example":8.3},"year":{"type":"number","example":2023},"tagline":{"type":"string","example":"Witness the beginning of a new dynasty."},"thumb":{"type":"string","example":"/library/metadata/59398/thumb/1681888010"},"art":{"type":"string","example":"/library/metadata/59398/art/1681888010"},"duration":{"type":"number","example":7474422},"originallyAvailableAt":{"type":"string","format":"date","example":"2023-02-15T00:00:00.000Z"},"addedAt":{"type":"number","example":1681803215},"updatedAt":{"type":"number","example":1681888010},"audienceRatingImage":{"type":"string","example":"rottentomatoes://image.rating.upright"},"chapterSource":{"type":"string","example":"media"},"primaryExtraKey":{"type":"string","example":"/library/metadata/59399"},"ratingImage":{"type":"string","example":"rottentomatoes://image.rating.rotten"},"Media":{"type":"array","items":{"type":"object","properties":{"id":{"type":"number","example":120345},"duration":{"type":"number","example":7474422},"bitrate":{"type":"number","example":3623},"width":{"type":"number","example":1920},"height":{"type":"number","example":804},"aspectRatio":{"type":"number","example":2.35},"audioChannels":{"type":"number","example":6},"audioCodec":{"type":"string","example":"ac3"},"videoCodec":{"type":"string","example":"h264"},"videoResolution":{"type":"string","example":1080},"container":{"type":"string","example":"mp4"},"videoFrameRate":{"type":"string","example":"24p"},"optimizedForStreaming":{"type":"number","example":0},"has64bitOffsets":{"type":"boolean"},"videoProfile":{"type":"string","example":"high"},"Part":{"type":"array","items":{"type":"object","properties":{"id":{"type":"number","example":120353},"key":{"type":"string","example":"/library/parts/120353/1681803203/file.mp4"},"duration":{"type":"number","example":7474422},"file":{"type":"string","example":"/movies/Ant-Man and the Wasp Quantumania (2023)/Ant-Man.and.the.Wasp.Quantumania.2023.1080p.mp4"},"size":{"type":"number","example":3395307162},"container":{"type":"string","example":"mp4"},"has64bitOffsets":{"type":"boolean"},"hasThumbnail":{"type":"string","example":1},"optimizedForStreaming":{"type":"boolean"},"videoProfile":{"type":"string","example":"high"}}}}}}},"Genre":{"type":"array","items":{"type":"object","properties":{"tag":{"type":"string","example":"Comedy"}}}},"Director":{"type":"array","items":{"type":"object","properties":{"tag":{"type":"string","example":"Peyton Reed"}}}},"Writer":{"type":"array","items":{"type":"object","properties":{"tag":{"type":"string","example":"Jeff Loveness"}}}},"Country":{"type":"array","items":{"type":"object","properties":{"tag":{"type":"string","example":"United States of America"}}}},"Role":{"type":"array","items":{"type":"object","properties":{"tag":{"type":"string","example":"Paul Rudd"}}}}}}}}}}}}}},"401":{"description":"Unauthorized - Returned if the X-Plex-Token is missing from the header or query.","content":{"application/json":{"schema":{"type":"object","properties":{"errors":{"type":"array","items":{"type":"object","properties":{"code":{"type":"number","example":1001},"message":{"type":"string","example":"User could not be authenticated"},"status":{"type":"number","example":401}}}}}}}}}},"method":"get","path":"/library/recentlyAdded","servers":[{"url":"http://{Local IP}:{Port}","variables":{"Local IP":{"default":"10.10.10.47","description":"The Local IP Address of your plex server"},"Port":{"default":"32400","description":"The port to access your plex server"}}},{"url":"https://{Local IP}:{Port}","variables":{"Local IP":{"default":"10.10.10.47","description":"The Local IP Address of your plex server"},"Port":{"default":"32400","description":"The port to access your plex server"}}}],"security":[{"Token":[],"ClientIdentifier":[],"Device":[],"DeviceName":[],"Platform":[],"PlatformVersion":[],"Product":[],"Version":[]}],"securitySchemes":{"Token":{"description":"Plex Authentication Token","type":"apiKey","in":"header","name":"X-Plex-Token"},"ClientIdentifier":{"description":"Plex Authentication Token","type":"apiKey","in":"header","name":"X-Plex-Client-Identifier"},"DeviceName":{"description":"Primary name for the device eg. `Plex Web (Chrome)`","type":"apiKey","in":"header","name":"X-Plex-Device-Name"},"Device":{"description":"The type of device your application is running on\nDevice name and or model number, eg `iPhone3,2`, `Motorola XOOM™`, `LG5200TV`\n","type":"apiKey","in":"header","name":"X-Plex-Device"},"PlatformVersion":{"description":"Operating system version\neg `4.3.1`, `10.6.7`, `3.2`\n","type":"apiKey","in":"header","name":"X-Plex-Platform-Version"},"Platform":{"description":"Platform name \neg: `Web`, `iOS`, `MacOSX`, `Android`, `LG`\n","type":"apiKey","in":"header","name":"X-Plex-Platform"},"Product":{"description":"Plex application name \neg: `Laika`, `Plex Media Server`, `Media Link`\n","type":"apiKey","in":"header","name":"X-Plex-Product"},"Version":{"description":"Plex application version number","type":"apiKey","in":"header","name":"X-Plex-Version"}},"info":{"title":"Plex-API","summary":"A Plex Media Server API Map","description":"An Open API Spec for interacting with Plex.tv and Plex Servers","version":"0.0.3","contact":{"name":"Luke Hagar","url":"https://www.LukeHagar.com","email":"Lukeslakemail@gmail.com"},"license":{"name":"MIT","identifier":"MIT","url":"https://opensource.org/licenses/MIT"}},"postman":{"name":"Get Recently Added","description":{"content":"This endpoint will return the recently added content.\n","type":"text/plain"},"url":{"path":["library","recentlyAdded"],"host":["{{baseUrl}}"],"query":[],"variable":[]},"header":[{"key":"Accept","value":"application/json"}],"method":"GET"}} +sidebar_class_name: "get api-method" +info_path: docs/plex-media-server/plex-api +--- + +import ApiTabs from "@theme/ApiTabs"; +import DiscriminatorTabs from "@theme/DiscriminatorTabs"; +import MethodEndpoint from "@theme/ApiDemoPanel/MethodEndpoint"; +import MimeTabs from "@theme/MimeTabs"; +import ParamsItem from "@theme/ParamsItem"; +import ResponseSamples from "@theme/ResponseSamples"; +import SchemaItem from "@theme/SchemaItem"; +import SchemaTabs from "@theme/SchemaTabs"; +import TabItem from "@theme/TabItem"; + +

Get Recently Added

+ + + + + +This endpoint will return the recently added content. + + +
+ +The recently added content + +
Schema
    MediaContainer object
    Metadata object[]
  • Array [
  • Media object[]
  • Array [
  • Part object[]
  • Array [
  • ]
  • ]
  • Genre object[]
  • Array [
  • ]
  • Director object[]
  • Array [
  • ]
  • Writer object[]
  • Array [
  • ]
  • Country object[]
  • Array [
  • ]
  • Role object[]
  • Array [
  • ]
  • ]
+ +Unauthorized - Returned if the X-Plex-Token is missing from the header or query. + +
Schema
    errors object[]
  • Array [
  • ]
\ No newline at end of file diff --git a/docs/plex-media-server/get-resized-photo.api.mdx b/docs/plex-media-server/get-resized-photo.api.mdx new file mode 100644 index 0000000..07fff62 --- /dev/null +++ b/docs/plex-media-server/get-resized-photo.api.mdx @@ -0,0 +1,38 @@ +--- +id: get-resized-photo +sidebar_label: Get a Resized Photo +hide_title: true +hide_table_of_contents: true +api: {"tags":["Photos"],"description":"Plex's Photo transcoder is used throughout the service to serve images at specified sizes.\n","operationId":"getResizedPhoto","parameters":[{"name":"width","description":"The width for the resized photo","in":"query","schema":{"type":"number","example":110},"required":true},{"name":"height","description":"The height for the resized photo","in":"query","schema":{"type":"number","example":165},"required":true},{"name":"opacity","description":"The opacity for the resized photo","in":"query","schema":{"type":"integer","minimum":1,"maximum":100,"default":100},"required":true},{"name":"blur","description":"The width for the resized photo","in":"query","schema":{"type":"number","example":[0,20,4000]},"required":true},{"name":"minSize","description":"images are always scaled proportionally. A value of '1' in minSize will make the smaller native dimension the dimension resized against.","in":"query","schema":{"type":"number","enum":[0,1]},"required":true},{"name":"upscale","description":"allow images to be resized beyond native dimensions.","in":"query","schema":{"type":"number","enum":[0,1]},"required":true},{"name":"url","description":"path to image within Plex","in":"query","schema":{"type":"string","example":"/library/metadata/49564/thumb/1654258204"},"required":true}],"responses":{"200":{"description":"Resized Image"},"401":{"description":"Unauthorized - Returned if the X-Plex-Token is missing from the header or query.","content":{"application/json":{"schema":{"type":"object","properties":{"errors":{"type":"array","items":{"type":"object","properties":{"code":{"type":"number","example":1001},"message":{"type":"string","example":"User could not be authenticated"},"status":{"type":"number","example":401}}}}}}}}}},"method":"get","path":"/photo/:/transcode","servers":[{"url":"http://{Local IP}:{Port}","variables":{"Local IP":{"default":"10.10.10.47","description":"The Local IP Address of your plex server"},"Port":{"default":"32400","description":"The port to access your plex server"}}},{"url":"https://{Local IP}:{Port}","variables":{"Local IP":{"default":"10.10.10.47","description":"The Local IP Address of your plex server"},"Port":{"default":"32400","description":"The port to access your plex server"}}}],"security":[{"Token":[],"ClientIdentifier":[],"Device":[],"DeviceName":[],"Platform":[],"PlatformVersion":[],"Product":[],"Version":[]}],"securitySchemes":{"Token":{"description":"Plex Authentication Token","type":"apiKey","in":"header","name":"X-Plex-Token"},"ClientIdentifier":{"description":"Plex Authentication Token","type":"apiKey","in":"header","name":"X-Plex-Client-Identifier"},"DeviceName":{"description":"Primary name for the device eg. `Plex Web (Chrome)`","type":"apiKey","in":"header","name":"X-Plex-Device-Name"},"Device":{"description":"The type of device your application is running on\nDevice name and or model number, eg `iPhone3,2`, `Motorola XOOM™`, `LG5200TV`\n","type":"apiKey","in":"header","name":"X-Plex-Device"},"PlatformVersion":{"description":"Operating system version\neg `4.3.1`, `10.6.7`, `3.2`\n","type":"apiKey","in":"header","name":"X-Plex-Platform-Version"},"Platform":{"description":"Platform name \neg: `Web`, `iOS`, `MacOSX`, `Android`, `LG`\n","type":"apiKey","in":"header","name":"X-Plex-Platform"},"Product":{"description":"Plex application name \neg: `Laika`, `Plex Media Server`, `Media Link`\n","type":"apiKey","in":"header","name":"X-Plex-Product"},"Version":{"description":"Plex application version number","type":"apiKey","in":"header","name":"X-Plex-Version"}},"info":{"title":"Plex-API","summary":"A Plex Media Server API Map","description":"An Open API Spec for interacting with Plex.tv and Plex Servers","version":"0.0.3","contact":{"name":"Luke Hagar","url":"https://www.LukeHagar.com","email":"Lukeslakemail@gmail.com"},"license":{"name":"MIT","identifier":"MIT","url":"https://opensource.org/licenses/MIT"}},"postman":{"name":"Get a Resized Photo","description":{"content":"Plex's Photo transcoder is used throughout the service to serve images at specified sizes.\n","type":"text/plain"},"url":{"path":["photo",":","transcode"],"host":["{{baseUrl}}"],"query":[{"disabled":false,"description":{"content":"(Required) The width for the resized photo","type":"text/plain"},"key":"width","value":""},{"disabled":false,"description":{"content":"(Required) The height for the resized photo","type":"text/plain"},"key":"height","value":""},{"disabled":false,"description":{"content":"(Required) The opacity for the resized photo","type":"text/plain"},"key":"opacity","value":""},{"disabled":false,"description":{"content":"(Required) The width for the resized photo","type":"text/plain"},"key":"blur","value":""},{"disabled":false,"description":{"content":"(Required) images are always scaled proportionally. A value of '1' in minSize will make the smaller native dimension the dimension resized against.","type":"text/plain"},"key":"minSize","value":""},{"disabled":false,"description":{"content":"(Required) allow images to be resized beyond native dimensions.","type":"text/plain"},"key":"upscale","value":""},{"disabled":false,"description":{"content":"(Required) path to image within Plex","type":"text/plain"},"key":"url","value":""}],"variable":[]},"header":[{"key":"Accept","value":"application/json"}],"method":"GET"}} +sidebar_class_name: "get api-method" +info_path: docs/plex-media-server/plex-api +--- + +import ApiTabs from "@theme/ApiTabs"; +import DiscriminatorTabs from "@theme/DiscriminatorTabs"; +import MethodEndpoint from "@theme/ApiDemoPanel/MethodEndpoint"; +import MimeTabs from "@theme/MimeTabs"; +import ParamsItem from "@theme/ParamsItem"; +import ResponseSamples from "@theme/ResponseSamples"; +import SchemaItem from "@theme/SchemaItem"; +import SchemaTabs from "@theme/SchemaTabs"; +import TabItem from "@theme/TabItem"; + +

Get a Resized Photo

+ + + + + +Plex's Photo transcoder is used throughout the service to serve images at specified sizes. + + +
Query Parameters
+ +Resized Image + +
+ +Unauthorized - Returned if the X-Plex-Token is missing from the header or query. + +
Schema
    errors object[]
  • Array [
  • ]
\ No newline at end of file diff --git a/docs/plex-media-server/get-search-results.api.mdx b/docs/plex-media-server/get-search-results.api.mdx new file mode 100644 index 0000000..7b0306f --- /dev/null +++ b/docs/plex-media-server/get-search-results.api.mdx @@ -0,0 +1,37 @@ +--- +id: get-search-results +sidebar_label: Get Search Results +hide_title: true +hide_table_of_contents: true +api: {"tags":["Search"],"description":"This will search the database for the string provided.","operationId":"getSearchResults","parameters":[{"name":"query","description":"The search query string to use","in":"query","schema":{"type":"string","example":110},"required":true}],"responses":{"200":{"description":"Search Results","content":{"application/json":{"schema":{"type":"object","properties":{"MediaContainer":{"type":"object","properties":{"size":{"type":"number","example":26},"identifier":{"type":"string","example":"com.plexapp.plugins.library"},"mediaTagPrefix":{"type":"string","example":"/system/bundle/media/flags/"},"mediaTagVersion":{"type":"number","example":1680021154},"Metadata":{"type":"array","items":{"type":"object","properties":{"allowSync":{"type":"boolean"},"librarySectionID":{"type":"number","example":1},"librarySectionTitle":{"type":"string","example":"Movies"},"librarySectionUUID":{"type":"string","example":"322a231a-b7f7-49f5-920f-14c61199cd30"},"personal":{"type":"boolean"},"sourceTitle":{"type":"string","example":"Hera"},"ratingKey":{"type":"string","example":10398},"key":{"type":"string","example":"/library/metadata/10398"},"guid":{"type":"string","example":"plex://movie/5d7768284de0ee001fcc8f52"},"studio":{"type":"string","example":"Paramount"},"type":{"type":"string","example":"movie"},"title":{"type":"string","example":"Mission: Impossible"},"contentRating":{"type":"string","example":"PG-13"},"summary":{"type":"string","example":"When Ethan Hunt the leader of a crack espionage team whose perilous operation has gone awry with no explanation discovers that a mole has penetrated the CIA he's surprised to learn that he's the No. 1 suspect. To clear his name Hunt now must ferret out the real double agent and in the process even the score."},"rating":{"type":"number","example":6.6},"audienceRating":{"type":"number","example":7.1},"year":{"type":"number","example":1996},"tagline":{"type":"string","example":"Expect the impossible."},"thumb":{"type":"string","example":"/library/metadata/10398/thumb/1679505055"},"art":{"type":"string","example":"/library/metadata/10398/art/1679505055"},"duration":{"type":"number","example":6612628},"originallyAvailableAt":{"type":"string","format":"date","example":"1996-05-22T00:00:00.000Z"},"addedAt":{"type":"number","example":1589234571},"updatedAt":{"type":"number","example":1679505055},"audienceRatingImage":{"type":"string","example":"rottentomatoes://image.rating.upright"},"chapterSource":{"type":"string","example":"media"},"primaryExtraKey":{"type":"string","example":"/library/metadata/10501"},"ratingImage":{"type":"string","example":"rottentomatoes://image.rating.ripe"},"Media":{"type":"array","items":{"type":"object","properties":{"id":{"type":"number","example":26610},"duration":{"type":"number","example":6612628},"bitrate":{"type":"number","example":4751},"width":{"type":"number","example":1916},"height":{"type":"number","example":796},"aspectRatio":{"type":"number","example":2.35},"audioChannels":{"type":"number","example":6},"audioCodec":{"type":"string","example":"aac"},"videoCodec":{"type":"string","example":"hevc"},"videoResolution":{"type":"string","example":1080},"container":{"type":"string","example":"mkv"},"videoFrameRate":{"type":"string","example":"24p"},"audioProfile":{"type":"string","example":"lc"},"videoProfile":{"type":"string","example":"main 10"},"Part":{"type":"array","items":{"type":"object","properties":{"id":{"type":"number","example":26610},"key":{"type":"string","example":"/library/parts/26610/1589234571/file.mkv"},"duration":{"type":"number","example":6612628},"file":{"type":"string","example":"/movies/Mission Impossible (1996)/Mission Impossible (1996) Bluray-1080p.mkv"},"size":{"type":"number","example":3926903851},"audioProfile":{"type":"string","example":"lc"},"container":{"type":"string","example":"mkv"},"videoProfile":{"type":"string","example":"main 10"}}}}}}},"Genre":{"type":"array","items":{"type":"object","properties":{"tag":{"type":"string","example":"Action"}}}},"Director":{"type":"array","items":{"type":"object","properties":{"tag":{"type":"string","example":"Brian De Palma"}}}},"Writer":{"type":"array","items":{"type":"object","properties":{"tag":{"type":"string","example":"David Koepp"}}}},"Country":{"type":"array","items":{"type":"object","properties":{"tag":{"type":"string","example":"United States of America"}}}},"Role":{"type":"array","items":{"type":"object","properties":{"tag":{"type":"string","example":"Tom Cruise"}}}}}}},"Provider":{"type":"array","items":{"type":"object","properties":{"key":{"type":"string","example":"/system/search"},"title":{"type":"string","example":"Local Network"},"type":{"type":"string","example":"mixed"}}}}}}}}}}},"401":{"description":"Unauthorized - Returned if the X-Plex-Token is missing from the header or query.","content":{"application/json":{"schema":{"type":"object","properties":{"errors":{"type":"array","items":{"type":"object","properties":{"code":{"type":"number","example":1001},"message":{"type":"string","example":"User could not be authenticated"},"status":{"type":"number","example":401}}}}}}}}}},"method":"get","path":"/search","servers":[{"url":"http://{Local IP}:{Port}","variables":{"Local IP":{"default":"10.10.10.47","description":"The Local IP Address of your plex server"},"Port":{"default":"32400","description":"The port to access your plex server"}}},{"url":"https://{Local IP}:{Port}","variables":{"Local IP":{"default":"10.10.10.47","description":"The Local IP Address of your plex server"},"Port":{"default":"32400","description":"The port to access your plex server"}}}],"security":[{"Token":[],"ClientIdentifier":[],"Device":[],"DeviceName":[],"Platform":[],"PlatformVersion":[],"Product":[],"Version":[]}],"securitySchemes":{"Token":{"description":"Plex Authentication Token","type":"apiKey","in":"header","name":"X-Plex-Token"},"ClientIdentifier":{"description":"Plex Authentication Token","type":"apiKey","in":"header","name":"X-Plex-Client-Identifier"},"DeviceName":{"description":"Primary name for the device eg. `Plex Web (Chrome)`","type":"apiKey","in":"header","name":"X-Plex-Device-Name"},"Device":{"description":"The type of device your application is running on\nDevice name and or model number, eg `iPhone3,2`, `Motorola XOOM™`, `LG5200TV`\n","type":"apiKey","in":"header","name":"X-Plex-Device"},"PlatformVersion":{"description":"Operating system version\neg `4.3.1`, `10.6.7`, `3.2`\n","type":"apiKey","in":"header","name":"X-Plex-Platform-Version"},"Platform":{"description":"Platform name \neg: `Web`, `iOS`, `MacOSX`, `Android`, `LG`\n","type":"apiKey","in":"header","name":"X-Plex-Platform"},"Product":{"description":"Plex application name \neg: `Laika`, `Plex Media Server`, `Media Link`\n","type":"apiKey","in":"header","name":"X-Plex-Product"},"Version":{"description":"Plex application version number","type":"apiKey","in":"header","name":"X-Plex-Version"}},"info":{"title":"Plex-API","summary":"A Plex Media Server API Map","description":"An Open API Spec for interacting with Plex.tv and Plex Servers","version":"0.0.3","contact":{"name":"Luke Hagar","url":"https://www.LukeHagar.com","email":"Lukeslakemail@gmail.com"},"license":{"name":"MIT","identifier":"MIT","url":"https://opensource.org/licenses/MIT"}},"postman":{"name":"Get Search Results","description":{"content":"This will search the database for the string provided.","type":"text/plain"},"url":{"path":["search"],"host":["{{baseUrl}}"],"query":[{"disabled":false,"description":{"content":"(Required) The search query string to use","type":"text/plain"},"key":"query","value":""}],"variable":[]},"header":[{"key":"Accept","value":"application/json"}],"method":"GET"}} +sidebar_class_name: "get api-method" +info_path: docs/plex-media-server/plex-api +--- + +import ApiTabs from "@theme/ApiTabs"; +import DiscriminatorTabs from "@theme/DiscriminatorTabs"; +import MethodEndpoint from "@theme/ApiDemoPanel/MethodEndpoint"; +import MimeTabs from "@theme/MimeTabs"; +import ParamsItem from "@theme/ParamsItem"; +import ResponseSamples from "@theme/ResponseSamples"; +import SchemaItem from "@theme/SchemaItem"; +import SchemaTabs from "@theme/SchemaTabs"; +import TabItem from "@theme/TabItem"; + +

Get Search Results

+ + + + + +This will search the database for the string provided. + +
Query Parameters
+ +Search Results + +
Schema
    MediaContainer object
    Metadata object[]
  • Array [
  • Media object[]
  • Array [
  • Part object[]
  • Array [
  • ]
  • ]
  • Genre object[]
  • Array [
  • ]
  • Director object[]
  • Array [
  • ]
  • Writer object[]
  • Array [
  • ]
  • Country object[]
  • Array [
  • ]
  • Role object[]
  • Array [
  • ]
  • ]
  • Provider object[]
  • Array [
  • ]
+ +Unauthorized - Returned if the X-Plex-Token is missing from the header or query. + +
Schema
    errors object[]
  • Array [
  • ]
\ No newline at end of file diff --git a/docs/plex-media-server/get-server-activities.api.mdx b/docs/plex-media-server/get-server-activities.api.mdx new file mode 100644 index 0000000..edc0455 --- /dev/null +++ b/docs/plex-media-server/get-server-activities.api.mdx @@ -0,0 +1,37 @@ +--- +id: get-server-activities +sidebar_label: Get Server Activities +hide_title: true +hide_table_of_contents: true +api: {"tags":["Activities"],"description":"Get Server Activities","operationId":"getServerActivities","responses":{"200":{"description":"The Server Activities","content":{"application/json":{"schema":{"type":"object","properties":{"MediaContainer":{"type":"object","properties":{"size":{"type":"number"},"Activity":{"type":"array","items":{"type":"object","properties":{"uuid":{"type":"string"},"type":{"type":"string"},"cancellable":{"type":"boolean"},"userID":{"type":"number"},"title":{"type":"string"},"subtitle":{"type":"string"},"progress":{"type":"number"},"Context":{"type":"object","properties":{"librarySectionID":{"type":"string"}}}}}}}}}}}}},"401":{"description":"Unauthorized - Returned if the X-Plex-Token is missing from the header or query.","content":{"application/json":{"schema":{"type":"object","properties":{"errors":{"type":"array","items":{"type":"object","properties":{"code":{"type":"number","example":1001},"message":{"type":"string","example":"User could not be authenticated"},"status":{"type":"number","example":401}}}}}}}}}},"method":"get","path":"/activities","servers":[{"url":"http://{Local IP}:{Port}","variables":{"Local IP":{"default":"10.10.10.47","description":"The Local IP Address of your plex server"},"Port":{"default":"32400","description":"The port to access your plex server"}}},{"url":"https://{Local IP}:{Port}","variables":{"Local IP":{"default":"10.10.10.47","description":"The Local IP Address of your plex server"},"Port":{"default":"32400","description":"The port to access your plex server"}}}],"security":[{"Token":[],"ClientIdentifier":[],"Device":[],"DeviceName":[],"Platform":[],"PlatformVersion":[],"Product":[],"Version":[]}],"securitySchemes":{"Token":{"description":"Plex Authentication Token","type":"apiKey","in":"header","name":"X-Plex-Token"},"ClientIdentifier":{"description":"Plex Authentication Token","type":"apiKey","in":"header","name":"X-Plex-Client-Identifier"},"DeviceName":{"description":"Primary name for the device eg. `Plex Web (Chrome)`","type":"apiKey","in":"header","name":"X-Plex-Device-Name"},"Device":{"description":"The type of device your application is running on\nDevice name and or model number, eg `iPhone3,2`, `Motorola XOOM™`, `LG5200TV`\n","type":"apiKey","in":"header","name":"X-Plex-Device"},"PlatformVersion":{"description":"Operating system version\neg `4.3.1`, `10.6.7`, `3.2`\n","type":"apiKey","in":"header","name":"X-Plex-Platform-Version"},"Platform":{"description":"Platform name \neg: `Web`, `iOS`, `MacOSX`, `Android`, `LG`\n","type":"apiKey","in":"header","name":"X-Plex-Platform"},"Product":{"description":"Plex application name \neg: `Laika`, `Plex Media Server`, `Media Link`\n","type":"apiKey","in":"header","name":"X-Plex-Product"},"Version":{"description":"Plex application version number","type":"apiKey","in":"header","name":"X-Plex-Version"}},"info":{"title":"Plex-API","summary":"A Plex Media Server API Map","description":"An Open API Spec for interacting with Plex.tv and Plex Servers","version":"0.0.3","contact":{"name":"Luke Hagar","url":"https://www.LukeHagar.com","email":"Lukeslakemail@gmail.com"},"license":{"name":"MIT","identifier":"MIT","url":"https://opensource.org/licenses/MIT"}},"postman":{"name":"Get Server Activities","description":{"content":"Get Server Activities","type":"text/plain"},"url":{"path":["activities"],"host":["{{baseUrl}}"],"query":[],"variable":[]},"header":[{"key":"Accept","value":"application/json"}],"method":"GET"}} +sidebar_class_name: "get api-method" +info_path: docs/plex-media-server/plex-api +--- + +import ApiTabs from "@theme/ApiTabs"; +import DiscriminatorTabs from "@theme/DiscriminatorTabs"; +import MethodEndpoint from "@theme/ApiDemoPanel/MethodEndpoint"; +import MimeTabs from "@theme/MimeTabs"; +import ParamsItem from "@theme/ParamsItem"; +import ResponseSamples from "@theme/ResponseSamples"; +import SchemaItem from "@theme/SchemaItem"; +import SchemaTabs from "@theme/SchemaTabs"; +import TabItem from "@theme/TabItem"; + +

Get Server Activities

+ + + + + +Get Server Activities + +
+ +The Server Activities + +
Schema
    MediaContainer object
    Activity object[]
  • Array [
  • Context object
  • ]
+ +Unauthorized - Returned if the X-Plex-Token is missing from the header or query. + +
Schema
    errors object[]
  • Array [
  • ]
\ No newline at end of file diff --git a/docs/plex-media-server/get-server-capabilities.api.mdx b/docs/plex-media-server/get-server-capabilities.api.mdx new file mode 100644 index 0000000..7aad23b --- /dev/null +++ b/docs/plex-media-server/get-server-capabilities.api.mdx @@ -0,0 +1,37 @@ +--- +id: get-server-capabilities +sidebar_label: Server Capabilities +hide_title: true +hide_table_of_contents: true +api: {"tags":["Server"],"description":"Server Capabilities","operationId":"getServerCapabilities","responses":{"200":{"description":"The Server Capabilities","content":{"application/json":{"schema":{"type":"object","properties":{"MediaContainer":{"type":"object","properties":{"size":{"type":"number"},"allowCameraUpload":{"type":"boolean"},"allowChannelAccess":{"type":"boolean"},"allowMediaDeletion":{"type":"boolean"},"allowSharing":{"type":"boolean"},"allowSync":{"type":"boolean"},"allowTuners":{"type":"boolean"},"backgroundProcessing":{"type":"boolean"},"certificate":{"type":"boolean"},"companionProxy":{"type":"boolean"},"countryCode":{"type":"string"},"diagnostics":{"type":"string"},"eventStream":{"type":"boolean"},"friendlyName":{"type":"string"},"hubSearch":{"type":"boolean"},"itemClusters":{"type":"boolean"},"livetv":{"type":"number"},"machineIdentifier":{"type":"string"},"mediaProviders":{"type":"boolean"},"multiuser":{"type":"boolean"},"musicAnalysis":{"type":"number"},"myPlex":{"type":"boolean"},"myPlexMappingState":{"type":"string"},"myPlexSigninState":{"type":"string"},"myPlexSubscription":{"type":"boolean"},"myPlexUsername":{"type":"string"},"offlineTranscode":{"type":"number"},"ownerFeatures":{"type":"string"},"photoAutoTag":{"type":"boolean"},"platform":{"type":"string"},"platformVersion":{"type":"string"},"pluginHost":{"type":"boolean"},"pushNotifications":{"type":"boolean"},"readOnlyLibraries":{"type":"boolean"},"streamingBrainABRVersion":{"type":"number"},"streamingBrainVersion":{"type":"number"},"sync":{"type":"boolean"},"transcoderActiveVideoSessions":{"type":"number"},"transcoderAudio":{"type":"boolean"},"transcoderLyrics":{"type":"boolean"},"transcoderPhoto":{"type":"boolean"},"transcoderSubtitles":{"type":"boolean"},"transcoderVideo":{"type":"boolean"},"transcoderVideoBitrates":{"type":"string"},"transcoderVideoQualities":{"type":"string"},"transcoderVideoResolutions":{"type":"string"},"updatedAt":{"type":"number"},"updater":{"type":"boolean"},"version":{"type":"string"},"voiceSearch":{"type":"boolean"},"Directory":{"type":"array","items":{"type":"object","properties":{"count":{"type":"number"},"key":{"type":"string"},"title":{"type":"string"}}}}}}}}}}},"401":{"description":"Unauthorized - Returned if the X-Plex-Token is missing from the header or query.","content":{"application/json":{"schema":{"type":"object","properties":{"errors":{"type":"array","items":{"type":"object","properties":{"code":{"type":"number","example":1001},"message":{"type":"string","example":"User could not be authenticated"},"status":{"type":"number","example":401}}}}}}}}}},"method":"get","path":"/","servers":[{"url":"http://{Local IP}:{Port}","variables":{"Local IP":{"default":"10.10.10.47","description":"The Local IP Address of your plex server"},"Port":{"default":"32400","description":"The port to access your plex server"}}},{"url":"https://{Local IP}:{Port}","variables":{"Local IP":{"default":"10.10.10.47","description":"The Local IP Address of your plex server"},"Port":{"default":"32400","description":"The port to access your plex server"}}}],"security":[{"Token":[],"ClientIdentifier":[],"Device":[],"DeviceName":[],"Platform":[],"PlatformVersion":[],"Product":[],"Version":[]}],"securitySchemes":{"Token":{"description":"Plex Authentication Token","type":"apiKey","in":"header","name":"X-Plex-Token"},"ClientIdentifier":{"description":"Plex Authentication Token","type":"apiKey","in":"header","name":"X-Plex-Client-Identifier"},"DeviceName":{"description":"Primary name for the device eg. `Plex Web (Chrome)`","type":"apiKey","in":"header","name":"X-Plex-Device-Name"},"Device":{"description":"The type of device your application is running on\nDevice name and or model number, eg `iPhone3,2`, `Motorola XOOM™`, `LG5200TV`\n","type":"apiKey","in":"header","name":"X-Plex-Device"},"PlatformVersion":{"description":"Operating system version\neg `4.3.1`, `10.6.7`, `3.2`\n","type":"apiKey","in":"header","name":"X-Plex-Platform-Version"},"Platform":{"description":"Platform name \neg: `Web`, `iOS`, `MacOSX`, `Android`, `LG`\n","type":"apiKey","in":"header","name":"X-Plex-Platform"},"Product":{"description":"Plex application name \neg: `Laika`, `Plex Media Server`, `Media Link`\n","type":"apiKey","in":"header","name":"X-Plex-Product"},"Version":{"description":"Plex application version number","type":"apiKey","in":"header","name":"X-Plex-Version"}},"info":{"title":"Plex-API","summary":"A Plex Media Server API Map","description":"An Open API Spec for interacting with Plex.tv and Plex Servers","version":"0.0.3","contact":{"name":"Luke Hagar","url":"https://www.LukeHagar.com","email":"Lukeslakemail@gmail.com"},"license":{"name":"MIT","identifier":"MIT","url":"https://opensource.org/licenses/MIT"}},"postman":{"name":"Server Capabilities","description":{"content":"Server Capabilities","type":"text/plain"},"url":{"path":[""],"host":["{{baseUrl}}"],"query":[],"variable":[]},"header":[{"key":"Accept","value":"application/json"}],"method":"GET"}} +sidebar_class_name: "get api-method" +info_path: docs/plex-media-server/plex-api +--- + +import ApiTabs from "@theme/ApiTabs"; +import DiscriminatorTabs from "@theme/DiscriminatorTabs"; +import MethodEndpoint from "@theme/ApiDemoPanel/MethodEndpoint"; +import MimeTabs from "@theme/MimeTabs"; +import ParamsItem from "@theme/ParamsItem"; +import ResponseSamples from "@theme/ResponseSamples"; +import SchemaItem from "@theme/SchemaItem"; +import SchemaTabs from "@theme/SchemaTabs"; +import TabItem from "@theme/TabItem"; + +

Server Capabilities

+ + + + + +Server Capabilities + +
+ +The Server Capabilities + +
Schema
    MediaContainer object
    Directory object[]
  • Array [
  • ]
+ +Unauthorized - Returned if the X-Plex-Token is missing from the header or query. + +
Schema
    errors object[]
  • Array [
  • ]
\ No newline at end of file diff --git a/docs/plex-media-server/get-server-identity.api.mdx b/docs/plex-media-server/get-server-identity.api.mdx new file mode 100644 index 0000000..cd88cc3 --- /dev/null +++ b/docs/plex-media-server/get-server-identity.api.mdx @@ -0,0 +1,37 @@ +--- +id: get-server-identity +sidebar_label: Get Server Identity +hide_title: true +hide_table_of_contents: true +api: {"tags":["Server"],"description":"Get Server Identity","operationId":"getServerIdentity","responses":{"200":{"description":"The Transcode Sessions","content":{"application/json":{"schema":{"type":"object","properties":{"MediaContainer":{"type":"object","properties":{"size":{"type":"number","example":0},"claimed":{"type":"boolean"},"machineIdentifier":{"type":"string","example":"96f2fe7a78c9dc1f16a16bedbe90f98149be16b4"},"version":{"type":"string","example":"1.31.3.6868-28fc46b27"}}}}}}}},"401":{"description":"Unauthorized - Returned if the X-Plex-Token is missing from the header or query.","content":{"application/json":{"schema":{"type":"object","properties":{"errors":{"type":"array","items":{"type":"object","properties":{"code":{"type":"number","example":1001},"message":{"type":"string","example":"User could not be authenticated"},"status":{"type":"number","example":401}}}}}}}}}},"method":"get","path":"/identity","servers":[{"url":"http://{Local IP}:{Port}","variables":{"Local IP":{"default":"10.10.10.47","description":"The Local IP Address of your plex server"},"Port":{"default":"32400","description":"The port to access your plex server"}}},{"url":"https://{Local IP}:{Port}","variables":{"Local IP":{"default":"10.10.10.47","description":"The Local IP Address of your plex server"},"Port":{"default":"32400","description":"The port to access your plex server"}}}],"security":[{"Token":[],"ClientIdentifier":[],"Device":[],"DeviceName":[],"Platform":[],"PlatformVersion":[],"Product":[],"Version":[]}],"securitySchemes":{"Token":{"description":"Plex Authentication Token","type":"apiKey","in":"header","name":"X-Plex-Token"},"ClientIdentifier":{"description":"Plex Authentication Token","type":"apiKey","in":"header","name":"X-Plex-Client-Identifier"},"DeviceName":{"description":"Primary name for the device eg. `Plex Web (Chrome)`","type":"apiKey","in":"header","name":"X-Plex-Device-Name"},"Device":{"description":"The type of device your application is running on\nDevice name and or model number, eg `iPhone3,2`, `Motorola XOOM™`, `LG5200TV`\n","type":"apiKey","in":"header","name":"X-Plex-Device"},"PlatformVersion":{"description":"Operating system version\neg `4.3.1`, `10.6.7`, `3.2`\n","type":"apiKey","in":"header","name":"X-Plex-Platform-Version"},"Platform":{"description":"Platform name \neg: `Web`, `iOS`, `MacOSX`, `Android`, `LG`\n","type":"apiKey","in":"header","name":"X-Plex-Platform"},"Product":{"description":"Plex application name \neg: `Laika`, `Plex Media Server`, `Media Link`\n","type":"apiKey","in":"header","name":"X-Plex-Product"},"Version":{"description":"Plex application version number","type":"apiKey","in":"header","name":"X-Plex-Version"}},"info":{"title":"Plex-API","summary":"A Plex Media Server API Map","description":"An Open API Spec for interacting with Plex.tv and Plex Servers","version":"0.0.3","contact":{"name":"Luke Hagar","url":"https://www.LukeHagar.com","email":"Lukeslakemail@gmail.com"},"license":{"name":"MIT","identifier":"MIT","url":"https://opensource.org/licenses/MIT"}},"postman":{"name":"Get Server Identity","description":{"content":"Get Server Identity","type":"text/plain"},"url":{"path":["identity"],"host":["{{baseUrl}}"],"query":[],"variable":[]},"header":[{"key":"Accept","value":"application/json"}],"method":"GET"}} +sidebar_class_name: "get api-method" +info_path: docs/plex-media-server/plex-api +--- + +import ApiTabs from "@theme/ApiTabs"; +import DiscriminatorTabs from "@theme/DiscriminatorTabs"; +import MethodEndpoint from "@theme/ApiDemoPanel/MethodEndpoint"; +import MimeTabs from "@theme/MimeTabs"; +import ParamsItem from "@theme/ParamsItem"; +import ResponseSamples from "@theme/ResponseSamples"; +import SchemaItem from "@theme/SchemaItem"; +import SchemaTabs from "@theme/SchemaTabs"; +import TabItem from "@theme/TabItem"; + +

Get Server Identity

+ + + + + +Get Server Identity + +
+ +The Transcode Sessions + +
Schema
    MediaContainer object
+ +Unauthorized - Returned if the X-Plex-Token is missing from the header or query. + +
Schema
    errors object[]
  • Array [
  • ]
\ No newline at end of file diff --git a/docs/plex-media-server/get-server-list.api.mdx b/docs/plex-media-server/get-server-list.api.mdx new file mode 100644 index 0000000..51e5d14 --- /dev/null +++ b/docs/plex-media-server/get-server-list.api.mdx @@ -0,0 +1,37 @@ +--- +id: get-server-list +sidebar_label: Get Server List +hide_title: true +hide_table_of_contents: true +api: {"tags":["Server"],"description":"Get Server List","operationId":"getServerList","responses":{"200":{"description":"List of Servers","content":{"application/json":{"schema":{"type":"object","properties":{"MediaContainer":{"type":"object","properties":{"size":{"type":"number","example":1},"Server":{"type":"array","items":{"type":"object","properties":{"name":{"type":"string","example":"Hera"},"host":{"type":"string","example":"10.10.10.47"},"address":{"type":"string","example":"10.10.10.47"},"port":{"type":"number","example":32400},"machineIdentifier":{"type":"string","example":"96f2fe7a78c9dc1f16a16bedbe90f98149be16b4"},"version":{"type":"string","example":"1.31.3.6868-28fc46b27"}}}}}}}}}}},"401":{"description":"Unauthorized - Returned if the X-Plex-Token is missing from the header or query.","content":{"application/json":{"schema":{"type":"object","properties":{"errors":{"type":"array","items":{"type":"object","properties":{"code":{"type":"number","example":1001},"message":{"type":"string","example":"User could not be authenticated"},"status":{"type":"number","example":401}}}}}}}}}},"method":"get","path":"/servers","servers":[{"url":"http://{Local IP}:{Port}","variables":{"Local IP":{"default":"10.10.10.47","description":"The Local IP Address of your plex server"},"Port":{"default":"32400","description":"The port to access your plex server"}}},{"url":"https://{Local IP}:{Port}","variables":{"Local IP":{"default":"10.10.10.47","description":"The Local IP Address of your plex server"},"Port":{"default":"32400","description":"The port to access your plex server"}}}],"security":[{"Token":[],"ClientIdentifier":[],"Device":[],"DeviceName":[],"Platform":[],"PlatformVersion":[],"Product":[],"Version":[]}],"securitySchemes":{"Token":{"description":"Plex Authentication Token","type":"apiKey","in":"header","name":"X-Plex-Token"},"ClientIdentifier":{"description":"Plex Authentication Token","type":"apiKey","in":"header","name":"X-Plex-Client-Identifier"},"DeviceName":{"description":"Primary name for the device eg. `Plex Web (Chrome)`","type":"apiKey","in":"header","name":"X-Plex-Device-Name"},"Device":{"description":"The type of device your application is running on\nDevice name and or model number, eg `iPhone3,2`, `Motorola XOOM™`, `LG5200TV`\n","type":"apiKey","in":"header","name":"X-Plex-Device"},"PlatformVersion":{"description":"Operating system version\neg `4.3.1`, `10.6.7`, `3.2`\n","type":"apiKey","in":"header","name":"X-Plex-Platform-Version"},"Platform":{"description":"Platform name \neg: `Web`, `iOS`, `MacOSX`, `Android`, `LG`\n","type":"apiKey","in":"header","name":"X-Plex-Platform"},"Product":{"description":"Plex application name \neg: `Laika`, `Plex Media Server`, `Media Link`\n","type":"apiKey","in":"header","name":"X-Plex-Product"},"Version":{"description":"Plex application version number","type":"apiKey","in":"header","name":"X-Plex-Version"}},"info":{"title":"Plex-API","summary":"A Plex Media Server API Map","description":"An Open API Spec for interacting with Plex.tv and Plex Servers","version":"0.0.3","contact":{"name":"Luke Hagar","url":"https://www.LukeHagar.com","email":"Lukeslakemail@gmail.com"},"license":{"name":"MIT","identifier":"MIT","url":"https://opensource.org/licenses/MIT"}},"postman":{"name":"Get Server List","description":{"content":"Get Server List","type":"text/plain"},"url":{"path":["servers"],"host":["{{baseUrl}}"],"query":[],"variable":[]},"header":[{"key":"Accept","value":"application/json"}],"method":"GET"}} +sidebar_class_name: "get api-method" +info_path: docs/plex-media-server/plex-api +--- + +import ApiTabs from "@theme/ApiTabs"; +import DiscriminatorTabs from "@theme/DiscriminatorTabs"; +import MethodEndpoint from "@theme/ApiDemoPanel/MethodEndpoint"; +import MimeTabs from "@theme/MimeTabs"; +import ParamsItem from "@theme/ParamsItem"; +import ResponseSamples from "@theme/ResponseSamples"; +import SchemaItem from "@theme/SchemaItem"; +import SchemaTabs from "@theme/SchemaTabs"; +import TabItem from "@theme/TabItem"; + +

Get Server List

+ + + + + +Get Server List + +
+ +List of Servers + +
Schema
    MediaContainer object
    Server object[]
  • Array [
  • ]
+ +Unauthorized - Returned if the X-Plex-Token is missing from the header or query. + +
Schema
    errors object[]
  • Array [
  • ]
\ No newline at end of file diff --git a/docs/plex-media-server/get-server-preferences.api.mdx b/docs/plex-media-server/get-server-preferences.api.mdx new file mode 100644 index 0000000..2aa1137 --- /dev/null +++ b/docs/plex-media-server/get-server-preferences.api.mdx @@ -0,0 +1,37 @@ +--- +id: get-server-preferences +sidebar_label: Get Server Preferences +hide_title: true +hide_table_of_contents: true +api: {"tags":["Server"],"description":"Get Server Preferences","operationId":"getServerPreferences","responses":{"200":{"description":"Server Preferences"},"401":{"description":"Unauthorized - Returned if the X-Plex-Token is missing from the header or query.","content":{"application/json":{"schema":{"type":"object","properties":{"errors":{"type":"array","items":{"type":"object","properties":{"code":{"type":"number","example":1001},"message":{"type":"string","example":"User could not be authenticated"},"status":{"type":"number","example":401}}}}}}}}}},"method":"get","path":"/:/prefs","servers":[{"url":"http://{Local IP}:{Port}","variables":{"Local IP":{"default":"10.10.10.47","description":"The Local IP Address of your plex server"},"Port":{"default":"32400","description":"The port to access your plex server"}}},{"url":"https://{Local IP}:{Port}","variables":{"Local IP":{"default":"10.10.10.47","description":"The Local IP Address of your plex server"},"Port":{"default":"32400","description":"The port to access your plex server"}}}],"security":[{"Token":[],"ClientIdentifier":[],"Device":[],"DeviceName":[],"Platform":[],"PlatformVersion":[],"Product":[],"Version":[]}],"securitySchemes":{"Token":{"description":"Plex Authentication Token","type":"apiKey","in":"header","name":"X-Plex-Token"},"ClientIdentifier":{"description":"Plex Authentication Token","type":"apiKey","in":"header","name":"X-Plex-Client-Identifier"},"DeviceName":{"description":"Primary name for the device eg. `Plex Web (Chrome)`","type":"apiKey","in":"header","name":"X-Plex-Device-Name"},"Device":{"description":"The type of device your application is running on\nDevice name and or model number, eg `iPhone3,2`, `Motorola XOOM™`, `LG5200TV`\n","type":"apiKey","in":"header","name":"X-Plex-Device"},"PlatformVersion":{"description":"Operating system version\neg `4.3.1`, `10.6.7`, `3.2`\n","type":"apiKey","in":"header","name":"X-Plex-Platform-Version"},"Platform":{"description":"Platform name \neg: `Web`, `iOS`, `MacOSX`, `Android`, `LG`\n","type":"apiKey","in":"header","name":"X-Plex-Platform"},"Product":{"description":"Plex application name \neg: `Laika`, `Plex Media Server`, `Media Link`\n","type":"apiKey","in":"header","name":"X-Plex-Product"},"Version":{"description":"Plex application version number","type":"apiKey","in":"header","name":"X-Plex-Version"}},"info":{"title":"Plex-API","summary":"A Plex Media Server API Map","description":"An Open API Spec for interacting with Plex.tv and Plex Servers","version":"0.0.3","contact":{"name":"Luke Hagar","url":"https://www.LukeHagar.com","email":"Lukeslakemail@gmail.com"},"license":{"name":"MIT","identifier":"MIT","url":"https://opensource.org/licenses/MIT"}},"postman":{"name":"Get Server Preferences","description":{"content":"Get Server Preferences","type":"text/plain"},"url":{"path":[":","prefs"],"host":["{{baseUrl}}"],"query":[],"variable":[]},"header":[{"key":"Accept","value":"application/json"}],"method":"GET"}} +sidebar_class_name: "get api-method" +info_path: docs/plex-media-server/plex-api +--- + +import ApiTabs from "@theme/ApiTabs"; +import DiscriminatorTabs from "@theme/DiscriminatorTabs"; +import MethodEndpoint from "@theme/ApiDemoPanel/MethodEndpoint"; +import MimeTabs from "@theme/MimeTabs"; +import ParamsItem from "@theme/ParamsItem"; +import ResponseSamples from "@theme/ResponseSamples"; +import SchemaItem from "@theme/SchemaItem"; +import SchemaTabs from "@theme/SchemaTabs"; +import TabItem from "@theme/TabItem"; + +

Get Server Preferences

+ + + + + +Get Server Preferences + +
+ +Server Preferences + +
+ +Unauthorized - Returned if the X-Plex-Token is missing from the header or query. + +
Schema
    errors object[]
  • Array [
  • ]
\ No newline at end of file diff --git a/docs/plex-media-server/get-session-history.api.mdx b/docs/plex-media-server/get-session-history.api.mdx new file mode 100644 index 0000000..1668e2c --- /dev/null +++ b/docs/plex-media-server/get-session-history.api.mdx @@ -0,0 +1,37 @@ +--- +id: get-session-history +sidebar_label: Get Session History +hide_title: true +hide_table_of_contents: true +api: {"tags":["Sessions"],"description":"This will Retrieve a listing of all history views.","operationId":"getSessionHistory","responses":{"200":{"description":"List of Plex Sessions"},"401":{"description":"Unauthorized - Returned if the X-Plex-Token is missing from the header or query.","content":{"application/json":{"schema":{"type":"object","properties":{"errors":{"type":"array","items":{"type":"object","properties":{"code":{"type":"number","example":1001},"message":{"type":"string","example":"User could not be authenticated"},"status":{"type":"number","example":401}}}}}}}}}},"method":"get","path":"/status/sessions/history/all","servers":[{"url":"http://{Local IP}:{Port}","variables":{"Local IP":{"default":"10.10.10.47","description":"The Local IP Address of your plex server"},"Port":{"default":"32400","description":"The port to access your plex server"}}},{"url":"https://{Local IP}:{Port}","variables":{"Local IP":{"default":"10.10.10.47","description":"The Local IP Address of your plex server"},"Port":{"default":"32400","description":"The port to access your plex server"}}}],"security":[{"Token":[],"ClientIdentifier":[],"Device":[],"DeviceName":[],"Platform":[],"PlatformVersion":[],"Product":[],"Version":[]}],"securitySchemes":{"Token":{"description":"Plex Authentication Token","type":"apiKey","in":"header","name":"X-Plex-Token"},"ClientIdentifier":{"description":"Plex Authentication Token","type":"apiKey","in":"header","name":"X-Plex-Client-Identifier"},"DeviceName":{"description":"Primary name for the device eg. `Plex Web (Chrome)`","type":"apiKey","in":"header","name":"X-Plex-Device-Name"},"Device":{"description":"The type of device your application is running on\nDevice name and or model number, eg `iPhone3,2`, `Motorola XOOM™`, `LG5200TV`\n","type":"apiKey","in":"header","name":"X-Plex-Device"},"PlatformVersion":{"description":"Operating system version\neg `4.3.1`, `10.6.7`, `3.2`\n","type":"apiKey","in":"header","name":"X-Plex-Platform-Version"},"Platform":{"description":"Platform name \neg: `Web`, `iOS`, `MacOSX`, `Android`, `LG`\n","type":"apiKey","in":"header","name":"X-Plex-Platform"},"Product":{"description":"Plex application name \neg: `Laika`, `Plex Media Server`, `Media Link`\n","type":"apiKey","in":"header","name":"X-Plex-Product"},"Version":{"description":"Plex application version number","type":"apiKey","in":"header","name":"X-Plex-Version"}},"info":{"title":"Plex-API","summary":"A Plex Media Server API Map","description":"An Open API Spec for interacting with Plex.tv and Plex Servers","version":"0.0.3","contact":{"name":"Luke Hagar","url":"https://www.LukeHagar.com","email":"Lukeslakemail@gmail.com"},"license":{"name":"MIT","identifier":"MIT","url":"https://opensource.org/licenses/MIT"}},"postman":{"name":"Get Session History","description":{"content":"This will Retrieve a listing of all history views.","type":"text/plain"},"url":{"path":["status","sessions","history","all"],"host":["{{baseUrl}}"],"query":[],"variable":[]},"header":[{"key":"Accept","value":"application/json"}],"method":"GET"}} +sidebar_class_name: "get api-method" +info_path: docs/plex-media-server/plex-api +--- + +import ApiTabs from "@theme/ApiTabs"; +import DiscriminatorTabs from "@theme/DiscriminatorTabs"; +import MethodEndpoint from "@theme/ApiDemoPanel/MethodEndpoint"; +import MimeTabs from "@theme/MimeTabs"; +import ParamsItem from "@theme/ParamsItem"; +import ResponseSamples from "@theme/ResponseSamples"; +import SchemaItem from "@theme/SchemaItem"; +import SchemaTabs from "@theme/SchemaTabs"; +import TabItem from "@theme/TabItem"; + +

Get Session History

+ + + + + +This will Retrieve a listing of all history views. + +
+ +List of Plex Sessions + +
+ +Unauthorized - Returned if the X-Plex-Token is missing from the header or query. + +
Schema
    errors object[]
  • Array [
  • ]
\ No newline at end of file diff --git a/docs/plex-media-server/get-sessions.api.mdx b/docs/plex-media-server/get-sessions.api.mdx new file mode 100644 index 0000000..7c3f3ff --- /dev/null +++ b/docs/plex-media-server/get-sessions.api.mdx @@ -0,0 +1,37 @@ +--- +id: get-sessions +sidebar_label: Get Active Sessions +hide_title: true +hide_table_of_contents: true +api: {"tags":["Sessions"],"description":"This will retrieve the \"Now Playing\" Information of the PMS.","operationId":"getSessions","responses":{"200":{"description":"List of Active Plex Sessions"},"401":{"description":"Unauthorized - Returned if the X-Plex-Token is missing from the header or query.","content":{"application/json":{"schema":{"type":"object","properties":{"errors":{"type":"array","items":{"type":"object","properties":{"code":{"type":"number","example":1001},"message":{"type":"string","example":"User could not be authenticated"},"status":{"type":"number","example":401}}}}}}}}}},"method":"get","path":"/status/sessions","servers":[{"url":"http://{Local IP}:{Port}","variables":{"Local IP":{"default":"10.10.10.47","description":"The Local IP Address of your plex server"},"Port":{"default":"32400","description":"The port to access your plex server"}}},{"url":"https://{Local IP}:{Port}","variables":{"Local IP":{"default":"10.10.10.47","description":"The Local IP Address of your plex server"},"Port":{"default":"32400","description":"The port to access your plex server"}}}],"security":[{"Token":[],"ClientIdentifier":[],"Device":[],"DeviceName":[],"Platform":[],"PlatformVersion":[],"Product":[],"Version":[]}],"securitySchemes":{"Token":{"description":"Plex Authentication Token","type":"apiKey","in":"header","name":"X-Plex-Token"},"ClientIdentifier":{"description":"Plex Authentication Token","type":"apiKey","in":"header","name":"X-Plex-Client-Identifier"},"DeviceName":{"description":"Primary name for the device eg. `Plex Web (Chrome)`","type":"apiKey","in":"header","name":"X-Plex-Device-Name"},"Device":{"description":"The type of device your application is running on\nDevice name and or model number, eg `iPhone3,2`, `Motorola XOOM™`, `LG5200TV`\n","type":"apiKey","in":"header","name":"X-Plex-Device"},"PlatformVersion":{"description":"Operating system version\neg `4.3.1`, `10.6.7`, `3.2`\n","type":"apiKey","in":"header","name":"X-Plex-Platform-Version"},"Platform":{"description":"Platform name \neg: `Web`, `iOS`, `MacOSX`, `Android`, `LG`\n","type":"apiKey","in":"header","name":"X-Plex-Platform"},"Product":{"description":"Plex application name \neg: `Laika`, `Plex Media Server`, `Media Link`\n","type":"apiKey","in":"header","name":"X-Plex-Product"},"Version":{"description":"Plex application version number","type":"apiKey","in":"header","name":"X-Plex-Version"}},"info":{"title":"Plex-API","summary":"A Plex Media Server API Map","description":"An Open API Spec for interacting with Plex.tv and Plex Servers","version":"0.0.3","contact":{"name":"Luke Hagar","url":"https://www.LukeHagar.com","email":"Lukeslakemail@gmail.com"},"license":{"name":"MIT","identifier":"MIT","url":"https://opensource.org/licenses/MIT"}},"postman":{"name":"Get Active Sessions","description":{"content":"This will retrieve the \"Now Playing\" Information of the PMS.","type":"text/plain"},"url":{"path":["status","sessions"],"host":["{{baseUrl}}"],"query":[],"variable":[]},"header":[{"key":"Accept","value":"application/json"}],"method":"GET"}} +sidebar_class_name: "get api-method" +info_path: docs/plex-media-server/plex-api +--- + +import ApiTabs from "@theme/ApiTabs"; +import DiscriminatorTabs from "@theme/DiscriminatorTabs"; +import MethodEndpoint from "@theme/ApiDemoPanel/MethodEndpoint"; +import MimeTabs from "@theme/MimeTabs"; +import ParamsItem from "@theme/ParamsItem"; +import ResponseSamples from "@theme/ResponseSamples"; +import SchemaItem from "@theme/SchemaItem"; +import SchemaTabs from "@theme/SchemaTabs"; +import TabItem from "@theme/TabItem"; + +

Get Active Sessions

+ + + + + +This will retrieve the "Now Playing" Information of the PMS. + +
+ +List of Active Plex Sessions + +
+ +Unauthorized - Returned if the X-Plex-Token is missing from the header or query. + +
Schema
    errors object[]
  • Array [
  • ]
\ No newline at end of file diff --git a/docs/plex-media-server/get-source-connection-information.api.mdx b/docs/plex-media-server/get-source-connection-information.api.mdx new file mode 100644 index 0000000..369b6af --- /dev/null +++ b/docs/plex-media-server/get-source-connection-information.api.mdx @@ -0,0 +1,39 @@ +--- +id: get-source-connection-information +sidebar_label: Get Source Connection Information +hide_title: true +hide_table_of_contents: true +api: {"tags":["Security"],"description":"If a caller requires connection details and a transient token for a source that is known to the server, for example a cloud media provider or shared PMS, then this endpoint can be called. This endpoint is only accessible with either an admin token or a valid transient token generated from an admin token.\nNote: requires Plex Media Server >= 1.15.4.\n","operationId":"getSourceConnectionInformation","parameters":[{"name":"source","description":"The source identifier with an included prefix.","in":"query","schema":{"type":"string","example":["server://client-identifier","provider://provider-identifier"]},"required":true}],"responses":{"200":{"description":"Source Connection Information"},"401":{"description":"Unauthorized - Returned if the X-Plex-Token is missing from the header or query.","content":{"application/json":{"schema":{"type":"object","properties":{"errors":{"type":"array","items":{"type":"object","properties":{"code":{"type":"number","example":1001},"message":{"type":"string","example":"User could not be authenticated"},"status":{"type":"number","example":401}}}}}}}}}},"method":"get","path":"/security/resources","servers":[{"url":"http://{Local IP}:{Port}","variables":{"Local IP":{"default":"10.10.10.47","description":"The Local IP Address of your plex server"},"Port":{"default":"32400","description":"The port to access your plex server"}}},{"url":"https://{Local IP}:{Port}","variables":{"Local IP":{"default":"10.10.10.47","description":"The Local IP Address of your plex server"},"Port":{"default":"32400","description":"The port to access your plex server"}}}],"security":[{"Token":[],"ClientIdentifier":[],"Device":[],"DeviceName":[],"Platform":[],"PlatformVersion":[],"Product":[],"Version":[]}],"securitySchemes":{"Token":{"description":"Plex Authentication Token","type":"apiKey","in":"header","name":"X-Plex-Token"},"ClientIdentifier":{"description":"Plex Authentication Token","type":"apiKey","in":"header","name":"X-Plex-Client-Identifier"},"DeviceName":{"description":"Primary name for the device eg. `Plex Web (Chrome)`","type":"apiKey","in":"header","name":"X-Plex-Device-Name"},"Device":{"description":"The type of device your application is running on\nDevice name and or model number, eg `iPhone3,2`, `Motorola XOOM™`, `LG5200TV`\n","type":"apiKey","in":"header","name":"X-Plex-Device"},"PlatformVersion":{"description":"Operating system version\neg `4.3.1`, `10.6.7`, `3.2`\n","type":"apiKey","in":"header","name":"X-Plex-Platform-Version"},"Platform":{"description":"Platform name \neg: `Web`, `iOS`, `MacOSX`, `Android`, `LG`\n","type":"apiKey","in":"header","name":"X-Plex-Platform"},"Product":{"description":"Plex application name \neg: `Laika`, `Plex Media Server`, `Media Link`\n","type":"apiKey","in":"header","name":"X-Plex-Product"},"Version":{"description":"Plex application version number","type":"apiKey","in":"header","name":"X-Plex-Version"}},"info":{"title":"Plex-API","summary":"A Plex Media Server API Map","description":"An Open API Spec for interacting with Plex.tv and Plex Servers","version":"0.0.3","contact":{"name":"Luke Hagar","url":"https://www.LukeHagar.com","email":"Lukeslakemail@gmail.com"},"license":{"name":"MIT","identifier":"MIT","url":"https://opensource.org/licenses/MIT"}},"postman":{"name":"Get Source Connection Information","description":{"content":"If a caller requires connection details and a transient token for a source that is known to the server, for example a cloud media provider or shared PMS, then this endpoint can be called. This endpoint is only accessible with either an admin token or a valid transient token generated from an admin token.\nNote: requires Plex Media Server >= 1.15.4.\n","type":"text/plain"},"url":{"path":["security","resources"],"host":["{{baseUrl}}"],"query":[{"disabled":false,"description":{"content":"(Required) The source identifier with an included prefix.","type":"text/plain"},"key":"source","value":""}],"variable":[]},"header":[{"key":"Accept","value":"application/json"}],"method":"GET"}} +sidebar_class_name: "get api-method" +info_path: docs/plex-media-server/plex-api +--- + +import ApiTabs from "@theme/ApiTabs"; +import DiscriminatorTabs from "@theme/DiscriminatorTabs"; +import MethodEndpoint from "@theme/ApiDemoPanel/MethodEndpoint"; +import MimeTabs from "@theme/MimeTabs"; +import ParamsItem from "@theme/ParamsItem"; +import ResponseSamples from "@theme/ResponseSamples"; +import SchemaItem from "@theme/SchemaItem"; +import SchemaTabs from "@theme/SchemaTabs"; +import TabItem from "@theme/TabItem"; + +

Get Source Connection Information

+ + + + + +If a caller requires connection details and a transient token for a source that is known to the server, for example a cloud media provider or shared PMS, then this endpoint can be called. This endpoint is only accessible with either an admin token or a valid transient token generated from an admin token. +Note: requires Plex Media Server >= 1.15.4. + + +
Query Parameters
+ +Source Connection Information + +
+ +Unauthorized - Returned if the X-Plex-Token is missing from the header or query. + +
Schema
    errors object[]
  • Array [
  • ]
\ No newline at end of file diff --git a/docs/plex-media-server/get-transcode-sessions.api.mdx b/docs/plex-media-server/get-transcode-sessions.api.mdx new file mode 100644 index 0000000..d789e34 --- /dev/null +++ b/docs/plex-media-server/get-transcode-sessions.api.mdx @@ -0,0 +1,37 @@ +--- +id: get-transcode-sessions +sidebar_label: Get Transcode Sessions +hide_title: true +hide_table_of_contents: true +api: {"tags":["Sessions"],"description":"Get Transcode Sessions","operationId":"getTranscodeSessions","responses":{"200":{"description":"The Transcode Sessions","content":{"application/json":{"schema":{"type":"object","properties":{"MediaContainer":{"type":"object","properties":{"size":{"type":"number","example":1},"TranscodeSession":{"type":"array","items":{"type":"object","properties":{"key":{"type":"string","example":"zz7llzqlx8w9vnrsbnwhbmep"},"throttled":{"type":"boolean"},"complete":{"type":"boolean"},"progress":{"type":"number","example":0.4000000059604645},"size":{"type":"number","example":-22},"speed":{"type":"number","example":22.399999618530273},"error":{"type":"boolean"},"duration":{"type":"number","example":2561768},"context":{"type":"string","example":"streaming"},"sourceVideoCodec":{"type":"string","example":"h264"},"sourceAudioCodec":{"type":"string","example":"ac3"},"videoDecision":{"type":"string","example":"transcode"},"audioDecision":{"type":"string","example":"transcode"},"protocol":{"type":"string","example":"http"},"container":{"type":"string","example":"mkv"},"videoCodec":{"type":"string","example":"h264"},"audioCodec":{"type":"string","example":"opus"},"audioChannels":{"type":"number","example":2},"transcodeHwRequested":{"type":"boolean"},"timeStamp":{"type":"number","example":1681869535.7764285},"maxOffsetAvailable":{"type":"number","example":861.778},"minOffsetAvailable":{"type":"number","example":0}}}}}}}}}}},"401":{"description":"Unauthorized - Returned if the X-Plex-Token is missing from the header or query.","content":{"application/json":{"schema":{"type":"object","properties":{"errors":{"type":"array","items":{"type":"object","properties":{"code":{"type":"number","example":1001},"message":{"type":"string","example":"User could not be authenticated"},"status":{"type":"number","example":401}}}}}}}}}},"method":"get","path":"/transcode/sessions","servers":[{"url":"http://{Local IP}:{Port}","variables":{"Local IP":{"default":"10.10.10.47","description":"The Local IP Address of your plex server"},"Port":{"default":"32400","description":"The port to access your plex server"}}},{"url":"https://{Local IP}:{Port}","variables":{"Local IP":{"default":"10.10.10.47","description":"The Local IP Address of your plex server"},"Port":{"default":"32400","description":"The port to access your plex server"}}}],"security":[{"Token":[],"ClientIdentifier":[],"Device":[],"DeviceName":[],"Platform":[],"PlatformVersion":[],"Product":[],"Version":[]}],"securitySchemes":{"Token":{"description":"Plex Authentication Token","type":"apiKey","in":"header","name":"X-Plex-Token"},"ClientIdentifier":{"description":"Plex Authentication Token","type":"apiKey","in":"header","name":"X-Plex-Client-Identifier"},"DeviceName":{"description":"Primary name for the device eg. `Plex Web (Chrome)`","type":"apiKey","in":"header","name":"X-Plex-Device-Name"},"Device":{"description":"The type of device your application is running on\nDevice name and or model number, eg `iPhone3,2`, `Motorola XOOM™`, `LG5200TV`\n","type":"apiKey","in":"header","name":"X-Plex-Device"},"PlatformVersion":{"description":"Operating system version\neg `4.3.1`, `10.6.7`, `3.2`\n","type":"apiKey","in":"header","name":"X-Plex-Platform-Version"},"Platform":{"description":"Platform name \neg: `Web`, `iOS`, `MacOSX`, `Android`, `LG`\n","type":"apiKey","in":"header","name":"X-Plex-Platform"},"Product":{"description":"Plex application name \neg: `Laika`, `Plex Media Server`, `Media Link`\n","type":"apiKey","in":"header","name":"X-Plex-Product"},"Version":{"description":"Plex application version number","type":"apiKey","in":"header","name":"X-Plex-Version"}},"info":{"title":"Plex-API","summary":"A Plex Media Server API Map","description":"An Open API Spec for interacting with Plex.tv and Plex Servers","version":"0.0.3","contact":{"name":"Luke Hagar","url":"https://www.LukeHagar.com","email":"Lukeslakemail@gmail.com"},"license":{"name":"MIT","identifier":"MIT","url":"https://opensource.org/licenses/MIT"}},"postman":{"name":"Get Transcode Sessions","description":{"content":"Get Transcode Sessions","type":"text/plain"},"url":{"path":["transcode","sessions"],"host":["{{baseUrl}}"],"query":[],"variable":[]},"header":[{"key":"Accept","value":"application/json"}],"method":"GET"}} +sidebar_class_name: "get api-method" +info_path: docs/plex-media-server/plex-api +--- + +import ApiTabs from "@theme/ApiTabs"; +import DiscriminatorTabs from "@theme/DiscriminatorTabs"; +import MethodEndpoint from "@theme/ApiDemoPanel/MethodEndpoint"; +import MimeTabs from "@theme/MimeTabs"; +import ParamsItem from "@theme/ParamsItem"; +import ResponseSamples from "@theme/ResponseSamples"; +import SchemaItem from "@theme/SchemaItem"; +import SchemaTabs from "@theme/SchemaTabs"; +import TabItem from "@theme/TabItem"; + +

Get Transcode Sessions

+ + + + + +Get Transcode Sessions + +
+ +The Transcode Sessions + +
Schema
    MediaContainer object
    TranscodeSession object[]
  • Array [
  • ]
+ +Unauthorized - Returned if the X-Plex-Token is missing from the header or query. + +
Schema
    errors object[]
  • Array [
  • ]
\ No newline at end of file diff --git a/docs/plex-media-server/get-transient-token.api.mdx b/docs/plex-media-server/get-transient-token.api.mdx new file mode 100644 index 0000000..a78ac68 --- /dev/null +++ b/docs/plex-media-server/get-transient-token.api.mdx @@ -0,0 +1,38 @@ +--- +id: get-transient-token +sidebar_label: Get a Transient Token. +hide_title: true +hide_table_of_contents: true +api: {"tags":["Security"],"description":"This endpoint provides the caller with a temporary token with the same access level as the caller's token. These tokens are valid for up to 48 hours and are destroyed if the server instance is restarted.\n","operationId":"getTransientToken","parameters":[{"name":"type","description":"`delegation` - This is the only supported `type` parameter.","in":"query","schema":{"type":"string","enum":["delegation"]},"required":true},{"name":"scope","description":"`all` - This is the only supported `scope` parameter.","in":"query","schema":{"type":"string","enum":["all"]},"required":true}],"responses":{"200":{"description":"A Transient Token"},"401":{"description":"Unauthorized - Returned if the X-Plex-Token is missing from the header or query.","content":{"application/json":{"schema":{"type":"object","properties":{"errors":{"type":"array","items":{"type":"object","properties":{"code":{"type":"number","example":1001},"message":{"type":"string","example":"User could not be authenticated"},"status":{"type":"number","example":401}}}}}}}}}},"method":"get","path":"/security/token","servers":[{"url":"http://{Local IP}:{Port}","variables":{"Local IP":{"default":"10.10.10.47","description":"The Local IP Address of your plex server"},"Port":{"default":"32400","description":"The port to access your plex server"}}},{"url":"https://{Local IP}:{Port}","variables":{"Local IP":{"default":"10.10.10.47","description":"The Local IP Address of your plex server"},"Port":{"default":"32400","description":"The port to access your plex server"}}}],"security":[{"Token":[],"ClientIdentifier":[],"Device":[],"DeviceName":[],"Platform":[],"PlatformVersion":[],"Product":[],"Version":[]}],"securitySchemes":{"Token":{"description":"Plex Authentication Token","type":"apiKey","in":"header","name":"X-Plex-Token"},"ClientIdentifier":{"description":"Plex Authentication Token","type":"apiKey","in":"header","name":"X-Plex-Client-Identifier"},"DeviceName":{"description":"Primary name for the device eg. `Plex Web (Chrome)`","type":"apiKey","in":"header","name":"X-Plex-Device-Name"},"Device":{"description":"The type of device your application is running on\nDevice name and or model number, eg `iPhone3,2`, `Motorola XOOM™`, `LG5200TV`\n","type":"apiKey","in":"header","name":"X-Plex-Device"},"PlatformVersion":{"description":"Operating system version\neg `4.3.1`, `10.6.7`, `3.2`\n","type":"apiKey","in":"header","name":"X-Plex-Platform-Version"},"Platform":{"description":"Platform name \neg: `Web`, `iOS`, `MacOSX`, `Android`, `LG`\n","type":"apiKey","in":"header","name":"X-Plex-Platform"},"Product":{"description":"Plex application name \neg: `Laika`, `Plex Media Server`, `Media Link`\n","type":"apiKey","in":"header","name":"X-Plex-Product"},"Version":{"description":"Plex application version number","type":"apiKey","in":"header","name":"X-Plex-Version"}},"info":{"title":"Plex-API","summary":"A Plex Media Server API Map","description":"An Open API Spec for interacting with Plex.tv and Plex Servers","version":"0.0.3","contact":{"name":"Luke Hagar","url":"https://www.LukeHagar.com","email":"Lukeslakemail@gmail.com"},"license":{"name":"MIT","identifier":"MIT","url":"https://opensource.org/licenses/MIT"}},"postman":{"name":"Get a Transient Token.","description":{"content":"This endpoint provides the caller with a temporary token with the same access level as the caller's token. These tokens are valid for up to 48 hours and are destroyed if the server instance is restarted.\n","type":"text/plain"},"url":{"path":["security","token"],"host":["{{baseUrl}}"],"query":[{"disabled":false,"description":{"content":"(Required) `delegation` - This is the only supported `type` parameter.","type":"text/plain"},"key":"type","value":""},{"disabled":false,"description":{"content":"(Required) `all` - This is the only supported `scope` parameter.","type":"text/plain"},"key":"scope","value":""}],"variable":[]},"header":[{"key":"Accept","value":"application/json"}],"method":"GET"}} +sidebar_class_name: "get api-method" +info_path: docs/plex-media-server/plex-api +--- + +import ApiTabs from "@theme/ApiTabs"; +import DiscriminatorTabs from "@theme/DiscriminatorTabs"; +import MethodEndpoint from "@theme/ApiDemoPanel/MethodEndpoint"; +import MimeTabs from "@theme/MimeTabs"; +import ParamsItem from "@theme/ParamsItem"; +import ResponseSamples from "@theme/ResponseSamples"; +import SchemaItem from "@theme/SchemaItem"; +import SchemaTabs from "@theme/SchemaTabs"; +import TabItem from "@theme/TabItem"; + +

Get a Transient Token.

+ + + + + +This endpoint provides the caller with a temporary token with the same access level as the caller's token. These tokens are valid for up to 48 hours and are destroyed if the server instance is restarted. + + +
Query Parameters
+ +A Transient Token + +
+ +Unauthorized - Returned if the X-Plex-Token is missing from the header or query. + +
Schema
    errors object[]
  • Array [
  • ]
\ No newline at end of file diff --git a/docs/plex-media-server/get-update-status.api.mdx b/docs/plex-media-server/get-update-status.api.mdx new file mode 100644 index 0000000..4588c8b --- /dev/null +++ b/docs/plex-media-server/get-update-status.api.mdx @@ -0,0 +1,37 @@ +--- +id: get-update-status +sidebar_label: Querying status of updates +hide_title: true +hide_table_of_contents: true +api: {"tags":["Updater"],"description":"Querying status of updates","operationId":"getUpdateStatus","responses":{"200":{"description":"The Server Updates"},"401":{"description":"Unauthorized - Returned if the X-Plex-Token is missing from the header or query.","content":{"application/json":{"schema":{"type":"object","properties":{"errors":{"type":"array","items":{"type":"object","properties":{"code":{"type":"number","example":1001},"message":{"type":"string","example":"User could not be authenticated"},"status":{"type":"number","example":401}}}}}}}}}},"method":"get","path":"/updater/status","servers":[{"url":"http://{Local IP}:{Port}","variables":{"Local IP":{"default":"10.10.10.47","description":"The Local IP Address of your plex server"},"Port":{"default":"32400","description":"The port to access your plex server"}}},{"url":"https://{Local IP}:{Port}","variables":{"Local IP":{"default":"10.10.10.47","description":"The Local IP Address of your plex server"},"Port":{"default":"32400","description":"The port to access your plex server"}}}],"security":[{"Token":[],"ClientIdentifier":[],"Device":[],"DeviceName":[],"Platform":[],"PlatformVersion":[],"Product":[],"Version":[]}],"securitySchemes":{"Token":{"description":"Plex Authentication Token","type":"apiKey","in":"header","name":"X-Plex-Token"},"ClientIdentifier":{"description":"Plex Authentication Token","type":"apiKey","in":"header","name":"X-Plex-Client-Identifier"},"DeviceName":{"description":"Primary name for the device eg. `Plex Web (Chrome)`","type":"apiKey","in":"header","name":"X-Plex-Device-Name"},"Device":{"description":"The type of device your application is running on\nDevice name and or model number, eg `iPhone3,2`, `Motorola XOOM™`, `LG5200TV`\n","type":"apiKey","in":"header","name":"X-Plex-Device"},"PlatformVersion":{"description":"Operating system version\neg `4.3.1`, `10.6.7`, `3.2`\n","type":"apiKey","in":"header","name":"X-Plex-Platform-Version"},"Platform":{"description":"Platform name \neg: `Web`, `iOS`, `MacOSX`, `Android`, `LG`\n","type":"apiKey","in":"header","name":"X-Plex-Platform"},"Product":{"description":"Plex application name \neg: `Laika`, `Plex Media Server`, `Media Link`\n","type":"apiKey","in":"header","name":"X-Plex-Product"},"Version":{"description":"Plex application version number","type":"apiKey","in":"header","name":"X-Plex-Version"}},"info":{"title":"Plex-API","summary":"A Plex Media Server API Map","description":"An Open API Spec for interacting with Plex.tv and Plex Servers","version":"0.0.3","contact":{"name":"Luke Hagar","url":"https://www.LukeHagar.com","email":"Lukeslakemail@gmail.com"},"license":{"name":"MIT","identifier":"MIT","url":"https://opensource.org/licenses/MIT"}},"postman":{"name":"Querying status of updates","description":{"content":"Querying status of updates","type":"text/plain"},"url":{"path":["updater","status"],"host":["{{baseUrl}}"],"query":[],"variable":[]},"header":[{"key":"Accept","value":"application/json"}],"method":"GET"}} +sidebar_class_name: "get api-method" +info_path: docs/plex-media-server/plex-api +--- + +import ApiTabs from "@theme/ApiTabs"; +import DiscriminatorTabs from "@theme/DiscriminatorTabs"; +import MethodEndpoint from "@theme/ApiDemoPanel/MethodEndpoint"; +import MimeTabs from "@theme/MimeTabs"; +import ParamsItem from "@theme/ParamsItem"; +import ResponseSamples from "@theme/ResponseSamples"; +import SchemaItem from "@theme/SchemaItem"; +import SchemaTabs from "@theme/SchemaTabs"; +import TabItem from "@theme/TabItem"; + +

Querying status of updates

+ + + + + +Querying status of updates + +
+ +The Server Updates + +
+ +Unauthorized - Returned if the X-Plex-Token is missing from the header or query. + +
Schema
    errors object[]
  • Array [
  • ]
\ No newline at end of file diff --git a/docs/plex-media-server/hubs.tag.mdx b/docs/plex-media-server/hubs.tag.mdx new file mode 100644 index 0000000..8c0f774 --- /dev/null +++ b/docs/plex-media-server/hubs.tag.mdx @@ -0,0 +1,21 @@ +--- +id: hubs +title: "Hubs" +description: "Hubs" +custom_edit_url: null +--- + + + +Hubs are a structured two-dimensional container for media, generally represented by multiple horizontal rows. + + + + +```mdx-code-block +import DocCardList from '@theme/DocCardList'; +import {useCurrentSidebarCategory} from '@docusaurus/theme-common'; + + +``` + \ No newline at end of file diff --git a/docs/plex-media-server/library.tag.mdx b/docs/plex-media-server/library.tag.mdx new file mode 100644 index 0000000..ed01cf7 --- /dev/null +++ b/docs/plex-media-server/library.tag.mdx @@ -0,0 +1,21 @@ +--- +id: library +title: "Library" +description: "Library" +custom_edit_url: null +--- + + + +API Calls interacting with Plex Media Server Libraries + + + + +```mdx-code-block +import DocCardList from '@theme/DocCardList'; +import {useCurrentSidebarCategory} from '@docusaurus/theme-common'; + + +``` + \ No newline at end of file diff --git a/docs/plex-media-server/log-line.api.mdx b/docs/plex-media-server/log-line.api.mdx new file mode 100644 index 0000000..e267116 --- /dev/null +++ b/docs/plex-media-server/log-line.api.mdx @@ -0,0 +1,38 @@ +--- +id: log-line +sidebar_label: Logging a single line message. +hide_title: true +hide_table_of_contents: true +api: {"tags":["Log"],"description":"This endpoint will write a single-line log message, including a level and source to the main Plex Media Server log.\n","operationId":"logLine","parameters":[{"name":"level","description":"An integer log level to write to the PMS log with. \n0: Error \n1: Warning \n2: Info \n3: Debug \n4: Verbose\n","in":"query","schema":{"type":"number","enum":[0,1,2,3,4]},"required":true},{"name":"message","description":"The text of the message to write to the log.","in":"query","schema":{"type":"string","example":""},"required":true},{"name":"source","description":"a string indicating the source of the message.","in":"query","schema":{"type":"string","example":""},"required":true}],"responses":{"200":{"description":"Log Line submitted successfully"},"401":{"description":"Unauthorized - Returned if the X-Plex-Token is missing from the header or query.","content":{"application/json":{"schema":{"type":"object","properties":{"errors":{"type":"array","items":{"type":"object","properties":{"code":{"type":"number","example":1001},"message":{"type":"string","example":"User could not be authenticated"},"status":{"type":"number","example":401}}}}}}}}}},"method":"get","path":"/log","servers":[{"url":"http://{Local IP}:{Port}","variables":{"Local IP":{"default":"10.10.10.47","description":"The Local IP Address of your plex server"},"Port":{"default":"32400","description":"The port to access your plex server"}}},{"url":"https://{Local IP}:{Port}","variables":{"Local IP":{"default":"10.10.10.47","description":"The Local IP Address of your plex server"},"Port":{"default":"32400","description":"The port to access your plex server"}}}],"security":[{"Token":[],"ClientIdentifier":[],"Device":[],"DeviceName":[],"Platform":[],"PlatformVersion":[],"Product":[],"Version":[]}],"securitySchemes":{"Token":{"description":"Plex Authentication Token","type":"apiKey","in":"header","name":"X-Plex-Token"},"ClientIdentifier":{"description":"Plex Authentication Token","type":"apiKey","in":"header","name":"X-Plex-Client-Identifier"},"DeviceName":{"description":"Primary name for the device eg. `Plex Web (Chrome)`","type":"apiKey","in":"header","name":"X-Plex-Device-Name"},"Device":{"description":"The type of device your application is running on\nDevice name and or model number, eg `iPhone3,2`, `Motorola XOOM™`, `LG5200TV`\n","type":"apiKey","in":"header","name":"X-Plex-Device"},"PlatformVersion":{"description":"Operating system version\neg `4.3.1`, `10.6.7`, `3.2`\n","type":"apiKey","in":"header","name":"X-Plex-Platform-Version"},"Platform":{"description":"Platform name \neg: `Web`, `iOS`, `MacOSX`, `Android`, `LG`\n","type":"apiKey","in":"header","name":"X-Plex-Platform"},"Product":{"description":"Plex application name \neg: `Laika`, `Plex Media Server`, `Media Link`\n","type":"apiKey","in":"header","name":"X-Plex-Product"},"Version":{"description":"Plex application version number","type":"apiKey","in":"header","name":"X-Plex-Version"}},"info":{"title":"Plex-API","summary":"A Plex Media Server API Map","description":"An Open API Spec for interacting with Plex.tv and Plex Servers","version":"0.0.3","contact":{"name":"Luke Hagar","url":"https://www.LukeHagar.com","email":"Lukeslakemail@gmail.com"},"license":{"name":"MIT","identifier":"MIT","url":"https://opensource.org/licenses/MIT"}},"postman":{"name":"Logging a single line message.","description":{"content":"This endpoint will write a single-line log message, including a level and source to the main Plex Media Server log.\n","type":"text/plain"},"url":{"path":["log"],"host":["{{baseUrl}}"],"query":[{"disabled":false,"description":{"content":"(Required) An integer log level to write to the PMS log with. \n0: Error \n1: Warning \n2: Info \n3: Debug \n4: Verbose\n","type":"text/plain"},"key":"level","value":""},{"disabled":false,"description":{"content":"(Required) The text of the message to write to the log.","type":"text/plain"},"key":"message","value":""},{"disabled":false,"description":{"content":"(Required) a string indicating the source of the message.","type":"text/plain"},"key":"source","value":""}],"variable":[]},"header":[{"key":"Accept","value":"application/json"}],"method":"GET"}} +sidebar_class_name: "get api-method" +info_path: docs/plex-media-server/plex-api +--- + +import ApiTabs from "@theme/ApiTabs"; +import DiscriminatorTabs from "@theme/DiscriminatorTabs"; +import MethodEndpoint from "@theme/ApiDemoPanel/MethodEndpoint"; +import MimeTabs from "@theme/MimeTabs"; +import ParamsItem from "@theme/ParamsItem"; +import ResponseSamples from "@theme/ResponseSamples"; +import SchemaItem from "@theme/SchemaItem"; +import SchemaTabs from "@theme/SchemaTabs"; +import TabItem from "@theme/TabItem"; + +

Logging a single line message.

+ + + + + +This endpoint will write a single-line log message, including a level and source to the main Plex Media Server log. + + +
Query Parameters
+ +Log Line submitted successfully + +
+ +Unauthorized - Returned if the X-Plex-Token is missing from the header or query. + +
Schema
    errors object[]
  • Array [
  • ]
\ No newline at end of file diff --git a/docs/plex-media-server/log-multi-line.api.mdx b/docs/plex-media-server/log-multi-line.api.mdx new file mode 100644 index 0000000..e6e9618 --- /dev/null +++ b/docs/plex-media-server/log-multi-line.api.mdx @@ -0,0 +1,38 @@ +--- +id: log-multi-line +sidebar_label: Logging a multi-line message +hide_title: true +hide_table_of_contents: true +api: {"tags":["Log"],"description":"This endpoint will write multiple lines to the main Plex Media Server log in a single request. It takes a set of query strings as would normally sent to the above GET endpoint as a linefeed-separated block of POST data. The parameters for each query string match as above.\n","operationId":"logMultiLine","responses":{"200":{"description":"Multi-Line Log Message Posted successfully"},"401":{"description":"Unauthorized - Returned if the X-Plex-Token is missing from the header or query.","content":{"application/json":{"schema":{"type":"object","properties":{"errors":{"type":"array","items":{"type":"object","properties":{"code":{"type":"number","example":1001},"message":{"type":"string","example":"User could not be authenticated"},"status":{"type":"number","example":401}}}}}}}}}},"method":"post","path":"/log","servers":[{"url":"http://{Local IP}:{Port}","variables":{"Local IP":{"default":"10.10.10.47","description":"The Local IP Address of your plex server"},"Port":{"default":"32400","description":"The port to access your plex server"}}},{"url":"https://{Local IP}:{Port}","variables":{"Local IP":{"default":"10.10.10.47","description":"The Local IP Address of your plex server"},"Port":{"default":"32400","description":"The port to access your plex server"}}}],"security":[{"Token":[],"ClientIdentifier":[],"Device":[],"DeviceName":[],"Platform":[],"PlatformVersion":[],"Product":[],"Version":[]}],"securitySchemes":{"Token":{"description":"Plex Authentication Token","type":"apiKey","in":"header","name":"X-Plex-Token"},"ClientIdentifier":{"description":"Plex Authentication Token","type":"apiKey","in":"header","name":"X-Plex-Client-Identifier"},"DeviceName":{"description":"Primary name for the device eg. `Plex Web (Chrome)`","type":"apiKey","in":"header","name":"X-Plex-Device-Name"},"Device":{"description":"The type of device your application is running on\nDevice name and or model number, eg `iPhone3,2`, `Motorola XOOM™`, `LG5200TV`\n","type":"apiKey","in":"header","name":"X-Plex-Device"},"PlatformVersion":{"description":"Operating system version\neg `4.3.1`, `10.6.7`, `3.2`\n","type":"apiKey","in":"header","name":"X-Plex-Platform-Version"},"Platform":{"description":"Platform name \neg: `Web`, `iOS`, `MacOSX`, `Android`, `LG`\n","type":"apiKey","in":"header","name":"X-Plex-Platform"},"Product":{"description":"Plex application name \neg: `Laika`, `Plex Media Server`, `Media Link`\n","type":"apiKey","in":"header","name":"X-Plex-Product"},"Version":{"description":"Plex application version number","type":"apiKey","in":"header","name":"X-Plex-Version"}},"info":{"title":"Plex-API","summary":"A Plex Media Server API Map","description":"An Open API Spec for interacting with Plex.tv and Plex Servers","version":"0.0.3","contact":{"name":"Luke Hagar","url":"https://www.LukeHagar.com","email":"Lukeslakemail@gmail.com"},"license":{"name":"MIT","identifier":"MIT","url":"https://opensource.org/licenses/MIT"}},"postman":{"name":"Logging a multi-line message","description":{"content":"This endpoint will write multiple lines to the main Plex Media Server log in a single request. It takes a set of query strings as would normally sent to the above GET endpoint as a linefeed-separated block of POST data. The parameters for each query string match as above.\n","type":"text/plain"},"url":{"path":["log"],"host":["{{baseUrl}}"],"query":[],"variable":[]},"header":[{"key":"Accept","value":"application/json"}],"method":"POST"}} +sidebar_class_name: "post api-method" +info_path: docs/plex-media-server/plex-api +--- + +import ApiTabs from "@theme/ApiTabs"; +import DiscriminatorTabs from "@theme/DiscriminatorTabs"; +import MethodEndpoint from "@theme/ApiDemoPanel/MethodEndpoint"; +import MimeTabs from "@theme/MimeTabs"; +import ParamsItem from "@theme/ParamsItem"; +import ResponseSamples from "@theme/ResponseSamples"; +import SchemaItem from "@theme/SchemaItem"; +import SchemaTabs from "@theme/SchemaTabs"; +import TabItem from "@theme/TabItem"; + +

Logging a multi-line message

+ + + + + +This endpoint will write multiple lines to the main Plex Media Server log in a single request. It takes a set of query strings as would normally sent to the above GET endpoint as a linefeed-separated block of POST data. The parameters for each query string match as above. + + +
+ +Multi-Line Log Message Posted successfully + +
+ +Unauthorized - Returned if the X-Plex-Token is missing from the header or query. + +
Schema
    errors object[]
  • Array [
  • ]
\ No newline at end of file diff --git a/docs/plex-media-server/log.tag.mdx b/docs/plex-media-server/log.tag.mdx new file mode 100644 index 0000000..1885442 --- /dev/null +++ b/docs/plex-media-server/log.tag.mdx @@ -0,0 +1,21 @@ +--- +id: log +title: "Log" +description: "Log" +custom_edit_url: null +--- + + + +Submit logs to the Log Handler for Plex Media Server + + + + +```mdx-code-block +import DocCardList from '@theme/DocCardList'; +import {useCurrentSidebarCategory} from '@docusaurus/theme-common'; + + +``` + \ No newline at end of file diff --git a/docs/plex-media-server/perform-search.api.mdx b/docs/plex-media-server/perform-search.api.mdx new file mode 100644 index 0000000..4d6b2ee --- /dev/null +++ b/docs/plex-media-server/perform-search.api.mdx @@ -0,0 +1,49 @@ +--- +id: perform-search +sidebar_label: Perform a search +hide_title: true +hide_table_of_contents: true +api: {"tags":["Search"],"operationId":"performSearch","description":"This endpoint performs a search across all library sections, or a single section, and returns matches as hubs, split up by type. It performs spell checking, looks for partial matches, and orders the hubs based on quality of results. In addition, based on matches, it will return other related matches (e.g. for a genre match, it may return movies in that genre, or for an actor match, movies with that actor).\n\nIn the response's items, the following extra attributes are returned to further describe or disambiguate the result:\n\n- `reason`: The reason for the result, if not because of a direct search term match; can be either:\n - `section`: There are multiple identical results from different sections.\n - `originalTitle`: There was a search term match from the original title field (sometimes those can be very different or in a foreign language).\n - ``: If the reason for the result is due to a result in another hub, the source hub identifier is returned. For example, if the search is for \"dylan\" then Bob Dylan may be returned as an artist result, an a few of his albums returned as album results with a reason code of `artist` (the identifier of that particular hub). Or if the search is for \"arnold\", there might be movie results returned with a reason of `actor`\n- `reasonTitle`: The string associated with the reason code. For a section reason, it'll be the section name; For a hub identifier, it'll be a string associated with the match (e.g. `Arnold Schwarzenegger` for movies which were returned because the search was for \"arnold\").\n- `reasonID`: The ID of the item associated with the reason for the result. This might be a section ID, a tag ID, an artist ID, or a show ID.\n\nThis request is intended to be very fast, and called as the user types.\n","parameters":[{"name":"query","description":"The query term","in":"query","schema":{"type":"string","example":["arnold","dylan"]},"required":true},{"name":"sectionId","description":"This gives context to the search, and can result in re-ordering of search result hubs","in":"query","schema":{"type":"number"},"required":false},{"name":"limit","description":"The number of items to return per hub","in":"query","schema":{"type":"number","example":5,"default":3}}],"responses":{"200":{"description":"The search results"},"401":{"description":"Unauthorized - Returned if the X-Plex-Token is missing from the header or query.","content":{"application/json":{"schema":{"type":"object","properties":{"errors":{"type":"array","items":{"type":"object","properties":{"code":{"type":"number","example":1001},"message":{"type":"string","example":"User could not be authenticated"},"status":{"type":"number","example":401}}}}}}}}}},"method":"get","path":"/hubs/search","servers":[{"url":"http://{Local IP}:{Port}","variables":{"Local IP":{"default":"10.10.10.47","description":"The Local IP Address of your plex server"},"Port":{"default":"32400","description":"The port to access your plex server"}}},{"url":"https://{Local IP}:{Port}","variables":{"Local IP":{"default":"10.10.10.47","description":"The Local IP Address of your plex server"},"Port":{"default":"32400","description":"The port to access your plex server"}}}],"security":[{"Token":[],"ClientIdentifier":[],"Device":[],"DeviceName":[],"Platform":[],"PlatformVersion":[],"Product":[],"Version":[]}],"securitySchemes":{"Token":{"description":"Plex Authentication Token","type":"apiKey","in":"header","name":"X-Plex-Token"},"ClientIdentifier":{"description":"Plex Authentication Token","type":"apiKey","in":"header","name":"X-Plex-Client-Identifier"},"DeviceName":{"description":"Primary name for the device eg. `Plex Web (Chrome)`","type":"apiKey","in":"header","name":"X-Plex-Device-Name"},"Device":{"description":"The type of device your application is running on\nDevice name and or model number, eg `iPhone3,2`, `Motorola XOOM™`, `LG5200TV`\n","type":"apiKey","in":"header","name":"X-Plex-Device"},"PlatformVersion":{"description":"Operating system version\neg `4.3.1`, `10.6.7`, `3.2`\n","type":"apiKey","in":"header","name":"X-Plex-Platform-Version"},"Platform":{"description":"Platform name \neg: `Web`, `iOS`, `MacOSX`, `Android`, `LG`\n","type":"apiKey","in":"header","name":"X-Plex-Platform"},"Product":{"description":"Plex application name \neg: `Laika`, `Plex Media Server`, `Media Link`\n","type":"apiKey","in":"header","name":"X-Plex-Product"},"Version":{"description":"Plex application version number","type":"apiKey","in":"header","name":"X-Plex-Version"}},"info":{"title":"Plex-API","summary":"A Plex Media Server API Map","description":"An Open API Spec for interacting with Plex.tv and Plex Servers","version":"0.0.3","contact":{"name":"Luke Hagar","url":"https://www.LukeHagar.com","email":"Lukeslakemail@gmail.com"},"license":{"name":"MIT","identifier":"MIT","url":"https://opensource.org/licenses/MIT"}},"postman":{"name":"Perform a search","description":{"content":"This endpoint performs a search across all library sections, or a single section, and returns matches as hubs, split up by type. It performs spell checking, looks for partial matches, and orders the hubs based on quality of results. In addition, based on matches, it will return other related matches (e.g. for a genre match, it may return movies in that genre, or for an actor match, movies with that actor).\n\nIn the response's items, the following extra attributes are returned to further describe or disambiguate the result:\n\n- `reason`: The reason for the result, if not because of a direct search term match; can be either:\n - `section`: There are multiple identical results from different sections.\n - `originalTitle`: There was a search term match from the original title field (sometimes those can be very different or in a foreign language).\n - ``: If the reason for the result is due to a result in another hub, the source hub identifier is returned. For example, if the search is for \"dylan\" then Bob Dylan may be returned as an artist result, an a few of his albums returned as album results with a reason code of `artist` (the identifier of that particular hub). Or if the search is for \"arnold\", there might be movie results returned with a reason of `actor`\n- `reasonTitle`: The string associated with the reason code. For a section reason, it'll be the section name; For a hub identifier, it'll be a string associated with the match (e.g. `Arnold Schwarzenegger` for movies which were returned because the search was for \"arnold\").\n- `reasonID`: The ID of the item associated with the reason for the result. This might be a section ID, a tag ID, an artist ID, or a show ID.\n\nThis request is intended to be very fast, and called as the user types.\n","type":"text/plain"},"url":{"path":["hubs","search"],"host":["{{baseUrl}}"],"query":[{"disabled":false,"description":{"content":"(Required) The query term","type":"text/plain"},"key":"query","value":""},{"disabled":false,"description":{"content":"This gives context to the search, and can result in re-ordering of search result hubs","type":"text/plain"},"key":"sectionId","value":""},{"disabled":false,"description":{"content":"The number of items to return per hub","type":"text/plain"},"key":"limit","value":""}],"variable":[]},"header":[{"key":"Accept","value":"application/json"}],"method":"GET"}} +sidebar_class_name: "get api-method" +info_path: docs/plex-media-server/plex-api +--- + +import ApiTabs from "@theme/ApiTabs"; +import DiscriminatorTabs from "@theme/DiscriminatorTabs"; +import MethodEndpoint from "@theme/ApiDemoPanel/MethodEndpoint"; +import MimeTabs from "@theme/MimeTabs"; +import ParamsItem from "@theme/ParamsItem"; +import ResponseSamples from "@theme/ResponseSamples"; +import SchemaItem from "@theme/SchemaItem"; +import SchemaTabs from "@theme/SchemaTabs"; +import TabItem from "@theme/TabItem"; + +

Perform a search

+ + + + + +This endpoint performs a search across all library sections, or a single section, and returns matches as hubs, split up by type. It performs spell checking, looks for partial matches, and orders the hubs based on quality of results. In addition, based on matches, it will return other related matches (e.g. for a genre match, it may return movies in that genre, or for an actor match, movies with that actor). + +In the response's items, the following extra attributes are returned to further describe or disambiguate the result: + +- `reason`: The reason for the result, if not because of a direct search term match; can be either: + - `section`: There are multiple identical results from different sections. + - `originalTitle`: There was a search term match from the original title field (sometimes those can be very different or in a foreign language). + - ``: If the reason for the result is due to a result in another hub, the source hub identifier is returned. For example, if the search is for "dylan" then Bob Dylan may be returned as an artist result, an a few of his albums returned as album results with a reason code of `artist` (the identifier of that particular hub). Or if the search is for "arnold", there might be movie results returned with a reason of `actor` +- `reasonTitle`: The string associated with the reason code. For a section reason, it'll be the section name; For a hub identifier, it'll be a string associated with the match (e.g. `Arnold Schwarzenegger` for movies which were returned because the search was for "arnold"). +- `reasonID`: The ID of the item associated with the reason for the result. This might be a section ID, a tag ID, an artist ID, or a show ID. + +This request is intended to be very fast, and called as the user types. + + +
Query Parameters
+ +The search results + +
+ +Unauthorized - Returned if the X-Plex-Token is missing from the header or query. + +
Schema
    errors object[]
  • Array [
  • ]
\ No newline at end of file diff --git a/docs/plex-media-server/perform-voice-search.api.mdx b/docs/plex-media-server/perform-voice-search.api.mdx new file mode 100644 index 0000000..76768a9 --- /dev/null +++ b/docs/plex-media-server/perform-voice-search.api.mdx @@ -0,0 +1,41 @@ +--- +id: perform-voice-search +sidebar_label: Perform a voice search +hide_title: true +hide_table_of_contents: true +api: {"tags":["Search"],"operationId":"performVoiceSearch","description":"This endpoint performs a search specifically tailored towards voice or other imprecise input which may work badly with the substring and spell-checking heuristics used by the `/hubs/search` endpoint. \nIt uses a [Levenshtein distance](https://en.wikipedia.org/wiki/Levenshtein_distance) heuristic to search titles, and as such is much slower than the other search endpoint. \nWhenever possible, clients should limit the search to the appropriate type. \nResults, as well as their containing per-type hubs, contain a `distance` attribute which can be used to judge result quality.\n","parameters":[{"name":"query","description":"The query term","in":"query","schema":{"type":"string","example":["dead+poop"]},"required":true},{"name":"sectionId","description":"This gives context to the search, and can result in re-ordering of search result hubs","in":"query","schema":{"type":"number"},"required":false},{"name":"limit","description":"The number of items to return per hub","in":"query","schema":{"type":"number","example":5,"default":3},"required":false}],"responses":{"200":{"description":"The search results"},"401":{"description":"Unauthorized - Returned if the X-Plex-Token is missing from the header or query.","content":{"application/json":{"schema":{"type":"object","properties":{"errors":{"type":"array","items":{"type":"object","properties":{"code":{"type":"number","example":1001},"message":{"type":"string","example":"User could not be authenticated"},"status":{"type":"number","example":401}}}}}}}}}},"method":"get","path":"/hubs/search/voice","servers":[{"url":"http://{Local IP}:{Port}","variables":{"Local IP":{"default":"10.10.10.47","description":"The Local IP Address of your plex server"},"Port":{"default":"32400","description":"The port to access your plex server"}}},{"url":"https://{Local IP}:{Port}","variables":{"Local IP":{"default":"10.10.10.47","description":"The Local IP Address of your plex server"},"Port":{"default":"32400","description":"The port to access your plex server"}}}],"security":[{"Token":[],"ClientIdentifier":[],"Device":[],"DeviceName":[],"Platform":[],"PlatformVersion":[],"Product":[],"Version":[]}],"securitySchemes":{"Token":{"description":"Plex Authentication Token","type":"apiKey","in":"header","name":"X-Plex-Token"},"ClientIdentifier":{"description":"Plex Authentication Token","type":"apiKey","in":"header","name":"X-Plex-Client-Identifier"},"DeviceName":{"description":"Primary name for the device eg. `Plex Web (Chrome)`","type":"apiKey","in":"header","name":"X-Plex-Device-Name"},"Device":{"description":"The type of device your application is running on\nDevice name and or model number, eg `iPhone3,2`, `Motorola XOOM™`, `LG5200TV`\n","type":"apiKey","in":"header","name":"X-Plex-Device"},"PlatformVersion":{"description":"Operating system version\neg `4.3.1`, `10.6.7`, `3.2`\n","type":"apiKey","in":"header","name":"X-Plex-Platform-Version"},"Platform":{"description":"Platform name \neg: `Web`, `iOS`, `MacOSX`, `Android`, `LG`\n","type":"apiKey","in":"header","name":"X-Plex-Platform"},"Product":{"description":"Plex application name \neg: `Laika`, `Plex Media Server`, `Media Link`\n","type":"apiKey","in":"header","name":"X-Plex-Product"},"Version":{"description":"Plex application version number","type":"apiKey","in":"header","name":"X-Plex-Version"}},"info":{"title":"Plex-API","summary":"A Plex Media Server API Map","description":"An Open API Spec for interacting with Plex.tv and Plex Servers","version":"0.0.3","contact":{"name":"Luke Hagar","url":"https://www.LukeHagar.com","email":"Lukeslakemail@gmail.com"},"license":{"name":"MIT","identifier":"MIT","url":"https://opensource.org/licenses/MIT"}},"postman":{"name":"Perform a voice search","description":{"content":"This endpoint performs a search specifically tailored towards voice or other imprecise input which may work badly with the substring and spell-checking heuristics used by the `/hubs/search` endpoint. \nIt uses a [Levenshtein distance](https://en.wikipedia.org/wiki/Levenshtein_distance) heuristic to search titles, and as such is much slower than the other search endpoint. \nWhenever possible, clients should limit the search to the appropriate type. \nResults, as well as their containing per-type hubs, contain a `distance` attribute which can be used to judge result quality.\n","type":"text/plain"},"url":{"path":["hubs","search","voice"],"host":["{{baseUrl}}"],"query":[{"disabled":false,"description":{"content":"(Required) The query term","type":"text/plain"},"key":"query","value":""},{"disabled":false,"description":{"content":"This gives context to the search, and can result in re-ordering of search result hubs","type":"text/plain"},"key":"sectionId","value":""},{"disabled":false,"description":{"content":"The number of items to return per hub","type":"text/plain"},"key":"limit","value":""}],"variable":[]},"header":[{"key":"Accept","value":"application/json"}],"method":"GET"}} +sidebar_class_name: "get api-method" +info_path: docs/plex-media-server/plex-api +--- + +import ApiTabs from "@theme/ApiTabs"; +import DiscriminatorTabs from "@theme/DiscriminatorTabs"; +import MethodEndpoint from "@theme/ApiDemoPanel/MethodEndpoint"; +import MimeTabs from "@theme/MimeTabs"; +import ParamsItem from "@theme/ParamsItem"; +import ResponseSamples from "@theme/ResponseSamples"; +import SchemaItem from "@theme/SchemaItem"; +import SchemaTabs from "@theme/SchemaTabs"; +import TabItem from "@theme/TabItem"; + +

Perform a voice search

+ + + + + +This endpoint performs a search specifically tailored towards voice or other imprecise input which may work badly with the substring and spell-checking heuristics used by the `/hubs/search` endpoint. +It uses a [Levenshtein distance](https://en.wikipedia.org/wiki/Levenshtein_distance) heuristic to search titles, and as such is much slower than the other search endpoint. +Whenever possible, clients should limit the search to the appropriate type. +Results, as well as their containing per-type hubs, contain a `distance` attribute which can be used to judge result quality. + + +
Query Parameters
+ +The search results + +
+ +Unauthorized - Returned if the X-Plex-Token is missing from the header or query. + +
Schema
    errors object[]
  • Array [
  • ]
\ No newline at end of file diff --git a/docs/plex-media-server/playlists.tag.mdx b/docs/plex-media-server/playlists.tag.mdx new file mode 100644 index 0000000..b80d88e --- /dev/null +++ b/docs/plex-media-server/playlists.tag.mdx @@ -0,0 +1,24 @@ +--- +id: playlists +title: "Playlists" +description: "Playlists" +custom_edit_url: null +--- + + + +Playlists are ordered collections of media. They can be dumb (just a list of media) or smart (based on a media query, such as "all albums from 2017"). +They can be organized in (optionally nesting) folders. +Retrieving a playlist, or its items, will trigger a refresh of its metadata. +This may cause the duration and number of items to change. + + + + +```mdx-code-block +import DocCardList from '@theme/DocCardList'; +import {useCurrentSidebarCategory} from '@docusaurus/theme-common'; + + +``` + \ No newline at end of file diff --git a/docs/plex-media-server/plex-api.info.mdx b/docs/plex-media-server/plex-api.info.mdx new file mode 100644 index 0000000..b7d6d1f --- /dev/null +++ b/docs/plex-media-server/plex-api.info.mdx @@ -0,0 +1,63 @@ +--- +id: plex-api +sidebar_label: Introduction +sidebar_position: 0 +hide_title: true +--- + +import ApiLogo from "@theme/ApiLogo"; +import SchemaTabs from "@theme/SchemaTabs"; +import TabItem from "@theme/TabItem"; +import Export from "@theme/ApiDemoPanel/Export"; + +Version: 0.0.3 + + + +

Plex-API

+ + + +An Open API Spec for interacting with Plex.tv and Plex Servers + +

Authentication

+ +Plex Authentication Token + +
Security Scheme Type:apiKey
Header parameter name:X-Plex-Token
+ +Plex Authentication Token + +
Security Scheme Type:apiKey
Header parameter name:X-Plex-Client-Identifier
+ +Primary name for the device eg. `Plex Web (Chrome)` + +
Security Scheme Type:apiKey
Header parameter name:X-Plex-Device-Name
+ +The type of device your application is running on +Device name and or model number, eg `iPhone3,2`, `Motorola XOOM™`, `LG5200TV` + + +
Security Scheme Type:apiKey
Header parameter name:X-Plex-Device
+ +Operating system version +eg `4.3.1`, `10.6.7`, `3.2` + + +
Security Scheme Type:apiKey
Header parameter name:X-Plex-Platform-Version
+ +Platform name +eg: `Web`, `iOS`, `MacOSX`, `Android`, `LG` + + +
Security Scheme Type:apiKey
Header parameter name:X-Plex-Platform
+ +Plex application name +eg: `Laika`, `Plex Media Server`, `Media Link` + + +
Security Scheme Type:apiKey
Header parameter name:X-Plex-Product
+ +Plex application version number + +
Security Scheme Type:apiKey
Header parameter name:X-Plex-Version

License

MIT
\ No newline at end of file diff --git a/docs/plex-media-server/refresh-library.api.mdx b/docs/plex-media-server/refresh-library.api.mdx new file mode 100644 index 0000000..97c6a18 --- /dev/null +++ b/docs/plex-media-server/refresh-library.api.mdx @@ -0,0 +1,38 @@ +--- +id: refresh-library +sidebar_label: Refresh Library +hide_title: true +hide_table_of_contents: true +api: {"tags":["Library"],"description":"This endpoint Refreshes the library.\n","operationId":"refreshLibrary","parameters":[{"name":"sectionId","description":"the Id of the library to refresh","in":"path","schema":{"type":"number"},"required":true}],"responses":{"200":{"description":"The library is refreshing"},"401":{"description":"Unauthorized - Returned if the X-Plex-Token is missing from the header or query.","content":{"application/json":{"schema":{"type":"object","properties":{"errors":{"type":"array","items":{"type":"object","properties":{"code":{"type":"number","example":1001},"message":{"type":"string","example":"User could not be authenticated"},"status":{"type":"number","example":401}}}}}}}}}},"method":"get","path":"/library/sections/{sectionId}/refresh","servers":[{"url":"http://{Local IP}:{Port}","variables":{"Local IP":{"default":"10.10.10.47","description":"The Local IP Address of your plex server"},"Port":{"default":"32400","description":"The port to access your plex server"}}},{"url":"https://{Local IP}:{Port}","variables":{"Local IP":{"default":"10.10.10.47","description":"The Local IP Address of your plex server"},"Port":{"default":"32400","description":"The port to access your plex server"}}}],"security":[{"Token":[],"ClientIdentifier":[],"Device":[],"DeviceName":[],"Platform":[],"PlatformVersion":[],"Product":[],"Version":[]}],"securitySchemes":{"Token":{"description":"Plex Authentication Token","type":"apiKey","in":"header","name":"X-Plex-Token"},"ClientIdentifier":{"description":"Plex Authentication Token","type":"apiKey","in":"header","name":"X-Plex-Client-Identifier"},"DeviceName":{"description":"Primary name for the device eg. `Plex Web (Chrome)`","type":"apiKey","in":"header","name":"X-Plex-Device-Name"},"Device":{"description":"The type of device your application is running on\nDevice name and or model number, eg `iPhone3,2`, `Motorola XOOM™`, `LG5200TV`\n","type":"apiKey","in":"header","name":"X-Plex-Device"},"PlatformVersion":{"description":"Operating system version\neg `4.3.1`, `10.6.7`, `3.2`\n","type":"apiKey","in":"header","name":"X-Plex-Platform-Version"},"Platform":{"description":"Platform name \neg: `Web`, `iOS`, `MacOSX`, `Android`, `LG`\n","type":"apiKey","in":"header","name":"X-Plex-Platform"},"Product":{"description":"Plex application name \neg: `Laika`, `Plex Media Server`, `Media Link`\n","type":"apiKey","in":"header","name":"X-Plex-Product"},"Version":{"description":"Plex application version number","type":"apiKey","in":"header","name":"X-Plex-Version"}},"info":{"title":"Plex-API","summary":"A Plex Media Server API Map","description":"An Open API Spec for interacting with Plex.tv and Plex Servers","version":"0.0.3","contact":{"name":"Luke Hagar","url":"https://www.LukeHagar.com","email":"Lukeslakemail@gmail.com"},"license":{"name":"MIT","identifier":"MIT","url":"https://opensource.org/licenses/MIT"}},"postman":{"name":"Refresh Library","description":{"content":"This endpoint Refreshes the library.\n","type":"text/plain"},"url":{"path":["library","sections",":sectionId","refresh"],"host":["{{baseUrl}}"],"query":[],"variable":[{"disabled":false,"description":{"content":"(Required) the Id of the library to refresh","type":"text/plain"},"type":"any","value":"","key":"sectionId"}]},"header":[{"key":"Accept","value":"application/json"}],"method":"GET"}} +sidebar_class_name: "get api-method" +info_path: docs/plex-media-server/plex-api +--- + +import ApiTabs from "@theme/ApiTabs"; +import DiscriminatorTabs from "@theme/DiscriminatorTabs"; +import MethodEndpoint from "@theme/ApiDemoPanel/MethodEndpoint"; +import MimeTabs from "@theme/MimeTabs"; +import ParamsItem from "@theme/ParamsItem"; +import ResponseSamples from "@theme/ResponseSamples"; +import SchemaItem from "@theme/SchemaItem"; +import SchemaTabs from "@theme/SchemaTabs"; +import TabItem from "@theme/TabItem"; + +

Refresh Library

+ + + + + +This endpoint Refreshes the library. + + +
Path Parameters
+ +The library is refreshing + +
+ +Unauthorized - Returned if the X-Plex-Token is missing from the header or query. + +
Schema
    errors object[]
  • Array [
  • ]
\ No newline at end of file diff --git a/docs/plex-media-server/search.tag.mdx b/docs/plex-media-server/search.tag.mdx new file mode 100644 index 0000000..21f169a --- /dev/null +++ b/docs/plex-media-server/search.tag.mdx @@ -0,0 +1,21 @@ +--- +id: search +title: "Search" +description: "Search" +custom_edit_url: null +--- + + + +API Calls that perform search operations with Plex Media Server + + + + +```mdx-code-block +import DocCardList from '@theme/DocCardList'; +import {useCurrentSidebarCategory} from '@docusaurus/theme-common'; + + +``` + \ No newline at end of file diff --git a/docs/plex-media-server/security.tag.mdx b/docs/plex-media-server/security.tag.mdx new file mode 100644 index 0000000..cf55b27 --- /dev/null +++ b/docs/plex-media-server/security.tag.mdx @@ -0,0 +1,21 @@ +--- +id: security +title: "Security" +description: "Security" +custom_edit_url: null +--- + + + +API Calls against Security for Plex Media Server + + + + +```mdx-code-block +import DocCardList from '@theme/DocCardList'; +import {useCurrentSidebarCategory} from '@docusaurus/theme-common'; + + +``` + \ No newline at end of file diff --git a/docs/plex-media-server/server.tag.mdx b/docs/plex-media-server/server.tag.mdx new file mode 100644 index 0000000..4b37690 --- /dev/null +++ b/docs/plex-media-server/server.tag.mdx @@ -0,0 +1,21 @@ +--- +id: server +title: "Server" +description: "Server" +custom_edit_url: null +--- + + + +Operations against the Plex Media Server System. + + + + +```mdx-code-block +import DocCardList from '@theme/DocCardList'; +import {useCurrentSidebarCategory} from '@docusaurus/theme-common'; + + +``` + \ No newline at end of file diff --git a/docs/plex-media-server/sidebar.js b/docs/plex-media-server/sidebar.js new file mode 100644 index 0000000..759573d --- /dev/null +++ b/docs/plex-media-server/sidebar.js @@ -0,0 +1 @@ +module.exports = [{"type":"doc","id":"plex-media-server/plex-api"},{"type":"category","label":"Activities","link":{"type":"doc","id":"plex-media-server/activities"},"collapsed":false,"items":[{"type":"doc","id":"plex-media-server/get-server-activities","label":"Get Server Activities","className":"api-method get"},{"type":"doc","id":"plex-media-server/cancel-server-activities","label":"Cancel Server Activities","className":"api-method delete"}]},{"type":"category","label":"Butler","link":{"type":"doc","id":"plex-media-server/butler"},"collapsed":false,"items":[{"type":"doc","id":"plex-media-server/get-butler-tasks","label":"Get Butler tasks","className":"api-method get"},{"type":"doc","id":"plex-media-server/start-all-tasks","label":"Start all Butler tasks","className":"api-method post"},{"type":"doc","id":"plex-media-server/stop-all-tasks","label":"Stop all Butler tasks","className":"api-method delete"},{"type":"doc","id":"plex-media-server/start-task","label":"Start a single Butler task","className":"api-method post"},{"type":"doc","id":"plex-media-server/stop-task","label":"Stop a single Butler task","className":"api-method delete"}]},{"type":"category","label":"Server","link":{"type":"doc","id":"plex-media-server/server"},"collapsed":false,"items":[{"type":"doc","id":"plex-media-server/get-server-capabilities","label":"Server Capabilities","className":"api-method get"},{"type":"doc","id":"plex-media-server/get-server-preferences","label":"Get Server Preferences","className":"api-method get"},{"type":"doc","id":"plex-media-server/get-server-identity","label":"Get Server Identity","className":"api-method get"},{"type":"doc","id":"plex-media-server/get-server-list","label":"Get Server List","className":"api-method get"}]},{"type":"category","label":"Updater","link":{"type":"doc","id":"plex-media-server/updater"},"collapsed":false,"items":[{"type":"doc","id":"plex-media-server/get-update-status","label":"Querying status of updates","className":"api-method get"},{"type":"doc","id":"plex-media-server/check-for-updates","label":"Checking for updates","className":"api-method put"},{"type":"doc","id":"plex-media-server/apply-updates","label":"Apply Updates","className":"api-method put"}]},{"type":"category","label":"Log","link":{"type":"doc","id":"plex-media-server/log"},"collapsed":false,"items":[{"type":"doc","id":"plex-media-server/log-line","label":"Logging a single line message.","className":"api-method get"},{"type":"doc","id":"plex-media-server/log-multi-line","label":"Logging a multi-line message","className":"api-method post"},{"type":"doc","id":"plex-media-server/enable-paper-trail","label":"Enabling Papertrail","className":"api-method get"}]},{"type":"category","label":"Security","link":{"type":"doc","id":"plex-media-server/security"},"collapsed":false,"items":[{"type":"doc","id":"plex-media-server/get-transient-token","label":"Get a Transient Token.","className":"api-method get"},{"type":"doc","id":"plex-media-server/get-source-connection-information","label":"Get Source Connection Information","className":"api-method get"}]},{"type":"category","label":"Library","link":{"type":"doc","id":"plex-media-server/library"},"collapsed":false,"items":[{"type":"doc","id":"plex-media-server/get-recently-added","label":"Get Recently Added","className":"api-method get"},{"type":"doc","id":"plex-media-server/get-libraries","label":"Get All Libraries","className":"api-method get"},{"type":"doc","id":"plex-media-server/get-library-details","label":"Get Library Details","className":"api-method get"},{"type":"doc","id":"plex-media-server/get-library-items","label":"Get Library Items","className":"api-method get"},{"type":"doc","id":"plex-media-server/refresh-library","label":"Refresh Library","className":"api-method get"},{"type":"doc","id":"plex-media-server/get-latest-library-items","label":"Get Latest Library Items","className":"api-method get"},{"type":"doc","id":"plex-media-server/get-common-library-items","label":"Get Common Library Items","className":"api-method get"},{"type":"doc","id":"plex-media-server/get-on-deck","label":"Get On Deck","className":"api-method get"}]},{"type":"category","label":"Hubs","link":{"type":"doc","id":"plex-media-server/hubs"},"collapsed":false,"items":[{"type":"doc","id":"plex-media-server/get-global-hubs","label":"Get Global Hubs","className":"api-method get"},{"type":"doc","id":"plex-media-server/get-library-hubs","label":"Get library specific hubs","className":"api-method get"}]},{"type":"category","label":"Playlists","link":{"type":"doc","id":"plex-media-server/playlists"},"collapsed":false,"items":[{"type":"doc","id":"plex-media-server/create-playlist","label":"Create a Playlist","className":"api-method post"},{"type":"doc","id":"plex-media-server/get-playlists","label":"Get All Playlists","className":"api-method get"},{"type":"doc","id":"plex-media-server/get-playlist","label":"Retrieve Playlist","className":"api-method get"},{"type":"doc","id":"plex-media-server/delete-playlist","label":"Deletes a Playlist","className":"api-method delete"},{"type":"doc","id":"plex-media-server/update-playlist","label":"Update a Playlist","className":"api-method put"},{"type":"doc","id":"plex-media-server/get-playlist-contents","label":"Retrieve Playlist Contents","className":"api-method get"},{"type":"doc","id":"plex-media-server/clear-playlist-contents","label":"Delete Playlist Contents","className":"api-method delete"},{"type":"doc","id":"plex-media-server/add-playlist-contents","label":"Adding to a Playlist","className":"api-method put"},{"type":"doc","id":"plex-media-server/upload-playlist","label":"Upload Playlist","className":"api-method post"}]},{"type":"category","label":"Search","link":{"type":"doc","id":"plex-media-server/search"},"collapsed":false,"items":[{"type":"doc","id":"plex-media-server/perform-search","label":"Perform a search","className":"api-method get"},{"type":"doc","id":"plex-media-server/perform-voice-search","label":"Perform a voice search","className":"api-method get"},{"type":"doc","id":"plex-media-server/get-search-results","label":"Get Search Results","className":"api-method get"}]},{"type":"category","label":"Devices","collapsed":false,"items":[{"type":"doc","id":"plex-media-server/get-available-clients","label":"Get Available Clients","className":"api-method get"}]},{"type":"category","label":"Hashes","collapsed":false,"items":[{"type":"doc","id":"plex-media-server/get-file-hash","label":"Get Hash Value","className":"api-method get"}]},{"type":"category","label":"MyPlex","collapsed":false,"items":[{"type":"doc","id":"plex-media-server/get-my-plex-account","label":"Get MyPlex Account","className":"api-method get"}]},{"type":"category","label":"Photos","collapsed":false,"items":[{"type":"doc","id":"plex-media-server/get-resized-photo","label":"Get a Resized Photo","className":"api-method get"}]},{"type":"category","label":"Sessions","collapsed":false,"items":[{"type":"doc","id":"plex-media-server/get-sessions","label":"Get Active Sessions","className":"api-method get"},{"type":"doc","id":"plex-media-server/get-session-history","label":"Get Session History","className":"api-method get"},{"type":"doc","id":"plex-media-server/get-transcode-sessions","label":"Get Transcode Sessions","className":"api-method get"},{"type":"doc","id":"plex-media-server/stop-transcode-session","label":"Stop a Transcode Session","className":"api-method delete"}]}]; \ No newline at end of file diff --git a/docs/plex-media-server/start-all-tasks.api.mdx b/docs/plex-media-server/start-all-tasks.api.mdx new file mode 100644 index 0000000..5968b42 --- /dev/null +++ b/docs/plex-media-server/start-all-tasks.api.mdx @@ -0,0 +1,42 @@ +--- +id: start-all-tasks +sidebar_label: Start all Butler tasks +hide_title: true +hide_table_of_contents: true +api: {"tags":["Butler"],"description":"This endpoint will attempt to start all Butler tasks that are enabled in the settings. Butler tasks normally run automatically during a time window configured on the server's Settings page but can be manually started using this endpoint. Tasks will run with the following criteria:\n1. Any tasks not scheduled to run on the current day will be skipped.\n2. If a task is configured to run at a random time during the configured window and we are outside that window, the task will start immediately.\n3. If a task is configured to run at a random time during the configured window and we are within that window, the task will be scheduled at a random time within the window.\n4. If we are outside the configured window, the task will start immediately.\n","operationId":"startAllTasks","responses":{"200":{"description":"All tasks were started"},"401":{"description":"Unauthorized - Returned if the X-Plex-Token is missing from the header or query.","content":{"application/json":{"schema":{"type":"object","properties":{"errors":{"type":"array","items":{"type":"object","properties":{"code":{"type":"number","example":1001},"message":{"type":"string","example":"User could not be authenticated"},"status":{"type":"number","example":401}}}}}}}}}},"method":"post","path":"/butler","servers":[{"url":"http://{Local IP}:{Port}","variables":{"Local IP":{"default":"10.10.10.47","description":"The Local IP Address of your plex server"},"Port":{"default":"32400","description":"The port to access your plex server"}}},{"url":"https://{Local IP}:{Port}","variables":{"Local IP":{"default":"10.10.10.47","description":"The Local IP Address of your plex server"},"Port":{"default":"32400","description":"The port to access your plex server"}}}],"security":[{"Token":[],"ClientIdentifier":[],"Device":[],"DeviceName":[],"Platform":[],"PlatformVersion":[],"Product":[],"Version":[]}],"securitySchemes":{"Token":{"description":"Plex Authentication Token","type":"apiKey","in":"header","name":"X-Plex-Token"},"ClientIdentifier":{"description":"Plex Authentication Token","type":"apiKey","in":"header","name":"X-Plex-Client-Identifier"},"DeviceName":{"description":"Primary name for the device eg. `Plex Web (Chrome)`","type":"apiKey","in":"header","name":"X-Plex-Device-Name"},"Device":{"description":"The type of device your application is running on\nDevice name and or model number, eg `iPhone3,2`, `Motorola XOOM™`, `LG5200TV`\n","type":"apiKey","in":"header","name":"X-Plex-Device"},"PlatformVersion":{"description":"Operating system version\neg `4.3.1`, `10.6.7`, `3.2`\n","type":"apiKey","in":"header","name":"X-Plex-Platform-Version"},"Platform":{"description":"Platform name \neg: `Web`, `iOS`, `MacOSX`, `Android`, `LG`\n","type":"apiKey","in":"header","name":"X-Plex-Platform"},"Product":{"description":"Plex application name \neg: `Laika`, `Plex Media Server`, `Media Link`\n","type":"apiKey","in":"header","name":"X-Plex-Product"},"Version":{"description":"Plex application version number","type":"apiKey","in":"header","name":"X-Plex-Version"}},"info":{"title":"Plex-API","summary":"A Plex Media Server API Map","description":"An Open API Spec for interacting with Plex.tv and Plex Servers","version":"0.0.3","contact":{"name":"Luke Hagar","url":"https://www.LukeHagar.com","email":"Lukeslakemail@gmail.com"},"license":{"name":"MIT","identifier":"MIT","url":"https://opensource.org/licenses/MIT"}},"postman":{"name":"Start all Butler tasks","description":{"content":"This endpoint will attempt to start all Butler tasks that are enabled in the settings. Butler tasks normally run automatically during a time window configured on the server's Settings page but can be manually started using this endpoint. Tasks will run with the following criteria:\n1. Any tasks not scheduled to run on the current day will be skipped.\n2. If a task is configured to run at a random time during the configured window and we are outside that window, the task will start immediately.\n3. If a task is configured to run at a random time during the configured window and we are within that window, the task will be scheduled at a random time within the window.\n4. If we are outside the configured window, the task will start immediately.\n","type":"text/plain"},"url":{"path":["butler"],"host":["{{baseUrl}}"],"query":[],"variable":[]},"header":[{"key":"Accept","value":"application/json"}],"method":"POST"}} +sidebar_class_name: "post api-method" +info_path: docs/plex-media-server/plex-api +--- + +import ApiTabs from "@theme/ApiTabs"; +import DiscriminatorTabs from "@theme/DiscriminatorTabs"; +import MethodEndpoint from "@theme/ApiDemoPanel/MethodEndpoint"; +import MimeTabs from "@theme/MimeTabs"; +import ParamsItem from "@theme/ParamsItem"; +import ResponseSamples from "@theme/ResponseSamples"; +import SchemaItem from "@theme/SchemaItem"; +import SchemaTabs from "@theme/SchemaTabs"; +import TabItem from "@theme/TabItem"; + +

Start all Butler tasks

+ + + + + +This endpoint will attempt to start all Butler tasks that are enabled in the settings. Butler tasks normally run automatically during a time window configured on the server's Settings page but can be manually started using this endpoint. Tasks will run with the following criteria: +1. Any tasks not scheduled to run on the current day will be skipped. +2. If a task is configured to run at a random time during the configured window and we are outside that window, the task will start immediately. +3. If a task is configured to run at a random time during the configured window and we are within that window, the task will be scheduled at a random time within the window. +4. If we are outside the configured window, the task will start immediately. + + +
+ +All tasks were started + +
+ +Unauthorized - Returned if the X-Plex-Token is missing from the header or query. + +
Schema
    errors object[]
  • Array [
  • ]
\ No newline at end of file diff --git a/docs/plex-media-server/start-task.api.mdx b/docs/plex-media-server/start-task.api.mdx new file mode 100644 index 0000000..4eaf324 --- /dev/null +++ b/docs/plex-media-server/start-task.api.mdx @@ -0,0 +1,46 @@ +--- +id: start-task +sidebar_label: Start a single Butler task +hide_title: true +hide_table_of_contents: true +api: {"tags":["Butler"],"description":"This endpoint will attempt to start a single Butler task that is enabled in the settings. Butler tasks normally run automatically during a time window configured on the server's Settings page but can be manually started using this endpoint. Tasks will run with the following criteria:\n1. Any tasks not scheduled to run on the current day will be skipped.\n2. If a task is configured to run at a random time during the configured window and we are outside that window, the task will start immediately.\n3. If a task is configured to run at a random time during the configured window and we are within that window, the task will be scheduled at a random time within the window.\n4. If we are outside the configured window, the task will start immediately.\n","operationId":"startTask","parameters":[{"name":"taskName","description":"the name of the task to be started.","in":"path","schema":{"type":"string","enum":["BackupDatabase","BuildGracenoteCollections","CheckForUpdates","CleanOldBundles","CleanOldCacheFiles","DeepMediaAnalysis","GenerateAutoTags","GenerateChapterThumbs","GenerateMediaIndexFiles","OptimizeDatabase","RefreshLibraries","RefreshLocalMedia","RefreshPeriodicMetadata","UpgradeMediaAnalysis"]},"required":true}],"responses":{"200":{"description":"The task was started successfully"},"202":{"description":"The task was already running."},"401":{"description":"Unauthorized - Returned if the X-Plex-Token is missing from the header or query.","content":{"application/json":{"schema":{"type":"object","properties":{"errors":{"type":"array","items":{"type":"object","properties":{"code":{"type":"number","example":1001},"message":{"type":"string","example":"User could not be authenticated"},"status":{"type":"number","example":401}}}}}}}}}},"method":"post","path":"/butler/{taskName}","servers":[{"url":"http://{Local IP}:{Port}","variables":{"Local IP":{"default":"10.10.10.47","description":"The Local IP Address of your plex server"},"Port":{"default":"32400","description":"The port to access your plex server"}}},{"url":"https://{Local IP}:{Port}","variables":{"Local IP":{"default":"10.10.10.47","description":"The Local IP Address of your plex server"},"Port":{"default":"32400","description":"The port to access your plex server"}}}],"security":[{"Token":[],"ClientIdentifier":[],"Device":[],"DeviceName":[],"Platform":[],"PlatformVersion":[],"Product":[],"Version":[]}],"securitySchemes":{"Token":{"description":"Plex Authentication Token","type":"apiKey","in":"header","name":"X-Plex-Token"},"ClientIdentifier":{"description":"Plex Authentication Token","type":"apiKey","in":"header","name":"X-Plex-Client-Identifier"},"DeviceName":{"description":"Primary name for the device eg. `Plex Web (Chrome)`","type":"apiKey","in":"header","name":"X-Plex-Device-Name"},"Device":{"description":"The type of device your application is running on\nDevice name and or model number, eg `iPhone3,2`, `Motorola XOOM™`, `LG5200TV`\n","type":"apiKey","in":"header","name":"X-Plex-Device"},"PlatformVersion":{"description":"Operating system version\neg `4.3.1`, `10.6.7`, `3.2`\n","type":"apiKey","in":"header","name":"X-Plex-Platform-Version"},"Platform":{"description":"Platform name \neg: `Web`, `iOS`, `MacOSX`, `Android`, `LG`\n","type":"apiKey","in":"header","name":"X-Plex-Platform"},"Product":{"description":"Plex application name \neg: `Laika`, `Plex Media Server`, `Media Link`\n","type":"apiKey","in":"header","name":"X-Plex-Product"},"Version":{"description":"Plex application version number","type":"apiKey","in":"header","name":"X-Plex-Version"}},"info":{"title":"Plex-API","summary":"A Plex Media Server API Map","description":"An Open API Spec for interacting with Plex.tv and Plex Servers","version":"0.0.3","contact":{"name":"Luke Hagar","url":"https://www.LukeHagar.com","email":"Lukeslakemail@gmail.com"},"license":{"name":"MIT","identifier":"MIT","url":"https://opensource.org/licenses/MIT"}},"postman":{"name":"Start a single Butler task","description":{"content":"This endpoint will attempt to start a single Butler task that is enabled in the settings. Butler tasks normally run automatically during a time window configured on the server's Settings page but can be manually started using this endpoint. Tasks will run with the following criteria:\n1. Any tasks not scheduled to run on the current day will be skipped.\n2. If a task is configured to run at a random time during the configured window and we are outside that window, the task will start immediately.\n3. If a task is configured to run at a random time during the configured window and we are within that window, the task will be scheduled at a random time within the window.\n4. If we are outside the configured window, the task will start immediately.\n","type":"text/plain"},"url":{"path":["butler",":taskName"],"host":["{{baseUrl}}"],"query":[],"variable":[{"disabled":false,"description":{"content":"(Required) the name of the task to be started.","type":"text/plain"},"type":"any","value":"","key":"taskName"}]},"header":[{"key":"Accept","value":"application/json"}],"method":"POST"}} +sidebar_class_name: "post api-method" +info_path: docs/plex-media-server/plex-api +--- + +import ApiTabs from "@theme/ApiTabs"; +import DiscriminatorTabs from "@theme/DiscriminatorTabs"; +import MethodEndpoint from "@theme/ApiDemoPanel/MethodEndpoint"; +import MimeTabs from "@theme/MimeTabs"; +import ParamsItem from "@theme/ParamsItem"; +import ResponseSamples from "@theme/ResponseSamples"; +import SchemaItem from "@theme/SchemaItem"; +import SchemaTabs from "@theme/SchemaTabs"; +import TabItem from "@theme/TabItem"; + +

Start a single Butler task

+ + + + + +This endpoint will attempt to start a single Butler task that is enabled in the settings. Butler tasks normally run automatically during a time window configured on the server's Settings page but can be manually started using this endpoint. Tasks will run with the following criteria: +1. Any tasks not scheduled to run on the current day will be skipped. +2. If a task is configured to run at a random time during the configured window and we are outside that window, the task will start immediately. +3. If a task is configured to run at a random time during the configured window and we are within that window, the task will be scheduled at a random time within the window. +4. If we are outside the configured window, the task will start immediately. + + +
Path Parameters
+ +The task was started successfully + +
+ +The task was already running. + +
+ +Unauthorized - Returned if the X-Plex-Token is missing from the header or query. + +
Schema
    errors object[]
  • Array [
  • ]
\ No newline at end of file diff --git a/docs/plex-media-server/stop-all-tasks.api.mdx b/docs/plex-media-server/stop-all-tasks.api.mdx new file mode 100644 index 0000000..5f2e666 --- /dev/null +++ b/docs/plex-media-server/stop-all-tasks.api.mdx @@ -0,0 +1,38 @@ +--- +id: stop-all-tasks +sidebar_label: Stop all Butler tasks +hide_title: true +hide_table_of_contents: true +api: {"tags":["Butler"],"description":"This endpoint will stop all currently running tasks and remove any scheduled tasks from the queue.\n","operationId":"stopAllTasks","responses":{"200":{"description":"All tasks were stopped"},"401":{"description":"Unauthorized - Returned if the X-Plex-Token is missing from the header or query.","content":{"application/json":{"schema":{"type":"object","properties":{"errors":{"type":"array","items":{"type":"object","properties":{"code":{"type":"number","example":1001},"message":{"type":"string","example":"User could not be authenticated"},"status":{"type":"number","example":401}}}}}}}}}},"method":"delete","path":"/butler","servers":[{"url":"http://{Local IP}:{Port}","variables":{"Local IP":{"default":"10.10.10.47","description":"The Local IP Address of your plex server"},"Port":{"default":"32400","description":"The port to access your plex server"}}},{"url":"https://{Local IP}:{Port}","variables":{"Local IP":{"default":"10.10.10.47","description":"The Local IP Address of your plex server"},"Port":{"default":"32400","description":"The port to access your plex server"}}}],"security":[{"Token":[],"ClientIdentifier":[],"Device":[],"DeviceName":[],"Platform":[],"PlatformVersion":[],"Product":[],"Version":[]}],"securitySchemes":{"Token":{"description":"Plex Authentication Token","type":"apiKey","in":"header","name":"X-Plex-Token"},"ClientIdentifier":{"description":"Plex Authentication Token","type":"apiKey","in":"header","name":"X-Plex-Client-Identifier"},"DeviceName":{"description":"Primary name for the device eg. `Plex Web (Chrome)`","type":"apiKey","in":"header","name":"X-Plex-Device-Name"},"Device":{"description":"The type of device your application is running on\nDevice name and or model number, eg `iPhone3,2`, `Motorola XOOM™`, `LG5200TV`\n","type":"apiKey","in":"header","name":"X-Plex-Device"},"PlatformVersion":{"description":"Operating system version\neg `4.3.1`, `10.6.7`, `3.2`\n","type":"apiKey","in":"header","name":"X-Plex-Platform-Version"},"Platform":{"description":"Platform name \neg: `Web`, `iOS`, `MacOSX`, `Android`, `LG`\n","type":"apiKey","in":"header","name":"X-Plex-Platform"},"Product":{"description":"Plex application name \neg: `Laika`, `Plex Media Server`, `Media Link`\n","type":"apiKey","in":"header","name":"X-Plex-Product"},"Version":{"description":"Plex application version number","type":"apiKey","in":"header","name":"X-Plex-Version"}},"info":{"title":"Plex-API","summary":"A Plex Media Server API Map","description":"An Open API Spec for interacting with Plex.tv and Plex Servers","version":"0.0.3","contact":{"name":"Luke Hagar","url":"https://www.LukeHagar.com","email":"Lukeslakemail@gmail.com"},"license":{"name":"MIT","identifier":"MIT","url":"https://opensource.org/licenses/MIT"}},"postman":{"name":"Stop all Butler tasks","description":{"content":"This endpoint will stop all currently running tasks and remove any scheduled tasks from the queue.\n","type":"text/plain"},"url":{"path":["butler"],"host":["{{baseUrl}}"],"query":[],"variable":[]},"header":[{"key":"Accept","value":"application/json"}],"method":"DELETE"}} +sidebar_class_name: "delete api-method" +info_path: docs/plex-media-server/plex-api +--- + +import ApiTabs from "@theme/ApiTabs"; +import DiscriminatorTabs from "@theme/DiscriminatorTabs"; +import MethodEndpoint from "@theme/ApiDemoPanel/MethodEndpoint"; +import MimeTabs from "@theme/MimeTabs"; +import ParamsItem from "@theme/ParamsItem"; +import ResponseSamples from "@theme/ResponseSamples"; +import SchemaItem from "@theme/SchemaItem"; +import SchemaTabs from "@theme/SchemaTabs"; +import TabItem from "@theme/TabItem"; + +

Stop all Butler tasks

+ + + + + +This endpoint will stop all currently running tasks and remove any scheduled tasks from the queue. + + +
+ +All tasks were stopped + +
+ +Unauthorized - Returned if the X-Plex-Token is missing from the header or query. + +
Schema
    errors object[]
  • Array [
  • ]
\ No newline at end of file diff --git a/docs/plex-media-server/stop-task.api.mdx b/docs/plex-media-server/stop-task.api.mdx new file mode 100644 index 0000000..b0013fc --- /dev/null +++ b/docs/plex-media-server/stop-task.api.mdx @@ -0,0 +1,42 @@ +--- +id: stop-task +sidebar_label: Stop a single Butler task +hide_title: true +hide_table_of_contents: true +api: {"tags":["Butler"],"description":"This endpoint will stop a currently running task by name, or remove it from the list of scheduled tasks if it exists. See the section above for a list of task names for this endpoint.\n","operationId":"stopTask","parameters":[{"name":"taskName","description":"The name of the task to be started.","in":"path","schema":{"type":"string","enum":["BackupDatabase","BuildGracenoteCollections","CheckForUpdates","CleanOldBundles","CleanOldCacheFiles","DeepMediaAnalysis","GenerateAutoTags","GenerateChapterThumbs","GenerateMediaIndexFiles","OptimizeDatabase","RefreshLibraries","RefreshLocalMedia","RefreshPeriodicMetadata","UpgradeMediaAnalysis"]},"required":true}],"responses":{"200":{"description":"The task was stopped"},"401":{"description":"Unauthorized - Returned if the X-Plex-Token is missing from the header or query.","content":{"application/json":{"schema":{"type":"object","properties":{"errors":{"type":"array","items":{"type":"object","properties":{"code":{"type":"number","example":1001},"message":{"type":"string","example":"User could not be authenticated"},"status":{"type":"number","example":401}}}}}}}}},"404":{"description":"The task was not running"}},"method":"delete","path":"/butler/{taskName}","servers":[{"url":"http://{Local IP}:{Port}","variables":{"Local IP":{"default":"10.10.10.47","description":"The Local IP Address of your plex server"},"Port":{"default":"32400","description":"The port to access your plex server"}}},{"url":"https://{Local IP}:{Port}","variables":{"Local IP":{"default":"10.10.10.47","description":"The Local IP Address of your plex server"},"Port":{"default":"32400","description":"The port to access your plex server"}}}],"security":[{"Token":[],"ClientIdentifier":[],"Device":[],"DeviceName":[],"Platform":[],"PlatformVersion":[],"Product":[],"Version":[]}],"securitySchemes":{"Token":{"description":"Plex Authentication Token","type":"apiKey","in":"header","name":"X-Plex-Token"},"ClientIdentifier":{"description":"Plex Authentication Token","type":"apiKey","in":"header","name":"X-Plex-Client-Identifier"},"DeviceName":{"description":"Primary name for the device eg. `Plex Web (Chrome)`","type":"apiKey","in":"header","name":"X-Plex-Device-Name"},"Device":{"description":"The type of device your application is running on\nDevice name and or model number, eg `iPhone3,2`, `Motorola XOOM™`, `LG5200TV`\n","type":"apiKey","in":"header","name":"X-Plex-Device"},"PlatformVersion":{"description":"Operating system version\neg `4.3.1`, `10.6.7`, `3.2`\n","type":"apiKey","in":"header","name":"X-Plex-Platform-Version"},"Platform":{"description":"Platform name \neg: `Web`, `iOS`, `MacOSX`, `Android`, `LG`\n","type":"apiKey","in":"header","name":"X-Plex-Platform"},"Product":{"description":"Plex application name \neg: `Laika`, `Plex Media Server`, `Media Link`\n","type":"apiKey","in":"header","name":"X-Plex-Product"},"Version":{"description":"Plex application version number","type":"apiKey","in":"header","name":"X-Plex-Version"}},"info":{"title":"Plex-API","summary":"A Plex Media Server API Map","description":"An Open API Spec for interacting with Plex.tv and Plex Servers","version":"0.0.3","contact":{"name":"Luke Hagar","url":"https://www.LukeHagar.com","email":"Lukeslakemail@gmail.com"},"license":{"name":"MIT","identifier":"MIT","url":"https://opensource.org/licenses/MIT"}},"postman":{"name":"Stop a single Butler task","description":{"content":"This endpoint will stop a currently running task by name, or remove it from the list of scheduled tasks if it exists. See the section above for a list of task names for this endpoint.\n","type":"text/plain"},"url":{"path":["butler",":taskName"],"host":["{{baseUrl}}"],"query":[],"variable":[{"disabled":false,"description":{"content":"(Required) The name of the task to be started.","type":"text/plain"},"type":"any","value":"","key":"taskName"}]},"header":[{"key":"Accept","value":"application/json"}],"method":"DELETE"}} +sidebar_class_name: "delete api-method" +info_path: docs/plex-media-server/plex-api +--- + +import ApiTabs from "@theme/ApiTabs"; +import DiscriminatorTabs from "@theme/DiscriminatorTabs"; +import MethodEndpoint from "@theme/ApiDemoPanel/MethodEndpoint"; +import MimeTabs from "@theme/MimeTabs"; +import ParamsItem from "@theme/ParamsItem"; +import ResponseSamples from "@theme/ResponseSamples"; +import SchemaItem from "@theme/SchemaItem"; +import SchemaTabs from "@theme/SchemaTabs"; +import TabItem from "@theme/TabItem"; + +

Stop a single Butler task

+ + + + + +This endpoint will stop a currently running task by name, or remove it from the list of scheduled tasks if it exists. See the section above for a list of task names for this endpoint. + + +
Path Parameters
+ +The task was stopped + +
+ +Unauthorized - Returned if the X-Plex-Token is missing from the header or query. + +
Schema
    errors object[]
  • Array [
  • ]
+ +The task was not running + +
\ No newline at end of file diff --git a/docs/plex-media-server/stop-transcode-session.api.mdx b/docs/plex-media-server/stop-transcode-session.api.mdx new file mode 100644 index 0000000..dcf5e8d --- /dev/null +++ b/docs/plex-media-server/stop-transcode-session.api.mdx @@ -0,0 +1,37 @@ +--- +id: stop-transcode-session +sidebar_label: Stop a Transcode Session +hide_title: true +hide_table_of_contents: true +api: {"tags":["Sessions"],"description":"Stop a Transcode Session","parameters":[{"name":"sessionKey","description":"the Key of the transcode session to stop","in":"path","schema":{"type":"string","example":"zz7llzqlx8w9vnrsbnwhbmep"},"required":true}],"operationId":"stopTranscodeSession","responses":{"200":{"description":"The Transcode Session ended"},"401":{"description":"Unauthorized - Returned if the X-Plex-Token is missing from the header or query.","content":{"application/json":{"schema":{"type":"object","properties":{"errors":{"type":"array","items":{"type":"object","properties":{"code":{"type":"number","example":1001},"message":{"type":"string","example":"User could not be authenticated"},"status":{"type":"number","example":401}}}}}}}}}},"method":"delete","path":"/transcode/sessions/{sessionKey}","servers":[{"url":"http://{Local IP}:{Port}","variables":{"Local IP":{"default":"10.10.10.47","description":"The Local IP Address of your plex server"},"Port":{"default":"32400","description":"The port to access your plex server"}}},{"url":"https://{Local IP}:{Port}","variables":{"Local IP":{"default":"10.10.10.47","description":"The Local IP Address of your plex server"},"Port":{"default":"32400","description":"The port to access your plex server"}}}],"security":[{"Token":[],"ClientIdentifier":[],"Device":[],"DeviceName":[],"Platform":[],"PlatformVersion":[],"Product":[],"Version":[]}],"securitySchemes":{"Token":{"description":"Plex Authentication Token","type":"apiKey","in":"header","name":"X-Plex-Token"},"ClientIdentifier":{"description":"Plex Authentication Token","type":"apiKey","in":"header","name":"X-Plex-Client-Identifier"},"DeviceName":{"description":"Primary name for the device eg. `Plex Web (Chrome)`","type":"apiKey","in":"header","name":"X-Plex-Device-Name"},"Device":{"description":"The type of device your application is running on\nDevice name and or model number, eg `iPhone3,2`, `Motorola XOOM™`, `LG5200TV`\n","type":"apiKey","in":"header","name":"X-Plex-Device"},"PlatformVersion":{"description":"Operating system version\neg `4.3.1`, `10.6.7`, `3.2`\n","type":"apiKey","in":"header","name":"X-Plex-Platform-Version"},"Platform":{"description":"Platform name \neg: `Web`, `iOS`, `MacOSX`, `Android`, `LG`\n","type":"apiKey","in":"header","name":"X-Plex-Platform"},"Product":{"description":"Plex application name \neg: `Laika`, `Plex Media Server`, `Media Link`\n","type":"apiKey","in":"header","name":"X-Plex-Product"},"Version":{"description":"Plex application version number","type":"apiKey","in":"header","name":"X-Plex-Version"}},"info":{"title":"Plex-API","summary":"A Plex Media Server API Map","description":"An Open API Spec for interacting with Plex.tv and Plex Servers","version":"0.0.3","contact":{"name":"Luke Hagar","url":"https://www.LukeHagar.com","email":"Lukeslakemail@gmail.com"},"license":{"name":"MIT","identifier":"MIT","url":"https://opensource.org/licenses/MIT"}},"postman":{"name":"Stop a Transcode Session","description":{"content":"Stop a Transcode Session","type":"text/plain"},"url":{"path":["transcode","sessions",":sessionKey"],"host":["{{baseUrl}}"],"query":[],"variable":[{"disabled":false,"description":{"content":"(Required) the Key of the transcode session to stop","type":"text/plain"},"type":"any","value":"","key":"sessionKey"}]},"header":[{"key":"Accept","value":"application/json"}],"method":"DELETE"}} +sidebar_class_name: "delete api-method" +info_path: docs/plex-media-server/plex-api +--- + +import ApiTabs from "@theme/ApiTabs"; +import DiscriminatorTabs from "@theme/DiscriminatorTabs"; +import MethodEndpoint from "@theme/ApiDemoPanel/MethodEndpoint"; +import MimeTabs from "@theme/MimeTabs"; +import ParamsItem from "@theme/ParamsItem"; +import ResponseSamples from "@theme/ResponseSamples"; +import SchemaItem from "@theme/SchemaItem"; +import SchemaTabs from "@theme/SchemaTabs"; +import TabItem from "@theme/TabItem"; + +

Stop a Transcode Session

+ + + + + +Stop a Transcode Session + +
Path Parameters
+ +The Transcode Session ended + +
+ +Unauthorized - Returned if the X-Plex-Token is missing from the header or query. + +
Schema
    errors object[]
  • Array [
  • ]
\ No newline at end of file diff --git a/docs/plex-media-server/update-playlist.api.mdx b/docs/plex-media-server/update-playlist.api.mdx new file mode 100644 index 0000000..5092d73 --- /dev/null +++ b/docs/plex-media-server/update-playlist.api.mdx @@ -0,0 +1,38 @@ +--- +id: update-playlist +sidebar_label: Update a Playlist +hide_title: true +hide_table_of_contents: true +api: {"tags":["Playlists"],"description":"From PMS version 1.9.1 clients can also edit playlist metadata using this endpoint as they would via `PUT /library/metadata/{playlistID}`\n","operationId":"updatePlaylist","parameters":[{"name":"playlistID","description":"the ID of the playlist","in":"path","schema":{"type":"number"},"required":true}],"responses":{"200":{"description":"The playlist is deleted"},"401":{"description":"Unauthorized - Returned if the X-Plex-Token is missing from the header or query.","content":{"application/json":{"schema":{"type":"object","properties":{"errors":{"type":"array","items":{"type":"object","properties":{"code":{"type":"number","example":1001},"message":{"type":"string","example":"User could not be authenticated"},"status":{"type":"number","example":401}}}}}}}}}},"method":"put","path":"/playlists/{playlistID}","servers":[{"url":"http://{Local IP}:{Port}","variables":{"Local IP":{"default":"10.10.10.47","description":"The Local IP Address of your plex server"},"Port":{"default":"32400","description":"The port to access your plex server"}}},{"url":"https://{Local IP}:{Port}","variables":{"Local IP":{"default":"10.10.10.47","description":"The Local IP Address of your plex server"},"Port":{"default":"32400","description":"The port to access your plex server"}}}],"security":[{"Token":[],"ClientIdentifier":[],"Device":[],"DeviceName":[],"Platform":[],"PlatformVersion":[],"Product":[],"Version":[]}],"securitySchemes":{"Token":{"description":"Plex Authentication Token","type":"apiKey","in":"header","name":"X-Plex-Token"},"ClientIdentifier":{"description":"Plex Authentication Token","type":"apiKey","in":"header","name":"X-Plex-Client-Identifier"},"DeviceName":{"description":"Primary name for the device eg. `Plex Web (Chrome)`","type":"apiKey","in":"header","name":"X-Plex-Device-Name"},"Device":{"description":"The type of device your application is running on\nDevice name and or model number, eg `iPhone3,2`, `Motorola XOOM™`, `LG5200TV`\n","type":"apiKey","in":"header","name":"X-Plex-Device"},"PlatformVersion":{"description":"Operating system version\neg `4.3.1`, `10.6.7`, `3.2`\n","type":"apiKey","in":"header","name":"X-Plex-Platform-Version"},"Platform":{"description":"Platform name \neg: `Web`, `iOS`, `MacOSX`, `Android`, `LG`\n","type":"apiKey","in":"header","name":"X-Plex-Platform"},"Product":{"description":"Plex application name \neg: `Laika`, `Plex Media Server`, `Media Link`\n","type":"apiKey","in":"header","name":"X-Plex-Product"},"Version":{"description":"Plex application version number","type":"apiKey","in":"header","name":"X-Plex-Version"}},"info":{"title":"Plex-API","summary":"A Plex Media Server API Map","description":"An Open API Spec for interacting with Plex.tv and Plex Servers","version":"0.0.3","contact":{"name":"Luke Hagar","url":"https://www.LukeHagar.com","email":"Lukeslakemail@gmail.com"},"license":{"name":"MIT","identifier":"MIT","url":"https://opensource.org/licenses/MIT"}},"postman":{"name":"Update a Playlist","description":{"content":"From PMS version 1.9.1 clients can also edit playlist metadata using this endpoint as they would via `PUT /library/metadata/{playlistID}`\n","type":"text/plain"},"url":{"path":["playlists",":playlistID"],"host":["{{baseUrl}}"],"query":[],"variable":[{"disabled":false,"description":{"content":"(Required) the ID of the playlist","type":"text/plain"},"type":"any","value":"","key":"playlistID"}]},"header":[{"key":"Accept","value":"application/json"}],"method":"PUT"}} +sidebar_class_name: "put api-method" +info_path: docs/plex-media-server/plex-api +--- + +import ApiTabs from "@theme/ApiTabs"; +import DiscriminatorTabs from "@theme/DiscriminatorTabs"; +import MethodEndpoint from "@theme/ApiDemoPanel/MethodEndpoint"; +import MimeTabs from "@theme/MimeTabs"; +import ParamsItem from "@theme/ParamsItem"; +import ResponseSamples from "@theme/ResponseSamples"; +import SchemaItem from "@theme/SchemaItem"; +import SchemaTabs from "@theme/SchemaTabs"; +import TabItem from "@theme/TabItem"; + +

Update a Playlist

+ + + + + +From PMS version 1.9.1 clients can also edit playlist metadata using this endpoint as they would via `PUT /library/metadata/{playlistID}` + + +
Path Parameters
+ +The playlist is deleted + +
+ +Unauthorized - Returned if the X-Plex-Token is missing from the header or query. + +
Schema
    errors object[]
  • Array [
  • ]
\ No newline at end of file diff --git a/docs/plex-media-server/updater.tag.mdx b/docs/plex-media-server/updater.tag.mdx new file mode 100644 index 0000000..a6376a8 --- /dev/null +++ b/docs/plex-media-server/updater.tag.mdx @@ -0,0 +1,22 @@ +--- +id: updater +title: "Updater" +description: "Updater" +custom_edit_url: null +--- + + + +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. + + + + +```mdx-code-block +import DocCardList from '@theme/DocCardList'; +import {useCurrentSidebarCategory} from '@docusaurus/theme-common'; + + +``` + \ No newline at end of file diff --git a/docs/plex-media-server/upload-playlist.api.mdx b/docs/plex-media-server/upload-playlist.api.mdx new file mode 100644 index 0000000..5bd1d04 --- /dev/null +++ b/docs/plex-media-server/upload-playlist.api.mdx @@ -0,0 +1,38 @@ +--- +id: upload-playlist +sidebar_label: Upload Playlist +hide_title: true +hide_table_of_contents: true +api: {"tags":["Playlists"],"description":"Imports m3u playlists by passing a path on the server to scan for m3u-formatted playlist files, or a path to a single playlist file.\n","operationId":"uploadPlaylist","parameters":[{"name":"path","description":"absolute path to a directory on the server where m3u files are stored, or the absolute path to a playlist file on the server. \nIf the `path` argument is a directory, that path will be scanned for playlist files to be processed. \nEach file in that directory creates a separate playlist, with a name based on the filename of the file that created it. \nThe GUID of each playlist is based on the filename. \nIf the `path` argument is a file, that file will be used to create a new playlist, with the name based on the filename of the file that created it. \nThe GUID of each playlist is based on the filename.\n","in":"query","schema":{"type":"string","example":"/home/barkley/playlist.m3u"},"required":true},{"name":"force","description":"force overwriting of duplicate playlists. By default, a playlist file uploaded with the same path will overwrite the existing playlist. \nThe `force` argument is used to disable overwriting. If the `force` argument is set to 0, a new playlist will be created suffixed with the date and time that the duplicate was uploaded.\n","in":"query","schema":{"type":"number","enum":[0,1]},"required":true}],"responses":{"200":{"description":"The playlist is uploaded"},"401":{"description":"Unauthorized - Returned if the X-Plex-Token is missing from the header or query.","content":{"application/json":{"schema":{"type":"object","properties":{"errors":{"type":"array","items":{"type":"object","properties":{"code":{"type":"number","example":1001},"message":{"type":"string","example":"User could not be authenticated"},"status":{"type":"number","example":401}}}}}}}}}},"method":"post","path":"/playlists/upload","servers":[{"url":"http://{Local IP}:{Port}","variables":{"Local IP":{"default":"10.10.10.47","description":"The Local IP Address of your plex server"},"Port":{"default":"32400","description":"The port to access your plex server"}}},{"url":"https://{Local IP}:{Port}","variables":{"Local IP":{"default":"10.10.10.47","description":"The Local IP Address of your plex server"},"Port":{"default":"32400","description":"The port to access your plex server"}}}],"security":[{"Token":[],"ClientIdentifier":[],"Device":[],"DeviceName":[],"Platform":[],"PlatformVersion":[],"Product":[],"Version":[]}],"securitySchemes":{"Token":{"description":"Plex Authentication Token","type":"apiKey","in":"header","name":"X-Plex-Token"},"ClientIdentifier":{"description":"Plex Authentication Token","type":"apiKey","in":"header","name":"X-Plex-Client-Identifier"},"DeviceName":{"description":"Primary name for the device eg. `Plex Web (Chrome)`","type":"apiKey","in":"header","name":"X-Plex-Device-Name"},"Device":{"description":"The type of device your application is running on\nDevice name and or model number, eg `iPhone3,2`, `Motorola XOOM™`, `LG5200TV`\n","type":"apiKey","in":"header","name":"X-Plex-Device"},"PlatformVersion":{"description":"Operating system version\neg `4.3.1`, `10.6.7`, `3.2`\n","type":"apiKey","in":"header","name":"X-Plex-Platform-Version"},"Platform":{"description":"Platform name \neg: `Web`, `iOS`, `MacOSX`, `Android`, `LG`\n","type":"apiKey","in":"header","name":"X-Plex-Platform"},"Product":{"description":"Plex application name \neg: `Laika`, `Plex Media Server`, `Media Link`\n","type":"apiKey","in":"header","name":"X-Plex-Product"},"Version":{"description":"Plex application version number","type":"apiKey","in":"header","name":"X-Plex-Version"}},"info":{"title":"Plex-API","summary":"A Plex Media Server API Map","description":"An Open API Spec for interacting with Plex.tv and Plex Servers","version":"0.0.3","contact":{"name":"Luke Hagar","url":"https://www.LukeHagar.com","email":"Lukeslakemail@gmail.com"},"license":{"name":"MIT","identifier":"MIT","url":"https://opensource.org/licenses/MIT"}},"postman":{"name":"Upload Playlist","description":{"content":"Imports m3u playlists by passing a path on the server to scan for m3u-formatted playlist files, or a path to a single playlist file.\n","type":"text/plain"},"url":{"path":["playlists","upload"],"host":["{{baseUrl}}"],"query":[{"disabled":false,"description":{"content":"(Required) absolute path to a directory on the server where m3u files are stored, or the absolute path to a playlist file on the server. \nIf the `path` argument is a directory, that path will be scanned for playlist files to be processed. \nEach file in that directory creates a separate playlist, with a name based on the filename of the file that created it. \nThe GUID of each playlist is based on the filename. \nIf the `path` argument is a file, that file will be used to create a new playlist, with the name based on the filename of the file that created it. \nThe GUID of each playlist is based on the filename.\n","type":"text/plain"},"key":"path","value":""},{"disabled":false,"description":{"content":"(Required) force overwriting of duplicate playlists. By default, a playlist file uploaded with the same path will overwrite the existing playlist. \nThe `force` argument is used to disable overwriting. If the `force` argument is set to 0, a new playlist will be created suffixed with the date and time that the duplicate was uploaded.\n","type":"text/plain"},"key":"force","value":""}],"variable":[]},"header":[{"key":"Accept","value":"application/json"}],"method":"POST"}} +sidebar_class_name: "post api-method" +info_path: docs/plex-media-server/plex-api +--- + +import ApiTabs from "@theme/ApiTabs"; +import DiscriminatorTabs from "@theme/DiscriminatorTabs"; +import MethodEndpoint from "@theme/ApiDemoPanel/MethodEndpoint"; +import MimeTabs from "@theme/MimeTabs"; +import ParamsItem from "@theme/ParamsItem"; +import ResponseSamples from "@theme/ResponseSamples"; +import SchemaItem from "@theme/SchemaItem"; +import SchemaTabs from "@theme/SchemaTabs"; +import TabItem from "@theme/TabItem"; + +

Upload Playlist

+ + + + + +Imports m3u playlists by passing a path on the server to scan for m3u-formatted playlist files, or a path to a single playlist file. + + +
Query Parameters
+ +The playlist is uploaded + +
+ +Unauthorized - Returned if the X-Plex-Token is missing from the header or query. + +
Schema
    errors object[]
  • Array [
  • ]
\ No newline at end of file diff --git a/docs/plex-tv/get-companions-data.api.mdx b/docs/plex-tv/get-companions-data.api.mdx new file mode 100644 index 0000000..8589345 --- /dev/null +++ b/docs/plex-tv/get-companions-data.api.mdx @@ -0,0 +1,37 @@ +--- +id: get-companions-data +sidebar_label: Get Companions Data +hide_title: true +hide_table_of_contents: true +api: {"tags":["Plex.tv"],"description":"Get Companions Data","operationId":"getCompanionsData","responses":{"200":{"description":"Companions Data","content":{"application/json":{"schema":{"type":"array","items":{"type":"object","properties":{"identifier":{"type":"string","example":"tv.plex.sonos"},"baseURL":{"type":"string","example":"https://sonos.plex.tv"},"title":{"type":"string","example":"Sonos"},"linkURL":{"type":"string","example":"https://sonos.plex.tv/link"},"provides":{"type":"string","example":"clientplayer"},"token":{"type":"string","example":"VFnxitsRFdWx_WrzsKL"}}}}}}},"401":{"description":"Unauthorized - Returned if the X-Plex-Token is missing from the header or query.","content":{"application/json":{"schema":{"type":"object","properties":{"errors":{"type":"array","items":{"type":"object","properties":{"code":{"type":"number","example":1001},"message":{"type":"string","example":"User could not be authenticated"},"status":{"type":"number","example":401}}}}}}}}}},"method":"get","path":"/companions","servers":[{"url":"https://plex.tv/api/v2"}],"security":[{"Token":[],"ClientIdentifier":[],"Device":[],"DeviceName":[],"Platform":[],"PlatformVersion":[],"Product":[],"Version":[]}],"securitySchemes":{"Token":{"description":"Plex Authentication Token","type":"apiKey","in":"header","name":"X-Plex-Token"},"ClientIdentifier":{"description":"Plex Authentication Token","type":"apiKey","in":"header","name":"X-Plex-Client-Identifier"},"DeviceName":{"description":"Primary name for the device eg. `Plex Web (Chrome)`","type":"apiKey","in":"header","name":"X-Plex-Device-Name"},"Device":{"description":"The type of device your application is running on\nDevice name and or model number, eg `iPhone3,2`, `Motorola XOOM™`, `LG5200TV`\n","type":"apiKey","in":"header","name":"X-Plex-Device"},"PlatformVersion":{"description":"Operating system version\neg `4.3.1`, `10.6.7`, `3.2`\n","type":"apiKey","in":"header","name":"X-Plex-Platform-Version"},"Platform":{"description":"Platform name \neg: `Web`, `iOS`, `MacOSX`, `Android`, `LG`\n","type":"apiKey","in":"header","name":"X-Plex-Platform"},"Product":{"description":"Plex application name \neg: `Laika`, `Plex Media Server`, `Media Link`\n","type":"apiKey","in":"header","name":"X-Plex-Product"},"Version":{"description":"Plex application version number","type":"apiKey","in":"header","name":"X-Plex-Version"}},"info":{"title":"Plex-API","summary":"A Plex.TV API Map","description":"An Open API Spec for interacting with Plex.tv","version":"0.0.3","contact":{"name":"Luke Hagar","url":"https://www.LukeHagar.com","email":"Lukeslakemail@gmail.com"},"license":{"name":"MIT","identifier":"MIT","url":"https://opensource.org/licenses/MIT"}},"postman":{"name":"Get Companions Data","description":{"content":"Get Companions Data","type":"text/plain"},"url":{"path":["companions"],"host":["{{baseUrl}}"],"query":[],"variable":[]},"header":[{"key":"Accept","value":"application/json"}],"method":"GET"}} +sidebar_class_name: "get api-method" +info_path: docs/plex-tv/plex-api +--- + +import ApiTabs from "@theme/ApiTabs"; +import DiscriminatorTabs from "@theme/DiscriminatorTabs"; +import MethodEndpoint from "@theme/ApiDemoPanel/MethodEndpoint"; +import MimeTabs from "@theme/MimeTabs"; +import ParamsItem from "@theme/ParamsItem"; +import ResponseSamples from "@theme/ResponseSamples"; +import SchemaItem from "@theme/SchemaItem"; +import SchemaTabs from "@theme/SchemaTabs"; +import TabItem from "@theme/TabItem"; + +

Get Companions Data

+ + + + + +Get Companions Data + +
+ +Companions Data + +
Schema
  • Array [
  • ]
+ +Unauthorized - Returned if the X-Plex-Token is missing from the header or query. + +
Schema
    errors object[]
  • Array [
  • ]
\ No newline at end of file diff --git a/docs/plex-tv/get-devices.api.mdx b/docs/plex-tv/get-devices.api.mdx new file mode 100644 index 0000000..072ac17 --- /dev/null +++ b/docs/plex-tv/get-devices.api.mdx @@ -0,0 +1,37 @@ +--- +id: get-devices +sidebar_label: Get Devices +hide_title: true +hide_table_of_contents: true +api: {"tags":["Plex.tv"],"description":"Get Devices","operationId":"getDevices","parameters":[{"name":"includeHttps","description":"Include Https entries in the results","in":"query","schema":{"type":"number","enum":[0,1]}},{"name":"includeRelay","description":"Include Relay addresses in the results","in":"query","schema":{"type":"number","enum":[0,1]}},{"name":"includeIPv6","description":"Include IPv6 entries in the results","in":"query","schema":{"type":"number","enum":[0,1]}}],"responses":{"200":{"description":"List of Plex Devices","content":{"application/json":{"schema":{"type":"array","items":{"type":"object","properties":{"name":{"type":"string","example":"Hera"},"product":{"type":"string","example":"Plex Media Server"},"productVersion":{"type":"string","example":"1.31.3.6868-28fc46b27"},"platform":{"type":"string","example":"Linux"},"platformVersion":{"type":"string","example":"5.19.17-Unraid (#2 SMP PREEMPT_DYNAMIC Wed Nov 2 11:54:15 PDT 2022)"},"device":{"type":"string","example":"PC"},"clientIdentifier":{"type":"string","example":"96f2fe7a78c9dc1f16a16bedbe90f98149be16b4"},"createdAt":{"type":"string","format":"date-time","example":"2022-06-02T00:54:26.000Z"},"lastSeenAt":{"type":"string","format":"date-time","example":"2023-04-11T05:53:59.000Z"},"provides":{"type":"string","example":"server"},"ownerId":{"type":"string","format":"nullable"},"sourceTitle":{"type":"string","format":"nullable"},"publicAddress":{"type":"string","example":"68.248.140.20"},"accessToken":{"type":"string","example":"CR3nxzsaSHdWx_WwZsJL"},"owned":{"type":"boolean"},"home":{"type":"boolean"},"synced":{"type":"boolean"},"relay":{"type":"boolean"},"presence":{"type":"boolean"},"httpsRequired":{"type":"boolean"},"publicAddressMatches":{"type":"boolean"},"dnsRebindingProtection":{"type":"boolean"},"natLoopbackSupported":{"type":"boolean"},"connections":{"type":"array","items":{"type":"object","properties":{"protocol":{"type":"string","example":"http"},"address":{"type":"string","example":"172.18.0.1"},"port":{"type":"number","example":32400},"uri":{"type":"string","example":"http://172.18.0.1:32400"},"local":{"type":"boolean"},"relay":{"type":"boolean"},"IPv6":{"type":"boolean"}}}}}}}}}},"401":{"description":"Unauthorized - Returned if the X-Plex-Token is missing from the header or query.","content":{"application/json":{"schema":{"type":"object","properties":{"errors":{"type":"array","items":{"type":"object","properties":{"code":{"type":"number","example":1001},"message":{"type":"string","example":"User could not be authenticated"},"status":{"type":"number","example":401}}}}}}}}}},"method":"get","path":"/resources","servers":[{"url":"https://plex.tv/api/v2"}],"security":[{"Token":[],"ClientIdentifier":[],"Device":[],"DeviceName":[],"Platform":[],"PlatformVersion":[],"Product":[],"Version":[]}],"securitySchemes":{"Token":{"description":"Plex Authentication Token","type":"apiKey","in":"header","name":"X-Plex-Token"},"ClientIdentifier":{"description":"Plex Authentication Token","type":"apiKey","in":"header","name":"X-Plex-Client-Identifier"},"DeviceName":{"description":"Primary name for the device eg. `Plex Web (Chrome)`","type":"apiKey","in":"header","name":"X-Plex-Device-Name"},"Device":{"description":"The type of device your application is running on\nDevice name and or model number, eg `iPhone3,2`, `Motorola XOOM™`, `LG5200TV`\n","type":"apiKey","in":"header","name":"X-Plex-Device"},"PlatformVersion":{"description":"Operating system version\neg `4.3.1`, `10.6.7`, `3.2`\n","type":"apiKey","in":"header","name":"X-Plex-Platform-Version"},"Platform":{"description":"Platform name \neg: `Web`, `iOS`, `MacOSX`, `Android`, `LG`\n","type":"apiKey","in":"header","name":"X-Plex-Platform"},"Product":{"description":"Plex application name \neg: `Laika`, `Plex Media Server`, `Media Link`\n","type":"apiKey","in":"header","name":"X-Plex-Product"},"Version":{"description":"Plex application version number","type":"apiKey","in":"header","name":"X-Plex-Version"}},"info":{"title":"Plex-API","summary":"A Plex.TV API Map","description":"An Open API Spec for interacting with Plex.tv","version":"0.0.3","contact":{"name":"Luke Hagar","url":"https://www.LukeHagar.com","email":"Lukeslakemail@gmail.com"},"license":{"name":"MIT","identifier":"MIT","url":"https://opensource.org/licenses/MIT"}},"postman":{"name":"Get Devices","description":{"content":"Get Devices","type":"text/plain"},"url":{"path":["resources"],"host":["{{baseUrl}}"],"query":[{"disabled":false,"description":{"content":"Include Https entries in the results","type":"text/plain"},"key":"includeHttps","value":""},{"disabled":false,"description":{"content":"Include Relay addresses in the results","type":"text/plain"},"key":"includeRelay","value":""},{"disabled":false,"description":{"content":"Include IPv6 entries in the results","type":"text/plain"},"key":"includeIPv6","value":""}],"variable":[]},"header":[{"key":"Accept","value":"application/json"}],"method":"GET"}} +sidebar_class_name: "get api-method" +info_path: docs/plex-tv/plex-api +--- + +import ApiTabs from "@theme/ApiTabs"; +import DiscriminatorTabs from "@theme/DiscriminatorTabs"; +import MethodEndpoint from "@theme/ApiDemoPanel/MethodEndpoint"; +import MimeTabs from "@theme/MimeTabs"; +import ParamsItem from "@theme/ParamsItem"; +import ResponseSamples from "@theme/ResponseSamples"; +import SchemaItem from "@theme/SchemaItem"; +import SchemaTabs from "@theme/SchemaTabs"; +import TabItem from "@theme/TabItem"; + +

Get Devices

+ + + + + +Get Devices + +
Query Parameters
+ +List of Plex Devices + +
Schema
  • Array [
  • connections object[]
  • Array [
  • ]
  • ]
+ +Unauthorized - Returned if the X-Plex-Token is missing from the header or query. + +
Schema
    errors object[]
  • Array [
  • ]
\ No newline at end of file diff --git a/docs/plex-tv/get-geo-data.api.mdx b/docs/plex-tv/get-geo-data.api.mdx new file mode 100644 index 0000000..e67ffd1 --- /dev/null +++ b/docs/plex-tv/get-geo-data.api.mdx @@ -0,0 +1,37 @@ +--- +id: get-geo-data +sidebar_label: Get Geo Data +hide_title: true +hide_table_of_contents: true +api: {"tags":["Plex.tv"],"description":"Get Geo Data","operationId":"getGeoData","responses":{"200":{"description":"Geo Data","content":{"application/json":{"schema":{"type":"object","properties":{"id":{"type":"number","example":1841489},"name":{"type":"string","example":"Blindkitty38's home"},"guestUserID":{"type":"number","example":58815432},"guestUserUUID":{"type":"string","example":"f3df4e01bfca0787"},"guestEnabled":{"type":"boolean"},"subscription":{"type":"boolean"}}}}}},"401":{"description":"Unauthorized - Returned if the X-Plex-Token is missing from the header or query.","content":{"application/json":{"schema":{"type":"object","properties":{"errors":{"type":"array","items":{"type":"object","properties":{"code":{"type":"number","example":1001},"message":{"type":"string","example":"User could not be authenticated"},"status":{"type":"number","example":401}}}}}}}}}},"method":"get","path":"/geoip","servers":[{"url":"https://plex.tv/api/v2"}],"security":[{"Token":[],"ClientIdentifier":[],"Device":[],"DeviceName":[],"Platform":[],"PlatformVersion":[],"Product":[],"Version":[]}],"securitySchemes":{"Token":{"description":"Plex Authentication Token","type":"apiKey","in":"header","name":"X-Plex-Token"},"ClientIdentifier":{"description":"Plex Authentication Token","type":"apiKey","in":"header","name":"X-Plex-Client-Identifier"},"DeviceName":{"description":"Primary name for the device eg. `Plex Web (Chrome)`","type":"apiKey","in":"header","name":"X-Plex-Device-Name"},"Device":{"description":"The type of device your application is running on\nDevice name and or model number, eg `iPhone3,2`, `Motorola XOOM™`, `LG5200TV`\n","type":"apiKey","in":"header","name":"X-Plex-Device"},"PlatformVersion":{"description":"Operating system version\neg `4.3.1`, `10.6.7`, `3.2`\n","type":"apiKey","in":"header","name":"X-Plex-Platform-Version"},"Platform":{"description":"Platform name \neg: `Web`, `iOS`, `MacOSX`, `Android`, `LG`\n","type":"apiKey","in":"header","name":"X-Plex-Platform"},"Product":{"description":"Plex application name \neg: `Laika`, `Plex Media Server`, `Media Link`\n","type":"apiKey","in":"header","name":"X-Plex-Product"},"Version":{"description":"Plex application version number","type":"apiKey","in":"header","name":"X-Plex-Version"}},"info":{"title":"Plex-API","summary":"A Plex.TV API Map","description":"An Open API Spec for interacting with Plex.tv","version":"0.0.3","contact":{"name":"Luke Hagar","url":"https://www.LukeHagar.com","email":"Lukeslakemail@gmail.com"},"license":{"name":"MIT","identifier":"MIT","url":"https://opensource.org/licenses/MIT"}},"postman":{"name":"Get Geo Data","description":{"content":"Get Geo Data","type":"text/plain"},"url":{"path":["geoip"],"host":["{{baseUrl}}"],"query":[],"variable":[]},"header":[{"key":"Accept","value":"application/json"}],"method":"GET"}} +sidebar_class_name: "get api-method" +info_path: docs/plex-tv/plex-api +--- + +import ApiTabs from "@theme/ApiTabs"; +import DiscriminatorTabs from "@theme/DiscriminatorTabs"; +import MethodEndpoint from "@theme/ApiDemoPanel/MethodEndpoint"; +import MimeTabs from "@theme/MimeTabs"; +import ParamsItem from "@theme/ParamsItem"; +import ResponseSamples from "@theme/ResponseSamples"; +import SchemaItem from "@theme/SchemaItem"; +import SchemaTabs from "@theme/SchemaTabs"; +import TabItem from "@theme/TabItem"; + +

Get Geo Data

+ + + + + +Get Geo Data + +
+ +Geo Data + +
Schema
+ +Unauthorized - Returned if the X-Plex-Token is missing from the header or query. + +
Schema
    errors object[]
  • Array [
  • ]
\ No newline at end of file diff --git a/docs/plex-tv/get-home-data.api.mdx b/docs/plex-tv/get-home-data.api.mdx new file mode 100644 index 0000000..95ac707 --- /dev/null +++ b/docs/plex-tv/get-home-data.api.mdx @@ -0,0 +1,37 @@ +--- +id: get-home-data +sidebar_label: Get Home Data +hide_title: true +hide_table_of_contents: true +api: {"tags":["Plex.tv"],"description":"Get Home Data","operationId":"getHomeData","responses":{"200":{"description":"Home Data","content":{"application/json":{"schema":{"type":"object","properties":{"id":{"type":"number","example":1841489},"name":{"type":"string","example":"Blindkitty38's home"},"guestUserID":{"type":"number","example":58815432},"guestUserUUID":{"type":"string","example":"f3df4e01bfca0787"},"guestEnabled":{"type":"boolean"},"subscription":{"type":"boolean"}}}}}},"401":{"description":"Unauthorized - Returned if the X-Plex-Token is missing from the header or query.","content":{"application/json":{"schema":{"type":"object","properties":{"errors":{"type":"array","items":{"type":"object","properties":{"code":{"type":"number","example":1001},"message":{"type":"string","example":"User could not be authenticated"},"status":{"type":"number","example":401}}}}}}}}}},"method":"get","path":"/home","servers":[{"url":"https://plex.tv/api/v2"}],"security":[{"Token":[],"ClientIdentifier":[],"Device":[],"DeviceName":[],"Platform":[],"PlatformVersion":[],"Product":[],"Version":[]}],"securitySchemes":{"Token":{"description":"Plex Authentication Token","type":"apiKey","in":"header","name":"X-Plex-Token"},"ClientIdentifier":{"description":"Plex Authentication Token","type":"apiKey","in":"header","name":"X-Plex-Client-Identifier"},"DeviceName":{"description":"Primary name for the device eg. `Plex Web (Chrome)`","type":"apiKey","in":"header","name":"X-Plex-Device-Name"},"Device":{"description":"The type of device your application is running on\nDevice name and or model number, eg `iPhone3,2`, `Motorola XOOM™`, `LG5200TV`\n","type":"apiKey","in":"header","name":"X-Plex-Device"},"PlatformVersion":{"description":"Operating system version\neg `4.3.1`, `10.6.7`, `3.2`\n","type":"apiKey","in":"header","name":"X-Plex-Platform-Version"},"Platform":{"description":"Platform name \neg: `Web`, `iOS`, `MacOSX`, `Android`, `LG`\n","type":"apiKey","in":"header","name":"X-Plex-Platform"},"Product":{"description":"Plex application name \neg: `Laika`, `Plex Media Server`, `Media Link`\n","type":"apiKey","in":"header","name":"X-Plex-Product"},"Version":{"description":"Plex application version number","type":"apiKey","in":"header","name":"X-Plex-Version"}},"info":{"title":"Plex-API","summary":"A Plex.TV API Map","description":"An Open API Spec for interacting with Plex.tv","version":"0.0.3","contact":{"name":"Luke Hagar","url":"https://www.LukeHagar.com","email":"Lukeslakemail@gmail.com"},"license":{"name":"MIT","identifier":"MIT","url":"https://opensource.org/licenses/MIT"}},"postman":{"name":"Get Home Data","description":{"content":"Get Home Data","type":"text/plain"},"url":{"path":["home"],"host":["{{baseUrl}}"],"query":[],"variable":[]},"header":[{"key":"Accept","value":"application/json"}],"method":"GET"}} +sidebar_class_name: "get api-method" +info_path: docs/plex-tv/plex-api +--- + +import ApiTabs from "@theme/ApiTabs"; +import DiscriminatorTabs from "@theme/DiscriminatorTabs"; +import MethodEndpoint from "@theme/ApiDemoPanel/MethodEndpoint"; +import MimeTabs from "@theme/MimeTabs"; +import ParamsItem from "@theme/ParamsItem"; +import ResponseSamples from "@theme/ResponseSamples"; +import SchemaItem from "@theme/SchemaItem"; +import SchemaTabs from "@theme/SchemaTabs"; +import TabItem from "@theme/TabItem"; + +

Get Home Data

+ + + + + +Get Home Data + +
+ +Home Data + +
Schema
+ +Unauthorized - Returned if the X-Plex-Token is missing from the header or query. + +
Schema
    errors object[]
  • Array [
  • ]
\ No newline at end of file diff --git a/docs/plex-tv/get-pin.api.mdx b/docs/plex-tv/get-pin.api.mdx new file mode 100644 index 0000000..60d2b44 --- /dev/null +++ b/docs/plex-tv/get-pin.api.mdx @@ -0,0 +1,37 @@ +--- +id: get-pin +sidebar_label: Get a Pin +hide_title: true +hide_table_of_contents: true +api: {"tags":["Plex.tv"],"operationId":"getPin","description":"Retrieve a Pin from Plex.tv for authentication flows","security":[{"ClientIdentifier":[]}],"parameters":[{"name":"strong","description":"Determines the kind of code returned by the API call\nStrong codes are used for Pin authentication flows\nNon-Strong codes are used for `Plex.tv/link`\n","in":"query","schema":{"type":"boolean","default":false},"required":false}],"responses":{"200":{"description":"The Pin","content":{"application/json":{"schema":{"type":"object","properties":{"id":{"description":"PinID for use with authentication","type":"number","example":1272322473},"code":{"type":"string","example":"3patfx1a78ukcbr7x0n9bl26t"},"product":{"type":"string","example":"Plex Web"},"trusted":{"type":"boolean"},"qr":{"description":"a link to a QR code hosted on plex.tv \nThe QR code redirects to the relevant `plex.tv/link` authentication page\nWhich then prompts the user for the 4 Digit Link Pin\n","type":"string","example":"https://plex.tv/api/v2/pins/qr/3patfx1a78ukcbr7x0n9bl26t"},"clientIdentifier":{"type":"string","example":"Postman"},"location":{"type":"object","properties":{"code":{"type":"string","example":"US"},"european_union_member":{"type":"boolean"},"continent_code":{"type":"string","example":"NA"},"country":{"type":"string","example":"United States"},"city":{"type":"string","example":"Austin"},"time_zone":{"type":"string","example":"America/Chicago"},"postal_code":{"type":"string","example":78732},"in_privacy_restricted_country":{"type":"boolean"},"subdivisions":{"type":"string","example":"Texas"},"coordinates":{"type":"string","example":"30.3768 -97.8935"}}},"expiresIn":{"type":"number","example":1800},"createdAt":{"type":"string","format":"date-time","example":"2023-04-12T17:00:03.000Z"},"expiresAt":{"type":"string","format":"date-time","example":"2023-04-12T17:30:03.000Z"},"authToken":{"type":"string","format":"nullable"},"newRegistration":{"type":"string","format":"nullable"}}}}}},"400":{"description":"X-Plex-Client-Identifier is missing","content":{"application/json":{"schema":{"type":"object","properties":{"errors":{"type":"array","items":{"type":"object","properties":{"code":{"type":"number","example":1000},"message":{"type":"string","example":"X-Plex-Client-Identifier is missing"},"status":{"type":"number","example":400}}}}}}}}}},"method":"post","path":"/pins","servers":[{"url":"https://plex.tv/api/v2"}],"securitySchemes":{"Token":{"description":"Plex Authentication Token","type":"apiKey","in":"header","name":"X-Plex-Token"},"ClientIdentifier":{"description":"Plex Authentication Token","type":"apiKey","in":"header","name":"X-Plex-Client-Identifier"},"DeviceName":{"description":"Primary name for the device eg. `Plex Web (Chrome)`","type":"apiKey","in":"header","name":"X-Plex-Device-Name"},"Device":{"description":"The type of device your application is running on\nDevice name and or model number, eg `iPhone3,2`, `Motorola XOOM™`, `LG5200TV`\n","type":"apiKey","in":"header","name":"X-Plex-Device"},"PlatformVersion":{"description":"Operating system version\neg `4.3.1`, `10.6.7`, `3.2`\n","type":"apiKey","in":"header","name":"X-Plex-Platform-Version"},"Platform":{"description":"Platform name \neg: `Web`, `iOS`, `MacOSX`, `Android`, `LG`\n","type":"apiKey","in":"header","name":"X-Plex-Platform"},"Product":{"description":"Plex application name \neg: `Laika`, `Plex Media Server`, `Media Link`\n","type":"apiKey","in":"header","name":"X-Plex-Product"},"Version":{"description":"Plex application version number","type":"apiKey","in":"header","name":"X-Plex-Version"}},"info":{"title":"Plex-API","summary":"A Plex.TV API Map","description":"An Open API Spec for interacting with Plex.tv","version":"0.0.3","contact":{"name":"Luke Hagar","url":"https://www.LukeHagar.com","email":"Lukeslakemail@gmail.com"},"license":{"name":"MIT","identifier":"MIT","url":"https://opensource.org/licenses/MIT"}},"postman":{"name":"Get a Pin","description":{"content":"Retrieve a Pin from Plex.tv for authentication flows","type":"text/plain"},"url":{"path":["pins"],"host":["{{baseUrl}}"],"query":[{"disabled":false,"description":{"content":"Determines the kind of code returned by the API call\nStrong codes are used for Pin authentication flows\nNon-Strong codes are used for `Plex.tv/link`\n","type":"text/plain"},"key":"strong","value":""}],"variable":[]},"header":[{"key":"Accept","value":"application/json"}],"method":"POST","auth":{"type":"apikey","apikey":[{"type":"any","value":"X-Plex-Client-Identifier","key":"key"},{"type":"any","value":"","key":"value"},{"type":"any","value":"header","key":"in"}]}}} +sidebar_class_name: "post api-method" +info_path: docs/plex-tv/plex-api +--- + +import ApiTabs from "@theme/ApiTabs"; +import DiscriminatorTabs from "@theme/DiscriminatorTabs"; +import MethodEndpoint from "@theme/ApiDemoPanel/MethodEndpoint"; +import MimeTabs from "@theme/MimeTabs"; +import ParamsItem from "@theme/ParamsItem"; +import ResponseSamples from "@theme/ResponseSamples"; +import SchemaItem from "@theme/SchemaItem"; +import SchemaTabs from "@theme/SchemaTabs"; +import TabItem from "@theme/TabItem"; + +

Get a Pin

+ + + + + +Retrieve a Pin from Plex.tv for authentication flows + +
Query Parameters
+ +The Pin + +
Schema
    location object
+ +X-Plex-Client-Identifier is missing + +
Schema
    errors object[]
  • Array [
  • ]
\ No newline at end of file diff --git a/docs/plex-tv/get-token.api.mdx b/docs/plex-tv/get-token.api.mdx new file mode 100644 index 0000000..c231725 --- /dev/null +++ b/docs/plex-tv/get-token.api.mdx @@ -0,0 +1,37 @@ +--- +id: get-token +sidebar_label: Get Access Token +hide_title: true +hide_table_of_contents: true +api: {"tags":["Plex.tv"],"operationId":"getToken","description":"Retrieve an Access Token from Plex.tv after the Pin has already been authenticated","security":[{"ClientIdentifier":[]}],"parameters":[{"name":"pinID","description":"The PinID to retrieve an access token for","in":"path","schema":{"type":"string"},"required":true}],"responses":{"200":{"description":"Access Token"},"400":{"description":"X-Plex-Client-Identifier is missing","content":{"application/json":{"schema":{"type":"object","properties":{"errors":{"type":"array","items":{"type":"object","properties":{"code":{"type":"number","example":1000},"message":{"type":"string","example":"X-Plex-Client-Identifier is missing"},"status":{"type":"number","example":400}}}}}}}}}},"method":"get","path":"/pins/{pinID}","servers":[{"url":"https://plex.tv/api/v2"}],"securitySchemes":{"Token":{"description":"Plex Authentication Token","type":"apiKey","in":"header","name":"X-Plex-Token"},"ClientIdentifier":{"description":"Plex Authentication Token","type":"apiKey","in":"header","name":"X-Plex-Client-Identifier"},"DeviceName":{"description":"Primary name for the device eg. `Plex Web (Chrome)`","type":"apiKey","in":"header","name":"X-Plex-Device-Name"},"Device":{"description":"The type of device your application is running on\nDevice name and or model number, eg `iPhone3,2`, `Motorola XOOM™`, `LG5200TV`\n","type":"apiKey","in":"header","name":"X-Plex-Device"},"PlatformVersion":{"description":"Operating system version\neg `4.3.1`, `10.6.7`, `3.2`\n","type":"apiKey","in":"header","name":"X-Plex-Platform-Version"},"Platform":{"description":"Platform name \neg: `Web`, `iOS`, `MacOSX`, `Android`, `LG`\n","type":"apiKey","in":"header","name":"X-Plex-Platform"},"Product":{"description":"Plex application name \neg: `Laika`, `Plex Media Server`, `Media Link`\n","type":"apiKey","in":"header","name":"X-Plex-Product"},"Version":{"description":"Plex application version number","type":"apiKey","in":"header","name":"X-Plex-Version"}},"info":{"title":"Plex-API","summary":"A Plex.TV API Map","description":"An Open API Spec for interacting with Plex.tv","version":"0.0.3","contact":{"name":"Luke Hagar","url":"https://www.LukeHagar.com","email":"Lukeslakemail@gmail.com"},"license":{"name":"MIT","identifier":"MIT","url":"https://opensource.org/licenses/MIT"}},"postman":{"name":"Get Access Token","description":{"content":"Retrieve an Access Token from Plex.tv after the Pin has already been authenticated","type":"text/plain"},"url":{"path":["pins",":pinID"],"host":["{{baseUrl}}"],"query":[],"variable":[{"disabled":false,"description":{"content":"(Required) The PinID to retrieve an access token for","type":"text/plain"},"type":"any","value":"","key":"pinID"}]},"header":[{"key":"Accept","value":"application/json"}],"method":"GET","auth":{"type":"apikey","apikey":[{"type":"any","value":"X-Plex-Client-Identifier","key":"key"},{"type":"any","value":"","key":"value"},{"type":"any","value":"header","key":"in"}]}}} +sidebar_class_name: "get api-method" +info_path: docs/plex-tv/plex-api +--- + +import ApiTabs from "@theme/ApiTabs"; +import DiscriminatorTabs from "@theme/DiscriminatorTabs"; +import MethodEndpoint from "@theme/ApiDemoPanel/MethodEndpoint"; +import MimeTabs from "@theme/MimeTabs"; +import ParamsItem from "@theme/ParamsItem"; +import ResponseSamples from "@theme/ResponseSamples"; +import SchemaItem from "@theme/SchemaItem"; +import SchemaTabs from "@theme/SchemaTabs"; +import TabItem from "@theme/TabItem"; + +

Get Access Token

+ + + + + +Retrieve an Access Token from Plex.tv after the Pin has already been authenticated + +
Path Parameters
+ +Access Token + +
+ +X-Plex-Client-Identifier is missing + +
Schema
    errors object[]
  • Array [
  • ]
\ No newline at end of file diff --git a/docs/plex-tv/get-user-details.api.mdx b/docs/plex-tv/get-user-details.api.mdx new file mode 100644 index 0000000..37fad58 --- /dev/null +++ b/docs/plex-tv/get-user-details.api.mdx @@ -0,0 +1,37 @@ +--- +id: get-user-details +sidebar_label: Get Logged in User +hide_title: true +hide_table_of_contents: true +api: {"tags":["Plex.tv"],"description":"Get Logged in User","operationId":"getUserDetails","responses":{"200":{"description":"Logged in user details"},"401":{"description":"Unauthorized - Returned if the X-Plex-Token is missing from the header or query.","content":{"application/json":{"schema":{"type":"object","properties":{"errors":{"type":"array","items":{"type":"object","properties":{"code":{"type":"number","example":1001},"message":{"type":"string","example":"User could not be authenticated"},"status":{"type":"number","example":401}}}}}}}}}},"method":"get","path":"/user","servers":[{"url":"https://plex.tv/api/v2"}],"security":[{"Token":[],"ClientIdentifier":[],"Device":[],"DeviceName":[],"Platform":[],"PlatformVersion":[],"Product":[],"Version":[]}],"securitySchemes":{"Token":{"description":"Plex Authentication Token","type":"apiKey","in":"header","name":"X-Plex-Token"},"ClientIdentifier":{"description":"Plex Authentication Token","type":"apiKey","in":"header","name":"X-Plex-Client-Identifier"},"DeviceName":{"description":"Primary name for the device eg. `Plex Web (Chrome)`","type":"apiKey","in":"header","name":"X-Plex-Device-Name"},"Device":{"description":"The type of device your application is running on\nDevice name and or model number, eg `iPhone3,2`, `Motorola XOOM™`, `LG5200TV`\n","type":"apiKey","in":"header","name":"X-Plex-Device"},"PlatformVersion":{"description":"Operating system version\neg `4.3.1`, `10.6.7`, `3.2`\n","type":"apiKey","in":"header","name":"X-Plex-Platform-Version"},"Platform":{"description":"Platform name \neg: `Web`, `iOS`, `MacOSX`, `Android`, `LG`\n","type":"apiKey","in":"header","name":"X-Plex-Platform"},"Product":{"description":"Plex application name \neg: `Laika`, `Plex Media Server`, `Media Link`\n","type":"apiKey","in":"header","name":"X-Plex-Product"},"Version":{"description":"Plex application version number","type":"apiKey","in":"header","name":"X-Plex-Version"}},"info":{"title":"Plex-API","summary":"A Plex.TV API Map","description":"An Open API Spec for interacting with Plex.tv","version":"0.0.3","contact":{"name":"Luke Hagar","url":"https://www.LukeHagar.com","email":"Lukeslakemail@gmail.com"},"license":{"name":"MIT","identifier":"MIT","url":"https://opensource.org/licenses/MIT"}},"postman":{"name":"Get Logged in User","description":{"content":"Get Logged in User","type":"text/plain"},"url":{"path":["user"],"host":["{{baseUrl}}"],"query":[],"variable":[]},"header":[{"key":"Accept","value":"application/json"}],"method":"GET"}} +sidebar_class_name: "get api-method" +info_path: docs/plex-tv/plex-api +--- + +import ApiTabs from "@theme/ApiTabs"; +import DiscriminatorTabs from "@theme/DiscriminatorTabs"; +import MethodEndpoint from "@theme/ApiDemoPanel/MethodEndpoint"; +import MimeTabs from "@theme/MimeTabs"; +import ParamsItem from "@theme/ParamsItem"; +import ResponseSamples from "@theme/ResponseSamples"; +import SchemaItem from "@theme/SchemaItem"; +import SchemaTabs from "@theme/SchemaTabs"; +import TabItem from "@theme/TabItem"; + +

Get Logged in User

+ + + + + +Get Logged in User + +
+ +Logged in user details + +
+ +Unauthorized - Returned if the X-Plex-Token is missing from the header or query. + +
Schema
    errors object[]
  • Array [
  • ]
\ No newline at end of file diff --git a/docs/plex-tv/get-user-opt-out-settings.api.mdx b/docs/plex-tv/get-user-opt-out-settings.api.mdx new file mode 100644 index 0000000..cc352b8 --- /dev/null +++ b/docs/plex-tv/get-user-opt-out-settings.api.mdx @@ -0,0 +1,37 @@ +--- +id: get-user-opt-out-settings +sidebar_label: Get User Opt Out Settings +hide_title: true +hide_table_of_contents: true +api: {"tags":["Plex.tv"],"description":"Get User Opt Out Settings","operationId":"getUserOptOutSettings","responses":{"200":{"description":"User Opt Out Settings","content":{"application/json":{"schema":{"type":"object","properties":{"tv.plex.provider.podcasts":{"type":"string","example":"opt_in"},"tv.plex.provider.news":{"type":"string","example":"opt_in"},"tv.plex.provider.webshows":{"type":"string","example":"opt_out"},"tv.plex.provider.music":{"type":"string","example":"opt_out"},"tv.plex.provider.vod":{"type":"string","example":"opt_in"},"scrobbling":{"type":"string","example":"opt_in"}}}}}},"401":{"description":"Unauthorized - Returned if the X-Plex-Token is missing from the header or query.","content":{"application/json":{"schema":{"type":"object","properties":{"errors":{"type":"array","items":{"type":"object","properties":{"code":{"type":"number","example":1001},"message":{"type":"string","example":"User could not be authenticated"},"status":{"type":"number","example":401}}}}}}}}}},"method":"get","path":"/user/settings/opt_outs","servers":[{"url":"https://plex.tv/api/v2"}],"security":[{"Token":[],"ClientIdentifier":[],"Device":[],"DeviceName":[],"Platform":[],"PlatformVersion":[],"Product":[],"Version":[]}],"securitySchemes":{"Token":{"description":"Plex Authentication Token","type":"apiKey","in":"header","name":"X-Plex-Token"},"ClientIdentifier":{"description":"Plex Authentication Token","type":"apiKey","in":"header","name":"X-Plex-Client-Identifier"},"DeviceName":{"description":"Primary name for the device eg. `Plex Web (Chrome)`","type":"apiKey","in":"header","name":"X-Plex-Device-Name"},"Device":{"description":"The type of device your application is running on\nDevice name and or model number, eg `iPhone3,2`, `Motorola XOOM™`, `LG5200TV`\n","type":"apiKey","in":"header","name":"X-Plex-Device"},"PlatformVersion":{"description":"Operating system version\neg `4.3.1`, `10.6.7`, `3.2`\n","type":"apiKey","in":"header","name":"X-Plex-Platform-Version"},"Platform":{"description":"Platform name \neg: `Web`, `iOS`, `MacOSX`, `Android`, `LG`\n","type":"apiKey","in":"header","name":"X-Plex-Platform"},"Product":{"description":"Plex application name \neg: `Laika`, `Plex Media Server`, `Media Link`\n","type":"apiKey","in":"header","name":"X-Plex-Product"},"Version":{"description":"Plex application version number","type":"apiKey","in":"header","name":"X-Plex-Version"}},"info":{"title":"Plex-API","summary":"A Plex.TV API Map","description":"An Open API Spec for interacting with Plex.tv","version":"0.0.3","contact":{"name":"Luke Hagar","url":"https://www.LukeHagar.com","email":"Lukeslakemail@gmail.com"},"license":{"name":"MIT","identifier":"MIT","url":"https://opensource.org/licenses/MIT"}},"postman":{"name":"Get User Opt Out Settings","description":{"content":"Get User Opt Out Settings","type":"text/plain"},"url":{"path":["user","settings","opt_outs"],"host":["{{baseUrl}}"],"query":[],"variable":[]},"header":[{"key":"Accept","value":"application/json"}],"method":"GET"}} +sidebar_class_name: "get api-method" +info_path: docs/plex-tv/plex-api +--- + +import ApiTabs from "@theme/ApiTabs"; +import DiscriminatorTabs from "@theme/DiscriminatorTabs"; +import MethodEndpoint from "@theme/ApiDemoPanel/MethodEndpoint"; +import MimeTabs from "@theme/MimeTabs"; +import ParamsItem from "@theme/ParamsItem"; +import ResponseSamples from "@theme/ResponseSamples"; +import SchemaItem from "@theme/SchemaItem"; +import SchemaTabs from "@theme/SchemaTabs"; +import TabItem from "@theme/TabItem"; + +

Get User Opt Out Settings

+ + + + + +Get User Opt Out Settings + +
+ +User Opt Out Settings + +
Schema
+ +Unauthorized - Returned if the X-Plex-Token is missing from the header or query. + +
Schema
    errors object[]
  • Array [
  • ]
\ No newline at end of file diff --git a/docs/plex-tv/get-user-settings.api.mdx b/docs/plex-tv/get-user-settings.api.mdx new file mode 100644 index 0000000..ea2870d --- /dev/null +++ b/docs/plex-tv/get-user-settings.api.mdx @@ -0,0 +1,37 @@ +--- +id: get-user-settings +sidebar_label: Get User Settings +hide_title: true +hide_table_of_contents: true +api: {"tags":["Plex.tv"],"description":"Get User Settings","operationId":"getUserSettings","responses":{"200":{"description":"User Settings","content":{"application/json":{"schema":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","example":"experience"},"type":{"type":"string","example":"json"},"value":{"type":"string"},"hidden":{"type":"boolean"},"updatedAt":{"type":"number","example":1681769995}}}}}}},"401":{"description":"Unauthorized - Returned if the X-Plex-Token is missing from the header or query.","content":{"application/json":{"schema":{"type":"object","properties":{"errors":{"type":"array","items":{"type":"object","properties":{"code":{"type":"number","example":1001},"message":{"type":"string","example":"User could not be authenticated"},"status":{"type":"number","example":401}}}}}}}}}},"method":"get","path":"/user/settings","servers":[{"url":"https://plex.tv/api/v2"}],"security":[{"Token":[],"ClientIdentifier":[],"Device":[],"DeviceName":[],"Platform":[],"PlatformVersion":[],"Product":[],"Version":[]}],"securitySchemes":{"Token":{"description":"Plex Authentication Token","type":"apiKey","in":"header","name":"X-Plex-Token"},"ClientIdentifier":{"description":"Plex Authentication Token","type":"apiKey","in":"header","name":"X-Plex-Client-Identifier"},"DeviceName":{"description":"Primary name for the device eg. `Plex Web (Chrome)`","type":"apiKey","in":"header","name":"X-Plex-Device-Name"},"Device":{"description":"The type of device your application is running on\nDevice name and or model number, eg `iPhone3,2`, `Motorola XOOM™`, `LG5200TV`\n","type":"apiKey","in":"header","name":"X-Plex-Device"},"PlatformVersion":{"description":"Operating system version\neg `4.3.1`, `10.6.7`, `3.2`\n","type":"apiKey","in":"header","name":"X-Plex-Platform-Version"},"Platform":{"description":"Platform name \neg: `Web`, `iOS`, `MacOSX`, `Android`, `LG`\n","type":"apiKey","in":"header","name":"X-Plex-Platform"},"Product":{"description":"Plex application name \neg: `Laika`, `Plex Media Server`, `Media Link`\n","type":"apiKey","in":"header","name":"X-Plex-Product"},"Version":{"description":"Plex application version number","type":"apiKey","in":"header","name":"X-Plex-Version"}},"info":{"title":"Plex-API","summary":"A Plex.TV API Map","description":"An Open API Spec for interacting with Plex.tv","version":"0.0.3","contact":{"name":"Luke Hagar","url":"https://www.LukeHagar.com","email":"Lukeslakemail@gmail.com"},"license":{"name":"MIT","identifier":"MIT","url":"https://opensource.org/licenses/MIT"}},"postman":{"name":"Get User Settings","description":{"content":"Get User Settings","type":"text/plain"},"url":{"path":["user","settings"],"host":["{{baseUrl}}"],"query":[],"variable":[]},"header":[{"key":"Accept","value":"application/json"}],"method":"GET"}} +sidebar_class_name: "get api-method" +info_path: docs/plex-tv/plex-api +--- + +import ApiTabs from "@theme/ApiTabs"; +import DiscriminatorTabs from "@theme/DiscriminatorTabs"; +import MethodEndpoint from "@theme/ApiDemoPanel/MethodEndpoint"; +import MimeTabs from "@theme/MimeTabs"; +import ParamsItem from "@theme/ParamsItem"; +import ResponseSamples from "@theme/ResponseSamples"; +import SchemaItem from "@theme/SchemaItem"; +import SchemaTabs from "@theme/SchemaTabs"; +import TabItem from "@theme/TabItem"; + +

Get User Settings

+ + + + + +Get User Settings + +
+ +User Settings + +
Schema
  • Array [
  • ]
+ +Unauthorized - Returned if the X-Plex-Token is missing from the header or query. + +
Schema
    errors object[]
  • Array [
  • ]
\ No newline at end of file diff --git a/docs/plex-tv/plex-api.info.mdx b/docs/plex-tv/plex-api.info.mdx new file mode 100644 index 0000000..7dd14e3 --- /dev/null +++ b/docs/plex-tv/plex-api.info.mdx @@ -0,0 +1,63 @@ +--- +id: plex-api +sidebar_label: Introduction +sidebar_position: 0 +hide_title: true +--- + +import ApiLogo from "@theme/ApiLogo"; +import SchemaTabs from "@theme/SchemaTabs"; +import TabItem from "@theme/TabItem"; +import Export from "@theme/ApiDemoPanel/Export"; + +Version: 0.0.3 + + + +

Plex-API

+ + + +An Open API Spec for interacting with Plex.tv + +

Authentication

+ +Plex Authentication Token + +
Security Scheme Type:apiKey
Header parameter name:X-Plex-Token
+ +Plex Authentication Token + +
Security Scheme Type:apiKey
Header parameter name:X-Plex-Client-Identifier
+ +Primary name for the device eg. `Plex Web (Chrome)` + +
Security Scheme Type:apiKey
Header parameter name:X-Plex-Device-Name
+ +The type of device your application is running on +Device name and or model number, eg `iPhone3,2`, `Motorola XOOM™`, `LG5200TV` + + +
Security Scheme Type:apiKey
Header parameter name:X-Plex-Device
+ +Operating system version +eg `4.3.1`, `10.6.7`, `3.2` + + +
Security Scheme Type:apiKey
Header parameter name:X-Plex-Platform-Version
+ +Platform name +eg: `Web`, `iOS`, `MacOSX`, `Android`, `LG` + + +
Security Scheme Type:apiKey
Header parameter name:X-Plex-Platform
+ +Plex application name +eg: `Laika`, `Plex Media Server`, `Media Link` + + +
Security Scheme Type:apiKey
Header parameter name:X-Plex-Product
+ +Plex application version number + +
Security Scheme Type:apiKey
Header parameter name:X-Plex-Version

License

MIT
\ No newline at end of file diff --git a/docs/plex-tv/sidebar.js b/docs/plex-tv/sidebar.js new file mode 100644 index 0000000..2047732 --- /dev/null +++ b/docs/plex-tv/sidebar.js @@ -0,0 +1 @@ +module.exports = [{"type":"doc","id":"plex-tv/plex-api"},{"type":"category","label":"Plex.tv","collapsed":false,"items":[{"type":"doc","id":"plex-tv/get-companions-data","label":"Get Companions Data","className":"api-method get"},{"type":"doc","id":"plex-tv/get-geo-data","label":"Get Geo Data","className":"api-method get"},{"type":"doc","id":"plex-tv/get-home-data","label":"Get Home Data","className":"api-method get"},{"type":"doc","id":"plex-tv/get-pin","label":"Get a Pin","className":"api-method post"},{"type":"doc","id":"plex-tv/get-token","label":"Get Access Token","className":"api-method get"},{"type":"doc","id":"plex-tv/get-devices","label":"Get Devices","className":"api-method get"},{"type":"doc","id":"plex-tv/get-user-details","label":"Get Logged in User","className":"api-method get"},{"type":"doc","id":"plex-tv/get-user-settings","label":"Get User Settings","className":"api-method get"},{"type":"doc","id":"plex-tv/get-user-opt-out-settings","label":"Get User Opt Out Settings","className":"api-method get"}]}]; \ No newline at end of file diff --git a/docusaurus.config.js b/docusaurus.config.js index 2b3b2e8..182823a 100644 --- a/docusaurus.config.js +++ b/docusaurus.config.js @@ -212,9 +212,21 @@ const config = { id: "openapi", docsPluginId: "classic", config: { - Plex: { - specPath: "static/plex-api-spec-dereferenced.yaml", // Path to designated spec file - outputDir: "docs/plex", // Output directory for generated .mdx docs + PlexTV: { + specPath: "static/plex-tv-spec-dereferenced.yaml", // Path to designated spec file + outputDir: "docs/plex-tv", // Output directory for generated .mdx docs + template: "api.mustache", + downloadUrl: + "https://raw.githubusercontent.com/LukeHagar/plex-api-spec/main/plex-api-spec-dereferenced.yaml", + sidebarOptions: { + groupPathsBy: "tag", + categoryLinkSource: "tag", + sidebarCollapsed: false, + }, + }, + PMS: { + specPath: "static/plex-media-server-spec-dereferenced.yaml", // Path to designated spec file + outputDir: "docs/plex-media-server", // Output directory for generated .mdx docs template: "api.mustache", downloadUrl: "https://raw.githubusercontent.com/LukeHagar/plex-api-spec/main/plex-api-spec-dereferenced.yaml", diff --git a/package.json b/package.json index 58d4802..e0d10a5 100644 --- a/package.json +++ b/package.json @@ -11,8 +11,8 @@ "deploy": "docusaurus deploy", "clear": "docusaurus clear", "serve": "docusaurus serve", - "gen-docs": "docusaurus gen-api-docs Plex", - "clean-docs": "docusaurus clean-api-docs Plex", + "gen-docs": "docusaurus gen-api-docs all", + "clean-docs": "docusaurus clean-api-docs all", "rebuild": "yarn clean-docs && yarn gen-docs" }, "dependencies": { diff --git a/static/plex-api-spec-dereferenced.yaml b/static/plex-api-spec-dereferenced.yaml deleted file mode 100644 index 68ff628..0000000 --- a/static/plex-api-spec-dereferenced.yaml +++ /dev/null @@ -1,4168 +0,0 @@ -openapi: 3.1.0 -info: - title: Plex-API - summary: A Plex Media Server API Map - description: An Open API Spec for interacting with Plex.tv and Plex Servers - version: 0.0.3 - contact: - name: Luke Hagar - url: 'https://www.LukeHagar.com' - email: Lukeslakemail@gmail.com - license: - name: MIT - identifier: MIT - url: 'https://opensource.org/licenses/MIT' -servers: - - url: 'http://{Local IP}:{Port}' - variables: - Local IP: - default: 10.10.10.47 - description: The Local IP Address of your plex server - Port: - default: '32400' - description: The port to access your plex server - - url: 'https://{Local IP}:{Port}' - variables: - Local IP: - default: 10.10.10.47 - description: The Local IP Address of your plex server - Port: - default: '32400' - description: The port to access your plex server -security: - - Token: [] - ClientIdentifier: [] - Device: [] - DeviceName: [] - Platform: [] - PlatformVersion: [] - Product: [] - Version: [] -components: - securitySchemes: - Token: - description: Plex Authentication Token - type: apiKey - in: header - name: X-Plex-Token - ClientIdentifier: - description: Plex Authentication Token - type: apiKey - in: header - name: X-Plex-Client-Identifier - DeviceName: - description: Primary name for the device eg. `Plex Web (Chrome)` - type: apiKey - in: header - name: X-Plex-Device-Name - Device: - description: | - The type of device your application is running on - Device name and or model number, eg `iPhone3,2`, `Motorola XOOM™`, `LG5200TV` - type: apiKey - in: header - name: X-Plex-Device - PlatformVersion: - description: | - Operating system version - eg `4.3.1`, `10.6.7`, `3.2` - type: apiKey - in: header - name: X-Plex-Platform-Version - Platform: - description: | - Platform name - eg: `Web`, `iOS`, `MacOSX`, `Android`, `LG` - type: apiKey - in: header - name: X-Plex-Platform - Product: - description: | - Plex application name - eg: `Laika`, `Plex Media Server`, `Media Link` - type: apiKey - in: header - name: X-Plex-Product - Version: - description: Plex application version number - type: apiKey - in: header - name: X-Plex-Version -paths: - /: - get: - tags: - - Server - summary: Server Capabilities - description: Server Capabilities - operationId: getServerCapabilities - responses: - '200': - description: The Server Capabilities - content: - application/json: - schema: - type: object - properties: - MediaContainer: - type: object - properties: - size: - type: number - allowCameraUpload: - type: boolean - allowChannelAccess: - type: boolean - allowMediaDeletion: - type: boolean - allowSharing: - type: boolean - allowSync: - type: boolean - allowTuners: - type: boolean - backgroundProcessing: - type: boolean - certificate: - type: boolean - companionProxy: - type: boolean - countryCode: - type: string - diagnostics: - type: string - eventStream: - type: boolean - friendlyName: - type: string - hubSearch: - type: boolean - itemClusters: - type: boolean - livetv: - type: number - machineIdentifier: - type: string - mediaProviders: - type: boolean - multiuser: - type: boolean - musicAnalysis: - type: number - myPlex: - type: boolean - myPlexMappingState: - type: string - myPlexSigninState: - type: string - myPlexSubscription: - type: boolean - myPlexUsername: - type: string - offlineTranscode: - type: number - ownerFeatures: - type: string - photoAutoTag: - type: boolean - platform: - type: string - platformVersion: - type: string - pluginHost: - type: boolean - pushNotifications: - type: boolean - readOnlyLibraries: - type: boolean - streamingBrainABRVersion: - type: number - streamingBrainVersion: - type: number - sync: - type: boolean - transcoderActiveVideoSessions: - type: number - transcoderAudio: - type: boolean - transcoderLyrics: - type: boolean - transcoderPhoto: - type: boolean - transcoderSubtitles: - type: boolean - transcoderVideo: - type: boolean - transcoderVideoBitrates: - type: string - transcoderVideoQualities: - type: string - transcoderVideoResolutions: - type: string - updatedAt: - type: number - updater: - type: boolean - version: - type: string - voiceSearch: - type: boolean - Directory: - type: array - items: - type: object - properties: - count: - type: number - key: - type: string - title: - type: string - '401': - description: Unauthorized - Returned if the X-Plex-Token is missing from the header or query. - content: - application/json: - schema: - type: object - properties: - errors: - type: array - items: - type: object - properties: - code: - type: number - example: 1001 - message: - type: string - example: User could not be authenticated - status: - type: number - example: 401 - '/:/prefs': - get: - tags: - - Server - summary: Get Server Preferences - description: Get Server Preferences - operationId: getServerPreferences - responses: - '200': - description: Server Preferences - '401': - description: Unauthorized - Returned if the X-Plex-Token is missing from the header or query. - content: - application/json: - schema: - type: object - properties: - errors: - type: array - items: - type: object - properties: - code: - type: number - example: 1001 - message: - type: string - example: User could not be authenticated - status: - type: number - example: 401 - /activities: - get: - tags: - - Activities - summary: Get Server Activities - description: Get Server Activities - operationId: getServerActivities - responses: - '200': - description: The Server Activities - content: - application/json: - schema: - type: object - properties: - MediaContainer: - type: object - properties: - size: - type: number - Activity: - type: array - items: - type: object - properties: - uuid: - type: string - type: - type: string - cancellable: - type: boolean - userID: - type: number - title: - type: string - subtitle: - type: string - progress: - type: number - Context: - type: object - properties: - librarySectionID: - type: string - '401': - description: Unauthorized - Returned if the X-Plex-Token is missing from the header or query. - content: - application/json: - schema: - type: object - properties: - errors: - type: array - items: - type: object - properties: - code: - type: number - example: 1001 - message: - type: string - example: User could not be authenticated - status: - type: number - example: 401 - '/activities/{activityUUID}': - delete: - tags: - - Activities - summary: Cancel Server Activities - description: Cancel Server Activities - operationId: cancelServerActivities - parameters: - - name: activityUUID - description: The UUID of the activity to cancel. - in: path - schema: - type: string - example: 25b71ed5-0f9d-461c-baa7-d404e9e10d3e - required: true - responses: - '200': - description: The Server Activity was canceled - '401': - description: Unauthorized - Returned if the X-Plex-Token is missing from the header or query. - content: - application/json: - schema: - type: object - properties: - errors: - type: array - items: - type: object - properties: - code: - type: number - example: 1001 - message: - type: string - example: User could not be authenticated - status: - type: number - example: 401 - /butler: - get: - tags: - - Butler - summary: Get Butler tasks - description: Returns a list of butler tasks - operationId: getButlerTasks - responses: - '200': - description: All butler tasks - content: - application/json: - schema: - type: object - properties: - ButlerTasks: - type: object - properties: - ButlerTask: - type: array - items: - type: object - properties: - name: - type: string - example: BackupDatabase - interval: - type: number - example: 3 - scheduleRandomized: - type: boolean - enabled: - type: boolean - title: - type: string - example: Backup Database - description: - type: string - example: Create a backup copy of the server's database in the configured backup directory - '401': - description: Unauthorized - Returned if the X-Plex-Token is missing from the header or query. - content: - application/json: - schema: - type: object - properties: - errors: - type: array - items: - type: object - properties: - code: - type: number - example: 1001 - message: - type: string - example: User could not be authenticated - status: - type: number - example: 401 - post: - tags: - - Butler - summary: Start all Butler tasks - description: | - This endpoint will attempt to start all Butler tasks that are enabled in the settings. Butler tasks normally run automatically during a time window configured on the server's Settings page but can be manually started using this endpoint. Tasks will run with the following criteria: - 1. Any tasks not scheduled to run on the current day will be skipped. - 2. If a task is configured to run at a random time during the configured window and we are outside that window, the task will start immediately. - 3. If a task is configured to run at a random time during the configured window and we are within that window, the task will be scheduled at a random time within the window. - 4. If we are outside the configured window, the task will start immediately. - operationId: startAllTasks - responses: - '200': - description: All tasks were started - '401': - description: Unauthorized - Returned if the X-Plex-Token is missing from the header or query. - content: - application/json: - schema: - type: object - properties: - errors: - type: array - items: - type: object - properties: - code: - type: number - example: 1001 - message: - type: string - example: User could not be authenticated - status: - type: number - example: 401 - delete: - tags: - - Butler - summary: Stop all Butler tasks - description: | - This endpoint will stop all currently running tasks and remove any scheduled tasks from the queue. - operationId: stopAllTasks - responses: - '200': - description: All tasks were stopped - '401': - description: Unauthorized - Returned if the X-Plex-Token is missing from the header or query. - content: - application/json: - schema: - type: object - properties: - errors: - type: array - items: - type: object - properties: - code: - type: number - example: 1001 - message: - type: string - example: User could not be authenticated - status: - type: number - example: 401 - '/butler/{taskName}': - post: - tags: - - Butler - summary: Start a single Butler task - description: | - This endpoint will attempt to start a single Butler task that is enabled in the settings. Butler tasks normally run automatically during a time window configured on the server's Settings page but can be manually started using this endpoint. Tasks will run with the following criteria: - 1. Any tasks not scheduled to run on the current day will be skipped. - 2. If a task is configured to run at a random time during the configured window and we are outside that window, the task will start immediately. - 3. If a task is configured to run at a random time during the configured window and we are within that window, the task will be scheduled at a random time within the window. - 4. If we are outside the configured window, the task will start immediately. - operationId: startTask - parameters: - - name: taskName - description: the name of the task to be started. - in: path - schema: - type: string - enum: - - BackupDatabase - - BuildGracenoteCollections - - CheckForUpdates - - CleanOldBundles - - CleanOldCacheFiles - - DeepMediaAnalysis - - GenerateAutoTags - - GenerateChapterThumbs - - GenerateMediaIndexFiles - - OptimizeDatabase - - RefreshLibraries - - RefreshLocalMedia - - RefreshPeriodicMetadata - - UpgradeMediaAnalysis - required: true - responses: - '200': - description: The task was started successfully - '202': - description: The task was already running. - '401': - description: Unauthorized - Returned if the X-Plex-Token is missing from the header or query. - content: - application/json: - schema: - type: object - properties: - errors: - type: array - items: - type: object - properties: - code: - type: number - example: 1001 - message: - type: string - example: User could not be authenticated - status: - type: number - example: 401 - delete: - tags: - - Butler - summary: Stop a single Butler task - description: | - This endpoint will stop a currently running task by name, or remove it from the list of scheduled tasks if it exists. See the section above for a list of task names for this endpoint. - operationId: stopTask - parameters: - - name: taskName - description: The name of the task to be started. - in: path - schema: - type: string - enum: - - BackupDatabase - - BuildGracenoteCollections - - CheckForUpdates - - CleanOldBundles - - CleanOldCacheFiles - - DeepMediaAnalysis - - GenerateAutoTags - - GenerateChapterThumbs - - GenerateMediaIndexFiles - - OptimizeDatabase - - RefreshLibraries - - RefreshLocalMedia - - RefreshPeriodicMetadata - - UpgradeMediaAnalysis - required: true - responses: - '200': - description: The task was stopped - '401': - description: Unauthorized - Returned if the X-Plex-Token is missing from the header or query. - content: - application/json: - schema: - type: object - properties: - errors: - type: array - items: - type: object - properties: - code: - type: number - example: 1001 - message: - type: string - example: User could not be authenticated - status: - type: number - example: 401 - '404': - description: The task was not running - /clients: - get: - tags: - - Devices - summary: Get Available Clients - description: Get Available Clients - operationId: getAvailableClients - responses: - '200': - description: Available Clients - content: - application/json: - schema: - type: array - items: - type: object - properties: - MediaContainer: - type: object - properties: - size: - type: number - example: 1 - Server: - type: array - items: - type: object - properties: - name: - type: string - example: iPad - host: - type: string - example: 10.10.10.102 - address: - type: string - example: 10.10.10.102 - port: - type: number - example: 32500 - machineIdentifier: - type: string - example: A2E901F8-E016-43A7-ADFB-EF8CA8A4AC05 - version: - type: string - example: 8.17 - protocol: - type: string - example: plex - product: - type: string - example: Plex for iOS - deviceClass: - type: string - example: tablet - protocolVersion: - type: string - example: 2 - protocolCapabilities: - type: string - example: 'playback,playqueues,timeline,provider-playback' - '401': - description: Unauthorized - Returned if the X-Plex-Token is missing from the header or query. - content: - application/json: - schema: - type: object - properties: - errors: - type: array - items: - type: object - properties: - code: - type: number - example: 1001 - message: - type: string - example: User could not be authenticated - status: - type: number - example: 401 - /hubs: - get: - tags: - - Hubs - summary: Get Global Hubs - description: '' - operationId: getGlobalHubs - parameters: - - name: count - description: The number of items to return with each hub. - in: query - schema: - type: number - required: false - - name: onlyTransient - description: 'Only return hubs which are "transient", meaning those which are prone to changing after media playback or addition (e.g. On Deck, or Recently Added).' - in: query - schema: - type: number - enum: - - 0 - - 1 - required: false - responses: - '200': - description: returns global hubs - '401': - description: Unauthorized - Returned if the X-Plex-Token is missing from the header or query. - content: - application/json: - schema: - type: object - properties: - errors: - type: array - items: - type: object - properties: - code: - type: number - example: 1001 - message: - type: string - example: User could not be authenticated - status: - type: number - example: 401 - /hubs/search: - get: - tags: - - Search - summary: Perform a search - operationId: performSearch - description: | - This endpoint performs a search across all library sections, or a single section, and returns matches as hubs, split up by type. It performs spell checking, looks for partial matches, and orders the hubs based on quality of results. In addition, based on matches, it will return other related matches (e.g. for a genre match, it may return movies in that genre, or for an actor match, movies with that actor). - - In the response's items, the following extra attributes are returned to further describe or disambiguate the result: - - - `reason`: The reason for the result, if not because of a direct search term match; can be either: - - `section`: There are multiple identical results from different sections. - - `originalTitle`: There was a search term match from the original title field (sometimes those can be very different or in a foreign language). - - ``: If the reason for the result is due to a result in another hub, the source hub identifier is returned. For example, if the search is for "dylan" then Bob Dylan may be returned as an artist result, an a few of his albums returned as album results with a reason code of `artist` (the identifier of that particular hub). Or if the search is for "arnold", there might be movie results returned with a reason of `actor` - - `reasonTitle`: The string associated with the reason code. For a section reason, it'll be the section name; For a hub identifier, it'll be a string associated with the match (e.g. `Arnold Schwarzenegger` for movies which were returned because the search was for "arnold"). - - `reasonID`: The ID of the item associated with the reason for the result. This might be a section ID, a tag ID, an artist ID, or a show ID. - - This request is intended to be very fast, and called as the user types. - parameters: - - name: query - description: The query term - in: query - schema: - type: string - example: - - arnold - - dylan - required: true - - name: sectionId - description: 'This gives context to the search, and can result in re-ordering of search result hubs' - in: query - schema: - type: number - required: false - - name: limit - description: The number of items to return per hub - in: query - schema: - type: number - example: 5 - default: 3 - responses: - '200': - description: The search results - '401': - description: Unauthorized - Returned if the X-Plex-Token is missing from the header or query. - content: - application/json: - schema: - type: object - properties: - errors: - type: array - items: - type: object - properties: - code: - type: number - example: 1001 - message: - type: string - example: User could not be authenticated - status: - type: number - example: 401 - /hubs/search/voice: - get: - tags: - - Search - summary: Perform a voice search - operationId: performVoiceSearch - description: | - This endpoint performs a search specifically tailored towards voice or other imprecise input which may work badly with the substring and spell-checking heuristics used by the `/hubs/search` endpoint. - It uses a [Levenshtein distance](https://en.wikipedia.org/wiki/Levenshtein_distance) heuristic to search titles, and as such is much slower than the other search endpoint. - Whenever possible, clients should limit the search to the appropriate type. - Results, as well as their containing per-type hubs, contain a `distance` attribute which can be used to judge result quality. - parameters: - - name: query - description: The query term - in: query - schema: - type: string - example: - - dead+poop - required: true - - name: sectionId - description: 'This gives context to the search, and can result in re-ordering of search result hubs' - in: query - schema: - type: number - required: false - - name: limit - description: The number of items to return per hub - in: query - schema: - type: number - example: 5 - default: 3 - required: false - responses: - '200': - description: The search results - '401': - description: Unauthorized - Returned if the X-Plex-Token is missing from the header or query. - content: - application/json: - schema: - type: object - properties: - errors: - type: array - items: - type: object - properties: - code: - type: number - example: 1001 - message: - type: string - example: User could not be authenticated - status: - type: number - example: 401 - '/hubs/sections/{sectionId}': - get: - tags: - - Hubs - summary: Get library specific hubs - description: | - This endpoint will return a list of library specific hubs - operationId: getLibraryHubs - parameters: - - name: sectionId - description: the Id of the library to query - in: path - schema: - type: number - required: true - - name: count - description: The number of items to return with each hub. - in: query - schema: - type: number - required: false - - name: onlyTransient - description: 'Only return hubs which are "transient", meaning those which are prone to changing after media playback or addition (e.g. On Deck, or Recently Added).' - in: query - schema: - type: number - enum: - - 0 - - 1 - required: false - responses: - '200': - description: The hubs specific to the library - '401': - description: Unauthorized - Returned if the X-Plex-Token is missing from the header or query. - content: - application/json: - schema: - type: object - properties: - errors: - type: array - items: - type: object - properties: - code: - type: number - example: 1001 - message: - type: string - example: User could not be authenticated - status: - type: number - example: 401 - /identity: - get: - tags: - - Server - summary: Get Server Identity - description: Get Server Identity - operationId: getServerIdentity - responses: - '200': - description: The Transcode Sessions - content: - application/json: - schema: - type: object - properties: - MediaContainer: - type: object - properties: - size: - type: number - example: 0 - claimed: - type: boolean - machineIdentifier: - type: string - example: 96f2fe7a78c9dc1f16a16bedbe90f98149be16b4 - version: - type: string - example: 1.31.3.6868-28fc46b27 - '401': - description: Unauthorized - Returned if the X-Plex-Token is missing from the header or query. - content: - application/json: - schema: - type: object - properties: - errors: - type: array - items: - type: object - properties: - code: - type: number - example: 1001 - message: - type: string - example: User could not be authenticated - status: - type: number - example: 401 - /library/hashes: - get: - tags: - - Hashes - summary: Get Hash Value - description: This resource returns hash values for local files - operationId: getFileHash - parameters: - - name: url - description: 'This is the path to the local file, must be prefixed by `file://`' - in: query - schema: - type: string - example: 'file://C:\Image.png&type=13' - required: true - - name: type - description: Item type - in: query - schema: - type: number - required: false - responses: - '200': - description: The hash of the file - '401': - description: Unauthorized - Returned if the X-Plex-Token is missing from the header or query. - content: - application/json: - schema: - type: object - properties: - errors: - type: array - items: - type: object - properties: - code: - type: number - example: 1001 - message: - type: string - example: User could not be authenticated - status: - type: number - example: 401 - /library/recentlyAdded: - get: - tags: - - Library - summary: Get Recently Added - description: | - This endpoint will return the recently added content. - operationId: getRecentlyAdded - responses: - '200': - description: The recently added content - content: - application/json: - schema: - type: object - properties: - MediaContainer: - type: object - properties: - size: - type: number - example: 50 - allowSync: - type: boolean - identifier: - type: string - example: com.plexapp.plugins.library - mediaTagPrefix: - type: string - example: /system/bundle/media/flags/ - mediaTagVersion: - type: number - example: 1680021154 - mixedParents: - type: boolean - Metadata: - type: array - items: - type: object - properties: - allowSync: - type: boolean - librarySectionID: - type: number - example: 1 - librarySectionTitle: - type: string - example: Movies - librarySectionUUID: - type: string - example: 322a231a-b7f7-49f5-920f-14c61199cd30 - ratingKey: - type: string - example: 59398 - key: - type: string - example: /library/metadata/59398 - guid: - type: string - example: 'plex://movie/5e161a83bea6ac004126e148' - studio: - type: string - example: Marvel Studios - type: - type: string - example: movie - title: - type: string - example: 'Ant-Man and the Wasp: Quantumania' - contentRating: - type: string - example: PG-13 - summary: - type: string - example: Scott Lang and Hope Van Dyne along with Hank Pym and Janet Van Dyne explore the Quantum Realm where they interact with strange creatures and embark on an adventure that goes beyond the limits of what they thought was possible. - rating: - type: number - example: 4.7 - audienceRating: - type: number - example: 8.3 - year: - type: number - example: 2023 - tagline: - type: string - example: Witness the beginning of a new dynasty. - thumb: - type: string - example: /library/metadata/59398/thumb/1681888010 - art: - type: string - example: /library/metadata/59398/art/1681888010 - duration: - type: number - example: 7474422 - originallyAvailableAt: - type: string - format: date - example: 2023-02-15T00:00:00.000Z - addedAt: - type: number - example: 1681803215 - updatedAt: - type: number - example: 1681888010 - audienceRatingImage: - type: string - example: 'rottentomatoes://image.rating.upright' - chapterSource: - type: string - example: media - primaryExtraKey: - type: string - example: /library/metadata/59399 - ratingImage: - type: string - example: 'rottentomatoes://image.rating.rotten' - Media: - type: array - items: - type: object - properties: - id: - type: number - example: 120345 - duration: - type: number - example: 7474422 - bitrate: - type: number - example: 3623 - width: - type: number - example: 1920 - height: - type: number - example: 804 - aspectRatio: - type: number - example: 2.35 - audioChannels: - type: number - example: 6 - audioCodec: - type: string - example: ac3 - videoCodec: - type: string - example: h264 - videoResolution: - type: string - example: 1080 - container: - type: string - example: mp4 - videoFrameRate: - type: string - example: 24p - optimizedForStreaming: - type: number - example: 0 - has64bitOffsets: - type: boolean - videoProfile: - type: string - example: high - Part: - type: array - items: - type: object - properties: - id: - type: number - example: 120353 - key: - type: string - example: /library/parts/120353/1681803203/file.mp4 - duration: - type: number - example: 7474422 - file: - type: string - example: /movies/Ant-Man and the Wasp Quantumania (2023)/Ant-Man.and.the.Wasp.Quantumania.2023.1080p.mp4 - size: - type: number - example: 3395307162 - container: - type: string - example: mp4 - has64bitOffsets: - type: boolean - hasThumbnail: - type: string - example: 1 - optimizedForStreaming: - type: boolean - videoProfile: - type: string - example: high - Genre: - type: array - items: - type: object - properties: - tag: - type: string - example: Comedy - Director: - type: array - items: - type: object - properties: - tag: - type: string - example: Peyton Reed - Writer: - type: array - items: - type: object - properties: - tag: - type: string - example: Jeff Loveness - Country: - type: array - items: - type: object - properties: - tag: - type: string - example: United States of America - Role: - type: array - items: - type: object - properties: - tag: - type: string - example: Paul Rudd - '401': - description: Unauthorized - Returned if the X-Plex-Token is missing from the header or query. - content: - application/json: - schema: - type: object - properties: - errors: - type: array - items: - type: object - properties: - code: - type: number - example: 1001 - message: - type: string - example: User could not be authenticated - status: - type: number - example: 401 - /library/sections: - get: - tags: - - Library - summary: Get All Libraries - operationId: getLibraries - description: | - A library section (commonly referred to as just a library) is a collection of media. - Libraries are typed, and depending on their type provide either a flat or a hierarchical view of the media. - For example, a music library has an artist > albums > tracks structure, whereas a movie library is flat. - - Libraries have features beyond just being a collection of media; for starters, they include information about supported types, filters and sorts. - This allows a client to provide a rich interface around the media (e.g. allow sorting movies by release year). - responses: - '200': - description: The libraries available on the Server - '401': - description: Unauthorized - Returned if the X-Plex-Token is missing from the header or query. - content: - application/json: - schema: - type: object - properties: - errors: - type: array - items: - type: object - properties: - code: - type: number - example: 1001 - message: - type: string - example: User could not be authenticated - status: - type: number - example: 401 - '/library/sections/{sectionId}': - get: - tags: - - Library - summary: Get Library Details - description: | - Returns details for the library. This can be thought of as an interstitial endpoint because it contains information about the library, rather than content itself. These details are: - - - A list of `Directory` objects: These used to be used by clients to build a menuing system. There are four flavors of directory found here: - - Primary: (e.g. all, On Deck) These are still used in some clients to provide "shortcuts" to subsets of media. However, with the exception of On Deck, all of them can be created by media queries, and the desire is to allow these to be customized by users. - - Secondary: These are marked with `secondary="1"` and were used by old clients to provide nested menus allowing for primative (but structured) navigation. - - Special: There is a By Folder entry which allows browsing the media by the underlying filesystem structure, and there's a completely obsolete entry marked `search="1"` which used to be used to allow clients to build search dialogs on the fly. - - A list of `Type` objects: These represent the types of things found in this library, and for each one, a list of `Filter` and `Sort` objects. These can be used to build rich controls around a grid of media to allow filtering and organizing. Note that these filters and sorts are optional, and without them, the client won't render any filtering controls. The `Type` object contains: - - `key`: This provides the root endpoint returning the actual media list for the type. - - `type`: This is the metadata type for the type (if a standard Plex type). - - `title`: The title for for the content of this type (e.g. "Movies"). - - Each `Filter` object contains a description of the filter. Note that it is not an exhaustive list of the full media query language, but an inportant subset useful for top-level API. - - `filter`: This represents the filter name used for the filter, which can be used to construct complex media queries with. - - `filterType`: This is either `string`, `integer`, or `boolean`, and describes the type of values used for the filter. - - `key`: This provides the endpoint where the possible range of values for the filter can be retrieved (e.g. for a "Genre" filter, it returns a list of all the genres in the library). This will include a `type` argument that matches the metadata type of the Type element. - - `title`: The title for the filter. - - Each `Sort` object contains a description of the sort field. - - `defaultDirection`: Can be either `asc` or `desc`, and specifies the default direction for the sort field (e.g. titles default to alphabetically ascending). - - `descKey` and `key`: Contains the parameters passed to the `sort=...` media query for each direction of the sort. - - `title`: The title of the field. - operationId: getLibraryDetails - parameters: - - name: sectionId - description: the Id of the library to query - in: path - schema: - type: string - example: 1000 - required: true - - name: includeDetails - description: | - Whether or not to include details for a section (types, filters, and sorts). - Only exists for backwards compatibility, media providers other than the server libraries have it on always. - in: query - schema: - type: number - enum: - - 0 - - 1 - default: 0 - required: false - responses: - '200': - description: The details of the library - '401': - description: Unauthorized - Returned if the X-Plex-Token is missing from the header or query. - content: - application/json: - schema: - type: object - properties: - errors: - type: array - items: - type: object - properties: - code: - type: number - example: 1001 - message: - type: string - example: User could not be authenticated - status: - type: number - example: 401 - '/library/sections/{sectionId}/all': - get: - tags: - - Library - summary: Get Library Items - description: | - This endpoint will return a list of library items filtered by the filter and type provided - operationId: getLibraryItems - parameters: - - name: sectionId - description: the Id of the library to query - in: path - schema: - type: number - required: true - - name: type - description: item type - in: query - schema: - type: number - required: false - - name: filter - description: the filter parameter - in: query - schema: - type: string - required: false - responses: - '200': - description: The details of the library - '401': - description: Unauthorized - Returned if the X-Plex-Token is missing from the header or query. - content: - application/json: - schema: - type: object - properties: - errors: - type: array - items: - type: object - properties: - code: - type: number - example: 1001 - message: - type: string - example: User could not be authenticated - status: - type: number - example: 401 - '/library/sections/{sectionId}/refresh': - get: - tags: - - Library - summary: Refresh Library - description: | - This endpoint Refreshes the library. - operationId: refreshLibrary - parameters: - - name: sectionId - description: the Id of the library to refresh - in: path - schema: - type: number - required: true - responses: - '200': - description: The library is refreshing - '401': - description: Unauthorized - Returned if the X-Plex-Token is missing from the header or query. - content: - application/json: - schema: - type: object - properties: - errors: - type: array - items: - type: object - properties: - code: - type: number - example: 1001 - message: - type: string - example: User could not be authenticated - status: - type: number - example: 401 - '/library/sections/{sectionId}/latest': - get: - tags: - - Library - summary: Get Latest Library Items - description: | - This endpoint will return a list of the latest library items filtered by the filter and type provided - operationId: getLatestLibraryItems - parameters: - - name: sectionId - description: the Id of the library to query - in: path - schema: - type: number - required: true - - name: type - description: item type - in: query - schema: - type: number - required: true - - name: filter - description: the filter parameter - in: query - schema: - type: string - required: false - responses: - '200': - description: The details of the library - '401': - description: Unauthorized - Returned if the X-Plex-Token is missing from the header or query. - content: - application/json: - schema: - type: object - properties: - errors: - type: array - items: - type: object - properties: - code: - type: number - example: 1001 - message: - type: string - example: User could not be authenticated - status: - type: number - example: 401 - '/library/sections/{sectionId}/common': - get: - tags: - - Library - summary: Get Common Library Items - description: | - Represents a "Common" item. It contains only the common attributes of the items selected by the provided filter - operationId: getCommonLibraryItems - parameters: - - name: sectionId - description: the Id of the library to query - in: path - schema: - type: number - required: true - - name: type - description: item type - in: query - schema: - type: number - required: true - - name: filter - description: the filter parameter - in: query - schema: - type: string - required: false - responses: - '200': - description: The details of the library - '400': - description: In response to missing the type parameter. - '401': - description: Unauthorized - Returned if the X-Plex-Token is missing from the header or query. - content: - application/json: - schema: - type: object - properties: - errors: - type: array - items: - type: object - properties: - code: - type: number - example: 1001 - message: - type: string - example: User could not be authenticated - status: - type: number - example: 401 - '404': - description: In response to a non-existant sectionId. - /library/onDeck: - get: - tags: - - Library - summary: Get On Deck - description: | - This endpoint will return the on deck content. - operationId: getOnDeck - responses: - '200': - description: The on Deck content - content: - application/json: - schema: - type: object - properties: - MediaContainer: - type: object - properties: - size: - type: number - example: 16 - allowSync: - type: boolean - identifier: - type: string - example: com.plexapp.plugins.library - mediaTagPrefix: - type: string - example: /system/bundle/media/flags/ - mediaTagVersion: - type: number - example: 1680021154 - mixedParents: - type: boolean - Metadata: - type: array - items: - type: object - properties: - allowSync: - type: boolean - librarySectionID: - type: number - example: 2 - librarySectionTitle: - type: string - example: TV Shows - librarySectionUUID: - type: string - example: 4bb2521c-8ba9-459b-aaee-8ab8bc35eabd - ratingKey: - type: string - example: 49564 - key: - type: string - example: /library/metadata/49564 - parentRatingKey: - type: string - example: 49557 - grandparentRatingKey: - type: string - example: 49556 - guid: - type: string - example: 'plex://episode/5ea7d7402e7ab10042e74d4f' - parentGuid: - type: string - example: 'plex://season/602e754d67f4c8002ce54b3d' - grandparentGuid: - type: string - example: 'plex://show/5d9c090e705e7a001e6e94d8' - type: - type: string - example: episode - title: - type: string - example: Circus - grandparentKey: - type: string - example: /library/metadata/49556 - parentKey: - type: string - example: /library/metadata/49557 - librarySectionKey: - type: string - example: /library/sections/2 - grandparentTitle: - type: string - example: Bluey (2018) - parentTitle: - type: string - example: Season 2 - contentRating: - type: string - example: TV-Y - summary: - type: string - example: Bluey is the ringmaster in a game of circus with her friends but Hercules wants to play his motorcycle game instead. Luckily Bluey has a solution to keep everyone happy. - index: - type: number - example: 33 - parentIndex: - type: number - example: 2 - lastViewedAt: - type: number - example: 1681908352 - year: - type: number - example: 2018 - thumb: - type: string - example: /library/metadata/49564/thumb/1654258204 - art: - type: string - example: /library/metadata/49556/art/1680939546 - parentThumb: - type: string - example: /library/metadata/49557/thumb/1654258204 - grandparentThumb: - type: string - example: /library/metadata/49556/thumb/1680939546 - grandparentArt: - type: string - example: /library/metadata/49556/art/1680939546 - grandparentTheme: - type: string - example: /library/metadata/49556/theme/1680939546 - duration: - type: number - example: 420080 - originallyAvailableAt: - type: string - format: date - example: 2020-10-31T00:00:00.000Z - addedAt: - type: number - example: 1654258196 - updatedAt: - type: number - example: 1654258204 - Media: - type: array - items: - type: object - properties: - id: - type: number - example: 80994 - duration: - type: number - example: 420080 - bitrate: - type: number - example: 1046 - width: - type: number - example: 1920 - height: - type: number - example: 1080 - aspectRatio: - type: number - example: 1.78 - audioChannels: - type: number - example: 2 - audioCodec: - type: string - example: aac - videoCodec: - type: string - example: hevc - videoResolution: - type: string - example: 1080 - container: - type: string - example: mkv - videoFrameRate: - type: string - example: PAL - audioProfile: - type: string - example: lc - videoProfile: - type: string - example: main - Part: - type: array - items: - type: object - properties: - id: - type: number - example: 80994 - key: - type: string - example: /library/parts/80994/1655007810/file.mkv - duration: - type: number - example: 420080 - file: - type: string - example: /tvshows/Bluey (2018)/Bluey (2018) - S02E33 - Circus.mkv - size: - type: number - example: 55148931 - audioProfile: - type: string - example: lc - container: - type: string - example: mkv - videoProfile: - type: string - example: main - Stream: - type: array - items: - type: object - properties: - id: - type: number - example: 211234 - streamType: - type: number - example: 1 - default: - type: boolean - codec: - type: string - example: hevc - index: - type: number - example: 0 - bitrate: - type: number - example: 918 - language: - type: string - example: English - languageTag: - type: string - example: en - languageCode: - type: string - example: eng - bitDepth: - type: number - example: 8 - chromaLocation: - type: string - example: left - chromaSubsampling: - type: string - example: 14520 - codedHeight: - type: number - example: 1080 - codedWidth: - type: number - example: 1920 - colorRange: - type: string - example: tv - frameRate: - type: number - example: 25 - height: - type: number - example: 1080 - level: - type: number - example: 120 - profile: - type: string - example: main - refFrames: - type: number - example: 1 - width: - type: number - example: 1920 - displayTitle: - type: string - example: 1080p (HEVC Main) - extendedDisplayTitle: - type: string - example: 1080p (HEVC Main) - Guid: - type: array - items: - type: object - properties: - id: - type: string - example: 'imdb://tt13303712' - '401': - description: Unauthorized - Returned if the X-Plex-Token is missing from the header or query. - content: - application/json: - schema: - type: object - properties: - errors: - type: array - items: - type: object - properties: - code: - type: number - example: 1001 - message: - type: string - example: User could not be authenticated - status: - type: number - example: 401 - /log: - get: - tags: - - Log - summary: Logging a single line message. - description: | - This endpoint will write a single-line log message, including a level and source to the main Plex Media Server log. - operationId: logLine - parameters: - - name: level - description: | - An integer log level to write to the PMS log with. - 0: Error - 1: Warning - 2: Info - 3: Debug - 4: Verbose - in: query - schema: - type: number - enum: - - 0 - - 1 - - 2 - - 3 - - 4 - required: true - - name: message - description: The text of the message to write to the log. - in: query - schema: - type: string - example: '' - required: true - - name: source - description: a string indicating the source of the message. - in: query - schema: - type: string - example: '' - required: true - responses: - '200': - description: Log Line submitted successfully - '401': - description: Unauthorized - Returned if the X-Plex-Token is missing from the header or query. - content: - application/json: - schema: - type: object - properties: - errors: - type: array - items: - type: object - properties: - code: - type: number - example: 1001 - message: - type: string - example: User could not be authenticated - status: - type: number - example: 401 - post: - tags: - - Log - summary: Logging a multi-line message - description: | - This endpoint will write multiple lines to the main Plex Media Server log in a single request. It takes a set of query strings as would normally sent to the above GET endpoint as a linefeed-separated block of POST data. The parameters for each query string match as above. - operationId: logMultiLine - responses: - '200': - description: Multi-Line Log Message Posted successfully - '401': - description: Unauthorized - Returned if the X-Plex-Token is missing from the header or query. - content: - application/json: - schema: - type: object - properties: - errors: - type: array - items: - type: object - properties: - code: - type: number - example: 1001 - message: - type: string - example: User could not be authenticated - status: - type: number - example: 401 - /log/networked: - get: - tags: - - Log - summary: Enabling Papertrail - description: | - This endpoint will enable all Plex Media Serverlogs to be sent to the Papertrail networked logging site for a period of time. - operationId: enablePaperTrail - responses: - '200': - description: Papertrail enabled successfully - '401': - description: Unauthorized - Returned if the X-Plex-Token is missing from the header or query. - content: - application/json: - schema: - type: object - properties: - errors: - type: array - items: - type: object - properties: - code: - type: number - example: 1001 - message: - type: string - example: User could not be authenticated - status: - type: number - example: 401 - '403': - description: the user was not signed in - /myplex/account: - get: - tags: - - MyPlex - summary: Get MyPlex Account - description: Returns MyPlex Account Information - operationId: getMyPlexAccount - responses: - '200': - description: MyPlex Account - content: - application/json: - schema: - type: object - properties: - MyPlex: - type: object - properties: - authToken: - type: string - example: Z5v-PrNASDFpsaCi3CPK7 - username: - type: string - example: example.email@mail.com - mappingState: - type: string - example: mapped - mappingError: - type: string - example: null - signInState: - type: string - example: ok - publicAddress: - type: string - example: 140.20.68.140 - publicPort: - type: number - example: 32400 - privateAddress: - type: string - example: 10.10.10.47 - privatePort: - type: number - example: 32400 - subscriptionFeatures: - type: string - example: 'federated-auth,hardware_transcoding,home,hwtranscode,item_clusters,kevin-bacon,livetv,loudness,lyrics,music-analysis,music_videos,pass,photo_autotags,photos-v5,photosV6-edit,photosV6-tv-albums,premium_music_metadata,radio,server-manager,session_bandwidth_restrictions,session_kick,shared-radio,sync,trailers,tuner-sharing,type-first,unsupportedtuners,webhooks' - subscriptionActive: - type: boolean - subscriptionState: - type: string - example: Active - '401': - description: Unauthorized - Returned if the X-Plex-Token is missing from the header or query. - content: - application/json: - schema: - type: object - properties: - errors: - type: array - items: - type: object - properties: - code: - type: number - example: 1001 - message: - type: string - example: User could not be authenticated - status: - type: number - example: 401 - '/photo/:/transcode': - get: - tags: - - Photos - summary: Get a Resized Photo - description: | - Plex's Photo transcoder is used throughout the service to serve images at specified sizes. - operationId: getResizedPhoto - parameters: - - name: width - description: The width for the resized photo - in: query - schema: - type: number - example: 110 - required: true - - name: height - description: The height for the resized photo - in: query - schema: - type: number - example: 165 - required: true - - name: opacity - description: The opacity for the resized photo - in: query - schema: - type: integer - minimum: 1 - maximum: 100 - default: 100 - required: true - - name: blur - description: The width for the resized photo - in: query - schema: - type: number - example: - - 0 - - 20 - - 4000 - required: true - - name: minSize - description: images are always scaled proportionally. A value of '1' in minSize will make the smaller native dimension the dimension resized against. - in: query - schema: - type: number - enum: - - 0 - - 1 - required: true - - name: upscale - description: allow images to be resized beyond native dimensions. - in: query - schema: - type: number - enum: - - 0 - - 1 - required: true - - name: url - description: path to image within Plex - in: query - schema: - type: string - example: /library/metadata/49564/thumb/1654258204 - required: true - responses: - '200': - description: Resized Image - '401': - description: Unauthorized - Returned if the X-Plex-Token is missing from the header or query. - content: - application/json: - schema: - type: object - properties: - errors: - type: array - items: - type: object - properties: - code: - type: number - example: 1001 - message: - type: string - example: User could not be authenticated - status: - type: number - example: 401 - /playlists: - post: - tags: - - Playlists - summary: Create a Playlist - description: | - Create a new playlist. By default the playlist is blank. To create a playlist along with a first item, pass: - - `uri` - The content URI for what we're playing (e.g. `library://...`). - - `playQueueID` - To create a playlist from an existing play queue. - operationId: createPlaylist - parameters: - - name: title - description: name of the playlist - in: query - schema: - type: string - required: true - - name: type - description: type of playlist to create - in: query - schema: - type: string - enum: - - audio - - video - - photo - required: true - - name: smart - description: whether the playlist is smart or not - in: query - schema: - type: number - enum: - - 0 - - 1 - required: true - - name: uri - description: the content URI for the playlist - in: query - schema: - type: string - required: false - - name: playQueueID - description: the play queue to copy to a playlist - in: query - schema: - type: number - required: false - responses: - '200': - description: returns all playlists - '401': - description: Unauthorized - Returned if the X-Plex-Token is missing from the header or query. - content: - application/json: - schema: - type: object - properties: - errors: - type: array - items: - type: object - properties: - code: - type: number - example: 1001 - message: - type: string - example: User could not be authenticated - status: - type: number - example: 401 - /playlists/all: - get: - tags: - - Playlists - summary: Get All Playlists - description: '' - operationId: getPlaylists - parameters: - - name: playlistType - description: limit to a type of playlist. - in: query - schema: - type: string - enum: - - audio - - video - - photo - required: false - - name: smart - description: type of playlists to return (default is all). - in: query - schema: - type: number - enum: - - 0 - - 1 - required: false - responses: - '200': - description: returns all playlists - '401': - description: Unauthorized - Returned if the X-Plex-Token is missing from the header or query. - content: - application/json: - schema: - type: object - properties: - errors: - type: array - items: - type: object - properties: - code: - type: number - example: 1001 - message: - type: string - example: User could not be authenticated - status: - type: number - example: 401 - '/playlists/{playlistID}': - get: - tags: - - Playlists - summary: Retrieve Playlist - description: | - Gets detailed metadata for a playlist. A playlist for many purposes (rating, editing metadata, tagging), can be treated like a regular metadata item: - Smart playlist details contain the `content` attribute. This is the content URI for the generator. This can then be parsed by a client to provide smart playlist editing. - operationId: getPlaylist - parameters: - - name: playlistID - description: the ID of the playlist - in: path - schema: - type: number - required: true - responses: - '200': - description: The playlist - '401': - description: Unauthorized - Returned if the X-Plex-Token is missing from the header or query. - content: - application/json: - schema: - type: object - properties: - errors: - type: array - items: - type: object - properties: - code: - type: number - example: 1001 - message: - type: string - example: User could not be authenticated - status: - type: number - example: 401 - delete: - tags: - - Playlists - summary: Deletes a Playlist - description: | - This endpoint will delete a playlist - operationId: deletePlaylist - parameters: - - name: playlistID - description: the ID of the playlist - in: path - schema: - type: number - required: true - responses: - '200': - description: The playlist is deleted - '401': - description: Unauthorized - Returned if the X-Plex-Token is missing from the header or query. - content: - application/json: - schema: - type: object - properties: - errors: - type: array - items: - type: object - properties: - code: - type: number - example: 1001 - message: - type: string - example: User could not be authenticated - status: - type: number - example: 401 - put: - tags: - - Playlists - summary: Update a Playlist - description: | - From PMS version 1.9.1 clients can also edit playlist metadata using this endpoint as they would via `PUT /library/metadata/{playlistID}` - operationId: updatePlaylist - parameters: - - name: playlistID - description: the ID of the playlist - in: path - schema: - type: number - required: true - responses: - '200': - description: The playlist is deleted - '401': - description: Unauthorized - Returned if the X-Plex-Token is missing from the header or query. - content: - application/json: - schema: - type: object - properties: - errors: - type: array - items: - type: object - properties: - code: - type: number - example: 1001 - message: - type: string - example: User could not be authenticated - status: - type: number - example: 401 - '/playlists/{playlistID}/items': - get: - tags: - - Playlists - summary: Retrieve Playlist Contents - description: | - Gets the contents of a playlist. Should be paged by clients via standard mechanisms. - By default leaves are returned (e.g. episodes, movies). In order to return other types you can use the `type` parameter. - For example, you could use this to display a list of recently added albums vis a smart playlist. - Note that for dumb playlists, items have a `playlistItemID` attribute which is used for deleting or moving items. - operationId: getPlaylistContents - parameters: - - name: playlistID - description: the ID of the playlist - in: path - schema: - type: number - required: true - - name: type - description: the metadata type of the item to return - in: query - schema: - type: number - required: true - responses: - '200': - description: The playlist contents - '401': - description: Unauthorized - Returned if the X-Plex-Token is missing from the header or query. - content: - application/json: - schema: - type: object - properties: - errors: - type: array - items: - type: object - properties: - code: - type: number - example: 1001 - message: - type: string - example: User could not be authenticated - status: - type: number - example: 401 - delete: - tags: - - Playlists - summary: Delete Playlist Contents - description: | - Clears a playlist, only works with dumb playlists. Returns the playlist. - operationId: clearPlaylistContents - parameters: - - name: playlistID - description: the ID of the playlist - in: path - schema: - type: number - required: true - responses: - '200': - description: The playlist contents are cleared - '401': - description: Unauthorized - Returned if the X-Plex-Token is missing from the header or query. - content: - application/json: - schema: - type: object - properties: - errors: - type: array - items: - type: object - properties: - code: - type: number - example: 1001 - message: - type: string - example: User could not be authenticated - status: - type: number - example: 401 - put: - tags: - - Playlists - summary: Adding to a Playlist - description: | - Adds a generator to a playlist, same parameters as the POST above. With a dumb playlist, this adds the specified items to the playlist. - With a smart playlist, passing a new `uri` parameter replaces the rules for the playlist. Returns the playlist. - operationId: addPlaylistContents - parameters: - - name: playlistID - description: the ID of the playlist - in: path - schema: - type: number - required: true - - name: uri - description: the content URI for the playlist - in: query - schema: - type: string - example: 'library://..' - required: true - - name: playQueueID - description: the play queue to add to a playlist - in: query - schema: - type: number - example: 123 - required: true - responses: - '200': - description: Playlist Updated - '401': - description: Unauthorized - Returned if the X-Plex-Token is missing from the header or query. - content: - application/json: - schema: - type: object - properties: - errors: - type: array - items: - type: object - properties: - code: - type: number - example: 1001 - message: - type: string - example: User could not be authenticated - status: - type: number - example: 401 - /playlists/upload: - post: - tags: - - Playlists - summary: Upload Playlist - description: | - Imports m3u playlists by passing a path on the server to scan for m3u-formatted playlist files, or a path to a single playlist file. - operationId: uploadPlaylist - parameters: - - name: path - description: | - absolute path to a directory on the server where m3u files are stored, or the absolute path to a playlist file on the server. - If the `path` argument is a directory, that path will be scanned for playlist files to be processed. - Each file in that directory creates a separate playlist, with a name based on the filename of the file that created it. - The GUID of each playlist is based on the filename. - If the `path` argument is a file, that file will be used to create a new playlist, with the name based on the filename of the file that created it. - The GUID of each playlist is based on the filename. - in: query - schema: - type: string - example: /home/barkley/playlist.m3u - required: true - - name: force - description: | - force overwriting of duplicate playlists. By default, a playlist file uploaded with the same path will overwrite the existing playlist. - The `force` argument is used to disable overwriting. If the `force` argument is set to 0, a new playlist will be created suffixed with the date and time that the duplicate was uploaded. - in: query - schema: - type: number - enum: - - 0 - - 1 - required: true - responses: - '200': - description: The playlist is uploaded - '401': - description: Unauthorized - Returned if the X-Plex-Token is missing from the header or query. - content: - application/json: - schema: - type: object - properties: - errors: - type: array - items: - type: object - properties: - code: - type: number - example: 1001 - message: - type: string - example: User could not be authenticated - status: - type: number - example: 401 - /search: - get: - tags: - - Search - summary: Get Search Results - description: This will search the database for the string provided. - operationId: getSearchResults - parameters: - - name: query - description: The search query string to use - in: query - schema: - type: string - example: 110 - required: true - responses: - '200': - description: Search Results - content: - application/json: - schema: - type: object - properties: - MediaContainer: - type: object - properties: - size: - type: number - example: 26 - identifier: - type: string - example: com.plexapp.plugins.library - mediaTagPrefix: - type: string - example: /system/bundle/media/flags/ - mediaTagVersion: - type: number - example: 1680021154 - Metadata: - type: array - items: - type: object - properties: - allowSync: - type: boolean - librarySectionID: - type: number - example: 1 - librarySectionTitle: - type: string - example: Movies - librarySectionUUID: - type: string - example: 322a231a-b7f7-49f5-920f-14c61199cd30 - personal: - type: boolean - sourceTitle: - type: string - example: Hera - ratingKey: - type: string - example: 10398 - key: - type: string - example: /library/metadata/10398 - guid: - type: string - example: 'plex://movie/5d7768284de0ee001fcc8f52' - studio: - type: string - example: Paramount - type: - type: string - example: movie - title: - type: string - example: 'Mission: Impossible' - contentRating: - type: string - example: PG-13 - summary: - type: string - example: When Ethan Hunt the leader of a crack espionage team whose perilous operation has gone awry with no explanation discovers that a mole has penetrated the CIA he's surprised to learn that he's the No. 1 suspect. To clear his name Hunt now must ferret out the real double agent and in the process even the score. - rating: - type: number - example: 6.6 - audienceRating: - type: number - example: 7.1 - year: - type: number - example: 1996 - tagline: - type: string - example: Expect the impossible. - thumb: - type: string - example: /library/metadata/10398/thumb/1679505055 - art: - type: string - example: /library/metadata/10398/art/1679505055 - duration: - type: number - example: 6612628 - originallyAvailableAt: - type: string - format: date - example: 1996-05-22T00:00:00.000Z - addedAt: - type: number - example: 1589234571 - updatedAt: - type: number - example: 1679505055 - audienceRatingImage: - type: string - example: 'rottentomatoes://image.rating.upright' - chapterSource: - type: string - example: media - primaryExtraKey: - type: string - example: /library/metadata/10501 - ratingImage: - type: string - example: 'rottentomatoes://image.rating.ripe' - Media: - type: array - items: - type: object - properties: - id: - type: number - example: 26610 - duration: - type: number - example: 6612628 - bitrate: - type: number - example: 4751 - width: - type: number - example: 1916 - height: - type: number - example: 796 - aspectRatio: - type: number - example: 2.35 - audioChannels: - type: number - example: 6 - audioCodec: - type: string - example: aac - videoCodec: - type: string - example: hevc - videoResolution: - type: string - example: 1080 - container: - type: string - example: mkv - videoFrameRate: - type: string - example: 24p - audioProfile: - type: string - example: lc - videoProfile: - type: string - example: main 10 - Part: - type: array - items: - type: object - properties: - id: - type: number - example: 26610 - key: - type: string - example: /library/parts/26610/1589234571/file.mkv - duration: - type: number - example: 6612628 - file: - type: string - example: /movies/Mission Impossible (1996)/Mission Impossible (1996) Bluray-1080p.mkv - size: - type: number - example: 3926903851 - audioProfile: - type: string - example: lc - container: - type: string - example: mkv - videoProfile: - type: string - example: main 10 - Genre: - type: array - items: - type: object - properties: - tag: - type: string - example: Action - Director: - type: array - items: - type: object - properties: - tag: - type: string - example: Brian De Palma - Writer: - type: array - items: - type: object - properties: - tag: - type: string - example: David Koepp - Country: - type: array - items: - type: object - properties: - tag: - type: string - example: United States of America - Role: - type: array - items: - type: object - properties: - tag: - type: string - example: Tom Cruise - Provider: - type: array - items: - type: object - properties: - key: - type: string - example: /system/search - title: - type: string - example: Local Network - type: - type: string - example: mixed - '401': - description: Unauthorized - Returned if the X-Plex-Token is missing from the header or query. - content: - application/json: - schema: - type: object - properties: - errors: - type: array - items: - type: object - properties: - code: - type: number - example: 1001 - message: - type: string - example: User could not be authenticated - status: - type: number - example: 401 - /security/token: - get: - tags: - - Security - summary: Get a Transient Token. - description: | - This endpoint provides the caller with a temporary token with the same access level as the caller's token. These tokens are valid for up to 48 hours and are destroyed if the server instance is restarted. - operationId: getTransientToken - parameters: - - name: type - description: '`delegation` - This is the only supported `type` parameter.' - in: query - schema: - type: string - enum: - - delegation - required: true - - name: scope - description: '`all` - This is the only supported `scope` parameter.' - in: query - schema: - type: string - enum: - - all - required: true - responses: - '200': - description: A Transient Token - '401': - description: Unauthorized - Returned if the X-Plex-Token is missing from the header or query. - content: - application/json: - schema: - type: object - properties: - errors: - type: array - items: - type: object - properties: - code: - type: number - example: 1001 - message: - type: string - example: User could not be authenticated - status: - type: number - example: 401 - /security/resources: - get: - tags: - - Security - summary: Get Source Connection Information - description: | - If a caller requires connection details and a transient token for a source that is known to the server, for example a cloud media provider or shared PMS, then this endpoint can be called. This endpoint is only accessible with either an admin token or a valid transient token generated from an admin token. - Note: requires Plex Media Server >= 1.15.4. - operationId: getSourceConnectionInformation - parameters: - - name: source - description: The source identifier with an included prefix. - in: query - schema: - type: string - example: - - 'server://client-identifier' - - 'provider://provider-identifier' - required: true - responses: - '200': - description: Source Connection Information - '401': - description: Unauthorized - Returned if the X-Plex-Token is missing from the header or query. - content: - application/json: - schema: - type: object - properties: - errors: - type: array - items: - type: object - properties: - code: - type: number - example: 1001 - message: - type: string - example: User could not be authenticated - status: - type: number - example: 401 - /servers: - get: - tags: - - Server - summary: Get Server List - description: Get Server List - operationId: getServerList - responses: - '200': - description: List of Servers - content: - application/json: - schema: - type: object - properties: - MediaContainer: - type: object - properties: - size: - type: number - example: 1 - Server: - type: array - items: - type: object - properties: - name: - type: string - example: Hera - host: - type: string - example: 10.10.10.47 - address: - type: string - example: 10.10.10.47 - port: - type: number - example: 32400 - machineIdentifier: - type: string - example: 96f2fe7a78c9dc1f16a16bedbe90f98149be16b4 - version: - type: string - example: 1.31.3.6868-28fc46b27 - '401': - description: Unauthorized - Returned if the X-Plex-Token is missing from the header or query. - content: - application/json: - schema: - type: object - properties: - errors: - type: array - items: - type: object - properties: - code: - type: number - example: 1001 - message: - type: string - example: User could not be authenticated - status: - type: number - example: 401 - /status/sessions: - get: - tags: - - Sessions - summary: Get Active Sessions - description: This will retrieve the "Now Playing" Information of the PMS. - operationId: getSessions - responses: - '200': - description: List of Active Plex Sessions - '401': - description: Unauthorized - Returned if the X-Plex-Token is missing from the header or query. - content: - application/json: - schema: - type: object - properties: - errors: - type: array - items: - type: object - properties: - code: - type: number - example: 1001 - message: - type: string - example: User could not be authenticated - status: - type: number - example: 401 - /status/sessions/history/all: - get: - tags: - - Sessions - summary: Get Session History - description: This will Retrieve a listing of all history views. - operationId: getSessionHistory - responses: - '200': - description: List of Plex Sessions - '401': - description: Unauthorized - Returned if the X-Plex-Token is missing from the header or query. - content: - application/json: - schema: - type: object - properties: - errors: - type: array - items: - type: object - properties: - code: - type: number - example: 1001 - message: - type: string - example: User could not be authenticated - status: - type: number - example: 401 - /transcode/sessions: - get: - tags: - - Sessions - summary: Get Transcode Sessions - description: Get Transcode Sessions - operationId: getTranscodeSessions - responses: - '200': - description: The Transcode Sessions - content: - application/json: - schema: - type: object - properties: - MediaContainer: - type: object - properties: - size: - type: number - example: 1 - TranscodeSession: - type: array - items: - type: object - properties: - key: - type: string - example: zz7llzqlx8w9vnrsbnwhbmep - throttled: - type: boolean - complete: - type: boolean - progress: - type: number - example: 0.4000000059604645 - size: - type: number - example: -22 - speed: - type: number - example: 22.399999618530273 - error: - type: boolean - duration: - type: number - example: 2561768 - context: - type: string - example: streaming - sourceVideoCodec: - type: string - example: h264 - sourceAudioCodec: - type: string - example: ac3 - videoDecision: - type: string - example: transcode - audioDecision: - type: string - example: transcode - protocol: - type: string - example: http - container: - type: string - example: mkv - videoCodec: - type: string - example: h264 - audioCodec: - type: string - example: opus - audioChannels: - type: number - example: 2 - transcodeHwRequested: - type: boolean - timeStamp: - type: number - example: 1681869535.7764285 - maxOffsetAvailable: - type: number - example: 861.778 - minOffsetAvailable: - type: number - example: 0 - '401': - description: Unauthorized - Returned if the X-Plex-Token is missing from the header or query. - content: - application/json: - schema: - type: object - properties: - errors: - type: array - items: - type: object - properties: - code: - type: number - example: 1001 - message: - type: string - example: User could not be authenticated - status: - type: number - example: 401 - '/transcode/sessions/{sessionKey}': - delete: - tags: - - Sessions - summary: Stop a Transcode Session - description: Stop a Transcode Session - parameters: - - name: sessionKey - description: the Key of the transcode session to stop - in: path - schema: - type: string - example: zz7llzqlx8w9vnrsbnwhbmep - required: true - operationId: stopTranscodeSession - responses: - '200': - description: The Transcode Session ended - '401': - description: Unauthorized - Returned if the X-Plex-Token is missing from the header or query. - content: - application/json: - schema: - type: object - properties: - errors: - type: array - items: - type: object - properties: - code: - type: number - example: 1001 - message: - type: string - example: User could not be authenticated - status: - type: number - example: 401 - /updater/status: - get: - tags: - - Updater - summary: Querying status of updates - description: Querying status of updates - operationId: getUpdateStatus - responses: - '200': - description: The Server Updates - '401': - description: Unauthorized - Returned if the X-Plex-Token is missing from the header or query. - content: - application/json: - schema: - type: object - properties: - errors: - type: array - items: - type: object - properties: - code: - type: number - example: 1001 - message: - type: string - example: User could not be authenticated - status: - type: number - example: 401 - /updater/check: - put: - tags: - - Updater - summary: Checking for updates - description: Checking for updates - operationId: checkForUpdates - parameters: - - name: download - description: Indicate that you want to start download any updates found. - required: false - in: query - schema: - enum: - - 0 - - 1 - example: 1 - responses: - '200': - description: '' - '401': - description: Unauthorized - Returned if the X-Plex-Token is missing from the header or query. - content: - application/json: - schema: - type: object - properties: - errors: - type: array - items: - type: object - properties: - code: - type: number - example: 1001 - message: - type: string - example: User could not be authenticated - status: - type: number - example: 401 - /updater/apply: - put: - tags: - - Updater - summary: Apply Updates - description: | - Note that these two parameters are effectively mutually exclusive. The `tonight` parameter takes precedence and `skip` will be ignored if `tonight` is also passed - operationId: applyUpdates - parameters: - - name: tonight - description: 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 - required: false - in: query - schema: - enum: - - 0 - - 1 - example: 1 - - name: skip - description: Indicate that the latest version should be marked as skipped. The entry for this version will have the `state` set to `skipped`. - required: false - in: query - schema: - enum: - - 0 - - 1 - example: 1 - responses: - '200': - description: If the update process started correctly - '401': - description: Unauthorized - Returned if the X-Plex-Token is missing from the header or query. - content: - application/json: - schema: - type: object - properties: - errors: - type: array - items: - type: object - properties: - code: - type: number - example: 1001 - message: - type: string - example: User could not be authenticated - status: - type: number - example: 401 - '500': - description: If the update process failed to start - /companions: - servers: - - url: 'https://plex.tv/api/v2' - get: - tags: - - Plex.tv - summary: Get Companions Data - description: Get Companions Data - operationId: getCompanionsData - responses: - '200': - description: Companions Data - content: - application/json: - schema: - type: array - items: - type: object - properties: - identifier: - type: string - example: tv.plex.sonos - baseURL: - type: string - example: 'https://sonos.plex.tv' - title: - type: string - example: Sonos - linkURL: - type: string - example: 'https://sonos.plex.tv/link' - provides: - type: string - example: clientplayer - token: - type: string - example: VFnxitsRFdWx_WrzsKL - '401': - description: Unauthorized - Returned if the X-Plex-Token is missing from the header or query. - content: - application/json: - schema: - type: object - properties: - errors: - type: array - items: - type: object - properties: - code: - type: number - example: 1001 - message: - type: string - example: User could not be authenticated - status: - type: number - example: 401 - /geoip: - servers: - - url: 'https://plex.tv/api/v2' - get: - tags: - - Plex.tv - summary: Get Geo Data - description: Get Geo Data - operationId: getGeoData - responses: - '200': - description: Geo Data - content: - application/json: - schema: - type: object - properties: - id: - type: number - example: 1841489 - name: - type: string - example: Blindkitty38's home - guestUserID: - type: number - example: 58815432 - guestUserUUID: - type: string - example: f3df4e01bfca0787 - guestEnabled: - type: boolean - subscription: - type: boolean - '401': - description: Unauthorized - Returned if the X-Plex-Token is missing from the header or query. - content: - application/json: - schema: - type: object - properties: - errors: - type: array - items: - type: object - properties: - code: - type: number - example: 1001 - message: - type: string - example: User could not be authenticated - status: - type: number - example: 401 - /home: - servers: - - url: 'https://plex.tv/api/v2' - get: - tags: - - Plex.tv - summary: Get Home Data - description: Get Home Data - operationId: getHomeData - responses: - '200': - description: Home Data - content: - application/json: - schema: - type: object - properties: - id: - type: number - example: 1841489 - name: - type: string - example: Blindkitty38's home - guestUserID: - type: number - example: 58815432 - guestUserUUID: - type: string - example: f3df4e01bfca0787 - guestEnabled: - type: boolean - subscription: - type: boolean - '401': - description: Unauthorized - Returned if the X-Plex-Token is missing from the header or query. - content: - application/json: - schema: - type: object - properties: - errors: - type: array - items: - type: object - properties: - code: - type: number - example: 1001 - message: - type: string - example: User could not be authenticated - status: - type: number - example: 401 - /pins: - servers: - - url: 'https://plex.tv/api/v2' - post: - tags: - - Plex.tv - - Authentication - summary: Get a Pin - operationId: getPin - description: Retrieve a Pin from Plex.tv for authentication flows - security: - - ClientIdentifier: [] - parameters: - - name: strong - description: | - Determines the kind of code returned by the API call - Strong codes are used for Pin authentication flows - Non-Strong codes are used for `Plex.tv/link` - in: query - schema: - type: boolean - default: false - required: false - responses: - '200': - description: The Pin - content: - application/json: - schema: - type: object - properties: - id: - description: PinID for use with authentication - type: number - example: 1272322473 - code: - type: string - example: 3patfx1a78ukcbr7x0n9bl26t - product: - type: string - example: Plex Web - trusted: - type: boolean - qr: - description: | - a link to a QR code hosted on plex.tv - The QR code redirects to the relevant `plex.tv/link` authentication page - Which then prompts the user for the 4 Digit Link Pin - type: string - example: 'https://plex.tv/api/v2/pins/qr/3patfx1a78ukcbr7x0n9bl26t' - clientIdentifier: - type: string - example: Postman - location: - type: object - properties: - code: - type: string - example: US - european_union_member: - type: boolean - continent_code: - type: string - example: NA - country: - type: string - example: United States - city: - type: string - example: Austin - time_zone: - type: string - example: America/Chicago - postal_code: - type: string - example: 78732 - in_privacy_restricted_country: - type: boolean - subdivisions: - type: string - example: Texas - coordinates: - type: string - example: 30.3768 -97.8935 - expiresIn: - type: number - example: 1800 - createdAt: - type: string - format: date-time - example: 2023-04-12T17:00:03.000Z - expiresAt: - type: string - format: date-time - example: 2023-04-12T17:30:03.000Z - authToken: - type: string - format: nullable - newRegistration: - type: string - format: nullable - '400': - description: X-Plex-Client-Identifier is missing - content: - application/json: - schema: - type: object - properties: - errors: - type: array - items: - type: object - properties: - code: - type: number - example: 1000 - message: - type: string - example: X-Plex-Client-Identifier is missing - status: - type: number - example: 400 - '/pins/{pinID}': - servers: - - url: 'https://plex.tv/api/v2' - get: - tags: - - Plex.tv - - Authentication - summary: Get Access Token - operationId: getToken - description: Retrieve an Access Token from Plex.tv after the Pin has already been authenticated - security: - - ClientIdentifier: [] - parameters: - - name: pinID - description: The PinID to retrieve an access token for - in: path - schema: - type: string - required: true - responses: - '200': - description: Access Token - '400': - description: X-Plex-Client-Identifier is missing - content: - application/json: - schema: - type: object - properties: - errors: - type: array - items: - type: object - properties: - code: - type: number - example: 1000 - message: - type: string - example: X-Plex-Client-Identifier is missing - status: - type: number - example: 400 - /resources: - servers: - - url: 'https://plex.tv/api/v2' - get: - tags: - - Plex.tv - - Devices - summary: Get Devices - description: Get Devices - operationId: getDevices - parameters: - - name: includeHttps - description: Include Https entries in the results - in: query - schema: - type: number - enum: - - 0 - - 1 - - name: includeRelay - description: Include Relay addresses in the results - in: query - schema: - type: number - enum: - - 0 - - 1 - - name: includeIPv6 - description: Include IPv6 entries in the results - in: query - schema: - type: number - enum: - - 0 - - 1 - responses: - '200': - description: List of Plex Devices - content: - application/json: - schema: - type: array - items: - type: object - properties: - name: - type: string - example: Hera - product: - type: string - example: Plex Media Server - productVersion: - type: string - example: 1.31.3.6868-28fc46b27 - platform: - type: string - example: Linux - platformVersion: - type: string - example: '5.19.17-Unraid (#2 SMP PREEMPT_DYNAMIC Wed Nov 2 11:54:15 PDT 2022)' - device: - type: string - example: PC - clientIdentifier: - type: string - example: 96f2fe7a78c9dc1f16a16bedbe90f98149be16b4 - createdAt: - type: string - format: date-time - example: 2022-06-02T00:54:26.000Z - lastSeenAt: - type: string - format: date-time - example: 2023-04-11T05:53:59.000Z - provides: - type: string - example: server - ownerId: - type: string - format: nullable - sourceTitle: - type: string - format: nullable - publicAddress: - type: string - example: 68.248.140.20 - accessToken: - type: string - example: CR3nxzsaSHdWx_WwZsJL - owned: - type: boolean - home: - type: boolean - synced: - type: boolean - relay: - type: boolean - presence: - type: boolean - httpsRequired: - type: boolean - publicAddressMatches: - type: boolean - dnsRebindingProtection: - type: boolean - natLoopbackSupported: - type: boolean - connections: - type: array - items: - type: object - properties: - protocol: - type: string - example: http - address: - type: string - example: 172.18.0.1 - port: - type: number - example: 32400 - uri: - type: string - example: 'http://172.18.0.1:32400' - local: - type: boolean - relay: - type: boolean - IPv6: - type: boolean - '401': - description: Unauthorized - Returned if the X-Plex-Token is missing from the header or query. - content: - application/json: - schema: - type: object - properties: - errors: - type: array - items: - type: object - properties: - code: - type: number - example: 1001 - message: - type: string - example: User could not be authenticated - status: - type: number - example: 401 - /user: - servers: - - url: 'https://plex.tv/api/v2' - get: - tags: - - Plex.tv - - User - summary: Get Logged in User - description: Get Logged in User - operationId: getUserDetails - responses: - '200': - description: Logged in user details - '401': - description: Unauthorized - Returned if the X-Plex-Token is missing from the header or query. - content: - application/json: - schema: - type: object - properties: - errors: - type: array - items: - type: object - properties: - code: - type: number - example: 1001 - message: - type: string - example: User could not be authenticated - status: - type: number - example: 401 - /user/settings: - servers: - - url: 'https://plex.tv/api/v2' - get: - tags: - - Plex.tv - summary: Get User Settings - description: Get User Settings - operationId: getUserSettings - responses: - '200': - description: User Settings - content: - application/json: - schema: - type: array - items: - type: object - properties: - id: - type: string - example: experience - type: - type: string - example: json - value: - type: string - hidden: - type: boolean - updatedAt: - type: number - example: 1681769995 - '401': - description: Unauthorized - Returned if the X-Plex-Token is missing from the header or query. - content: - application/json: - schema: - type: object - properties: - errors: - type: array - items: - type: object - properties: - code: - type: number - example: 1001 - message: - type: string - example: User could not be authenticated - status: - type: number - example: 401 - /user/settings/opt_outs: - servers: - - url: 'https://plex.tv/api/v2' - get: - tags: - - Plex.tv - summary: Get User Opt Out Settings - description: Get User Opt Out Settings - operationId: getUserOptOutSettings - responses: - '200': - description: User Opt Out Settings - content: - application/json: - schema: - type: object - properties: - tv.plex.provider.podcasts: - type: string - example: opt_in - tv.plex.provider.news: - type: string - example: opt_in - tv.plex.provider.webshows: - type: string - example: opt_out - tv.plex.provider.music: - type: string - example: opt_out - tv.plex.provider.vod: - type: string - example: opt_in - scrobbling: - type: string - example: opt_in - '401': - description: Unauthorized - Returned if the X-Plex-Token is missing from the header or query. - content: - application/json: - schema: - type: object - properties: - errors: - type: array - items: - type: object - properties: - code: - type: number - example: 1001 - message: - type: string - example: User could not be authenticated - status: - type: number - example: 401 - /rooms: - servers: - - url: 'https://together.plex.tv' - get: - tags: - - Plex.tv - - Watch Together - summary: Get Watch Together Rooms - description: Get Watch Together Rooms - operationId: getWatchTogetherRooms - responses: - '200': - description: Watch Together Rooms - content: - application/json: - schema: - type: object - properties: - rooms: - type: array - items: - type: object - properties: - endsAt: - type: number - example: 1681926945 - id: - type: string - example: 1p0qq82tg3ff - sourceUri: - type: string - example: 'server://96f2fe7a78c9dc1f16a16bedbe90f98149be16b4/com.plexapp.plugins.library/library/metadata/59409' - startsAt: - type: number - example: 1681916145 - syncplayHost: - type: string - example: pop-atl01.syncplay.plex.services - syncplayPort: - type: number - example: 7776 - title: - type: string - example: The Rookie · S5 · E20 · S.T.R. - type: - type: string - example: watch - updatedAt: - type: number - example: 1681916145 - users: - type: array - items: - type: object - properties: - id: - type: number - example: 9539173 - thumb: - type: string - example: 'https://plex.tv/users/844780fc6f8a26b5/avatar?c=1679685540' - title: - type: string - example: Luke - username: - type: string - example: Blindkitty38 - uuid: - type: string - example: 844780fc6f8a26b5 - source: - type: string - example: 'server://96f2fe7a78c9dc1f16a16bedbe90f98149be16b4/com.plexapp.plugins.library/library/metadata/59409' - '401': - description: Unauthorized - Returned if the X-Plex-Token is missing from the header or query. - content: - application/json: - schema: - type: object - properties: - errors: - type: array - items: - type: object - properties: - code: - type: number - example: 1001 - message: - type: string - example: User could not be authenticated - status: - type: number - example: 401 -tags: - - name: Activities - description: | - Activities are awesome. They provide a way to monitor and control asynchronous operations on the server. In order to receive real-time updates for activities, a client would normally subscribe via either EventSource or Websocket endpoints. - Activities are associated with HTTP replies via a special `X-Plex-Activity` header which contains the UUID of the activity. - Activities are optional cancellable. If cancellable, they may be cancelled via the `DELETE` endpoint. Other details: - - They can contain a `progress` (from 0 to 100) marking the percent completion of the activity. - - They must contain an `type` which is used by clients to distinguish the specific activity. - - They may contain a `Context` object with attributes which associate the activity with various specific entities (items, libraries, etc.) - - The may contain a `Response` object which attributes which represent the result of the asynchronous operation. - - name: Authentication - description: | - API Calls regarding authentication for Plex Media Server - - name: Butler - description: | - Butler is the task manager of the Plex Media Server Ecosystem. - - name: Server - description: | - Operations against the Plex Media Server System. - - name: Updater - description: | - 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. - - name: Log - description: | - Submit logs to the Log Handler for Plex Media Server - - name: Security - description: | - API Calls against Security for Plex Media Server - - name: Library - description: | - API Calls interacting with Plex Media Server Libraries - - name: Hubs - description: | - Hubs are a structured two-dimensional container for media, generally represented by multiple horizontal rows. - - name: Playlists - description: | - Playlists are ordered collections of media. They can be dumb (just a list of media) or smart (based on a media query, such as "all albums from 2017"). - They can be organized in (optionally nesting) folders. - Retrieving a playlist, or its items, will trigger a refresh of its metadata. - This may cause the duration and number of items to change. - - name: Search - description: | - API Calls that perform search operations with Plex Media Server - - name: User - description: | - API Calls that perform operations with Plex Media Server Users