Returns a list of all sessions.
The sessions are returned sorted by creation date, with the newest sessions appearing first.
Deprecation Notice (2024-01-01): All parameters were initially considered optional, however
moving forward at least one of client_id or user_id parameters should be provided.
using Clerk.BackendAPI;
using Clerk.BackendAPI.Models.Components;
using Clerk.BackendAPI.Models.Operations;
var sdk = new ClerkBackendApi(bearerAuth: "<YOUR_BEARER_TOKEN_HERE>");
GetSessionListRequest req = new GetSessionListRequest() {
ClientId = "client_123",
UserId = "user_456",
Status = Clerk.BackendAPI.Models.Operations.Status.Active,
Limit = 20,
Offset = 10,
};
var res = await sdk.Sessions.ListAsync(req);
// handle response
| Parameter |
Type |
Required |
Description |
request |
GetSessionListRequest |
✔️ |
The request object to use for the request. |
GetSessionListResponse
| Error Type |
Status Code |
Content Type |
| Clerk.BackendAPI.Models.Errors.ClerkErrors |
400, 401, 422 |
application/json |
| Clerk.BackendAPI.Models.Errors.SDKError |
4XX, 5XX |
*/* |
Create a new active session for the provided user ID.
This operation is intended only for use in testing, and is not available for production instances. If you are looking to generate a user session from the backend,
we recommend using the Sign-in Tokens resource instead.
using Clerk.BackendAPI;
using Clerk.BackendAPI.Models.Components;
using Clerk.BackendAPI.Models.Operations;
var sdk = new ClerkBackendApi(bearerAuth: "<YOUR_BEARER_TOKEN_HERE>");
CreateSessionRequestBody? req = null;
var res = await sdk.Sessions.CreateAsync(req);
// handle response
CreateSessionResponse
| Error Type |
Status Code |
Content Type |
| Clerk.BackendAPI.Models.Errors.ClerkErrors |
400, 401, 404, 422 |
application/json |
| Clerk.BackendAPI.Models.Errors.SDKError |
4XX, 5XX |
*/* |
Retrieve the details of a session
using Clerk.BackendAPI;
using Clerk.BackendAPI.Models.Components;
var sdk = new ClerkBackendApi(bearerAuth: "<YOUR_BEARER_TOKEN_HERE>");
var res = await sdk.Sessions.GetAsync(sessionId: "sess_1234567890abcdef");
// handle response
| Parameter |
Type |
Required |
Description |
Example |
SessionId |
string |
✔️ |
The ID of the session |
sess_1234567890abcdef |
GetSessionResponse
| Error Type |
Status Code |
Content Type |
| Clerk.BackendAPI.Models.Errors.ClerkErrors |
400, 401, 404 |
application/json |
| Clerk.BackendAPI.Models.Errors.SDKError |
4XX, 5XX |
*/* |
Refreshes a session by creating a new session token. A 401 is returned when there
are validation errors, which signals the SDKs to fall back to the handshake flow.
using Clerk.BackendAPI;
using Clerk.BackendAPI.Models.Components;
var sdk = new ClerkBackendApi(bearerAuth: "<YOUR_BEARER_TOKEN_HERE>");
var res = await sdk.Sessions.RefreshAsync(sessionId: "<id>");
// handle response
| Parameter |
Type |
Required |
Description |
SessionId |
string |
✔️ |
The ID of the session |
RequestBody |
RefreshSessionRequestBody |
➖ |
Refresh session parameters |
RefreshSessionResponse
| Error Type |
Status Code |
Content Type |
| Clerk.BackendAPI.Models.Errors.ClerkErrors |
400, 401 |
application/json |
| Clerk.BackendAPI.Models.Errors.SDKError |
4XX, 5XX |
*/* |
Sets the status of a session as "revoked", which is an unauthenticated state.
In multi-session mode, a revoked session will still be returned along with its client object, however the user will need to sign in again.
using Clerk.BackendAPI;
using Clerk.BackendAPI.Models.Components;
var sdk = new ClerkBackendApi(bearerAuth: "<YOUR_BEARER_TOKEN_HERE>");
var res = await sdk.Sessions.RevokeAsync(sessionId: "sess_1234567890abcdef");
// handle response
| Parameter |
Type |
Required |
Description |
Example |
SessionId |
string |
✔️ |
The ID of the session |
sess_1234567890abcdef |
RevokeSessionResponse
| Error Type |
Status Code |
Content Type |
| Clerk.BackendAPI.Models.Errors.ClerkErrors |
400, 401, 404 |
application/json |
| Clerk.BackendAPI.Models.Errors.SDKError |
4XX, 5XX |
*/* |
Creates a session JSON Web Token (JWT) based on a session.
using Clerk.BackendAPI;
using Clerk.BackendAPI.Models.Components;
var sdk = new ClerkBackendApi(bearerAuth: "<YOUR_BEARER_TOKEN_HERE>");
var res = await sdk.Sessions.CreateTokenAsync(sessionId: "<id>");
// handle response
CreateSessionTokenResponse
| Error Type |
Status Code |
Content Type |
| Clerk.BackendAPI.Models.Errors.ClerkErrors |
401, 404 |
application/json |
| Clerk.BackendAPI.Models.Errors.SDKError |
4XX, 5XX |
*/* |
Creates a JSON Web Token (JWT) based on a session and a JWT Template name defined for your instance
using Clerk.BackendAPI;
using Clerk.BackendAPI.Models.Components;
var sdk = new ClerkBackendApi(bearerAuth: "<YOUR_BEARER_TOKEN_HERE>");
var res = await sdk.Sessions.CreateTokenFromTemplateAsync(
sessionId: "ses_123abcd4567",
templateName: "custom_hasura"
);
// handle response
| Parameter |
Type |
Required |
Description |
Example |
SessionId |
string |
✔️ |
The ID of the session |
ses_123abcd4567 |
TemplateName |
string |
✔️ |
The name of the JWT template defined in your instance (e.g. custom_hasura). |
custom_hasura |
RequestBody |
CreateSessionTokenFromTemplateRequestBody |
➖ |
N/A |
|
CreateSessionTokenFromTemplateResponse
| Error Type |
Status Code |
Content Type |
| Clerk.BackendAPI.Models.Errors.ClerkErrors |
401, 404 |
application/json |
| Clerk.BackendAPI.Models.Errors.SDKError |
4XX, 5XX |
*/* |