Get Devices
When accessing and logging into a Plex Media server, the device used to access the server is added to the list of authorized devices. This list can be reviewed from the Plex Server's administration site.
While devices can be removed the authorized from device list, the information about the device is still kept within the Plex database, and can be retrieved using this API command.
URL
GET http://{ip_address}:32400/devices/?X-Plex-Token={plex_token}
Parameters
Name | Description |
---|---|
ip_address | The IP address of the Plex Media server. |
plex_token | The Plex token. |
Return Status
HTTP Code | Description |
---|---|
200 | Success - The request was successful. |
401 | Unauthorized - The Plex token provided was not valid. |
Response
XML string value that lists the devices that have accessed the Plex server. An example of the XML returned from the request is shown below:
<?xml version="1.0" encoding="UTF-8"?> <MediaContainer size="14" identifier="com.plexapp.system.devices"> <Device id="1" name="Plex Web (Firefox)" platform="" clientIdentifier="lj0nrqk60o" createdAt="1451188204" /> <Device id="2" name="Desktop" platform="" clientIdentifier="B6632D4A-5062-4DC8-8F86-2899DACFD446" createdAt="1451189307" /> <Device id="3" name="Galaxy Note4" platform="Android" clientIdentifier="a782fec64e323ab1-com-plexapp-android" createdAt="1451191966" /> <Device id="4" name="Roku 3" platform="" clientIdentifier="Plex8E6532043338" createdAt="1451238531" /> <Device id="5" name="Bob iPhone" platform="" clientIdentifier="49C59058-DBB3-409B-BC22-28FF407D983D" createdAt="1451531416" /> <Device id="6" name="Dell Laptop" platform="" clientIdentifier="957B7AA1-C4AC-44A4-992C-53F085465B69" createdAt="1456073615" /> <Device id="7" name="Plex Web (Firefox)" platform="" clientIdentifier="63tn6wik38f" createdAt="1456185758" /> <Device id="8" name="iPhone" platform="iOS" clientIdentifier="ADE7CA5E-A691-45EF-9B2C-A480EA640A02" createdAt="1460595679" /> <Device id="9" name="RasPlex" platform="" clientIdentifier="0CA903BF-54E5-44EC-93AC-BA90195C877C" createdAt="1463245049" /> <Device id="10" name="Tom iPhone" platform="" clientIdentifier="D7ECC0B2-8700-480C-B699-88EB22335402" createdAt="1463245782" /> <Device id="11" name="Plex Web (Chrome)" platform="" clientIdentifier="9igq5fdtymk9c7okomkfx647vi" createdAt="1463254301" /> <Device id="12" name="Plex Web (Chrome)" platform="" clientIdentifier="72n3ja6drbot341sl40a4i" createdAt="1464217576" /> <Device id="13" name="Plex Web (Chrome)" platform="" clientIdentifier="ufaj2q87yq0aqjomf7iitqpvi" createdAt="1464465954" /> <Device id="14" name="Plex Web (Chrome)" platform="" clientIdentifier="t0v90n9iyk73krbaed8qqto6r" createdAt="1464572428" /> </MediaContainer>
Remarks
The XML returned provides a list of the devices that have accessed the Plex server. The root is the MediaContainer
element. This element contains a few attributes that provide overall information about the devices that have accessed the server.
Attribute | Description |
---|---|
size | The number of devices that have accessed the Plex server. |
identifier | The identifier for this type of item in Plex. |
Within the MediaContainer
there are one or more Device
child elements. Each Device
element represents one device that has accessed the Plex server.
Attribute | Description |
---|---|
id | The unique integer value used to identify the device. |
name | The name of the device. |
platform | The platform of the device. |
clientIdentifier | The identifier for this type of device in Plex. |
createdAt | The date and time the device was created on the Plex server. This would represent the first time the device accessed the server. |
As mentioned earlier, the list of devices returned represents the history of all devices that have access the Plex server, not just the current list of authorized devices. Removing a device from the authorized device list, won't remove the device from this list.
Examples
curl -X GET http://{ip_address}:32400/devices/?X-Plex-Token={plex_token}
import requests plex_url = http://{ip_address}:32400/devices/?X-Plex-Token={plex_token} response = requests.get(plex_url) print(response.text)
$response = Invoke-RestMethod 'http://{ip_address}:32400/devices/?X-Plex-Token={plex_token}' -Method 'GET' Write-Output $response