getSessionList()
Retrieves a list of sessions.
function getSessionList: (queryParams: QueryParams) => Promise<PaginatedResourceResponse<Session[]>>;
QueryParams
getSessionList()
requires either clientId
or userId
to be provided.
Name | Type | Description |
---|---|---|
clientId? | string | The client ID to retrieve the list of sessions for. |
userId? | string | The user ID to retrieve the list of sessions for. |
status? | SessionStatus | The status of the session. |
limit? | number | The number of results to return. Must be an integer greater than zero and less than 501. |
offset? | number | The number of results to skip. |
SessionStatus
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. |
getSessionList()
examples
getSessionList({ userId })
Retrieve a list of sessions for a specific userId
:
const userId = 'user_2V7JJKmoA9HqzHhfMqK5cpgLl56'; const response = await clerkClient.sessions.getSessionList({ userId });
getSessionList({ userId, 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_2V7JJKmoA9HqzHhfMqK5cpgLl56'; const status = 'expired' const response = await clerkClient.sessions.getSessionList({ userId, status }); console.log(response); /* { data: [ _Session { id: 'sess_2agTqj42O0jJYtiToTJJ2zybWOQ', clientId: 'client_2ZUtYQ0PhlbbMC6WSo7zwMCPihy', userId: 'user_2V7JJKmoA9HqzHhfMqK5cpgLl56', 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(opens in a new tab) for more details.
Last updated on February 21, 2024