Skip to main content

Users

Read the users of a project and the user that makes the request, and sign that user out.

Overview

A user is a LiveKit Cloud account. The email field is the email address on the account.

These endpoints don't change other users. To change someone's role, or to remove them, use Project members.

To list users, set projectId. You need the Read role on that project.

Getting a user returns 404 for any user who doesn't share a project with you, even when the ID exists.

To sign out, revoke your session token. This endpoint accepts only a session token. An access token gets 401.

To call these endpoints from the CLI, use the lk user commands, for example lk user list --user-auth. The lk cloud whoami --user-auth command gets the current user.

The user object

A LiveKit Cloud user.

idstring

The user ID, also the userId on project and workspace members.

emailstring

The email address on the account.

createdAttimestamp

When the account was created.

The user object

{
"id": string,
"email": string,
"createdAt": timestamp
}

List users

GET
/v0/users

Returns a list of User objects, with a pageInfo cursor.

Query parameters

page.cursorstring

The cursor of the page to return: the nextCursor of the previous page. When empty, the list starts at the first item.

page.pageSizeint32

The maximum number of items to return. When 0, the list uses its default page size.

projectIdstring

The ID of a project (p_...). Returns only the members of this project. Set projectId, workspaceId, or both. When you set both, the project must be in the workspace, and the list has the members of the project.

workspaceIdstring

The ID of a workspace (wo_...). Returns only the members of this workspace.

Request

curl -X GET "https://beta-api.livekit.cloud/v0/users" \
-G \
--data-urlencode "projectId=$PROJECT_ID" \
-H "Authorization: Bearer $LIVEKIT_SESSION_TOKEN"

Response

{
"items": [
{
"id": "LIYM4YkVTydCfM4Jm1kXpq",
"email": "sam@example.com",
"createdAt": "2025-11-03T09:12:44Z"
}
],
"pageInfo": {
"nextCursor": "",
"hasMore": false
}
}

Get user

GET
/v0/users/{userId}

Returns the User object.

Path parameters

userId
Required
string

The userId path parameter.

Request

curl -X GET "https://beta-api.livekit.cloud/v0/users/${USER_ID}" \
-H "Authorization: Bearer $LIVEKIT_SESSION_TOKEN"

Response

{
"user": {
"id": "LIYM4YkVTydCfM4Jm1kXpq",
"email": "sam@example.com",
"createdAt": "2025-11-03T09:12:44Z"
}
}

Get current user

GET
/v0/users/me

Returns the User object.

Request

curl -X GET "https://beta-api.livekit.cloud/v0/users/me" \
-H "Authorization: Bearer $LIVEKIT_SESSION_TOKEN"

Response

{
"user": {
"id": "LIYM4YkVTydCfM4Jm1kXpq",
"email": "sam@example.com",
"createdAt": "2025-11-03T09:12:44Z"
}
}

Revoke session token

DELETE
/v0/users/me/session-token

Revokes the session token that you call with, and signs you out. After this call, the token gets Unauthenticated on every call, a retry of this call included. Your other session tokens stay valid. Access tokens that CreateToken returned stay valid until they expire.

Request

curl -X DELETE "https://beta-api.livekit.cloud/v0/users/me/session-token" \
-H "Authorization: Bearer $LIVEKIT_SESSION_TOKEN"

Response

{}