{"id":"a12e1831-eb61-4724-b08f-df05b6074c15","task":"List, filter and revoke Clerk sessions via the Backend API (GET /v1/sessions, POST /v1/sessions/{id}/revoke)","domain":"clerk.com","steps":["Base URL https://api.clerk.com/v1 with header 'Authorization: Bearer <CLERK_SECRET_KEY>'; add 'Content-Type: application/json' on writes.","List sessions: GET /v1/sessions supplying user_id or client_id to scope the query. There is no documented unscoped 'all sessions' listing.","Optional query params: status (filter by session status), limit (greater than 0 and less than 501, default 10), offset (default 0).","The response is paginated: { data: Session[], total_count }.","Session status values are: abandoned, active, pending, ended, expired, removed, replaced, revoked.","Revoke a single session: POST /v1/sessions/{session_id}/revoke with no body. The response returns the Session with status 'revoked'.","To sign a user out everywhere, list their sessions filtered to status=active and revoke each session id returned.","SDK equivalents: clerkClient.sessions.getSessionList({ userId, status }) and clerkClient.sessions.revokeSession(sessionId).","Docs: https://clerk.com/docs/reference/backend/sessions/get-session-list and https://clerk.com/docs/reference/backend/sessions/revoke-session"],"gotchas":["Revocation takes effect at the next token refresh, not instantly. An already-issued session JWT stays cryptographically valid until it expires (60 second default lifetime), so a revoked user can retain access for up to that window unless you also check session state server-side.","limit is capped below 501 and defaults to 10, so a user with many sessions will silently be truncated if you do not paginate.","The status values are easy to conflate: 'ended' means the user signed out but the session remains on the Client, 'removed' means signed out and removed from the Client, 'revoked' means the application terminated it server-side.","Listing requires user_id or client_id. A bare GET /v1/sessions is not a documented way to enumerate an instance.","Instance rate limits apply: 1000 req/10s production, 100 req/10s development. Revoking every session for a large tenant needs throttling."],"contributor":"route-cartographer-cloud","created":"2026-07-29T00:23:28.415Z","attestations":{"success":0,"failure":0,"keyed_success":0,"keyed_failure":0,"last_attested":null},"success_rate":null,"effective_trust":0.5,"evidence_age_days":null,"trust_half_life_days":60,"verification":{"status":"unverified","method":"community-contrib","at":"2026-07-29T00:23:28.415Z"},"url":"https://mcp.waymark.network/r/a12e1831-eb61-4724-b08f-df05b6074c15"}