mirror of
https://github.com/LukeHagar/plexphp.git
synced 2025-12-06 04:20:51 +00:00
13 KiB
13 KiB
Media
Overview
API Calls interacting with Plex Media Server Media
Available Operations
- markPlayed - Mark Media Played
- markUnplayed - Mark Media Unplayed
- updatePlayProgress - Update Media Play Progress
- getBannerImage - Get Banner Image
- getThumbImage - Get Thumb Image
markPlayed
This will mark the provided media key as Played.
Example Usage
declare(strict_types=1);
require 'vendor/autoload.php';
use LukeHagar\Plex_API;
use LukeHagar\Plex_API\Models\Components;
$security = new Components\Security(
accessToken: "<YOUR_API_KEY_HERE>",
);
$sdk = Plex_API\PlexAPI::builder()
->setXPlexClientIdentifier('gcgzw5rz2xovp84b4vha3a40')
->setSecurity($security)->build();
try {
$response = $sdk->media->markPlayed(59398);
if ($response->statusCode === 200) {
// handle response
}
} catch (Throwable $e) {
// handle exception
}
Parameters
| Parameter | Type | Required | Description | Example |
|---|---|---|---|---|
key |
float | ✔️ | The media key to mark as played | 59398 |
Response
?Operations\MarkPlayedResponse
Errors
| Error Object | Status Code | Content Type |
|---|---|---|
| Errors\MarkPlayedBadRequest | 400 | application/json |
| Errors\MarkPlayedUnauthorized | 401 | application/json |
| LukeHagar\Plex_API\Models\Errors.SDKException | 4xx-5xx | / |
markUnplayed
This will mark the provided media key as Unplayed.
Example Usage
declare(strict_types=1);
require 'vendor/autoload.php';
use LukeHagar\Plex_API;
use LukeHagar\Plex_API\Models\Components;
$security = new Components\Security(
accessToken: "<YOUR_API_KEY_HERE>",
);
$sdk = Plex_API\PlexAPI::builder()
->setXPlexClientIdentifier('gcgzw5rz2xovp84b4vha3a40')
->setSecurity($security)->build();
try {
$response = $sdk->media->markUnplayed(59398);
if ($response->statusCode === 200) {
// handle response
}
} catch (Throwable $e) {
// handle exception
}
Parameters
| Parameter | Type | Required | Description | Example |
|---|---|---|---|---|
key |
float | ✔️ | The media key to mark as Unplayed | 59398 |
Response
?Operations\MarkUnplayedResponse
Errors
| Error Object | Status Code | Content Type |
|---|---|---|
| Errors\MarkUnplayedBadRequest | 400 | application/json |
| Errors\MarkUnplayedUnauthorized | 401 | application/json |
| LukeHagar\Plex_API\Models\Errors.SDKException | 4xx-5xx | / |
updatePlayProgress
This API command can be used to update the play progress of a media item.
Example Usage
declare(strict_types=1);
require 'vendor/autoload.php';
use LukeHagar\Plex_API;
use LukeHagar\Plex_API\Models\Components;
$security = new Components\Security(
accessToken: "<YOUR_API_KEY_HERE>",
);
$sdk = Plex_API\PlexAPI::builder()
->setXPlexClientIdentifier('gcgzw5rz2xovp84b4vha3a40')
->setSecurity($security)->build();
try {
$response = $sdk->media->updatePlayProgress('<key>', 90000, 'played');
if ($response->statusCode === 200) {
// handle response
}
} catch (Throwable $e) {
// handle exception
}
Parameters
| Parameter | Type | Required | Description | Example |
|---|---|---|---|---|
key |
string | ✔️ | the media key | |
time |
float | ✔️ | The time, in milliseconds, used to set the media playback progress. | 90000 |
state |
string | ✔️ | The playback state of the media item. | played |
Response
?Operations\UpdatePlayProgressResponse
Errors
| Error Object | Status Code | Content Type |
|---|---|---|
| Errors\UpdatePlayProgressBadRequest | 400 | application/json |
| Errors\UpdatePlayProgressUnauthorized | 401 | application/json |
| LukeHagar\Plex_API\Models\Errors.SDKException | 4xx-5xx | / |
getBannerImage
Gets the banner image of the media item
Example Usage
declare(strict_types=1);
require 'vendor/autoload.php';
use LukeHagar\Plex_API;
use LukeHagar\Plex_API\Models\Components;
use LukeHagar\Plex_API\Models\Operations;
$security = new Components\Security(
accessToken: "<YOUR_API_KEY_HERE>",
);
$sdk = Plex_API\PlexAPI::builder()
->setXPlexClientIdentifier('gcgzw5rz2xovp84b4vha3a40')
->setSecurity($security)->build();
try {
$request = new Operations\GetBannerImageRequest(
ratingKey: 9518,
width: 396,
height: 396,
minSize: 1,
upscale: 1,
xPlexToken: 'CV5xoxjTpFKUzBTShsaf',
);
$response = $sdk->media->getBannerImage($request);
if ($response->bytes !== null) {
// handle response
}
} catch (Throwable $e) {
// handle exception
}
Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
$request |
Operations\GetBannerImageRequest | ✔️ | The request object to use for the request. |
Response
?Operations\GetBannerImageResponse
Errors
| Error Object | Status Code | Content Type |
|---|---|---|
| Errors\GetBannerImageBadRequest | 400 | application/json |
| Errors\GetBannerImageUnauthorized | 401 | application/json |
| LukeHagar\Plex_API\Models\Errors.SDKException | 4xx-5xx | / |
getThumbImage
Gets the thumbnail image of the media item
Example Usage
declare(strict_types=1);
require 'vendor/autoload.php';
use LukeHagar\Plex_API;
use LukeHagar\Plex_API\Models\Components;
use LukeHagar\Plex_API\Models\Operations;
$security = new Components\Security(
accessToken: "<YOUR_API_KEY_HERE>",
);
$sdk = Plex_API\PlexAPI::builder()
->setXPlexClientIdentifier('gcgzw5rz2xovp84b4vha3a40')
->setSecurity($security)->build();
try {
$request = new Operations\GetThumbImageRequest(
ratingKey: 9518,
width: 396,
height: 396,
minSize: 1,
upscale: 1,
xPlexToken: 'CV5xoxjTpFKUzBTShsaf',
);
$response = $sdk->media->getThumbImage($request);
if ($response->bytes !== null) {
// handle response
}
} catch (Throwable $e) {
// handle exception
}
Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
$request |
Operations\GetThumbImageRequest | ✔️ | The request object to use for the request. |
Response
?Operations\GetThumbImageResponse
Errors
| Error Object | Status Code | Content Type |
|---|---|---|
| Errors\GetThumbImageBadRequest | 400 | application/json |
| Errors\GetThumbImageUnauthorized | 401 | application/json |
| LukeHagar\Plex_API\Models\Errors.SDKException | 4xx-5xx | / |