openapi: 3.1.1 info: title: VRt.Registry [RG] version: 7.33.3222 license: name: Proprietary url: https://veeroute.com/ termsOfService: https://veeroute.com/resources/terms_of_service contact: name: Veeroute Support Team email: support@veeroute.com x-logo: url: ../images/registry.svg backgroundColor: '#FAFAFA' altText: VRt.Registry description: 'Program interface for Veeroute Registry. # Description The service is designed to store settings. ## Entity diagram ![erd](../uml/registry.svg) ' servers: - url: https://api.edge7.veeroute.cloud description: Environment for integration and early access to the new features - url: https://api.prod7.veeroute.cloud description: Production environment security: - ApiKeyAuth: [] tags: - name: Explorer description: 'Virtual filesystem management. ' - name: Backups description: 'Bulk data export and import. ' - name: Configurations description: File configuration management. - name: System description: 'System functions. Auxiliary functionality common to all services. ' externalDocs: description: Veeroute company website url: https://veeroute.com/ paths: /registry/explorer: post: tags: - Explorer summary: Create folder description: Create new folder. operationId: create_folder x-process-type: TRACE requestBody: description: 'Request to create a folder. In the `parent_key` field, you must specify the key of the folder in which the new folder will be created. If `parent_key` is not specified, the folder is created in the root. ' required: true content: application/json: schema: $ref: '#/components/schemas/folder_specification' responses: '201': description: Successful execution content: application/json: schema: $ref: '#/components/schemas/unique_key' description: New folder key. '400': $ref: '#/components/responses/400' '401': $ref: '#/components/responses/401' '402': $ref: '#/components/responses/402' '403': $ref: '#/components/responses/403' '404': $ref: '#/components/responses/404' '405': $ref: '#/components/responses/405' '406': $ref: '#/components/responses/406' '415': $ref: '#/components/responses/415' '429': $ref: '#/components/responses/429' '500': $ref: '#/components/responses/500' '501': $ref: '#/components/responses/501' '502': $ref: '#/components/responses/502' '503': $ref: '#/components/responses/503' '504': $ref: '#/components/responses/504' default: $ref: '#/components/responses/503' get: tags: - Explorer summary: Getting a filesystem description: Getting a filesystem. operationId: read_filesystem x-process-type: NOTRACE parameters: - $ref: '#/components/parameters/folder_key' description: Parent folder key, if not specified - a list of root folders is returned - $ref: '#/components/parameters/filter' description: "Filter for searching by text fields - only those folders that\ \ contain a substring from the filter are returned:\n * in folder name\n\ \ * in folder comment\n" - $ref: '#/components/parameters/offset' - $ref: '#/components/parameters/limit' - $ref: '#/components/parameters/filesystem_column' - $ref: '#/components/parameters/sort_direction' responses: '200': description: Successful execution content: application/json: schema: $ref: '#/components/schemas/filesystem' examples: DataExplorer: $ref: '#/components/examples/DataExplorer' '400': $ref: '#/components/responses/400' '401': $ref: '#/components/responses/401' '402': $ref: '#/components/responses/402' '403': $ref: '#/components/responses/403' '404': $ref: '#/components/responses/404' '405': $ref: '#/components/responses/405' '406': $ref: '#/components/responses/406' '415': $ref: '#/components/responses/415' '429': $ref: '#/components/responses/429' '500': $ref: '#/components/responses/500' '501': $ref: '#/components/responses/501' '502': $ref: '#/components/responses/502' '503': $ref: '#/components/responses/503' '504': $ref: '#/components/responses/504' default: $ref: '#/components/responses/503' /registry/explorer/{target_folder_key}: put: tags: - Explorer summary: Update folder description: Rename and move folder. operationId: update_folder x-process-type: TRACE parameters: - $ref: '#/components/parameters/target_folder_key' requestBody: description: Folder update request. required: true content: application/json: schema: $ref: '#/components/schemas/folder_specification' responses: '200': description: Successful execution content: application/json: schema: $ref: '#/components/schemas/filesystem' examples: DataExplorer: $ref: '#/components/examples/DataExplorer' '400': $ref: '#/components/responses/400' '401': $ref: '#/components/responses/401' '402': $ref: '#/components/responses/402' '403': $ref: '#/components/responses/403' '404': $ref: '#/components/responses/404' '405': $ref: '#/components/responses/405' '406': $ref: '#/components/responses/406' '415': $ref: '#/components/responses/415' '429': $ref: '#/components/responses/429' '500': $ref: '#/components/responses/500' '501': $ref: '#/components/responses/501' '502': $ref: '#/components/responses/502' '503': $ref: '#/components/responses/503' '504': $ref: '#/components/responses/504' default: $ref: '#/components/responses/503' delete: tags: - Explorer summary: Folder removal description: Folder removal by key. operationId: delete_folder x-process-type: TRACE parameters: - $ref: '#/components/parameters/target_folder_key' responses: '204': description: Successful execution '400': $ref: '#/components/responses/400' '401': $ref: '#/components/responses/401' '402': $ref: '#/components/responses/402' '403': $ref: '#/components/responses/403' '404': $ref: '#/components/responses/404' '405': $ref: '#/components/responses/405' '406': $ref: '#/components/responses/406' '415': $ref: '#/components/responses/415' '429': $ref: '#/components/responses/429' '500': $ref: '#/components/responses/500' '501': $ref: '#/components/responses/501' '502': $ref: '#/components/responses/502' '503': $ref: '#/components/responses/503' '504': $ref: '#/components/responses/504' default: $ref: '#/components/responses/503' /registry/explorer/{target_folder_key}/specification: get: tags: - Explorer summary: Folder specification description: 'Getting a folder specification. ' operationId: read_folder_specification x-process-type: NOTRACE parameters: - $ref: '#/components/parameters/target_folder_key' responses: '200': description: Successful execution content: application/json: schema: $ref: '#/components/schemas/folder_specification' '400': $ref: '#/components/responses/400' '401': $ref: '#/components/responses/401' '402': $ref: '#/components/responses/402' '403': $ref: '#/components/responses/403' '404': $ref: '#/components/responses/404' '405': $ref: '#/components/responses/405' '406': $ref: '#/components/responses/406' '415': $ref: '#/components/responses/415' '429': $ref: '#/components/responses/429' '500': $ref: '#/components/responses/500' '501': $ref: '#/components/responses/501' '502': $ref: '#/components/responses/502' '503': $ref: '#/components/responses/503' '504': $ref: '#/components/responses/504' default: $ref: '#/components/responses/503' /registry/explorer/{target_folder_key}/path: get: tags: - Explorer summary: Folder path description: Folder path. operationId: read_folder_path x-process-type: NOTRACE parameters: - $ref: '#/components/parameters/target_folder_key' responses: '200': description: Successful execution content: application/json: schema: $ref: '#/components/schemas/filesystem_path' '400': $ref: '#/components/responses/400' '401': $ref: '#/components/responses/401' '402': $ref: '#/components/responses/402' '403': $ref: '#/components/responses/403' '404': $ref: '#/components/responses/404' '405': $ref: '#/components/responses/405' '406': $ref: '#/components/responses/406' '415': $ref: '#/components/responses/415' '429': $ref: '#/components/responses/429' '500': $ref: '#/components/responses/500' '501': $ref: '#/components/responses/501' '502': $ref: '#/components/responses/502' '503': $ref: '#/components/responses/503' '504': $ref: '#/components/responses/504' default: $ref: '#/components/responses/503' /registry/explorer/batch/folders: post: tags: - Explorer summary: Create folders (batch) description: Create new folder (batch). operationId: create_folders_batch x-process-type: TRACE requestBody: description: 'Request to create a group of folders from the root of the virtual file system. If any folder in the path already exists - it will not be created again. The method returns the key of the last folder, even if no folders were created. ' required: true content: application/json: schema: $ref: '#/components/schemas/folder_name_list' responses: '201': description: Successful execution content: application/json: schema: $ref: '#/components/schemas/unique_key' description: Last folder key. '400': $ref: '#/components/responses/400' '401': $ref: '#/components/responses/401' '402': $ref: '#/components/responses/402' '403': $ref: '#/components/responses/403' '404': $ref: '#/components/responses/404' '405': $ref: '#/components/responses/405' '406': $ref: '#/components/responses/406' '415': $ref: '#/components/responses/415' '429': $ref: '#/components/responses/429' '500': $ref: '#/components/responses/500' '501': $ref: '#/components/responses/501' '502': $ref: '#/components/responses/502' '503': $ref: '#/components/responses/503' '504': $ref: '#/components/responses/504' default: $ref: '#/components/responses/503' delete: tags: - Explorer summary: Folders removal (batch) description: Batch delete folders. operationId: delete_folders_batch x-process-type: TRACE requestBody: description: List of folder keys that need to be deleted. required: true content: application/json: schema: $ref: '#/components/schemas/unique_key_list' responses: '204': description: All folders were successfully deleted '400': $ref: '#/components/responses/400' '401': $ref: '#/components/responses/401' '402': $ref: '#/components/responses/402' '403': $ref: '#/components/responses/403' '404': $ref: '#/components/responses/404' '405': $ref: '#/components/responses/405' '406': $ref: '#/components/responses/406' '415': $ref: '#/components/responses/415' '429': $ref: '#/components/responses/429' '500': $ref: '#/components/responses/500' '501': $ref: '#/components/responses/501' '502': $ref: '#/components/responses/502' '503': $ref: '#/components/responses/503' '504': $ref: '#/components/responses/504' default: $ref: '#/components/responses/503' /registry/explorer/batch/folder-key: post: tags: - Explorer summary: Folder key description: Getting a folder key by path. operationId: read_folder_key x-process-type: TRACE requestBody: description: 'Request to get a folder key by path from the root of the virtual filesystem. If any folder in the path not exists - 404 will be returned. ' required: true content: application/json: schema: $ref: '#/components/schemas/folder_name_list' responses: '200': description: Successful execution content: application/json: schema: description: Last folder key. $ref: '#/components/schemas/unique_key' '400': $ref: '#/components/responses/400' '401': $ref: '#/components/responses/401' '402': $ref: '#/components/responses/402' '403': $ref: '#/components/responses/403' '404': $ref: '#/components/responses/404' '405': $ref: '#/components/responses/405' '406': $ref: '#/components/responses/406' '415': $ref: '#/components/responses/415' '429': $ref: '#/components/responses/429' '500': $ref: '#/components/responses/500' '501': $ref: '#/components/responses/501' '502': $ref: '#/components/responses/502' '503': $ref: '#/components/responses/503' '504': $ref: '#/components/responses/504' default: $ref: '#/components/responses/503' /registry/explorer/batch/files: get: tags: - Explorer summary: File key description: Getting a file key by path. operationId: read_file_key x-process-type: TRACE requestBody: description: 'Request to get a folder key by path from the root of the virtual filesystem. If in the folder multiple files with the same name - the last modified will be returned. If any folder or file in the path not exists - 404 will be returned. ' required: true content: application/json: schema: $ref: '#/components/schemas/file_name_path' responses: '201': description: Successful execution content: application/json: schema: description: File key. $ref: '#/components/schemas/unique_key' '400': $ref: '#/components/responses/400' '401': $ref: '#/components/responses/401' '402': $ref: '#/components/responses/402' '403': $ref: '#/components/responses/403' '404': $ref: '#/components/responses/404' '405': $ref: '#/components/responses/405' '406': $ref: '#/components/responses/406' '415': $ref: '#/components/responses/415' '429': $ref: '#/components/responses/429' '500': $ref: '#/components/responses/500' '501': $ref: '#/components/responses/501' '502': $ref: '#/components/responses/502' '503': $ref: '#/components/responses/503' '504': $ref: '#/components/responses/504' default: $ref: '#/components/responses/503' delete: tags: - Explorer summary: Files removal (batch) description: Batch delete files. operationId: delete_files_batch x-process-type: TRACE requestBody: description: List of file's keys that need to be deleted. required: true content: application/json: schema: $ref: '#/components/schemas/unique_key_list' responses: '204': description: All folders were successfully deleted '400': $ref: '#/components/responses/400' '401': $ref: '#/components/responses/401' '402': $ref: '#/components/responses/402' '403': $ref: '#/components/responses/403' '404': $ref: '#/components/responses/404' '405': $ref: '#/components/responses/405' '406': $ref: '#/components/responses/406' '415': $ref: '#/components/responses/415' '429': $ref: '#/components/responses/429' '500': $ref: '#/components/responses/500' '501': $ref: '#/components/responses/501' '502': $ref: '#/components/responses/502' '503': $ref: '#/components/responses/503' '504': $ref: '#/components/responses/504' default: $ref: '#/components/responses/503' /registry/explorer/batch/counters: get: tags: - Explorer summary: Filesystem counters description: Getting a virtual filesystem counters. operationId: read_filesystem_counters x-process-type: NOTRACE responses: '200': description: Successful execution content: application/json: schema: $ref: '#/components/schemas/filesystem_counters' '400': $ref: '#/components/responses/400' '401': $ref: '#/components/responses/401' '402': $ref: '#/components/responses/402' '403': $ref: '#/components/responses/403' '404': $ref: '#/components/responses/404' '405': $ref: '#/components/responses/405' '406': $ref: '#/components/responses/406' '415': $ref: '#/components/responses/415' '429': $ref: '#/components/responses/429' '500': $ref: '#/components/responses/500' '501': $ref: '#/components/responses/501' '502': $ref: '#/components/responses/502' '503': $ref: '#/components/responses/503' '504': $ref: '#/components/responses/504' default: $ref: '#/components/responses/503' /registry/backups/{target_folder_key}: post: tags: - Backups summary: Folder export description: 'Export folder with experiments. ' operationId: create_backup x-process-type: TRACE parameters: - $ref: '#/components/parameters/target_folder_key' responses: '200': description: Data export completed successfully content: application/octet-stream: schema: $ref: '#/components/schemas/file_zip' '400': $ref: '#/components/responses/400' '401': $ref: '#/components/responses/401' '402': $ref: '#/components/responses/402' '403': $ref: '#/components/responses/403' '404': $ref: '#/components/responses/404' '405': $ref: '#/components/responses/405' '406': $ref: '#/components/responses/406' '415': $ref: '#/components/responses/415' '429': $ref: '#/components/responses/429' '500': $ref: '#/components/responses/500' '501': $ref: '#/components/responses/501' '502': $ref: '#/components/responses/502' '503': $ref: '#/components/responses/503' '504': $ref: '#/components/responses/504' default: $ref: '#/components/responses/503' put: tags: - Backups summary: Folder import description: 'Import folder with experiments. The folder should not be of type ROOT and should be empty. ' operationId: restore_backup x-process-type: TRACE parameters: - $ref: '#/components/parameters/target_folder_key' requestBody: description: Data (ZIP). required: true content: application/octet-stream: schema: $ref: '#/components/schemas/file_zip' responses: '200': description: Data import completed successfully '400': $ref: '#/components/responses/400' '401': $ref: '#/components/responses/401' '402': $ref: '#/components/responses/402' '403': $ref: '#/components/responses/403' '404': $ref: '#/components/responses/404' '405': $ref: '#/components/responses/405' '406': $ref: '#/components/responses/406' '415': $ref: '#/components/responses/415' '429': $ref: '#/components/responses/429' '500': $ref: '#/components/responses/500' '501': $ref: '#/components/responses/501' '502': $ref: '#/components/responses/502' '503': $ref: '#/components/responses/503' '504': $ref: '#/components/responses/504' default: $ref: '#/components/responses/503' /registry/configurations: post: tags: - Configurations summary: Create configuration description: Create new configuration file. operationId: create_configuration x-process-type: TRACE requestBody: description: file create request. required: true content: application/json: schema: $ref: '#/components/schemas/file_specification' responses: '201': description: Successful execution content: application/json: schema: description: New configuration file key. $ref: '#/components/schemas/unique_key' '400': $ref: '#/components/responses/400' '401': $ref: '#/components/responses/401' '402': $ref: '#/components/responses/402' '403': $ref: '#/components/responses/403' '404': $ref: '#/components/responses/404' '405': $ref: '#/components/responses/405' '406': $ref: '#/components/responses/406' '415': $ref: '#/components/responses/415' '429': $ref: '#/components/responses/429' '500': $ref: '#/components/responses/500' '501': $ref: '#/components/responses/501' '502': $ref: '#/components/responses/502' '503': $ref: '#/components/responses/503' '504': $ref: '#/components/responses/504' default: $ref: '#/components/responses/503' /registry/configurations/{file_key}: get: tags: - Configurations summary: Reading configuration description: Getting configuration file by key. operationId: read_configuration x-process-type: NOTRACE parameters: - $ref: '#/components/parameters/file_key' responses: '200': description: Successful execution content: application/json: schema: $ref: '#/components/schemas/configuration' examples: file: $ref: '#/components/examples/Configuration' '400': $ref: '#/components/responses/400' '401': $ref: '#/components/responses/401' '402': $ref: '#/components/responses/402' '403': $ref: '#/components/responses/403' '404': $ref: '#/components/responses/404' '405': $ref: '#/components/responses/405' '406': $ref: '#/components/responses/406' '415': $ref: '#/components/responses/415' '429': $ref: '#/components/responses/429' '500': $ref: '#/components/responses/500' '501': $ref: '#/components/responses/501' '502': $ref: '#/components/responses/502' '503': $ref: '#/components/responses/503' '504': $ref: '#/components/responses/504' default: $ref: '#/components/responses/503' put: tags: - Configurations summary: Specification update description: Rename \ move configuration. operationId: update_configuration_specification x-process-type: TRACE parameters: - $ref: '#/components/parameters/file_key' requestBody: description: Configuration specification update request. required: true content: application/json: schema: $ref: '#/components/schemas/file_specification' responses: '200': description: Successful execution content: application/json: schema: $ref: '#/components/schemas/configuration' examples: file: $ref: '#/components/examples/Configuration' '400': $ref: '#/components/responses/400' '401': $ref: '#/components/responses/401' '402': $ref: '#/components/responses/402' '403': $ref: '#/components/responses/403' '404': $ref: '#/components/responses/404' '405': $ref: '#/components/responses/405' '406': $ref: '#/components/responses/406' '415': $ref: '#/components/responses/415' '429': $ref: '#/components/responses/429' '500': $ref: '#/components/responses/500' '501': $ref: '#/components/responses/501' '502': $ref: '#/components/responses/502' '503': $ref: '#/components/responses/503' '504': $ref: '#/components/responses/504' default: $ref: '#/components/responses/503' delete: tags: - Configurations summary: Configuration removal description: Configuration removal by key. operationId: delete_configuration x-process-type: TRACE parameters: - $ref: '#/components/parameters/file_key' responses: '204': description: Successful execution '400': $ref: '#/components/responses/400' '401': $ref: '#/components/responses/401' '402': $ref: '#/components/responses/402' '403': $ref: '#/components/responses/403' '404': $ref: '#/components/responses/404' '405': $ref: '#/components/responses/405' '406': $ref: '#/components/responses/406' '415': $ref: '#/components/responses/415' '429': $ref: '#/components/responses/429' '500': $ref: '#/components/responses/500' '501': $ref: '#/components/responses/501' '502': $ref: '#/components/responses/502' '503': $ref: '#/components/responses/503' '504': $ref: '#/components/responses/504' default: $ref: '#/components/responses/503' /registry/configurations/{file_key}/schema: get: tags: - Configurations summary: Schema read description: Schema read. operationId: read_configuration_schema x-process-type: TRACE parameters: - $ref: '#/components/parameters/file_key' responses: '200': description: Successful execution content: application/json: schema: $ref: '#/components/schemas/configuration_json_schema' '400': $ref: '#/components/responses/400' '401': $ref: '#/components/responses/401' '402': $ref: '#/components/responses/402' '403': $ref: '#/components/responses/403' '404': $ref: '#/components/responses/404' '405': $ref: '#/components/responses/405' '406': $ref: '#/components/responses/406' '415': $ref: '#/components/responses/415' '429': $ref: '#/components/responses/429' '500': $ref: '#/components/responses/500' '501': $ref: '#/components/responses/501' '502': $ref: '#/components/responses/502' '503': $ref: '#/components/responses/503' '504': $ref: '#/components/responses/504' default: $ref: '#/components/responses/503' put: tags: - Configurations summary: Schema update description: Schema update. operationId: update_configuration_schema x-process-type: TRACE parameters: - $ref: '#/components/parameters/file_key' requestBody: description: Configuration schema update request. required: true content: application/json: schema: $ref: '#/components/schemas/configuration_json_schema' responses: '200': description: Successful execution '400': $ref: '#/components/responses/400' '401': $ref: '#/components/responses/401' '402': $ref: '#/components/responses/402' '403': $ref: '#/components/responses/403' '404': $ref: '#/components/responses/404' '405': $ref: '#/components/responses/405' '406': $ref: '#/components/responses/406' '415': $ref: '#/components/responses/415' '429': $ref: '#/components/responses/429' '500': $ref: '#/components/responses/500' '501': $ref: '#/components/responses/501' '502': $ref: '#/components/responses/502' '503': $ref: '#/components/responses/503' '504': $ref: '#/components/responses/504' default: $ref: '#/components/responses/503' /registry/configurations/{file_key}/content: get: tags: - Configurations summary: Content read description: Content read. operationId: read_configuration_content x-process-type: TRACE parameters: - $ref: '#/components/parameters/file_key' responses: '200': description: Successful execution content: application/json: schema: $ref: '#/components/schemas/configuration_content' '400': $ref: '#/components/responses/400' '401': $ref: '#/components/responses/401' '402': $ref: '#/components/responses/402' '403': $ref: '#/components/responses/403' '404': $ref: '#/components/responses/404' '405': $ref: '#/components/responses/405' '406': $ref: '#/components/responses/406' '415': $ref: '#/components/responses/415' '429': $ref: '#/components/responses/429' '500': $ref: '#/components/responses/500' '501': $ref: '#/components/responses/501' '502': $ref: '#/components/responses/502' '503': $ref: '#/components/responses/503' '504': $ref: '#/components/responses/504' default: $ref: '#/components/responses/503' put: tags: - Configurations summary: Content update description: Content update. operationId: update_configuration_content x-process-type: TRACE parameters: - $ref: '#/components/parameters/file_key' requestBody: description: Configuration content update request. required: true content: application/json: schema: $ref: '#/components/schemas/configuration_content' responses: '200': description: Successful execution '400': $ref: '#/components/responses/400' '401': $ref: '#/components/responses/401' '402': $ref: '#/components/responses/402' '403': $ref: '#/components/responses/403' '404': $ref: '#/components/responses/404' '405': $ref: '#/components/responses/405' '406': $ref: '#/components/responses/406' '415': $ref: '#/components/responses/415' '429': $ref: '#/components/responses/429' '500': $ref: '#/components/responses/500' '501': $ref: '#/components/responses/501' '502': $ref: '#/components/responses/502' '503': $ref: '#/components/responses/503' '504': $ref: '#/components/responses/504' default: $ref: '#/components/responses/503' /registry/configurations/batch/table: get: tags: - Configurations summary: Configurations list (table) description: Getting a table with configuration. operationId: read_configurations_table x-process-type: NOTRACE parameters: - $ref: '#/components/parameters/folder_key' - $ref: '#/components/parameters/filter' description: 'Filter for searching by text fields - only those files are returned whose name or description contains a substring from the filter. If the filter is empty, all files in the folder are returned. The results are sorted by editing time. ' - $ref: '#/components/parameters/offset' - $ref: '#/components/parameters/limit' - $ref: '#/components/parameters/table_configuration_column' - $ref: '#/components/parameters/sort_direction' responses: '200': description: Successful execution content: application/json: schema: $ref: '#/components/schemas/table_configuration_list' examples: TableConfigurationList: $ref: '#/components/examples/TableConfigurationList' '400': $ref: '#/components/responses/400' '401': $ref: '#/components/responses/401' '402': $ref: '#/components/responses/402' '403': $ref: '#/components/responses/403' '404': $ref: '#/components/responses/404' '405': $ref: '#/components/responses/405' '406': $ref: '#/components/responses/406' '415': $ref: '#/components/responses/415' '429': $ref: '#/components/responses/429' '500': $ref: '#/components/responses/500' '501': $ref: '#/components/responses/501' '502': $ref: '#/components/responses/502' '503': $ref: '#/components/responses/503' '504': $ref: '#/components/responses/504' default: $ref: '#/components/responses/503' /registry/configurations/batch/search: get: tags: - Configurations summary: Configuration search description: Configuration global search. operationId: search_configurations x-process-type: NOTRACE parameters: - $ref: '#/components/parameters/filter_required' description: 'Filter for searching by text fields - only those configurations are returned whose name or description contains a substring from the filter. If the filter is empty, an empty list is returned. By default the results are sorted by editing time. ' - $ref: '#/components/parameters/offset' - $ref: '#/components/parameters/limit' - $ref: '#/components/parameters/table_configuration_column' - $ref: '#/components/parameters/sort_direction' responses: '200': description: Successful execution content: application/json: schema: $ref: '#/components/schemas/table_configuration_list' examples: TableConfigurationList: $ref: '#/components/examples/TableConfigurationList' '400': $ref: '#/components/responses/400' '401': $ref: '#/components/responses/401' '402': $ref: '#/components/responses/402' '403': $ref: '#/components/responses/403' '404': $ref: '#/components/responses/404' '405': $ref: '#/components/responses/405' '406': $ref: '#/components/responses/406' '415': $ref: '#/components/responses/415' '429': $ref: '#/components/responses/429' '500': $ref: '#/components/responses/500' '501': $ref: '#/components/responses/501' '502': $ref: '#/components/responses/502' '503': $ref: '#/components/responses/503' '504': $ref: '#/components/responses/504' default: $ref: '#/components/responses/503' /registry/configurations/{file_key}/actions/duplicate: post: tags: - Configurations summary: Configuration duplicate description: Configuration duplicate. operationId: duplicate_configuration x-process-type: TRACE parameters: - $ref: '#/components/parameters/file_key' requestBody: description: Configuration duplicate request. required: true content: application/json: schema: description: Parameters of the new configuration that will result from duplication. $ref: '#/components/schemas/file_specification' responses: '201': description: Successful execution content: application/json: schema: description: Duplicated configuration key. $ref: '#/components/schemas/unique_key' '400': $ref: '#/components/responses/400' '401': $ref: '#/components/responses/401' '402': $ref: '#/components/responses/402' '403': $ref: '#/components/responses/403' '404': $ref: '#/components/responses/404' '405': $ref: '#/components/responses/405' '406': $ref: '#/components/responses/406' '415': $ref: '#/components/responses/415' '429': $ref: '#/components/responses/429' '500': $ref: '#/components/responses/500' '501': $ref: '#/components/responses/501' '502': $ref: '#/components/responses/502' '503': $ref: '#/components/responses/503' '504': $ref: '#/components/responses/504' default: $ref: '#/components/responses/503' /registry/system/check: get: tags: - System summary: Checking the availability description: Checking the service availability. operationId: check x-process-type: NOTRACE security: [] responses: '200': description: Successful execution content: application/json: schema: $ref: '#/components/schemas/check_result' '404': $ref: '#/components/responses/404' '405': $ref: '#/components/responses/405' '406': $ref: '#/components/responses/406' '415': $ref: '#/components/responses/415' '429': $ref: '#/components/responses/429' '500': $ref: '#/components/responses/500' '501': $ref: '#/components/responses/501' '502': $ref: '#/components/responses/502' '503': $ref: '#/components/responses/503' '504': $ref: '#/components/responses/504' default: $ref: '#/components/responses/503' /registry/system/version: get: tags: - System summary: Getting the service version description: Getting the service version. operationId: version x-process-type: NOTRACE security: [] responses: '200': description: Successful execution content: application/json: schema: $ref: '#/components/schemas/version_result' '404': $ref: '#/components/responses/404' '405': $ref: '#/components/responses/405' '406': $ref: '#/components/responses/406' '415': $ref: '#/components/responses/415' '429': $ref: '#/components/responses/429' '500': $ref: '#/components/responses/500' '501': $ref: '#/components/responses/501' '502': $ref: '#/components/responses/502' '503': $ref: '#/components/responses/503' '504': $ref: '#/components/responses/504' default: $ref: '#/components/responses/503' /registry/file/{filename}: get: tags: - System summary: Getting the documentation description: Getting the file with this service documentation. operationId: file x-process-type: NOTRACE security: [] parameters: - $ref: '#/components/parameters/filename' responses: '200': description: Successful execution content: text/html: schema: $ref: '#/components/schemas/file_html' text/plain: schema: $ref: '#/components/schemas/file_json' '404': $ref: '#/components/responses/404' '405': $ref: '#/components/responses/405' '406': $ref: '#/components/responses/406' '415': $ref: '#/components/responses/415' '429': $ref: '#/components/responses/429' '500': $ref: '#/components/responses/500' '501': $ref: '#/components/responses/501' '502': $ref: '#/components/responses/502' '503': $ref: '#/components/responses/503' '504': $ref: '#/components/responses/504' default: $ref: '#/components/responses/503' components: securitySchemes: ApiKeyAuth: description: "For client [authentication](https://developer.mozilla.org/en-US/docs/Web/HTTP/Authentication)\ \ \n[JWT token](https://en.wikipedia.org/wiki/JSON_Web_Token) is used,\nwhich\ \ must be specified in the header for each request in the format:\n\n`Authorization:\ \ Bearer `.\n\nToken can be obtained via VRt.Account API.\n" type: http scheme: bearer bearerFormat: JWT schemas: unique_key: description: Key, unique identifier. type: string format: uuid example: 11111111-2222-3333-4444-555555555555 filesystem_column_type: description: 'The name of the column in the table with folders. ' type: string enum: - NAME - OWNER_COMPANY_KEY - OWNER_USERNAME - CREATION_DATE - EXPIRATION_DATE - FOLDERS_COUNT - FILES_COUNT default: NAME example: CREATION_DATE folder_type: description: "Element type:\n * `ROOT` - root object\n * `FOLDER` - folder\n" type: string enum: - ROOT - FOLDER example: FOLDER folder_parent_key: description: Parent folder key, `null` if the folder is root. type: - string - 'null' format: uuid example: 11111111-2222-3333-4444-555555555555 folder_name: description: Folder name. type: string minLength: 1 maxLength: 100 example: folder_1 folder_comment: description: Folder comment. type: - string - 'null' default: null minLength: 0 maxLength: 10000 example: long long long long text folder_color: description: Folder color. type: - string - 'null' default: null minLength: 1 maxLength: 20 example: red attribute: description: Attribute. type: object additionalProperties: false properties: key: description: Attribute's key. type: string minLength: 1 maxLength: 100 example: code value: description: Attribute's value. type: string minLength: 0 maxLength: 7000 example: X51 required: - key - value attributes: description: Attributes. Used to add service information. type: array uniqueItems: true minItems: 0 maxItems: 250 items: $ref: '#/components/schemas/attribute' default: [] company_key_null: description: Unique company key. type: - string - 'null' format: string pattern: \w+ default: null minLength: 3 maxLength: 256 example: smart_company user_username_null: description: Unique username for login. type: - string - 'null' pattern: \w+ default: null minLength: 2 maxLength: 256 example: username_for_login folder_expiration_date: description: 'Date and time of automatic deletion in the [ISO 8601](https://tools.ietf.org/html/rfc3339#section-5.6) format. Null means that automatic deletion does not occur. ' type: - string - 'null' default: null format: date-time example: '2026-04-21T19:45:00Z' folder_counters: description: 'Current folder counters. ' type: object additionalProperties: false properties: folders_count: description: The number of subfolders. type: integer format: int32 minimum: 0 maximum: 100000 example: 12 files_count: description: The number of files. type: integer format: int32 minimum: 0 maximum: 100000 example: 16 required: - folders_count - files_count folder: description: 'Folder is an element of a virtual file system. ' type: object additionalProperties: false properties: key: $ref: '#/components/schemas/unique_key' type: $ref: '#/components/schemas/folder_type' parent_key: $ref: '#/components/schemas/folder_parent_key' name: $ref: '#/components/schemas/folder_name' comment: $ref: '#/components/schemas/folder_comment' color: $ref: '#/components/schemas/folder_color' attributes: $ref: '#/components/schemas/attributes' owner_company_key: description: The key of the company that owns the folder, the system root folder does not contain an owner. $ref: '#/components/schemas/company_key_null' owner_username: description: Folder owner, the system root folder does not contain an owner. $ref: '#/components/schemas/user_username_null' creation_date: description: 'Creation date and time in the [ISO 8601](https://tools.ietf.org/html/rfc3339#section-5.6) format. ' type: - string - 'null' default: null format: date-time example: '2026-04-21T19:45:00Z' expiration_date: $ref: '#/components/schemas/folder_expiration_date' counters: $ref: '#/components/schemas/folder_counters' required: - key - type - name - counters table_list_counters_detail: description: Detail counters by list. type: object additionalProperties: false properties: total: description: Count. type: integer format: int32 minimum: 0 maximum: 100000 example: 1 required: - total table_list_counters: description: Counters by list. type: object additionalProperties: false properties: overall: $ref: '#/components/schemas/table_list_counters_detail' description: General statistics, does not depend on the filter. filter: $ref: '#/components/schemas/table_list_counters_detail' description: Filtered statistics. required: - overall - filter filesystem: description: 'Virtual filesystem. ' type: object additionalProperties: false properties: current_folder: $ref: '#/components/schemas/folder' folders: description: List of folders. type: array uniqueItems: false minItems: 0 maxItems: 2001 items: $ref: '#/components/schemas/folder' counters: $ref: '#/components/schemas/table_list_counters' required: - current_folder - folders - counters process_code: description: 'Unique process identifier. One is created per process, the same for different requests for the same process. ' type: string format: uuid example: 11111111-2222-3333-4444-555555555555 request_code: description: 'Unique identifier of the request. A new one is created for each request. ' type: string format: uuid example: aaaaaaaa-bbbb-cccc-dddd-eeeeeeeeeeee user_username: description: Unique username for login. type: string pattern: \w+ minLength: 2 maxLength: 256 example: username_for_login company_key: description: Unique company key. type: string pattern: \w+ minLength: 3 maxLength: 256 example: smart_company service: description: Service name. type: string enum: - UNIVERSAL - ROUTING - ACCOUNT - ADMIN - STUDIO - MONITOR - PACKER - AGRO - REGISTRY - SUPPORT example: UNIVERSAL operation: description: Operation (request) name. type: string pattern: \w+ minLength: 3 maxLength: 256 example: run_plan_calculation tracedata: description: Data for request tracing. type: object additionalProperties: false properties: process_code: $ref: '#/components/schemas/process_code' request_code: $ref: '#/components/schemas/request_code' username: $ref: '#/components/schemas/user_username' company: $ref: '#/components/schemas/company_key' service: $ref: '#/components/schemas/service' operation: $ref: '#/components/schemas/operation' env: description: Environment identifier. type: string pattern: \S+ minLength: 2 maxLength: 256 example: edge7 pod: description: Pod identifier. type: string pattern: \S+ minLength: 2 maxLength: 256 example: 11111111-2222-3333-4444-555555555555 time: description: Date and time service method run in the [ISO 8601](https://tools.ietf.org/html/rfc3339#section-5.6) format. type: string format: date-time example: '2026-04-21T09:30:00+03:00' required: - process_code - request_code - username - company - service - operation - env - pod - time error_message: description: Error message. type: - string - 'null' default: null minLength: 1 maxLength: 2048 example: bad data schema_error: description: Data error by schema. type: object additionalProperties: false properties: entity: description: Target entity identifier. type: - string - 'null' minLength: 1 maxLength: 1024 example: order_0001 message: description: Error message. type: string minLength: 1 maxLength: 2048 example: bad input data required: - entity - message schema_error_list: description: List of syntax errors - data does not match the schema. type: array uniqueItems: false minItems: 0 maxItems: 15001 items: $ref: '#/components/schemas/schema_error' default: [] general_400: description: Error details for 400 `Bad Request`. type: object additionalProperties: false properties: tracedata: $ref: '#/components/schemas/tracedata' message: $ref: '#/components/schemas/error_message' schema_errors: $ref: '#/components/schemas/schema_error_list' required: - tracedata general_402: description: Error details for 402 `Payment Required`. type: object additionalProperties: false properties: tracedata: $ref: '#/components/schemas/tracedata' message: $ref: '#/components/schemas/error_message' required: - tracedata general_403: description: Error details for 403 `Forbidden`. type: object additionalProperties: false properties: tracedata: $ref: '#/components/schemas/tracedata' message: $ref: '#/components/schemas/error_message' required: - tracedata general_404_detail: description: Resource details. type: object additionalProperties: false properties: tracedata: $ref: '#/components/schemas/tracedata' required: - tracedata nullable: description: Null value. type: 'null' general_404: description: 404 Error details. type: object additionalProperties: false properties: resource_key: description: Resource identifier. type: - string - 'null' default: null minLength: 1 maxLength: 1024 example: resource_key_one detail: description: Resource details if possible. oneOf: - $ref: '#/components/schemas/general_404_detail' - $ref: '#/components/schemas/nullable' default: null general_429: description: Error details for 429 `Too Many Requests`. type: object additionalProperties: false properties: tracedata: $ref: '#/components/schemas/tracedata' message: $ref: '#/components/schemas/error_message' required: - tracedata general_500: description: Error details for 500 `Internal Server Error`. type: object additionalProperties: false properties: tracedata: $ref: '#/components/schemas/tracedata' message: $ref: '#/components/schemas/error_message' required: - tracedata folder_specification: description: Folder specification. type: object additionalProperties: false properties: parent_key: $ref: '#/components/schemas/folder_parent_key' name: $ref: '#/components/schemas/folder_name' comment: $ref: '#/components/schemas/folder_comment' color: $ref: '#/components/schemas/folder_color' expiration_date: $ref: '#/components/schemas/folder_expiration_date' attributes: $ref: '#/components/schemas/attributes' required: - name filesystem_path: description: 'Path from file/folder to the root of the virtual file system. ' type: object additionalProperties: false properties: folders: description: List of folders. type: array uniqueItems: false minItems: 0 maxItems: 1000 items: $ref: '#/components/schemas/folder' required: - folders folder_name_list: description: List of folder names from the root of the virtual filesystem. type: array uniqueItems: false minItems: 0 maxItems: 10 items: $ref: '#/components/schemas/folder_name' default: [] unique_key_list: description: A list of unique keys. type: array uniqueItems: false minItems: 0 maxItems: 15001 items: $ref: '#/components/schemas/unique_key' default: [] file_name: description: File name. type: string minLength: 1 maxLength: 100 example: file_1 file_name_path: description: 'The path from the root of the virtual file system to the file in the form of folder and file names. ' type: object additionalProperties: false properties: folder_names: $ref: '#/components/schemas/folder_name_list' file_name: $ref: '#/components/schemas/file_name' required: - folder_names - file_name filesystem_counters: description: 'Counters across the entire virtual file system. ' type: object additionalProperties: false properties: current: $ref: '#/components/schemas/folder_counters' description: Current number of available folders/files. max: $ref: '#/components/schemas/folder_counters' description: Max number of available folders/files. required: - current - max file_zip: description: ZIP archive with data. type: string format: byte file_comment: description: File comment. type: - string - 'null' default: null minLength: 0 maxLength: 10000 example: long long long long text file_specification: description: File specification. type: object additionalProperties: false properties: name: $ref: '#/components/schemas/file_name' comment: $ref: '#/components/schemas/file_comment' folder_key: description: The key of the folder of type `FOLDER` in which the file is located. $ref: '#/components/schemas/unique_key' required: - name - comment - folder_key configuration_content: description: Settings in [JSON](https://www.json.org/) format. type: string minLength: 0 maxLength: 2000000 example: '{"long json"}' configuration_json_schema: description: Schema for validating content (settings) in [JSON Schema](https://json-schema.org/) format. type: - string - 'null' minLength: 0 maxLength: 2000000 example: '{"$schema":"https://json-schema.org/draft/2020-12/schema", "type":"object", "additionalProperties":true}' file_edit_date: description: 'Last file edit date and time in the [ISO 8601](https://tools.ietf.org/html/rfc3339#section-5.6) format. ' type: string format: date-time example: '2026-04-21T19:45:00Z' file_creation_date: description: 'File creation date and time in the [ISO 8601](https://tools.ietf.org/html/rfc3339#section-5.6) format. ' type: string format: date-time example: '2026-04-21T19:45:00Z' configuration: description: Configuration file. type: object additionalProperties: false properties: key: $ref: '#/components/schemas/unique_key' specification: $ref: '#/components/schemas/file_specification' content: $ref: '#/components/schemas/configuration_content' json_schema: $ref: '#/components/schemas/configuration_json_schema' edit_date: $ref: '#/components/schemas/file_edit_date' creation_date: $ref: '#/components/schemas/file_creation_date' required: - key - specification - content - json_schema - edit_date - creation_date table_configuration_column_type: description: "Column name in the table with waves:\n * `ESSENCE_KEY` - configuration\ \ key\n" type: string enum: - ESSENCE_KEY - CREATION_DATE - EDIT_DATE - SPECIFICATION_NAME - SPECIFICATION_COMMENT - SPECIFICATION_FOLDER_KEY default: SPECIFICATION_NAME example: SPECIFICATION_FOLDER_KEY table_configuration: description: Configuration (table). type: object additionalProperties: false readOnly: true properties: essence_key: $ref: '#/components/schemas/unique_key' specification: $ref: '#/components/schemas/file_specification' edit_date: $ref: '#/components/schemas/file_edit_date' creation_date: $ref: '#/components/schemas/file_creation_date' required: - essence_key - specification - edit_date - creation_date table_configuration_list: description: A list of configurations (table). type: object additionalProperties: false properties: essences: description: A list of configurations. type: array uniqueItems: false minItems: 0 maxItems: 2001 items: $ref: '#/components/schemas/table_configuration' counters: $ref: '#/components/schemas/table_list_counters' required: - essences - counters check_result: description: Service availability result. type: object additionalProperties: false properties: health: description: "The current health indicator of the service.\n * `0.0` means\ \ the service is not ready to perform tasks.\n * `1.0` means the service\ \ is fully ready to perform tasks.\n" type: number format: double minimum: 0 maximum: 1 example: 0.999 required: - health version_result: description: Service version. type: object additionalProperties: false properties: major: description: 'Product version. Within a single version, compatibility of common data structures between services is guaranteed. A version change indicates changes that are incompatible with previous versions of the product (and all services). ' type: integer format: int32 minimum: 1 maximum: 100 example: 7 minor: description: 'Minor version of the service. A version change indicates new functionality. The update is backward compatible with the major version of the service. ' type: integer format: int32 minimum: 0 maximum: 111 example: 15 build: description: "Build version. \nContains backwards compatible bug fixes\ \ and docs update.\n" type: string minLength: 1 maxLength: 64 example: 3754RC required: - major - minor - build file_html: description: File with data in [HTML](https://html.spec.whatwg.org/) format. type: string minLength: 0 maxLength: 2000000000 file_json: description: File with data in [JSON](https://www.json.org/) format. type: string minLength: 0 maxLength: 2000000000 parameters: folder_key: name: folder_key description: Folder key, unique identifier. in: query required: false schema: $ref: '#/components/schemas/unique_key' filter: name: filter description: Filter for searching by text fields. in: query required: false schema: description: Filter for searching by text fields. type: string minLength: 1 maxLength: 64 example: example text offset: name: offset description: The number of items to skip before starting to collect the result set. in: query required: false schema: description: The number of items to skip before starting to collect the result set. type: integer format: int32 minimum: 0 maximum: 10000000 default: 0 example: 10 limit: name: limit description: The number of items to return. in: query required: false schema: description: The number of items to return. type: integer format: int32 minimum: 1 maximum: 2001 default: 100 example: 10 filesystem_column: name: sort_field description: 'The name of the column in the table with folders. ' in: query required: false schema: $ref: '#/components/schemas/filesystem_column_type' sort_direction: name: sort_direction description: Sort direction. in: query required: false schema: description: Sort direction. type: string enum: - ASC - DESC default: ASC example: DESC target_folder_key: name: target_folder_key description: Folder key, unique identifier. in: path required: true schema: $ref: '#/components/schemas/unique_key' file_key: name: file_key description: File key, unique identifier. in: path required: true schema: $ref: '#/components/schemas/unique_key' table_configuration_column: name: sort_field description: 'Configuration table column name. ' in: query required: false schema: $ref: '#/components/schemas/table_configuration_column_type' filter_required: name: filter description: String for searching by text fields. in: query required: true schema: description: String for searching by text fields. type: string minLength: 3 maxLength: 128 example: example text filename: name: filename description: File name. in: path required: true schema: description: File name. type: string minLength: 6 maxLength: 128 example: file_en.html responses: '400': description: Bad request - input data contains errors content: application/json: schema: $ref: '#/components/schemas/general_400' '401': description: Unauthorized - incorrect authorization details, token is missing or invalid '402': description: Payment Required content: application/json: schema: $ref: '#/components/schemas/general_402' '403': description: Forbidden - no permission to execute this operation content: application/json: schema: $ref: '#/components/schemas/general_403' '404': description: Not found content: application/json: schema: $ref: '#/components/schemas/general_404' '405': description: Method not allowed, check method (POST, GET, ...) '406': description: Client is unable to process a format of response, check headers '415': description: Unsupported media type, check headers '429': description: Too many requests content: application/json: schema: $ref: '#/components/schemas/general_429' '500': description: Internal server error content: application/json: schema: $ref: '#/components/schemas/general_500' '501': description: Not implemented '502': description: Bad gateway '503': description: Service unavailable '504': description: Gateway timeout examples: DataExplorer: summary: Virtual filesystem example value: folders: - key: 2bff0b86-2ddc-445c-9d98-f75ca2eec091 parent_key: 65fb88e5-128d-4f3f-9a50-4c2754adcbed name: My Folder owner_company_key: veeroute owner_username: username_1 comment: long text counters: folders_count: 0 files_count: 3 counters: overall: total: 20 filter: total: 1 Configuration: summary: Configuration example value: key: da4e62b0-86cb-4423-b187-5c1a433ca703 specification: name: new-cfg-5 comment: just run it folder_key: 2bff0b86-2ddc-445c-9d98-f75ca2ee4091 content: '{}' json_schema: '{''$schema'': ''https://json-schema.org/draft/2020-12/schema''}' edit_date: '2026-04-15T13:56:07.728Z' creation_date: '2026-04-15T13:56:07.728Z' TableConfigurationList: summary: Configurations list (table) value: essences: - essence_key: da4e62b0-86cb-4423-b187-5c1a433ca703 specification: name: new-cfg-5 comment: just run it folder_key: 2bff0b86-2ddc-445c-9d98-f75ca2ee4091 edit_date: '2026-04-15T13:56:07.728Z' creation_date: '2026-04-15T13:56:07.728Z' counters: overall: total: 1 filter: total: 1 x-tagGroups: - name: Filesystem tags: - Explorer - Backups - name: Configuration Files tags: - Configurations - name: Maintenance tags: - System