Skip to content

Latest commit

 

History

History
285 lines (188 loc) · 17.5 KB

File metadata and controls

285 lines (188 loc) · 17.5 KB

Sessions

Overview

Available Operations

List

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.

Example Usage

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

Parameters

Parameter Type Required Description
request GetSessionListRequest ✔️ The request object to use for the request.

Response

GetSessionListResponse

Errors

Error Type Status Code Content Type
Clerk.BackendAPI.Models.Errors.ClerkErrors 400, 401, 422 application/json
Clerk.BackendAPI.Models.Errors.SDKError 4XX, 5XX */*

Create

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.

Example Usage

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

Parameters

Parameter Type Required Description
request CreateSessionRequestBody ✔️ The request object to use for the request.

Response

CreateSessionResponse

Errors

Error Type Status Code Content Type
Clerk.BackendAPI.Models.Errors.ClerkErrors 400, 401, 404, 422 application/json
Clerk.BackendAPI.Models.Errors.SDKError 4XX, 5XX */*

Get

Retrieve the details of a session

Example Usage

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

Parameters

Parameter Type Required Description Example
SessionId string ✔️ The ID of the session sess_1234567890abcdef

Response

GetSessionResponse

Errors

Error Type Status Code Content Type
Clerk.BackendAPI.Models.Errors.ClerkErrors 400, 401, 404 application/json
Clerk.BackendAPI.Models.Errors.SDKError 4XX, 5XX */*

Refresh

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.

Example Usage

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

Parameters

Parameter Type Required Description
SessionId string ✔️ The ID of the session
RequestBody RefreshSessionRequestBody Refresh session parameters

Response

RefreshSessionResponse

Errors

Error Type Status Code Content Type
Clerk.BackendAPI.Models.Errors.ClerkErrors 400, 401 application/json
Clerk.BackendAPI.Models.Errors.SDKError 4XX, 5XX */*

Revoke

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.

Example Usage

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

Parameters

Parameter Type Required Description Example
SessionId string ✔️ The ID of the session sess_1234567890abcdef

Response

RevokeSessionResponse

Errors

Error Type Status Code Content Type
Clerk.BackendAPI.Models.Errors.ClerkErrors 400, 401, 404 application/json
Clerk.BackendAPI.Models.Errors.SDKError 4XX, 5XX */*

CreateToken

Creates a session JSON Web Token (JWT) based on a session.

Example Usage

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

Parameters

Parameter Type Required Description
SessionId string ✔️ The ID of the session
RequestBody CreateSessionTokenRequestBody N/A

Response

CreateSessionTokenResponse

Errors

Error Type Status Code Content Type
Clerk.BackendAPI.Models.Errors.ClerkErrors 401, 404 application/json
Clerk.BackendAPI.Models.Errors.SDKError 4XX, 5XX */*

CreateTokenFromTemplate

Creates a JSON Web Token (JWT) based on a session and a JWT Template name defined for your instance

Example Usage

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

Parameters

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

Response

CreateSessionTokenFromTemplateResponse

Errors

Error Type Status Code Content Type
Clerk.BackendAPI.Models.Errors.ClerkErrors 401, 404 application/json
Clerk.BackendAPI.Models.Errors.SDKError 4XX, 5XX */*