DokuBrain

Authentication

User registration, login, tokens, and session management

Register a new account

POST
/auth/register

Request Body

application/jsonRequired
emailRequiredstring
Format: "email"
passwordRequiredstring
Minimum length: 8
namestring
organization_idstring
invitation_tokenstring
curl -X POST "https://api.dokubrain.com/api/v1/auth/register" \
  -H "Content-Type: application/json" \
  -d '{
    "email": "user@example.com",
    "password": "stringst",
    "name": "string",
    "organization_id": "string",
    "invitation_token": "string"
  }'

Account created

{
  "success": true,
  "data": {
    "accessToken": "string",
    "refreshToken": "string",
    "expiresIn": 0,
    "user": {
      "id": "string",
      "name": "string",
      "email": "string",
      "role": "string"
    }
  }
}

Login with email and password

POST
/auth/login

Request Body

application/jsonRequired
emailRequiredstring
Format: "email"
passwordRequiredstring
curl -X POST "https://api.dokubrain.com/api/v1/auth/login" \
  -H "Content-Type: application/json" \
  -d '{
    "email": "user@example.com",
    "password": "string"
  }'

Login successful

{
  "success": true,
  "data": {
    "accessToken": "string",
    "refreshToken": "string",
    "expiresIn": 0,
    "user": {
      "id": "string",
      "name": "string",
      "email": "string",
      "role": "string"
    }
  }
}

Refresh access token

POST
/auth/refresh

Request Body

application/jsonRequired
refresh_tokenRequiredstring
curl -X POST "https://api.dokubrain.com/api/v1/auth/refresh" \
  -H "Content-Type: application/json" \
  -d '{
    "refresh_token": "string"
  }'

Token refreshed

{
  "success": true,
  "data": {},
  "message": "string"
}

Get current user profile

GET
/auth/me

Authorization

AuthorizationRequiredBearer <token>

Use a JWT access token or API key. Include as: Authorization: Bearer <token>

In: header

curl -X GET "https://api.dokubrain.com/api/v1/auth/me" \
  -H "Authorization: Bearer <token>"

User profile

{
  "success": true,
  "data": {},
  "message": "string"
}

Update user profile

PUT
/auth/me

Authorization

AuthorizationRequiredBearer <token>

Use a JWT access token or API key. Include as: Authorization: Bearer <token>

In: header

Request Body

application/jsonOptional
namestring
emailstring
Format: "email"
curl -X PUT "https://api.dokubrain.com/api/v1/auth/me" \
  -H "Authorization: Bearer <token>" \
  -H "Content-Type: application/json" \
  -d '{
    "name": "string",
    "email": "user@example.com"
  }'

Profile updated

{
  "success": true,
  "data": {},
  "message": "string"
}

Sign out

POST
/auth/signout

Authorization

AuthorizationRequiredBearer <token>

Use a JWT access token or API key. Include as: Authorization: Bearer <token>

In: header

Request Body

application/jsonOptional
all_sessionsboolean

Revoke all sessions

session_idstring

Revoke specific session

curl -X POST "https://api.dokubrain.com/api/v1/auth/signout" \
  -H "Authorization: Bearer <token>" \
  -H "Content-Type: application/json" \
  -d '{
    "all_sessions": true,
    "session_id": "string"
  }'

Signed out

{
  "success": true,
  "data": {},
  "message": "string"
}

List active sessions

GET
/auth/sessions

Authorization

AuthorizationRequiredBearer <token>

Use a JWT access token or API key. Include as: Authorization: Bearer <token>

In: header

curl -X GET "https://api.dokubrain.com/api/v1/auth/sessions" \
  -H "Authorization: Bearer <token>"

Active sessions

{
  "success": true,
  "data": {},
  "message": "string"
}

Request password reset email

POST
/auth/forgot-password

Request Body

application/jsonRequired
emailRequiredstring
Format: "email"
curl -X POST "https://api.dokubrain.com/api/v1/auth/forgot-password" \
  -H "Content-Type: application/json" \
  -d '{
    "email": "user@example.com"
  }'

Reset email sent

{
  "success": true,
  "data": {},
  "message": "string"
}

Reset password with token

POST
/auth/reset-password

Request Body

application/jsonRequired
tokenRequiredstring
new_passwordRequiredstring
Minimum length: 8
curl -X POST "https://api.dokubrain.com/api/v1/auth/reset-password" \
  -H "Content-Type: application/json" \
  -d '{
    "token": "string",
    "new_password": "stringst"
  }'

Password reset

{
  "success": true,
  "data": {},
  "message": "string"
}