Download OpenAPI specification:

admin

Search for users

Search users by name or email with pagination

query Parameters
name
required
string

User name or email to search

limit
integer

Limit results (default: 10)

offset
integer

Offset for pagination (default: 0)

Responses

Response samples

Content type
application/json
{
  • "body": { },
  • "error": { },
  • "status": "string",
  • "data": {
    }
}

Get user summary statistics

Get summary statistics of all users in the system

Responses

Response samples

Content type
application/json
{
  • "body": { },
  • "error": { },
  • "status": "string",
  • "data": {
    }
}

Set default role for an application

Set the default role for a specific application

Request Body schema: application/json
required

Set default role request

app_id
required
integer
role_id
required
integer

Responses

Request samples

Content type
application/json
{
  • "app_id": 0,
  • "role_id": 0
}

Response samples

Content type
application/json
{
  • "body": { },
  • "error": {
    },
  • "status": "string"
}

Update internationalized names for an application

Update the internationalized names for a specific application

Request Body schema: application/json
required

Update i18n name request

app_id
required
integer
Array of objects (request.ApplicationI18nName)

Responses

Request samples

Content type
application/json
{
  • "app_id": 0,
  • "i18n_names": [
    ]
}

Response samples

Content type
application/json
{
  • "body": { },
  • "error": {
    },
  • "status": "string"
}

Create a new role in an application

Create a new role with the specified name in an application

Request Body schema: application/json
required

Role creation request

app_id
required
integer
name
required
string

Responses

Request samples

Content type
application/json
{
  • "app_id": 0,
  • "name": "string"
}

Response samples

Content type
application/json
{
  • "body": { },
  • "error": {
    },
  • "status": "string"
}

Update role scopes

Update the scopes associated with a role

Request Body schema: application/json
required

Role scope update request

role_id
required
integer
scopes
required
Array of integers non-empty

Responses

Request samples

Content type
application/json
{
  • "role_id": 0,
  • "scopes": [
    ]
}

Response samples

Content type
application/json
{
  • "body": { },
  • "error": {
    },
  • "status": "string"
}

Set default scope for a role

Set the default scope for a specific role

Request Body schema: application/json
required

Set default scope request

role_id
required
integer
scope_id
required
integer

Responses

Request samples

Content type
application/json
{
  • "role_id": 0,
  • "scope_id": 0
}

Response samples

Content type
application/json
{
  • "body": { },
  • "error": {
    },
  • "status": "string"
}

Delete a scope by ID

Delete a scope with the specified ID

path Parameters
scope_id
required
integer

Scope ID

Responses

Response samples

Content type
application/json
{
  • "body": { },
  • "error": {
    },
  • "status": "string"
}

Create a new scope in an application

Create a new scope with the specified name in an application

Request Body schema: application/json
required

Scope creation request

app_id
required
integer
name
required
string

Responses

Request samples

Content type
application/json
{
  • "app_id": 0,
  • "name": "string"
}

Response samples

Content type
application/json
{
  • "body": { },
  • "error": {
    },
  • "status": "string"
}

Update user's role in an application

Update or set a user's role in a specific application

Request Body schema: application/json
required

Update user role request

app_id
required
integer
role_id
required
integer
user_id
required
integer

Responses

Request samples

Content type
application/json
{
  • "app_id": 0,
  • "role_id": 0,
  • "user_id": 0
}

Response samples

Content type
application/json
{
  • "body": { },
  • "error": {
    },
  • "status": "string"
}

Get Apple login information

Get Apple login information

query Parameters
app_name
required
string

Application name

Responses

Response samples

Content type
application/json
{
  • "body": { },
  • "error": { },
  • "status": "string",
  • "data": {
    }
}

Update Apple login information

Update Apple login information

Request Body schema: application/json
required

Apple login information

app_id
required
integer

Application ID in the pluto system

bundle_id
required
string
client_id
required
string
key_id
required
string
p8_cert_content
required
string

Base64 encoded content of the .p8 certificate file

redirect_url
string
team_id
required
string

Responses

Request samples

Content type
application/json
{
  • "app_id": 0,
  • "bundle_id": "string",
  • "client_id": "string",
  • "key_id": "string",
  • "p8_cert_content": "string",
  • "redirect_url": "string",
  • "team_id": "string"
}

Response samples

Content type
application/json
{
  • "body": { },
  • "error": {
    },
  • "status": "string"
}

Create a new application

Create a new application with specified details

Request Body schema: application/json
required

Application creation request

name
required
string

Responses

Request samples

Content type
application/json
{
  • "name": "string"
}

Response samples

Content type
application/json
{
  • "body": { },
  • "error": { },
  • "status": "string",
  • "data": {
    }
}

Get Google login information

Get Google login information

query Parameters
app_name
required
string

Application name

Responses

Response samples

Content type
application/json
{
  • "body": { },
  • "error": { },
  • "status": "string",
  • "data": {
    }
}

Update Google login information

Update Google login information

Request Body schema: application/json
required

Google login information

app_id
required
integer

Application ID in the pluto system

aud
required
string

Google OAuth client ID

Responses

Request samples

Content type
application/json
{
  • "app_id": 0,
  • "aud": "string"
}

Response samples

Content type
application/json
{
  • "body": { },
  • "error": {
    },
  • "status": "string"
}

Get internationalized names for an application

Get all internationalized names for the specified application

query Parameters
app_id
required
integer

Application ID

Responses

Response samples

Content type
application/json
{
  • "body": { },
  • "error": { },
  • "status": "string",
  • "data": {
    }
}

List all applications

Get a list of all applications with basic information

Responses

Response samples

Content type
application/json
{
  • "body": { },
  • "error": { },
  • "status": "string",
  • "data": {
    }
}

Get WeChat login information

Get WeChat login information

query Parameters
app_name
required
string

Application name

Responses

Response samples

Content type
application/json
{
  • "body": { },
  • "error": { },
  • "status": "string",
  • "data": {
    }
}

Update WeChat login information

Update WeChat login information

Request Body schema: application/json
required

Wechat login information

app_id
required
integer

Application ID in the pluto system

wechat_app_id
string

Mobile app configuration

wechat_app_secret
string
wechat_web_id
string

Web app configuration

wechat_web_secret
string

Responses

Request samples

Content type
application/json
{
  • "app_id": 0,
  • "wechat_app_id": "string",
  • "wechat_app_secret": "string",
  • "wechat_web_id": "string",
  • "wechat_web_secret": "string"
}

Response samples

Content type
application/json
{
  • "body": { },
  • "error": {
    },
  • "status": "string"
}

List all roles in an application

Get a list of all roles for the specified application

query Parameters
app_id
required
integer

Application ID

Responses

Response samples

Content type
application/json
{
  • "body": { },
  • "error": { },
  • "status": "string",
  • "data": {
    }
}

List all scopes in an application

Get a list of all scopes for the specified application

query Parameters
app_id
required
integer

Application ID

Responses

Response samples

Content type
application/json
{
  • "body": { },
  • "error": { },
  • "status": "string",
  • "data": {
    }
}

oauth

Authorize OAuth application

Authorize an OAuth application with authorization code or implicit flow

Request Body schema: application/json
required

OAuth authorization request

app_name
required
string
client_id
required
string
life_time
integer [ 1 .. 86400 ]
redirect_uri
required
string
response_type
required
string
Enum: "code" "token"
scopes
string
state
string

Responses

Request samples

Content type
application/json
{
  • "app_name": "string",
  • "client_id": "string",
  • "life_time": 1,
  • "redirect_uri": "string",
  • "response_type": "code",
  • "scopes": "string",
  • "state": "string"
}

Response samples

Content type
application/json
"string"

Get OAuth clients for user

Retrieve all OAuth clients associated with the authenticated user

Responses

Response samples

Content type
application/json
{
  • "body": { },
  • "error": { },
  • "status": "string",
  • "data": {
    }
}

Create new OAuth client

Create a new OAuth client application

Request Body schema: application/json
required

OAuth client creation request

key
required
string [ 1 .. 100 ] characters
redirect_uri
required
string
secret
required
string [ 6 .. 128 ] characters

Responses

Request samples

Content type
application/json
{
  • "key": "string",
  • "redirect_uri": "string",
  • "secret": "string"
}

Response samples

Content type
application/json
{
  • "body": { },
  • "error": { },
  • "status": "string",
  • "data": {
    }
}

Update OAuth client status

Approve or reject an OAuth client application

Request Body schema: application/json
required

OAuth client status update request

key
required
string [ 1 .. 100 ] characters
status
required
string
Enum: "active" "inactive"

Responses

Request samples

Content type
application/json
{
  • "key": "string",
  • "status": "active"
}

Response samples

Content type
application/json
{
  • "body": { },
  • "error": { },
  • "status": "string",
  • "data": {
    }
}

OAuth login with username/password

Login with username/email and password, sets access token cookie and redirects

query Parameters
login_redirect_uri
string

Redirect URI after successful login

Request Body schema: application/json
required

Login credentials

account
required
string
app_name
required
string
device_id
string
password
required
string

Responses

Request samples

Content type
application/json
{
  • "account": "string",
  • "app_name": "string",
  • "device_id": "string",
  • "password": "string"
}

Response samples

Content type
application/json
"string"

Exchange OAuth tokens

Exchange authorization code, password, client credentials, or refresh token for access tokens

Request Body schema: application/json
required

Token exchange request

app_name
required
string
clientID
string
clientSecret
string
code
string
device_id
string
grant_type
required
string
Enum: "authorization_code" "password" "client_credentials" "refresh_token"
password
string [ 6 .. 128 ] characters
redirect_uri
string
refresh_token
string
scopes
string
user
string

Responses

Request samples

Content type
application/json
{
  • "app_name": "string",
  • "clientID": "string",
  • "clientSecret": "string",
  • "code": "string",
  • "device_id": "string",
  • "grant_type": "authorization_code",
  • "password": "string",
  • "redirect_uri": "string",
  • "refresh_token": "string",
  • "scopes": "string",
  • "user": "string"
}

Response samples

Content type
application/json
{
  • "body": { },
  • "error": { },
  • "status": "string",
  • "data": {
    }
}

token

Verify access token

Verify access token validity and get token payload

Request Body schema: application/json
required

Token verification request

token
required
string

Responses

Request samples

Content type
application/json
{
  • "token": "string"
}

Response samples

Content type
application/json
{
  • "body": { },
  • "error": { },
  • "status": "string",
  • "data": {
    }
}

Get RSA public key

Get RSA public key for JWT token verification

Responses

Response samples

Content type
application/json
{
  • "body": { },
  • "error": { },
  • "status": "string",
  • "data": {
    }
}

Refresh access token

Refresh access token using refresh token

Request Body schema: application/json
required

Token refresh request

app_name
required
string
refresh_token
required
string
scopes
string

Responses

Request samples

Content type
application/json
{
  • "app_name": "string",
  • "refresh_token": "string",
  • "scopes": "string"
}

Response samples

Content type
application/json
{
  • "body": { },
  • "error": { },
  • "status": "string",
  • "data": {
    }
}

user

Bind external account

Bind external account (Google, Apple, WeChat, Mail) to current user

Request Body schema: application/json
required

Binding request

code
string
id_token
string
mail
string
type
required
string
Enum: "mail" "google" "apple" "wechat"

Responses

Request samples

Content type
application/json
{
  • "code": "string",
  • "id_token": "string",
  • "mail": "string",
  • "type": "mail"
}

Response samples

Content type
application/json
{
  • "body": { },
  • "error": { },
  • "status": "string"
}

Delete user account

Permanently delete authenticated user account

Responses

Response samples

Content type
application/json
{
  • "body": { },
  • "error": { },
  • "status": "string"
}

Get user information

Get detailed information about the authenticated user

Responses

Response samples

Content type
application/json
{
  • "body": { },
  • "error": { },
  • "status": "string",
  • "data": {
    }
}

Update user information

Update authenticated user's profile information

Request Body schema: application/json
required

Update user info request

avatar
string
name
string [ 1 .. 100 ] characters
user_id
string

Responses

Request samples

Content type
application/json
{
  • "avatar": "string",
  • "name": "string",
  • "user_id": "string"
}

Response samples

Content type
application/json
{
  • "body": { },
  • "error": { },
  • "status": "string"
}

Get public user information by user ID

Get public profile information for a specific user by user ID

path Parameters
userId
required
string

User ID to retrieve public info for

Responses

Response samples

Content type
application/json
{
  • "body": { },
  • "error": { },
  • "status": "string",
  • "data": {
    }
}

Get public user information for multiple users

Get public profile information for multiple users by IDs

query Parameters
ids
required
Array of strings

User IDs to retrieve public info for

Responses

Response samples

Content type
application/json
{
  • "body": { },
  • "error": { },
  • "status": "string",
  • "data": {
    }
}

User login

Login with username/email and password

Request Body schema: application/json
required

Login credentials

account
required
string
app_name
required
string
device_id
string
password
required
string

Responses

Request samples

Content type
application/json
{
  • "account": "string",
  • "app_name": "string",
  • "device_id": "string",
  • "password": "string"
}

Response samples

Content type
application/json
{
  • "body": { },
  • "error": { },
  • "status": "string",
  • "data": {
    }
}

Apple login for mobile

Login with Apple account for mobile applications

Request Body schema: application/json
required

Apple mobile login request

app_name
required
string
code
required
string
device_id
string
name
string

Responses

Request samples

Content type
application/json
{
  • "app_name": "string",
  • "code": "string",
  • "device_id": "string",
  • "name": "string"
}

Response samples

Content type
application/json
{
  • "body": { },
  • "error": { },
  • "status": "string",
  • "data": {
    }
}

Google login for mobile

Login with Google account for mobile applications

Request Body schema: application/json
required

Google mobile login request

app_name
required
string
device_id
string
id_token
required
string

Responses

Request samples

Content type
application/json
{
  • "app_name": "string",
  • "device_id": "string",
  • "id_token": "string"
}

Response samples

Content type
application/json
{
  • "body": { },
  • "error": { },
  • "status": "string",
  • "data": {
    }
}

WeChat login for mobile

Login with WeChat account for mobile applications

Request Body schema: application/json
required

WeChat mobile login request

app_name
required
string
code
required
string
device_id
string

Responses

Request samples

Content type
application/json
{
  • "app_name": "string",
  • "code": "string",
  • "device_id": "string"
}

Response samples

Content type
application/json
{
  • "body": { },
  • "error": { },
  • "status": "string",
  • "data": {
    }
}

Send password reset email

Send password reset email to user's registered email

Request Body schema: application/json
required

Password reset mail request

app_name
required
string
mail
required
string

Responses

Request samples

Content type
application/json
{
  • "app_name": "string",
  • "mail": "string"
}

Response samples

Content type
application/json
{
  • "body": { },
  • "error": { },
  • "status": "string"
}

User registration

Register a new user

Request Body schema: application/json
required

Mail Register Request

app_name
required
string
mail
required
string
name
required
string [ 1 .. 100 ] characters
password
required
string [ 6 .. 128 ] characters
user_id
string

Responses

Request samples

Content type
application/json
{
  • "app_name": "string",
  • "mail": "string",
  • "name": "string",
  • "password": "string",
  • "user_id": "string"
}

Response samples

Content type
application/json
{
  • "body": { },
  • "error": { },
  • "status": "string",
  • "data": {
    }
}

Send registration verification email

Send verification email for user registration

Request Body schema: application/json
required

Register verify mail request

app_name
required
string
mail
string
user_id
string

Responses

Request samples

Content type
application/json
{
  • "app_name": "string",
  • "mail": "string",
  • "user_id": "string"
}

Response samples

Content type
application/json
{
  • "body": { },
  • "error": { },
  • "status": "string"
}

Unbind external account

Unbind external account (Google, Apple, WeChat, Mail) from current user

Request Body schema: application/json
required

Unbinding request

type
required
string
Enum: "mail" "google" "apple" "wechat"

Responses

Request samples

Content type
application/json
{
  • "type": "mail"
}

Response samples

Content type
application/json
{
  • "body": { },
  • "error": { },
  • "status": "string"
}

health

Health check endpoint

Returns service health information including version

Responses

Response samples

Content type
application/json
{
  • "body": { },
  • "error": { },
  • "status": "string",
  • "data": {
    }
}