Users

Open a new session

post

API Key Scope: sessions / create

Body
Responses
201

Successful user sign in.

application/json
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-11-05T15:41:18.874Z",
  "updated_at": "2025-11-05T15:41:18.874Z"
}

Close the session

delete

API Key Scope: sessions / destroy

Authorizations
Responses
204

Successful user sign out.

No content

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
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
Body
idintegerRead-onlyOptionalExample: 5
keystringOptionalExample: global.locale
valuestringOptionalExample: en
Responses
201

A specific file.

application/json
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
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: */*
200

A specific file.

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

Updates a specific configuration value.

put

API Key Scope: configurations / update

Authorizations
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
Path parameters
configuration_idstringRequired

Numeric ID, or key of configuration.

Responses
204

Configuration destroyed.

No content

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
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
Body
all ofOptional
Responses
201

A specific file.

application/json
Responseall of
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
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: */*
200

A specific file.

{
  "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
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
Path parameters
api_key_idintegerRequired

Numeric ID of API Key.

Responses
204

API Key destroyed.

No content

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
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-11-05T15:41:18.874Z",
  "updated_at": "2025-11-05T15:41:18.874Z"
}

Lists all users.

get

API Key Scope: users / index

Authorizations
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-11-05T15:41:18.874Z",
      "updated_at": "2025-11-05T15:41:18.874Z"
    }
  ]
}

Creates a new user.

post

API Key Scope: users / create

Authorizations
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
Responses
201

A specific user.

application/json
post
/users
POST /api/v2/users HTTP/1.1
Host: localhost
Authorization: Basic username:password
Content-Type: application/json
Accept: */*
Content-Length: 114

{
  "user_id": 1000,
  "group_id": 1000,
  "username": "admin",
  "password": "text",
  "email": "[email protected]",
  "is_admin": true
}
{
  "id": 100,
  "user_id": 1000,
  "group_id": 1000,
  "username": "admin",
  "password": "text",
  "email": "[email protected]",
  "is_admin": true,
  "created_at": "2025-11-05T15:41:18.874Z",
  "updated_at": "2025-11-05T15:41:18.874Z"
}

Displays a specific user.

get

API Key Scope: users / show

Authorizations
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: */*
200

A specific user.

{
  "id": 100,
  "user_id": 1000,
  "group_id": 1000,
  "username": "admin",
  "password": "text",
  "email": "[email protected]",
  "is_admin": true,
  "created_at": "2025-11-05T15:41:18.874Z",
  "updated_at": "2025-11-05T15:41:18.874Z"
}

Updates a specific user.

put

API Key Scope: users / update

Authorizations
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
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: 114

{
  "user_id": 1000,
  "group_id": 1000,
  "username": "admin",
  "password": "text",
  "email": "[email protected]",
  "is_admin": true
}
{
  "id": 100,
  "user_id": 1000,
  "group_id": 1000,
  "username": "admin",
  "password": "text",
  "email": "[email protected]",
  "is_admin": true,
  "created_at": "2025-11-05T15:41:18.874Z",
  "updated_at": "2025-11-05T15:41:18.874Z"
}

Destroys a specific user.

delete

API Key Scope: users / destroy

Authorizations
Path parameters
user_idstringRequired

Numeric ID, username, or email.

Responses
204

Container destroyed.

No content

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
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
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?