For the complete documentation index, see llms.txt. This page is also available as Markdown.

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": "admin@nodeum.local",
  "is_admin": true,
  "created_at": "2026-01-01T00:00:00.000Z",
  "updated_at": "2026-01-01T00:00:00.000Z"
}

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
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
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
countintegerOptionalExample: 1
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
201

A specific file.

application/json
idintegerRead-onlyOptionalExample: 5
keystringOptionalExample: global.locale
valuestringOptionalExample: en
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
idintegerRead-onlyOptionalExample: 5
keystringOptionalExample: global.locale
valuestringOptionalExample: en
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
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
idintegerRead-onlyOptionalExample: 5
keystringOptionalExample: global.locale
valuestringOptionalExample: en
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
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
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
countintegerOptionalExample: 1
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
idintegerRead-onlyOptionalExample: 5
keystringRead-onlyOptionalExample: ******************Iwgo
namestringOptionalExample: dev-key
Responses
201

A specific file.

application/json
idintegerRead-onlyOptionalExample: 5
keystringRead-onlyOptionalExample: ******************Iwgo
namestringOptionalExample: dev-key
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
idintegerRead-onlyOptionalExample: 5
keystringRead-onlyOptionalExample: ******************Iwgo
namestringOptionalExample: dev-key
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
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
idintegerRead-onlyOptionalExample: 5
keystringRead-onlyOptionalExample: ******************Iwgo
namestringOptionalExample: dev-key
Responses
200

A specific file.

application/json
idintegerRead-onlyOptionalExample: 5
keystringRead-onlyOptionalExample: ******************Iwgo
namestringOptionalExample: dev-key
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
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
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
idintegerRead-onlyOptionalExample: 100
user_idintegerOptionalExample: 1000
group_idintegerOptionalExample: 1000
usernamestringOptionalExample: admin
passwordstringOptional

Creation and update only

emailstringOptionalExample: admin@nodeum.local
is_adminbooleanOptional
created_atstring · date-timeRead-onlyOptional
updated_atstring · date-timeRead-onlyOptional
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": "admin@nodeum.local",
  "is_admin": true,
  "created_at": "2026-01-01T00:00:00.000Z",
  "updated_at": "2026-01-01T00:00:00.000Z"
}

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
countintegerRead-onlyOptionalExample: 1
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": "admin@nodeum.local",
      "is_admin": true,
      "created_at": "2026-01-01T00:00:00.000Z",
      "updated_at": "2026-01-01T00:00:00.000Z"
    }
  ]
}

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: admin@nodeum.local
is_adminbooleanOptional
created_atstring · date-timeRead-onlyOptional
updated_atstring · date-timeRead-onlyOptional
Responses
201

A specific user.

application/json
idintegerRead-onlyOptionalExample: 100
user_idintegerOptionalExample: 1000
group_idintegerOptionalExample: 1000
usernamestringOptionalExample: admin
passwordstringOptional

Creation and update only

emailstringOptionalExample: admin@nodeum.local
is_adminbooleanOptional
created_atstring · date-timeRead-onlyOptional
updated_atstring · date-timeRead-onlyOptional
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": "admin@nodeum.local",
  "is_admin": true
}
{
  "id": 100,
  "user_id": 1000,
  "group_id": 1000,
  "username": "admin",
  "password": "text",
  "email": "admin@nodeum.local",
  "is_admin": true,
  "created_at": "2026-01-01T00:00:00.000Z",
  "updated_at": "2026-01-01T00:00:00.000Z"
}

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
idintegerRead-onlyOptionalExample: 100
user_idintegerOptionalExample: 1000
group_idintegerOptionalExample: 1000
usernamestringOptionalExample: admin
passwordstringOptional

Creation and update only

emailstringOptionalExample: admin@nodeum.local
is_adminbooleanOptional
created_atstring · date-timeRead-onlyOptional
updated_atstring · date-timeRead-onlyOptional
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": "admin@nodeum.local",
  "is_admin": true,
  "created_at": "2026-01-01T00:00:00.000Z",
  "updated_at": "2026-01-01T00:00:00.000Z"
}

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: admin@nodeum.local
is_adminbooleanOptional
created_atstring · date-timeRead-onlyOptional
updated_atstring · date-timeRead-onlyOptional
Responses
200

A specific user.

application/json
idintegerRead-onlyOptionalExample: 100
user_idintegerOptionalExample: 1000
group_idintegerOptionalExample: 1000
usernamestringOptionalExample: admin
passwordstringOptional

Creation and update only

emailstringOptionalExample: admin@nodeum.local
is_adminbooleanOptional
created_atstring · date-timeRead-onlyOptional
updated_atstring · date-timeRead-onlyOptional
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": "admin@nodeum.local",
  "is_admin": true
}
{
  "id": 100,
  "user_id": 1000,
  "group_id": 1000,
  "username": "admin",
  "password": "text",
  "email": "admin@nodeum.local",
  "is_admin": true,
  "created_at": "2026-01-01T00:00:00.000Z",
  "updated_at": "2026-01-01T00:00:00.000Z"
}

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
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
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
countintegerRead-onlyOptionalExample: 1
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
countintegerRead-onlyOptionalExample: 1
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?