Skip to content

auth ​

16 endpoints at a glance
MethodPathSummary
GET/auth/api-keys/List All Api Keys
DELETE/auth/api-keys/{key_id}Admin Revoke Api Key
POST/auth/loginLogin
POST/auth/logoutLogout
GET/auth/meMe
PATCH/auth/meUpdate Me
GET/auth/me/api-keysList My Api Keys
POST/auth/me/api-keysCreate Api Key
DELETE/auth/me/api-keys/{key_id}Revoke My Api Key
POST/auth/me/passwordChange Password
POST/auth/registerRegister
GET/auth/users/List Users
POST/auth/users/Create User
DELETE/auth/users/{username}Delete User
PATCH/auth/users/{username}Update User
POST/auth/users/{username}/passwordAdmin Reset Password

auth​


Login​

POST
/auth/login

Verify credentials, set the session cookie, return the user.

Generic 401 on any failure — never leak whether the username exists.

Request Body​

application/json
JSON
{
  
"username": "string",
  
"password": "string"
}

Responses​

Successful Response

application/json
JSON
{
  
"additionalProperties": "string"
}

Playground​

Body

Samples​


Register​

POST
/auth/register

Self-serve signup. Creates a viewer and auto-logs in.

Admins are still admin-created via POST /auth/users/ —
self-registration intentionally has no role field on the wire.

Request Body​

application/json
JSON
{
  
"username": "string",
  
"password": "string"
}

Responses​

Successful Response

application/json
JSON
{
  
"additionalProperties": "string"
}

Playground​

Body

Samples​


Logout​

POST
/auth/logout

Responses​

Successful Response

application/json
JSON
{
  
"additionalProperties": "string"
}

Playground​

Samples​


Me​

GET
/auth/me

The current user, and how this request authenticated.

auth is {"via": "cookie"} or {"via": "api_key", "scopes", "prefix"} — what a client holding a key needs to check it is the key
it expects (an MCP server refuses to start on one that can write).
Never the hash.

Parameters​

Header Parameters

authorization
x-api-key

Responses​

Successful Response

application/json
JSON
{
  
"additionalProperties": "string"
}

Playground​

Headers

Samples​


Update Me​

PATCH
/auth/me

Patch the current user's preferences (shallow-merged).

Parameters​

Header Parameters

authorization
x-api-key

Request Body​

application/json
JSON
{
  
"preferences": {
  
  
"additionalProperties": "string"
  
}
}

Responses​

Successful Response

application/json
JSON
{
  
"additionalProperties": "string"
}

Playground​

Headers
Body

Samples​


Change Password​

POST
/auth/me/password

Parameters​

Header Parameters

authorization
x-api-key

Request Body​

application/json
JSON
{
  
"current_password": "string",
  
"new_password": "string"
}

Responses​

Successful Response

application/json
JSON
{
  
"additionalProperties": "string"
}

Playground​

Headers
Body

Samples​


List My Api Keys​

GET
/auth/me/api-keys

Parameters​

Header Parameters

authorization
x-api-key

Responses​

Successful Response

application/json
JSON
[
  
{
  
  
"additionalProperties": "string"
  
}
]

Playground​

Headers

Samples​


Create Api Key​

POST
/auth/me/api-keys

Issue a key. The response carries secret — the only time it is
ever shown. Read-only unless scopes asks for write.

Parameters​

Header Parameters

authorization
x-api-key

Request Body​

application/json
JSON
{
  
"label": "string",
  
"scopes": [
  
  
"string"
  
],
  
"expires_at_ts": 0
}

Responses​

Successful Response

application/json
JSON
{
  
"additionalProperties": "string"
}

Playground​

Headers
Body

Samples​


Revoke My Api Key​

DELETE
/auth/me/api-keys/{key_id}

Parameters​

Header Parameters

authorization
x-api-key

Path Parameters

key_id*
Type
string
Required

Responses​

Successful Response

application/json
JSON
{
  
"additionalProperties": "string"
}

Playground​

Headers
Variables
Key
Value

Samples​


List All Api Keys​

GET
/auth/api-keys/

Parameters​

Header Parameters

authorization
x-api-key

Query Parameters

include_revoked
Type
boolean
Default
false

Responses​

Successful Response

application/json
JSON
[
  
{
  
  
"additionalProperties": "string"
  
}
]

Playground​

Headers
Variables
Key
Value

Samples​


Admin Revoke Api Key​

DELETE
/auth/api-keys/{key_id}

Revoke anyone's key — for one that has leaked.

Parameters​

Header Parameters

authorization
x-api-key

Path Parameters

key_id*
Type
string
Required

Responses​

Successful Response

application/json
JSON
{
  
"additionalProperties": "string"
}

Playground​

Headers
Variables
Key
Value

Samples​


List Users​

GET
/auth/users/

Parameters​

Header Parameters

authorization
x-api-key

Responses​

Successful Response

application/json
JSON
[
  
{
  
  
"additionalProperties": "string"
  
}
]

Playground​

Headers

Samples​


Create User​

POST
/auth/users/

Parameters​

Header Parameters

authorization
x-api-key

Request Body​

application/json
JSON
{
  
"username": "string",
  
"password": "string",
  
"role": "viewer"
}

Responses​

Successful Response

application/json
JSON
{
  
"additionalProperties": "string"
}

Playground​

Headers
Body

Samples​


Delete User​

DELETE
/auth/users/{username}

Parameters​

Header Parameters

authorization
x-api-key

Path Parameters

username*
Type
string
Required

Responses​

Successful Response

application/json
JSON
{
  
"additionalProperties": "string"
}

Playground​

Headers
Variables
Key
Value

Samples​


Update User​

PATCH
/auth/users/{username}

Parameters​

Header Parameters

authorization
x-api-key

Path Parameters

username*
Type
string
Required

Request Body​

application/json
JSON
{
  
"role": "string"
}

Responses​

Successful Response

application/json
JSON
{
  
"additionalProperties": "string"
}

Playground​

Headers
Variables
Key
Value
Body

Samples​


Admin Reset Password​

POST
/auth/users/{username}/password

Parameters​

Header Parameters

authorization
x-api-key

Path Parameters

username*
Type
string
Required

Request Body​

application/json
JSON
{
  
"new_password": "string"
}

Responses​

Successful Response

application/json
JSON
{
  
"additionalProperties": "string"
}

Playground​

Headers
Variables
Key
Value
Body

Samples​


Media — Blue Sapphire Software.