Auth Admin
Admin methods for users, roles, impersonation, audit, API keys, clients, and email tooling.
Endpoints and Methods
auth.admin.role.set()->POST /admin/set-roleauth.admin.user.list()->GET /admin/list-usersauth.admin.user.session.list()->POST /admin/list-user-sessionsauth.admin.user.create()->POST /admin/create-userauth.admin.user.unban()->POST /admin/unban-userauth.admin.user.ban()->POST /admin/ban-userauth.admin.user.impersonate()->POST /admin/impersonate-userauth.admin.user.stopImpersonating()->POST /admin/stop-impersonatingauth.admin.user.session.revoke()->POST /admin/revoke-user-session(single session token)auth.admin.user.session.revoke()->POST /admin/revoke-user-sessions(bulk revoke byuserIdor payload fan-out)auth.admin.user.remove()->POST /admin/remove-userauth.admin.user.setPassword()->POST /admin/set-user-passwordauth.admin.hasPermission()->POST /admin/has-permissionauth.admin.apiKey.create()->POST /admin/api-key/createauth.admin.athenaClient.create()->POST /admin/athena-client/createauth.admin.athenaClient.list()->GET /admin/athena-client/listauth.admin.auditLog.list()->GET /admin/audit-log/listauth.admin.email.list()->GET /admin/email/listauth.admin.email.get()->GET /admin/email/getauth.admin.email.create()->POST /admin/email/createauth.admin.email.update()->POST /admin/email/updateauth.admin.email.delete()->POST /admin/email/deleteauth.admin.email.failure.list()->GET /admin/email-failure/listauth.admin.email.failure.get()->GET /admin/email-failure/getauth.admin.email.failure.create()->POST /admin/email-failure/createauth.admin.email.failure.update()->POST /admin/email-failure/updateauth.admin.email.failure.delete()->POST /admin/email-failure/deleteauth.admin.email.template.list()->GET /admin/email-template/listauth.admin.email.template.get()->GET /admin/email-template/getauth.admin.email.template.create()->POST /admin/email-template/createauth.admin.email.template.update()->POST /admin/email-template/updateauth.admin.email.template.delete()->POST /admin/email-template/deleteauth.admin.emailTemplate.list()->GET /admin/email-template/list(legacy alias)auth.admin.emailTemplate.get()->GET /admin/email-template/get(legacy alias)auth.admin.emailTemplate.create()->POST /admin/email-template/create(legacy alias)auth.admin.emailTemplate.update()->POST /admin/email-template/update(legacy alias)auth.admin.emailTemplate.delete()->POST /admin/email-template/delete(legacy alias)
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.admin.role.set() -> POST /admin/set-role
curl -X POST "$ATHENA_AUTH_BASE_URL/admin/set-role" \
-H "content-type: application/json" \
-H "authorization: Bearer $ATHENA_AUTH_TOKEN" \
-d '{"...":"See OpenAPI requestBody schema"}'
# auth.admin.user.list() -> GET /admin/list-users
curl -X GET "$ATHENA_AUTH_BASE_URL/admin/list-users" \
-H "authorization: Bearer $ATHENA_AUTH_TOKEN"
# auth.admin.user.session.list() -> POST /admin/list-user-sessions
curl -X POST "$ATHENA_AUTH_BASE_URL/admin/list-user-sessions" \
-H "content-type: application/json" \
-H "authorization: Bearer $ATHENA_AUTH_TOKEN" \
-d '{"...":"See OpenAPI requestBody schema"}'
# auth.admin.user.create() -> POST /admin/create-user
curl -X POST "$ATHENA_AUTH_BASE_URL/admin/create-user" \
-H "content-type: application/json" \
-H "authorization: Bearer $ATHENA_AUTH_TOKEN" \
-d '{"...":"See OpenAPI requestBody schema"}'
# auth.admin.user.unban() -> POST /admin/unban-user
curl -X POST "$ATHENA_AUTH_BASE_URL/admin/unban-user" \
-H "content-type: application/json" \
-H "authorization: Bearer $ATHENA_AUTH_TOKEN" \
-d '{"...":"See OpenAPI requestBody schema"}'
# auth.admin.user.ban() -> POST /admin/ban-user
curl -X POST "$ATHENA_AUTH_BASE_URL/admin/ban-user" \
-H "content-type: application/json" \
-H "authorization: Bearer $ATHENA_AUTH_TOKEN" \
-d '{"...":"See OpenAPI requestBody schema"}'
# auth.admin.user.impersonate() -> POST /admin/impersonate-user
curl -X POST "$ATHENA_AUTH_BASE_URL/admin/impersonate-user" \
-H "content-type: application/json" \
-H "authorization: Bearer $ATHENA_AUTH_TOKEN" \
-d '{"...":"See OpenAPI requestBody schema"}'
# auth.admin.user.stopImpersonating() -> POST /admin/stop-impersonating
curl -X POST "$ATHENA_AUTH_BASE_URL/admin/stop-impersonating" \
-H "content-type: application/json" \
-H "authorization: Bearer $ATHENA_AUTH_TOKEN" \
-d '{"...":"See OpenAPI requestBody schema"}'
# auth.admin.user.session.revoke() -> POST /admin/revoke-user-session
curl -X POST "$ATHENA_AUTH_BASE_URL/admin/revoke-user-session" \
-H "content-type: application/json" \
-H "authorization: Bearer $ATHENA_AUTH_TOKEN" \
-d '{"...":"See OpenAPI requestBody schema"}'
# auth.admin.user.session.revoke() -> POST /admin/revoke-user-sessions
curl -X POST "$ATHENA_AUTH_BASE_URL/admin/revoke-user-sessions" \
-H "content-type: application/json" \
-H "authorization: Bearer $ATHENA_AUTH_TOKEN" \
-d '{"...":"See OpenAPI requestBody schema"}'
# auth.admin.user.remove() -> POST /admin/remove-user
curl -X POST "$ATHENA_AUTH_BASE_URL/admin/remove-user" \
-H "content-type: application/json" \
-H "authorization: Bearer $ATHENA_AUTH_TOKEN" \
-d '{"...":"See OpenAPI requestBody schema"}'
# auth.admin.user.setPassword() -> POST /admin/set-user-password
curl -X POST "$ATHENA_AUTH_BASE_URL/admin/set-user-password" \
-H "content-type: application/json" \
-H "authorization: Bearer $ATHENA_AUTH_TOKEN" \
-d '{"...":"See OpenAPI requestBody schema"}'
# auth.admin.hasPermission() -> POST /admin/has-permission
curl -X POST "$ATHENA_AUTH_BASE_URL/admin/has-permission" \
-H "content-type: application/json" \
-H "authorization: Bearer $ATHENA_AUTH_TOKEN" \
-d '{"...":"See OpenAPI requestBody schema"}'
# auth.admin.apiKey.create() -> POST /admin/api-key/create
curl -X POST "$ATHENA_AUTH_BASE_URL/admin/api-key/create" \
-H "content-type: application/json" \
-H "authorization: Bearer $ATHENA_AUTH_TOKEN" \
-d '{"...":"See OpenAPI requestBody schema"}'
# auth.admin.athenaClient.create() -> POST /admin/athena-client/create
curl -X POST "$ATHENA_AUTH_BASE_URL/admin/athena-client/create" \
-H "content-type: application/json" \
-H "authorization: Bearer $ATHENA_AUTH_TOKEN" \
-d '{"...":"See OpenAPI requestBody schema"}'
# auth.admin.athenaClient.list() -> GET /admin/athena-client/list
curl -X GET "$ATHENA_AUTH_BASE_URL/admin/athena-client/list" \
-H "authorization: Bearer $ATHENA_AUTH_TOKEN"
# auth.admin.auditLog.list() -> GET /admin/audit-log/list
curl -X GET "$ATHENA_AUTH_BASE_URL/admin/audit-log/list" \
-H "authorization: Bearer $ATHENA_AUTH_TOKEN"
# auth.admin.email.list() -> GET /admin/email/list
curl -X GET "$ATHENA_AUTH_BASE_URL/admin/email/list" \
-H "authorization: Bearer $ATHENA_AUTH_TOKEN"
# auth.admin.email.get() -> GET /admin/email/get
curl -X GET "$ATHENA_AUTH_BASE_URL/admin/email/get" \
-H "authorization: Bearer $ATHENA_AUTH_TOKEN"
# auth.admin.email.create() -> POST /admin/email/create
curl -X POST "$ATHENA_AUTH_BASE_URL/admin/email/create" \
-H "content-type: application/json" \
-H "authorization: Bearer $ATHENA_AUTH_TOKEN" \
-d '{"...":"See OpenAPI requestBody schema"}'
# auth.admin.email.update() -> POST /admin/email/update
curl -X POST "$ATHENA_AUTH_BASE_URL/admin/email/update" \
-H "content-type: application/json" \
-H "authorization: Bearer $ATHENA_AUTH_TOKEN" \
-d '{"...":"See OpenAPI requestBody schema"}'
# auth.admin.email.delete() -> POST /admin/email/delete
curl -X POST "$ATHENA_AUTH_BASE_URL/admin/email/delete" \
-H "content-type: application/json" \
-H "authorization: Bearer $ATHENA_AUTH_TOKEN" \
-d '{"...":"See OpenAPI requestBody schema"}'
# auth.admin.email.failure.list() -> GET /admin/email-failure/list
curl -X GET "$ATHENA_AUTH_BASE_URL/admin/email-failure/list" \
-H "authorization: Bearer $ATHENA_AUTH_TOKEN"
# auth.admin.email.failure.get() -> GET /admin/email-failure/get
curl -X GET "$ATHENA_AUTH_BASE_URL/admin/email-failure/get" \
-H "authorization: Bearer $ATHENA_AUTH_TOKEN"
# auth.admin.email.failure.create() -> POST /admin/email-failure/create
curl -X POST "$ATHENA_AUTH_BASE_URL/admin/email-failure/create" \
-H "content-type: application/json" \
-H "authorization: Bearer $ATHENA_AUTH_TOKEN" \
-d '{"...":"See OpenAPI requestBody schema"}'
# auth.admin.email.failure.update() -> POST /admin/email-failure/update
curl -X POST "$ATHENA_AUTH_BASE_URL/admin/email-failure/update" \
-H "content-type: application/json" \
-H "authorization: Bearer $ATHENA_AUTH_TOKEN" \
-d '{"...":"See OpenAPI requestBody schema"}'
# auth.admin.email.failure.delete() -> POST /admin/email-failure/delete
curl -X POST "$ATHENA_AUTH_BASE_URL/admin/email-failure/delete" \
-H "content-type: application/json" \
-H "authorization: Bearer $ATHENA_AUTH_TOKEN" \
-d '{"...":"See OpenAPI requestBody schema"}'
# auth.admin.email.template.list() -> GET /admin/email-template/list
curl -X GET "$ATHENA_AUTH_BASE_URL/admin/email-template/list" \
-H "authorization: Bearer $ATHENA_AUTH_TOKEN"
# auth.admin.email.template.get() -> GET /admin/email-template/get
curl -X GET "$ATHENA_AUTH_BASE_URL/admin/email-template/get" \
-H "authorization: Bearer $ATHENA_AUTH_TOKEN"
# auth.admin.email.template.create() -> POST /admin/email-template/create
curl -X POST "$ATHENA_AUTH_BASE_URL/admin/email-template/create" \
-H "content-type: application/json" \
-H "authorization: Bearer $ATHENA_AUTH_TOKEN" \
-d '{"...":"See OpenAPI requestBody schema"}'
# auth.admin.email.template.update() -> POST /admin/email-template/update
curl -X POST "$ATHENA_AUTH_BASE_URL/admin/email-template/update" \
-H "content-type: application/json" \
-H "authorization: Bearer $ATHENA_AUTH_TOKEN" \
-d '{"...":"See OpenAPI requestBody schema"}'
# auth.admin.email.template.delete() -> POST /admin/email-template/delete
curl -X POST "$ATHENA_AUTH_BASE_URL/admin/email-template/delete" \
-H "content-type: application/json" \
-H "authorization: Bearer $ATHENA_AUTH_TOKEN" \
-d '{"...":"See OpenAPI requestBody schema"}'
# auth.admin.emailTemplate.list() -> GET /admin/email-template/list
curl -X GET "$ATHENA_AUTH_BASE_URL/admin/email-template/list" \
-H "authorization: Bearer $ATHENA_AUTH_TOKEN"
# auth.admin.emailTemplate.get() -> GET /admin/email-template/get
curl -X GET "$ATHENA_AUTH_BASE_URL/admin/email-template/get" \
-H "authorization: Bearer $ATHENA_AUTH_TOKEN"
# auth.admin.emailTemplate.create() -> POST /admin/email-template/create
curl -X POST "$ATHENA_AUTH_BASE_URL/admin/email-template/create" \
-H "content-type: application/json" \
-H "authorization: Bearer $ATHENA_AUTH_TOKEN" \
-d '{"...":"See OpenAPI requestBody schema"}'
# auth.admin.emailTemplate.update() -> POST /admin/email-template/update
curl -X POST "$ATHENA_AUTH_BASE_URL/admin/email-template/update" \
-H "content-type: application/json" \
-H "authorization: Bearer $ATHENA_AUTH_TOKEN" \
-d '{"...":"See OpenAPI requestBody schema"}'
# auth.admin.emailTemplate.delete() -> POST /admin/email-template/delete
curl -X POST "$ATHENA_AUTH_BASE_URL/admin/email-template/delete" \
-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.admin.role.set() -> POST /admin/set-role
let response = http
.post(format!("{base_url}/admin/set-role"))
.bearer_auth(token)
.json(&json!({
"...": "See OpenAPI requestBody schema"
}))
.send()
.await?;
let _ = response.error_for_status()?;
// auth.admin.user.list() -> GET /admin/list-users
let response = http
.get(format!("{base_url}/admin/list-users"))
.bearer_auth(token)
.send()
.await?;
let _ = response.error_for_status()?;
// auth.admin.user.session.list() -> POST /admin/list-user-sessions
let response = http
.post(format!("{base_url}/admin/list-user-sessions"))
.bearer_auth(token)
.json(&json!({
"...": "See OpenAPI requestBody schema"
}))
.send()
.await?;
let _ = response.error_for_status()?;
// auth.admin.user.create() -> POST /admin/create-user
let response = http
.post(format!("{base_url}/admin/create-user"))
.bearer_auth(token)
.json(&json!({
"...": "See OpenAPI requestBody schema"
}))
.send()
.await?;
let _ = response.error_for_status()?;
// auth.admin.user.unban() -> POST /admin/unban-user
let response = http
.post(format!("{base_url}/admin/unban-user"))
.bearer_auth(token)
.json(&json!({
"...": "See OpenAPI requestBody schema"
}))
.send()
.await?;
let _ = response.error_for_status()?;
// auth.admin.user.ban() -> POST /admin/ban-user
let response = http
.post(format!("{base_url}/admin/ban-user"))
.bearer_auth(token)
.json(&json!({
"...": "See OpenAPI requestBody schema"
}))
.send()
.await?;
let _ = response.error_for_status()?;
// auth.admin.user.impersonate() -> POST /admin/impersonate-user
let response = http
.post(format!("{base_url}/admin/impersonate-user"))
.bearer_auth(token)
.json(&json!({
"...": "See OpenAPI requestBody schema"
}))
.send()
.await?;
let _ = response.error_for_status()?;
// auth.admin.user.stopImpersonating() -> POST /admin/stop-impersonating
let response = http
.post(format!("{base_url}/admin/stop-impersonating"))
.bearer_auth(token)
.json(&json!({
"...": "See OpenAPI requestBody schema"
}))
.send()
.await?;
let _ = response.error_for_status()?;
// auth.admin.user.session.revoke() -> POST /admin/revoke-user-session
let response = http
.post(format!("{base_url}/admin/revoke-user-session"))
.bearer_auth(token)
.json(&json!({
"...": "See OpenAPI requestBody schema"
}))
.send()
.await?;
let _ = response.error_for_status()?;
// auth.admin.user.session.revoke() -> POST /admin/revoke-user-sessions
let response = http
.post(format!("{base_url}/admin/revoke-user-sessions"))
.bearer_auth(token)
.json(&json!({
"...": "See OpenAPI requestBody schema"
}))
.send()
.await?;
let _ = response.error_for_status()?;
// auth.admin.user.remove() -> POST /admin/remove-user
let response = http
.post(format!("{base_url}/admin/remove-user"))
.bearer_auth(token)
.json(&json!({
"...": "See OpenAPI requestBody schema"
}))
.send()
.await?;
let _ = response.error_for_status()?;
// auth.admin.user.setPassword() -> POST /admin/set-user-password
let response = http
.post(format!("{base_url}/admin/set-user-password"))
.bearer_auth(token)
.json(&json!({
"...": "See OpenAPI requestBody schema"
}))
.send()
.await?;
let _ = response.error_for_status()?;
// auth.admin.hasPermission() -> POST /admin/has-permission
let response = http
.post(format!("{base_url}/admin/has-permission"))
.bearer_auth(token)
.json(&json!({
"...": "See OpenAPI requestBody schema"
}))
.send()
.await?;
let _ = response.error_for_status()?;
// auth.admin.apiKey.create() -> POST /admin/api-key/create
let response = http
.post(format!("{base_url}/admin/api-key/create"))
.bearer_auth(token)
.json(&json!({
"...": "See OpenAPI requestBody schema"
}))
.send()
.await?;
let _ = response.error_for_status()?;
// auth.admin.athenaClient.create() -> POST /admin/athena-client/create
let response = http
.post(format!("{base_url}/admin/athena-client/create"))
.bearer_auth(token)
.json(&json!({
"...": "See OpenAPI requestBody schema"
}))
.send()
.await?;
let _ = response.error_for_status()?;
// auth.admin.athenaClient.list() -> GET /admin/athena-client/list
let response = http
.get(format!("{base_url}/admin/athena-client/list"))
.bearer_auth(token)
.send()
.await?;
let _ = response.error_for_status()?;
// auth.admin.auditLog.list() -> GET /admin/audit-log/list
let response = http
.get(format!("{base_url}/admin/audit-log/list"))
.bearer_auth(token)
.send()
.await?;
let _ = response.error_for_status()?;
// auth.admin.email.list() -> GET /admin/email/list
let response = http
.get(format!("{base_url}/admin/email/list"))
.bearer_auth(token)
.send()
.await?;
let _ = response.error_for_status()?;
// auth.admin.email.get() -> GET /admin/email/get
let response = http
.get(format!("{base_url}/admin/email/get"))
.bearer_auth(token)
.send()
.await?;
let _ = response.error_for_status()?;
// auth.admin.email.create() -> POST /admin/email/create
let response = http
.post(format!("{base_url}/admin/email/create"))
.bearer_auth(token)
.json(&json!({
"...": "See OpenAPI requestBody schema"
}))
.send()
.await?;
let _ = response.error_for_status()?;
// auth.admin.email.update() -> POST /admin/email/update
let response = http
.post(format!("{base_url}/admin/email/update"))
.bearer_auth(token)
.json(&json!({
"...": "See OpenAPI requestBody schema"
}))
.send()
.await?;
let _ = response.error_for_status()?;
// auth.admin.email.delete() -> POST /admin/email/delete
let response = http
.post(format!("{base_url}/admin/email/delete"))
.bearer_auth(token)
.json(&json!({
"...": "See OpenAPI requestBody schema"
}))
.send()
.await?;
let _ = response.error_for_status()?;
// auth.admin.email.failure.list() -> GET /admin/email-failure/list
let response = http
.get(format!("{base_url}/admin/email-failure/list"))
.bearer_auth(token)
.send()
.await?;
let _ = response.error_for_status()?;
// auth.admin.email.failure.get() -> GET /admin/email-failure/get
let response = http
.get(format!("{base_url}/admin/email-failure/get"))
.bearer_auth(token)
.send()
.await?;
let _ = response.error_for_status()?;
// auth.admin.email.failure.create() -> POST /admin/email-failure/create
let response = http
.post(format!("{base_url}/admin/email-failure/create"))
.bearer_auth(token)
.json(&json!({
"...": "See OpenAPI requestBody schema"
}))
.send()
.await?;
let _ = response.error_for_status()?;
// auth.admin.email.failure.update() -> POST /admin/email-failure/update
let response = http
.post(format!("{base_url}/admin/email-failure/update"))
.bearer_auth(token)
.json(&json!({
"...": "See OpenAPI requestBody schema"
}))
.send()
.await?;
let _ = response.error_for_status()?;
// auth.admin.email.failure.delete() -> POST /admin/email-failure/delete
let response = http
.post(format!("{base_url}/admin/email-failure/delete"))
.bearer_auth(token)
.json(&json!({
"...": "See OpenAPI requestBody schema"
}))
.send()
.await?;
let _ = response.error_for_status()?;
// auth.admin.email.template.list() -> GET /admin/email-template/list
let response = http
.get(format!("{base_url}/admin/email-template/list"))
.bearer_auth(token)
.send()
.await?;
let _ = response.error_for_status()?;
// auth.admin.email.template.get() -> GET /admin/email-template/get
let response = http
.get(format!("{base_url}/admin/email-template/get"))
.bearer_auth(token)
.send()
.await?;
let _ = response.error_for_status()?;
// auth.admin.email.template.create() -> POST /admin/email-template/create
let response = http
.post(format!("{base_url}/admin/email-template/create"))
.bearer_auth(token)
.json(&json!({
"...": "See OpenAPI requestBody schema"
}))
.send()
.await?;
let _ = response.error_for_status()?;
// auth.admin.email.template.update() -> POST /admin/email-template/update
let response = http
.post(format!("{base_url}/admin/email-template/update"))
.bearer_auth(token)
.json(&json!({
"...": "See OpenAPI requestBody schema"
}))
.send()
.await?;
let _ = response.error_for_status()?;
// auth.admin.email.template.delete() -> POST /admin/email-template/delete
let response = http
.post(format!("{base_url}/admin/email-template/delete"))
.bearer_auth(token)
.json(&json!({
"...": "See OpenAPI requestBody schema"
}))
.send()
.await?;
let _ = response.error_for_status()?;
// auth.admin.emailTemplate.list() -> GET /admin/email-template/list
let response = http
.get(format!("{base_url}/admin/email-template/list"))
.bearer_auth(token)
.send()
.await?;
let _ = response.error_for_status()?;
// auth.admin.emailTemplate.get() -> GET /admin/email-template/get
let response = http
.get(format!("{base_url}/admin/email-template/get"))
.bearer_auth(token)
.send()
.await?;
let _ = response.error_for_status()?;
// auth.admin.emailTemplate.create() -> POST /admin/email-template/create
let response = http
.post(format!("{base_url}/admin/email-template/create"))
.bearer_auth(token)
.json(&json!({
"...": "See OpenAPI requestBody schema"
}))
.send()
.await?;
let _ = response.error_for_status()?;
// auth.admin.emailTemplate.update() -> POST /admin/email-template/update
let response = http
.post(format!("{base_url}/admin/email-template/update"))
.bearer_auth(token)
.json(&json!({
"...": "See OpenAPI requestBody schema"
}))
.send()
.await?;
let _ = response.error_for_status()?;
// auth.admin.emailTemplate.delete() -> POST /admin/email-template/delete
let response = http
.post(format!("{base_url}/admin/email-template/delete"))
.bearer_auth(token)
.json(&json!({
"...": "See OpenAPI requestBody schema"
}))
.send()
.await?;
let _ = response.error_for_status()?;import { client } from "./auth-client"
await client.auth.admin.role.set({
userId: "usr_1",
role: "admin",
})
await client.auth.admin.user.list()
await client.auth.admin.user.session.list({ userId: "usr_1" })
await client.auth.admin.user.create({
email: "new-user@example.com",
password: "temporary-password",
})
await client.auth.admin.user.unban({ userId: "usr_1" })
await client.auth.admin.user.ban({ userId: "usr_2", banReason: "policy violation" })
await client.auth.admin.user.impersonate({ userId: "usr_3" })
await client.auth.admin.user.stopImpersonating({ userId: "usr_3" })
// single payload -> /admin/revoke-user-session
await client.auth.admin.user.session.revoke({
userId: "usr_3",
sessionToken: "sess_token_1",
})
// multiple payloads -> /admin/revoke-user-sessions
await client.auth.admin.user.session.revoke([
{ userId: "usr_3", sessionToken: "sess_token_2" },
{ userId: "usr_3", sessionToken: "sess_token_3" },
])
// direct plural payload -> /admin/revoke-user-sessions
await client.auth.admin.user.session.revoke({
userId: "usr_3",
})
await client.auth.admin.user.remove({ userId: "usr_4" })
await client.auth.admin.user.setPassword({
userId: "usr_4",
newPassword: "new-password",
})
await client.auth.admin.hasPermission({
permissions: { users: ["manage"] },
})
await client.auth.admin.apiKey.create({
name: "admin-key",
expiresIn: 3600,
})
await client.auth.admin.athenaClient.create({
clientName: "dashboard-client",
})
await client.auth.admin.athenaClient.list()
await client.auth.admin.auditLog.list()
await client.auth.admin.email.get({
query: { id: "email_1" },
})
await client.auth.admin.email.create({
recipientEmail: "to@example.com",
subject: "Welcome",
fromAddress: "no-reply@example.com",
provider: "resend",
})
await client.auth.admin.email.update({
id: "email_1",
subject: "Welcome Updated",
})
await client.auth.admin.email.delete({
id: "email_1",
})
await client.auth.admin.email.failure.list()
await client.auth.admin.email.failure.get({
query: { id: "failure_1" },
})
await client.auth.admin.email.failure.create({
recipientEmail: "to@example.com",
flow: "transactional",
errorMessage: "bounce",
})
await client.auth.admin.email.failure.update({
id: "failure_1",
resolved: true,
})
await client.auth.admin.email.failure.delete({
id: "failure_1",
})
await client.auth.admin.email.list()
await client.auth.admin.email.template.create({
templateKey: "welcome",
subjectTemplate: "Welcome",
})
await client.auth.admin.email.template.get({
query: { id: "tmpl_1" },
})
await client.auth.admin.email.template.list()
await client.auth.admin.email.template.update({
id: "tmpl_1",
subjectTemplate: "Welcome Updated",
})
await client.auth.admin.email.template.delete({ id: "tmpl_1" })
// legacy alias
await client.auth.admin.emailTemplate.create({
templateKey: "legacy",
subjectTemplate: "Legacy",
})
await client.auth.admin.emailTemplate.get({
query: { id: "legacy_tmpl_1" },
})
await client.auth.admin.emailTemplate.list()
await client.auth.admin.emailTemplate.update({
id: "legacy_tmpl_1",
subjectTemplate: "Legacy Updated",
})
await client.auth.admin.emailTemplate.delete({ id: "legacy_tmpl_1" })OpenAPI Contract
Authorization
bearerAuth Bearer token authentication
In: header
Request Body
application/json
The user id
Response Body
application/json
application/json
application/json
application/json
application/json
application/json
application/json
curl -X POST "http://localhost:3001/api/auth/admin/set-role" \ -H "Content-Type: application/json" \ -d '{ "userId": "string", "role": "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"
}Authorization
bearerAuth Bearer token authentication
In: header
Request Body
application/json
The email of the user
The password of the user
The name of the user
Response Body
application/json
application/json
application/json
application/json
application/json
application/json
application/json
curl -X POST "http://localhost:3001/api/auth/admin/create-user" \ -H "Content-Type: application/json" \ -d '{ "email": "string", "password": "string", "name": "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"
}Authorization
bearerAuth Bearer token authentication
In: header
Query Parameters
The value to search for
The field to search in, defaults to email. Can be email or name
The operator to use for the search. Can be contains, starts_with or ends_with
The number of users to return
The offset to start from
The field to sort by
The direction to sort by
The field to filter by
The value to filter by
The operator to use for the filter
Response Body
application/json
application/json
application/json
application/json
application/json
application/json
application/json
curl -X GET "http://localhost:3001/api/auth/admin/list-users"{
"users": [
{
"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
}
],
"total": 0,
"limit": 0,
"offset": 0
}{
"message": "string"
}{
"message": "string"
}{
"message": "string"
}{
"message": "string"
}{
"message": "string"
}{
"message": "string"
}Authorization
bearerAuth Bearer token authentication
In: header
Request Body
application/json
The user id
Response Body
application/json
application/json
application/json
application/json
application/json
application/json
application/json
curl -X POST "http://localhost:3001/api/auth/admin/list-user-sessions" \ -H "Content-Type: application/json" \ -d '{ "userId": "string" }'{
"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"
}Authorization
bearerAuth Bearer token authentication
In: header
Request Body
application/json
The user id
Response Body
application/json
application/json
application/json
application/json
application/json
application/json
application/json
curl -X POST "http://localhost:3001/api/auth/admin/unban-user" \ -H "Content-Type: application/json" \ -d '{ "userId": "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"
}Authorization
bearerAuth Bearer token authentication
In: header
Request Body
application/json
The user id
The reason for the ban
The number of seconds until the ban expires
Response Body
application/json
application/json
application/json
application/json
application/json
application/json
application/json
curl -X POST "http://localhost:3001/api/auth/admin/ban-user" \ -H "Content-Type: application/json" \ -d '{ "userId": "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"
}Authorization
bearerAuth Bearer token authentication
In: header
Request Body
application/json
The user id
Response Body
application/json
application/json
application/json
application/json
application/json
application/json
application/json
curl -X POST "http://localhost:3001/api/auth/admin/impersonate-user" \ -H "Content-Type: application/json" \ -d '{ "userId": "string" }'{
"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"
}Authorization
bearerAuth Bearer token authentication
In: header
Response Body
application/json
application/json
application/json
application/json
application/json
application/json
curl -X POST "http://localhost:3001/api/auth/admin/stop-impersonating"{
"message": "string"
}{
"message": "string"
}{
"message": "string"
}{
"message": "string"
}{
"message": "string"
}{
"message": "string"
}Authorization
bearerAuth Bearer token authentication
In: header
Request Body
application/json
The session token
Response Body
application/json
application/json
application/json
application/json
application/json
application/json
application/json
curl -X POST "http://localhost:3001/api/auth/admin/revoke-user-session" \ -H "Content-Type: application/json" \ -d '{ "sessionToken": "string" }'{
"success": true
}{
"message": "string"
}{
"message": "string"
}{
"message": "string"
}{
"message": "string"
}{
"message": "string"
}{
"message": "string"
}Authorization
bearerAuth Bearer token authentication
In: header
Request Body
application/json
The user id
Response Body
application/json
application/json
application/json
application/json
application/json
application/json
application/json
curl -X POST "http://localhost:3001/api/auth/admin/revoke-user-sessions" \ -H "Content-Type: application/json" \ -d '{ "userId": "string" }'{
"success": true
}{
"message": "string"
}{
"message": "string"
}{
"message": "string"
}{
"message": "string"
}{
"message": "string"
}{
"message": "string"
}Authorization
bearerAuth Bearer token authentication
In: header
Request Body
application/json
The user id
Response Body
application/json
application/json
application/json
application/json
application/json
application/json
application/json
curl -X POST "http://localhost:3001/api/auth/admin/remove-user" \ -H "Content-Type: application/json" \ -d '{ "userId": "string" }'{
"success": true
}{
"message": "string"
}{
"message": "string"
}{
"message": "string"
}{
"message": "string"
}{
"message": "string"
}{
"message": "string"
}Authorization
bearerAuth Bearer token authentication
In: header
Request Body
application/json
The new password
The user id
Response Body
application/json
application/json
application/json
application/json
application/json
application/json
application/json
curl -X POST "http://localhost:3001/api/auth/admin/set-user-password" \ -H "Content-Type: application/json" \ -d '{ "newPassword": "string", "userId": "string" }'{
"status": true
}{
"message": "string"
}{
"message": "string"
}{
"message": "string"
}{
"message": "string"
}{
"message": "string"
}{
"message": "string"
}Authorization
bearerAuth Bearer token authentication
In: header
Request Body
application/json
The permission to check
The permission to check
Response Body
application/json
application/json
application/json
application/json
application/json
application/json
application/json
curl -X POST "http://localhost:3001/api/auth/admin/has-permission" \ -H "Content-Type: application/json" \ -d '{ "permissions": {} }'{
"error": "string",
"success": true
}{
"message": "string"
}{
"message": "string"
}{
"message": "string"
}{
"message": "string"
}{
"message": "string"
}{
"message": "string"
}Authorization
bearerAuth Bearer token authentication
In: header
Request Body
application/json
Response Body
application/json
curl -X POST "http://localhost:3001/api/auth/admin/api-key/create" \ -H "Content-Type: application/json" \ -d '{}'{
"key": "string",
"apiKey": {}
}Authorization
bearerAuth Bearer token authentication
In: header
Request Body
application/json
Response Body
application/json
curl -X POST "http://localhost:3001/api/auth/admin/athena-client/create" \ -H "Content-Type: application/json" \ -d '{ "clientName": "string" }'{}Authorization
bearerAuth Bearer token authentication
In: header
Response Body
application/json
curl -X GET "http://localhost:3001/api/auth/admin/athena-client/list"{
"athenaClients": [
{}
]
}Authorization
bearerAuth Bearer token authentication
In: header
Query Parameters
date-timedate-timeResponse Body
application/json
curl -X GET "http://localhost:3001/api/auth/admin/audit-log/list"{
"total": 0,
"limit": 0,
"offset": 0,
"auditLogs": [
{}
]
}Authorization
bearerAuth Bearer token authentication
In: header
Query Parameters
date-timedate-timeResponse Body
application/json
curl -X GET "http://localhost:3001/api/auth/admin/email/list"{
"total": 0,
"limit": 0,
"offset": 0,
"emails": [
{}
]
}Authorization
bearerAuth Bearer token authentication
In: header
Query Parameters
Response Body
application/json
curl -X GET "http://localhost:3001/api/auth/admin/email/get?id=string"{
"email": {}
}Authorization
bearerAuth Bearer token authentication
In: header
Request Body
application/json
emailemailResponse Body
application/json
curl -X POST "http://localhost:3001/api/auth/admin/email/create" \ -H "Content-Type: application/json" \ -d '{ "recipientEmail": "user@example.com", "subject": "string", "fromAddress": "user@example.com", "provider": "string" }'{
"success": true
}Authorization
bearerAuth Bearer token authentication
In: header
Request Body
application/json
emailemailResponse Body
application/json
curl -X POST "http://localhost:3001/api/auth/admin/email/update" \ -H "Content-Type: application/json" \ -d '{ "id": "string" }'{
"email": {}
}Authorization
bearerAuth Bearer token authentication
In: header
Request Body
application/json
Response Body
application/json
curl -X POST "http://localhost:3001/api/auth/admin/email/delete" \ -H "Content-Type: application/json" \ -d '{ "id": "string" }'{
"success": true
}Authorization
bearerAuth Bearer token authentication
In: header
Query Parameters
date-timedate-timeResponse Body
application/json
curl -X GET "http://localhost:3001/api/auth/admin/email-failure/list"{
"total": 0,
"limit": 0,
"offset": 0,
"emailSendFailures": [
{}
]
}Authorization
bearerAuth Bearer token authentication
In: header
Query Parameters
Response Body
application/json
curl -X GET "http://localhost:3001/api/auth/admin/email-failure/get?id=string"{
"emailSendFailure": {}
}Authorization
bearerAuth Bearer token authentication
In: header
Request Body
application/json
emailResponse Body
application/json
curl -X POST "http://localhost:3001/api/auth/admin/email-failure/create" \ -H "Content-Type: application/json" \ -d '{ "recipientEmail": "user@example.com", "flow": "string", "errorMessage": "string" }'{
"success": true
}Authorization
bearerAuth Bearer token authentication
In: header
Request Body
application/json
Response Body
application/json
curl -X POST "http://localhost:3001/api/auth/admin/email-failure/update" \ -H "Content-Type: application/json" \ -d '{ "id": "string" }'{
"emailSendFailure": {}
}Authorization
bearerAuth Bearer token authentication
In: header
Request Body
application/json
Response Body
application/json
curl -X POST "http://localhost:3001/api/auth/admin/email-failure/delete" \ -H "Content-Type: application/json" \ -d '{ "id": "string" }'{
"success": true
}Authorization
bearerAuth Bearer token authentication
In: header
Request Body
application/json
Response Body
application/json
curl -X POST "http://localhost:3001/api/auth/admin/email-template/create" \ -H "Content-Type: application/json" \ -d '{ "templateKey": "string", "subjectTemplate": "string" }'{}Authorization
bearerAuth Bearer token authentication
In: header
Query Parameters
Response Body
application/json
curl -X GET "http://localhost:3001/api/auth/admin/email-template/list"{
"total": 0,
"limit": 0,
"offset": 0,
"emailTemplates": [
{}
]
}Authorization
bearerAuth Bearer token authentication
In: header
Query Parameters
Response Body
application/json
curl -X GET "http://localhost:3001/api/auth/admin/email-template/get?id=string"{
"emailTemplate": {}
}Authorization
bearerAuth Bearer token authentication
In: header
Request Body
application/json
Response Body
application/json
curl -X POST "http://localhost:3001/api/auth/admin/email-template/update" \ -H "Content-Type: application/json" \ -d '{ "id": "string" }'{}Authorization
bearerAuth Bearer token authentication
In: header
Request Body
application/json
Response Body
application/json
curl -X POST "http://localhost:3001/api/auth/admin/email-template/delete" \ -H "Content-Type: application/json" \ -d '{ "id": "string" }'{
"success": true
}