Represents an authenticated user’s connection to your application. A session is created when a user signs in through AuthKit and contains information about the authentication method, device details, and session status.
Get a list of all active sessions for a specific user.
curl "https://api.workos.com/user_management/users/user_01EHZNVPK3SFK441A1RGBFSHRT/sessions" \ --header "Authorization: Bearer sk_example_123456789"
{ "object": "list", "data": [ { "object": "session", "id": "session_01H93ZY4F80QPBEZ1R5B2SHQG8", "impersonator": { "email": "admin@foocorp.com", "reason": "Investigating an issue with the customer's account." }, "ip_address": "198.51.100.42", "organization_id": "org_01H945H0YD4F97JN9MATX7BYAG", "user_agent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36", "user_id": "user_01E4ZCR3C56J083X43JQXF3JK5", "auth_method": "sso", "status": "active", "expires_at": "2026-01-15T12:00:00.000Z", "ended_at": null, "created_at": "2026-01-15T12:00:00.000Z", "updated_at": "2026-01-15T12:00:00.000Z" } ], "list_metadata": { "before": "session_01HXYZ123456789ABCDEFGHIJ", "after": "session_01HXYZ987654321KJIHGFEDCBA" } }
| curl "https://api.workos.com/user_management/users/user_01EHZNVPK3SFK441A1RGBFSHRT/sessions" \ | |
| --header "Authorization: Bearer sk_example_123456789" |
| import { WorkOS } from '@workos-inc/node'; | |
| const workos = new WorkOS('sk_example_123456789'); | |
| const sessions = await workos.userManagement.listSessions( | |
| 'user_01E4ZCR3C56J083X43JQXF3JK5', | |
| ); |
| from workos import WorkOSClient | |
| workos = WorkOSClient(api_key="sk_example_123456789", client_id="client_123456789") | |
| sessions = workos.user_management.list_sessions( | |
| user_id="user_01E4ZCR3C56J083X43JQXF3JK5" | |
| ) |
| { | |
| "object": "list", | |
| "data": [ | |
| { | |
| "object": "session", | |
| "id": "session_01H93ZY4F80QPBEZ1R5B2SHQG8", | |
| "impersonator": { | |
| "email": "admin@foocorp.com", | |
| "reason": "Investigating an issue with the customer's account." | |
| }, | |
| "ip_address": "198.51.100.42", | |
| "organization_id": "org_01H945H0YD4F97JN9MATX7BYAG", | |
| "user_agent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36", | |
| "user_id": "user_01E4ZCR3C56J083X43JQXF3JK5", | |
| "auth_method": "sso", | |
| "status": "active", | |
| "expires_at": "2026-01-15T12:00:00.000Z", | |
| "ended_at": null, | |
| "created_at": "2026-01-15T12:00:00.000Z", | |
| "updated_at": "2026-01-15T12:00:00.000Z" | |
| } | |
| ], | |
| "list_metadata": { | |
| "before": "session_01HXYZ123456789ABCDEFGHIJ", | |
| "after": "session_01HXYZ987654321KJIHGFEDCBA" | |
| } | |
| } |
GET/user_management /users /:id /sessionsParameters Returns objectRevoke a user session.
curl --request POST \ --url https://api.workos.com/user_management/sessions/revoke \ --header "Authorization: Bearer sk_example_123456789" \ --header "Content-Type: application/json" \ -d @- <<BODY { "session_id": "session_01E4ZCR3C56J083X43JQXF3JK5" } BODY
import { WorkOS } from '@workos-inc/node'; const workos = new WorkOS('sk_example_123456789'); await workos.userManagement.revokeSession({ sessionId: 'session_01E4ZCR3C56J083X43JQXF3JK5', });
require "workos" WorkOS.configure do |config| config.key = "sk_example_123456789" end Workos::UserManagement.revoke_session( session_id: "session_01E4ZCR3C56J083X43JQXF3JK5" )
from workos import WorkOSClient workos = WorkOSClient(api_key="sk_example_123456789", client_id="client_123456789") workos.user_management.revoke_session( session_id="session_01E4ZCR3C56J083X43JQXF3JK5", )
package main import ( "context" "github.com/workos/workos-go/v2/pkg/usermanagement" ) func main() { usermanagement.SetAPIKey( "sk_example_123456789", ) err := usermanagement.RevokeSession( context.Background(), usermanagement.RevokeSessionOpts{ SessionID: "session_01E4ZCR3C56J083X43JQXF3JK5", }, ) }
POST/user_management /sessions /revoke