Files
plexphp/docs/sdks/media/README.md

13 KiB

Media

Overview

API Calls interacting with Plex Media Server Media

Available Operations

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 /