Users

Open a new session

post

API Key Scope: sessions / create

Body
Responses
post
/users/sign_in
POST /api/v2/users/sign_in HTTP/1.1
Host: localhost
Content-Type: application/json
Accept: */*
Content-Length: 46

{
  "user": {
    "username": "text",
    "password": "text"
  }
}
201

Successful user sign in.

{
  "id": 100,
  "user_id": 1000,
  "group_id": 1000,
  "username": "admin",
  "password": "text",
  "email": "[email protected]",
  "is_admin": true,
  "created_at": "2025-12-02T09:00:09.310Z",
  "updated_at": "2025-12-02T09:00:09.310Z",
  "expired_at": "2025-12-02T09:00:09.310Z",
  "source_type": "web_app"
}

Close the session

delete

API Key Scope: sessions / destroy

Authorizations
AuthorizationstringRequired

Pass the username and password of a user in the authorization header. This currently gives full access.

Responses
delete
/users/sign_out
DELETE /api/v2/users/sign_out HTTP/1.1
Host: localhost
Authorization: Basic username:password
Accept: */*
204

Successful user sign out.

No content

Lists all configurations of current user.

get

API Key Scope: configurations / index

Authorizations
AuthorizationstringRequired

Pass the username and password of a user in the authorization header. This currently gives full access.

Query parameters
limitintegerOptional

The number of items to display for pagination.

offsetintegerOptional

The number of items to skip for pagination.

Responses
200

List of configurations.

application/json
get
/users/me/configurations
GET /api/v2/users/me/configurations HTTP/1.1
Host: localhost
Authorization: Basic username:password
Accept: */*
200

List of configurations.

{
  "configurations": [
    {
      "id": 5,
      "key": "global.locale",
      "value": "en"
    }
  ],
  "count": 1
}

Creates a new configuration value for current user.

post

API Key Scope: configurations / create

Authorizations
AuthorizationstringRequired

Pass the username and password of a user in the authorization header. This currently gives full access.

Body
idintegerRead-onlyOptionalExample: 5
keystringOptionalExample: global.locale
valuestringOptionalExample: en
Responses
post
/users/me/configurations
POST /api/v2/users/me/configurations HTTP/1.1
Host: localhost
Authorization: Basic username:password
Content-Type: application/json
Accept: */*
Content-Length: 36

{
  "key": "global.locale",
  "value": "en"
}
201

A specific file.

{
  "id": 5,
  "key": "global.locale",
  "value": "en"
}

Displays a specific configuration value.

get

API Key Scope: configurations / show

Authorizations
AuthorizationstringRequired

Pass the username and password of a user in the authorization header. This currently gives full access.

Path parameters
configuration_idstringRequired

Numeric ID, or key of configuration.

Responses
200

A specific file.

application/json
get
/users/me/configurations/{configuration_id}
GET /api/v2/users/me/configurations/{configuration_id} HTTP/1.1
Host: localhost
Authorization: Basic username:password
Accept: */*
{
  "id": 5,
  "key": "global.locale",
  "value": "en"
}

Updates a specific configuration value.

put

API Key Scope: configurations / update

Authorizations
AuthorizationstringRequired

Pass the username and password of a user in the authorization header. This currently gives full access.

Path parameters
configuration_idstringRequired

Numeric ID, or key of configuration.

Body
idintegerRead-onlyOptionalExample: 5
keystringOptionalExample: global.locale
valuestringOptionalExample: en
Responses
200

A specific file.

application/json
put
/users/me/configurations/{configuration_id}
PUT /api/v2/users/me/configurations/{configuration_id} HTTP/1.1
Host: localhost
Authorization: Basic username:password
Content-Type: application/json
Accept: */*
Content-Length: 36

{
  "key": "global.locale",
  "value": "en"
}
200

A specific file.

{
  "id": 5,
  "key": "global.locale",
  "value": "en"
}

Destroys a specific configuration value.

delete

API Key Scope: configurations / destroy

Authorizations
AuthorizationstringRequired

Pass the username and password of a user in the authorization header. This currently gives full access.

Path parameters
configuration_idstringRequired

Numeric ID, or key of configuration.

Responses
delete
/users/me/configurations/{configuration_id}
DELETE /api/v2/users/me/configurations/{configuration_id} HTTP/1.1
Host: localhost
Authorization: Basic username:password
Accept: */*
204

Configuration destroyed.

No content

Lists all API keys of current user.

get

API Key Scope: api_keys / index

Authorizations
AuthorizationstringRequired

Pass the username and password of a user in the authorization header. This currently gives full access.

Query parameters
limitintegerOptional

The number of items to display for pagination.

offsetintegerOptional

The number of items to skip for pagination.

Responses
200

List of API Keys.

application/json
get
/users/me/api_keys
GET /api/v2/users/me/api_keys HTTP/1.1
Host: localhost
Authorization: Basic username:password
Accept: */*
200

List of API Keys.

{
  "api_keys": [
    {
      "id": 5,
      "key": "******************Iwgo",
      "name": "dev-key"
    }
  ],
  "count": 1
}

Creates a new API Key for current user.

post

API Key Scope: api_keys / create

Authorizations
AuthorizationstringRequired

Pass the username and password of a user in the authorization header. This currently gives full access.

Body
all ofOptional
Responses
post
/users/me/api_keys
POST /api/v2/users/me/api_keys HTTP/1.1
Host: localhost
Authorization: Basic username:password
Content-Type: application/json
Accept: */*
Content-Length: 75

{
  "name": "dev-key",
  "api_key_scopes": [
    {
      "controller": "text",
      "action": "text"
    }
  ]
}
201

A specific file.

{
  "id": 5,
  "key": "******************Iwgo",
  "name": "dev-key",
  "api_key_scopes": [
    {
      "controller": "text",
      "action": "text"
    }
  ]
}

Displays a specific API Key with its scopes.

get

API Key Scope: api_keys / show

Authorizations
AuthorizationstringRequired

Pass the username and password of a user in the authorization header. This currently gives full access.

Path parameters
api_key_idintegerRequired

Numeric ID of API Key.

Responses
200

A specific file.

application/json
Responseall of
get
/users/me/api_keys/{api_key_id}
GET /api/v2/users/me/api_keys/{api_key_id} HTTP/1.1
Host: localhost
Authorization: Basic username:password
Accept: */*
{
  "id": 5,
  "key": "******************Iwgo",
  "name": "dev-key",
  "api_key_scopes": [
    {
      "controller": "text",
      "action": "text"
    }
  ]
}

Updates a specific API Key.

put

API Key Scope: api_keys / update

Authorizations
AuthorizationstringRequired

Pass the username and password of a user in the authorization header. This currently gives full access.

Path parameters
api_key_idintegerRequired

Numeric ID of API Key.

Body
all ofOptional
Responses
200

A specific file.

application/json
Responseall of
put
/users/me/api_keys/{api_key_id}
PUT /api/v2/users/me/api_keys/{api_key_id} HTTP/1.1
Host: localhost
Authorization: Basic username:password
Content-Type: application/json
Accept: */*
Content-Length: 75

{
  "name": "dev-key",
  "api_key_scopes": [
    {
      "controller": "text",
      "action": "text"
    }
  ]
}
200

A specific file.

{
  "id": 5,
  "key": "******************Iwgo",
  "name": "dev-key",
  "api_key_scopes": [
    {
      "controller": "text",
      "action": "text"
    }
  ]
}

Destroys a specific API Key.

delete

API Key Scope: api_keys / destroy

Authorizations
AuthorizationstringRequired

Pass the username and password of a user in the authorization header. This currently gives full access.

Path parameters
api_key_idintegerRequired

Numeric ID of API Key.

Responses
delete
/users/me/api_keys/{api_key_id}
DELETE /api/v2/users/me/api_keys/{api_key_id} HTTP/1.1
Host: localhost
Authorization: Basic username:password
Accept: */*
204

API Key destroyed.

No content

Displays current user.

get

API Key Scope: users / show

Authorizations
AuthorizationstringRequired

Pass the username and password of a user in the authorization header. This currently gives full access.

Responses
200

A specific user.

application/json
get
/users/me
GET /api/v2/users/me HTTP/1.1
Host: localhost
Authorization: Basic username:password
Accept: */*
{
  "id": 100,
  "user_id": 1000,
  "group_id": 1000,
  "username": "admin",
  "password": "text",
  "email": "[email protected]",
  "is_admin": true,
  "created_at": "2025-12-02T09:00:09.310Z",
  "updated_at": "2025-12-02T09:00:09.310Z",
  "expired_at": "2025-12-02T09:00:09.310Z",
  "source_type": "web_app"
}

Lists all users.

get

API Key Scope: users / index

Authorizations
AuthorizationstringRequired

Pass the username and password of a user in the authorization header. This currently gives full access.

Query parameters
limitintegerOptional

The number of items to display for pagination.

offsetintegerOptional

The number of items to skip for pagination.

Responses
200

List of users.

application/json
get
/users
GET /api/v2/users HTTP/1.1
Host: localhost
Authorization: Basic username:password
Accept: */*
200

List of users.

{
  "count": 1,
  "users": [
    {
      "id": 100,
      "user_id": 1000,
      "group_id": 1000,
      "username": "admin",
      "password": "text",
      "email": "[email protected]",
      "is_admin": true,
      "created_at": "2025-12-02T09:00:09.310Z",
      "updated_at": "2025-12-02T09:00:09.310Z",
      "expired_at": "2025-12-02T09:00:09.310Z",
      "source_type": "web_app"
    }
  ]
}

Creates a new user.

post

API Key Scope: users / create

Authorizations
AuthorizationstringRequired

Pass the username and password of a user in the authorization header. This currently gives full access.

Body
idintegerRead-onlyOptionalExample: 100
user_idintegerOptionalExample: 1000
group_idintegerOptionalExample: 1000
usernamestringOptionalExample: admin
passwordstringOptional

Creation and update only

emailstringOptionalExample: [email protected]
is_adminbooleanOptional
created_atstring · date-timeRead-onlyOptional
updated_atstring · date-timeRead-onlyOptional
expired_atstring · date-timeOptional

Expiration date of the user account

source_typestring · enumOptionalDefault: web_appPossible values:
Responses
post
/users
POST /api/v2/users HTTP/1.1
Host: localhost
Authorization: Basic username:password
Content-Type: application/json
Accept: */*
Content-Length: 178

{
  "user_id": 1000,
  "group_id": 1000,
  "username": "admin",
  "password": "text",
  "email": "[email protected]",
  "is_admin": true,
  "expired_at": "2025-12-02T09:00:09.310Z",
  "source_type": "web_app"
}
{
  "id": 100,
  "user_id": 1000,
  "group_id": 1000,
  "username": "admin",
  "password": "text",
  "email": "[email protected]",
  "is_admin": true,
  "created_at": "2025-12-02T09:00:09.310Z",
  "updated_at": "2025-12-02T09:00:09.310Z",
  "expired_at": "2025-12-02T09:00:09.310Z",
  "source_type": "web_app"
}

Displays a specific user.

get

API Key Scope: users / show

Authorizations
AuthorizationstringRequired

Pass the username and password of a user in the authorization header. This currently gives full access.

Path parameters
user_idstringRequired

Numeric ID, username, or email.

Responses
200

A specific user.

application/json
get
/users/{user_id}
GET /api/v2/users/{user_id} HTTP/1.1
Host: localhost
Authorization: Basic username:password
Accept: */*
{
  "id": 100,
  "user_id": 1000,
  "group_id": 1000,
  "username": "admin",
  "password": "text",
  "email": "[email protected]",
  "is_admin": true,
  "created_at": "2025-12-02T09:00:09.310Z",
  "updated_at": "2025-12-02T09:00:09.310Z",
  "expired_at": "2025-12-02T09:00:09.310Z",
  "source_type": "web_app"
}

Updates a specific user.

put

API Key Scope: users / update

Authorizations
AuthorizationstringRequired

Pass the username and password of a user in the authorization header. This currently gives full access.

Path parameters
user_idstringRequired

Numeric ID, username, or email.

Body
idintegerRead-onlyOptionalExample: 100
user_idintegerOptionalExample: 1000
group_idintegerOptionalExample: 1000
usernamestringOptionalExample: admin
passwordstringOptional

Creation and update only

emailstringOptionalExample: [email protected]
is_adminbooleanOptional
created_atstring · date-timeRead-onlyOptional
updated_atstring · date-timeRead-onlyOptional
expired_atstring · date-timeOptional

Expiration date of the user account

source_typestring · enumOptionalDefault: web_appPossible values:
Responses
200

A specific user.

application/json
put
/users/{user_id}
PUT /api/v2/users/{user_id} HTTP/1.1
Host: localhost
Authorization: Basic username:password
Content-Type: application/json
Accept: */*
Content-Length: 178

{
  "user_id": 1000,
  "group_id": 1000,
  "username": "admin",
  "password": "text",
  "email": "[email protected]",
  "is_admin": true,
  "expired_at": "2025-12-02T09:00:09.310Z",
  "source_type": "web_app"
}
{
  "id": 100,
  "user_id": 1000,
  "group_id": 1000,
  "username": "admin",
  "password": "text",
  "email": "[email protected]",
  "is_admin": true,
  "created_at": "2025-12-02T09:00:09.310Z",
  "updated_at": "2025-12-02T09:00:09.310Z",
  "expired_at": "2025-12-02T09:00:09.310Z",
  "source_type": "web_app"
}

Destroys a specific user.

delete

API Key Scope: users / destroy

Authorizations
AuthorizationstringRequired

Pass the username and password of a user in the authorization header. This currently gives full access.

Path parameters
user_idstringRequired

Numeric ID, username, or email.

Responses
delete
/users/{user_id}
DELETE /api/v2/users/{user_id} HTTP/1.1
Host: localhost
Authorization: Basic username:password
Accept: */*
204

Container destroyed.

No content

List all system users.

get

API Key Scope: users / systems

Authorizations
AuthorizationstringRequired

Pass the username and password of a user in the authorization header. This currently gives full access.

Responses
200

List of users.

application/json
get
/users/-/systems
GET /api/v2/users/-/systems HTTP/1.1
Host: localhost
Authorization: Basic username:password
Accept: */*
200

List of users.

{
  "count": 1,
  "users": [
    {
      "name": "text",
      "uid": 1,
      "gid": 1,
      "info": "text"
    }
  ]
}

List all system groups.

get

API Key Scope: groups / systems

Authorizations
AuthorizationstringRequired

Pass the username and password of a user in the authorization header. This currently gives full access.

Responses
200

List of user groups.

application/json
get
/groups/-/systems
GET /api/v2/groups/-/systems HTTP/1.1
Host: localhost
Authorization: Basic username:password
Accept: */*
200

List of user groups.

{
  "count": 1,
  "groups": [
    {
      "name": "text",
      "gid": 1,
      "users": [
        "text"
      ]
    }
  ]
}

Last updated

Was this helpful?