Athena

Auth Session

Session retrieval, sign-out, listing, and revocation methods.

Endpoints and Methods

  • auth.getSession() -> GET /get-session
  • auth.signOut() -> POST /sign-out
  • auth.session.list() -> GET /list-sessions
  • auth.session.revoke() -> POST /revoke-session (single session token)
  • auth.session.revoke() -> POST /revoke-sessions (multiple sessions / bulk revoke)
  • auth.session.revokeOther() -> POST /revoke-other-sessions

Examples

ATHENA_AUTH_BASE_URL="http://localhost:3001/api/auth"
ATHENA_AUTH_TOKEN="<bearer-token>"

# Adjust payload fields using the OpenAPI schema in this page.

# auth.getSession() -> GET /get-session
curl -X GET "$ATHENA_AUTH_BASE_URL/get-session" \
  -H "authorization: Bearer $ATHENA_AUTH_TOKEN"

# auth.signOut() -> POST /sign-out
curl -X POST "$ATHENA_AUTH_BASE_URL/sign-out" \
  -H "content-type: application/json" \
  -H "authorization: Bearer $ATHENA_AUTH_TOKEN" \
  -d '{"...":"See OpenAPI requestBody schema"}'

# auth.session.list() -> GET /list-sessions
curl -X GET "$ATHENA_AUTH_BASE_URL/list-sessions" \
  -H "authorization: Bearer $ATHENA_AUTH_TOKEN"

# auth.session.revoke() -> POST /revoke-session
curl -X POST "$ATHENA_AUTH_BASE_URL/revoke-session" \
  -H "content-type: application/json" \
  -H "authorization: Bearer $ATHENA_AUTH_TOKEN" \
  -d '{"...":"See OpenAPI requestBody schema"}'

# auth.session.revoke() -> POST /revoke-sessions
curl -X POST "$ATHENA_AUTH_BASE_URL/revoke-sessions" \
  -H "content-type: application/json" \
  -H "authorization: Bearer $ATHENA_AUTH_TOKEN" \
  -d '{"...":"See OpenAPI requestBody schema"}'

# auth.session.revokeOther() -> POST /revoke-other-sessions
curl -X POST "$ATHENA_AUTH_BASE_URL/revoke-other-sessions" \
  -H "content-type: application/json" \
  -H "authorization: Bearer $ATHENA_AUTH_TOKEN" \
  -d '{"...":"See OpenAPI requestBody schema"}'
use reqwest::Client;
use serde_json::json;

let base_url = "http://localhost:3001/api/auth";
let token = "<bearer-token>";
let http = Client::new();

// Adjust payload fields using the OpenAPI schema in this page.

// auth.getSession() -> GET /get-session
let response = http
    .get(format!("{base_url}/get-session"))
    .bearer_auth(token)
    .send()
    .await?;
let _ = response.error_for_status()?;

// auth.signOut() -> POST /sign-out
let response = http
    .post(format!("{base_url}/sign-out"))
    .bearer_auth(token)
    .json(&json!({
        "...": "See OpenAPI requestBody schema"
    }))
    .send()
    .await?;
let _ = response.error_for_status()?;

// auth.session.list() -> GET /list-sessions
let response = http
    .get(format!("{base_url}/list-sessions"))
    .bearer_auth(token)
    .send()
    .await?;
let _ = response.error_for_status()?;

// auth.session.revoke() -> POST /revoke-session
let response = http
    .post(format!("{base_url}/revoke-session"))
    .bearer_auth(token)
    .json(&json!({
        "...": "See OpenAPI requestBody schema"
    }))
    .send()
    .await?;
let _ = response.error_for_status()?;

// auth.session.revoke() -> POST /revoke-sessions
let response = http
    .post(format!("{base_url}/revoke-sessions"))
    .bearer_auth(token)
    .json(&json!({
        "...": "See OpenAPI requestBody schema"
    }))
    .send()
    .await?;
let _ = response.error_for_status()?;

// auth.session.revokeOther() -> POST /revoke-other-sessions
let response = http
    .post(format!("{base_url}/revoke-other-sessions"))
    .bearer_auth(token)
    .json(&json!({
        "...": "See OpenAPI requestBody schema"
    }))
    .send()
    .await?;
let _ = response.error_for_status()?;
import { client } from "./auth-client"

const session = await client.auth.getSession()
const signOut = await client.auth.signOut()

const sessions = await client.auth.session.list()

// single -> /revoke-session
await client.auth.session.revoke({ token: "session_token_1" })

// array length 1 -> /revoke-session
await client.auth.session.revoke([{ token: "session_token_2" }])

// array length > 1 -> /revoke-sessions
await client.auth.session.revoke([
  { token: "session_token_3" },
  { token: "session_token_4" },
])

// tokens list length > 1 -> /revoke-sessions
await client.auth.session.revoke({ tokens: ["session_token_5", "session_token_6"] })

const revokeOther = await client.auth.session.revokeOther()

OpenAPI Contract

GET
/get-session

Authorization

bearerAuth
AuthorizationBearer <token>

Bearer token authentication

In: header

Response Body

application/json

application/json

application/json

application/json

application/json

application/json

application/json

curl -X GET "http://localhost:3001/api/auth/get-session"
{
  "session": {
    "id": "string",
    "expiresAt": null,
    "token": "string",
    "createdAt": null,
    "updatedAt": null,
    "ipAddress": "string",
    "userAgent": "string",
    "userId": "string",
    "impersonatedBy": "string",
    "activeOrganizationId": "string"
  },
  "user": {
    "id": "string",
    "name": "string",
    "email": "string",
    "emailVerified": true,
    "image": "string",
    "createdAt": null,
    "updatedAt": null,
    "username": "string",
    "displayUsername": "string",
    "twoFactorEnabled": true,
    "role": "string",
    "banned": true,
    "banReason": "string",
    "banExpires": null
  }
}
{
  "message": "string"
}
{
  "message": "string"
}
{
  "message": "string"
}
{
  "message": "string"
}
{
  "message": "string"
}
{
  "message": "string"
}
POST
/sign-out

Authorization

bearerAuth
AuthorizationBearer <token>

Bearer token authentication

In: header

Request Body

application/json

Response Body

application/json

application/json

application/json

application/json

application/json

application/json

application/json

curl -X POST "http://localhost:3001/api/auth/sign-out" \  -H "Content-Type: application/json" \  -d '{}'
{
  "success": true
}
{
  "message": "string"
}
{
  "message": "string"
}
{
  "message": "string"
}
{
  "message": "string"
}
{
  "message": "string"
}
{
  "message": "string"
}
GET
/list-sessions

Authorization

bearerAuth
AuthorizationBearer <token>

Bearer token authentication

In: header

Response Body

application/json

application/json

application/json

application/json

application/json

application/json

application/json

curl -X GET "http://localhost:3001/api/auth/list-sessions"
[
  {
    "id": "string",
    "expiresAt": null,
    "token": "string",
    "createdAt": null,
    "updatedAt": null,
    "ipAddress": "string",
    "userAgent": "string",
    "userId": "string",
    "impersonatedBy": "string",
    "activeOrganizationId": "string"
  }
]
{
  "message": "string"
}
{
  "message": "string"
}
{
  "message": "string"
}
{
  "message": "string"
}
{
  "message": "string"
}
{
  "message": "string"
}
POST
/revoke-session

Authorization

bearerAuth
AuthorizationBearer <token>

Bearer token authentication

In: header

Request Body

application/json

token*string

The token to revoke

Response Body

application/json

application/json

application/json

application/json

application/json

application/json

application/json

curl -X POST "http://localhost:3001/api/auth/revoke-session" \  -H "Content-Type: application/json" \  -d '{    "token": "string"  }'
{
  "status": true
}
{
  "message": "string"
}
{
  "message": "string"
}
{
  "message": "string"
}
{
  "message": "string"
}
{
  "message": "string"
}
{
  "message": "string"
}
POST
/revoke-sessions

Authorization

bearerAuth
AuthorizationBearer <token>

Bearer token authentication

In: header

Request Body

application/json

Response Body

application/json

application/json

application/json

application/json

application/json

application/json

application/json

curl -X POST "http://localhost:3001/api/auth/revoke-sessions" \  -H "Content-Type: application/json" \  -d '{}'
{
  "status": true
}
{
  "message": "string"
}
{
  "message": "string"
}
{
  "message": "string"
}
{
  "message": "string"
}
{
  "message": "string"
}
{
  "message": "string"
}
POST
/revoke-other-sessions

Authorization

bearerAuth
AuthorizationBearer <token>

Bearer token authentication

In: header

Request Body

application/json

Response Body

application/json

application/json

application/json

application/json

application/json

application/json

application/json

curl -X POST "http://localhost:3001/api/auth/revoke-other-sessions" \  -H "Content-Type: application/json" \  -d '{}'
{
  "status": true
}
{
  "message": "string"
}
{
  "message": "string"
}
{
  "message": "string"
}
{
  "message": "string"
}
{
  "message": "string"
}
{
  "message": "string"
}