Skip to content

34 Registry

Преподобный Ален edited this page Feb 18, 2026 · 1 revision

Registry

The system provides the ability to store data in a registry, similar to the Windows operating system registry.

To access data, you need to specify either:

  1. Identifier -- Id;
  2. Value name -- ValueName.

or:

  1. Key -- Key;
  2. Subkey -- SubKey;
  3. Value name -- ValueName.

Key has two fixed values (two categories):

Name Value Description
Current settings CURRENT_CONFIG This category stores information accessible to all users.
Current user CURRENT_USER This category stores information accessible only to the registered user.

Subkey is a path string to the values. The backslash character ( \ ) is used as a separator.

  • The subkey format resembles file paths in Windows systems.
  • Important: The subkey must NOT start or end with a backslash ( \ )!

API

List

POST /api/v1/registry/list

Returns the registry as a list.

Request parameters:

Name Type Value Description
id UUID Optional. Registry entry identifier.
key UUID Optional. Key identifier.
subkey UUID Optional. Subkey identifier.
extended BOOL Optional. Extended value format. When true, the value format will be tabular; when false, it will be a nested JSON object.

Example request:

POST /api/v1/registry/list HTTP/1.1
Host: localhost:8080
Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.[abbreviated for brevity].NorYsi-Ht826HUFCEArVZ60_dEUmYiJYXubnTyweIMg

Response format:

Field Type Description
id UUID Registry entry identifier.
key UUID Key identifier.
keyname STRING Key name.
parent UUID Parent key identifier.
subkey UUID Subkey identifier.
subkeyname STRING Subkey name.
level NUMERIC Hierarchy level.
valuename STRING Value name.
value JSON Value. When extended: false (default).

Format of value:

Field Type Description
vtype INTEGER Value type. 0 - Integer; 1 - Arbitrary precision number; 2 - Date and time; 3 - String; 4 - Boolean
vinteger INTEGER Integer value.
vnumeric NUMERIC Arbitrary precision number.
vdatetime TIMESTAMP Date and time.
vstring STRING String.
vboolean BOOLEAN Boolean.

Key

POST /api/v1/registry/key

Returns registry keys.

Request parameters:

Name Type Value Description
id UUID Optional. Registry entry identifier.
root UUID Optional. Root registry entry identifier.
parent UUID Optional. Subkey identifier.
key STRING Optional. Key identifier.

Value

POST /api/v1/registry/value

Returns registry values.

Request parameters:

Name Type Value Description
id UUID Optional. Registry entry identifier.
key UUID Optional. Key identifier.
extended BOOL Optional. Extended value format. When true, the value format will be tabular; when false, it will be a nested JSON object.

Response format:

Field Type Description
id UUID Registry entry identifier.
key UUID Key identifier.
keyname STRING Key name.
subkey UUID Subkey identifier.
subkeyname STRING Subkey name.
valuename STRING Value name.
value JSON Value. When extended: false (default).

Format of value:

Field Type Description
vtype INTEGER Value type. 0 - Integer; 1 - Arbitrary precision number; 2 - Date and time; 3 - String; 4 - Boolean
vinteger INTEGER Integer value.
vnumeric NUMERIC Arbitrary precision number.
vdatetime TIMESTAMP Date and time.
vstring STRING String.
vboolean BOOLEAN Boolean.

Get Key

POST /api/v1/registry/get/key

Returns a registry key.

Request parameters:

Name Type Value Description
id UUID Optional. Key identifier.

Response format:

Field Type Description
id UUID Registry entry identifier.
root UUID Root key identifier.
parent UUID Parent key identifier.
key STRING Key name.
level NUMERIC Hierarchy level.

Enumerate Keys

POST /api/v1/registry/enum/key

Enumerates keys at the specified path.

Request parameters:

Name Type Value Description
key STRING CURRENT_CONFIG, CURRENT_USER Required. Key name.
subkey STRING Required. Subkey name.

Response format:

Field Type Description
id UUID Registry entry identifier.
root UUID Root key identifier.
parent UUID Parent key identifier.
key STRING Key name.
level NUMERIC Hierarchy level.

Example request:

POST /api/v1/registry/enum/key HTTP/1.1
Host: localhost:8080
Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.[abbreviated for brevity].NorYsi-Ht826HUFCEArVZ60_dEUmYiJYXubnTyweIMg
Content-Type: application/json

{"key": "CURRENT_CONFIG", "subkey": "CONFIG"}

Example response:

[
  {
    "id": "44aa6c22-eb31-4120-8502-b05e4d1a9c8d",
    "key": "CURRENT_CONFIG",
    "subkey": "CONFIG\\Department"
  },
  {
    "id": "a2445fbc-24bc-4fb8-866f-71e655c33fe8",
    "key": "CURRENT_CONFIG",
    "subkey": "CONFIG\\CurrentProject"
  }
]

Example request:

POST /api/v1/registry/enum/key HTTP/1.1
Host: localhost:8080
Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.[abbreviated for brevity].NorYsi-Ht826HUFCEArVZ60_dEUmYiJYXubnTyweIMg
Content-Type: application/json

{"key": "CURRENT_CONFIG", "subkey": "CONFIG\\CurrentProject"}

Example response:

[
  {
    "id": "3bdf794d-7115-4579-80ec-bf307ab3ba4c",
    "key": "CURRENT_CONFIG",
    "subkey": "CONFIG\\CurrentProject\\Product"
  },
  {
    "id": "68a0bbe0-d902-4b24-8a26-66b0de532767",
    "key": "CURRENT_CONFIG",
    "subkey": "CONFIG\\CurrentProject\\API"
  }
]

Enumerate Values

POST /api/v1/registry/enum/value

Enumerates values at the specified path.

Request parameters:

Name Type Value Description
key STRING CURRENT_CONFIG, CURRENT_USER Required. Key name.
subkey STRING Required. Subkey name.
extended NUMERIC Optional. Extended value format. When true, the value format will be tabular; when false, it will be a nested JSON object.

Response format:

Field Type Description
id UUID Registry entry identifier.
key STRING Key name.
subkey STRING Subkey name.
valuename STRING Value name.
value JSON Value. When extended: false (default).

Format of value:

Field Type Description
vtype INTEGER Value type. 0 - Integer; 1 - Arbitrary precision number; 2 - Date and time; 3 - String; 4 - Boolean
vinteger INTEGER Integer value.
vnumeric NUMERIC Arbitrary precision number.
vdatetime TIMESTAMP Date and time.
vstring STRING String.
vboolean BOOLEAN Boolean.

Example request:

POST /api/v1/registry/enum/value HTTP/1.1
Host: localhost:8080
Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.[abbreviated for brevity].NorYsi-Ht826HUFCEArVZ60_dEUmYiJYXubnTyweIMg
Content-Type: application/json

{"key": "CURRENT_CONFIG", "subkey": "CONFIG\\CurrentProject"}

Write

POST /api/v1/registry/write

Save data to the registry.

Request parameters:

Name Type Value Description
id UUID Variadic. Registry key identifier. Takes priority over the Key and SubKey pair.
key STRING CURRENT_CONFIG, CURRENT_USER Variadic. Key name.
subkey STRING Variadic. Subkey name.
name STRING Required. Value name. Will be created if it does not exist.
type INTEGER 0, 1, 2, 3, 4 Required. Value type. 0 - Integer; 1 - Arbitrary precision number; 2 - Date and time; 3 - String; 4 - Boolean
data ANYNONARRAY Required. Data in accordance with the specified type.

Example request:

POST /api/v1/registry/write HTTP/1.1
Host: localhost:8080
Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.[abbreviated for brevity].NorYsi-Ht826HUFCEArVZ60_dEUmYiJYXubnTyweIMg
Content-Type: application/json

{"key": "CURRENT_CONFIG", "subkey": "CONFIG\\CurrentProject", "name": "Name", "type": 3, "data": "Project name"}

Write Integer

POST /api/v1/registry/write/integer

Save an integer value to the registry.

Request parameters:

Name Type Value Description
id UUID Variadic. Registry key identifier. Takes priority over the Key and SubKey pair.
key STRING CURRENT_CONFIG, CURRENT_USER Variadic. Key name.
subkey STRING Variadic. Subkey name.
name STRING Required. Value name. Will be created if it does not exist.
value INTEGER Required. Value.

Example request:

POST /api/v1/registry/write/integer HTTP/1.1
Host: localhost:8080
Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.[abbreviated for brevity].NorYsi-Ht826HUFCEArVZ60_dEUmYiJYXubnTyweIMg
Content-Type: application/json

{"key": "CURRENT_CONFIG", "subkey": "CONFIG\\CurrentProject", "name": "IntegerValue", "value": 1}

Write Numeric

POST /api/v1/registry/write/numeric

Save an arbitrary precision number to the registry.

Request parameters:

Name Type Value Description
id UUID Variadic. Registry key identifier. Takes priority over the Key and SubKey pair.
key STRING CURRENT_CONFIG, CURRENT_USER Variadic. Key name.
subkey STRING Variadic. Subkey name.
name STRING Required. Value name. Will be created if it does not exist.
value NUMERIC Required. Value.

Example request:

POST /api/v1/registry/write/numeric HTTP/1.1
Host: localhost:8080
Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.[abbreviated for brevity].NorYsi-Ht826HUFCEArVZ60_dEUmYiJYXubnTyweIMg
Content-Type: application/json

{"key": "CURRENT_CONFIG", "subkey": "CONFIG\\CurrentProject", "name": "NumberValue", "value": 0.1}

Write DateTime

POST /api/v1/registry/write/datetime

Save a date and time value to the registry.

Request parameters:

Name Type Value Description
id UUID Variadic. Registry key identifier. Takes priority over the Key and SubKey pair.
key STRING CURRENT_CONFIG, CURRENT_USER Variadic. Key name.
subkey STRING Variadic. Subkey name.
name STRING Required. Value name. Will be created if it does not exist.
value TIMESTAMP Required. Value.

Example request:

POST /api/v1/registry/write/datetime HTTP/1.1
Host: localhost:8080
Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.[abbreviated for brevity].NorYsi-Ht826HUFCEArVZ60_dEUmYiJYXubnTyweIMg
Content-Type: application/json

{"key": "CURRENT_CONFIG", "subkey": "CONFIG\\CurrentProject", "name": "DateTimeValue", "value": "2020-01-02T03:04:05"}

Write String

POST /api/v1/registry/write/string

Save a string value to the registry.

Request parameters:

Name Type Value Description
id UUID Variadic. Registry key identifier. Takes priority over the Key and SubKey pair.
key STRING CURRENT_CONFIG, CURRENT_USER Variadic. Key name.
subkey STRING Variadic. Subkey name.
name STRING Required. Value name. Will be created if it does not exist.
value STRING Required. Value.

Example request:

POST /api/v1/registry/write/string HTTP/1.1
Host: localhost:8080
Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.[abbreviated for brevity].NorYsi-Ht826HUFCEArVZ60_dEUmYiJYXubnTyweIMg
Content-Type: application/json

{"key": "CURRENT_CONFIG", "subkey": "CONFIG\\CurrentProject", "name": "StringValue", "value": "Any string"}

Write Boolean

POST /api/v1/registry/write/boolean

Save a boolean value to the registry.

Request parameters:

Name Type Value Description
id UUID Variadic. Registry key identifier. Takes priority over the Key and SubKey pair.
key STRING CURRENT_CONFIG, CURRENT_USER Variadic. Key name.
subkey STRING Variadic. Subkey name.
name STRING Required. Value name. Will be created if it does not exist.
value BOOLEAN Required. Value.

Example request:

POST /api/v1/registry/write/boolean HTTP/1.1
Host: localhost:8080
Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.[abbreviated for brevity].NorYsi-Ht826HUFCEArVZ60_dEUmYiJYXubnTyweIMg
Content-Type: application/json

{"key": "CURRENT_CONFIG", "subkey": "CONFIG\\CurrentProject", "name": "LogicValue", "value": true}

Read

POST /api/v1/registry/read

Read data from the registry.

Request parameters:

Name Type Value Description
id UUID Variadic. Registry key identifier. Takes priority over the Key and SubKey pair.
key STRING CURRENT_CONFIG, CURRENT_USER Variadic. Key name.
subkey STRING Variadic. Subkey name.
name STRING Required. Value name.

Response format:

Field Type Description
vtype INTEGER Value type. 0 - Integer; 1 - Arbitrary precision number; 2 - Date and time; 3 - String; 4 - Boolean
vinteger INTEGER Integer value.
vnumeric NUMERIC Arbitrary precision number.
vdatetime TIMESTAMP Date and time.
vstring STRING String.
vboolean BOOLEAN Boolean.

Example request:

POST /api/v1/registry/read HTTP/1.1
Host: localhost:8080
Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.[abbreviated for brevity].NorYsi-Ht826HUFCEArVZ60_dEUmYiJYXubnTyweIMg
Content-Type: application/json

{"key": "CURRENT_CONFIG", "subkey": "CONFIG\\CurrentProject", "name": "Name"}

Read Integer

POST /api/v1/registry/read/integer

Read an integer value from the registry.

Request parameters:

Name Type Value Description
id UUID Variadic. Registry key identifier. Takes priority over the Key and SubKey pair.
key STRING CURRENT_CONFIG, CURRENT_USER Variadic. Key name.
subkey STRING Variadic. Subkey name.
name STRING Required. Value name.

Response format:

Field Type Description
value INTEGER Value.

Example request:

POST /api/v1/registry/read/integer HTTP/1.1
Host: localhost:8080
Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.[abbreviated for brevity].NorYsi-Ht826HUFCEArVZ60_dEUmYiJYXubnTyweIMg
Content-Type: application/json

{"key": "CURRENT_CONFIG", "subkey": "CONFIG\\CurrentProject", "name": "IntegerValue"}

Read Numeric

POST /api/v1/registry/read/numeric

Read an arbitrary precision number from the registry.

Request parameters:

Name Type Value Description
id UUID Variadic. Registry key identifier. Takes priority over the Key and SubKey pair.
key STRING CURRENT_CONFIG, CURRENT_USER Variadic. Key name.
subkey STRING Variadic. Subkey name.
name STRING Required. Value name.

Response format:

Field Type Description
value NUMERIC Value.

Example request:

POST /api/v1/registry/read/numeric HTTP/1.1
Host: localhost:8080
Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.[abbreviated for brevity].NorYsi-Ht826HUFCEArVZ60_dEUmYiJYXubnTyweIMg
Content-Type: application/json

{"key": "CURRENT_CONFIG", "subkey": "CONFIG\\CurrentProject", "name": "NumberValue"}

Read DateTime

POST /api/v1/registry/read/datetime

Read a date and time value from the registry.

Request parameters:

Name Type Value Description
id UUID Variadic. Registry key identifier. Takes priority over the Key and SubKey pair.
key STRING CURRENT_CONFIG, CURRENT_USER Variadic. Key name.
subkey STRING Variadic. Subkey name.
name STRING Required. Value name.

Response format:

Field Type Description
value TIMESTAMP Value.

Example request:

POST /api/v1/registry/read/datetime HTTP/1.1
Host: localhost:8080
Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.[abbreviated for brevity].NorYsi-Ht826HUFCEArVZ60_dEUmYiJYXubnTyweIMg
Content-Type: application/json

{"key": "CURRENT_CONFIG", "subkey": "CONFIG\\CurrentProject", "name": "DateTimeValue"}

Read String

POST /api/v1/registry/read/string

Read a string value from the registry.

Request parameters:

Name Type Value Description
id UUID Variadic. Registry key identifier. Takes priority over the Key and SubKey pair.
key STRING CURRENT_CONFIG, CURRENT_USER Variadic. Key name.
subkey STRING Variadic. Subkey name.
name STRING Required. Value name.

Response format:

Field Type Description
value STRING Value.

Example request:

POST /api/v1/registry/read/string HTTP/1.1
Host: localhost:8080
Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.[abbreviated for brevity].NorYsi-Ht826HUFCEArVZ60_dEUmYiJYXubnTyweIMg
Content-Type: application/json

{"key": "CURRENT_CONFIG", "subkey": "CONFIG\\CurrentProject", "name": "StringValue"}

Read Boolean

POST /api/v1/registry/read/boolean

Read a boolean value from the registry.

Request parameters:

Name Type Value Description
id UUID Variadic. Registry key identifier. Takes priority over the Key and SubKey pair.
key STRING CURRENT_CONFIG, CURRENT_USER Variadic. Key name.
subkey STRING Variadic. Subkey name.
name STRING Required. Value name.

Response format:

Field Type Description
value BOOLEAN Value.

Example request:

POST /api/v1/registry/read/boolean HTTP/1.1
Host: localhost:8080
Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.[abbreviated for brevity].NorYsi-Ht826HUFCEArVZ60_dEUmYiJYXubnTyweIMg
Content-Type: application/json

{"key": "CURRENT_CONFIG", "subkey": "CONFIG\\CurrentProject", "name": "LogicValue"}

Endpoint Summary

Endpoint Method Description
/api/v1/registry/list POST List registry entries
/api/v1/registry/key POST Get registry keys
/api/v1/registry/value POST Get registry values
/api/v1/registry/get/key POST Get a specific key
/api/v1/registry/enum/key POST Enumerate subkeys at a path
/api/v1/registry/enum/value POST Enumerate values at a path
/api/v1/registry/write POST Write a typed value (generic)
/api/v1/registry/write/integer POST Write an integer
/api/v1/registry/write/numeric POST Write a numeric value
/api/v1/registry/write/datetime POST Write a date/time
/api/v1/registry/write/string POST Write a string
/api/v1/registry/write/boolean POST Write a boolean
/api/v1/registry/read POST Read a typed value (generic)
/api/v1/registry/read/integer POST Read an integer
/api/v1/registry/read/numeric POST Read a numeric value
/api/v1/registry/read/datetime POST Read a date/time
/api/v1/registry/read/string POST Read a string
/api/v1/registry/read/boolean POST Read a boolean

Value Types

Type Code Name PostgreSQL Type Description
0 Integer INTEGER Whole number
1 Numeric NUMERIC Arbitrary precision number (decimal)
2 DateTime TIMESTAMP Date and time
3 String STRING Text string
4 Boolean BOOLEAN Logical true/false

Clone this wiki locally