mirror of
https://github.com/LukeHagar/plex-docs.git
synced 2025-12-06 04:20:40 +00:00
37 lines
16 KiB
Plaintext
37 lines
16 KiB
Plaintext
---
|
|
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";
|
|
|
|
<h1 className={"openapi__heading"}>Get Devices</h1>
|
|
|
|
<MethodEndpoint method={"get"} path={"/resources"}></MethodEndpoint>
|
|
|
|
|
|
|
|
Get Devices
|
|
|
|
<details style={{"marginBottom":"1rem"}} className={"openapi-markdown__details"} data-collapsed={false} open={true}><summary style={{}}><strong>Query Parameters</strong></summary><div><ul><ParamsItem className={"paramsItem"} param={{"name":"includeHttps","description":"Include Https entries in the results","in":"query","schema":{"type":"number","enum":[0,1]}}}></ParamsItem><ParamsItem className={"paramsItem"} param={{"name":"includeRelay","description":"Include Relay addresses in the results","in":"query","schema":{"type":"number","enum":[0,1]}}}></ParamsItem><ParamsItem className={"paramsItem"} param={{"name":"includeIPv6","description":"Include IPv6 entries in the results","in":"query","schema":{"type":"number","enum":[0,1]}}}></ParamsItem></ul></div></details><div><div><ApiTabs><TabItem label={"200"} value={"200"}><div>
|
|
|
|
List of Plex Devices
|
|
|
|
</div><div><MimeTabs className={"openapi-tabs__mime"} schemaType={"response"}><TabItem label={"application/json"} value={"application/json"}><SchemaTabs className={"openapi-tabs__schema"}><TabItem label={"Schema"} value={"Schema"}><details style={{}} className={"openapi-markdown__details"} data-collapsed={false} open={true}><summary style={{"textAlign":"left"}}><strong>Schema</strong></summary><div style={{"textAlign":"left","marginLeft":"1rem"}}></div><ul style={{"marginLeft":"1rem"}}><li><div style={{"fontSize":"var(--ifm-code-font-size)","opacity":"0.6","marginLeft":"-.5rem","paddingBottom":".5rem"}}>Array [</div></li><SchemaItem collapsible={false} name={"name"} required={false} schemaName={"string"} qualifierMessage={undefined} schema={{"type":"string","example":"Hera"}}></SchemaItem><SchemaItem collapsible={false} name={"product"} required={false} schemaName={"string"} qualifierMessage={undefined} schema={{"type":"string","example":"Plex Media Server"}}></SchemaItem><SchemaItem collapsible={false} name={"productVersion"} required={false} schemaName={"string"} qualifierMessage={undefined} schema={{"type":"string","example":"1.31.3.6868-28fc46b27"}}></SchemaItem><SchemaItem collapsible={false} name={"platform"} required={false} schemaName={"string"} qualifierMessage={undefined} schema={{"type":"string","example":"Linux"}}></SchemaItem><SchemaItem collapsible={false} name={"platformVersion"} required={false} schemaName={"string"} qualifierMessage={undefined} schema={{"type":"string","example":"5.19.17-Unraid (#2 SMP PREEMPT_DYNAMIC Wed Nov 2 11:54:15 PDT 2022)"}}></SchemaItem><SchemaItem collapsible={false} name={"device"} required={false} schemaName={"string"} qualifierMessage={undefined} schema={{"type":"string","example":"PC"}}></SchemaItem><SchemaItem collapsible={false} name={"clientIdentifier"} required={false} schemaName={"string"} qualifierMessage={undefined} schema={{"type":"string","example":"96f2fe7a78c9dc1f16a16bedbe90f98149be16b4"}}></SchemaItem><SchemaItem collapsible={false} name={"createdAt"} required={false} schemaName={"date-time"} qualifierMessage={undefined} schema={{"type":"string","format":"date-time","example":"2022-06-02T00:54:26.000Z"}}></SchemaItem><SchemaItem collapsible={false} name={"lastSeenAt"} required={false} schemaName={"date-time"} qualifierMessage={undefined} schema={{"type":"string","format":"date-time","example":"2023-04-11T05:53:59.000Z"}}></SchemaItem><SchemaItem collapsible={false} name={"provides"} required={false} schemaName={"string"} qualifierMessage={undefined} schema={{"type":"string","example":"server"}}></SchemaItem><SchemaItem collapsible={false} name={"ownerId"} required={false} schemaName={"nullable"} qualifierMessage={undefined} schema={{"type":"string","format":"nullable"}}></SchemaItem><SchemaItem collapsible={false} name={"sourceTitle"} required={false} schemaName={"nullable"} qualifierMessage={undefined} schema={{"type":"string","format":"nullable"}}></SchemaItem><SchemaItem collapsible={false} name={"publicAddress"} required={false} schemaName={"string"} qualifierMessage={undefined} schema={{"type":"string","example":"68.248.140.20"}}></SchemaItem><SchemaItem collapsible={false} name={"accessToken"} required={false} schemaName={"string"} qualifierMessage={undefined} schema={{"type":"string","example":"CR3nxzsaSHdWx_WwZsJL"}}></SchemaItem><SchemaItem collapsible={false} name={"owned"} required={false} schemaName={"boolean"} qualifierMessage={undefined} schema={{"type":"boolean"}}></SchemaItem><SchemaItem collapsible={false} name={"home"} required={false} schemaName={"boolean"} qualifierMessage={undefined} schema={{"type":"boolean"}}></SchemaItem><SchemaItem collapsible={false} name={"synced"} required={false} schemaName={"boolean"} qualifierMessage={undefined} schema={{"type":"boolean"}}></SchemaItem><SchemaItem collapsible={false} name={"relay"} required={false} schemaName={"boolean"} qualifierMessage={undefined} schema={{"type":"boolean"}}></SchemaItem><SchemaItem collapsible={false} name={"presence"} required={false} schemaName={"boolean"} qualifierMessage={undefined} schema={{"type":"boolean"}}></SchemaItem><SchemaItem collapsible={false} name={"httpsRequired"} required={false} schemaName={"boolean"} qualifierMessage={undefined} schema={{"type":"boolean"}}></SchemaItem><SchemaItem collapsible={false} name={"publicAddressMatches"} required={false} schemaName={"boolean"} qualifierMessage={undefined} schema={{"type":"boolean"}}></SchemaItem><SchemaItem collapsible={false} name={"dnsRebindingProtection"} required={false} schemaName={"boolean"} qualifierMessage={undefined} schema={{"type":"boolean"}}></SchemaItem><SchemaItem collapsible={false} name={"natLoopbackSupported"} required={false} schemaName={"boolean"} qualifierMessage={undefined} schema={{"type":"boolean"}}></SchemaItem><SchemaItem collapsible={true} className={"schemaItem"}><details style={{}} className={"openapi-markdown__details"}><summary style={{}}><strong>connections</strong><span style={{"opacity":"0.6"}}> object[]</span></summary><div style={{"marginLeft":"1rem"}}><li><div style={{"fontSize":"var(--ifm-code-font-size)","opacity":"0.6","marginLeft":"-.5rem","paddingBottom":".5rem"}}>Array [</div></li><SchemaItem collapsible={false} name={"protocol"} required={false} schemaName={"string"} qualifierMessage={undefined} schema={{"type":"string","example":"http"}}></SchemaItem><SchemaItem collapsible={false} name={"address"} required={false} schemaName={"string"} qualifierMessage={undefined} schema={{"type":"string","example":"172.18.0.1"}}></SchemaItem><SchemaItem collapsible={false} name={"port"} required={false} schemaName={"number"} qualifierMessage={undefined} schema={{"type":"number","example":32400}}></SchemaItem><SchemaItem collapsible={false} name={"uri"} required={false} schemaName={"string"} qualifierMessage={undefined} schema={{"type":"string","example":"http://172.18.0.1:32400"}}></SchemaItem><SchemaItem collapsible={false} name={"local"} required={false} schemaName={"boolean"} qualifierMessage={undefined} schema={{"type":"boolean"}}></SchemaItem><SchemaItem collapsible={false} name={"relay"} required={false} schemaName={"boolean"} qualifierMessage={undefined} schema={{"type":"boolean"}}></SchemaItem><SchemaItem collapsible={false} name={"IPv6"} required={false} schemaName={"boolean"} qualifierMessage={undefined} schema={{"type":"boolean"}}></SchemaItem><li><div style={{"fontSize":"var(--ifm-code-font-size)","opacity":"0.6","marginLeft":"-.5rem"}}>]</div></li></div></details></SchemaItem><li><div style={{"fontSize":"var(--ifm-code-font-size)","opacity":"0.6","marginLeft":"-.5rem"}}>]</div></li></ul></details></TabItem><TabItem label={"Example (from schema)"} value={"Example (from schema)"}><ResponseSamples responseExample={"[\n {\n \"name\": \"Hera\",\n \"product\": \"Plex Media Server\",\n \"productVersion\": \"1.31.3.6868-28fc46b27\",\n \"platform\": \"Linux\",\n \"platformVersion\": \"5.19.17-Unraid (#2 SMP PREEMPT_DYNAMIC Wed Nov 2 11:54:15 PDT 2022)\",\n \"device\": \"PC\",\n \"clientIdentifier\": \"96f2fe7a78c9dc1f16a16bedbe90f98149be16b4\",\n \"createdAt\": \"2022-06-02T00:54:26.000Z\",\n \"lastSeenAt\": \"2023-04-11T05:53:59.000Z\",\n \"provides\": \"server\",\n \"ownerId\": \"string\",\n \"sourceTitle\": \"string\",\n \"publicAddress\": \"68.248.140.20\",\n \"accessToken\": \"CR3nxzsaSHdWx_WwZsJL\",\n \"owned\": true,\n \"home\": true,\n \"synced\": true,\n \"relay\": true,\n \"presence\": true,\n \"httpsRequired\": true,\n \"publicAddressMatches\": true,\n \"dnsRebindingProtection\": true,\n \"natLoopbackSupported\": true,\n \"connections\": [\n {\n \"protocol\": \"http\",\n \"address\": \"172.18.0.1\",\n \"port\": 32400,\n \"uri\": \"http://172.18.0.1:32400\",\n \"local\": true,\n \"relay\": true,\n \"IPv6\": true\n }\n ]\n }\n]"} language={"json"}></ResponseSamples></TabItem></SchemaTabs></TabItem></MimeTabs></div></TabItem><TabItem label={"401"} value={"401"}><div>
|
|
|
|
Unauthorized - Returned if the X-Plex-Token is missing from the header or query.
|
|
|
|
</div><div><MimeTabs className={"openapi-tabs__mime"} schemaType={"response"}><TabItem label={"application/json"} value={"application/json"}><SchemaTabs className={"openapi-tabs__schema"}><TabItem label={"Schema"} value={"Schema"}><details style={{}} className={"openapi-markdown__details"} data-collapsed={false} open={true}><summary style={{"textAlign":"left"}}><strong>Schema</strong></summary><div style={{"textAlign":"left","marginLeft":"1rem"}}></div><ul style={{"marginLeft":"1rem"}}><SchemaItem collapsible={true} className={"schemaItem"}><details style={{}} className={"openapi-markdown__details"}><summary style={{}}><strong>errors</strong><span style={{"opacity":"0.6"}}> object[]</span></summary><div style={{"marginLeft":"1rem"}}><li><div style={{"fontSize":"var(--ifm-code-font-size)","opacity":"0.6","marginLeft":"-.5rem","paddingBottom":".5rem"}}>Array [</div></li><SchemaItem collapsible={false} name={"code"} required={false} schemaName={"number"} qualifierMessage={undefined} schema={{"type":"number","example":1001}}></SchemaItem><SchemaItem collapsible={false} name={"message"} required={false} schemaName={"string"} qualifierMessage={undefined} schema={{"type":"string","example":"User could not be authenticated"}}></SchemaItem><SchemaItem collapsible={false} name={"status"} required={false} schemaName={"number"} qualifierMessage={undefined} schema={{"type":"number","example":401}}></SchemaItem><li><div style={{"fontSize":"var(--ifm-code-font-size)","opacity":"0.6","marginLeft":"-.5rem"}}>]</div></li></div></details></SchemaItem></ul></details></TabItem><TabItem label={"Example (from schema)"} value={"Example (from schema)"}><ResponseSamples responseExample={"{\n \"errors\": [\n {\n \"code\": 1001,\n \"message\": \"User could not be authenticated\",\n \"status\": 401\n }\n ]\n}"} language={"json"}></ResponseSamples></TabItem></SchemaTabs></TabItem></MimeTabs></div></TabItem></ApiTabs></div></div> |