Files

Plex

(plex())

Overview

API Calls that perform operations directly against https://Plex.tv

Available Operations

getCompanionsData

Get Companions Data

Example Usage

package hello.world;

import dev.plexapi.sdk.PlexAPI;
import dev.plexapi.sdk.models.errors.GetCompanionsDataBadRequest;
import dev.plexapi.sdk.models.errors.GetCompanionsDataUnauthorized;
import dev.plexapi.sdk.models.operations.GetCompanionsDataResponse;
import java.lang.Exception;

public class Application {

    public static void main(String[] args) throws GetCompanionsDataBadRequest, GetCompanionsDataUnauthorized, Exception {

        PlexAPI sdk = PlexAPI.builder()
                .accessToken("<YOUR_API_KEY_HERE>")
            .build();

        GetCompanionsDataResponse res = sdk.plex().getCompanionsData()
                .call();

        if (res.responseBodies().isPresent()) {
            // handle response
        }
    }
}

Parameters

Parameter Type Required Description
serverURL String An optional server URL to use.

Response

GetCompanionsDataResponse

Errors

Error Type Status Code Content Type
models/errors/GetCompanionsDataBadRequest 400 application/json
models/errors/GetCompanionsDataUnauthorized 401 application/json
models/errors/SDKError 4XX, 5XX */*

getUserFriends

Get friends of provided auth token.

Example Usage

package hello.world;

import dev.plexapi.sdk.PlexAPI;
import dev.plexapi.sdk.models.errors.GetUserFriendsBadRequest;
import dev.plexapi.sdk.models.errors.GetUserFriendsUnauthorized;
import dev.plexapi.sdk.models.operations.GetUserFriendsResponse;
import java.lang.Exception;

public class Application {

    public static void main(String[] args) throws GetUserFriendsBadRequest, GetUserFriendsUnauthorized, Exception {

        PlexAPI sdk = PlexAPI.builder()
                .accessToken("<YOUR_API_KEY_HERE>")
            .build();

        GetUserFriendsResponse res = sdk.plex().getUserFriends()
                .call();

        if (res.friends().isPresent()) {
            // handle response
        }
    }
}

Parameters

Parameter Type Required Description
serverURL String An optional server URL to use.

Response

GetUserFriendsResponse

Errors

Error Type Status Code Content Type
models/errors/GetUserFriendsBadRequest 400 application/json
models/errors/GetUserFriendsUnauthorized 401 application/json
models/errors/SDKError 4XX, 5XX */*

getGeoData

Returns the geolocation and locale data of the caller

Example Usage

package hello.world;

import dev.plexapi.sdk.PlexAPI;
import dev.plexapi.sdk.models.errors.GetGeoDataBadRequest;
import dev.plexapi.sdk.models.errors.GetGeoDataUnauthorized;
import dev.plexapi.sdk.models.operations.GetGeoDataResponse;
import java.lang.Exception;

public class Application {

    public static void main(String[] args) throws GetGeoDataBadRequest, GetGeoDataUnauthorized, Exception {

        PlexAPI sdk = PlexAPI.builder()
            .build();

        GetGeoDataResponse res = sdk.plex().getGeoData()
                .call();

        if (res.geoData().isPresent()) {
            // handle response
        }
    }
}

Parameters

Parameter Type Required Description
serverURL String An optional server URL to use.

Response

GetGeoDataResponse

Errors

Error Type Status Code Content Type
models/errors/GetGeoDataBadRequest 400 application/json
models/errors/GetGeoDataUnauthorized 401 application/json
models/errors/SDKError 4XX, 5XX */*

getHomeData

Retrieves the home data for the authenticated user, including details like home ID, name, guest access information, and subscription status.

Example Usage

package hello.world;

import dev.plexapi.sdk.PlexAPI;
import dev.plexapi.sdk.models.errors.GetHomeDataBadRequest;
import dev.plexapi.sdk.models.errors.GetHomeDataUnauthorized;
import dev.plexapi.sdk.models.operations.GetHomeDataResponse;
import java.lang.Exception;

public class Application {

    public static void main(String[] args) throws GetHomeDataBadRequest, GetHomeDataUnauthorized, Exception {

        PlexAPI sdk = PlexAPI.builder()
                .accessToken("<YOUR_API_KEY_HERE>")
            .build();

        GetHomeDataResponse res = sdk.plex().getHomeData()
                .call();

        if (res.object().isPresent()) {
            // handle response
        }
    }
}

Response

GetHomeDataResponse

Errors

Error Type Status Code Content Type
models/errors/GetHomeDataBadRequest 400 application/json
models/errors/GetHomeDataUnauthorized 401 application/json
models/errors/SDKError 4XX, 5XX */*

getServerResources

Get Plex server access tokens and server connections

Example Usage

package hello.world;

import dev.plexapi.sdk.PlexAPI;
import dev.plexapi.sdk.models.errors.GetServerResourcesBadRequest;
import dev.plexapi.sdk.models.errors.GetServerResourcesUnauthorized;
import dev.plexapi.sdk.models.operations.*;
import java.lang.Exception;

public class Application {

    public static void main(String[] args) throws GetServerResourcesBadRequest, GetServerResourcesUnauthorized, Exception {

        PlexAPI sdk = PlexAPI.builder()
                .accessToken("<YOUR_API_KEY_HERE>")
            .build();

        GetServerResourcesResponse res = sdk.plex().getServerResources()
                .includeHttps(IncludeHttps.Enable)
                .includeRelay(IncludeRelay.Enable)
                .includeIPv6(IncludeIPv6.Enable)
                .clientID("3381b62b-9ab7-4e37-827b-203e9809eb58")
                .call();

        if (res.plexDevices().isPresent()) {
            // handle response
        }
    }
}

Parameters

Parameter Type Required Description Example
includeHttps Optional<IncludeHttps> Include Https entries in the results 1
includeRelay Optional<IncludeRelay> Include Relay addresses in the results
E.g: https://10-0-0-25.bbf8e10c7fa20447cacee74cd9914cde.plex.direct:32400
1
includeIPv6 Optional<IncludeIPv6> Include IPv6 entries in the results 1
clientID String ✔️ An opaque identifier unique to the client (UUID, serial number, or other unique device ID) 3381b62b-9ab7-4e37-827b-203e9809eb58
serverURL String An optional server URL to use. http://localhost:8080

Response

GetServerResourcesResponse

Errors

Error Type Status Code Content Type
models/errors/GetServerResourcesBadRequest 400 application/json
models/errors/GetServerResourcesUnauthorized 401 application/json
models/errors/SDKError 4XX, 5XX */*

getPin

Retrieve a Pin ID from Plex.tv to use for authentication flows

Example Usage

package hello.world;

import dev.plexapi.sdk.PlexAPI;
import dev.plexapi.sdk.models.errors.GetPinBadRequest;
import dev.plexapi.sdk.models.operations.GetPinRequest;
import dev.plexapi.sdk.models.operations.GetPinResponse;
import java.lang.Exception;

public class Application {

    public static void main(String[] args) throws GetPinBadRequest, Exception {

        PlexAPI sdk = PlexAPI.builder()
            .build();

        GetPinRequest req = GetPinRequest.builder()
                .clientID("3381b62b-9ab7-4e37-827b-203e9809eb58")
                .clientName("Plex for Roku")
                .deviceNickname("Roku 3")
                .clientVersion("2.4.1")
                .platform("Roku")
                .build();

        GetPinResponse res = sdk.plex().getPin()
                .request(req)
                .call();

        if (res.authPinContainer().isPresent()) {
            // handle response
        }
    }
}

Parameters

Parameter Type Required Description
request GetPinRequest ✔️ The request object to use for the request.
serverURL String An optional server URL to use.

Response

GetPinResponse

Errors

Error Type Status Code Content Type
models/errors/GetPinBadRequest 400 application/json
models/errors/SDKError 4XX, 5XX */*

getTokenByPinId

Retrieve an Access Token from Plex.tv after the Pin has been authenticated

Example Usage

package hello.world;

import dev.plexapi.sdk.PlexAPI;
import dev.plexapi.sdk.models.errors.GetTokenByPinIdBadRequest;
import dev.plexapi.sdk.models.errors.GetTokenByPinIdResponseBody;
import dev.plexapi.sdk.models.operations.GetTokenByPinIdRequest;
import dev.plexapi.sdk.models.operations.GetTokenByPinIdResponse;
import java.lang.Exception;

public class Application {

    public static void main(String[] args) throws GetTokenByPinIdBadRequest, GetTokenByPinIdResponseBody, Exception {

        PlexAPI sdk = PlexAPI.builder()
            .build();

        GetTokenByPinIdRequest req = GetTokenByPinIdRequest.builder()
                .pinID(408895L)
                .clientID("3381b62b-9ab7-4e37-827b-203e9809eb58")
                .clientName("Plex for Roku")
                .deviceNickname("Roku 3")
                .clientVersion("2.4.1")
                .platform("Roku")
                .build();

        GetTokenByPinIdResponse res = sdk.plex().getTokenByPinId()
                .request(req)
                .call();

        if (res.authPinContainer().isPresent()) {
            // handle response
        }
    }
}

Parameters

Parameter Type Required Description
request GetTokenByPinIdRequest ✔️ The request object to use for the request.
serverURL String An optional server URL to use.

Response

GetTokenByPinIdResponse

Errors

Error Type Status Code Content Type
models/errors/GetTokenByPinIdBadRequest 400 application/json
models/errors/GetTokenByPinIdResponseBody 404 application/json
models/errors/SDKError 4XX, 5XX */*