{
  "$schema": "https://apidocs.iqrf.org/iqrf-gateway-daemon/latest/com.iqrftech.self-desc/schema/jsonschema/1-0-0#",
  "self": {
    "vendor": "com.iqrftech.self-desc",
    "name": "iqmeshNetwork_AutoNetwork-request",
    "format": "jsonschema",
    "version": "1-0-0"
  },
  "type": "object",
  "properties": {
    "mType": {
      "type": "string",
      "description": "IQMESH Network management - AutoNetwork request.",
      "enum": [
        "iqmeshNetwork_AutoNetwork"
      ]
    },
    "data": {
      "type": "object",
      "properties": {
        "msgId": {
          "type": "string",
          "description": "Message identification for binding request with response."
        },
        "req": {
          "type": "object",
          "properties": {
            "discoveryTxPower": {
              "type": "integer",
              "description": "TX power to use in discovery process.",
              "default": 7
            },
            "discoveryBeforeStart": {
              "type": "boolean",
              "description": "Run discovery before start.",
              "default": false
            },
            "skipDiscoveryEachWave": {
              "type": "boolean",
              "description": "Skip discovery in each wave.",
              "default": false
            },
            "actionRetries": {
              "type": "integer",
              "description": "Number of retries DPA transactions.",
              "default": 1
            },
            "overlappingNetworks": {
              "type": "object",
              "properties": {
                "networks": {
                  "type": "integer",
                  "description": "Number of the networks to be built."
                },
                "network": {
                  "type": "integer",
                  "description": "Network number that will be build."
                }
              },
              "required": [
                "networks",
                "network"
              ]
            },
            "hwpidFiltering": {
              "type": "array",
              "description": "Allows to add only nodes with specified HWPID to the network.",
              "items": {
                "type": "integer"
              }
            },
            "stopConditions": {
              "type": "object",
              "properties": {
                "waves": {
                  "type": "integer",
                  "description": "Maximum number of waves."
                },
                "emptyWaves": {
                  "type": "integer",
                  "description": "Number of consecutive waves, in which no new nodes were added into network.",
                  "default": 2
                },
                "numberOfTotalNodes": {
                  "type": "integer",
                  "description": "Number of total nodes bonded into the network."
                },
                "numberOfNewNodes": {
                  "type": "integer",
                  "description": "Number of new nodes bonded into the network."
                },
                "abortOnTooManyNodesFound": {
                  "type": "boolean",
                  "description": "Abort the Autonetwork if too many nodes were found.",
                  "default": false
                }
              },
              "required": [
                "emptyWaves"
              ]
            }
          },
          "required": [
            "stopConditions"
          ]
        },
        "returnVerbose": {
          "type": "boolean",
          "description": "Flag that includes additional parameters in the response."
        }
      },
      "required": [
        "msgId",
        "req"
      ]
    }
  },
  "required": [
    "mType",
    "data"
  ]
}