Test a source's credentials without saving.
Session-only. kind rides in the body rather than the path so a server
can be tested before it is saved; pass id instead to re-test one that
is, reusing its stored secret.
Request body required
application/json
Credentials to try. Anything omitted falls back to the stored source named
by id.
kind string | null Required unless id is given.
id integer | null · int64 Test an existing source, reusing its stored secret.
url string | null token string | null username string | null password string | null api_key string | null Responses
Result. A failed check is still a 200, with ok: false.
application/json
Whether the credentials work. A failed check is a 200 with ok: false.
ok boolean required account string | null The account the credential belongs to, where the server can say.
account_error string | null The server was reached but could not name the account — recoverable
by picking one from accounts.
accounts any | null Empty or absent when the credential may not list them; the picker is then not offered. Jellyfin needs this more than Plex: a dashboard API key belongs to no user.
option 1 array An account on the Plex server — the server owner plus any managed or shared
users. id is Plex's own account id; sessions are matched on name, which
is what the User element on a session carries.
id integer · int64 required name string required option 2 array An account on the server. Sessions are matched on name, which is what
SessionInfo.UserName carries.
id string required name string required libraries array | null Plex's music libraries.
error string | null Why it failed.
Unknown kind, or not enough to test with.
application/json
Every error body in the API has this shape.
code integer · int32 required Mirrors the HTTP status.
error string required Human-readable. Not a stable identifier — do not branch on it.
No valid session cookie or token. Also returned when a token is presented to a session-only endpoint — the endpoint does not accept tokens at all, so the scope is irrelevant.
application/json
Every error body in the API has this shape.
code integer · int32 required Mirrors the HTTP status.
error string required Human-readable. Not a stable identifier — do not branch on it.
{
"code": 401,
"error": "Authentication required. Log in to access this endpoint."
}No such resource, or it belongs to another user.
application/json
Every error body in the API has this shape.
code integer · int32 required Mirrors the HTTP status.
error string required Human-readable. Not a stable identifier — do not branch on it.