getSessionList()
Retrieves a list of sessions.
function getSessionList: (queryParams: SessionListParams) => Promise<PaginatedResourceResponse<Session[]>>;
SessionListParams
getSessionList()
requires either clientId
or userId
to be provided.
- Name
clientId?
- Type
string
- Description
The client ID to retrieve the list of sessions for.
- Name
userId?
- Type
string
- Description
The user ID to retrieve the list of sessions for.
- Name
status?
- Type
SessionStatus
- Description
The status of the session.
- Name
limit?
- Type
number
- Description
The number of results to return. Must be an integer greater than zero and less than 501. Can be used for paginating the results together with
offset
. Defaults to10
.
- Name
offset?
- Type
number
- Description
Skip the first
offset
results when paginating. Needs to be an integer greater or equal to zero. To be used in conjunction withlimit
. Defaults to0
.
type SessionStatus = "abandoned" | "active" | "ended" | "expired" | "removed" | "replaced" | "revoked";
Value | Description |
---|---|
abandoned | The session was abandoned client-side. |
active | The session is valid and all activity is allowed. |
ended | The user signed out of the session, but the Session remains in the Client object. |
expired | The period of allowed activity for this session has passed. |
removed | The user signed out of the session and the Session was removed from the Client object. |
replaced | The session has been replaced by another one, but the Session remains in the Client object. |
revoked | The application ended the session and the Session was removed from the Client object. |
Examples
Basic
Retrieve a list of sessions for a specific userId
:
const userId = 'user_123';
const response = await clerkClient.sessions.getSessionList({ userId });
Filter by session status
In this example, a list of sessions with a status
of 'expired'
is retrieved. You can see that the returned PaginatedResourceResponse
includes data
, which is an array of Session
objects, and totalCount
, which indicates the total number of sessions for the specified user.
const userId = 'user_123';
const status = 'expired'
const response = await clerkClient.sessions.getSessionList({ userId, status });
console.log(response);
/*
{
data: [
_Session {
id: 'sess_123',
clientId: 'client_123',
userId: 'user_123',
status: 'expired',
lastActiveAt: 1705100946532,
expireAt: 1705344214310,
abandonAt: 1707331414310,
createdAt: 1704739414310,
updatedAt: 1705101240159
}
],
totalCount: 1
}
*/
Backend API (BAPI) endpoint
This method in the SDK is a wrapper around the BAPI endpoint GET/sessions
. See the BAPI reference for more details.