openapi: 3.2.0 info: title: Tttech NODE API contact: name: Nerve support email: support@tttech-industrial.com version: '1.0' description: 'Operations tagged NODE across 2 of this provider''s published API definitions: tttech-nerve-management-system-openapi-original.json, tttech-nerve-node-openapi-original.json. Each path carries the servers of the definition it was published in.' servers: - url: https://trynerve1.nerve.cloud tags: - name: Node description: The operations to manage nodes v1. paths: /nerve/workload/node/{serialNumber}/devices: get: summary: Get list of deployed workloads on the selected node operationId: list_deployed_workloads tags: - Node description: Used to retrieve the list of deployed Workloads(devices) from a specific node parameters: - name: serialNumber in: path required: true description: The serial number of the node which was specified during onboarding into the Nerve Management System. schema: description: The serial number of the node type: string maxLength: 12 minLength: 12 pattern: ([A-Z0-9]){12} - name: timeout in: query required: false description: The time how long to wait for the response in miliseconds schema: type: integer format: int32 minimum: 10000 default: 10000 description: How long to wait for the response from the node [milliseconds] maximum: 86400000 x-permissions: - DEVICE:LIST responses: '200': description: List of deployed workloads from a specific node content: application/json: schema: type: array description: List of deployed workloads from a specific node minItems: 0 maxItems: 1001 items: description: Object contains information of deployed workload provided from OVDM type: object properties: class: type: string description: Class of the device enum: - WiseGenericDev device_firmware_version: description: Firmware version of the device minLength: 1 maxLength: 1000 type: string pattern: ^[\x20-\x7E\t\n\r]*$ device_manufacturer: type: string description: Manufacturer of the device enum: - TTTech device_model_name: type: string description: Device model name enum: - Docker - KVM Virtual Machine - Codesys - Docker Compose device_name: type: string description: Workload name minLength: 1 maxLength: 40 pattern: (?=.*[^ ].*)(?=(^[^\u0000-\u001f\u007f-\u009f]*$)) id: type: integer format: int32 description: Id of the deployed workload minimum: 100 maximum: 1000 status: description: Numerical value representing the status of workload type: integer format: int32 minimum: 0 maximum: 13 versionId: description: Version id generated for VM backups or version id from DB for docker workloads minLength: 1 maxLength: 1000 type: string pattern: ^[\x20-\x7E\t\n\r]*$ workloadId: description: Workload id generated for VM backups or workload id from DB for docker workloads minLength: 1 maxLength: 1000 type: string pattern: ^[\x20-\x7E\t\n\r]*$ type: description: Workload type type: string enum: - docker - vm - codesys - docker-compose parentNodeSerial: description: The serial number of the node type: string maxLength: 12 minLength: 12 pattern: ([A-Z0-9]){12} features: type: array description: List of specific workload features(e.g. snapshot) minItems: 0 maxItems: 1001 items: type: object required: - name - value properties: name: description: Feature name minLength: 1 maxLength: 1000 type: string pattern: ^[\x20-\x7E\t\n\r]*$ value: type: object description: Feature value layout: type: array description: List of layout items, currently not used minItems: 0 maxItems: 0 service_list: type: array minItems: 0 maxItems: 1001 description: List of services running on the device items: type: object properties: category: description: Category of the service minLength: 1 maxLength: 1000 type: string pattern: ^[\x20-\x7E\t\n\r]*$ name: description: Name of the service minLength: 1 maxLength: 1000 type: string pattern: ^[\x20-\x7E\t\n\r]*$ priority: description: Priority of the service type: integer format: int32 minimum: 0 maximum: 0 type: description: Type of the service minLength: 1 maxLength: 1000 type: string pattern: ^[\x20-\x7E\t\n\r]*$ priority_list: minItems: 0 maxItems: 1001 type: array description: List of priority levels for the service items: type: object properties: name: description: Name of the priority level minLength: 1 maxLength: 1000 type: string pattern: ^[\x20-\x7E\t\n\r]*$ options: type: array description: List of options for the priority level minItems: 0 maxItems: 1001 items: minLength: 1 maxLength: 1000 type: string pattern: ^[\x20-\x7E\t\n\r]*$ value: description: Value of the priority level oneOf: - type: string - type: integer format: int64 minimum: 0 maximum: 1000000 timestamp: description: Timestamp of the priority level value type: integer format: int64 minimum: 0 maximum: 4102444800000 device_api_version: description: API version of the device minLength: 0 maxLength: 1000 type: string pattern: ^[\x20-\x7E\t\n\r]*$ examples: list_deployed_workloads: value: - value: class: WiseGenericDev device_firmware_version: '1.0' device_manufacturer: TTTech device_model_name: KVM Virtual Machine device_name: slitazkvm id: 331 status: 2 layout: [] service_list: - category: dev_information name: WiseConfigurationService priority: 0 type: WiseConfigurationService property_list: - name: Value options: [] value: '{"workloadId":"62e8e8ef39c508006b8c5231","versionId":"62e8e8ef39c508006b8c5232","workloadVersion":"slitaz kvm","workloadVersionName":"slitaz kvm","deployTime":1659433001122}' timestamp: 1659433013838 - name: ConfigurationUpdateStatus options: [] value: '{}' - category: dev_information name: VMControlService priority: 0 type: VMControlService property_list: - name: Command options: - NONE - START - STOP - SUSPEND - RESUME - RESTART - REMOVE value: 0 - name: Message options: [] value: vm_started timestamp: 1659684239582 - name: State options: - IDLE - CREATING - REMOVING - SUSPENDING - SUSPENDED - STARTING - RESTARTING - RESUMING - STARTED - STOPPING - STOPPED - ERROR - REMOVING_FAILED value: 8 timestamp: 1659684239584 - name: CPUNumber options: [] value: 2 timestamp: 1659617887944 - name: Memory options: [] value: 2000000000 timestamp: 1659617887947 versionId: 62e8e8ef39c508006b8c5232 parentNodeSerial: MFN111111111 features: - name: snapshot value: enabled: false space: '' workloadId: 62e8e8ef39c508006b8c5231 type: vm device_api_version: 2.5.0 '400': description: Route params validation error content: application/json: schema: description: Generic error response returned from the server in case of a failed operation. properties: errorCode: description: String that is used as a key for appropriate translation on the front-end application. type: string minLength: 4 maxLength: 100 pattern: ^[a-zA-Z0-9_-]*$ httpCode: description: Http error code assigned to the error. type: string minLength: 3 maxLength: 3 pattern: ^[0-9]*$ message: description: Error message in English. minLength: 5 maxLength: 512 type: string pattern: ^[\x20-\x7E\t\n\r]*$ example: errorCode: '00006' httpCode: '400' message: Route params validation error '403': description: You are not authorized to perform this operation content: application/json: schema: description: Generic error response returned from the server in case of a failed operation. properties: errorCode: description: String that is used as a key for appropriate translation on the front-end application. type: string minLength: 4 maxLength: 100 pattern: ^[a-zA-Z0-9_-]*$ httpCode: description: Http error code assigned to the error. type: string minLength: 3 maxLength: 3 pattern: ^[0-9]*$ message: description: Error message in English. minLength: 5 maxLength: 512 type: string pattern: ^[\x20-\x7E\t\n\r]*$ examples: not_authorized: value: errorCode: '00003' httpCode: '403' message: You are not authorized '404': description: Request failed, this is the response received when node with specified serial number does not exist. content: application/json: schema: description: Generic error response returned from the server in case of a failed operation. properties: errorCode: description: String that is used as a key for appropriate translation on the front-end application. type: string minLength: 4 maxLength: 100 pattern: ^[a-zA-Z0-9_-]*$ httpCode: description: Http error code assigned to the error. type: string minLength: 3 maxLength: 3 pattern: ^[0-9]*$ message: description: Error message in English. minLength: 5 maxLength: 512 type: string pattern: ^[\x20-\x7E\t\n\r]*$ examples: node_not_found: value: errorCode: 000719 httpCode: '404' message: Node with this serial number does not exist '500': description: Request failed, this is the response received when an unexpected error occurred content: application/json: schema: description: Generic error response returned from the server in case of a failed operation. properties: errorCode: description: String that is used as a key for appropriate translation on the front-end application. type: string minLength: 4 maxLength: 100 pattern: ^[a-zA-Z0-9_-]*$ httpCode: description: Http error code assigned to the error. type: string minLength: 3 maxLength: 3 pattern: ^[0-9]*$ message: description: Error message in English. minLength: 5 maxLength: 512 type: string pattern: ^[\x20-\x7E\t\n\r]*$ '504': description: Node failed to response in expected time content: application/json: schema: description: Generic error response returned from the server in case of a failed operation. properties: errorCode: description: String that is used as a key for appropriate translation on the front-end application. type: string minLength: 4 maxLength: 100 pattern: ^[a-zA-Z0-9_-]*$ httpCode: description: Http error code assigned to the error. type: string minLength: 3 maxLength: 3 pattern: ^[0-9]*$ message: description: Error message in English. minLength: 5 maxLength: 512 type: string pattern: ^[\x20-\x7E\t\n\r]*$ example: errorCode: nerve_node_021 httpCode: '504' message: Request rejected by timeout security: - sessionId: [] servers: - url: https://trynerve1.nerve.cloud /nerve/node: post: summary: Create a node operationId: create_node tags: - Node description: Create a new node in the Nerve Management System. requestBody: description: Required parameters to create a new Node in the Management system. required: true content: application/json: schema: description: Basic information about node type: object required: - name - serialNumber - secureId properties: name: type: string description: The name of the node minLength: 1 maxLength: 40 pattern: ^\s*(?=[a-zA-Z0-9_ -]+$)\S.*$ serialNumber: description: The serial number of the node type: string maxLength: 12 minLength: 12 pattern: ([A-Z0-9]){12} secureId: type: string description: Node secure id minLength: 16 maxLength: 16 pattern: ([A-Za-z]|\d){16} labels: type: array minItems: 0 maxItems: 1001 items: type: object description: The key-value pair representing a label. properties: key: description: Definition of a label key property type: string minLength: 1 maxLength: 40 pattern: ^[a-zA-Z0-9_-]*$ value: description: Definition of a label value property type: string minLength: 1 maxLength: 40 pattern: ^[^\s]*$ required: - key - value description: 'List of labels assigned to the node. A label key must be unique for each node it is assigned to (e.g. node cannot have both of these labels: "color: green" and "color: blue"). To remove specific label, just remove it from the list.' remoteConnections: type: array minItems: 0 maxItems: 1001 items: description: Array of different remote connection types. anyOf: - type: object description: Remote tunnel required: - name - acknowledgment - port - localPort - type properties: type: type: string description: Remote connection type enum: - TUNNEL name: type: string description: Remote connection name pattern: (?=.*[^ ].*)(?=(^[^\u0000-\u001f\u007f-\u009f]*$)) minLength: 1 maxLength: 40 acknowledgment: type: string description: Defines if local acknowledgement is required to establish a connection. To confirm connection, it is necessary to have access to the LocalUI web application. enum: - 'Yes' - 'No' hostname: type: string minLength: 0 maxLength: 0 pattern: ^$ description: Target hostname or ip address to which connection is established port: description: Port on the target to which connection is established (port on the node for opening tunnel to chisel server) oneOf: - type: integer format: int32 minimum: 0 maximum: 65535 description: Port which is used to establish connection - type: string pattern: ^\d+$ localPort: description: Port on local PC to establish remote tunnel oneOf: - type: integer format: int32 minimum: 0 maximum: 65535 description: Port which is used to establish connection - type: string pattern: ^\d+$ oldName: description: Old remote connection name minLength: 0 maxLength: 1000 type: string pattern: ^[\x20-\x7E\t\n\r]*$ - type: object description: Remote tunnel required: - name - acknowledgment - hostname - port - localPort - type properties: type: type: string description: Remote connection type enum: - TUNNEL name: type: string description: Remote connection name pattern: (?=.*[^ ].*)(?=(^[^\u0000-\u001f\u007f-\u009f]*$)) minLength: 1 maxLength: 40 acknowledgment: type: string description: Defines if local acknowledgement is required to establish a connection. To confirm connection, it is necessary to have access to the LocalUI web application. enum: - 'Yes' - 'No' hostname: type: string description: Target hostname or ip address to which connection is established minLength: 1 maxLength: 40 pattern: ^[a-zA-Z0-9][a-zA-Z0-9_.-]*$ port: description: Port on the target to which connection is established (port on the node for opening tunnel to chisel server) oneOf: - type: integer format: int32 minimum: 0 maximum: 65535 description: Port which is used to establish connection - type: string pattern: ^\d+$ localPort: description: Port on local PC to establish remote tunnel oneOf: - type: integer format: int32 minimum: 0 maximum: 65535 description: Port which is used to establish connection - type: string pattern: ^\d+$ oldName: description: Old remote connection name minLength: 0 maxLength: 1000 type: string pattern: ^[\x20-\x7E\t\n\r]*$ - description: Remote screen VNC allOf: - anyOf: - type: object required: - name - numberOfConnections - acknowledgment - hostname - port - autoretry - type properties: type: type: string description: Remote connection type enum: - SCREEN name: type: string description: Remote connection name pattern: (?=.*[^ ].*)(?=(^[^\u0000-\u001f\u007f-\u009f]*$)) minLength: 1 maxLength: 40 numberOfConnections: type: integer format: int32 description: The maximum number of simultaneous connections minimum: 1 maximum: 100 acknowledgment: type: string description: Defines if local acknowledgement is required to establish a connection. To confirm connection, it is necessary to have access to the LocalUI web application. enum: - 'Yes' - 'No' hostname: type: string description: Target hostname or ip address to which connection is established minLength: 1 maxLength: 40 pattern: ^[a-zA-Z0-9][a-zA-Z0-9_.-]*$ port: description: Port on the target to which connection is established (port on the node for opening tunnel to chisel server) oneOf: - type: integer format: int32 minimum: 0 maximum: 65535 description: Port which is used to establish connection - type: string pattern: ^\d+$ autoretry: type: integer format: int32 description: The number of times to retry connecting before giving up and returning an error minimum: 1 maximum: 3 cursor: type: string description: 'Defines if the cursor is rendered locally or remotely ' enum: - '' - local - remote readOnly: type: boolean description: Defines whether the connection should be read-only. swapRedBlue: description: Specifies whether the red and blue indicators for the remote connection should be swapped type: boolean oldName: description: Old remote connection name minLength: 0 maxLength: 1000 type: string pattern: ^[\x20-\x7E\t\n\r]*$ - type: object required: - name - numberOfConnections - acknowledgment - port - autoretry - type properties: type: type: string description: Remote connection type enum: - SCREEN name: type: string description: Remote connection name pattern: (?=.*[^ ].*)(?=(^[^\u0000-\u001f\u007f-\u009f]*$)) minLength: 1 maxLength: 40 numberOfConnections: type: integer format: int32 description: The maximum number of simultaneous connections minimum: 1 maximum: 100 acknowledgment: type: string description: Defines if local acknowledgement is required to establish a connection. To confirm connection, it is necessary to have access to the LocalUI web application. enum: - 'Yes' - 'No' port: description: Port on the target to which connection is established (port on the node for opening tunnel to chisel server) oneOf: - type: integer format: int32 minimum: 0 maximum: 65535 description: Port which is used to establish connection - type: string pattern: ^\d+$ autoretry: type: integer format: int32 description: The number of times to retry connecting before giving up and returning an error minimum: 1 maximum: 3 cursor: type: string description: 'Defines if the cursor is rendered locally or remotely ' enum: - '' - local - remote readOnly: type: boolean description: Defines whether the connection should be read-only. swapRedBlue: description: Specifies whether the red and blue indicators for the remote connection should be swapped type: boolean oldName: description: Old remote connection name minLength: 0 maxLength: 1000 type: string pattern: ^[\x20-\x7E\t\n\r]*$ - type: object required: - connection - password properties: connection: type: string description: Remote screen type enum: - VNC password: description: Password to use when attempting authentication minLength: 0 maxLength: 40 type: string pattern: ^[\x20-\x7E\t\n\r]*$ - description: Remote screen SSH allOf: - anyOf: - type: object required: - name - numberOfConnections - acknowledgment - hostname - port - autoretry - type properties: type: type: string description: Remote connection type enum: - SCREEN name: type: string description: Remote connection name pattern: (?=.*[^ ].*)(?=(^[^\u0000-\u001f\u007f-\u009f]*$)) minLength: 1 maxLength: 40 numberOfConnections: type: integer format: int32 description: The maximum number of simultaneous connections minimum: 1 maximum: 100 acknowledgment: type: string description: Defines if local acknowledgement is required to establish a connection. To confirm connection, it is necessary to have access to the LocalUI web application. enum: - 'Yes' - 'No' hostname: type: string description: Target hostname or ip address to which connection is established minLength: 1 maxLength: 40 pattern: ^[a-zA-Z0-9][a-zA-Z0-9_.-]*$ port: description: Port on the target to which connection is established (port on the node for opening tunnel to chisel server) oneOf: - type: integer format: int32 minimum: 0 maximum: 65535 description: Port which is used to establish connection - type: string pattern: ^\d+$ autoretry: type: integer format: int32 description: The number of times to retry connecting before giving up and returning an error minimum: 1 maximum: 3 cursor: type: string description: 'Defines if the cursor is rendered locally or remotely ' enum: - '' - local - remote readOnly: type: boolean description: Defines whether the connection should be read-only. swapRedBlue: description: Specifies whether the red and blue indicators for the remote connection should be swapped type: boolean oldName: description: Old remote connection name minLength: 0 maxLength: 1000 type: string pattern: ^[\x20-\x7E\t\n\r]*$ - type: object required: - name - numberOfConnections - acknowledgment - port - autoretry - type properties: type: type: string description: Remote connection type enum: - SCREEN name: type: string description: Remote connection name pattern: (?=.*[^ ].*)(?=(^[^\u0000-\u001f\u007f-\u009f]*$)) minLength: 1 maxLength: 40 numberOfConnections: type: integer format: int32 description: The maximum number of simultaneous connections minimum: 1 maximum: 100 acknowledgment: type: string description: Defines if local acknowledgement is required to establish a connection. To confirm connection, it is necessary to have access to the LocalUI web application. enum: - 'Yes' - 'No' port: description: Port on the target to which connection is established (port on the node for opening tunnel to chisel server) oneOf: - type: integer format: int32 minimum: 0 maximum: 65535 description: Port which is used to establish connection - type: string pattern: ^\d+$ autoretry: type: integer format: int32 description: The number of times to retry connecting before giving up and returning an error minimum: 1 maximum: 3 cursor: type: string description: 'Defines if the cursor is rendered locally or remotely ' enum: - '' - local - remote readOnly: type: boolean description: Defines whether the connection should be read-only. swapRedBlue: description: Specifies whether the red and blue indicators for the remote connection should be swapped type: boolean oldName: description: Old remote connection name minLength: 0 maxLength: 1000 type: string pattern: ^[\x20-\x7E\t\n\r]*$ - type: object required: - connection properties: connection: type: string description: Remote screen type enum: - SSH username: type: string description: Username to use for authentication minLength: 0 maxLength: 40 pattern: ^[^\u0000-\u001f\u007f-\u009f:]*$ password: description: Password to use when attempting authentication minLength: 0 maxLength: 40 type: string pattern: ^[\x20-\x7E\t\n\r]*$ privatekeyFlag: type: boolean default: false description: Option to choose authentication via private SSH key privateKey: description: The contents of the private key to use for authentication minLength: 0 maxLength: 1000 type: string pattern: ^[\x20-\x7E\t\n\r]*$ - description: Remote screen RDP allOf: - anyOf: - type: object required: - name - numberOfConnections - acknowledgment - hostname - port - autoretry - type properties: type: type: string description: Remote connection type enum: - SCREEN name: type: string description: Remote connection name pattern: (?=.*[^ ].*)(?=(^[^\u0000-\u001f\u007f-\u009f]*$)) minLength: 1 maxLength: 40 numberOfConnections: type: integer format: int32 description: The maximum number of simultaneous connections minimum: 1 maximum: 100 acknowledgment: type: string description: Defines if local acknowledgement is required to establish a connection. To confirm connection, it is necessary to have access to the LocalUI web application. enum: - 'Yes' - 'No' hostname: type: string description: Target hostname or ip address to which connection is established minLength: 1 maxLength: 40 pattern: ^[a-zA-Z0-9][a-zA-Z0-9_.-]*$ port: description: Port on the target to which connection is established (port on the node for opening tunnel to chisel server) oneOf: - type: integer format: int32 minimum: 0 maximum: 65535 description: Port which is used to establish connection - type: string pattern: ^\d+$ autoretry: type: integer format: int32 description: The number of times to retry connecting before giving up and returning an error minimum: 1 maximum: 3 cursor: type: string description: 'Defines if the cursor is rendered locally or remotely ' enum: - '' - local - remote readOnly: type: boolean description: Defines whether the connection should be read-only. swapRedBlue: description: Specifies whether the red and blue indicators for the remote connection should be swapped type: boolean oldName: description: Old remote connection name minLength: 0 maxLength: 1000 type: string pattern: ^[\x20-\x7E\t\n\r]*$ - type: object required: - name - numberOfConnections - acknowledgment - port - autoretry - type properties: type: type: string description: Remote connection type enum: - SCREEN name: type: string description: Remote connection name pattern: (?=.*[^ ].*)(?=(^[^\u0000-\u001f\u007f-\u009f]*$)) minLength: 1 maxLength: 40 numberOfConnections: type: integer format: int32 description: The maximum number of simultaneous connections minimum: 1 maximum: 100 acknowledgment: type: string description: Defines if local acknowledgement is required to establish a connection. To confirm connection, it is necessary to have access to the LocalUI web application. enum: - 'Yes' - 'No' port: description: Port on the target to which connection is established (port on the node for opening tunnel to chisel server) oneOf: - type: integer format: int32 minimum: 0 maximum: 65535 description: Port which is used to establish connection - type: string pattern: ^\d+$ autoretry: type: integer format: int32 description: The number of times to retry connecting before giving up and returning an error minimum: 1 maximum: 3 cursor: type: string description: 'Defines if the cursor is rendered locally or remotely ' enum: - '' - local - remote readOnly: type: boolean description: Defines whether the connection should be read-only. swapRedBlue: description: Specifies whether the red and blue indicators for the remote connection should be swapped type: boolean oldName: description: Old remote connection name minLength: 0 maxLength: 1000 type: string pattern: ^[\x20-\x7E\t\n\r]*$ - type: object required: - connection properties: connection: type: string description: Remote screen type enum: - RDP username: type: string description: Username to use for authentication minLength: 0 maxLength: 40 pattern: ^[^\u0000-\u001f\u007f-\u009f:]*$ password: description: Password to use when attempting authentication minLength: 0 maxLength: 40 type: string pattern: ^[\x20-\x7E\t\n\r]*$ ignoreServerCertificate: type: boolean default: false description: Defines if the server certificate should be ignored when connecting to the target securityMode: type: string description: Dictates how data will be encrypted and what type of authentication will be performed enum: - '' - any - nla - rdp - tls description: List of defined remote connections example: name: mfn lab01 secureId: MFNLAB0000000000 serialNumber: MFNLAB000000 labels: [] remoteConnections: [] x-permissions: - NODE:CREATE responses: '200': description: Node successfully created content: application/json: schema: description: Node object from the database type: object allOf: - description: Node object from the database without remote connections type: object required: - name - serialNumber - type - hash - labels - subgroup - created - rebootStatus - connectionStatus - vmBackup - vmSnapshot - userId properties: _id: allOf: - description: ID (from Management System) of the entry. Can be a string or an object. oneOf: - description: ID (from Management System) of the entry type: string pattern: ^[0-9a-fA-F]{24}$ minLength: 24 maxLength: 24 - type: object - description: Node id from the database (nodeId) name: type: string description: The name of the node minLength: 1 maxLength: 40 pattern: ^\s*(?=[a-zA-Z0-9_ -]+$)\S.*$ serialNumber: description: The serial number of the node type: string maxLength: 12 minLength: 12 pattern: ([A-Z0-9]){12} model: description: The name of the hardware model (hardware model must be defined in the database) minLength: 1 maxLength: 1000 type: string pattern: ^[\x20-\x7E\t\n\r]*$ labels: description: List of labels assigned to the node type: array minItems: 0 maxItems: 1001 items: description: Label DB id type: type: string minLength: 1 maxLength: 1000 pattern: ^[\x20-\x7E\t\n\r]*$ description: Type of the device default: hg hash: type: string pattern: ^[\x20-\x7E\t\n\r]*$ minLength: 1 maxLength: 1000 description: Calculated hash hardwareId: description: ID (from Management System) of the entry. Can be a string or an object. oneOf: - description: ID (from Management System) of the entry type: string pattern: ^[0-9a-fA-F]{24}$ minLength: 24 maxLength: 24 - type: object manufacturer: type: string pattern: ^[\x20-\x7E\t\n\r]*$ description: Identification of the hardware manufacturer(human readable) default: nerve minLength: 1 maxLength: 1000 oui: type: string pattern: ^[\x20-\x7E\t\n\r]*$ description: Identification of the hardware manufacturer default: nerve minLength: 1 maxLength: 1000 subgroup: type: string pattern: ^[\x20-\x7E\t\n\r]*$ minLength: 1 maxLength: 1000 description: Node subgroup unassignInProgress: type: boolean description: Indicates if unassigning node is in progress(OBLO legacy) isAutomaticallyBackup: type: boolean description: (OBLO legacy) default: false staging: type: string pattern: ^[\x20-\x7E\t\n\r]*$ minLength: 1 maxLength: 1000 description: Node staging type [beta, test, latest, minimum](OBLO legacy) default: beta installationInProgress: type: boolean description: Indicates if installation of software is in progress(OBLO legacy) created: description: Date when node was created anyOf: - type: string description: Date and time in ISO 8601 format format: date-time pattern: ^\d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}\.\d{3}Z$ minLength: 24 maxLength: 24 - type: object installations: type: array minItems: 0 maxItems: 1001 description: List of software assigned to the node(OBLO legacy) items: type: object factoryResetStatus: type: boolean description: Indicates if factory reset procedure initiated from SC(OBLO legacy) rebootStatus: type: boolean description: Indicates if reboot procedure initiated from SC(OBLO legacy) backupRestoreInProgress: type: boolean description: Determines backup status(OBLO legacy) isUpdating: type: boolean description: Is node currently updating to newer version vmBackup: type: - boolean - 'null' description: Is the VM backup option is allowed on the node default: false vmSnapshot: type: - boolean - 'null' description: Is the VM snapshot option is allowed on the node default: false updateStartedTimestamp: type: - integer - 'null' format: int64 description: Timestamp when node update started minimum: 0 maximum: 4102444800000 lastSystemStart: type: - integer - 'null' format: int64 description: Timestamp when the node was last started minimum: 0 maximum: 4102444800000 connectionStatus: description: Status if the node connection to MS enum: - online - offline userId: allOf: - description: ID (from Management System) of the entry type: string pattern: ^[0-9a-fA-F]{24}$ minLength: 24 maxLength: 24 - description: User id from the database (_id) of the user who created the node capabilities: type: array minItems: 0 maxItems: 1001 description: List of capabilities items: type: object description: List of capabilities. properties: name: type: string pattern: ^[\x20-\x7E\t\n\r]*$ minLength: 1 maxLength: 1000 description: Capability name description: type: string pattern: ^[\x20-\x7E\t\n\r]*$ minLength: 0 maxLength: 1000 description: Short capability description imageVariant: type: string pattern: ^[\x20-\x7E\t\n\r]*$ description: Image variant (introduced for generic image updates) default: '' minLength: 0 maxLength: 1000 lastTimeStatusUpdated: description: Timestamp of the last time the status was updated anyOf: - type: - string - 'null' format: date-time minLength: 8 maxLength: 30 - type: - object - 'null' currentFWVersion: minLength: 0 maxLength: 1000 description: Node version(e.g. 2.5) default: '' type: string pattern: ^[\x20-\x7E\t\n\r]*$ heartBeatReceived: description: Timestamp of the node heartbeat message type: number timezone: description: Timezone set on node type: - object - 'null' properties: name: type: string pattern: ^[\x20-\x7E\t\n\r]*$ description: The timezone setup on node minLength: 1 maxLength: 1000 hardwareName: description: The name of the hardware model type: string minLength: 1 maxLength: 1000 pattern: ^[a-zA-Z0-9\s-]+$ - type: object required: - remoteConnections properties: remoteConnections: type: array description: List of defined remote connections minItems: 0 maxItems: 1001 items: description: Array of different remote connection types. anyOf: - type: object description: Remote tunnel required: - name - acknowledgment - port - localPort - type properties: type: type: string description: Remote connection type enum: - TUNNEL name: type: string description: Remote connection name pattern: (?=.*[^ ].*)(?=(^[^\u0000-\u001f\u007f-\u009f]*$)) minLength: 1 maxLength: 40 acknowledgment: type: string description: Defines if local acknowledgement is required to establish a connection. To confirm connection, it is necessary to have access to the LocalUI web application. enum: - 'Yes' - 'No' hostname: type: string minLength: 0 maxLength: 0 pattern: ^$ description: Target hostname or ip address to which connection is established port: description: Port on the target to which connection is established (port on the node for opening tunnel to chisel server) oneOf: - type: integer format: int32 minimum: 0 maximum: 65535 description: Port which is used to establish connection - type: string pattern: ^\d+$ localPort: description: Port on local PC to establish remote tunnel oneOf: - type: integer format: int32 minimum: 0 maximum: 65535 description: Port which is used to establish connection - type: string pattern: ^\d+$ oldName: description: Old remote connection name minLength: 0 maxLength: 1000 type: string pattern: ^[\x20-\x7E\t\n\r]*$ - type: object description: Remote tunnel required: - name - acknowledgment - hostname - port - localPort - type properties: type: type: string description: Remote connection type enum: - TUNNEL name: type: string description: Remote connection name pattern: (?=.*[^ ].*)(?=(^[^\u0000-\u001f\u007f-\u009f]*$)) minLength: 1 maxLength: 40 acknowledgment: type: string description: Defines if local acknowledgement is required to establish a connection. To confirm connection, it is necessary to have access to the LocalUI web application. enum: - 'Yes' - 'No' hostname: type: string description: Target hostname or ip address to which connection is established minLength: 1 maxLength: 40 pattern: ^[a-zA-Z0-9][a-zA-Z0-9_.-]*$ port: description: Port on the target to which connection is established (port on the node for opening tunnel to chisel server) oneOf: - type: integer format: int32 minimum: 0 maximum: 65535 description: Port which is used to establish connection - type: string pattern: ^\d+$ localPort: description: Port on local PC to establish remote tunnel oneOf: - type: integer format: int32 minimum: 0 maximum: 65535 description: Port which is used to establish connection - type: string pattern: ^\d+$ oldName: description: Old remote connection name minLength: 0 maxLength: 1000 type: string pattern: ^[\x20-\x7E\t\n\r]*$ - description: Remote screen VNC allOf: - anyOf: - type: object required: - name - numberOfConnections - acknowledgment - hostname - port - autoretry - type properties: type: type: string description: Remote connection type enum: - SCREEN name: type: string description: Remote connection name pattern: (?=.*[^ ].*)(?=(^[^\u0000-\u001f\u007f-\u009f]*$)) minLength: 1 maxLength: 40 numberOfConnections: type: integer format: int32 description: The maximum number of simultaneous connections minimum: 1 maximum: 100 acknowledgment: type: string description: Defines if local acknowledgement is required to establish a connection. To confirm connection, it is necessary to have access to the LocalUI web application. enum: - 'Yes' - 'No' hostname: type: string description: Target hostname or ip address to which connection is established minLength: 1 maxLength: 40 pattern: ^[a-zA-Z0-9][a-zA-Z0-9_.-]*$ port: description: Port on the target to which connection is established (port on the node for opening tunnel to chisel server) oneOf: - type: integer format: int32 minimum: 0 maximum: 65535 description: Port which is used to establish connection - type: string pattern: ^\d+$ autoretry: type: integer format: int32 description: The number of times to retry connecting before giving up and returning an error minimum: 1 maximum: 3 cursor: type: string description: 'Defines if the cursor is rendered locally or remotely ' enum: - '' - local - remote readOnly: type: boolean description: Defines whether the connection should be read-only. swapRedBlue: description: Specifies whether the red and blue indicators for the remote connection should be swapped type: boolean oldName: description: Old remote connection name minLength: 0 maxLength: 1000 type: string pattern: ^[\x20-\x7E\t\n\r]*$ - type: object required: - name - numberOfConnections - acknowledgment - port - autoretry - type properties: type: type: string description: Remote connection type enum: - SCREEN name: type: string description: Remote connection name pattern: (?=.*[^ ].*)(?=(^[^\u0000-\u001f\u007f-\u009f]*$)) minLength: 1 maxLength: 40 numberOfConnections: type: integer format: int32 description: The maximum number of simultaneous connections minimum: 1 maximum: 100 acknowledgment: type: string description: Defines if local acknowledgement is required to establish a connection. To confirm connection, it is necessary to have access to the LocalUI web application. enum: - 'Yes' - 'No' port: description: Port on the target to which connection is established (port on the node for opening tunnel to chisel server) oneOf: - type: integer format: int32 minimum: 0 maximum: 65535 description: Port which is used to establish connection - type: string pattern: ^\d+$ autoretry: type: integer format: int32 description: The number of times to retry connecting before giving up and returning an error minimum: 1 maximum: 3 cursor: type: string description: 'Defines if the cursor is rendered locally or remotely ' enum: - '' - local - remote readOnly: type: boolean description: Defines whether the connection should be read-only. swapRedBlue: description: Specifies whether the red and blue indicators for the remote connection should be swapped type: boolean oldName: description: Old remote connection name minLength: 0 maxLength: 1000 type: string pattern: ^[\x20-\x7E\t\n\r]*$ - type: object required: - connection - password properties: connection: type: string description: Remote screen type enum: - VNC password: description: Password to use when attempting authentication minLength: 0 maxLength: 40 type: string pattern: ^[\x20-\x7E\t\n\r]*$ - description: Remote screen SSH allOf: - anyOf: - type: object required: - name - numberOfConnections - acknowledgment - hostname - port - autoretry - type properties: type: type: string description: Remote connection type enum: - SCREEN name: type: string description: Remote connection name pattern: (?=.*[^ ].*)(?=(^[^\u0000-\u001f\u007f-\u009f]*$)) minLength: 1 maxLength: 40 numberOfConnections: type: integer format: int32 description: The maximum number of simultaneous connections minimum: 1 maximum: 100 acknowledgment: type: string description: Defines if local acknowledgement is required to establish a connection. To confirm connection, it is necessary to have access to the LocalUI web application. enum: - 'Yes' - 'No' hostname: type: string description: Target hostname or ip address to which connection is established minLength: 1 maxLength: 40 pattern: ^[a-zA-Z0-9][a-zA-Z0-9_.-]*$ port: description: Port on the target to which connection is established (port on the node for opening tunnel to chisel server) oneOf: - type: integer format: int32 minimum: 0 maximum: 65535 description: Port which is used to establish connection - type: string pattern: ^\d+$ autoretry: type: integer format: int32 description: The number of times to retry connecting before giving up and returning an error minimum: 1 maximum: 3 cursor: type: string description: 'Defines if the cursor is rendered locally or remotely ' enum: - '' - local - remote readOnly: type: boolean description: Defines whether the connection should be read-only. swapRedBlue: description: Specifies whether the red and blue indicators for the remote connection should be swapped type: boolean oldName: description: Old remote connection name minLength: 0 maxLength: 1000 type: string pattern: ^[\x20-\x7E\t\n\r]*$ - type: object required: - name - numberOfConnections - acknowledgment - port - autoretry - type properties: type: type: string description: Remote connection type enum: - SCREEN name: type: string description: Remote connection name pattern: (?=.*[^ ].*)(?=(^[^\u0000-\u001f\u007f-\u009f]*$)) minLength: 1 maxLength: 40 numberOfConnections: type: integer format: int32 description: The maximum number of simultaneous connections minimum: 1 maximum: 100 acknowledgment: type: string description: Defines if local acknowledgement is required to establish a connection. To confirm connection, it is necessary to have access to the LocalUI web application. enum: - 'Yes' - 'No' port: description: Port on the target to which connection is established (port on the node for opening tunnel to chisel server) oneOf: - type: integer format: int32 minimum: 0 maximum: 65535 description: Port which is used to establish connection - type: string pattern: ^\d+$ autoretry: type: integer format: int32 description: The number of times to retry connecting before giving up and returning an error minimum: 1 maximum: 3 cursor: type: string description: 'Defines if the cursor is rendered locally or remotely ' enum: - '' - local - remote readOnly: type: boolean description: Defines whether the connection should be read-only. swapRedBlue: description: Specifies whether the red and blue indicators for the remote connection should be swapped type: boolean oldName: description: Old remote connection name minLength: 0 maxLength: 1000 type: string pattern: ^[\x20-\x7E\t\n\r]*$ - type: object required: - connection properties: connection: type: string description: Remote screen type enum: - SSH username: type: string description: Username to use for authentication minLength: 0 maxLength: 40 pattern: ^[^\u0000-\u001f\u007f-\u009f:]*$ password: description: Password to use when attempting authentication minLength: 0 maxLength: 40 type: string pattern: ^[\x20-\x7E\t\n\r]*$ privatekeyFlag: type: boolean default: false description: Option to choose authentication via private SSH key privateKey: description: The contents of the private key to use for authentication minLength: 0 maxLength: 1000 type: string pattern: ^[\x20-\x7E\t\n\r]*$ - description: Remote screen RDP allOf: - anyOf: - type: object required: - name - numberOfConnections - acknowledgment - hostname - port - autoretry - type properties: type: type: string description: Remote connection type enum: - SCREEN name: type: string description: Remote connection name pattern: (?=.*[^ ].*)(?=(^[^\u0000-\u001f\u007f-\u009f]*$)) minLength: 1 maxLength: 40 numberOfConnections: type: integer format: int32 description: The maximum number of simultaneous connections minimum: 1 maximum: 100 acknowledgment: type: string description: Defines if local acknowledgement is required to establish a connection. To confirm connection, it is necessary to have access to the LocalUI web application. enum: - 'Yes' - 'No' hostname: type: string description: Target hostname or ip address to which connection is established minLength: 1 maxLength: 40 pattern: ^[a-zA-Z0-9][a-zA-Z0-9_.-]*$ port: description: Port on the target to which connection is established (port on the node for opening tunnel to chisel server) oneOf: - type: integer format: int32 minimum: 0 maximum: 65535 description: Port which is used to establish connection - type: string pattern: ^\d+$ autoretry: type: integer format: int32 description: The number of times to retry connecting before giving up and returning an error minimum: 1 maximum: 3 cursor: type: string description: 'Defines if the cursor is rendered locally or remotely ' enum: - '' - local - remote readOnly: type: boolean description: Defines whether the connection should be read-only. swapRedBlue: description: Specifies whether the red and blue indicators for the remote connection should be swapped type: boolean oldName: description: Old remote connection name minLength: 0 maxLength: 1000 type: string pattern: ^[\x20-\x7E\t\n\r]*$ - type: object required: - name - numberOfConnections - acknowledgment - port - autoretry - type properties: type: type: string description: Remote connection type enum: - SCREEN name: type: string description: Remote connection name pattern: (?=.*[^ ].*)(?=(^[^\u0000-\u001f\u007f-\u009f]*$)) minLength: 1 maxLength: 40 numberOfConnections: type: integer format: int32 description: The maximum number of simultaneous connections minimum: 1 maximum: 100 acknowledgment: type: string description: Defines if local acknowledgement is required to establish a connection. To confirm connection, it is necessary to have access to the LocalUI web application. enum: - 'Yes' - 'No' port: description: Port on the target to which connection is established (port on the node for opening tunnel to chisel server) oneOf: - type: integer format: int32 minimum: 0 maximum: 65535 description: Port which is used to establish connection - type: string pattern: ^\d+$ autoretry: type: integer format: int32 description: The number of times to retry connecting before giving up and returning an error minimum: 1 maximum: 3 cursor: type: string description: 'Defines if the cursor is rendered locally or remotely ' enum: - '' - local - remote readOnly: type: boolean description: Defines whether the connection should be read-only. swapRedBlue: description: Specifies whether the red and blue indicators for the remote connection should be swapped type: boolean oldName: description: Old remote connection name minLength: 0 maxLength: 1000 type: string pattern: ^[\x20-\x7E\t\n\r]*$ - type: object required: - connection properties: connection: type: string description: Remote screen type enum: - RDP username: type: string description: Username to use for authentication minLength: 0 maxLength: 40 pattern: ^[^\u0000-\u001f\u007f-\u009f:]*$ password: description: Password to use when attempting authentication minLength: 0 maxLength: 40 type: string pattern: ^[\x20-\x7E\t\n\r]*$ ignoreServerCertificate: type: boolean default: false description: Defines if the server certificate should be ignored when connecting to the target securityMode: type: string description: Dictates how data will be encrypted and what type of authentication will be performed enum: - '' - any - nla - rdp - tls examples: created_node: value: rebootStatus: false factoryResetStatus: false installationInProgress: false staging: beta backupRestoreInProgress: false isAutomaticallyBackup: false unassignInProgress: false subgroup: default labels: [] remoteConnections: - _id: 62befe27d82c98006ed99cbe name: local ui acknowledgment: 'No' hostname: 172.20.2.1 port: 3333 localPort: 5656 type: TUNNEL activeConnections: [] __v: 0 - _id: 62befe39ae8a5a0055289b69 name: tunnel node acknowledgment: 'No' hostname: localhost port: 22 localPort: 1212 type: TUNNEL activeConnections: [] __v: 0 - _id: 62befe45ae8a5a0055289bab name: screen node location: '' connection: SSH numberOfConnections: 1 acknowledgment: 'No' hostname: localhost port: 22 localPort: 0 autoretry: 1 swapRedBlue: false cursor: '' readOnly: false username: '' password: '' type: SCREEN privateKey: '' securityMode: '' ignoreServerCertificate: false activeConnections: [] __v: 0 isUpdating: false updateStartedTimestamp: null lastSystemStart: 1658224058180 vmSnapshot: true vmBackup: true _id: 62befdddd82c98006ed99b61 name: mfn lab serialNumber: MFN000000000 secureId: 086091F3E069407A model: mfn-100 type: hg hash: 22dc08d3b2e7d678ef1f438c9bd23fec4fb3077f connectionStatus: online hardwareId: 62befb774b1e51005532dd08 manufacturer: nerve oui: nerve userId: 62befb774b1e51005532dcfa installations: [] created: '2022-07-01T13:59:57.212Z' capabilities: - _id: 62befde1f85a1c16c234f0e3 name: CODESYS PLC description: '' - _id: 62d151972c1648cb6dd094ed name: Vm video option description: '' - _id: 62befde3f85a1c16c234f11a name: Virtualization via XEN description: '' - _id: 62befbde4b1e510055336264 name: Virtualization description: '' - _id: 62befde1f85a1c16c234f0db name: Logging via Filebeat description: '' - _id: 62befde1f85a1c16c234f0da name: Docker Container description: '' - _id: 62befde1f85a1c16c234f0df name: Monitoring via Metricbeat description: '' __v: 10 lastTimeStatusUpdated: '2022-07-19T09:47:39.498Z' currentFWVersion: 2.5.0 heartBeatReceived: 1658231261729 imageVariant: generic timezone: _id: 63f4b53f65e08a005a2c1421 name: Etc/UTC '400': description: Invalid parameters content: application/json: schema: description: Generic error response returned from the server in case of a failed operation. properties: errorCode: description: String that is used as a key for appropriate translation on the front-end application. type: string minLength: 4 maxLength: 100 pattern: ^[a-zA-Z0-9_-]*$ httpCode: description: Http error code assigned to the error. type: string minLength: 3 maxLength: 3 pattern: ^[0-9]*$ message: description: Error message in English. minLength: 5 maxLength: 512 type: string pattern: ^[\x20-\x7E\t\n\r]*$ example: errorCode: nerve_node_040 httpCode: '400' message: Property 'labels' must be an array of key values pairs '403': description: You are not authorized to perform this operation content: application/json: schema: description: Generic error response returned from the server in case of a failed operation. properties: errorCode: description: String that is used as a key for appropriate translation on the front-end application. type: string minLength: 4 maxLength: 100 pattern: ^[a-zA-Z0-9_-]*$ httpCode: description: Http error code assigned to the error. type: string minLength: 3 maxLength: 3 pattern: ^[0-9]*$ message: description: Error message in English. minLength: 5 maxLength: 512 type: string pattern: ^[\x20-\x7E\t\n\r]*$ examples: not_authorized: value: errorCode: '00003' httpCode: '403' message: You are not authorized '404': description: Provided hardware model does not exist content: application/json: schema: description: Generic error response returned from the server in case of a failed operation. properties: errorCode: description: String that is used as a key for appropriate translation on the front-end application. type: string minLength: 4 maxLength: 100 pattern: ^[a-zA-Z0-9_-]*$ httpCode: description: Http error code assigned to the error. type: string minLength: 3 maxLength: 3 pattern: ^[0-9]*$ message: description: Error message in English. minLength: 5 maxLength: 512 type: string pattern: ^[\x20-\x7E\t\n\r]*$ example: errorCode: nerve_node_007 httpCode: '404' message: Hardware model you are looking for does not exist '409': description: '- Node with provided name already exists - Node with provided serial number already exists - Label key must be unique for the node' content: application/json: schema: description: Generic error response returned from the server in case of a failed operation. properties: errorCode: description: String that is used as a key for appropriate translation on the front-end application. type: string minLength: 4 maxLength: 100 pattern: ^[a-zA-Z0-9_-]*$ httpCode: description: Http error code assigned to the error. type: string minLength: 3 maxLength: 3 pattern: ^[0-9]*$ message: description: Error message in English. minLength: 5 maxLength: 512 type: string pattern: ^[\x20-\x7E\t\n\r]*$ example: errorCode: nerve_node_005 httpCode: '409' message: Node with this name already exists '500': description: Generic error node creation failed content: application/json: schema: description: Generic error response returned from the server in case of a failed operation. properties: errorCode: description: String that is used as a key for appropriate translation on the front-end application. type: string minLength: 4 maxLength: 100 pattern: ^[a-zA-Z0-9_-]*$ httpCode: description: Http error code assigned to the error. type: string minLength: 3 maxLength: 3 pattern: ^[0-9]*$ message: description: Error message in English. minLength: 5 maxLength: 512 type: string pattern: ^[\x20-\x7E\t\n\r]*$ example: errorCode: nerve_node_036 httpCode: '500' message: Failed to create node security: - sessionId: [] get: summary: Get the selected node operationId: get_node_by_serial_number tags: - Node description: Used to get one specific node referenced by the serialNumber. parameters: - name: serialNumber in: query required: true description: The serial number of the node which was specified during onboarding into the Nerve Management System. schema: description: The serial number of the node type: string maxLength: 12 minLength: 12 pattern: ([A-Z0-9]){12} x-permissions: - NODE:VIEW responses: '200': description: Operation was successful. content: application/json: schema: description: Node object from the database with basic information type: object required: - name - serialNumber - _id properties: _id: description: ID (from Management System) of the entry type: string pattern: ^[0-9a-fA-F]{24}$ minLength: 24 maxLength: 24 name: type: string description: The name of the node minLength: 1 maxLength: 40 pattern: ^\s*(?=[a-zA-Z0-9_ -]+$)\S.*$ serialNumber: description: The serial number of the node type: string maxLength: 12 minLength: 12 pattern: ([A-Z0-9]){12} labels: description: List of labels assigned to the node type: array minItems: 0 maxItems: 1001 items: description: Label DB id remoteConnections: type: array description: List of defined remote connections minItems: 0 maxItems: 1001 items: description: Array of different remote connection types. anyOf: - type: object description: Remote tunnel required: - name - acknowledgment - port - localPort - type properties: type: type: string description: Remote connection type enum: - TUNNEL name: type: string description: Remote connection name pattern: (?=.*[^ ].*)(?=(^[^\u0000-\u001f\u007f-\u009f]*$)) minLength: 1 maxLength: 40 acknowledgment: type: string description: Defines if local acknowledgement is required to establish a connection. To confirm connection, it is necessary to have access to the LocalUI web application. enum: - 'Yes' - 'No' hostname: type: string minLength: 0 maxLength: 0 pattern: ^$ description: Target hostname or ip address to which connection is established port: description: Port on the target to which connection is established (port on the node for opening tunnel to chisel server) oneOf: - type: integer format: int32 minimum: 0 maximum: 65535 description: Port which is used to establish connection - type: string pattern: ^\d+$ localPort: description: Port on local PC to establish remote tunnel oneOf: - type: integer format: int32 minimum: 0 maximum: 65535 description: Port which is used to establish connection - type: string pattern: ^\d+$ oldName: description: Old remote connection name minLength: 0 maxLength: 1000 type: string pattern: ^[\x20-\x7E\t\n\r]*$ - type: object description: Remote tunnel required: - name - acknowledgment - hostname - port - localPort - type properties: type: type: string description: Remote connection type enum: - TUNNEL name: type: string description: Remote connection name pattern: (?=.*[^ ].*)(?=(^[^\u0000-\u001f\u007f-\u009f]*$)) minLength: 1 maxLength: 40 acknowledgment: type: string description: Defines if local acknowledgement is required to establish a connection. To confirm connection, it is necessary to have access to the LocalUI web application. enum: - 'Yes' - 'No' hostname: type: string description: Target hostname or ip address to which connection is established minLength: 1 maxLength: 40 pattern: ^[a-zA-Z0-9][a-zA-Z0-9_.-]*$ port: description: Port on the target to which connection is established (port on the node for opening tunnel to chisel server) oneOf: - type: integer format: int32 minimum: 0 maximum: 65535 description: Port which is used to establish connection - type: string pattern: ^\d+$ localPort: description: Port on local PC to establish remote tunnel oneOf: - type: integer format: int32 minimum: 0 maximum: 65535 description: Port which is used to establish connection - type: string pattern: ^\d+$ oldName: description: Old remote connection name minLength: 0 maxLength: 1000 type: string pattern: ^[\x20-\x7E\t\n\r]*$ - description: Remote screen VNC allOf: - anyOf: - type: object required: - name - numberOfConnections - acknowledgment - hostname - port - autoretry - type properties: type: type: string description: Remote connection type enum: - SCREEN name: type: string description: Remote connection name pattern: (?=.*[^ ].*)(?=(^[^\u0000-\u001f\u007f-\u009f]*$)) minLength: 1 maxLength: 40 numberOfConnections: type: integer format: int32 description: The maximum number of simultaneous connections minimum: 1 maximum: 100 acknowledgment: type: string description: Defines if local acknowledgement is required to establish a connection. To confirm connection, it is necessary to have access to the LocalUI web application. enum: - 'Yes' - 'No' hostname: type: string description: Target hostname or ip address to which connection is established minLength: 1 maxLength: 40 pattern: ^[a-zA-Z0-9][a-zA-Z0-9_.-]*$ port: description: Port on the target to which connection is established (port on the node for opening tunnel to chisel server) oneOf: - type: integer format: int32 minimum: 0 maximum: 65535 description: Port which is used to establish connection - type: string pattern: ^\d+$ autoretry: type: integer format: int32 description: The number of times to retry connecting before giving up and returning an error minimum: 1 maximum: 3 cursor: type: string description: 'Defines if the cursor is rendered locally or remotely ' enum: - '' - local - remote readOnly: type: boolean description: Defines whether the connection should be read-only. swapRedBlue: description: Specifies whether the red and blue indicators for the remote connection should be swapped type: boolean oldName: description: Old remote connection name minLength: 0 maxLength: 1000 type: string pattern: ^[\x20-\x7E\t\n\r]*$ - type: object required: - name - numberOfConnections - acknowledgment - port - autoretry - type properties: type: type: string description: Remote connection type enum: - SCREEN name: type: string description: Remote connection name pattern: (?=.*[^ ].*)(?=(^[^\u0000-\u001f\u007f-\u009f]*$)) minLength: 1 maxLength: 40 numberOfConnections: type: integer format: int32 description: The maximum number of simultaneous connections minimum: 1 maximum: 100 acknowledgment: type: string description: Defines if local acknowledgement is required to establish a connection. To confirm connection, it is necessary to have access to the LocalUI web application. enum: - 'Yes' - 'No' port: description: Port on the target to which connection is established (port on the node for opening tunnel to chisel server) oneOf: - type: integer format: int32 minimum: 0 maximum: 65535 description: Port which is used to establish connection - type: string pattern: ^\d+$ autoretry: type: integer format: int32 description: The number of times to retry connecting before giving up and returning an error minimum: 1 maximum: 3 cursor: type: string description: 'Defines if the cursor is rendered locally or remotely ' enum: - '' - local - remote readOnly: type: boolean description: Defines whether the connection should be read-only. swapRedBlue: description: Specifies whether the red and blue indicators for the remote connection should be swapped type: boolean oldName: description: Old remote connection name minLength: 0 maxLength: 1000 type: string pattern: ^[\x20-\x7E\t\n\r]*$ - type: object required: - connection - password properties: connection: type: string description: Remote screen type enum: - VNC password: description: Password to use when attempting authentication minLength: 0 maxLength: 40 type: string pattern: ^[\x20-\x7E\t\n\r]*$ - description: Remote screen SSH allOf: - anyOf: - type: object required: - name - numberOfConnections - acknowledgment - hostname - port - autoretry - type properties: type: type: string description: Remote connection type enum: - SCREEN name: type: string description: Remote connection name pattern: (?=.*[^ ].*)(?=(^[^\u0000-\u001f\u007f-\u009f]*$)) minLength: 1 maxLength: 40 numberOfConnections: type: integer format: int32 description: The maximum number of simultaneous connections minimum: 1 maximum: 100 acknowledgment: type: string description: Defines if local acknowledgement is required to establish a connection. To confirm connection, it is necessary to have access to the LocalUI web application. enum: - 'Yes' - 'No' hostname: type: string description: Target hostname or ip address to which connection is established minLength: 1 maxLength: 40 pattern: ^[a-zA-Z0-9][a-zA-Z0-9_.-]*$ port: description: Port on the target to which connection is established (port on the node for opening tunnel to chisel server) oneOf: - type: integer format: int32 minimum: 0 maximum: 65535 description: Port which is used to establish connection - type: string pattern: ^\d+$ autoretry: type: integer format: int32 description: The number of times to retry connecting before giving up and returning an error minimum: 1 maximum: 3 cursor: type: string description: 'Defines if the cursor is rendered locally or remotely ' enum: - '' - local - remote readOnly: type: boolean description: Defines whether the connection should be read-only. swapRedBlue: description: Specifies whether the red and blue indicators for the remote connection should be swapped type: boolean oldName: description: Old remote connection name minLength: 0 maxLength: 1000 type: string pattern: ^[\x20-\x7E\t\n\r]*$ - type: object required: - name - numberOfConnections - acknowledgment - port - autoretry - type properties: type: type: string description: Remote connection type enum: - SCREEN name: type: string description: Remote connection name pattern: (?=.*[^ ].*)(?=(^[^\u0000-\u001f\u007f-\u009f]*$)) minLength: 1 maxLength: 40 numberOfConnections: type: integer format: int32 description: The maximum number of simultaneous connections minimum: 1 maximum: 100 acknowledgment: type: string description: Defines if local acknowledgement is required to establish a connection. To confirm connection, it is necessary to have access to the LocalUI web application. enum: - 'Yes' - 'No' port: description: Port on the target to which connection is established (port on the node for opening tunnel to chisel server) oneOf: - type: integer format: int32 minimum: 0 maximum: 65535 description: Port which is used to establish connection - type: string pattern: ^\d+$ autoretry: type: integer format: int32 description: The number of times to retry connecting before giving up and returning an error minimum: 1 maximum: 3 cursor: type: string description: 'Defines if the cursor is rendered locally or remotely ' enum: - '' - local - remote readOnly: type: boolean description: Defines whether the connection should be read-only. swapRedBlue: description: Specifies whether the red and blue indicators for the remote connection should be swapped type: boolean oldName: description: Old remote connection name minLength: 0 maxLength: 1000 type: string pattern: ^[\x20-\x7E\t\n\r]*$ - type: object required: - connection properties: connection: type: string description: Remote screen type enum: - SSH username: type: string description: Username to use for authentication minLength: 0 maxLength: 40 pattern: ^[^\u0000-\u001f\u007f-\u009f:]*$ password: description: Password to use when attempting authentication minLength: 0 maxLength: 40 type: string pattern: ^[\x20-\x7E\t\n\r]*$ privatekeyFlag: type: boolean default: false description: Option to choose authentication via private SSH key privateKey: description: The contents of the private key to use for authentication minLength: 0 maxLength: 1000 type: string pattern: ^[\x20-\x7E\t\n\r]*$ - description: Remote screen RDP allOf: - anyOf: - type: object required: - name - numberOfConnections - acknowledgment - hostname - port - autoretry - type properties: type: type: string description: Remote connection type enum: - SCREEN name: type: string description: Remote connection name pattern: (?=.*[^ ].*)(?=(^[^\u0000-\u001f\u007f-\u009f]*$)) minLength: 1 maxLength: 40 numberOfConnections: type: integer format: int32 description: The maximum number of simultaneous connections minimum: 1 maximum: 100 acknowledgment: type: string description: Defines if local acknowledgement is required to establish a connection. To confirm connection, it is necessary to have access to the LocalUI web application. enum: - 'Yes' - 'No' hostname: type: string description: Target hostname or ip address to which connection is established minLength: 1 maxLength: 40 pattern: ^[a-zA-Z0-9][a-zA-Z0-9_.-]*$ port: description: Port on the target to which connection is established (port on the node for opening tunnel to chisel server) oneOf: - type: integer format: int32 minimum: 0 maximum: 65535 description: Port which is used to establish connection - type: string pattern: ^\d+$ autoretry: type: integer format: int32 description: The number of times to retry connecting before giving up and returning an error minimum: 1 maximum: 3 cursor: type: string description: 'Defines if the cursor is rendered locally or remotely ' enum: - '' - local - remote readOnly: type: boolean description: Defines whether the connection should be read-only. swapRedBlue: description: Specifies whether the red and blue indicators for the remote connection should be swapped type: boolean oldName: description: Old remote connection name minLength: 0 maxLength: 1000 type: string pattern: ^[\x20-\x7E\t\n\r]*$ - type: object required: - name - numberOfConnections - acknowledgment - port - autoretry - type properties: type: type: string description: Remote connection type enum: - SCREEN name: type: string description: Remote connection name pattern: (?=.*[^ ].*)(?=(^[^\u0000-\u001f\u007f-\u009f]*$)) minLength: 1 maxLength: 40 numberOfConnections: type: integer format: int32 description: The maximum number of simultaneous connections minimum: 1 maximum: 100 acknowledgment: type: string description: Defines if local acknowledgement is required to establish a connection. To confirm connection, it is necessary to have access to the LocalUI web application. enum: - 'Yes' - 'No' port: description: Port on the target to which connection is established (port on the node for opening tunnel to chisel server) oneOf: - type: integer format: int32 minimum: 0 maximum: 65535 description: Port which is used to establish connection - type: string pattern: ^\d+$ autoretry: type: integer format: int32 description: The number of times to retry connecting before giving up and returning an error minimum: 1 maximum: 3 cursor: type: string description: 'Defines if the cursor is rendered locally or remotely ' enum: - '' - local - remote readOnly: type: boolean description: Defines whether the connection should be read-only. swapRedBlue: description: Specifies whether the red and blue indicators for the remote connection should be swapped type: boolean oldName: description: Old remote connection name minLength: 0 maxLength: 1000 type: string pattern: ^[\x20-\x7E\t\n\r]*$ - type: object required: - connection properties: connection: type: string description: Remote screen type enum: - RDP username: type: string description: Username to use for authentication minLength: 0 maxLength: 40 pattern: ^[^\u0000-\u001f\u007f-\u009f:]*$ password: description: Password to use when attempting authentication minLength: 0 maxLength: 40 type: string pattern: ^[\x20-\x7E\t\n\r]*$ ignoreServerCertificate: type: boolean default: false description: Defines if the server certificate should be ignored when connecting to the target securityMode: type: string description: Dictates how data will be encrypted and what type of authentication will be performed enum: - '' - any - nla - rdp - tls example: rebootStatus: false factoryResetStatus: false installationInProgress: false staging: beta backupRestoreInProgress: false isAutomaticallyBackup: false unassignInProgress: false subgroup: default labels: [] remoteConnections: - _id: 62befe27d82c98006ed99cbe name: local ui acknowledgment: 'No' hostname: 172.20.2.1 port: 3333 localPort: 5656 type: TUNNEL activeConnections: [] __v: 0 - _id: 62befe39ae8a5a0055289b69 name: tunnel node acknowledgment: 'No' hostname: localhost port: 22 localPort: 1212 type: TUNNEL activeConnections: [] __v: 0 - _id: 62befe45ae8a5a0055289bab name: screen node location: '' connection: SSH numberOfConnections: 1 acknowledgment: 'No' hostname: localhost port: 22 localPort: 0 autoretry: 1 swapRedBlue: false cursor: '' readOnly: false username: '' password: '' type: SCREEN privateKey: '' securityMode: '' ignoreServerCertificate: false activeConnections: [] __v: 0 isUpdating: false updateStartedTimestamp: null lastSystemStart: 1658224058180 vmSnapshot: true vmBackup: true _id: 62befdddd82c98006ed99b61 name: mfn lab serialNumber: MFN000000000 secureId: 086091F3E069407A model: mfn-100 type: hg hash: 22dc08d3b2e7d678ef1f438c9bd23fec4fb3077f connectionStatus: online hardwareId: 62befb774b1e51005532dd08 manufacturer: nerve oui: nerve userId: 62befb774b1e51005532dcfa installations: [] created: '2022-07-01T13:59:57.212Z' capabilities: - _id: 62befde1f85a1c16c234f0e3 name: CODESYS PLC description: '' - _id: 62d151972c1648cb6dd094ed name: Vm video option description: '' - _id: 62befde3f85a1c16c234f11a name: Virtualization via XEN description: '' - _id: 62befbde4b1e510055336264 name: Virtualization description: '' - _id: 62befde1f85a1c16c234f0db name: Logging via Filebeat description: '' - _id: 62befde1f85a1c16c234f0da name: Docker Container description: '' - _id: 62befde1f85a1c16c234f0df name: Monitoring via Metricbeat description: '' __v: 10 lastTimeStatusUpdated: '2022-07-19T09:47:39.498Z' currentFWVersion: 2.5.0 heartBeatReceived: 1658231261729 imageVariant: generic timezone: _id: 63f4b53f65e08a005a2c1421 name: Etc/UTC '400': description: Route params validation error content: application/json: schema: description: Generic error response returned from the server in case of a failed operation. properties: errorCode: description: String that is used as a key for appropriate translation on the front-end application. type: string minLength: 4 maxLength: 100 pattern: ^[a-zA-Z0-9_-]*$ httpCode: description: Http error code assigned to the error. type: string minLength: 3 maxLength: 3 pattern: ^[0-9]*$ message: description: Error message in English. minLength: 5 maxLength: 512 type: string pattern: ^[\x20-\x7E\t\n\r]*$ example: errorCode: '00006' httpCode: '400' message: Route params validation error '403': description: You are not authorized to perform this operation content: application/json: schema: description: Generic error response returned from the server in case of a failed operation. properties: errorCode: description: String that is used as a key for appropriate translation on the front-end application. type: string minLength: 4 maxLength: 100 pattern: ^[a-zA-Z0-9_-]*$ httpCode: description: Http error code assigned to the error. type: string minLength: 3 maxLength: 3 pattern: ^[0-9]*$ message: description: Error message in English. minLength: 5 maxLength: 512 type: string pattern: ^[\x20-\x7E\t\n\r]*$ examples: not_authorized: value: errorCode: '00003' httpCode: '403' message: You are not authorized '404': description: Node with provided serial number was not found. content: application/json: schema: description: Generic error response returned from the server in case of a failed operation. properties: errorCode: description: String that is used as a key for appropriate translation on the front-end application. type: string minLength: 4 maxLength: 100 pattern: ^[a-zA-Z0-9_-]*$ httpCode: description: Http error code assigned to the error. type: string minLength: 3 maxLength: 3 pattern: ^[0-9]*$ message: description: Error message in English. minLength: 5 maxLength: 512 type: string pattern: ^[\x20-\x7E\t\n\r]*$ example: errorCode: nerve_node_012 httpCode: '404' message: Node you are looking for was not found security: - sessionId: [] servers: - url: https://trynerve1.nerve.cloud /nerve/node/{nodeId}: get: summary: Get data of the selected node operationId: get_node tags: - Node description: Used to retrieve one specific node by the nodeId parameter. The delete route uses the serial number as parameter. This will be redesigned in v2 Node release. parameters: - name: nodeId in: path required: true description: Node id specified by the Management System. schema: description: ID (from Management System) of the entry type: string pattern: ^[0-9a-fA-F]{24}$ minLength: 24 maxLength: 24 - name: fetchFreshNodeData in: query description: When getting node information from the database, with fetchFreshNodeData query param set to true, latest node information will be retrieved directly from the node device. required: false schema: type: boolean default: true responses: '200': description: Operation was successful. content: application/json: schema: description: Node object from the database type: object allOf: - description: Node object from the database without remote connections type: object required: - name - serialNumber - type - hash - labels - subgroup - created - rebootStatus - connectionStatus - vmBackup - vmSnapshot - userId properties: _id: allOf: - description: ID (from Management System) of the entry. Can be a string or an object. oneOf: - description: ID (from Management System) of the entry type: string pattern: ^[0-9a-fA-F]{24}$ minLength: 24 maxLength: 24 - type: object - description: Node id from the database (nodeId) name: type: string description: The name of the node minLength: 1 maxLength: 40 pattern: ^\s*(?=[a-zA-Z0-9_ -]+$)\S.*$ serialNumber: description: The serial number of the node type: string maxLength: 12 minLength: 12 pattern: ([A-Z0-9]){12} model: description: The name of the hardware model (hardware model must be defined in the database) minLength: 1 maxLength: 1000 type: string pattern: ^[\x20-\x7E\t\n\r]*$ labels: description: List of labels assigned to the node type: array minItems: 0 maxItems: 1001 items: description: Label DB id type: type: string minLength: 1 maxLength: 1000 pattern: ^[\x20-\x7E\t\n\r]*$ description: Type of the device default: hg hash: type: string pattern: ^[\x20-\x7E\t\n\r]*$ minLength: 1 maxLength: 1000 description: Calculated hash hardwareId: description: ID (from Management System) of the entry. Can be a string or an object. oneOf: - description: ID (from Management System) of the entry type: string pattern: ^[0-9a-fA-F]{24}$ minLength: 24 maxLength: 24 - type: object manufacturer: type: string pattern: ^[\x20-\x7E\t\n\r]*$ description: Identification of the hardware manufacturer(human readable) default: nerve minLength: 1 maxLength: 1000 oui: type: string pattern: ^[\x20-\x7E\t\n\r]*$ description: Identification of the hardware manufacturer default: nerve minLength: 1 maxLength: 1000 subgroup: type: string pattern: ^[\x20-\x7E\t\n\r]*$ minLength: 1 maxLength: 1000 description: Node subgroup unassignInProgress: type: boolean description: Indicates if unassigning node is in progress(OBLO legacy) isAutomaticallyBackup: type: boolean description: (OBLO legacy) default: false staging: type: string pattern: ^[\x20-\x7E\t\n\r]*$ minLength: 1 maxLength: 1000 description: Node staging type [beta, test, latest, minimum](OBLO legacy) default: beta installationInProgress: type: boolean description: Indicates if installation of software is in progress(OBLO legacy) created: description: Date when node was created anyOf: - type: string description: Date and time in ISO 8601 format format: date-time pattern: ^\d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}\.\d{3}Z$ minLength: 24 maxLength: 24 - type: object installations: type: array minItems: 0 maxItems: 1001 description: List of software assigned to the node(OBLO legacy) items: type: object factoryResetStatus: type: boolean description: Indicates if factory reset procedure initiated from SC(OBLO legacy) rebootStatus: type: boolean description: Indicates if reboot procedure initiated from SC(OBLO legacy) backupRestoreInProgress: type: boolean description: Determines backup status(OBLO legacy) isUpdating: type: boolean description: Is node currently updating to newer version vmBackup: type: - boolean - 'null' description: Is the VM backup option is allowed on the node default: false vmSnapshot: type: - boolean - 'null' description: Is the VM snapshot option is allowed on the node default: false updateStartedTimestamp: type: - integer - 'null' format: int64 description: Timestamp when node update started minimum: 0 maximum: 4102444800000 lastSystemStart: type: - integer - 'null' format: int64 description: Timestamp when the node was last started minimum: 0 maximum: 4102444800000 connectionStatus: description: Status if the node connection to MS enum: - online - offline userId: allOf: - description: ID (from Management System) of the entry type: string pattern: ^[0-9a-fA-F]{24}$ minLength: 24 maxLength: 24 - description: User id from the database (_id) of the user who created the node capabilities: type: array minItems: 0 maxItems: 1001 description: List of capabilities items: type: object description: List of capabilities. properties: name: type: string pattern: ^[\x20-\x7E\t\n\r]*$ minLength: 1 maxLength: 1000 description: Capability name description: type: string pattern: ^[\x20-\x7E\t\n\r]*$ minLength: 0 maxLength: 1000 description: Short capability description imageVariant: type: string pattern: ^[\x20-\x7E\t\n\r]*$ description: Image variant (introduced for generic image updates) default: '' minLength: 0 maxLength: 1000 lastTimeStatusUpdated: description: Timestamp of the last time the status was updated anyOf: - type: - string - 'null' format: date-time minLength: 8 maxLength: 30 - type: - object - 'null' currentFWVersion: minLength: 0 maxLength: 1000 description: Node version(e.g. 2.5) default: '' type: string pattern: ^[\x20-\x7E\t\n\r]*$ heartBeatReceived: description: Timestamp of the node heartbeat message type: number timezone: description: Timezone set on node type: - object - 'null' properties: name: type: string pattern: ^[\x20-\x7E\t\n\r]*$ description: The timezone setup on node minLength: 1 maxLength: 1000 hardwareName: description: The name of the hardware model type: string minLength: 1 maxLength: 1000 pattern: ^[a-zA-Z0-9\s-]+$ - type: object required: - remoteConnections properties: remoteConnections: type: array description: List of defined remote connections minItems: 0 maxItems: 1001 items: description: Array of different remote connection types. anyOf: - type: object description: Remote tunnel required: - name - acknowledgment - port - localPort - type properties: type: type: string description: Remote connection type enum: - TUNNEL name: type: string description: Remote connection name pattern: (?=.*[^ ].*)(?=(^[^\u0000-\u001f\u007f-\u009f]*$)) minLength: 1 maxLength: 40 acknowledgment: type: string description: Defines if local acknowledgement is required to establish a connection. To confirm connection, it is necessary to have access to the LocalUI web application. enum: - 'Yes' - 'No' hostname: type: string minLength: 0 maxLength: 0 pattern: ^$ description: Target hostname or ip address to which connection is established port: description: Port on the target to which connection is established (port on the node for opening tunnel to chisel server) oneOf: - type: integer format: int32 minimum: 0 maximum: 65535 description: Port which is used to establish connection - type: string pattern: ^\d+$ localPort: description: Port on local PC to establish remote tunnel oneOf: - type: integer format: int32 minimum: 0 maximum: 65535 description: Port which is used to establish connection - type: string pattern: ^\d+$ oldName: description: Old remote connection name minLength: 0 maxLength: 1000 type: string pattern: ^[\x20-\x7E\t\n\r]*$ - type: object description: Remote tunnel required: - name - acknowledgment - hostname - port - localPort - type properties: type: type: string description: Remote connection type enum: - TUNNEL name: type: string description: Remote connection name pattern: (?=.*[^ ].*)(?=(^[^\u0000-\u001f\u007f-\u009f]*$)) minLength: 1 maxLength: 40 acknowledgment: type: string description: Defines if local acknowledgement is required to establish a connection. To confirm connection, it is necessary to have access to the LocalUI web application. enum: - 'Yes' - 'No' hostname: type: string description: Target hostname or ip address to which connection is established minLength: 1 maxLength: 40 pattern: ^[a-zA-Z0-9][a-zA-Z0-9_.-]*$ port: description: Port on the target to which connection is established (port on the node for opening tunnel to chisel server) oneOf: - type: integer format: int32 minimum: 0 maximum: 65535 description: Port which is used to establish connection - type: string pattern: ^\d+$ localPort: description: Port on local PC to establish remote tunnel oneOf: - type: integer format: int32 minimum: 0 maximum: 65535 description: Port which is used to establish connection - type: string pattern: ^\d+$ oldName: description: Old remote connection name minLength: 0 maxLength: 1000 type: string pattern: ^[\x20-\x7E\t\n\r]*$ - description: Remote screen VNC allOf: - anyOf: - type: object required: - name - numberOfConnections - acknowledgment - hostname - port - autoretry - type properties: type: type: string description: Remote connection type enum: - SCREEN name: type: string description: Remote connection name pattern: (?=.*[^ ].*)(?=(^[^\u0000-\u001f\u007f-\u009f]*$)) minLength: 1 maxLength: 40 numberOfConnections: type: integer format: int32 description: The maximum number of simultaneous connections minimum: 1 maximum: 100 acknowledgment: type: string description: Defines if local acknowledgement is required to establish a connection. To confirm connection, it is necessary to have access to the LocalUI web application. enum: - 'Yes' - 'No' hostname: type: string description: Target hostname or ip address to which connection is established minLength: 1 maxLength: 40 pattern: ^[a-zA-Z0-9][a-zA-Z0-9_.-]*$ port: description: Port on the target to which connection is established (port on the node for opening tunnel to chisel server) oneOf: - type: integer format: int32 minimum: 0 maximum: 65535 description: Port which is used to establish connection - type: string pattern: ^\d+$ autoretry: type: integer format: int32 description: The number of times to retry connecting before giving up and returning an error minimum: 1 maximum: 3 cursor: type: string description: 'Defines if the cursor is rendered locally or remotely ' enum: - '' - local - remote readOnly: type: boolean description: Defines whether the connection should be read-only. swapRedBlue: description: Specifies whether the red and blue indicators for the remote connection should be swapped type: boolean oldName: description: Old remote connection name minLength: 0 maxLength: 1000 type: string pattern: ^[\x20-\x7E\t\n\r]*$ - type: object required: - name - numberOfConnections - acknowledgment - port - autoretry - type properties: type: type: string description: Remote connection type enum: - SCREEN name: type: string description: Remote connection name pattern: (?=.*[^ ].*)(?=(^[^\u0000-\u001f\u007f-\u009f]*$)) minLength: 1 maxLength: 40 numberOfConnections: type: integer format: int32 description: The maximum number of simultaneous connections minimum: 1 maximum: 100 acknowledgment: type: string description: Defines if local acknowledgement is required to establish a connection. To confirm connection, it is necessary to have access to the LocalUI web application. enum: - 'Yes' - 'No' port: description: Port on the target to which connection is established (port on the node for opening tunnel to chisel server) oneOf: - type: integer format: int32 minimum: 0 maximum: 65535 description: Port which is used to establish connection - type: string pattern: ^\d+$ autoretry: type: integer format: int32 description: The number of times to retry connecting before giving up and returning an error minimum: 1 maximum: 3 cursor: type: string description: 'Defines if the cursor is rendered locally or remotely ' enum: - '' - local - remote readOnly: type: boolean description: Defines whether the connection should be read-only. swapRedBlue: description: Specifies whether the red and blue indicators for the remote connection should be swapped type: boolean oldName: description: Old remote connection name minLength: 0 maxLength: 1000 type: string pattern: ^[\x20-\x7E\t\n\r]*$ - type: object required: - connection - password properties: connection: type: string description: Remote screen type enum: - VNC password: description: Password to use when attempting authentication minLength: 0 maxLength: 40 type: string pattern: ^[\x20-\x7E\t\n\r]*$ - description: Remote screen SSH allOf: - anyOf: - type: object required: - name - numberOfConnections - acknowledgment - hostname - port - autoretry - type properties: type: type: string description: Remote connection type enum: - SCREEN name: type: string description: Remote connection name pattern: (?=.*[^ ].*)(?=(^[^\u0000-\u001f\u007f-\u009f]*$)) minLength: 1 maxLength: 40 numberOfConnections: type: integer format: int32 description: The maximum number of simultaneous connections minimum: 1 maximum: 100 acknowledgment: type: string description: Defines if local acknowledgement is required to establish a connection. To confirm connection, it is necessary to have access to the LocalUI web application. enum: - 'Yes' - 'No' hostname: type: string description: Target hostname or ip address to which connection is established minLength: 1 maxLength: 40 pattern: ^[a-zA-Z0-9][a-zA-Z0-9_.-]*$ port: description: Port on the target to which connection is established (port on the node for opening tunnel to chisel server) oneOf: - type: integer format: int32 minimum: 0 maximum: 65535 description: Port which is used to establish connection - type: string pattern: ^\d+$ autoretry: type: integer format: int32 description: The number of times to retry connecting before giving up and returning an error minimum: 1 maximum: 3 cursor: type: string description: 'Defines if the cursor is rendered locally or remotely ' enum: - '' - local - remote readOnly: type: boolean description: Defines whether the connection should be read-only. swapRedBlue: description: Specifies whether the red and blue indicators for the remote connection should be swapped type: boolean oldName: description: Old remote connection name minLength: 0 maxLength: 1000 type: string pattern: ^[\x20-\x7E\t\n\r]*$ - type: object required: - name - numberOfConnections - acknowledgment - port - autoretry - type properties: type: type: string description: Remote connection type enum: - SCREEN name: type: string description: Remote connection name pattern: (?=.*[^ ].*)(?=(^[^\u0000-\u001f\u007f-\u009f]*$)) minLength: 1 maxLength: 40 numberOfConnections: type: integer format: int32 description: The maximum number of simultaneous connections minimum: 1 maximum: 100 acknowledgment: type: string description: Defines if local acknowledgement is required to establish a connection. To confirm connection, it is necessary to have access to the LocalUI web application. enum: - 'Yes' - 'No' port: description: Port on the target to which connection is established (port on the node for opening tunnel to chisel server) oneOf: - type: integer format: int32 minimum: 0 maximum: 65535 description: Port which is used to establish connection - type: string pattern: ^\d+$ autoretry: type: integer format: int32 description: The number of times to retry connecting before giving up and returning an error minimum: 1 maximum: 3 cursor: type: string description: 'Defines if the cursor is rendered locally or remotely ' enum: - '' - local - remote readOnly: type: boolean description: Defines whether the connection should be read-only. swapRedBlue: description: Specifies whether the red and blue indicators for the remote connection should be swapped type: boolean oldName: description: Old remote connection name minLength: 0 maxLength: 1000 type: string pattern: ^[\x20-\x7E\t\n\r]*$ - type: object required: - connection properties: connection: type: string description: Remote screen type enum: - SSH username: type: string description: Username to use for authentication minLength: 0 maxLength: 40 pattern: ^[^\u0000-\u001f\u007f-\u009f:]*$ password: description: Password to use when attempting authentication minLength: 0 maxLength: 40 type: string pattern: ^[\x20-\x7E\t\n\r]*$ privatekeyFlag: type: boolean default: false description: Option to choose authentication via private SSH key privateKey: description: The contents of the private key to use for authentication minLength: 0 maxLength: 1000 type: string pattern: ^[\x20-\x7E\t\n\r]*$ - description: Remote screen RDP allOf: - anyOf: - type: object required: - name - numberOfConnections - acknowledgment - hostname - port - autoretry - type properties: type: type: string description: Remote connection type enum: - SCREEN name: type: string description: Remote connection name pattern: (?=.*[^ ].*)(?=(^[^\u0000-\u001f\u007f-\u009f]*$)) minLength: 1 maxLength: 40 numberOfConnections: type: integer format: int32 description: The maximum number of simultaneous connections minimum: 1 maximum: 100 acknowledgment: type: string description: Defines if local acknowledgement is required to establish a connection. To confirm connection, it is necessary to have access to the LocalUI web application. enum: - 'Yes' - 'No' hostname: type: string description: Target hostname or ip address to which connection is established minLength: 1 maxLength: 40 pattern: ^[a-zA-Z0-9][a-zA-Z0-9_.-]*$ port: description: Port on the target to which connection is established (port on the node for opening tunnel to chisel server) oneOf: - type: integer format: int32 minimum: 0 maximum: 65535 description: Port which is used to establish connection - type: string pattern: ^\d+$ autoretry: type: integer format: int32 description: The number of times to retry connecting before giving up and returning an error minimum: 1 maximum: 3 cursor: type: string description: 'Defines if the cursor is rendered locally or remotely ' enum: - '' - local - remote readOnly: type: boolean description: Defines whether the connection should be read-only. swapRedBlue: description: Specifies whether the red and blue indicators for the remote connection should be swapped type: boolean oldName: description: Old remote connection name minLength: 0 maxLength: 1000 type: string pattern: ^[\x20-\x7E\t\n\r]*$ - type: object required: - name - numberOfConnections - acknowledgment - port - autoretry - type properties: type: type: string description: Remote connection type enum: - SCREEN name: type: string description: Remote connection name pattern: (?=.*[^ ].*)(?=(^[^\u0000-\u001f\u007f-\u009f]*$)) minLength: 1 maxLength: 40 numberOfConnections: type: integer format: int32 description: The maximum number of simultaneous connections minimum: 1 maximum: 100 acknowledgment: type: string description: Defines if local acknowledgement is required to establish a connection. To confirm connection, it is necessary to have access to the LocalUI web application. enum: - 'Yes' - 'No' port: description: Port on the target to which connection is established (port on the node for opening tunnel to chisel server) oneOf: - type: integer format: int32 minimum: 0 maximum: 65535 description: Port which is used to establish connection - type: string pattern: ^\d+$ autoretry: type: integer format: int32 description: The number of times to retry connecting before giving up and returning an error minimum: 1 maximum: 3 cursor: type: string description: 'Defines if the cursor is rendered locally or remotely ' enum: - '' - local - remote readOnly: type: boolean description: Defines whether the connection should be read-only. swapRedBlue: description: Specifies whether the red and blue indicators for the remote connection should be swapped type: boolean oldName: description: Old remote connection name minLength: 0 maxLength: 1000 type: string pattern: ^[\x20-\x7E\t\n\r]*$ - type: object required: - connection properties: connection: type: string description: Remote screen type enum: - RDP username: type: string description: Username to use for authentication minLength: 0 maxLength: 40 pattern: ^[^\u0000-\u001f\u007f-\u009f:]*$ password: description: Password to use when attempting authentication minLength: 0 maxLength: 40 type: string pattern: ^[\x20-\x7E\t\n\r]*$ ignoreServerCertificate: type: boolean default: false description: Defines if the server certificate should be ignored when connecting to the target securityMode: type: string description: Dictates how data will be encrypted and what type of authentication will be performed enum: - '' - any - nla - rdp - tls example: rebootStatus: false factoryResetStatus: false installationInProgress: false staging: beta backupRestoreInProgress: false isAutomaticallyBackup: false unassignInProgress: false subgroup: default labels: [] remoteConnections: - _id: 62befe27d82c98006ed99cbe name: local ui acknowledgment: 'No' hostname: 172.20.2.1 port: 3333 localPort: 5656 type: TUNNEL activeConnections: [] __v: 0 - _id: 62befe39ae8a5a0055289b69 name: tunnel node acknowledgment: 'No' hostname: localhost port: 22 localPort: 1212 type: TUNNEL activeConnections: [] __v: 0 - _id: 62befe45ae8a5a0055289bab name: screen node location: '' connection: SSH numberOfConnections: 1 acknowledgment: 'No' hostname: localhost port: 22 localPort: 0 autoretry: 1 swapRedBlue: false cursor: '' readOnly: false username: '' password: '' type: SCREEN privateKey: '' securityMode: '' ignoreServerCertificate: false activeConnections: [] __v: 0 isUpdating: false updateStartedTimestamp: null lastSystemStart: 1658224058180 vmSnapshot: true vmBackup: true _id: 62befdddd82c98006ed99b61 name: mfn lab serialNumber: MFN000000000 secureId: 086091F3E069407A model: mfn-100 type: hg hash: 22dc08d3b2e7d678ef1f438c9bd23fec4fb3077f connectionStatus: online hardwareId: 62befb774b1e51005532dd08 manufacturer: nerve oui: nerve userId: 62befb774b1e51005532dcfa installations: [] created: '2022-07-01T13:59:57.212Z' capabilities: - _id: 62befde1f85a1c16c234f0e3 name: CODESYS PLC description: '' - _id: 62d151972c1648cb6dd094ed name: Vm video option description: '' - _id: 62befde3f85a1c16c234f11a name: Virtualization via XEN description: '' - _id: 62befbde4b1e510055336264 name: Virtualization description: '' - _id: 62befde1f85a1c16c234f0db name: Logging via Filebeat description: '' - _id: 62befde1f85a1c16c234f0da name: Docker Container description: '' - _id: 62befde1f85a1c16c234f0df name: Monitoring via Metricbeat description: '' __v: 10 lastTimeStatusUpdated: '2022-07-19T09:47:39.498Z' currentFWVersion: 2.5.0 heartBeatReceived: 1658231261729 imageVariant: generic timezone: _id: 63f4b53f65e08a005a2c1421 name: Etc/UTC '400': description: Route params validation error content: application/json: schema: description: Generic error response returned from the server in case of a failed operation. properties: errorCode: description: String that is used as a key for appropriate translation on the front-end application. type: string minLength: 4 maxLength: 100 pattern: ^[a-zA-Z0-9_-]*$ httpCode: description: Http error code assigned to the error. type: string minLength: 3 maxLength: 3 pattern: ^[0-9]*$ message: description: Error message in English. minLength: 5 maxLength: 512 type: string pattern: ^[\x20-\x7E\t\n\r]*$ example: errorCode: '00006' httpCode: '400' message: Route params validation error '403': description: You are not authorized to perform this operation content: application/json: schema: description: Generic error response returned from the server in case of a failed operation. properties: errorCode: description: String that is used as a key for appropriate translation on the front-end application. type: string minLength: 4 maxLength: 100 pattern: ^[a-zA-Z0-9_-]*$ httpCode: description: Http error code assigned to the error. type: string minLength: 3 maxLength: 3 pattern: ^[0-9]*$ message: description: Error message in English. minLength: 5 maxLength: 512 type: string pattern: ^[\x20-\x7E\t\n\r]*$ examples: not_authorized: value: errorCode: '00003' httpCode: '403' message: You are not authorized '404': description: Node with provided serial number was not found. content: application/json: schema: description: Generic error response returned from the server in case of a failed operation. properties: errorCode: description: String that is used as a key for appropriate translation on the front-end application. type: string minLength: 4 maxLength: 100 pattern: ^[a-zA-Z0-9_-]*$ httpCode: description: Http error code assigned to the error. type: string minLength: 3 maxLength: 3 pattern: ^[0-9]*$ message: description: Error message in English. minLength: 5 maxLength: 512 type: string pattern: ^[\x20-\x7E\t\n\r]*$ example: errorCode: nerve_node_012 httpCode: '404' message: Node you are looking for was not found security: - sessionId: [] servers: - url: https://trynerve1.nerve.cloud /nerve/node/{serialNumber}: delete: summary: Delete the selected node operationId: delete_node tags: - Node description: Used to delete one specific node referenced by the serialNumber. The get route uses nodeId as parameter. This will be redesigned in v2 Node release. parameters: - name: serialNumber in: path required: true description: The serial number of the node which was specified during onboarding into the Nerve Management System. schema: description: The serial number of the node type: string maxLength: 12 minLength: 12 pattern: ([A-Z0-9]){12} x-permissions: - NODE:DELETE responses: '204': description: The Node was successfully deleted '403': description: You are not authorized to perform this operation content: application/json: schema: description: Generic error response returned from the server in case of a failed operation. properties: errorCode: description: String that is used as a key for appropriate translation on the front-end application. type: string minLength: 4 maxLength: 100 pattern: ^[a-zA-Z0-9_-]*$ httpCode: description: Http error code assigned to the error. type: string minLength: 3 maxLength: 3 pattern: ^[0-9]*$ message: description: Error message in English. minLength: 5 maxLength: 512 type: string pattern: ^[\x20-\x7E\t\n\r]*$ examples: not_authorized: value: errorCode: '00003' httpCode: '403' message: You are not authorized '404': description: Node with provided serial number was not found. content: application/json: schema: description: Generic error response returned from the server in case of a failed operation. properties: errorCode: description: String that is used as a key for appropriate translation on the front-end application. type: string minLength: 4 maxLength: 100 pattern: ^[a-zA-Z0-9_-]*$ httpCode: description: Http error code assigned to the error. type: string minLength: 3 maxLength: 3 pattern: ^[0-9]*$ message: description: Error message in English. minLength: 5 maxLength: 512 type: string pattern: ^[\x20-\x7E\t\n\r]*$ example: errorCode: nerve_node_012 httpCode: '404' message: Node you are looking for was not found security: - sessionId: [] servers: - url: https://trynerve1.nerve.cloud /nerve/node/{serialNumber}/reboot: post: summary: Reboot the selected node operationId: reboot_node tags: - Node description: Used to reboot specified Node parameters: - name: serialNumber in: path required: true description: The serial number of the node which was specified during onboarding into the Nerve Management System. schema: description: The serial number of the node type: string maxLength: 12 minLength: 12 pattern: ([A-Z0-9]){12} requestBody: description: A maximum time to wait for a response from node [miliseconds] content: application/json: schema: type: object description: Time to wait for a response from node properties: timeout: type: integer format: int32 minimum: 10000 default: 10000 description: How long to wait for the response from the node [milliseconds] maximum: 86400000 examples: default_timeout: value: timeout: 10000 required: true x-permissions: - NODE:REBOOT responses: '200': description: Node reboot initiated content: application/json: schema: type: object description: Reboot action response properties: message: type: string pattern: ^[\x20-\x7E\t\n\r]*$ description: Reboot action message minLength: 1 maxLength: 1000 message_code: type: string pattern: ^[\x20-\x7E\t\n\r]*$ description: Reboot action message code minLength: 1 maxLength: 1000 example: message_code: NODE_REBOOT_INITIATED message: Reboot action has been initiated '400': description: Route params validation error content: application/json: schema: description: Generic error response returned from the server in case of a failed operation. properties: errorCode: description: String that is used as a key for appropriate translation on the front-end application. type: string minLength: 4 maxLength: 100 pattern: ^[a-zA-Z0-9_-]*$ httpCode: description: Http error code assigned to the error. type: string minLength: 3 maxLength: 3 pattern: ^[0-9]*$ message: description: Error message in English. minLength: 5 maxLength: 512 type: string pattern: ^[\x20-\x7E\t\n\r]*$ example: errorCode: '00006' httpCode: '400' message: Route params validation error '403': description: You are not authorized to perform this operation content: application/json: schema: description: Generic error response returned from the server in case of a failed operation. properties: errorCode: description: String that is used as a key for appropriate translation on the front-end application. type: string minLength: 4 maxLength: 100 pattern: ^[a-zA-Z0-9_-]*$ httpCode: description: Http error code assigned to the error. type: string minLength: 3 maxLength: 3 pattern: ^[0-9]*$ message: description: Error message in English. minLength: 5 maxLength: 512 type: string pattern: ^[\x20-\x7E\t\n\r]*$ examples: not_authorized: value: errorCode: '00003' httpCode: '403' message: You are not authorized '404': description: Node with provided serial number was not found. content: application/json: schema: description: Generic error response returned from the server in case of a failed operation. properties: errorCode: description: String that is used as a key for appropriate translation on the front-end application. type: string minLength: 4 maxLength: 100 pattern: ^[a-zA-Z0-9_-]*$ httpCode: description: Http error code assigned to the error. type: string minLength: 3 maxLength: 3 pattern: ^[0-9]*$ message: description: Error message in English. minLength: 5 maxLength: 512 type: string pattern: ^[\x20-\x7E\t\n\r]*$ example: errorCode: nerve_node_012 httpCode: '404' message: Node you are looking for was not found '409': description: '- Reboot action is not supported by this version of node - Node is offline' content: application/json: schema: description: Generic error response returned from the server in case of a failed operation. properties: errorCode: description: String that is used as a key for appropriate translation on the front-end application. type: string minLength: 4 maxLength: 100 pattern: ^[a-zA-Z0-9_-]*$ httpCode: description: Http error code assigned to the error. type: string minLength: 3 maxLength: 3 pattern: ^[0-9]*$ message: description: Error message in English. minLength: 5 maxLength: 512 type: string pattern: ^[\x20-\x7E\t\n\r]*$ example: errorCode: nerve_node_019 httpCode: '409' message: Reboot action is not supported by this version of the Node '500': description: Reboot operation failed content: application/json: schema: description: Generic error response returned from the server in case of a failed operation. properties: errorCode: description: String that is used as a key for appropriate translation on the front-end application. type: string minLength: 4 maxLength: 100 pattern: ^[a-zA-Z0-9_-]*$ httpCode: description: Http error code assigned to the error. type: string minLength: 3 maxLength: 3 pattern: ^[0-9]*$ message: description: Error message in English. minLength: 5 maxLength: 512 type: string pattern: ^[\x20-\x7E\t\n\r]*$ example: errorCode: nerve_node_041 httpCode: '500' message: Reboot operation failed, check backend logs for more details '504': description: Node failed to response in expected time content: application/json: schema: description: Generic error response returned from the server in case of a failed operation. properties: errorCode: description: String that is used as a key for appropriate translation on the front-end application. type: string minLength: 4 maxLength: 100 pattern: ^[a-zA-Z0-9_-]*$ httpCode: description: Http error code assigned to the error. type: string minLength: 3 maxLength: 3 pattern: ^[0-9]*$ message: description: Error message in English. minLength: 5 maxLength: 512 type: string pattern: ^[\x20-\x7E\t\n\r]*$ example: errorCode: nerve_node_021 httpCode: '504' message: Request rejected by timeout security: - sessionId: [] servers: - url: https://trynerve1.nerve.cloud /nerve/nodes/filtered/list: get: summary: Get a list of filtered and sorted nodes operationId: get_nodes_filtered tags: - Node description: Used to get the list of nodes with the option to filter it by the node "name" parameter. The result is returned paged and sorted. parameters: - name: page in: query required: true description: A page of results to be returned. If not set, the default value is 0 and a first page will be returned. A number of items per page is defined by parameter limit. schema: description: Page (zero indexed) of results to get from backend type: integer format: int32 default: 0 minimum: 0 maximum: 1000 - name: order in: query description: 'Specify how to sort the result in a key-value pair. Selected category (key): **created**, **name**, **serialNumber**, **currentFWVersion**. Select sort options (value): **asc**, **desc**.' allowReserved: true required: true schema: type: object description: Sort the result by the selected category in the selected order minProperties: 1 properties: created: description: Sort the result by the time node was created type: string enum: - asc - desc name: description: Sort by the name of the node type: string enum: - asc - desc serialNumber: description: Sort by the serial number of the node type: string enum: - asc - desc currentFWVersion: description: Sort by the firmware version of the node type: string enum: - asc - desc connectionStatus: description: Sort by the connection status of the node type: string enum: - asc - desc _id: description: Sort by the node id type: string enum: - asc - desc secureId: description: Sort by the secure id of the node type: string enum: - asc - desc labels: description: Sort by the labels of the node type: string enum: - asc - desc additionalProperties: false style: deepObject explode: true examples: created_ascending: summary: Sort by created time in ascending order. value: created: asc serial_number_desc: summary: Sort by serial number in descending order. value: serialNumber: desc - name: filterBy in: query description: "Specify filtering criteria for the list of nodes using the name or serialNumber parameters. \n - **name**: Filters nodes by their name.\n - **serialNumber**: Filters nodes by their serial number.\n If no parameters are provided (empty object), no filtering is applied, and all nodes are returned." allowReserved: true schema: type: object additionalProperties: false properties: name: type: string description: The name of the node minLength: 1 maxLength: 40 pattern: ^\s*(?=[a-zA-Z0-9_ -]+$)\S.*$ serialNumber: description: The serial number of the node type: string maxLength: 12 minLength: 12 pattern: ([A-Z0-9]){12} - name: limit in: query description: Number of items per page of the result. schema: description: Number of items in result set when paging is applied type: integer format: int32 default: 10 minimum: 1 maximum: 500 x-permissions: - NODE:LIST responses: '200': description: List of nodes matching the criteria content: application/json: schema: description: Response for 'node/filtered/list' API request type: object required: - count - data properties: count: type: integer format: int32 minimum: 0 maximum: 1000000 description: Number of results data: description: List of nodes that match the search criteria type: array minItems: 0 maxItems: 1001 items: type: object required: - name - serialNumber - connectionStatus properties: name: type: string description: The name of the node minLength: 1 maxLength: 40 pattern: ^\s*(?=[a-zA-Z0-9_ -]+$)\S.*$ serialNumber: description: The serial number of the node type: string maxLength: 12 minLength: 12 pattern: ([A-Z0-9]){12} secureId: type: string description: Node secure id minLength: 16 maxLength: 16 pattern: ([A-Za-z]|\d){16} labels: description: List of labels assigned to the node type: array minItems: 0 maxItems: 1001 items: description: Label DB id connectionStatus: description: Status if the node connection to MS enum: - online - offline created: description: Date when node was created anyOf: - type: string description: Date and time in ISO 8601 format format: date-time pattern: ^\d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}\.\d{3}Z$ minLength: 24 maxLength: 24 - type: object currentFWVersion: minLength: 0 maxLength: 1000 description: Node version(e.g. 2.5) default: '' type: string pattern: ^[\x20-\x7E\t\n\r]*$ loweritem: type: string minLength: 1 maxLength: 1000 pattern: ^\s*(?=[a-zA-Z0-9_ -]+$)\S.*$ description: Node name in lower case example: count: 1 data: - name: Node serialNumber: MFN111111111 secureId: MFNLAB0000000000 connectionStatus: online '400': description: Route params validation error content: application/json: schema: description: Generic error response returned from the server in case of a failed operation. properties: errorCode: description: String that is used as a key for appropriate translation on the front-end application. type: string minLength: 4 maxLength: 100 pattern: ^[a-zA-Z0-9_-]*$ httpCode: description: Http error code assigned to the error. type: string minLength: 3 maxLength: 3 pattern: ^[0-9]*$ message: description: Error message in English. minLength: 5 maxLength: 512 type: string pattern: ^[\x20-\x7E\t\n\r]*$ example: errorCode: '00006' httpCode: '400' message: Route params validation error '403': description: You are not authorized to perform this operation content: application/json: schema: description: Generic error response returned from the server in case of a failed operation. properties: errorCode: description: String that is used as a key for appropriate translation on the front-end application. type: string minLength: 4 maxLength: 100 pattern: ^[a-zA-Z0-9_-]*$ httpCode: description: Http error code assigned to the error. type: string minLength: 3 maxLength: 3 pattern: ^[0-9]*$ message: description: Error message in English. minLength: 5 maxLength: 512 type: string pattern: ^[\x20-\x7E\t\n\r]*$ examples: not_authorized: value: errorCode: '00003' httpCode: '403' message: You are not authorized '500': description: An error occurred in executing of listing operation content: application/json: schema: description: Generic error response returned from the server in case of a failed operation. properties: errorCode: description: String that is used as a key for appropriate translation on the front-end application. type: string minLength: 4 maxLength: 100 pattern: ^[a-zA-Z0-9_-]*$ httpCode: description: Http error code assigned to the error. type: string minLength: 3 maxLength: 3 pattern: ^[0-9]*$ message: description: Error message in English. minLength: 5 maxLength: 512 type: string pattern: ^[\x20-\x7E\t\n\r]*$ example: errorCode: nerve_node_046 httpCode: '500' message: An error occurred in executing of listing operation security: - sessionId: [] servers: - url: https://trynerve1.nerve.cloud /nerve/nodes/deploy/{workloadId}/{versionId}: get: summary: Get a list of nodes for a possible deployment of the selected workload version operationId: get_nodes_for_deploy tags: - Node description: Get a list of nodes where the selected workload version can be deployed based on the character of the workload and Node properties. The list can be optionally filtered. The result is returned paged and sorted. parameters: - name: workloadId in: path required: true description: Workload Id schema: description: ID (from Management System) of the entry type: string pattern: ^[0-9a-fA-F]{24}$ minLength: 24 maxLength: 24 - name: versionId in: path required: true description: Workload version Id schema: description: ID (from Management System) of the entry type: string pattern: ^[0-9a-fA-F]{24}$ minLength: 24 maxLength: 24 - name: page in: query required: true description: A page of results to be returned. If not set, the default value is 0 and a first page will be returned. A number of items per page is defined by parameter limit. schema: description: Page (zero indexed) of results to get from backend type: integer format: int32 default: 0 minimum: 0 maximum: 1000 - name: filterBy in: query description: Define the "name" parameter for the filter as key-value pair. If not defined (empty object), no filter is set and all nodes will be returned. allowReserved: true schema: type: object additionalProperties: false properties: name: type: string description: Filter the list by nodes "name" parameter. pattern: "^(?![--\x9F()*]).*$" minLength: 0 maxLength: 1000 style: deepObject explode: true examples: filter_by_name: summary: Filter a list of nodes by the "name" parameter. value: name: mfn - name: limit in: query description: Number of items per page of the result. schema: description: Number of items in result set when paging is applied type: integer format: int32 default: 10 minimum: 1 maximum: 500 - name: order in: query description: Order by workload name or created time allowReserved: true schema: type: string description: Order by workload name or created time enum: - '{"created":"desc"}' - '{"created":"asc"}' - '{"name":"desc"}' - '{"name":"asc"}' x-permissions: - NODE:LIST responses: '200': description: List of nodes matching the criteria content: application/json: schema: description: Response for API '/deploy' type: object properties: count: type: integer format: int32 minimum: 0 maximum: 1000000 description: Number of results data: description: List of nodes eligible for deploying the selected workload version type: array minItems: 0 maxItems: 1001 items: type: object allOf: - description: Node object from the database without remote connections type: object required: - name - serialNumber - type - hash - labels - subgroup - created - rebootStatus - connectionStatus - vmBackup - vmSnapshot - userId properties: _id: allOf: - description: ID (from Management System) of the entry. Can be a string or an object. oneOf: - description: ID (from Management System) of the entry type: string pattern: ^[0-9a-fA-F]{24}$ minLength: 24 maxLength: 24 - type: object - description: Node id from the database (nodeId) name: type: string description: The name of the node minLength: 1 maxLength: 40 pattern: ^\s*(?=[a-zA-Z0-9_ -]+$)\S.*$ serialNumber: description: The serial number of the node type: string maxLength: 12 minLength: 12 pattern: ([A-Z0-9]){12} model: description: The name of the hardware model (hardware model must be defined in the database) minLength: 1 maxLength: 1000 type: string pattern: ^[\x20-\x7E\t\n\r]*$ labels: description: List of labels assigned to the node type: array minItems: 0 maxItems: 1001 items: description: Label DB id type: type: string minLength: 1 maxLength: 1000 pattern: ^[\x20-\x7E\t\n\r]*$ description: Type of the device default: hg hash: type: string pattern: ^[\x20-\x7E\t\n\r]*$ minLength: 1 maxLength: 1000 description: Calculated hash hardwareId: description: ID (from Management System) of the entry. Can be a string or an object. oneOf: - description: ID (from Management System) of the entry type: string pattern: ^[0-9a-fA-F]{24}$ minLength: 24 maxLength: 24 - type: object manufacturer: type: string pattern: ^[\x20-\x7E\t\n\r]*$ description: Identification of the hardware manufacturer(human readable) default: nerve minLength: 1 maxLength: 1000 oui: type: string pattern: ^[\x20-\x7E\t\n\r]*$ description: Identification of the hardware manufacturer default: nerve minLength: 1 maxLength: 1000 subgroup: type: string pattern: ^[\x20-\x7E\t\n\r]*$ minLength: 1 maxLength: 1000 description: Node subgroup unassignInProgress: type: boolean description: Indicates if unassigning node is in progress(OBLO legacy) isAutomaticallyBackup: type: boolean description: (OBLO legacy) default: false staging: type: string pattern: ^[\x20-\x7E\t\n\r]*$ minLength: 1 maxLength: 1000 description: Node staging type [beta, test, latest, minimum](OBLO legacy) default: beta installationInProgress: type: boolean description: Indicates if installation of software is in progress(OBLO legacy) created: description: Date when node was created anyOf: - type: string description: Date and time in ISO 8601 format format: date-time pattern: ^\d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}\.\d{3}Z$ minLength: 24 maxLength: 24 - type: object installations: type: array minItems: 0 maxItems: 1001 description: List of software assigned to the node(OBLO legacy) items: type: object factoryResetStatus: type: boolean description: Indicates if factory reset procedure initiated from SC(OBLO legacy) rebootStatus: type: boolean description: Indicates if reboot procedure initiated from SC(OBLO legacy) backupRestoreInProgress: type: boolean description: Determines backup status(OBLO legacy) isUpdating: type: boolean description: Is node currently updating to newer version vmBackup: type: - boolean - 'null' description: Is the VM backup option is allowed on the node default: false vmSnapshot: type: - boolean - 'null' description: Is the VM snapshot option is allowed on the node default: false updateStartedTimestamp: type: - integer - 'null' format: int64 description: Timestamp when node update started minimum: 0 maximum: 4102444800000 lastSystemStart: type: - integer - 'null' format: int64 description: Timestamp when the node was last started minimum: 0 maximum: 4102444800000 connectionStatus: description: Status if the node connection to MS enum: - online - offline userId: allOf: - description: ID (from Management System) of the entry type: string pattern: ^[0-9a-fA-F]{24}$ minLength: 24 maxLength: 24 - description: User id from the database (_id) of the user who created the node capabilities: type: array minItems: 0 maxItems: 1001 description: List of capabilities items: type: object description: List of capabilities. properties: name: type: string pattern: ^[\x20-\x7E\t\n\r]*$ minLength: 1 maxLength: 1000 description: Capability name description: type: string pattern: ^[\x20-\x7E\t\n\r]*$ minLength: 0 maxLength: 1000 description: Short capability description imageVariant: type: string pattern: ^[\x20-\x7E\t\n\r]*$ description: Image variant (introduced for generic image updates) default: '' minLength: 0 maxLength: 1000 lastTimeStatusUpdated: description: Timestamp of the last time the status was updated anyOf: - type: - string - 'null' format: date-time minLength: 8 maxLength: 30 - type: - object - 'null' currentFWVersion: minLength: 0 maxLength: 1000 description: Node version(e.g. 2.5) default: '' type: string pattern: ^[\x20-\x7E\t\n\r]*$ heartBeatReceived: description: Timestamp of the node heartbeat message type: number timezone: description: Timezone set on node type: - object - 'null' properties: name: type: string pattern: ^[\x20-\x7E\t\n\r]*$ description: The timezone setup on node minLength: 1 maxLength: 1000 hardwareName: description: The name of the hardware model type: string minLength: 1 maxLength: 1000 pattern: ^[a-zA-Z0-9\s-]+$ - type: object required: - remoteConnections properties: remoteConnections: description: List of remote connections ids type: array minItems: 0 maxItems: 1001 items: description: ID (from Management System) of the entry. Can be a string or an object. oneOf: - description: ID (from Management System) of the entry type: string pattern: ^[0-9a-fA-F]{24}$ minLength: 24 maxLength: 24 - type: object example: value: count: 1 data: - _id: 63ef4c340cb67e00543aee9a rebootStatus: false factoryResetStatus: false installationInProgress: false staging: beta backupRestoreInProgress: false isAutomaticallyBackup: false unassignInProgress: false subgroup: default labels: [] remoteConnections: - 63ef4c7d26518c0055717007 - 63ef4c8d0cb67e00543aeec4 - 63ef4c9726518c0055717023 - 63ef4cbb26518c005571705a - 63f35cb50cb67e00543b2856 isUpdating: false updateStartedTimestamp: null lastSystemStart: 1676981564659 vmSnapshot: true vmBackup: true imageVariant: generic name: mfn office serialNumber: NOVISAD44MFN secureId: CF49E6C77D23D98F model: mfn-100 type: hg hash: ac7f721780d54f44e6f9b40f678245326c4710ad connectionStatus: online hardwareId: 638f5ddbf7d98b00546131f0 manufacturer: nerve oui: nerve userId: 638f5ddbf7d98b00546131e2 installations: [] created: '2023-02-17T09:43:16.085Z' capabilities: - _id: 6390589d1048323beb8e2344 name: Logging via Filebeat description: '' - _id: 6390589d1048323beb8e2342 name: Docker Container description: '' - _id: 6390589d1048323beb8e2348 name: Monitoring via Metricbeat description: '' - _id: 6390589d1048323beb8e234a name: Docker Compose description: 'docker-compose version 1.21.0, build unknown docker-py version: 3.4.1 CPython version: 3.7.3 OpenSSL version: OpenSSL 1.1.1n 15 Mar 2022' - _id: 6390589d1048323beb8e234c name: Virtualization via XEN description: '' - _id: 638f5dfcf7d98b005461b6e7 name: Virtualization description: '' - _id: 6390589d1048323beb8e2340 name: CODESYS PLC description: '' __v: 11 lastTimeStatusUpdated: '2023-02-24T17:26:47.731Z' currentFWVersion: 2.6.0-rc.7 heartBeatReceived: 1677442389061 timezone: _id: 63f4b53f65e08a005a2c1421 name: Etc/UTC '400': description: Failed to fetch the list of nodes content: application/json: schema: description: Generic error response returned from the server in case of a failed operation. properties: errorCode: description: String that is used as a key for appropriate translation on the front-end application. type: string minLength: 4 maxLength: 100 pattern: ^[a-zA-Z0-9_-]*$ httpCode: description: Http error code assigned to the error. type: string minLength: 3 maxLength: 3 pattern: ^[0-9]*$ message: description: Error message in English. minLength: 5 maxLength: 512 type: string pattern: ^[\x20-\x7E\t\n\r]*$ example: errorCode: nerve_node_034 httpCode: '400' message: Failed to get list of nodes for deploy '403': description: You are not authorized to perform this operation content: application/json: schema: description: Generic error response returned from the server in case of a failed operation. properties: errorCode: description: String that is used as a key for appropriate translation on the front-end application. type: string minLength: 4 maxLength: 100 pattern: ^[a-zA-Z0-9_-]*$ httpCode: description: Http error code assigned to the error. type: string minLength: 3 maxLength: 3 pattern: ^[0-9]*$ message: description: Error message in English. minLength: 5 maxLength: 512 type: string pattern: ^[\x20-\x7E\t\n\r]*$ examples: not_authorized: value: errorCode: '00003' httpCode: '403' message: You are not authorized '404': description: Workload with provided id does not exist content: application/json: schema: description: Generic error response returned from the server in case of a failed operation. properties: errorCode: description: String that is used as a key for appropriate translation on the front-end application. type: string minLength: 4 maxLength: 100 pattern: ^[a-zA-Z0-9_-]*$ httpCode: description: Http error code assigned to the error. type: string minLength: 3 maxLength: 3 pattern: ^[0-9]*$ message: description: Error message in English. minLength: 5 maxLength: 512 type: string pattern: ^[\x20-\x7E\t\n\r]*$ example: errorCode: '000700' httpCode: '404' description: Workload you are looking for does not exist! security: - sessionId: [] servers: - url: https://trynerve1.nerve.cloud /nerve/node/applyMonitoringAndLoggingSettings/{serialNumber}: post: summary: Set monitoring and logging configuration of the selected node operationId: setup_monitoring_and_logging tags: - Node description: Used to set the current configuration of the system monitoring (resource usage) and the docker logging + monitoring setting. parameters: - name: serialNumber in: path required: true description: The serial number of the node which was specified during onboarding into the Nerve Management System. schema: description: The serial number of the node type: string maxLength: 12 minLength: 12 pattern: ([A-Z0-9]){12} requestBody: description: Monitoring and logging settings required: true content: application/json: schema: type: object description: System monitoring and docker logging + monitoring configuration additionalProperties: false properties: dockerLogging: type: boolean description: If enabled the node collects logs from docker workloads and sends them to the management system. dockerMonitoring: type: boolean description: If enabled the node collects performance data (e.g. resource usage) from docker workloads and sends them to the management system. systemMonitoring: type: boolean description: If enabled the node collects overall system performance data (e.g. resource usage) sends them to the management system. systemLogging: type: boolean description: If enabled the node collects system logs and sends them to the management system. required: - dockerLogging - dockerMonitoring - systemMonitoring example: dockerMonitoring: false dockerLogging: false systemMonitoring: false x-permissions: - NODE:LOGGING_AND_MONITORING_SETTINGS responses: '200': description: Successfully applied logging and monitoring settings on the node content: application/json: schema: type: object description: Empty object is returned additionalProperties: false minProperties: 0 maxProperties: 0 example: {} '400': description: Route params validation error content: application/json: schema: description: Generic error response returned from the server in case of a failed operation. properties: errorCode: description: String that is used as a key for appropriate translation on the front-end application. type: string minLength: 4 maxLength: 100 pattern: ^[a-zA-Z0-9_-]*$ httpCode: description: Http error code assigned to the error. type: string minLength: 3 maxLength: 3 pattern: ^[0-9]*$ message: description: Error message in English. minLength: 5 maxLength: 512 type: string pattern: ^[\x20-\x7E\t\n\r]*$ example: errorCode: '00006' httpCode: '400' message: Route params validation error '403': description: You are not authorized to perform this operation content: application/json: schema: description: Generic error response returned from the server in case of a failed operation. properties: errorCode: description: String that is used as a key for appropriate translation on the front-end application. type: string minLength: 4 maxLength: 100 pattern: ^[a-zA-Z0-9_-]*$ httpCode: description: Http error code assigned to the error. type: string minLength: 3 maxLength: 3 pattern: ^[0-9]*$ message: description: Error message in English. minLength: 5 maxLength: 512 type: string pattern: ^[\x20-\x7E\t\n\r]*$ examples: not_authorized: value: errorCode: '00003' httpCode: '403' message: You are not authorized '404': description: Node with provided serial number was not found. content: application/json: schema: description: Generic error response returned from the server in case of a failed operation. properties: errorCode: description: String that is used as a key for appropriate translation on the front-end application. type: string minLength: 4 maxLength: 100 pattern: ^[a-zA-Z0-9_-]*$ httpCode: description: Http error code assigned to the error. type: string minLength: 3 maxLength: 3 pattern: ^[0-9]*$ message: description: Error message in English. minLength: 5 maxLength: 512 type: string pattern: ^[\x20-\x7E\t\n\r]*$ example: errorCode: nerve_node_012 httpCode: '404' message: Node you are looking for was not found '409': description: The logging and monitoring feature is not supported by this node software version. content: application/json: schema: description: Generic error response returned from the server in case of a failed operation. properties: errorCode: description: String that is used as a key for appropriate translation on the front-end application. type: string minLength: 4 maxLength: 100 pattern: ^[a-zA-Z0-9_-]*$ httpCode: description: Http error code assigned to the error. type: string minLength: 3 maxLength: 3 pattern: ^[0-9]*$ message: description: Error message in English. minLength: 5 maxLength: 512 type: string pattern: ^[\x20-\x7E\t\n\r]*$ example: errorCode: nerve_node_028 httpCode: '409' message: Logging and monitoring feature is only supported on node version >= 2.3.0 '500': description: Apply logging and monitoring settings operation failed content: application/json: schema: description: Generic error response returned from the server in case of a failed operation. properties: errorCode: description: String that is used as a key for appropriate translation on the front-end application. type: string minLength: 4 maxLength: 100 pattern: ^[a-zA-Z0-9_-]*$ httpCode: description: Http error code assigned to the error. type: string minLength: 3 maxLength: 3 pattern: ^[0-9]*$ message: description: Error message in English. minLength: 5 maxLength: 512 type: string pattern: ^[\x20-\x7E\t\n\r]*$ example: errorCode: nerve_node_024 httpCode: '500' message: Apply logging and monitoring settings operation failed security: - sessionId: [] servers: - url: https://trynerve1.nerve.cloud /nerve/node/monitoringAndLoggingSettings/{serialNumber}: get: summary: Get the monitoring and logging configuration of the selected node operationId: get_monitoring_and_logging tags: - Node description: Used to retrieve the current configuration of the system monitoring (resource usage) and the docker logging + monitoring setting. parameters: - name: serialNumber in: path required: true description: The serial number of the node which was specified during onboarding into the Nerve Management System. schema: description: The serial number of the node type: string maxLength: 12 minLength: 12 pattern: ([A-Z0-9]){12} x-permissions: - NODE:LOGGING_AND_MONITORING_SETTINGS responses: '200': description: The current monitoring and logging configuration of the node content: application/json: schema: type: object description: System monitoring and docker logging + monitoring configuration additionalProperties: false properties: dockerLogging: type: boolean description: If enabled the node collects logs from docker workloads and sends them to the management system. dockerMonitoring: type: boolean description: If enabled the node collects performance data (e.g. resource usage) from docker workloads and sends them to the management system. systemMonitoring: type: boolean description: If enabled the node collects overall system performance data (e.g. resource usage) sends them to the management system. systemLogging: type: boolean description: If enabled the node collects system logs and sends them to the management system. required: - dockerLogging - dockerMonitoring - systemMonitoring example: dockerMonitoring: false dockerLogging: false systemMonitoring: false '400': description: Route params validation error content: application/json: schema: description: Generic error response returned from the server in case of a failed operation. properties: errorCode: description: String that is used as a key for appropriate translation on the front-end application. type: string minLength: 4 maxLength: 100 pattern: ^[a-zA-Z0-9_-]*$ httpCode: description: Http error code assigned to the error. type: string minLength: 3 maxLength: 3 pattern: ^[0-9]*$ message: description: Error message in English. minLength: 5 maxLength: 512 type: string pattern: ^[\x20-\x7E\t\n\r]*$ example: errorCode: '00006' httpCode: '400' message: Route params validation error '403': description: You are not authorized to perform this operation content: application/json: schema: description: Generic error response returned from the server in case of a failed operation. properties: errorCode: description: String that is used as a key for appropriate translation on the front-end application. type: string minLength: 4 maxLength: 100 pattern: ^[a-zA-Z0-9_-]*$ httpCode: description: Http error code assigned to the error. type: string minLength: 3 maxLength: 3 pattern: ^[0-9]*$ message: description: Error message in English. minLength: 5 maxLength: 512 type: string pattern: ^[\x20-\x7E\t\n\r]*$ examples: not_authorized: value: errorCode: '00003' httpCode: '403' message: You are not authorized '404': description: Node with provided serial number was not found. content: application/json: schema: description: Generic error response returned from the server in case of a failed operation. properties: errorCode: description: String that is used as a key for appropriate translation on the front-end application. type: string minLength: 4 maxLength: 100 pattern: ^[a-zA-Z0-9_-]*$ httpCode: description: Http error code assigned to the error. type: string minLength: 3 maxLength: 3 pattern: ^[0-9]*$ message: description: Error message in English. minLength: 5 maxLength: 512 type: string pattern: ^[\x20-\x7E\t\n\r]*$ example: errorCode: nerve_node_012 httpCode: '404' message: Node you are looking for was not found '409': description: The logging and monitoring feature is not supported by this node software version. content: application/json: schema: description: Generic error response returned from the server in case of a failed operation. properties: errorCode: description: String that is used as a key for appropriate translation on the front-end application. type: string minLength: 4 maxLength: 100 pattern: ^[a-zA-Z0-9_-]*$ httpCode: description: Http error code assigned to the error. type: string minLength: 3 maxLength: 3 pattern: ^[0-9]*$ message: description: Error message in English. minLength: 5 maxLength: 512 type: string pattern: ^[\x20-\x7E\t\n\r]*$ example: errorCode: nerve_node_028 httpCode: '409' message: Logging and monitoring feature is only supported on node version >= 2.3.0 '500': description: Failed to retrieve the current monitoring and logging configuration for the specified node content: application/json: schema: description: Generic error response returned from the server in case of a failed operation. properties: errorCode: description: String that is used as a key for appropriate translation on the front-end application. type: string minLength: 4 maxLength: 100 pattern: ^[a-zA-Z0-9_-]*$ httpCode: description: Http error code assigned to the error. type: string minLength: 3 maxLength: 3 pattern: ^[0-9]*$ message: description: Error message in English. minLength: 5 maxLength: 512 type: string pattern: ^[\x20-\x7E\t\n\r]*$ example: errorCode: nerve_node_023 httpCode: '500' message: Get logging and monitoring status operation failed security: - sessionId: [] servers: - url: https://trynerve1.nerve.cloud /nerve/v2/node/{serialNumber}/versions/{versionId}/activity-logs: get: summary: Get all activity logs operationId: get_all_activity_logs tags: - Node description: Get a list of all activity logs for one deployed workload. The list is returned paged. parameters: - name: page in: query required: true description: A page of results to be returned. If not set, the default value is 1 and a first page will be returned. A number of items per page is defined by parameter limit. schema: description: Page of results to get from backend type: integer format: int32 default: 1 minimum: 1 maximum: 1000 - name: versionId in: path required: true description: Workload version Id schema: description: ID (from Management System) of the entry type: string pattern: ^[0-9a-fA-F]{24}$ minLength: 24 maxLength: 24 - name: serialNumber in: path required: true description: The serial number of the node which was specified during onboarding into the Nerve Management System. schema: description: The serial number of the node type: string maxLength: 12 minLength: 12 pattern: ([A-Z0-9]){12} - name: limit in: query description: Number of items per page of the result. schema: description: Number of items in result set when paging is applied type: integer format: int32 default: 10 minimum: 1 maximum: 500 - name: search in: query description: Searching through all parameters of object schema: description: Number of items in result set when searching is applied type: string default: '' minLength: 0 maxLength: 1000 pattern: ^[\x20-\x7E\t\n\r]*$ x-permissions: - WORKLOAD:CONTROL responses: '200': description: List of all workload activity logs content: application/json: schema: description: List of all workload activity logs type: object additionalProperties: false properties: data: type: array minItems: 0 maxItems: 1001 description: List of activity logs items: type: object properties: timestamp: type: string description: Date and time in ISO 8601 format format: date-time pattern: ^\d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}\.\d{3}Z$ minLength: 24 maxLength: 24 username: type: string pattern: ^[\x20-\x7E\t\n\r]*$ description: Username to use for authentication minLength: 1 maxLength: 1000 typeOfAction: type: string pattern: ^[\x20-\x7E\t\n\r]*$ description: Type of action minLength: 1 maxLength: 1000 workloadVersionName: type: string pattern: ^[\x20-\x7E\t\n\r]*$ minLength: 1 maxLength: 1000 description: Name of the workload version result: type: string description: Result of the action enum: - Success - Fail required: - timestamp - username - typeOfAction - workloadVersionName - result count: type: integer format: int64 description: Number of activity logs minimum: 0 maximum: 10000000 required: - data - count examples: activity-logs: value: data: - timestamp: '2024-10-24T06:55:52.122Z' username: zivko.crnojacki@tttech.com typeOfAction: Restart workload nginx_5443-ngixn with ID 64e8725102db4e07b54bad65. workloadVersionName: static-website v 1.0 result: Success count: 1 '400': description: Route params validation error content: application/json: schema: description: Generic error response returned from the server in case of a failed operation. properties: errorCode: description: String that is used as a key for appropriate translation on the front-end application. type: string minLength: 4 maxLength: 100 pattern: ^[a-zA-Z0-9_-]*$ httpCode: description: Http error code assigned to the error. type: string minLength: 3 maxLength: 3 pattern: ^[0-9]*$ message: description: Error message in English. minLength: 5 maxLength: 512 type: string pattern: ^[\x20-\x7E\t\n\r]*$ example: errorCode: '00006' httpCode: '400' message: Route params validation error '403': description: You are not authorized to perform this operation content: application/json: schema: description: Generic error response returned from the server in case of a failed operation. properties: errorCode: description: String that is used as a key for appropriate translation on the front-end application. type: string minLength: 4 maxLength: 100 pattern: ^[a-zA-Z0-9_-]*$ httpCode: description: Http error code assigned to the error. type: string minLength: 3 maxLength: 3 pattern: ^[0-9]*$ message: description: Error message in English. minLength: 5 maxLength: 512 type: string pattern: ^[\x20-\x7E\t\n\r]*$ examples: not_authorized: value: errorCode: '00003' httpCode: '403' message: You are not authorized '500': description: Internal server error content: application/json: schema: description: Generic error response returned from the server in case of a failed operation. properties: errorCode: description: String that is used as a key for appropriate translation on the front-end application. type: string minLength: 4 maxLength: 100 pattern: ^[a-zA-Z0-9_-]*$ httpCode: description: Http error code assigned to the error. type: string minLength: 3 maxLength: 3 pattern: ^[0-9]*$ message: description: Error message in English. minLength: 5 maxLength: 512 type: string pattern: ^[\x20-\x7E\t\n\r]*$ example: httpCode: '500' errorCode: nerve_dna_006 message: Operation failed for unknown reason. security: - sessionId: [] servers: - url: https://trynerve1.nerve.cloud /nerve/v2/node/{serialNumber}/versions/{versionId}/activity-logs/download: get: summary: Get activity logs for a single workload description: 'Used to get activity logs for a single workload. Required permission: **NODE:LIST**' operationId: activity_logs_get_single security: - cookieAuth: [] tags: - Node parameters: - name: serialNumber in: path required: true description: The serial number of the node which was specified during onboarding into the Nerve Management System. schema: description: The serial number of the node type: string maxLength: 12 minLength: 12 pattern: ([A-Z0-9]){12} - name: versionId in: path required: true description: Workload version Id schema: description: ID (from Management System) of the entry type: string pattern: ^[0-9a-fA-F]{24}$ minLength: 24 maxLength: 24 x-permissions: - WORKLOAD:CONTROL responses: '200': description: Successful operation content: application/octet-stream: schema: type: string pattern: ^[\x20-\x7E\t\n\r]*$ format: binary minLength: 1 maxLength: 1000 description: File with activity logs for a single workload headers: Content-Disposition: schema: type: string pattern: ^[\x20-\x7E\t\n\r]*$ minLength: 1 maxLength: 1000 example: attachment; filename="timestamp-workloadName-workloadVersion.csv" description: The filename of the file being downloaded '400': description: Route params validation error content: application/json: schema: description: Generic error response returned from the server in case of a failed operation. properties: errorCode: description: String that is used as a key for appropriate translation on the front-end application. type: string minLength: 4 maxLength: 100 pattern: ^[a-zA-Z0-9_-]*$ httpCode: description: Http error code assigned to the error. type: string minLength: 3 maxLength: 3 pattern: ^[0-9]*$ message: description: Error message in English. minLength: 5 maxLength: 512 type: string pattern: ^[\x20-\x7E\t\n\r]*$ example: errorCode: '00006' httpCode: '400' message: Route params validation error '401': description: Request failed, this is the response received when the cookie is missing in the header. content: application/json: schema: description: Generic error response returned from the server in case of a failed operation. properties: errorCode: description: String that is used as a key for appropriate translation on the front-end application. type: string minLength: 4 maxLength: 100 pattern: ^[a-zA-Z0-9_-]*$ httpCode: description: Http error code assigned to the error. type: string minLength: 3 maxLength: 3 pattern: ^[0-9]*$ message: description: Error message in English. minLength: 5 maxLength: 512 type: string pattern: ^[\x20-\x7E\t\n\r]*$ example: errorCode: '00006' httpCode: '401' message: Route params validation error '403': description: You are not authorized to perform this operation content: application/json: schema: description: Generic error response returned from the server in case of a failed operation. properties: errorCode: description: String that is used as a key for appropriate translation on the front-end application. type: string minLength: 4 maxLength: 100 pattern: ^[a-zA-Z0-9_-]*$ httpCode: description: Http error code assigned to the error. type: string minLength: 3 maxLength: 3 pattern: ^[0-9]*$ message: description: Error message in English. minLength: 5 maxLength: 512 type: string pattern: ^[\x20-\x7E\t\n\r]*$ examples: not_authorized: value: errorCode: '00003' httpCode: '403' message: You are not authorized '404': description: Workload with provided id does not exist content: application/json: schema: description: Generic error response returned from the server in case of a failed operation. properties: errorCode: description: String that is used as a key for appropriate translation on the front-end application. type: string minLength: 4 maxLength: 100 pattern: ^[a-zA-Z0-9_-]*$ httpCode: description: Http error code assigned to the error. type: string minLength: 3 maxLength: 3 pattern: ^[0-9]*$ message: description: Error message in English. minLength: 5 maxLength: 512 type: string pattern: ^[\x20-\x7E\t\n\r]*$ example: errorCode: '000700' httpCode: '404' description: Workload you are looking for does not exist! servers: - url: https://trynerve1.nerve.cloud /nerve/v2/node/{serialNumber}/workloads/activity-logs/download: get: summary: Get activity logs for all workloads of a single node description: 'Used to get activity logs for all workloads of a single node. Required permission: **NODE:LIST**' operationId: activity_logs_get_all security: - cookieAuth: [] tags: - Node parameters: - name: serialNumber in: path required: true description: The serial number of the node which was specified during onboarding into the Nerve Management System. schema: description: The serial number of the node type: string maxLength: 12 minLength: 12 pattern: ([A-Z0-9]){12} x-permissions: - NODE:LOGGING_AND_MONITORING_SETTINGS responses: '200': description: Successful operation content: application/octet-stream: schema: type: string pattern: ^[\x20-\x7E\t\n\r]*$ description: File with activity logs for all workloads on a single node minLength: 1 maxLength: 1000 format: binary headers: Content-Disposition: schema: type: string pattern: ^[\x20-\x7E\t\n\r]*$ minLength: 1 maxLength: 1000 description: The filename of the file being downloaded example: attachment; filename="timestamp-NodeSerialNumber.csv" '400': description: Route params validation error content: application/json: schema: description: Generic error response returned from the server in case of a failed operation. properties: errorCode: description: String that is used as a key for appropriate translation on the front-end application. type: string minLength: 4 maxLength: 100 pattern: ^[a-zA-Z0-9_-]*$ httpCode: description: Http error code assigned to the error. type: string minLength: 3 maxLength: 3 pattern: ^[0-9]*$ message: description: Error message in English. minLength: 5 maxLength: 512 type: string pattern: ^[\x20-\x7E\t\n\r]*$ example: errorCode: '00006' httpCode: '400' message: Route params validation error '401': description: Request failed, this is the response received when the cookie is missing in the header. content: application/json: schema: description: Generic error response returned from the server in case of a failed operation. properties: errorCode: description: String that is used as a key for appropriate translation on the front-end application. type: string minLength: 4 maxLength: 100 pattern: ^[a-zA-Z0-9_-]*$ httpCode: description: Http error code assigned to the error. type: string minLength: 3 maxLength: 3 pattern: ^[0-9]*$ message: description: Error message in English. minLength: 5 maxLength: 512 type: string pattern: ^[\x20-\x7E\t\n\r]*$ example: errorCode: '00006' httpCode: '401' message: Route params validation error '403': description: You are not authorized to perform this operation content: application/json: schema: description: Generic error response returned from the server in case of a failed operation. properties: errorCode: description: String that is used as a key for appropriate translation on the front-end application. type: string minLength: 4 maxLength: 100 pattern: ^[a-zA-Z0-9_-]*$ httpCode: description: Http error code assigned to the error. type: string minLength: 3 maxLength: 3 pattern: ^[0-9]*$ message: description: Error message in English. minLength: 5 maxLength: 512 type: string pattern: ^[\x20-\x7E\t\n\r]*$ examples: not_authorized: value: errorCode: '00003' httpCode: '403' message: You are not authorized '404': description: Workload with provided id does not exist content: application/json: schema: description: Generic error response returned from the server in case of a failed operation. properties: errorCode: description: String that is used as a key for appropriate translation on the front-end application. type: string minLength: 4 maxLength: 100 pattern: ^[a-zA-Z0-9_-]*$ httpCode: description: Http error code assigned to the error. type: string minLength: 3 maxLength: 3 pattern: ^[0-9]*$ message: description: Error message in English. minLength: 5 maxLength: 512 type: string pattern: ^[\x20-\x7E\t\n\r]*$ example: errorCode: '000700' httpCode: '404' description: Workload you are looking for does not exist! servers: - url: https://trynerve1.nerve.cloud /api/setup/node/password: post: summary: Set new password for the node tags: - Node x-permissions: - SSH_PASSWORD:CHANGE description: Set new password for the node. operationId: set_node_password parameters: - name: type in: query description: Type for module which password should be changed. required: true schema: type: string enum: - ssh requestBody: content: application/json: schema: required: - currentPassword - newPassword - newPasswordConfirmation additionalProperties: false type: object description: Object containing the data required to change a node's password. properties: currentPassword: description: The current password of the node. type: string maxLength: 45 minLength: 1 example: Passw0rd newPassword: maxLength: 45 minLength: 8 description: The new password for the node. type: string pattern: (?=.*[a-z])(?=.*[A-Z])(?=.*\d).+ example: Passw0rd newPasswordConfirmation: maxLength: 45 minLength: 8 description: Confirmation of the new password for the node. type: string example: Passw0rd required: true responses: '200': description: Password successfully changed. content: application/json: schema: additionalProperties: false type: object description: Object representing the response when a password has been changed successfully required: - message properties: message: type: string description: Message indicating that the password has been changed. example: message: Password successfully changed. '400': description: Bad request content: application/json: schema: oneOf: - type: object description: Validation error. required: - status - message - errors additionalProperties: false properties: status: type: integer description: HTTP status code message: type: string minLength: 1 maxLength: 1001 description: The validation error message errors: type: array minItems: 1 maxItems: 1001 description: Detailed description of what does not match the schema items: type: object properties: path: type: string minLength: 1 maxLength: 1001 description: Specified location within the document where the error occurred message: type: string minLength: 1 maxLength: 1001 description: Error message - type: object description: Description of error associated with status code. required: - status - msg additionalProperties: false properties: status: type: integer description: HTTP status code msg: type: string minLength: 1 maxLength: 1001 description: Error message pattern: .* '401': description: You are not authorized to perform this operation content: application/json: schema: oneOf: - type: object description: User not authorized required: - user additionalProperties: false properties: user: type: string description: Not authorized enum: - not authorized - type: object description: User not authorized required: - status - msg additionalProperties: false properties: status: type: integer minimum: 401 maximum: 401 description: HTTP status code msg: type: string description: Error message enum: - Not authorized - not authorized - type: object description: Cookie header is missing in the request required: - status - message - errors additionalProperties: false properties: status: description: HTTP status code type: integer enum: - 401 message: type: string description: The validation error message enum: - '''cookie'' header required' errors: type: array minItems: 1 maxItems: 1001 description: List of errors items: type: object properties: path: type: string minLength: 1 maxLength: 1001 description: Specified location within the document where the error occurred message: type: string minLength: 1 maxLength: 1001 description: Error message examples: not_authorized_usr: value: user: not authorized not_authorized_status: value: status: 401 msg: Not authorized '403': description: Forbidden content: application/json: schema: type: object description: Description of error associated with status code. required: - status - msg additionalProperties: false properties: status: type: integer description: HTTP status code msg: type: string minLength: 1 maxLength: 1001 description: Error message pattern: .* examples: forbidden: value: status: 403 msg: Forbidden security: - cookieAuth: [] /api/setup/node/info: get: summary: Get node information tags: - Node x-permissions: - NODE:INFO description: Retrieves basic information about the node. The response includes the node's name, IP address, hardware model, list of capabilities, status of VM backup/snapshot features, and the status of data service components. operationId: get_node_info responses: '200': description: Successful response. Returns node information retrieved from the device. content: application/json: schema: example: nodeName: NodeTest hardwareModel: mfn-100 ipAddress: 10.85.10.54 capability: - Docker Container - Docker Compose isVmBackupAllowedOnTheNode: false isVmSnapshotAllowedOnTheNode: false dsComponents: - ds: supervisor show: true containerName: nerve-ds-node_supervisor-be_1 required: - nodeName - ipAddress - capability - isVmBackupAllowedOnTheNode - isVmSnapshotAllowedOnTheNode - hardwareModel - dsComponents type: object description: Object containing basic information about the node and details about available features (such as vmSnapshot and vmBackup) additionalProperties: false properties: nodeName: description: The name of the node. type: string hardwareName: description: The name of the hardware associated with the node. type: string ipAddress: description: The IP address of the node. type: string capability: description: Array of node reported capabilities. type: array minItems: 0 maxItems: 1001 items: type: string isVmBackupAllowedOnTheNode: type: boolean description: Flag indicating weather Backup feature is allowed on the node. isVmSnapshotAllowedOnTheNode: type: boolean description: Flag indicating weather Backup feature is allowed on the node. hardwareModel: type: string description: The name of the hardware model (hardware model must be defined in the database). dsComponents: description: An array containing data-service components associated with the node. type: array minItems: 0 maxItems: 1001 items: type: object required: - ds - show additionalProperties: false properties: ds: type: string description: The name of data-service component. show: type: boolean description: Whether to show or hide the UI of the data-service component. containerName: type: string description: The name of container. '401': description: You are not authorized to perform this operation content: application/json: schema: oneOf: - type: object description: User not authorized required: - user additionalProperties: false properties: user: type: string description: Not authorized enum: - not authorized - type: object description: User not authorized required: - status - msg additionalProperties: false properties: status: type: integer minimum: 401 maximum: 401 description: HTTP status code msg: type: string description: Error message enum: - Not authorized - not authorized - type: object description: Cookie header is missing in the request required: - status - message - errors additionalProperties: false properties: status: description: HTTP status code type: integer enum: - 401 message: type: string description: The validation error message enum: - '''cookie'' header required' errors: type: array minItems: 1 maxItems: 1001 description: List of errors items: type: object properties: path: type: string minLength: 1 maxLength: 1001 description: Specified location within the document where the error occurred message: type: string minLength: 1 maxLength: 1001 description: Error message examples: not_authorized_usr: value: user: not authorized not_authorized_status: value: status: 401 msg: Not authorized '403': description: Forbidden content: application/json: schema: type: object description: Description of error associated with status code. required: - status - msg additionalProperties: false properties: status: type: integer description: HTTP status code msg: type: string minLength: 1 maxLength: 1001 description: Error message pattern: .* examples: forbidden: value: status: 403 msg: Forbidden security: - cookieAuth: [] /api/version: get: summary: Get node version tags: - Node x-permissions: - NODE_VERSION:VIEW description: Get node version. operationId: get_node_version responses: '200': description: Successful operation content: application/json: schema: example: versionName: 2.8.0 buildDate: 01/07/2024 gitCommit: 1ca834b required: - versionName additionalProperties: false type: object description: Object containing information about node version. properties: versionName: type: string description: Node version buildDate: type: string description: Build date gitCommit: type: string description: Git commit '401': description: You are not authorized to perform this operation content: application/json: schema: oneOf: - type: object description: User not authorized required: - user additionalProperties: false properties: user: type: string description: Not authorized enum: - not authorized - type: object description: User not authorized required: - status - msg additionalProperties: false properties: status: type: integer minimum: 401 maximum: 401 description: HTTP status code msg: type: string description: Error message enum: - Not authorized - not authorized - type: object description: Cookie header is missing in the request required: - status - message - errors additionalProperties: false properties: status: description: HTTP status code type: integer enum: - 401 message: type: string description: The validation error message enum: - '''cookie'' header required' errors: type: array minItems: 1 maxItems: 1001 description: List of errors items: type: object properties: path: type: string minLength: 1 maxLength: 1001 description: Specified location within the document where the error occurred message: type: string minLength: 1 maxLength: 1001 description: Error message examples: not_authorized_usr: value: user: not authorized not_authorized_status: value: status: 401 msg: Not authorized '403': description: Forbidden content: application/json: schema: type: object description: Description of error associated with status code. required: - status - msg additionalProperties: false properties: status: type: integer description: HTTP status code msg: type: string minLength: 1 maxLength: 1001 description: Error message pattern: .* examples: forbidden: value: status: 403 msg: Forbidden security: - cookieAuth: [] components: securitySchemes: sessionId: type: apiKey in: header name: sessionId basicAuth: type: http scheme: basic cookieAuth: type: apiKey in: header name: cookie bearerAuth: type: http scheme: bearer x-refined-from: - tttech-nerve-management-system-openapi-original.json - tttech-nerve-node-openapi-original.json