getSessionList()
Retrieves a list of sessions. Returns a PaginatedResourceResponse
object with a data
property that contains an array of Session
objects, and a totalCount
property that indicates the total number of sessions for the specified user.
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
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 })
Backend API (BAPI) endpoint
This method in the SDK is a wrapper around the BAPI endpoint GET/sessions
. See the BAPI reference for more information.
Feedback
Last updated on