{ "opencollection": "1.0.0", "info": { "name": "Guardian Session Management API", "version": "1.0.0" }, "items": [ { "info": { "name": "Session Management", "type": "folder" }, "items": [ { "info": { "name": "API to get a new access token using the refresh token", "type": "http" }, "http": { "method": "POST", "url": "{{baseUrl}}/v1/refreshToken", "headers": [ { "name": "tenant-id", "value": "" } ], "body": { "type": "json", "data": "{}" } }, "docs": "API to get a new access token using the refresh token.\n" }, { "info": { "name": "User logout", "type": "http" }, "http": { "method": "POST", "url": "{{baseUrl}}/v1/logout", "headers": [ { "name": "tenant-id", "value": "" } ], "body": { "type": "json", "data": "{}" } }, "docs": "Log out a user by invalidating their refresh token and clearing session cookies.\n\n**Logout Types:**\n- **Standard Logout**: Invalidates only the provided refresh token\n- **Universal Logout**: If `isUniversalLogout` is true, invalidates all refresh tokens for the user\n\n**Behavior:**\n- Validates the provided refresh token\n- Invalidates the token(s) based on logout type\n- Clears authentication cookies by setting them to null\n- Returns 204 No Content on success\n\n**Request Body:**\n- `refreshToken` (re" }, { "info": { "name": "API to get a new access token using the refresh token", "type": "http" }, "http": { "method": "POST", "url": "{{baseUrl}}/v2/refresh-token", "headers": [ { "name": "tenant-id", "value": "" } ], "body": { "type": "json", "data": "{}" } }, "docs": "API to get a new access token using the refresh token. The refresh token can be provided in the request body or as a cookie.\n" }, { "info": { "name": "User logout", "type": "http" }, "http": { "method": "POST", "url": "{{baseUrl}}/v2/logout", "headers": [ { "name": "tenant-id", "value": "" } ], "body": { "type": "json", "data": "{}" } }, "docs": "Log out a user by invalidating their refresh token and clearing session cookies.\n\n**Logout Types:**\n- **Token Logout**: Invalidates only the provided refresh token (default)\n- **Client Logout**: If `logout_type` is set to `client`, invalidates all refresh tokens for the user for the specific client\n- **Tenant Logout**: If `logout_type` is set to `tenant`, invalidates all refresh tokens for the user for the tenant (requires first-party client)\n\n**Behavior:**\n- Validates the provided refresh token" }, { "info": { "name": "Get user's active refresh tokens", "type": "http" }, "http": { "method": "GET", "url": "{{baseUrl}}/v2/user/refresh-tokens", "headers": [ { "name": "tenant-id", "value": "" }, { "name": "Authorization", "value": "" } ], "params": [ { "name": "client_id", "value": "", "type": "query", "description": "Client ID (must match the access token's client_id)" }, { "name": "page", "value": "", "type": "query", "description": "Page number (1-based). Default 1" }, { "name": "page_size", "value": "", "type": "query", "description": "Number of items per page (1-100). Default 10" } ] }, "docs": "Returns a paginated list of active refresh tokens for the authenticated user and client.\nThe user is identified from the Bearer access token; client_id must match the token's client.\n\n**Authentication:**\n- Requires a valid Bearer access token in the Authorization header\n\n**Query parameters:**\n- `client_id` (required): Client ID; must match the client_id in the access token\n- `page` (optional): Page number (1-based). Default 1\n- `page_size` (optional): Number of items per page (1-100). Default 10" } ] } ], "bundled": true }